Previous 199869 Revisions Next

r17674 Thursday 6th September, 2012 at 12:17:17 UTC by Miodrag Milanović
TILE/TILEMAP modernization part 2 (no whatsnew)
[src/mame/drivers]hitme.c laserbat.c raiden2.c
[src/mame/includes]1942.h 1943.h 40love.h 4enraya.h aeroboto.h aerofgt.h airbustr.h alpha68k.h ampoker2.h amspdwy.h angelkds.h appoooh.h aquarium.h argus.h arkanoid.h armedf.h ashnojoe.h atarifb.h atarig1.h atarig42.h atarigt.h atarigx2.h atarisy1.h atarisy2.h atetris.h badlands.h bagman.h bankp.h baraduke.h batman.h battlane.h battlex.h bbusters.h bigstrkb.h bionicc.h bking.h blktiger.h blmbycar.h blockade.h bloodbro.h blstroid.h blueprnt.h bogeyman.h bombjack.h brkthru.h bsktball.h bwing.h cabal.h calomega.h canyon.h carjmbre.h cave.h cbasebal.h cclimber.h centiped.h chaknpop.h champbas.h cheekyms.h circus.h circusc.h cischeat.h citycon.h cloak.h clshroad.h combatsc.h commando.h compgolf.h contra.h cop01.h cps1.h crbaloon.h crospang.h crshrace.h cyberbal.h darius.h darkmist.h dbz.h dcon.h dday.h ddragon.h ddragon3.h ddribble.h deadang.h dec8.h deniam.h djboy.h dkong.h docastle.h dogfgt.h dooyong.h dragrace.h drgnmst.h drmicro.h dynduke.h eprom.h equites.h esd16.h espial.h exedexes.h exprraid.h f1gp.h fastfred.h fastlane.h fcombat.h finalizr.h firetrap.h firetrk.h fitfight.h flkatck.h flower.h flstory.h foodf.h freekick.h fromanc2.h fromance.h funkybee.h funworld.h fuukifg2.h fuukifg3.h gaelco.h gaelco2.h gaiden.h galaga.h galaxia.h galaxian.h galaxold.h galivan.h gaplus.h gatron.h gauntlet.h gberet.h gcpinbal.h ginganin.h gladiatr.h glass.h gng.h goal92.h goindol.h goldstar.h gomoku.h gotcha.h gottlieb.h gotya.h grchamp.h gstriker.h gsword.h gumbo.h gundealr.h gunsmoke.h gyruss.h hanaawas.h hcastle.h hexion.h higemaru.h himesiki.h hitme.h hng64.h holeland.h homedata.h homerun.h hyperspt.h hyprduel.h inufuku.h iqblock.h ironhors.h jack.h jackal.h jailbrek.h karnov.h kchamp.h kickgoal.h kingobox.h klax.h kncljoe.h konamigx.h kopunch.h ksayakyu.h kyugo.h labyrunr.h ladybug.h ladyfrog.h laserbat.h lasso.h lastduel.h legionna.h lemmings.h liberate.h lkage.h lockon.h lordgun.h lucky74.h lvcards.h lwings.h m107.h m52.h m57.h m58.h m62.h m72.h m90.h m92.h macrossp.h madalien.h mainsnk.h mappy.h marineb.h mario.h markham.h mcatadv.h mcr.h mcr3.h mcr68.h meadows.h megasys1.h mermaid.h metlclsh.h metro.h mikie.h mitchell.h mjkjidai.h mosaic.h mrdo.h mrjong.h ms32.h msisaac.h mugsmash.h mustache.h mystston.h mystwarr.h namcona1.h namcos1.h namcos22.h namcos86.h nemesis.h news.h ninjakd2.h nitedrvr.h nmk16.h nova2001.h nycaptor.h offtwall.h ohmygod.h ojankohs.h oneshot.h orbit.h othldrby.h pacland.h pacman.h pandoras.h paradise.h pass.h pbaction.h pgm.h phoenix.h pingpong.h pirates.h pitnrun.h playch10.h playmark.h plygonet.h pokechmp.h polepos.h poolshrk.h pooyan.h popeye.h popper.h portrait.h powerins.h prehisle.h psikyo.h psychic5.h punchout.h pushman.h quizdna.h quizpani.h raiden.h raiden2.h rallyx.h realbrk.h relief.h renegade.h retofinv.h rocnrope.h rpunch.h runaway.h rungun.h sauro.h sbasketb.h sbugger.h scotrsht.h sderby.h segag80r.h segas32.h seibuspi.h seicross.h senjyo.h seta.h sf.h shadfrce.h shangkid.h shaolins.h shisen.h shootout.h shuuz.h sidearms.h sidepckt.h silkroad.h skullxbo.h skydiver.h skykid.h slapfght.h snk.h snk6502.h snk68.h snookr10.h solomon.h sonson.h spdodgeb.h speedbal.h speedspn.h splash.h sprcros2.h sprint2.h sprint4.h sprint8.h srumbler.h sslam.h ssozumo.h ssrj.h ssv.h stadhero.h starshp1.h stfight.h stlforce.h strnskil.h suna8.h superqix.h suprloco.h suprnova.h suprridr.h suprslam.h system1.h system16.h tagteam.h tail2nos.h taito_f3.h taito_l.h taitojc.h tank8.h tankbatt.h tankbust.h taotaido.h targeth.h tatsumi.h tbowl.h tceptor.h tecmo.h tecmo16.h tecmosys.h tehkanwc.h terracre.h tetrisp2.h thedeep.h thepit.h thoop2.h thunderj.h tiamc1.h tigeroad.h timelimt.h timeplt.h tmnt.h toaplan1.h toaplan2.h toki.h toobin.h toypop.h tp84.h trackfld.h travrusa.h triplhnt.h trucocl.h tryout.h tsamurai.h tumbleb.h tunhunt.h turbo.h twin16.h twincobr.h ultratnk.h unico.h usgames.h vastar.h vball.h videopin.h vindictr.h vulgus.h warpwarp.h wc90.h wc90b.h wecleman.h welltris.h wgp.h williams.h wrally.h wwfsstar.h wwfwfest.h xain.h xorworld.h xxmissio.h xybots.h xyonix.h yiear.h yunsun16.h yunsung8.h zac2650.h zaccaria.h zaxxon.h zerozone.h zodiack.h
[src/mame/video]1942.c 1943.c 40love.c 4enraya.c aeroboto.c aerofgt.c airbustr.c alpha68k.c ampoker2.c amspdwy.c angelkds.c appoooh.c aquarium.c argus.c arkanoid.c armedf.c ashnojoe.c atarifb.c atarig1.c atarig42.c atarigt.c atarigx2.c atarisy1.c atarisy2.c atetris.c badlands.c bagman.c bankp.c baraduke.c batman.c battlane.c battlex.c bbusters.c bigstrkb.c bionicc.c bking.c blktiger.c blmbycar.c blockade.c bloodbro.c blstroid.c blueprnt.c bogeyman.c bombjack.c brkthru.c bsktball.c bwing.c cabal.c calomega.c canyon.c carjmbre.c cave.c cbasebal.c cclimber.c centiped.c chaknpop.c champbas.c cheekyms.c circus.c circusc.c cischeat.c citycon.c cloak.c clshroad.c combatsc.c commando.c compgolf.c contra.c cop01.c cps1.c crbaloon.c crospang.c crshrace.c cyberbal.c darius.c darkmist.c dbz.c dcon.c dday.c ddragon.c ddragon3.c ddribble.c deadang.c dec8.c deniam.c djboy.c dkong.c docastle.c dogfgt.c dooyong.c dragrace.c drgnmst.c drmicro.c dynduke.c eprom.c equites.c esd16.c espial.c exedexes.c exprraid.c f1gp.c fastfred.c fastlane.c fcombat.c finalizr.c firetrap.c firetrk.c fitfight.c flkatck.c flower.c flstory.c foodf.c freekick.c fromanc2.c fromance.c funkybee.c funworld.c fuukifg2.c fuukifg3.c gaelco.c gaelco2.c gaiden.c galaga.c galaxia.c galaxian.c galaxold.c galivan.c gaplus.c gatron.c gauntlet.c gberet.c gcpinbal.c ginganin.c gladiatr.c glass.c gng.c goal92.c goindol.c goldstar.c gomoku.c gotcha.c gottlieb.c gotya.c grchamp.c gstriker.c gsword.c gumbo.c gundealr.c gunsmoke.c gyruss.c hanaawas.c hcastle.c hexion.c higemaru.c himesiki.c hng64.c holeland.c homedata.c homerun.c hyperspt.c hyprduel.c inufuku.c iqblock.c ironhors.c jack.c jackal.c jailbrek.c karnov.c kchamp.c kickgoal.c kingobox.c klax.c kncljoe.c konamigx.c kopunch.c ksayakyu.c kyugo.c labyrunr.c ladybug.c ladyfrog.c lasso.c lastduel.c legionna.c lemmings.c liberate.c lkage.c lockon.c lordgun.c lucky74.c lvcards.c lwings.c m107.c m52.c m57.c m58.c m62.c m72.c m90.c m92.c macrossp.c madalien.c mainsnk.c mappy.c marineb.c mario.c markham.c mcatadv.c mcr.c mcr3.c mcr68.c meadows.c megasys1.c mermaid.c metlclsh.c metro.c mikie.c mitchell.c mjkjidai.c mosaic.c mrdo.c mrjong.c ms32.c msisaac.c mugsmash.c mustache.c mystston.c mystwarr.c namcona1.c namcos1.c namcos22.c namcos86.c nemesis.c news.c ninjakd2.c nitedrvr.c nmk16.c nova2001.c nycaptor.c offtwall.c ohmygod.c ojankohs.c oneshot.c orbit.c othldrby.c pacland.c pacman.c pandoras.c paradise.c pass.c pbaction.c pgm.c phoenix.c pingpong.c pirates.c pitnrun.c playch10.c playmark.c plygonet.c pokechmp.c polepos.c poolshrk.c pooyan.c popeye.c popper.c portrait.c powerins.c prehisle.c psikyo.c psychic5.c punchout.c pushman.c quizdna.c quizpani.c raiden.c rallyx.c realbrk.c relief.c renegade.c retofinv.c rocnrope.c rpunch.c runaway.c rungun.c sauro.c sbasketb.c sbugger.c scotrsht.c sderby.c segag80r.c segas32.c seibuspi.c seicross.c senjyo.c seta.c sf.c shadfrce.c shangkid.c shaolins.c shisen.c shootout.c shuuz.c sidearms.c sidepckt.c silkroad.c skullxbo.c skydiver.c skykid.c slapfght.c snk.c snk6502.c snk68.c snookr10.c solomon.c sonson.c spdodgeb.c speedbal.c speedspn.c splash.c sprcros2.c sprint2.c sprint4.c sprint8.c srumbler.c sslam.c ssozumo.c ssrj.c ssv.c stadhero.c starshp1.c stfight.c stlforce.c strnskil.c suna8.c superqix.c suprloco.c suprnova.c suprridr.c suprslam.c system1.c system16.c tagteam.c tail2nos.c taito_f3.c taito_l.c taitojc.c tank8.c tankbatt.c tankbust.c taotaido.c targeth.c tatsumi.c tbowl.c tceptor.c tecmo.c tecmo16.c tecmosys.c tehkanwc.c terracre.c tetrisp2.c thedeep.c thepit.c thoop2.c thunderj.c tiamc1.c tigeroad.c timelimt.c timeplt.c tmnt.c toaplan1.c toaplan2.c toki.c toobin.c toypop.c tp84.c trackfld.c travrusa.c triplhnt.c trucocl.c tryout.c tsamurai.c tumbleb.c tunhunt.c turbo.c twin16.c twincobr.c ultratnk.c unico.c usgames.c vastar.c vball.c videopin.c vindictr.c vulgus.c warpwarp.c wc90.c wc90b.c wecleman.c welltris.c wgp.c williams.c wrally.c wwfsstar.c wwfwfest.c xain.c xorworld.c xxmissio.c xybots.c xyonix.c yiear.c yunsun16.c yunsung8.c zac2650.c zaccaria.c zaxxon.c zerozone.c zodiack.c

trunk/src/mame/includes/shisen.h
r17673r17674
1515   DECLARE_WRITE8_MEMBER(sichuan2_videoram_w);
1616   DECLARE_WRITE8_MEMBER(sichuan2_bankswitch_w);
1717   DECLARE_WRITE8_MEMBER(sichuan2_paletteram_w);
18   TILE_GET_INFO_MEMBER(get_bg_tile_info);
1819};
1920
2021
trunk/src/mame/includes/nmk16.h
r17673r17674
106106   DECLARE_DRIVER_INIT(grdnstrm);
107107   DECLARE_DRIVER_INIT(spec2k);
108108   DECLARE_DRIVER_INIT(bjtwin);
109   TILEMAP_MAPPER_MEMBER(afega_tilemap_scan_pages);
110   TILE_GET_INFO_MEMBER(macross_get_bg0_tile_info);
111   TILE_GET_INFO_MEMBER(macross_get_bg1_tile_info);
112   TILE_GET_INFO_MEMBER(macross_get_bg2_tile_info);
113   TILE_GET_INFO_MEMBER(macross_get_bg3_tile_info);
114   TILE_GET_INFO_MEMBER(strahl_get_fg_tile_info);
115   TILE_GET_INFO_MEMBER(macross_get_tx_tile_info);
116   TILE_GET_INFO_MEMBER(bjtwin_get_bg_tile_info);
117   TILE_GET_INFO_MEMBER(get_tile_info_0_8bit);
109118};
110119
111120
trunk/src/mame/includes/nitedrvr.h
r17673r17674
5252   DECLARE_WRITE8_MEMBER(nitedrvr_out1_w);
5353   DECLARE_WRITE8_MEMBER(nitedrvr_videoram_w);
5454   DECLARE_WRITE8_MEMBER(nitedrvr_hvc_w);
55   TILE_GET_INFO_MEMBER(get_bg_tile_info);
5556};
5657
5758
trunk/src/mame/includes/targeth.h
r17673r17674
1717   DECLARE_WRITE16_MEMBER(OKIM6295_bankswitch_w);
1818   DECLARE_WRITE16_MEMBER(targeth_coin_counter_w);
1919   DECLARE_WRITE16_MEMBER(targeth_vram_w);
20   TILE_GET_INFO_MEMBER(get_tile_info_targeth_screen0);
21   TILE_GET_INFO_MEMBER(get_tile_info_targeth_screen1);
2022};
2123
2224
trunk/src/mame/includes/sbugger.h
r17673r17674
1313   DECLARE_WRITE8_MEMBER(sbugger_videoram_w);
1414   DECLARE_WRITE8_MEMBER(sbugger_videoram_attr_w);
1515   DECLARE_WRITE_LINE_MEMBER(sbugger_interrupt);
16   TILE_GET_INFO_MEMBER(get_sbugger_tile_info);
1617};
1718
1819
trunk/src/mame/includes/nycaptor.h
r17673r17674
9898   DECLARE_DRIVER_INIT(colt);
9999   DECLARE_DRIVER_INIT(bronx);
100100   DECLARE_DRIVER_INIT(nycaptor);
101   TILE_GET_INFO_MEMBER(get_tile_info);
101102};
102103
103104
trunk/src/mame/includes/mitchell.h
r17673r17674
9696   DECLARE_DRIVER_INIT(pkladies);
9797   DECLARE_DRIVER_INIT(blockbl);
9898   DECLARE_DRIVER_INIT(dokaben);
99   TILE_GET_INFO_MEMBER(get_tile_info);
99100};
100101
101102
trunk/src/mame/includes/blktiger.h
r17673r17674
5555   DECLARE_WRITE8_MEMBER(blktiger_video_control_w);
5656   DECLARE_WRITE8_MEMBER(blktiger_video_enable_w);
5757   DECLARE_WRITE8_MEMBER(blktiger_screen_layout_w);
58   TILEMAP_MAPPER_MEMBER(bg8x4_scan);
59   TILEMAP_MAPPER_MEMBER(bg4x8_scan);
60   TILE_GET_INFO_MEMBER(get_bg_tile_info);
61   TILE_GET_INFO_MEMBER(get_tx_tile_info);
5862};
5963
6064
trunk/src/mame/includes/dynduke.h
r17673r17674
3636   DECLARE_WRITE16_MEMBER(dynduke_gfxbank_w);
3737   DECLARE_WRITE16_MEMBER(dynduke_control_w);
3838   DECLARE_DRIVER_INIT(dynduke);
39   TILE_GET_INFO_MEMBER(get_bg_tile_info);
40   TILE_GET_INFO_MEMBER(get_fg_tile_info);
41   TILE_GET_INFO_MEMBER(get_tx_tile_info);
3942};
4043
4144
trunk/src/mame/includes/tunhunt.h
r17673r17674
2121   DECLARE_READ8_MEMBER(dsw2_2r);
2222   DECLARE_READ8_MEMBER(dsw2_3r);
2323   DECLARE_READ8_MEMBER(dsw2_4r);
24   TILE_GET_INFO_MEMBER(get_fg_tile_info);
2425};
2526
2627
trunk/src/mame/includes/tryout.h
r17673r17674
2828   DECLARE_WRITE8_MEMBER(tryout_vram_bankswitch_w);
2929   DECLARE_WRITE8_MEMBER(tryout_flipscreen_w);
3030   DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
31   TILE_GET_INFO_MEMBER(get_fg_tile_info);
32   TILE_GET_INFO_MEMBER(get_bg_tile_info);
33   TILEMAP_MAPPER_MEMBER(get_fg_memory_offset);
34   TILEMAP_MAPPER_MEMBER(get_bg_memory_offset);
3135};
3236
3337
trunk/src/mame/includes/rungun.h
r17673r17674
4747   DECLARE_READ16_MEMBER(rng_ttl_ram_r);
4848   DECLARE_WRITE16_MEMBER(rng_ttl_ram_w);
4949   DECLARE_WRITE16_MEMBER(rng_936_videoram_w);
50   TILE_GET_INFO_MEMBER(ttl_get_tile_info);
51   TILE_GET_INFO_MEMBER(get_rng_936_tile_info);
5052};
5153
5254
trunk/src/mame/includes/eprom.h
r17673r17674
2424   DECLARE_DRIVER_INIT(klaxp);
2525   DECLARE_DRIVER_INIT(guts);
2626   DECLARE_DRIVER_INIT(eprom);
27   TILE_GET_INFO_MEMBER(get_alpha_tile_info);
28   TILE_GET_INFO_MEMBER(get_playfield_tile_info);
29   TILE_GET_INFO_MEMBER(guts_get_playfield_tile_info);
2730};
2831
2932
trunk/src/mame/includes/rocnrope.h
r17673r17674
2525   DECLARE_WRITE8_MEMBER(rocnrope_flipscreen_w);
2626   DECLARE_DRIVER_INIT(rocnrope);
2727   DECLARE_DRIVER_INIT(rocnropk);
28   TILE_GET_INFO_MEMBER(get_bg_tile_info);
2829};
2930
3031/*----------- defined in video/rocnrope.c -----------*/
trunk/src/mame/includes/aerofgt.h
r17673r17674
6868   DECLARE_WRITE16_MEMBER(wbbc97_bitmap_enable_w);
6969   DECLARE_WRITE16_MEMBER(pspikesb_oki_banking_w);
7070   DECLARE_WRITE16_MEMBER(aerfboo2_okim6295_banking_w);
71   TILE_GET_INFO_MEMBER(get_pspikes_tile_info);
72   TILE_GET_INFO_MEMBER(karatblz_bg1_tile_info);
73   TILE_GET_INFO_MEMBER(karatblz_bg2_tile_info);
74   TILE_GET_INFO_MEMBER(spinlbrk_bg1_tile_info);
75   TILE_GET_INFO_MEMBER(get_bg1_tile_info);
76   TILE_GET_INFO_MEMBER(get_bg2_tile_info);
7177};
7278
7379
trunk/src/mame/includes/docastle.h
r17673r17674
4141   DECLARE_WRITE8_MEMBER(docastle_flipscreen_on_w);
4242   DECLARE_READ8_MEMBER(idsoccer_adpcm_status_r);
4343   DECLARE_WRITE8_MEMBER(idsoccer_adpcm_w);
44   TILE_GET_INFO_MEMBER(get_tile_info);
4445};
4546
4647
trunk/src/mame/includes/mainsnk.h
r17673r17674
2222   DECLARE_WRITE8_MEMBER(mainsnk_fgram_w);
2323   DECLARE_WRITE8_MEMBER(mainsnk_bgram_w);
2424   DECLARE_CUSTOM_INPUT_MEMBER(mainsnk_sound_r);
25   TILEMAP_MAPPER_MEMBER(marvins_tx_scan_cols);
26   TILE_GET_INFO_MEMBER(get_tx_tile_info);
27   TILE_GET_INFO_MEMBER(get_bg_tile_info);
2528};
2629
2730
trunk/src/mame/includes/mystston.h
r17673r17674
4242   DECLARE_WRITE8_MEMBER(mystston_ay8910_select_w);
4343   DECLARE_WRITE8_MEMBER(mystston_video_control_w);
4444   DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
45   TILE_GET_INFO_MEMBER(get_bg_tile_info);
46   TILE_GET_INFO_MEMBER(get_fg_tile_info);
4547};
4648
4749
trunk/src/mame/includes/hitme.h
r17673r17674
3434   DECLARE_READ8_MEMBER(hitme_port_3_r);
3535   DECLARE_WRITE8_MEMBER(output_port_0_w);
3636   DECLARE_WRITE8_MEMBER(output_port_1_w);
37   TILE_GET_INFO_MEMBER(get_hitme_tile_info);
3738};
3839
3940
trunk/src/mame/includes/senjyo.h
r17673r17674
7474   DECLARE_DRIVER_INIT(senjyo);
7575   DECLARE_DRIVER_INIT(starfore);
7676   DECLARE_DRIVER_INIT(starforc);
77   TILE_GET_INFO_MEMBER(get_fg_tile_info);
78   TILE_GET_INFO_MEMBER(senjyo_bg1_tile_info);
79   TILE_GET_INFO_MEMBER(starforc_bg1_tile_info);
80   TILE_GET_INFO_MEMBER(get_bg2_tile_info);
81   TILE_GET_INFO_MEMBER(get_bg3_tile_info);
7782};
7883
7984
trunk/src/mame/includes/yiear.h
r17673r17674
3030   UINT8 m_SN76496_latch;
3131   DECLARE_WRITE8_MEMBER( konami_SN76496_latch_w ) { m_SN76496_latch = data; };
3232   DECLARE_WRITE8_MEMBER( konami_SN76496_w ) { m_sn->write(space, offset, m_SN76496_latch); };
33   TILE_GET_INFO_MEMBER(get_bg_tile_info);
3334};
3435
3536
trunk/src/mame/includes/sonson.h
r17673r17674
3333   DECLARE_WRITE8_MEMBER(sonson_colorram_w);
3434   DECLARE_WRITE8_MEMBER(sonson_scrollx_w);
3535   DECLARE_WRITE8_MEMBER(sonson_flipscreen_w);
36   TILE_GET_INFO_MEMBER(get_bg_tile_info);
3637};
3738
3839
trunk/src/mame/includes/sslam.h
r17673r17674
4444   DECLARE_WRITE16_MEMBER(sslam_snd_w);
4545   DECLARE_DRIVER_INIT(sslam);
4646   DECLARE_DRIVER_INIT(powerbls);
47   TILE_GET_INFO_MEMBER(get_sslam_tx_tile_info);
48   TILE_GET_INFO_MEMBER(get_sslam_md_tile_info);
49   TILE_GET_INFO_MEMBER(get_sslam_bg_tile_info);
50   TILE_GET_INFO_MEMBER(get_powerbls_bg_tile_info);
4751};
4852
4953
trunk/src/mame/includes/deadang.h
r17673r17674
2626   DECLARE_WRITE16_MEMBER(deadang_bank_w);
2727   DECLARE_DRIVER_INIT(deadang);
2828   DECLARE_DRIVER_INIT(ghunter);
29   TILEMAP_MAPPER_MEMBER(bg_scan);
30   TILE_GET_INFO_MEMBER(get_pf3_tile_info);
31   TILE_GET_INFO_MEMBER(get_pf2_tile_info);
32   TILE_GET_INFO_MEMBER(get_pf1_tile_info);
33   TILE_GET_INFO_MEMBER(get_text_tile_info);
2934};
3035
3136
trunk/src/mame/includes/hcastle.h
r17673r17674
4848   DECLARE_WRITE8_MEMBER(hcastle_pf1_control_w);
4949   DECLARE_WRITE8_MEMBER(hcastle_pf2_control_w);
5050   DECLARE_WRITE8_MEMBER(sound_bank_w);
51   TILEMAP_MAPPER_MEMBER(tilemap_scan);
52   TILE_GET_INFO_MEMBER(get_fg_tile_info);
53   TILE_GET_INFO_MEMBER(get_bg_tile_info);
5154};
5255
5356
trunk/src/mame/includes/twincobr.h
r17673r17674
9898   DECLARE_READ8_MEMBER(wardner_sprite_r);
9999   DECLARE_WRITE8_MEMBER(wardner_sprite_w);
100100   DECLARE_DRIVER_INIT(twincobr);
101   TILE_GET_INFO_MEMBER(get_bg_tile_info);
102   TILE_GET_INFO_MEMBER(get_fg_tile_info);
103   TILE_GET_INFO_MEMBER(get_tx_tile_info);
101104};
102105
103106
trunk/src/mame/includes/bking.h
r17673r17674
7979   DECLARE_READ8_MEMBER(bking_pos_r);
8080   DECLARE_WRITE8_MEMBER(unk_w);
8181   DECLARE_WRITE8_MEMBER(port_b_w);
82   TILE_GET_INFO_MEMBER(get_tile_info);
8283};
8384
8485
trunk/src/mame/includes/hexion.h
r17673r17674
1919   DECLARE_WRITE8_MEMBER(hexion_gfxrom_select_w);
2020   DECLARE_WRITE_LINE_MEMBER(hexion_irq_ack_w);
2121   DECLARE_WRITE_LINE_MEMBER(hexion_nmi_ack_w);
22   TILE_GET_INFO_MEMBER(get_tile_info0);
23   TILE_GET_INFO_MEMBER(get_tile_info1);
2224};
2325
2426
trunk/src/mame/includes/labyrunr.h
r17673r17674
3636   DECLARE_WRITE8_MEMBER(labyrunr_bankswitch_w);
3737   DECLARE_WRITE8_MEMBER(labyrunr_vram1_w);
3838   DECLARE_WRITE8_MEMBER(labyrunr_vram2_w);
39   TILE_GET_INFO_MEMBER(get_tile_info0);
40   TILE_GET_INFO_MEMBER(get_tile_info1);
3941};
4042
4143
trunk/src/mame/includes/sprint2.h
r17673r17674
6161   DECLARE_DRIVER_INIT(sprint1);
6262   DECLARE_DRIVER_INIT(sprint2);
6363   DECLARE_DRIVER_INIT(dominos);
64   TILE_GET_INFO_MEMBER(get_tile_info);
6465};
6566
6667
trunk/src/mame/includes/ddragon3.h
r17673r17674
4242   DECLARE_WRITE16_MEMBER(ddragon3_bg_videoram_w);
4343   DECLARE_WRITE16_MEMBER(ddragon3_fg_videoram_w);
4444   DECLARE_WRITE8_MEMBER(oki_bankswitch_w);
45   TILE_GET_INFO_MEMBER(get_bg_tile_info);
46   TILE_GET_INFO_MEMBER(get_fg_tile_info);
4547};
4648
4749
trunk/src/mame/includes/dragrace.h
r17673r17674
4848   DECLARE_READ8_MEMBER(dragrace_input_r);
4949   DECLARE_READ8_MEMBER(dragrace_steering_r);
5050   DECLARE_READ8_MEMBER(dragrace_scanline_r);
51   TILE_GET_INFO_MEMBER(get_tile_info);
5152};
5253
5354
trunk/src/mame/includes/orbit.h
r17673r17674
3939   device_t *m_discrete;
4040   DECLARE_WRITE8_MEMBER(orbit_misc_w);
4141   DECLARE_WRITE8_MEMBER(orbit_playfield_w);
42   TILE_GET_INFO_MEMBER(get_tile_info);
4243};
4344
4445
trunk/src/mame/includes/seibuspi.h
r17673r17674
102102   DECLARE_DRIVER_INIT(ejanhs);
103103   DECLARE_DRIVER_INIT(sys386f2);
104104   DECLARE_DRIVER_INIT(rdft2us);
105   TILE_GET_INFO_MEMBER(get_text_tile_info);
106   TILE_GET_INFO_MEMBER(get_back_tile_info);
107   TILE_GET_INFO_MEMBER(get_mid_tile_info);
108   TILE_GET_INFO_MEMBER(get_fore_tile_info);
105109};
106110
107111
trunk/src/mame/includes/sauro.h
r17673r17674
3232   DECLARE_WRITE8_MEMBER(sauro_scroll_fg_w);
3333   DECLARE_WRITE8_MEMBER(adpcm_w);
3434   DECLARE_DRIVER_INIT(tecfri);
35   TILE_GET_INFO_MEMBER(get_tile_info_bg);
36   TILE_GET_INFO_MEMBER(get_tile_info_fg);
3537};
3638
3739
trunk/src/mame/includes/gaplus.h
r17673r17674
4040   DECLARE_WRITE8_MEMBER(out_lamps0);
4141   DECLARE_WRITE8_MEMBER(out_lamps1);
4242   DECLARE_DRIVER_INIT(gaplus);
43   TILEMAP_MAPPER_MEMBER(tilemap_scan);
44   TILE_GET_INFO_MEMBER(get_tile_info);
4345};
4446
4547
trunk/src/mame/includes/drmicro.h
r17673r17674
2828   DECLARE_WRITE8_MEMBER(nmi_enable_w);
2929   DECLARE_WRITE8_MEMBER(pcm_set_w);
3030   DECLARE_WRITE8_MEMBER(drmicro_videoram_w);
31   TILE_GET_INFO_MEMBER(get_bg1_tile_info);
32   TILE_GET_INFO_MEMBER(get_bg2_tile_info);
3133};
3234
3335
trunk/src/mame/includes/system1.h
r17673r17674
9898   DECLARE_DRIVER_INIT(seganinj);
9999   DECLARE_DRIVER_INIT(gardia);
100100   DECLARE_DRIVER_INIT(spatter);
101   TILE_GET_INFO_MEMBER(tile_get_info);
101102};
102103
103104
trunk/src/mame/includes/powerins.h
r17673r17674
2525   DECLARE_WRITE16_MEMBER(powerins_paletteram16_w);
2626   DECLARE_WRITE16_MEMBER(powerins_vram_0_w);
2727   DECLARE_WRITE16_MEMBER(powerins_vram_1_w);
28   TILE_GET_INFO_MEMBER(get_tile_info_0);
29   TILEMAP_MAPPER_MEMBER(powerins_get_memory_offset_0);
30   TILE_GET_INFO_MEMBER(get_tile_info_1);
2831};
2932
3033
trunk/src/mame/includes/exedexes.h
r17673r17674
3939   DECLARE_WRITE8_MEMBER(exedexes_colorram_w);
4040   DECLARE_WRITE8_MEMBER(exedexes_c804_w);
4141   DECLARE_WRITE8_MEMBER(exedexes_gfxctrl_w);
42   TILE_GET_INFO_MEMBER(get_bg_tile_info);
43   TILE_GET_INFO_MEMBER(get_fg_tile_info);
44   TILE_GET_INFO_MEMBER(get_tx_tile_info);
45   TILEMAP_MAPPER_MEMBER(exedexes_bg_tilemap_scan);
46   TILEMAP_MAPPER_MEMBER(exedexes_fg_tilemap_scan);
4247};
4348
4449
trunk/src/mame/includes/suprnova.h
r17673r17674
124124   DECLARE_DRIVER_INIT(senknow);
125125   DECLARE_DRIVER_INIT(galpani4);
126126   DECLARE_DRIVER_INIT(ryouran);
127   TILE_GET_INFO_MEMBER(get_tilemap_A_tile_info);
128   TILE_GET_INFO_MEMBER(get_tilemap_B_tile_info);
127129};
128130
129131
trunk/src/mame/includes/flkatck.h
r17673r17674
3333   DECLARE_WRITE8_MEMBER(multiply_w);
3434   DECLARE_WRITE8_MEMBER(flkatck_k007121_w);
3535   DECLARE_WRITE8_MEMBER(flkatck_k007121_regs_w);
36   TILE_GET_INFO_MEMBER(get_tile_info_A);
37   TILE_GET_INFO_MEMBER(get_tile_info_B);
3638};
3739
3840
trunk/src/mame/includes/shootout.h
r17673r17674
2222   DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
2323   DECLARE_DRIVER_INIT(shootouj);
2424   DECLARE_DRIVER_INIT(shootout);
25   TILE_GET_INFO_MEMBER(get_bg_tile_info);
26   TILE_GET_INFO_MEMBER(get_fg_tile_info);
2527};
2628
2729
trunk/src/mame/includes/contra.h
r17673r17674
5454   DECLARE_WRITE8_MEMBER(contra_text_cram_w);
5555   DECLARE_WRITE8_MEMBER(contra_K007121_ctrl_0_w);
5656   DECLARE_WRITE8_MEMBER(contra_K007121_ctrl_1_w);
57   TILE_GET_INFO_MEMBER(get_fg_tile_info);
58   TILE_GET_INFO_MEMBER(get_bg_tile_info);
59   TILE_GET_INFO_MEMBER(get_tx_tile_info);
5760};
5861
5962
trunk/src/mame/includes/paradise.h
r17673r17674
4545   DECLARE_DRIVER_INIT(torus);
4646   DECLARE_DRIVER_INIT(paradise);
4747   DECLARE_DRIVER_INIT(tgtball);
48   TILE_GET_INFO_MEMBER(get_tile_info_0);
49   TILE_GET_INFO_MEMBER(get_tile_info_1);
50   TILE_GET_INFO_MEMBER(get_tile_info_2);
4851};
4952
5053/*----------- defined in video/paradise.c -----------*/
trunk/src/mame/includes/chaknpop.h
r17673r17674
4747   DECLARE_WRITE8_MEMBER(chaknpop_attrram_w);
4848   DECLARE_WRITE8_MEMBER(unknown_port_1_w);
4949   DECLARE_WRITE8_MEMBER(unknown_port_2_w);
50   TILE_GET_INFO_MEMBER(chaknpop_get_tx_tile_info);
5051};
5152
5253
trunk/src/mame/includes/fitfight.h
r17673r17674
5555   DECLARE_DRIVER_INIT(fitfight);
5656   DECLARE_DRIVER_INIT(histryma);
5757   DECLARE_DRIVER_INIT(bbprot);
58   TILE_GET_INFO_MEMBER(get_fof_bak_tile_info);
59   TILE_GET_INFO_MEMBER(get_fof_mid_tile_info);
60   TILE_GET_INFO_MEMBER(get_fof_txt_tile_info);
5861};
5962
6063
trunk/src/mame/includes/ashnojoe.h
r17673r17674
6363   DECLARE_WRITE8_MEMBER(ym2203_write_a);
6464   DECLARE_WRITE8_MEMBER(ym2203_write_b);
6565   DECLARE_DRIVER_INIT(ashnojoe);
66   TILE_GET_INFO_MEMBER(get_joe_tile_info);
67   TILE_GET_INFO_MEMBER(get_joe_tile_info_2);
68   TILE_GET_INFO_MEMBER(get_joe_tile_info_3);
69   TILE_GET_INFO_MEMBER(get_joe_tile_info_4);
70   TILE_GET_INFO_MEMBER(get_joe_tile_info_5);
71   TILE_GET_INFO_MEMBER(get_joe_tile_info_6);
72   TILE_GET_INFO_MEMBER(get_joe_tile_info_7);
6673};
6774
6875
trunk/src/mame/includes/ddribble.h
r17673r17674
5252   DECLARE_WRITE8_MEMBER(ddribble_bg_videoram_w);
5353   DECLARE_READ8_MEMBER(ddribble_vlm5030_busy_r);
5454   DECLARE_WRITE8_MEMBER(ddribble_vlm5030_ctrl_w);
55   TILEMAP_MAPPER_MEMBER(tilemap_scan);
56   TILE_GET_INFO_MEMBER(get_fg_tile_info);
57   TILE_GET_INFO_MEMBER(get_bg_tile_info);
5558};
5659
5760/*----------- defined in video/ddribble.c -----------*/
trunk/src/mame/includes/terracre.h
r17673r17674
3131   DECLARE_DRIVER_INIT(amazon);
3232   DECLARE_DRIVER_INIT(amatelas);
3333   DECLARE_DRIVER_INIT(horekid);
34   TILE_GET_INFO_MEMBER(get_bg_tile_info);
35   TILE_GET_INFO_MEMBER(get_fg_tile_info);
3436};
3537
3638
trunk/src/mame/includes/argus.h
r17673r17674
6666   DECLARE_WRITE8_MEMBER(butasan_pagedram_w);
6767   DECLARE_WRITE8_MEMBER(valtric_unknown_w);
6868   DECLARE_WRITE8_MEMBER(butasan_unknown_w);
69   TILE_GET_INFO_MEMBER(argus_get_tx_tile_info);
70   TILE_GET_INFO_MEMBER(argus_get_bg0_tile_info);
71   TILE_GET_INFO_MEMBER(argus_get_bg1_tile_info);
72   TILE_GET_INFO_MEMBER(valtric_get_tx_tile_info);
73   TILE_GET_INFO_MEMBER(valtric_get_bg_tile_info);
74   TILE_GET_INFO_MEMBER(butasan_get_tx_tile_info);
75   TILE_GET_INFO_MEMBER(butasan_get_bg0_tile_info);
76   TILE_GET_INFO_MEMBER(butasan_get_bg1_tile_info);
6977};
7078
7179
trunk/src/mame/includes/grchamp.h
r17673r17674
6363   DECLARE_WRITE8_MEMBER(grchamp_portB_0_w);
6464   DECLARE_WRITE8_MEMBER(grchamp_portA_2_w);
6565   DECLARE_WRITE8_MEMBER(grchamp_portB_2_w);
66   TILE_GET_INFO_MEMBER(get_text_tile_info);
67   TILE_GET_INFO_MEMBER(get_left_tile_info);
68   TILE_GET_INFO_MEMBER(get_right_tile_info);
69   TILE_GET_INFO_MEMBER(get_center_tile_info);
70   TILEMAP_MAPPER_MEMBER(get_memory_offset);
6671};
6772
6873/* Discrete Sound Input Nodes */
trunk/src/mame/includes/lkage.h
r17673r17674
7676   DECLARE_DRIVER_INIT(bygone);
7777   DECLARE_DRIVER_INIT(lkage);
7878   DECLARE_DRIVER_INIT(lkageb);
79   TILE_GET_INFO_MEMBER(get_bg_tile_info);
80   TILE_GET_INFO_MEMBER(get_fg_tile_info);
81   TILE_GET_INFO_MEMBER(get_tx_tile_info);
7982};
8083
8184/*----------- defined in machine/lkage.c -----------*/
trunk/src/mame/includes/gaiden.h
r17673r17674
7373   DECLARE_DRIVER_INIT(mastninj);
7474   DECLARE_DRIVER_INIT(shadoww);
7575   DECLARE_DRIVER_INIT(wildfang);
76   TILE_GET_INFO_MEMBER(get_bg_tile_info);
77   TILE_GET_INFO_MEMBER(get_fg_tile_info);
78   TILE_GET_INFO_MEMBER(get_fg_tile_info_raiga);
79   TILE_GET_INFO_MEMBER(get_tx_tile_info);
7680};
7781
7882
trunk/src/mame/includes/zaxxon.h
r17673r17674
5959   DECLARE_DRIVER_INIT(futspy);
6060   DECLARE_DRIVER_INIT(zaxxonj);
6161   DECLARE_DRIVER_INIT(szaxxon);
62   TILE_GET_INFO_MEMBER(get_bg_tile_info);
63   TILE_GET_INFO_MEMBER(zaxxon_get_fg_tile_info);
64   TILE_GET_INFO_MEMBER(razmataz_get_fg_tile_info);
65   TILE_GET_INFO_MEMBER(congo_get_fg_tile_info);
6266};
6367
6468
trunk/src/mame/includes/shangkid.h
r17673r17674
2525   DECLARE_WRITE8_MEMBER(ay8910_portb_w);
2626   DECLARE_DRIVER_INIT(shangkid);
2727   DECLARE_DRIVER_INIT(chinhero);
28   TILE_GET_INFO_MEMBER(get_bg_tile_info);
2829};
2930
3031
trunk/src/mame/includes/trackfld.h
r17673r17674
5959   UINT8 m_SN76496_latch;
6060   DECLARE_WRITE8_MEMBER( konami_SN76496_latch_w ) { m_SN76496_latch = data; };
6161   DECLARE_WRITE8_MEMBER( konami_SN76496_w ) { m_sn->write(space, offset, m_SN76496_latch); };
62   TILE_GET_INFO_MEMBER(get_bg_tile_info);
6263};
6364
6465
trunk/src/mame/includes/fastfred.h
r17673r17674
5353   DECLARE_DRIVER_INIT(boggy84);
5454   DECLARE_DRIVER_INIT(jumpcoas);
5555   DECLARE_DRIVER_INIT(boggy84b);
56   TILE_GET_INFO_MEMBER(get_tile_info);
57   TILE_GET_INFO_MEMBER(imago_get_tile_info_bg);
58   TILE_GET_INFO_MEMBER(imago_get_tile_info_fg);
59   TILE_GET_INFO_MEMBER(imago_get_tile_info_web);
5660};
5761
5862
trunk/src/mame/includes/karnov.h
r17673r17674
5151   DECLARE_DRIVER_INIT(chelnovu);
5252   DECLARE_DRIVER_INIT(chelnovj);
5353   DECLARE_DRIVER_INIT(chelnov);
54   TILE_GET_INFO_MEMBER(get_fix_tile_info);
5455};
5556
5657enum {
trunk/src/mame/includes/lwings.h
r17673r17674
4848   DECLARE_WRITE8_MEMBER(trojan_bg2_scrollx_w);
4949   DECLARE_WRITE8_MEMBER(trojan_bg2_image_w);
5050   DECLARE_WRITE8_MEMBER(msm5205_w);
51   TILEMAP_MAPPER_MEMBER(get_bg2_memory_offset);
52   TILE_GET_INFO_MEMBER(get_fg_tile_info);
53   TILE_GET_INFO_MEMBER(lwings_get_bg1_tile_info);
54   TILE_GET_INFO_MEMBER(trojan_get_bg1_tile_info);
55   TILE_GET_INFO_MEMBER(get_bg2_tile_info);
5156};
5257
5358
trunk/src/mame/includes/punchout.h
r17673r17674
5151   DECLARE_DRIVER_INIT(spnchotj);
5252   DECLARE_DRIVER_INIT(punchout);
5353   DECLARE_DRIVER_INIT(spnchout);
54   TILE_GET_INFO_MEMBER(top_get_info);
55   TILE_GET_INFO_MEMBER(armwrest_top_get_info);
56   TILE_GET_INFO_MEMBER(bot_get_info);
57   TILE_GET_INFO_MEMBER(armwrest_bot_get_info);
58   TILE_GET_INFO_MEMBER(bs1_get_info);
59   TILE_GET_INFO_MEMBER(bs2_get_info);
60   TILE_GET_INFO_MEMBER(armwrest_fg_get_info);
61   TILEMAP_MAPPER_MEMBER(armwrest_bs1_scan);
62   TILEMAP_MAPPER_MEMBER(armwrest_bs1_scan_flipx);
5463};
5564
5665
trunk/src/mame/includes/tecmo.h
r17673r17674
4141   DECLARE_DRIVER_INIT(rygar);
4242   DECLARE_DRIVER_INIT(backfirt);
4343   DECLARE_DRIVER_INIT(gemini);
44   TILE_GET_INFO_MEMBER(get_bg_tile_info);
45   TILE_GET_INFO_MEMBER(get_fg_tile_info);
46   TILE_GET_INFO_MEMBER(gemini_get_bg_tile_info);
47   TILE_GET_INFO_MEMBER(gemini_get_fg_tile_info);
48   TILE_GET_INFO_MEMBER(get_tx_tile_info);
4449};
4550
4651
trunk/src/mame/includes/kopunch.h
r17673r17674
3636   DECLARE_WRITE8_MEMBER(kopunch_gfxbank_w);
3737   DECLARE_INPUT_CHANGED_MEMBER(left_coin_inserted);
3838   DECLARE_INPUT_CHANGED_MEMBER(right_coin_inserted);
39   TILE_GET_INFO_MEMBER(get_fg_tile_info);
40   TILE_GET_INFO_MEMBER(get_bg_tile_info);
3941};
4042
4143/*----------- defined in video/kopunch.c -----------*/
trunk/src/mame/includes/news.h
r17673r17674
1919   DECLARE_WRITE8_MEMBER(news_fgram_w);
2020   DECLARE_WRITE8_MEMBER(news_bgram_w);
2121   DECLARE_WRITE8_MEMBER(news_bgpic_w);
22   TILE_GET_INFO_MEMBER(get_fg_tile_info);
23   TILE_GET_INFO_MEMBER(get_bg_tile_info);
2224};
2325
2426
trunk/src/mame/includes/shuuz.h
r17673r17674
1818   DECLARE_WRITE16_MEMBER(latch_w);
1919   DECLARE_READ16_MEMBER(leta_r);
2020   DECLARE_READ16_MEMBER(special_port0_r);
21   TILE_GET_INFO_MEMBER(get_playfield_tile_info);
2122};
2223
2324
trunk/src/mame/includes/finalizr.h
r17673r17674
4747   DECLARE_WRITE8_MEMBER(i8039_T0_w);
4848   DECLARE_WRITE8_MEMBER(finalizr_videoctrl_w);
4949   DECLARE_DRIVER_INIT(finalizr);
50   TILE_GET_INFO_MEMBER(get_bg_tile_info);
51   TILE_GET_INFO_MEMBER(get_fg_tile_info);
5052};
5153
5254
trunk/src/mame/includes/xorworld.h
r17673r17674
1616   DECLARE_WRITE16_MEMBER(eeprom_serial_clock_w);
1717   DECLARE_WRITE16_MEMBER(eeprom_data_w);
1818   DECLARE_DRIVER_INIT(xorworld);
19   TILE_GET_INFO_MEMBER(get_bg_tile_info);
1920};
2021
2122
trunk/src/mame/includes/cclimber.h
r17673r17674
5252   DECLARE_DRIVER_INIT(cclimberj);
5353   DECLARE_DRIVER_INIT(cannonb2);
5454   DECLARE_DRIVER_INIT(cannonb);
55   TILE_GET_INFO_MEMBER(cclimber_get_pf_tile_info);
56   TILE_GET_INFO_MEMBER(swimmer_get_pf_tile_info);
57   TILE_GET_INFO_MEMBER(toprollr_get_pf_tile_info);
58   TILE_GET_INFO_MEMBER(cclimber_get_bs_tile_info);
59   TILE_GET_INFO_MEMBER(toprollr_get_bs_tile_info);
60   TILE_GET_INFO_MEMBER(toproller_get_bg_tile_info);
5561};
5662
5763
trunk/src/mame/includes/speedspn.h
r17673r17674
1919   DECLARE_WRITE8_MEMBER(speedspn_banked_vidram_change);
2020   DECLARE_WRITE8_MEMBER(speedspn_global_display_w);
2121   DECLARE_WRITE8_MEMBER(oki_banking_w);
22   TILE_GET_INFO_MEMBER(get_speedspn_tile_info);
2223};
2324
2425
trunk/src/mame/includes/cloak.h
r17673r17674
3838   DECLARE_WRITE8_MEMBER(cloak_flipscreen_w);
3939   void set_current_bitmap_videoram_pointer();
4040   void adjust_xy(int offset);
41   TILE_GET_INFO_MEMBER(get_bg_tile_info);
4142};
4243
4344
trunk/src/mame/includes/foodf.h
r17673r17674
3131   DECLARE_WRITE16_MEMBER(foodf_paletteram_w);
3232   void foodf_set_flip(int flip);
3333   DECLARE_READ8_MEMBER(pot_r);
34   TILE_GET_INFO_MEMBER(get_playfield_tile_info);
3435};
3536
3637
trunk/src/mame/includes/namcona1.h
r17673r17674
102102   DECLARE_DRIVER_INIT(xday2);
103103   DECLARE_DRIVER_INIT(exbania);
104104   DECLARE_DRIVER_INIT(emeraldj);
105   TILE_GET_INFO_MEMBER(tilemap_get_info0);
106   TILE_GET_INFO_MEMBER(tilemap_get_info1);
107   TILE_GET_INFO_MEMBER(tilemap_get_info2);
108   TILE_GET_INFO_MEMBER(tilemap_get_info3);
109   TILE_GET_INFO_MEMBER(roz_get_info);
105110};
106111
107112
trunk/src/mame/includes/armedf.h
r17673r17674
6868   DECLARE_DRIVER_INIT(kozure);
6969   DECLARE_DRIVER_INIT(terraf);
7070   DECLARE_DRIVER_INIT(terrafb);
71   TILEMAP_MAPPER_MEMBER(armedf_scan_type1);
72   TILEMAP_MAPPER_MEMBER(armedf_scan_type2);
73   TILEMAP_MAPPER_MEMBER(armedf_scan_type3);
74   TILE_GET_INFO_MEMBER(get_nb1414m4_tx_tile_info);
75   TILE_GET_INFO_MEMBER(get_armedf_tx_tile_info);
76   TILE_GET_INFO_MEMBER(get_fg_tile_info);
77   TILE_GET_INFO_MEMBER(get_bg_tile_info);
7178};
7279
7380class bigfghtr_state : public armedf_state
trunk/src/mame/includes/bsktball.h
r17673r17674
5050   DECLARE_WRITE8_MEMBER(bsktball_led1_w);
5151   DECLARE_WRITE8_MEMBER(bsktball_led2_w);
5252   DECLARE_WRITE8_MEMBER(bsktball_videoram_w);
53   TILE_GET_INFO_MEMBER(get_bg_tile_info);
5354};
5455
5556
trunk/src/mame/includes/dkong.h
r17673r17674
237237   DECLARE_DRIVER_INIT(dkingjr);
238238   DECLARE_DRIVER_INIT(drakton);
239239   DECLARE_DRIVER_INIT(dkongx);
240   TILE_GET_INFO_MEMBER(dkong_bg_tile_info);
241   TILE_GET_INFO_MEMBER(radarscp1_bg_tile_info);
240242};
241243
242244/*----------- defined in video/dkong.c -----------*/
trunk/src/mame/includes/sprint4.h
r17673r17674
3434   DECLARE_WRITE8_MEMBER(sprint4_screech_4_w);
3535   DECLARE_WRITE8_MEMBER(sprint4_bang_w);
3636   DECLARE_WRITE8_MEMBER(sprint4_attract_w);
37   TILE_GET_INFO_MEMBER(sprint4_tile_info);
3738};
3839
3940
trunk/src/mame/includes/appoooh.h
r17673r17674
4343   DECLARE_WRITE8_MEMBER(appoooh_out_w);
4444   DECLARE_DRIVER_INIT(robowres);
4545   DECLARE_DRIVER_INIT(robowresb);
46   TILE_GET_INFO_MEMBER(get_fg_tile_info);
47   TILE_GET_INFO_MEMBER(get_bg_tile_info);
4648};
4749
4850#define CHR1_OFST   0x00  /* palette page of char set #1 */
trunk/src/mame/includes/travrusa.h
r17673r17674
1919   DECLARE_WRITE8_MEMBER(travrusa_flipscreen_w);
2020   DECLARE_DRIVER_INIT(shtridra);
2121   DECLARE_DRIVER_INIT(motorace);
22   TILE_GET_INFO_MEMBER(get_tile_info);
2223};
2324
2425/*----------- defined in video/travrusa.c -----------*/
trunk/src/mame/includes/metlclsh.h
r17673r17674
4343   DECLARE_WRITE8_MEMBER(metlclsh_bgram_w);
4444   DECLARE_WRITE8_MEMBER(metlclsh_fgram_w);
4545   DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
46   TILEMAP_MAPPER_MEMBER(metlclsh_bgtilemap_scan);
47   TILE_GET_INFO_MEMBER(get_bg_tile_info);
48   TILE_GET_INFO_MEMBER(get_fg_tile_info);
4649};
4750
4851
trunk/src/mame/includes/dbz.h
r17673r17674
4545   DECLARE_DRIVER_INIT(dbza);
4646   DECLARE_DRIVER_INIT(dbz);
4747   DECLARE_DRIVER_INIT(dbz2);
48   TILE_GET_INFO_MEMBER(get_dbz_bg2_tile_info);
49   TILE_GET_INFO_MEMBER(get_dbz_bg1_tile_info);
4850};
4951
5052
trunk/src/mame/includes/goldstar.h
r17673r17674
123123   DECLARE_DRIVER_INIT(rp36c3);
124124   DECLARE_DRIVER_INIT(magoddsc);
125125   DECLARE_DRIVER_INIT(nfb96_c1);
126   TILE_GET_INFO_MEMBER(get_goldstar_fg_tile_info);
127   TILE_GET_INFO_MEMBER(get_magical_fg_tile_info);
128   TILE_GET_INFO_MEMBER(get_cherrym_fg_tile_info);
129   TILE_GET_INFO_MEMBER(get_goldstar_reel1_tile_info);
130   TILE_GET_INFO_MEMBER(get_goldstar_reel2_tile_info);
131   TILE_GET_INFO_MEMBER(get_goldstar_reel3_tile_info);
132   TILE_GET_INFO_MEMBER(get_unkch_reel1_tile_info);
133   TILE_GET_INFO_MEMBER(get_unkch_reel2_tile_info);
134   TILE_GET_INFO_MEMBER(get_unkch_reel3_tile_info);
126135};
127136
128137
trunk/src/mame/includes/wc90.h
r17673r17674
4545   DECLARE_WRITE8_MEMBER(wc90_bgvideoram_w);
4646   DECLARE_WRITE8_MEMBER(wc90_fgvideoram_w);
4747   DECLARE_WRITE8_MEMBER(wc90_txvideoram_w);
48   TILE_GET_INFO_MEMBER(get_bg_tile_info);
49   TILE_GET_INFO_MEMBER(get_fg_tile_info);
50   TILE_GET_INFO_MEMBER(get_tx_tile_info);
51   TILE_GET_INFO_MEMBER(track_get_bg_tile_info);
52   TILE_GET_INFO_MEMBER(track_get_fg_tile_info);
4853};
4954
5055
trunk/src/mame/includes/gauntlet.h
r17673r17674
2525   DECLARE_DRIVER_INIT(gaunt2p);
2626   DECLARE_DRIVER_INIT(gauntlet);
2727   DECLARE_DRIVER_INIT(vindctr2);
28   TILE_GET_INFO_MEMBER(get_alpha_tile_info);
29   TILE_GET_INFO_MEMBER(get_playfield_tile_info);
2830};
2931
3032
trunk/src/mame/includes/ms32.h
r17673r17674
8080   DECLARE_DRIVER_INIT(bnstars);
8181   DECLARE_DRIVER_INIT(f1superb);
8282   DECLARE_DRIVER_INIT(ss92046_01);
83   TILE_GET_INFO_MEMBER(get_ms32_tx_tile_info);
84   TILE_GET_INFO_MEMBER(get_ms32_roz_tile_info);
85   TILE_GET_INFO_MEMBER(get_ms32_bg_tile_info);
86   TILE_GET_INFO_MEMBER(get_ms32_extra_tile_info);
8387};
8488
8589
trunk/src/mame/includes/seicross.h
r17673r17674
2525   DECLARE_WRITE8_MEMBER(seicross_colorram_w);
2626   DECLARE_READ8_MEMBER(friskyt_portB_r);
2727   DECLARE_WRITE8_MEMBER(friskyt_portB_w);
28   TILE_GET_INFO_MEMBER(get_bg_tile_info);
2829};
2930
3031
trunk/src/mame/includes/system16.h
r17673r17674
173173   DECLARE_DRIVER_INIT(tturfbl);
174174   DECLARE_DRIVER_INIT(goldnaxeb1);
175175   DECLARE_DRIVER_INIT(common);
176   TILEMAP_MAPPER_MEMBER(sys16_bg_map);
177   TILEMAP_MAPPER_MEMBER(sys16_text_map);
178   TILE_GET_INFO_MEMBER(get_bg_tile_info);
179   TILE_GET_INFO_MEMBER(get_fg_tile_info);
180   TILE_GET_INFO_MEMBER(get_bg2_tile_info);
181   TILE_GET_INFO_MEMBER(get_fg2_tile_info);
182   TILE_GET_INFO_MEMBER(get_text_tile_info);
183   TILE_GET_INFO_MEMBER(get_s16a_bootleg_tile_infotxt);
184   TILE_GET_INFO_MEMBER(get_s16a_bootleg_tile_info0);
185   TILE_GET_INFO_MEMBER(get_s16a_bootleg_tile_info1);
176186};
177187
178188/*----------- defined in video/system16.c -----------*/
trunk/src/mame/includes/deniam.h
r17673r17674
5353   DECLARE_WRITE16_MEMBER(deniam16c_oki_rom_bank_w);
5454   DECLARE_DRIVER_INIT(karianx);
5555   DECLARE_DRIVER_INIT(logicpro);
56   TILEMAP_MAPPER_MEMBER(scan_pages);
57   TILE_GET_INFO_MEMBER(get_bg_tile_info);
58   TILE_GET_INFO_MEMBER(get_fg_tile_info);
59   TILE_GET_INFO_MEMBER(get_tx_tile_info);
5660};
5761
5862
trunk/src/mame/includes/mcr3.h
r17673r17674
5555   DECLARE_DRIVER_INIT(rampage);
5656   DECLARE_DRIVER_INIT(spyhunt);
5757   DECLARE_DRIVER_INIT(sarge);
58   TILE_GET_INFO_MEMBER(get_bg_tile_info);
59   TILE_GET_INFO_MEMBER(mcrmono_get_bg_tile_info);
60   TILEMAP_MAPPER_MEMBER(spyhunt_bg_scan);
61   TILE_GET_INFO_MEMBER(spyhunt_get_bg_tile_info);
62   TILE_GET_INFO_MEMBER(spyhunt_get_alpha_tile_info);
5863};
5964
6065
trunk/src/mame/includes/stadhero.h
r17673r17674
1313   DECLARE_READ16_MEMBER(stadhero_control_r);
1414   DECLARE_WRITE16_MEMBER(stadhero_control_w);
1515   DECLARE_WRITE16_MEMBER(stadhero_pf1_data_w);
16   TILE_GET_INFO_MEMBER(get_pf1_tile_info);
1617};
1718
1819
trunk/src/mame/includes/prehisle.h
r17673r17674
2323   DECLARE_WRITE16_MEMBER(prehisle_control16_w);
2424   DECLARE_WRITE8_MEMBER(D7759_write_port_0_w);
2525   DECLARE_WRITE8_MEMBER(D7759_upd_reset_w);
26   TILE_GET_INFO_MEMBER(get_bg2_tile_info);
27   TILE_GET_INFO_MEMBER(get_bg_tile_info);
28   TILE_GET_INFO_MEMBER(get_fg_tile_info);
2629};
2730
2831
trunk/src/mame/includes/wwfsstar.h
r17673r17674
2222   DECLARE_WRITE16_MEMBER(wwfsstar_fg0_videoram_w);
2323   DECLARE_WRITE16_MEMBER(wwfsstar_bg0_videoram_w);
2424   DECLARE_CUSTOM_INPUT_MEMBER(wwfsstar_vblank_r);
25   TILE_GET_INFO_MEMBER(get_fg0_tile_info);
26   TILEMAP_MAPPER_MEMBER(bg0_scan);
27   TILE_GET_INFO_MEMBER(get_bg0_tile_info);
2528};
2629
2730
trunk/src/mame/includes/polepos.h
r17673r17674
7474   DECLARE_READ8_MEMBER(steering_delta_r);
7575   DECLARE_DRIVER_INIT(topracern);
7676   DECLARE_DRIVER_INIT(polepos2);
77   TILE_GET_INFO_MEMBER(bg_get_tile_info);
78   TILE_GET_INFO_MEMBER(tx_get_tile_info);
7779};
7880
7981
trunk/src/mame/includes/tank8.h
r17673r17674
5555   DECLARE_WRITE8_MEMBER(tank8_attract_w);
5656   DECLARE_WRITE8_MEMBER(tank8_motor_w);
5757   DECLARE_DRIVER_INIT(decode);
58   TILE_GET_INFO_MEMBER(tank8_get_tile_info);
5859};
5960
6061
trunk/src/mame/includes/jackal.h
r17673r17674
3737   DECLARE_WRITE8_MEMBER(jackal_zram_w);
3838   DECLARE_WRITE8_MEMBER(jackal_voram_w);
3939   DECLARE_WRITE8_MEMBER(jackal_spriteram_w);
40   TILE_GET_INFO_MEMBER(get_bg_tile_info);
4041};
4142
4243
trunk/src/mame/includes/suna8.h
r17673r17674
8888   DECLARE_DRIVER_INIT(brickzn);
8989   DECLARE_DRIVER_INIT(hardhead);
9090   DECLARE_DRIVER_INIT(suna8);
91   TILE_GET_INFO_MEMBER(get_tile_info);
9192};
9293
9394
trunk/src/mame/includes/namcos86.h
r17673r17674
4545   DECLARE_READ8_MEMBER(rthunder_spriteram_r);
4646   DECLARE_WRITE8_MEMBER(rthunder_spriteram_w);
4747   DECLARE_DRIVER_INIT(namco86);
48   TILE_GET_INFO_MEMBER(get_tile_info0);
49   TILE_GET_INFO_MEMBER(get_tile_info1);
50   TILE_GET_INFO_MEMBER(get_tile_info2);
51   TILE_GET_INFO_MEMBER(get_tile_info3);
4852};
4953
5054
trunk/src/mame/includes/nova2001.h
r17673r17674
2727   DECLARE_CUSTOM_INPUT_MEMBER(ninjakun_io_A002_ctrl_r);
2828   DECLARE_DRIVER_INIT(raiders5);
2929   DECLARE_DRIVER_INIT(pkunwar);
30   TILE_GET_INFO_MEMBER(nova2001_get_bg_tile_info);
31   TILE_GET_INFO_MEMBER(nova2001_get_fg_tile_info);
32   TILE_GET_INFO_MEMBER(ninjakun_get_bg_tile_info);
33   TILE_GET_INFO_MEMBER(ninjakun_get_fg_tile_info);
34   TILE_GET_INFO_MEMBER(pkunwar_get_bg_tile_info);
35   TILE_GET_INFO_MEMBER(raiders5_get_bg_tile_info);
36   TILE_GET_INFO_MEMBER(raiders5_get_fg_tile_info);
3037};
3138
3239
trunk/src/mame/includes/cps1.h
r17673r17674
192192   DECLARE_DRIVER_INIT(ssf2tb);
193193   DECLARE_DRIVER_INIT(pzloop2);
194194   DECLARE_DRIVER_INIT(gigaman2);
195   TILEMAP_MAPPER_MEMBER(tilemap0_scan);
196   TILEMAP_MAPPER_MEMBER(tilemap1_scan);
197   TILEMAP_MAPPER_MEMBER(tilemap2_scan);
198   TILE_GET_INFO_MEMBER(get_tile0_info);
199   TILE_GET_INFO_MEMBER(get_tile1_info);
200   TILE_GET_INFO_MEMBER(get_tile2_info);
195201};
196202
197203/*----------- defined in drivers/cps1.c -----------*/
trunk/src/mame/includes/yunsun16.h
r17673r17674
3838   DECLARE_WRITE16_MEMBER(yunsun16_vram_0_w);
3939   DECLARE_WRITE16_MEMBER(yunsun16_vram_1_w);
4040   DECLARE_DRIVER_INIT(magicbub);
41   TILEMAP_MAPPER_MEMBER(yunsun16_tilemap_scan_pages);
42   TILE_GET_INFO_MEMBER(get_tile_info_0);
43   TILE_GET_INFO_MEMBER(get_tile_info_1);
4144};
4245
4346
trunk/src/mame/includes/mermaid.h
r17673r17674
7070   DECLARE_WRITE8_MEMBER(rougien_gfxbankswitch1_w);
7171   DECLARE_WRITE8_MEMBER(rougien_gfxbankswitch2_w);
7272   DECLARE_READ8_MEMBER(mermaid_collision_r);
73   TILE_GET_INFO_MEMBER(get_bg_tile_info);
74   TILE_GET_INFO_MEMBER(get_fg_tile_info);
7375};
7476
7577
trunk/src/mame/includes/dcon.h
r17673r17674
3232   DECLARE_WRITE16_MEMBER(dcon_midground_w);
3333   DECLARE_WRITE16_MEMBER(dcon_text_w);
3434   DECLARE_DRIVER_INIT(sdgndmps);
35   TILE_GET_INFO_MEMBER(get_back_tile_info);
36   TILE_GET_INFO_MEMBER(get_fore_tile_info);
37   TILE_GET_INFO_MEMBER(get_mid_tile_info);
38   TILE_GET_INFO_MEMBER(get_text_tile_info);
3539};
3640
3741
trunk/src/mame/includes/galaxian.h
r17673r17674
218218   DECLARE_DRIVER_INIT(superbon);
219219   DECLARE_DRIVER_INIT(calipso);
220220   DECLARE_DRIVER_INIT(moonwar);
221   TILE_GET_INFO_MEMBER(bg_get_tile_info);
221222};
222223
223224
trunk/src/mame/includes/kickgoal.h
r17673r17674
6363   DECLARE_WRITE16_MEMBER(kickgoal_snd_w);
6464   DECLARE_WRITE16_MEMBER(actionhw_snd_w);
6565   DECLARE_DRIVER_INIT(kickgoal);
66   TILE_GET_INFO_MEMBER(get_kickgoal_fg_tile_info);
67   TILE_GET_INFO_MEMBER(get_kickgoal_bg_tile_info);
68   TILE_GET_INFO_MEMBER(get_kickgoal_bg2_tile_info);
69   TILEMAP_MAPPER_MEMBER(tilemap_scan_kicksfg);
70   TILEMAP_MAPPER_MEMBER(tilemap_scan_kicksbg);
71   TILEMAP_MAPPER_MEMBER(tilemap_scan_kicksbg2);
72   TILEMAP_MAPPER_MEMBER(tilemap_scan_actionhwbg2);
6673};
6774
6875
trunk/src/mame/includes/othldrby.h
r17673r17674
3535   DECLARE_WRITE16_MEMBER(othldrby_vreg_addr_w);
3636   DECLARE_WRITE16_MEMBER(othldrby_vreg_w);
3737   DECLARE_WRITE16_MEMBER(oki_bankswitch_w);
38   TILE_GET_INFO_MEMBER(get_tile_info0);
39   TILE_GET_INFO_MEMBER(get_tile_info1);
40   TILE_GET_INFO_MEMBER(get_tile_info2);
3841};
3942
4043
trunk/src/mame/includes/bbusters.h
r17673r17674
4949   DECLARE_WRITE16_MEMBER(bbusters_video_w);
5050   DECLARE_WRITE16_MEMBER(bbusters_pf1_w);
5151   DECLARE_WRITE16_MEMBER(bbusters_pf2_w);
52   TILE_GET_INFO_MEMBER(get_bbusters_tile_info);
53   TILE_GET_INFO_MEMBER(get_pf1_tile_info);
54   TILE_GET_INFO_MEMBER(get_pf2_tile_info);
5255};
5356
5457
trunk/src/mame/includes/gstriker.h
r17673r17674
9898   DECLARE_DRIVER_INIT(twrldc94a);
9999   DECLARE_DRIVER_INIT(vgoalsoc);
100100   DECLARE_DRIVER_INIT(twrldc94);
101   TILE_GET_INFO_MEMBER(VS920A_get_tile_info);
102   TILE_GET_INFO_MEMBER(MB60553_get_tile_info);
103   TILEMAP_MAPPER_MEMBER(twc94_scan);
101104};
102105
103106
trunk/src/mame/includes/snk.h
r17673r17674
141141   DECLARE_CUSTOM_INPUT_MEMBER(countryc_trackball_y);
142142   DECLARE_CUSTOM_INPUT_MEMBER(snk_bonus_r);
143143   DECLARE_DRIVER_INIT(countryc);
144   TILEMAP_MAPPER_MEMBER(marvins_tx_scan_cols);
145   TILE_GET_INFO_MEMBER(marvins_get_tx_tile_info);
146   TILE_GET_INFO_MEMBER(ikari_get_tx_tile_info);
147   TILE_GET_INFO_MEMBER(gwar_get_tx_tile_info);
148   TILE_GET_INFO_MEMBER(marvins_get_fg_tile_info);
149   TILE_GET_INFO_MEMBER(marvins_get_bg_tile_info);
150   TILE_GET_INFO_MEMBER(aso_get_bg_tile_info);
151   TILE_GET_INFO_MEMBER(tnk3_get_bg_tile_info);
152   TILE_GET_INFO_MEMBER(ikari_get_bg_tile_info);
153   TILE_GET_INFO_MEMBER(gwar_get_bg_tile_info);
144154};
145155
146156
trunk/src/mame/includes/hyprduel.h
r17673r17674
8080   void blt_write( address_space *space, const int tmap, const offs_t offs, const UINT16 data, const UINT16 mask );
8181   DECLARE_DRIVER_INIT(magerror);
8282   DECLARE_DRIVER_INIT(hyprduel);
83   TILE_GET_INFO_MEMBER(get_tile_info_0_8bit);
84   TILE_GET_INFO_MEMBER(get_tile_info_1_8bit);
85   TILE_GET_INFO_MEMBER(get_tile_info_2_8bit);
8386};
8487
8588
trunk/src/mame/includes/flstory.h
r17673r17674
104104   DECLARE_WRITE8_MEMBER(sound_control_1_w);
105105   DECLARE_WRITE8_MEMBER(sound_control_2_w);
106106   DECLARE_WRITE8_MEMBER(sound_control_3_w);
107   TILE_GET_INFO_MEMBER(get_tile_info);
108   TILE_GET_INFO_MEMBER(victnine_get_tile_info);
109   TILE_GET_INFO_MEMBER(get_rumba_tile_info);
107110};
108111
109112
trunk/src/mame/includes/suprslam.h
r17673r17674
4444   DECLARE_WRITE16_MEMBER(suprslam_screen_videoram_w);
4545   DECLARE_WRITE16_MEMBER(suprslam_bg_videoram_w);
4646   DECLARE_WRITE16_MEMBER(suprslam_bank_w);
47   TILE_GET_INFO_MEMBER(get_suprslam_tile_info);
48   TILE_GET_INFO_MEMBER(get_suprslam_bg_tile_info);
4749};
4850
4951
trunk/src/mame/includes/calomega.h
r17673r17674
4040   DECLARE_DRIVER_INIT(standard);
4141   DECLARE_DRIVER_INIT(comg080);
4242   DECLARE_DRIVER_INIT(jjpoker);
43   TILE_GET_INFO_MEMBER(get_bg_tile_info);
4344};
4445
4546
trunk/src/mame/includes/strnskil.h
r17673r17674
2727   DECLARE_WRITE8_MEMBER(strnskil_scrl_ctrl_w);
2828   DECLARE_DRIVER_INIT(banbam);
2929   DECLARE_DRIVER_INIT(pettanp);
30   TILE_GET_INFO_MEMBER(get_bg_tile_info);
3031};
3132
3233
trunk/src/mame/includes/atetris.h
r17673r17674
2727   DECLARE_WRITE8_MEMBER(nvram_enable_w);
2828   DECLARE_WRITE8_MEMBER(atetris_videoram_w);
2929   DECLARE_DRIVER_INIT(atetris);
30   TILE_GET_INFO_MEMBER(get_tile_info);
3031};
3132
3233/*----------- defined in video/atetris.c -----------*/
trunk/src/mame/includes/shaolins.h
r17673r17674
2222   DECLARE_WRITE8_MEMBER(shaolins_palettebank_w);
2323   DECLARE_WRITE8_MEMBER(shaolins_scroll_w);
2424   DECLARE_WRITE8_MEMBER(shaolins_nmi_w);
25   TILE_GET_INFO_MEMBER(get_bg_tile_info);
2526};
2627
2728
trunk/src/mame/includes/kyugo.h
r17673r17674
5353   DECLARE_WRITE8_MEMBER(kyugo_flipscreen_w);
5454   DECLARE_DRIVER_INIT(srdmissn);
5555   DECLARE_DRIVER_INIT(gyrodine);
56   TILE_GET_INFO_MEMBER(get_fg_tile_info);
57   TILE_GET_INFO_MEMBER(get_bg_tile_info);
5658};
5759
5860
trunk/src/mame/includes/popeye.h
r17673r17674
3535   DECLARE_READ8_MEMBER(popeye_portA_r);
3636   DECLARE_DRIVER_INIT(skyskipr);
3737   DECLARE_DRIVER_INIT(popeye);
38   TILE_GET_INFO_MEMBER(get_fg_tile_info);
3839};
3940
4041
trunk/src/mame/includes/4enraya.h
r17673r17674
2828   DECLARE_WRITE8_MEMBER(fenraya_videoram_w);
2929   DECLARE_WRITE8_MEMBER(sound_control_w);
3030   DECLARE_DRIVER_INIT(unkpacg);
31   TILE_GET_INFO_MEMBER(get_tile_info);
3132};
3233
3334
trunk/src/mame/includes/blockade.h
r17673r17674
2121   DECLARE_WRITE8_MEMBER(blockade_videoram_w);
2222   DECLARE_WRITE8_MEMBER(blockade_env_on_w);
2323   DECLARE_WRITE8_MEMBER(blockade_env_off_w);
24   TILE_GET_INFO_MEMBER(get_bg_tile_info);
2425};
2526
2627
trunk/src/mame/includes/compgolf.h
r17673r17674
3434   DECLARE_WRITE8_MEMBER(compgolf_scrollx_lo_w);
3535   DECLARE_WRITE8_MEMBER(compgolf_scrolly_lo_w);
3636   DECLARE_DRIVER_INIT(compgolf);
37   TILE_GET_INFO_MEMBER(get_text_info);
38   TILEMAP_MAPPER_MEMBER(back_scan);
39   TILE_GET_INFO_MEMBER(get_back_info);
3740};
3841
3942
trunk/src/mame/includes/lordgun.h
r17673r17674
5959   DECLARE_DRIVER_INIT(lordgun);
6060   DECLARE_DRIVER_INIT(aliencha);
6161   DECLARE_DRIVER_INIT(alienchac);
62   TILE_GET_INFO_MEMBER(get_tile_info_0);
63   TILE_GET_INFO_MEMBER(get_tile_info_1);
64   TILE_GET_INFO_MEMBER(get_tile_info_2);
65   TILE_GET_INFO_MEMBER(get_tile_info_3);
6266};
6367
6468
trunk/src/mame/includes/zerozone.h
r17673r17674
4646   virtual void machine_reset();
4747
4848   virtual void video_start();
49   TILE_GET_INFO_MEMBER(get_zerozone_tile_info);
4950};
trunk/src/mame/includes/lemmings.h
r17673r17674
4040   DECLARE_WRITE16_MEMBER(lemmings_pixel_0_w);
4141   DECLARE_WRITE16_MEMBER(lemmings_pixel_1_w);
4242   DECLARE_WRITE16_MEMBER(lemmings_vram_w);
43   TILE_GET_INFO_MEMBER(get_tile_info);
4344};
4445
4546
trunk/src/mame/includes/pushman.h
r17673r17674
4141   DECLARE_WRITE8_MEMBER(pushman_68000_w);
4242   DECLARE_WRITE16_MEMBER(pushman_scroll_w);
4343   DECLARE_WRITE16_MEMBER(pushman_videoram_w);
44   TILEMAP_MAPPER_MEMBER(background_scan_rows);
45   TILE_GET_INFO_MEMBER(get_back_tile_info);
46   TILE_GET_INFO_MEMBER(get_text_tile_info);
4447};
4548
4649
trunk/src/mame/includes/espial.h
r17673r17674
4545   DECLARE_WRITE8_MEMBER(espial_attributeram_w);
4646   DECLARE_WRITE8_MEMBER(espial_scrollram_w);
4747   DECLARE_WRITE8_MEMBER(espial_flipscreen_w);
48   TILE_GET_INFO_MEMBER(get_tile_info);
4849};
4950
5051/*----------- defined in video/espial.c -----------*/
trunk/src/mame/includes/tiamc1.h
r17673r17674
2828   DECLARE_WRITE8_MEMBER(tiamc1_bg_vshift_w);
2929   DECLARE_WRITE8_MEMBER(tiamc1_bg_hshift_w);
3030   DECLARE_WRITE8_MEMBER(tiamc1_palette_w);
31   TILE_GET_INFO_MEMBER(get_bg1_tile_info);
32   TILE_GET_INFO_MEMBER(get_bg2_tile_info);
3133};
3234
3335
trunk/src/mame/includes/hyperspt.h
r17673r17674
3737   UINT8 m_SN76496_latch;
3838   DECLARE_WRITE8_MEMBER( konami_SN76496_latch_w ) { m_SN76496_latch = data; };
3939   DECLARE_WRITE8_MEMBER( konami_SN76496_w ) { m_sn->write(space, offset, m_SN76496_latch); };
40   TILE_GET_INFO_MEMBER(get_bg_tile_info);
41   TILE_GET_INFO_MEMBER(roadf_get_bg_tile_info);
4042};
4143
4244/*----------- defined in video/hyperspt.c -----------*/
trunk/src/mame/includes/toaplan1.h
r17673r17674
128128   DECLARE_DRIVER_INIT(toaplan1);
129129   DECLARE_DRIVER_INIT(demonwld);
130130   DECLARE_DRIVER_INIT(vimana);
131   TILE_GET_INFO_MEMBER(get_pf1_tile_info);
132   TILE_GET_INFO_MEMBER(get_pf2_tile_info);
133   TILE_GET_INFO_MEMBER(get_pf3_tile_info);
134   TILE_GET_INFO_MEMBER(get_pf4_tile_info);
131135};
132136
133137
trunk/src/mame/includes/segag80r.h
r17673r17674
9393   DECLARE_DRIVER_INIT(005);
9494   DECLARE_DRIVER_INIT(monster2);
9595   DECLARE_DRIVER_INIT(astrob);
96   TILE_GET_INFO_MEMBER(spaceod_get_tile_info);
97   TILEMAP_MAPPER_MEMBER(spaceod_scan_rows);
98   TILE_GET_INFO_MEMBER(bg_get_tile_info);
9699};
97100
98101
trunk/src/mame/includes/tmnt.h
r17673r17674
119119   DECLARE_DRIVER_INIT(mia);
120120   DECLARE_DRIVER_INIT(tmnt);
121121   DECLARE_DRIVER_INIT(cuebrick);
122   TILE_GET_INFO_MEMBER(glfgreat_get_roz_tile_info);
123   TILE_GET_INFO_MEMBER(prmrsocr_get_roz_tile_info);
122124};
123125
124126
trunk/src/mame/includes/raiden2.h
r17673r17674
121121   DECLARE_DRIVER_INIT(xsedae);
122122   DECLARE_DRIVER_INIT(zeroteam);
123123   DECLARE_DRIVER_INIT(raiden2);
124   TILE_GET_INFO_MEMBER(get_back_tile_info);
125   TILE_GET_INFO_MEMBER(get_mid_tile_info);
126   TILE_GET_INFO_MEMBER(get_fore_tile_info);
127   TILE_GET_INFO_MEMBER(get_text_tile_info);
124128};
125129
126130
trunk/src/mame/includes/zodiack.h
r17673r17674
6464   virtual void machine_reset();
6565
6666   virtual void video_start();
67   TILE_GET_INFO_MEMBER(get_bg_tile_info);
68   TILE_GET_INFO_MEMBER(get_fg_tile_info);
6769};
6870
6971class percuss_state : public zodiack_state
trunk/src/mame/includes/taitojc.h
r17673r17674
156156   DECLARE_DRIVER_INIT(dendego2);
157157   DECLARE_DRIVER_INIT(dangcurv);
158158   DECLARE_DRIVER_INIT(taitojc);
159   TILE_GET_INFO_MEMBER(taitojc_tile_info);
159160};
160161
161162
trunk/src/mame/includes/pitnrun.h
r17673r17674
4646   DECLARE_WRITE8_MEMBER(pitnrun_h_heed_w);
4747   DECLARE_WRITE8_MEMBER(pitnrun_v_heed_w);
4848   DECLARE_WRITE8_MEMBER(pitnrun_color_select_w);
49   TILE_GET_INFO_MEMBER(get_tile_info1);
50   TILE_GET_INFO_MEMBER(get_tile_info2);
4951};
5052
5153
trunk/src/mame/includes/tehkanwc.h
r17673r17674
4343   DECLARE_WRITE8_MEMBER(tehkanwc_portB_w);
4444   DECLARE_WRITE8_MEMBER(msm_reset_w);
4545   DECLARE_DRIVER_INIT(teedoff);
46   TILE_GET_INFO_MEMBER(get_bg_tile_info);
47   TILE_GET_INFO_MEMBER(get_fg_tile_info);
4648};
4749
4850
trunk/src/mame/includes/bionicc.h
r17673r17674
4444   DECLARE_WRITE16_MEMBER(bionicc_paletteram_w);
4545   DECLARE_WRITE16_MEMBER(bionicc_scroll_w);
4646   DECLARE_WRITE16_MEMBER(bionicc_gfxctrl_w);
47   TILE_GET_INFO_MEMBER(get_bg_tile_info);
48   TILE_GET_INFO_MEMBER(get_fg_tile_info);
49   TILE_GET_INFO_MEMBER(get_tx_tile_info);
4750};
4851
4952
trunk/src/mame/includes/citycon.h
r17673r17674
3434   DECLARE_WRITE8_MEMBER(citycon_linecolor_w);
3535   DECLARE_WRITE8_MEMBER(citycon_background_w);
3636   DECLARE_DRIVER_INIT(citycon);
37   TILEMAP_MAPPER_MEMBER(citycon_scan);
38   TILE_GET_INFO_MEMBER(get_fg_tile_info);
39   TILE_GET_INFO_MEMBER(get_bg_tile_info);
3740};
3841
3942
trunk/src/mame/includes/suprridr.h
r17673r17674
3636   DECLARE_WRITE8_MEMBER(suprridr_fgram_w);
3737   DECLARE_CUSTOM_INPUT_MEMBER(suprridr_control_r);
3838   DECLARE_READ8_MEMBER(sound_data_r);
39   TILE_GET_INFO_MEMBER(get_tile_info);
40   TILE_GET_INFO_MEMBER(get_tile_info2);
3941};
4042
4143
trunk/src/mame/includes/psikyo.h
r17673r17674
8383   DECLARE_DRIVER_INIT(tengai);
8484   DECLARE_DRIVER_INIT(s1945jn);
8585   DECLARE_DRIVER_INIT(gunbird);
86   TILE_GET_INFO_MEMBER(get_tile_info_0);
87   TILE_GET_INFO_MEMBER(get_tile_info_1);
8688};
8789
8890
trunk/src/mame/includes/playmark.h
r17673r17674
7878   DECLARE_DRIVER_INIT(bigtwin);
7979   DECLARE_DRIVER_INIT(powerbal);
8080   DECLARE_DRIVER_INIT(magicstk);
81   TILE_GET_INFO_MEMBER(bigtwin_get_tx_tile_info);
82   TILE_GET_INFO_MEMBER(bigtwin_get_fg_tile_info);
83   TILE_GET_INFO_MEMBER(wbeachvl_get_tx_tile_info);
84   TILE_GET_INFO_MEMBER(wbeachvl_get_fg_tile_info);
85   TILE_GET_INFO_MEMBER(wbeachvl_get_bg_tile_info);
86   TILE_GET_INFO_MEMBER(hrdtimes_get_tx_tile_info);
87   TILE_GET_INFO_MEMBER(bigtwinb_get_tx_tile_info);
88   TILE_GET_INFO_MEMBER(hrdtimes_get_fg_tile_info);
89   TILE_GET_INFO_MEMBER(hrdtimes_get_bg_tile_info);
8190};
8291
8392/*----------- defined in video/playmark.c -----------*/
trunk/src/mame/includes/ampoker2.h
r17673r17674
1818   DECLARE_WRITE8_MEMBER(ampoker2_videoram_w);
1919   DECLARE_DRIVER_INIT(rabbitpk);
2020   DECLARE_DRIVER_INIT(piccolop);
21   TILE_GET_INFO_MEMBER(get_bg_tile_info);
22   TILE_GET_INFO_MEMBER(s2k_get_bg_tile_info);
2123};
2224
2325
trunk/src/mame/includes/esd16.h
r17673r17674
5656   DECLARE_WRITE16_MEMBER(esd16_vram_1_w);
5757   DECLARE_WRITE16_MEMBER(esd16_tilemap0_color_w);
5858   DECLARE_WRITE16_MEMBER(esd16_tilemap0_color_jumppop_w);
59   TILE_GET_INFO_MEMBER(get_tile_info_0);
60   TILE_GET_INFO_MEMBER(get_tile_info_0_16x16);
61   TILE_GET_INFO_MEMBER(get_tile_info_1);
62   TILE_GET_INFO_MEMBER(get_tile_info_1_16x16);
5963};
6064
6165
trunk/src/mame/includes/pgm.h
r17673r17674
108108   DECLARE_DRIVER_INIT(drgw3);
109109   DECLARE_DRIVER_INIT(orlegend);
110110   DECLARE_DRIVER_INIT(pstar);
111   TILE_GET_INFO_MEMBER(get_pgm_tx_tilemap_tile_info);
112   TILE_GET_INFO_MEMBER(get_pgm_bg_tilemap_tile_info);
111113};
112114
113115
trunk/src/mame/includes/iqblock.h
r17673r17674
2626   DECLARE_WRITE8_MEMBER(port_C_w);
2727   DECLARE_DRIVER_INIT(grndtour);
2828   DECLARE_DRIVER_INIT(iqblock);
29   TILE_GET_INFO_MEMBER(get_bg_tile_info);
30   TILE_GET_INFO_MEMBER(get_fg_tile_info);
2931};
3032
3133
trunk/src/mame/includes/darius.h
r17673r17674
8686   DECLARE_WRITE8_MEMBER(darius_write_portB1);
8787   DECLARE_WRITE8_MEMBER(adpcm_data_w);
8888   DECLARE_DRIVER_INIT(darius);
89   TILE_GET_INFO_MEMBER(get_fg_tile_info);
8990};
9091
9192
trunk/src/mame/includes/cbasebal.h
r17673r17674
4343   DECLARE_WRITE8_MEMBER(cbasebal_scrollx_w);
4444   DECLARE_WRITE8_MEMBER(cbasebal_scrolly_w);
4545   DECLARE_DRIVER_INIT(cbasebal);
46   TILE_GET_INFO_MEMBER(get_bg_tile_info);
47   TILE_GET_INFO_MEMBER(get_fg_tile_info);
4648};
4749
4850/*----------- defined in video/cbasebal.c -----------*/
trunk/src/mame/includes/sbasketb.h
r17673r17674
3939   UINT8 m_SN76496_latch;
4040   DECLARE_WRITE8_MEMBER( konami_SN76496_latch_w ) { m_SN76496_latch = data; };
4141   DECLARE_WRITE8_MEMBER( konami_SN76496_w ) { m_sn->write(space, offset, m_SN76496_latch); };
42   TILE_GET_INFO_MEMBER(get_bg_tile_info);
4243};
4344
4445/*----------- defined in video/sbasketb.c -----------*/
trunk/src/mame/includes/ksayakyu.h
r17673r17674
3333   DECLARE_WRITE8_MEMBER(dummy1_w);
3434   DECLARE_WRITE8_MEMBER(dummy2_w);
3535   DECLARE_WRITE8_MEMBER(dummy3_w);
36   TILE_GET_INFO_MEMBER(get_ksayakyu_tile_info);
37   TILE_GET_INFO_MEMBER(get_text_tile_info);
3638};
3739
3840
trunk/src/mame/includes/himesiki.h
r17673r17674
2929   DECLARE_WRITE8_MEMBER(himesiki_bg_ram_w);
3030   DECLARE_WRITE8_MEMBER(himesiki_scrollx_w);
3131   DECLARE_WRITE8_MEMBER(himesiki_flip_w);
32   TILE_GET_INFO_MEMBER(get_bg_tile_info);
3233};
3334
3435
trunk/src/mame/includes/battlex.h
r17673r17674
3131   DECLARE_WRITE8_MEMBER(battlex_flipscreen_w);
3232   DECLARE_CUSTOM_INPUT_MEMBER(battlex_in0_b4_r);
3333   DECLARE_DRIVER_INIT(battlex);
34   TILE_GET_INFO_MEMBER(get_bg_tile_info);
3435};
3536
3637
trunk/src/mame/includes/skullxbo.h
r17673r17674
1515   DECLARE_READ16_MEMBER(special_port1_r);
1616   DECLARE_WRITE16_MEMBER(skullxbo_mobwr_w);
1717   DECLARE_DRIVER_INIT(skullxbo);
18   TILE_GET_INFO_MEMBER(get_alpha_tile_info);
19   TILE_GET_INFO_MEMBER(get_playfield_tile_info);
1820};
1921
2022
trunk/src/mame/includes/ironhors.h
r17673r17674
4141   DECLARE_WRITE8_MEMBER(ironhors_flipscreen_w);
4242   DECLARE_WRITE8_MEMBER(ironhors_filter_w);
4343   DECLARE_READ8_MEMBER(farwest_soundlatch_r);
44   TILE_GET_INFO_MEMBER(get_bg_tile_info);
45   TILE_GET_INFO_MEMBER(farwest_get_bg_tile_info);
4446};
4547
4648
trunk/src/mame/includes/glass.h
r17673r17674
4141   DECLARE_WRITE16_MEMBER( glass_mainram_w );
4242
4343   DECLARE_DRIVER_INIT(glass);
44   TILE_GET_INFO_MEMBER(get_tile_info_glass_screen0);
45   TILE_GET_INFO_MEMBER(get_tile_info_glass_screen1);
4446};
4547
4648
trunk/src/mame/includes/mcatadv.h
r17673r17674
3737   DECLARE_WRITE8_MEMBER(mcatadv_sound_bw_w);
3838   DECLARE_WRITE16_MEMBER(mcatadv_videoram1_w);
3939   DECLARE_WRITE16_MEMBER(mcatadv_videoram2_w);
40   TILE_GET_INFO_MEMBER(get_mcatadv_tile_info1);
41   TILE_GET_INFO_MEMBER(get_mcatadv_tile_info2);
4042};
4143
4244/*----------- defined in video/mcatadv.c -----------*/
trunk/src/mame/includes/toaplan2.h
r17673r17674
109109   DECLARE_DRIVER_INIT(fixeightbl);
110110   DECLARE_DRIVER_INIT(vfive);
111111   DECLARE_DRIVER_INIT(batrider);
112   TILE_GET_INFO_MEMBER(get_text_tile_info);
112113};
113114
114115/*----------- defined in video/toaplan2.c -----------*/
trunk/src/mame/includes/mjkjidai.h
r17673r17674
2626   DECLARE_WRITE8_MEMBER(mjkjidai_videoram_w);
2727   DECLARE_WRITE8_MEMBER(mjkjidai_ctrl_w);
2828   DECLARE_WRITE8_MEMBER(adpcm_w);
29   TILE_GET_INFO_MEMBER(get_tile_info);
2930};
3031
3132
trunk/src/mame/includes/jailbrek.h
r17673r17674
3737   DECLARE_READ8_MEMBER(jailbrek_speech_r);
3838   DECLARE_WRITE8_MEMBER(jailbrek_speech_w);
3939   DECLARE_DRIVER_INIT(jailbrek);
40   TILE_GET_INFO_MEMBER(get_bg_tile_info);
4041};
4142
4243
trunk/src/mame/includes/gaelco.h
r17673r17674
3434   DECLARE_WRITE16_MEMBER(thoop_vram_encrypted_w);
3535   DECLARE_WRITE16_MEMBER(thoop_encrypted_w);
3636   DECLARE_WRITE16_MEMBER(gaelco_vram_w);
37   TILE_GET_INFO_MEMBER(get_tile_info_gaelco_screen0);
38   TILE_GET_INFO_MEMBER(get_tile_info_gaelco_screen1);
3739};
3840
3941
trunk/src/mame/includes/wecleman.h
r17673r17674
6969   DECLARE_WRITE8_MEMBER(hotchase_3_k007232_w);
7070   DECLARE_DRIVER_INIT(wecleman);
7171   DECLARE_DRIVER_INIT(hotchase);
72   TILE_GET_INFO_MEMBER(wecleman_get_txt_tile_info);
73   TILE_GET_INFO_MEMBER(wecleman_get_bg_tile_info);
74   TILE_GET_INFO_MEMBER(wecleman_get_fg_tile_info);
7275};
7376
7477
trunk/src/mame/includes/tankbust.h
r17673r17674
3737   DECLARE_WRITE8_MEMBER(tankbust_yscroll_w);
3838   DECLARE_READ8_MEMBER(tankbust_soundlatch_r);
3939   DECLARE_READ8_MEMBER(tankbust_soundtimer_r);
40   TILE_GET_INFO_MEMBER(get_bg_tile_info);
41   TILE_GET_INFO_MEMBER(get_txt_tile_info);
4042};
4143
4244
trunk/src/mame/includes/bankp.h
r17673r17674
3333   DECLARE_WRITE8_MEMBER(bankp_videoram2_w);
3434   DECLARE_WRITE8_MEMBER(bankp_colorram2_w);
3535   DECLARE_WRITE8_MEMBER(bankp_out_w);
36   TILE_GET_INFO_MEMBER(get_bg_tile_info);
37   TILE_GET_INFO_MEMBER(get_fg_tile_info);
3638};
3739
3840
trunk/src/mame/includes/crbaloon.h
r17673r17674
3232   DECLARE_WRITE8_MEMBER(crbaloon_videoram_w);
3333   DECLARE_WRITE8_MEMBER(crbaloon_colorram_w);
3434   DECLARE_CUSTOM_INPUT_MEMBER(pc3092_r);
35   TILE_GET_INFO_MEMBER(get_bg_tile_info);
3536};
3637
3738
trunk/src/mame/includes/portrait.h
r17673r17674
1818   DECLARE_WRITE8_MEMBER(portrait_negative_scroll_w);
1919   DECLARE_WRITE8_MEMBER(portrait_bgvideo_write);
2020   DECLARE_WRITE8_MEMBER(portrait_fgvideo_write);
21   TILE_GET_INFO_MEMBER(get_bg_tile_info);
22   TILE_GET_INFO_MEMBER(get_fg_tile_info);
2123};
2224
2325
trunk/src/mame/includes/funkybee.h
r17673r17674
2222   DECLARE_WRITE8_MEMBER(funkybee_gfx_bank_w);
2323   DECLARE_WRITE8_MEMBER(funkybee_scroll_w);
2424   DECLARE_WRITE8_MEMBER(funkybee_flipscreen_w);
25   TILE_GET_INFO_MEMBER(get_bg_tile_info);
26   TILEMAP_MAPPER_MEMBER(funkybee_tilemap_scan);
2527};
2628
2729
trunk/src/mame/includes/tetrisp2.h
r17673r17674
9595   DECLARE_DRIVER_INIT(rockn);
9696   DECLARE_DRIVER_INIT(rockn3);
9797   DECLARE_DRIVER_INIT(rocknms);
98   TILE_GET_INFO_MEMBER(get_tile_info_bg);
99   TILE_GET_INFO_MEMBER(get_tile_info_fg);
100   TILE_GET_INFO_MEMBER(get_tile_info_rot);
101   TILE_GET_INFO_MEMBER(get_tile_info_rocknms_sub_bg);
102   TILE_GET_INFO_MEMBER(get_tile_info_rocknms_sub_fg);
103   TILE_GET_INFO_MEMBER(get_tile_info_rocknms_sub_rot);
104   TILE_GET_INFO_MEMBER(stepstag_get_tile_info_fg);
98105};
99106
100107class stepstag_state : public tetrisp2_state
trunk/src/mame/includes/lastduel.h
r17673r17674
4848   DECLARE_WRITE16_MEMBER(madgear_scroll1_w);
4949   DECLARE_WRITE16_MEMBER(madgear_scroll2_w);
5050   DECLARE_WRITE16_MEMBER(lastduel_palette_word_w);
51   TILE_GET_INFO_MEMBER(ld_get_bg_tile_info);
52   TILE_GET_INFO_MEMBER(ld_get_fg_tile_info);
53   TILE_GET_INFO_MEMBER(get_bg_tile_info);
54   TILE_GET_INFO_MEMBER(get_fg_tile_info);
55   TILE_GET_INFO_MEMBER(get_fix_info);
5156};
5257
5358/*----------- defined in video/lastduel.c -----------*/
trunk/src/mame/includes/alpha68k.h
r17673r17674
8888   DECLARE_DRIVER_INIT(timesold);
8989   DECLARE_DRIVER_INIT(kyros);
9090   DECLARE_DRIVER_INIT(sstingry);
91   TILE_GET_INFO_MEMBER(get_tile_info);
9192};
9293
9394/* game_id - used to deal with a few game specific situations */
trunk/src/mame/includes/drgnmst.h
r17673r17674
5757   DECLARE_WRITE16_MEMBER(drgnmst_bg_videoram_w);
5858   DECLARE_WRITE16_MEMBER(drgnmst_md_videoram_w);
5959   DECLARE_DRIVER_INIT(drgnmst);
60   TILE_GET_INFO_MEMBER(get_drgnmst_fg_tile_info);
61   TILE_GET_INFO_MEMBER(get_drgnmst_bg_tile_info);
62   TILE_GET_INFO_MEMBER(get_drgnmst_md_tile_info);
63   TILEMAP_MAPPER_MEMBER(drgnmst_fg_tilemap_scan_cols);
64   TILEMAP_MAPPER_MEMBER(drgnmst_md_tilemap_scan_cols);
65   TILEMAP_MAPPER_MEMBER(drgnmst_bg_tilemap_scan_cols);
6066};
6167
6268
trunk/src/mame/includes/freekick.h
r17673r17674
4141   DECLARE_DRIVER_INIT(gigas);
4242   DECLARE_DRIVER_INIT(gigasb);
4343   DECLARE_DRIVER_INIT(pbillrds);
44   TILE_GET_INFO_MEMBER(get_freek_tile_info);
4445};
4546
4647
trunk/src/mame/includes/cischeat.h
r17673r17674
7373   DECLARE_DRIVER_INIT(cischeat);
7474   DECLARE_DRIVER_INIT(bigrun);
7575   DECLARE_DRIVER_INIT(f1gpstar);
76   TILEMAP_MAPPER_MEMBER(cischeat_scan_8x8);
77   TILEMAP_MAPPER_MEMBER(cischeat_scan_16x16);
78   TILE_GET_INFO_MEMBER(cischeat_get_scroll_tile_info_8x8);
79   TILE_GET_INFO_MEMBER(cischeat_get_scroll_tile_info_16x16);
7680};
7781
7882
trunk/src/mame/includes/namcos22.h
r17673r17674
249249   DECLARE_DRIVER_INIT(alpiner);
250250   DECLARE_DRIVER_INIT(ridgeraj);
251251   DECLARE_DRIVER_INIT(alpinesa);
252   TILE_GET_INFO_MEMBER(TextTilemapGetInfo);
252253};
253254
254255
trunk/src/mame/includes/xybots.h
r17673r17674
1515   UINT16         m_h256;
1616   DECLARE_READ16_MEMBER(special_port1_r);
1717   DECLARE_DRIVER_INIT(xybots);
18   TILE_GET_INFO_MEMBER(get_alpha_tile_info);
19   TILE_GET_INFO_MEMBER(get_playfield_tile_info);
1820};
1921
2022
trunk/src/mame/includes/galaxold.h
r17673r17674
137137   DECLARE_DRIVER_INIT(bullsdrtg);
138138   DECLARE_DRIVER_INIT(ladybugg);
139139   DECLARE_DRIVER_INIT(4in1);
140   TILE_GET_INFO_MEMBER(drivfrcg_get_tile_info);
141   TILE_GET_INFO_MEMBER(racknrol_get_tile_info);
142   TILE_GET_INFO_MEMBER(dambustr_get_tile_info2);
143   TILE_GET_INFO_MEMBER(get_tile_info);
144   TILE_GET_INFO_MEMBER(rockclim_get_tile_info);
140145};
141146
142147
trunk/src/mame/includes/centiped.h
r17673r17674
6363   DECLARE_WRITE8_MEMBER(mazeinv_paletteram_w);
6464   DECLARE_DRIVER_INIT(multiped);
6565   DECLARE_DRIVER_INIT(bullsdrt);
66   TILE_GET_INFO_MEMBER(centiped_get_tile_info);
67   TILE_GET_INFO_MEMBER(warlords_get_tile_info);
68   TILE_GET_INFO_MEMBER(milliped_get_tile_info);
69   TILE_GET_INFO_MEMBER(bullsdrt_get_tile_info);
6670};
6771
6872
trunk/src/mame/includes/atarisy1.h
r17673r17674
5959   DECLARE_DRIVER_INIT(marble);
6060   DECLARE_DRIVER_INIT(roadrunn);
6161   DECLARE_DRIVER_INIT(indytemp);
62   TILE_GET_INFO_MEMBER(get_alpha_tile_info);
63   TILE_GET_INFO_MEMBER(get_playfield_tile_info);
6264};
6365
6466
trunk/src/mame/includes/wgp.h
r17673r17674
6161   DECLARE_WRITE16_MEMBER(wgp_piv_ctrl_word_w);
6262   DECLARE_DRIVER_INIT(wgp);
6363   DECLARE_DRIVER_INIT(wgp2);
64   TILE_GET_INFO_MEMBER(get_piv0_tile_info);
65   TILE_GET_INFO_MEMBER(get_piv1_tile_info);
66   TILE_GET_INFO_MEMBER(get_piv2_tile_info);
6467};
6568
6669
trunk/src/mame/includes/welltris.h
r17673r17674
3333   DECLARE_CUSTOM_INPUT_MEMBER(pending_sound_r);
3434   DECLARE_DRIVER_INIT(quiz18k);
3535   DECLARE_DRIVER_INIT(welltris);
36   TILE_GET_INFO_MEMBER(get_welltris_tile_info);
3637};
3738
3839
trunk/src/mame/includes/sprint8.h
r17673r17674
3030   DECLARE_WRITE8_MEMBER(sprint8_lockout_w);
3131   DECLARE_WRITE8_MEMBER(sprint8_int_reset_w);
3232   DECLARE_WRITE8_MEMBER(sprint8_video_ram_w);
33   TILE_GET_INFO_MEMBER(get_tile_info1);
34   TILE_GET_INFO_MEMBER(get_tile_info2);
3335};
3436
3537
trunk/src/mame/includes/gumbo.h
r17673r17674
2222   tilemap_t    *m_fg_tilemap;
2323   DECLARE_WRITE16_MEMBER(gumbo_bg_videoram_w);
2424   DECLARE_WRITE16_MEMBER(gumbo_fg_videoram_w);
25   TILE_GET_INFO_MEMBER(get_gumbo_bg_tile_info);
26   TILE_GET_INFO_MEMBER(get_gumbo_fg_tile_info);
2527};
2628
2729
trunk/src/mame/includes/ssv.h
r17673r17674
120120   DECLARE_DRIVER_INIT(jsk);
121121   DECLARE_DRIVER_INIT(twineag2);
122122   DECLARE_DRIVER_INIT(mslider);
123   TILE_GET_INFO_MEMBER(get_tile_info_0);
123124};
124125
125126/*----------- defined in video/ssv.c -----------*/
trunk/src/mame/includes/atarig42.h
r17673r17674
4646   DECLARE_DIRECT_UPDATE_MEMBER(atarig42_sloop_direct_handler);
4747   DECLARE_DRIVER_INIT(roadriot);
4848   DECLARE_DRIVER_INIT(guardian);
49   TILE_GET_INFO_MEMBER(get_alpha_tile_info);
50   TILE_GET_INFO_MEMBER(get_playfield_tile_info);
51   TILEMAP_MAPPER_MEMBER(atarig42_playfield_scan);
4952};
5053
5154
trunk/src/mame/includes/tceptor.h
r17673r17674
5353   DECLARE_WRITE8_MEMBER(voice_w);
5454
5555   optional_device<namco_c45_road_device> m_c45_road;
56   TILE_GET_INFO_MEMBER(get_tx_tile_info);
57   TILE_GET_INFO_MEMBER(get_bg1_tile_info);
58   TILE_GET_INFO_MEMBER(get_bg2_tile_info);
5659};
5760
5861
trunk/src/mame/includes/cop01.h
r17673r17674
4040   DECLARE_WRITE8_MEMBER(cop01_vreg_w);
4141   DECLARE_CUSTOM_INPUT_MEMBER(mightguy_area_r);
4242   DECLARE_DRIVER_INIT(mightguy);
43   TILE_GET_INFO_MEMBER(get_bg_tile_info);
44   TILE_GET_INFO_MEMBER(get_fg_tile_info);
4345};
4446
4547
trunk/src/mame/includes/vindictr.h
r17673r17674
1717   UINT16         m_playfield_yscroll;
1818   DECLARE_READ16_MEMBER(port1_r);
1919   DECLARE_DRIVER_INIT(vindictr);
20   TILE_GET_INFO_MEMBER(get_alpha_tile_info);
21   TILE_GET_INFO_MEMBER(get_playfield_tile_info);
2022};
2123
2224
trunk/src/mame/includes/hanaawas.h
r17673r17674
2525   DECLARE_WRITE8_MEMBER(hanaawas_inputs_mux_w);
2626   DECLARE_WRITE8_MEMBER(hanaawas_videoram_w);
2727   DECLARE_WRITE8_MEMBER(hanaawas_colorram_w);
28   TILE_GET_INFO_MEMBER(get_bg_tile_info);
2829};
2930
3031
trunk/src/mame/includes/aquarium.h
r17673r17674
4040   DECLARE_WRITE16_MEMBER(aquarium_mid_videoram_w);
4141   DECLARE_WRITE16_MEMBER(aquarium_bak_videoram_w);
4242   DECLARE_DRIVER_INIT(aquarium);
43   TILE_GET_INFO_MEMBER(get_aquarium_txt_tile_info);
44   TILE_GET_INFO_MEMBER(get_aquarium_mid_tile_info);
45   TILE_GET_INFO_MEMBER(get_aquarium_bak_tile_info);
4346};
4447
4548
trunk/src/mame/includes/metro.h
r17673r17674
151151   DECLARE_DRIVER_INIT(dharmak);
152152   DECLARE_DRIVER_INIT(puzzlet);
153153   DECLARE_DRIVER_INIT(metro);
154   TILE_GET_INFO_MEMBER(metro_k053936_get_tile_info);
155   TILE_GET_INFO_MEMBER(metro_k053936_gstrik2_get_tile_info);
156   TILEMAP_MAPPER_MEMBER(tilemap_scan_gstrik2);
154157};
155158
156159
trunk/src/mame/includes/angelkds.h
r17673r17674
5353   DECLARE_WRITE8_MEMBER(angelkds_paletteram_w);
5454   DECLARE_DRIVER_INIT(angelkds);
5555   DECLARE_DRIVER_INIT(spcpostn);
56   TILE_GET_INFO_MEMBER(get_tx_tile_info);
57   TILE_GET_INFO_MEMBER(get_bgtop_tile_info);
58   TILE_GET_INFO_MEMBER(get_bgbot_tile_info);
5659};
5760
5861
trunk/src/mame/includes/circusc.h
r17673r17674
5252   DECLARE_WRITE8_MEMBER(circusc_colorram_w);
5353   DECLARE_WRITE8_MEMBER(circusc_flipscreen_w);
5454   DECLARE_DRIVER_INIT(circusc);
55   TILE_GET_INFO_MEMBER(get_tile_info);
5556};
5657
5758
trunk/src/mame/includes/mikie.h
r17673r17674
3838   DECLARE_WRITE8_MEMBER(mikie_colorram_w);
3939   DECLARE_WRITE8_MEMBER(mikie_palettebank_w);
4040   DECLARE_WRITE8_MEMBER(mikie_flipscreen_w);
41   TILE_GET_INFO_MEMBER(get_bg_tile_info);
4142};
4243
4344
trunk/src/mame/includes/usgames.h
r17673r17674
1414   DECLARE_WRITE8_MEMBER(lamps2_w);
1515   DECLARE_WRITE8_MEMBER(usgames_videoram_w);
1616   DECLARE_WRITE8_MEMBER(usgames_charram_w);
17   TILE_GET_INFO_MEMBER(get_usgames_tile_info);
1718};
1819
1920
trunk/src/mame/includes/zaccaria.h
r17673r17674
4141   DECLARE_WRITE8_MEMBER(zaccaria_port0b_w);
4242   DECLARE_WRITE8_MEMBER(zaccaria_port1b_w);
4343   DECLARE_WRITE8_MEMBER(mc1408_data_w);
44   TILE_GET_INFO_MEMBER(get_tile_info);
4445};
4546
4647
trunk/src/mame/includes/speedbal.h
r17673r17674
1515   DECLARE_WRITE8_MEMBER(speedbal_coincounter_w);
1616   DECLARE_WRITE8_MEMBER(speedbal_foreground_videoram_w);
1717   DECLARE_WRITE8_MEMBER(speedbal_background_videoram_w);
18   TILE_GET_INFO_MEMBER(get_tile_info_bg);
19   TILE_GET_INFO_MEMBER(get_tile_info_fg);
1820};
1921
2022
trunk/src/mame/includes/shadfrce.h
r17673r17674
3838   DECLARE_WRITE16_MEMBER(shadfrce_bg1scrollx_w);
3939   DECLARE_WRITE16_MEMBER(shadfrce_bg1scrolly_w);
4040   DECLARE_WRITE8_MEMBER(oki_bankswitch_w);
41   TILE_GET_INFO_MEMBER(get_shadfrce_fgtile_info);
42   TILE_GET_INFO_MEMBER(get_shadfrce_bg0tile_info);
43   TILE_GET_INFO_MEMBER(get_shadfrce_bg1tile_info);
4144};
4245
4346
trunk/src/mame/includes/tagteam.h
r17673r17674
2424   DECLARE_WRITE8_MEMBER(tagteam_control_w);
2525   DECLARE_WRITE8_MEMBER(tagteam_flipscreen_w);
2626   DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
27   TILE_GET_INFO_MEMBER(get_bg_tile_info);
2728};
2829
2930
trunk/src/mame/includes/bagman.h
r17673r17674
4343   DECLARE_READ8_MEMBER(dial_input_p1_r);
4444   DECLARE_READ8_MEMBER(dial_input_p2_r);
4545   DECLARE_DRIVER_INIT(bagman);
46   TILE_GET_INFO_MEMBER(get_bg_tile_info);
4647};
4748
4849
trunk/src/mame/includes/inufuku.h
r17673r17674
4444   DECLARE_READ16_MEMBER(inufuku_tx_videoram_r);
4545   DECLARE_WRITE16_MEMBER(inufuku_tx_videoram_w);
4646   DECLARE_CUSTOM_INPUT_MEMBER(soundflag_r);
47   TILE_GET_INFO_MEMBER(get_inufuku_bg_tile_info);
48   TILE_GET_INFO_MEMBER(get_inufuku_tx_tile_info);
4749};
4850
4951
trunk/src/mame/includes/commando.h
r17673r17674
4141   DECLARE_WRITE8_MEMBER(commando_c804_w);
4242   DECLARE_DRIVER_INIT(spaceinv);
4343   DECLARE_DRIVER_INIT(commando);
44   TILE_GET_INFO_MEMBER(get_bg_tile_info);
45   TILE_GET_INFO_MEMBER(get_fg_tile_info);
4446};
4547
4648
trunk/src/mame/includes/atarisy2.h
r17673r17674
7373   DECLARE_DRIVER_INIT(csprint);
7474   DECLARE_DRIVER_INIT(paperboy);
7575   DECLARE_DRIVER_INIT(720);
76   TILE_GET_INFO_MEMBER(get_alpha_tile_info);
77   TILE_GET_INFO_MEMBER(get_playfield_tile_info);
7678};
7779
7880
trunk/src/mame/includes/ninjakd2.h
r17673r17674
5656   DECLARE_DRIVER_INIT(mnight);
5757   DECLARE_DRIVER_INIT(ninjakd2);
5858   DECLARE_DRIVER_INIT(bootleg);
59   TILE_GET_INFO_MEMBER(get_fg_tile_info);
60   TILE_GET_INFO_MEMBER(ninjakd2_get_bg_tile_info);
61   TILE_GET_INFO_MEMBER(mnight_get_bg_tile_info);
62   TILEMAP_MAPPER_MEMBER(robokid_bg_scan);
63   TILEMAP_MAPPER_MEMBER(omegaf_bg_scan);
64   TILE_GET_INFO_MEMBER(robokid_get_bg0_tile_info);
65   TILE_GET_INFO_MEMBER(robokid_get_bg1_tile_info);
66   TILE_GET_INFO_MEMBER(robokid_get_bg2_tile_info);
5967};
6068
6169
trunk/src/mame/includes/yunsung8.h
r17673r17674
3434   DECLARE_WRITE8_MEMBER(yunsung8_videoram_w);
3535   DECLARE_WRITE8_MEMBER(yunsung8_flipscreen_w);
3636   DECLARE_WRITE8_MEMBER(yunsung8_sound_bankswitch_w);
37   TILE_GET_INFO_MEMBER(get_tile_info_0);
38   TILE_GET_INFO_MEMBER(get_tile_info_1);
3739};
3840
3941
trunk/src/mame/includes/skydiver.h
r17673r17674
4646   DECLARE_WRITE8_MEMBER(skydiver_2000_201F_w);
4747   DECLARE_WRITE8_MEMBER(skydiver_sound_enable_w);
4848   DECLARE_WRITE8_MEMBER(skydiver_whistle_w);
49   TILE_GET_INFO_MEMBER(get_tile_info);
4950};
5051
5152
trunk/src/mame/includes/m52.h
r17673r17674
3030   DECLARE_WRITE8_MEMBER(m52_bgcontrol_w);
3131   DECLARE_WRITE8_MEMBER(m52_flipscreen_w);
3232   DECLARE_WRITE8_MEMBER(alpha1v_flipscreen_w);
33   TILE_GET_INFO_MEMBER(get_tile_info);
3334};
3435
3536/*----------- defined in video/m52.c -----------*/
trunk/src/mame/includes/warpwarp.h
r17673r17674
3636   DECLARE_DRIVER_INIT(sos);
3737   DECLARE_DRIVER_INIT(kaitei);
3838   DECLARE_DRIVER_INIT(bombbee);
39   TILEMAP_MAPPER_MEMBER(tilemap_scan);
40   TILE_GET_INFO_MEMBER(geebee_get_tile_info);
41   TILE_GET_INFO_MEMBER(navarone_get_tile_info);
42   TILE_GET_INFO_MEMBER(warpwarp_get_tile_info);
3943};
4044
4145
trunk/src/mame/includes/gng.h
r17673r17674
3737   DECLARE_WRITE8_MEMBER(gng_bgscrolly_w);
3838   DECLARE_WRITE8_MEMBER(gng_flipscreen_w);
3939   DECLARE_DRIVER_INIT(diamond);
40   TILE_GET_INFO_MEMBER(get_fg_tile_info);
41   TILE_GET_INFO_MEMBER(get_bg_tile_info);
4042};
4143
4244
trunk/src/mame/includes/ojankohs.h
r17673r17674
5959   DECLARE_WRITE8_MEMBER(ojankohs_adpcm_reset_w);
6060   DECLARE_READ8_MEMBER(ojankohs_ay8910_0_r);
6161   DECLARE_READ8_MEMBER(ojankohs_ay8910_1_r);
62   TILE_GET_INFO_MEMBER(ojankohs_get_tile_info);
63   TILE_GET_INFO_MEMBER(ojankoy_get_tile_info);
6264};
6365
6466
trunk/src/mame/includes/wc90b.h
r17673r17674
3535   DECLARE_WRITE8_MEMBER(wc90b_fgvideoram_w);
3636   DECLARE_WRITE8_MEMBER(wc90b_txvideoram_w);
3737   DECLARE_WRITE8_MEMBER(adpcm_control_w);
38   TILE_GET_INFO_MEMBER(get_bg_tile_info);
39   TILE_GET_INFO_MEMBER(get_fg_tile_info);
40   TILE_GET_INFO_MEMBER(get_tx_tile_info);
3841};
3942
4043
trunk/src/mame/includes/kncljoe.h
r17673r17674
4040   DECLARE_READ8_MEMBER(m6803_port1_r);
4141   DECLARE_READ8_MEMBER(m6803_port2_r);
4242   DECLARE_WRITE8_MEMBER(unused_w);
43   TILE_GET_INFO_MEMBER(get_bg_tile_info);
4344};
4445
4546
trunk/src/mame/includes/holeland.h
r17673r17674
2727   DECLARE_WRITE8_MEMBER(holeland_pal_offs_w);
2828   DECLARE_WRITE8_MEMBER(holeland_scroll_w);
2929   DECLARE_WRITE8_MEMBER(holeland_flipscreen_w);
30   TILE_GET_INFO_MEMBER(holeland_get_tile_info);
31   TILE_GET_INFO_MEMBER(crzrally_get_tile_info);
3032};
3133
3234
trunk/src/mame/includes/spdodgeb.h
r17673r17674
4141   DECLARE_WRITE8_MEMBER(spdodgeb_scrollx_lo_w);
4242   DECLARE_WRITE8_MEMBER(spdodgeb_ctrl_w);
4343   DECLARE_WRITE8_MEMBER(spdodgeb_videoram_w);
44   TILEMAP_MAPPER_MEMBER(background_scan);
45   TILE_GET_INFO_MEMBER(get_bg_tile_info);
4446};
4547
4648
trunk/src/mame/includes/liberate.h
r17673r17674
5151   DECLARE_DRIVER_INIT(yellowcb);
5252   DECLARE_DRIVER_INIT(liberate);
5353   DECLARE_DRIVER_INIT(prosport);
54   TILEMAP_MAPPER_MEMBER(back_scan);
55   TILEMAP_MAPPER_MEMBER(fix_scan);
56   TILE_GET_INFO_MEMBER(get_back_tile_info);
57   TILE_GET_INFO_MEMBER(get_fix_tile_info);
58   TILE_GET_INFO_MEMBER(prosport_get_back_tile_info);
5459};
5560
5661
trunk/src/mame/includes/gunsmoke.h
r17673r17674
3434   DECLARE_WRITE8_MEMBER(gunsmoke_colorram_w);
3535   DECLARE_WRITE8_MEMBER(gunsmoke_c804_w);
3636   DECLARE_WRITE8_MEMBER(gunsmoke_d806_w);
37   TILE_GET_INFO_MEMBER(get_bg_tile_info);
38   TILE_GET_INFO_MEMBER(get_fg_tile_info);
3739};
3840
3941
trunk/src/mame/includes/turbo.h
r17673r17674
121121   DECLARE_WRITE8_MEMBER(buckrog_i8255_0_w);
122122   DECLARE_DRIVER_INIT(buckrog_enc);
123123   DECLARE_DRIVER_INIT(turbo_enc);
124   TILE_GET_INFO_MEMBER(get_fg_tile_info);
124125};
125126
126127
trunk/src/mame/includes/seta.h
r17673r17674
171171   DECLARE_DRIVER_INIT(blandia);
172172   DECLARE_DRIVER_INIT(kiwame);
173173   DECLARE_DRIVER_INIT(eightfrc);
174   TILE_GET_INFO_MEMBER(twineagl_get_tile_info_0);
175   TILE_GET_INFO_MEMBER(twineagl_get_tile_info_1);
176   TILE_GET_INFO_MEMBER(get_tile_info_0);
177   TILE_GET_INFO_MEMBER(get_tile_info_1);
178   TILE_GET_INFO_MEMBER(get_tile_info_2);
179   TILE_GET_INFO_MEMBER(get_tile_info_3);
174180};
175181
176182/*----------- defined in video/seta.c -----------*/
trunk/src/mame/includes/laserbat.h
r17673r17674
7777   DECLARE_READ8_MEMBER(zaccaria_port0a_r);
7878   DECLARE_WRITE8_MEMBER(zaccaria_port0a_w);
7979   DECLARE_WRITE8_MEMBER(zaccaria_port0b_w);
80   TILE_GET_INFO_MEMBER(get_tile_info);
8081};
8182
8283
trunk/src/mame/includes/tp84.h
r17673r17674
3535   DECLARE_WRITE8_MEMBER(sub_irq_mask_w);
3636   DECLARE_WRITE8_MEMBER(tp84_spriteram_w);
3737   DECLARE_READ8_MEMBER(tp84_scanline_r);
38   TILE_GET_INFO_MEMBER(get_bg_tile_info);
39   TILE_GET_INFO_MEMBER(get_fg_tile_info);
3840};
3941
4042
trunk/src/mame/includes/vball.h
r17673r17674
2828   DECLARE_WRITE8_MEMBER(vb_videoram_w);
2929   DECLARE_READ8_MEMBER(vb_attrib_r);
3030   DECLARE_WRITE8_MEMBER(vb_attrib_w);
31   TILEMAP_MAPPER_MEMBER(background_scan);
32   TILE_GET_INFO_MEMBER(get_bg_tile_info);
3133};
3234
3335
trunk/src/mame/includes/plygonet.h
r17673r17674
6666   DIRECT_UPDATE_MEMBER(plygonet_dsp56k_direct_handler);
6767   DECLARE_READ32_MEMBER(polygonet_eeprom_r);
6868   DECLARE_DRIVER_INIT(polygonet);
69   TILE_GET_INFO_MEMBER(ttl_get_tile_info);
70   TILE_GET_INFO_MEMBER(roz_get_tile_info);
71   TILEMAP_MAPPER_MEMBER(plygonet_scan);
72   TILEMAP_MAPPER_MEMBER(plygonet_scan_cols);
6973};
7074
7175/*----------- defined in video/plygonet.c -----------*/
trunk/src/mame/includes/higemaru.h
r17673r17674
2323   DECLARE_WRITE8_MEMBER(higemaru_videoram_w);
2424   DECLARE_WRITE8_MEMBER(higemaru_colorram_w);
2525   DECLARE_WRITE8_MEMBER(higemaru_c800_w);
26   TILE_GET_INFO_MEMBER(get_bg_tile_info);
2627};
2728
2829
trunk/src/mame/includes/batman.h
r17673r17674
2020   DECLARE_READ16_MEMBER(special_port2_r);
2121   DECLARE_WRITE16_MEMBER(latch_w);
2222   DECLARE_DRIVER_INIT(batman);
23   TILE_GET_INFO_MEMBER(get_alpha_tile_info);
24   TILE_GET_INFO_MEMBER(get_playfield_tile_info);
25   TILE_GET_INFO_MEMBER(get_playfield2_tile_info);
2326};
2427
2528
trunk/src/mame/includes/nemesis.h
r17673r17674
7979   DECLARE_WRITE8_MEMBER(salamand_speech_start_w);
8080   DECLARE_READ8_MEMBER(nemesis_portA_r);
8181   DECLARE_WRITE8_MEMBER(city_sound_bank_w);
82   TILE_GET_INFO_MEMBER(get_bg_tile_info);
83   TILE_GET_INFO_MEMBER(get_fg_tile_info);
8284};
8385
8486
trunk/src/mame/includes/cheekyms.h
r17673r17674
3131   DECLARE_WRITE8_MEMBER(cheekyms_port_40_w);
3232   DECLARE_WRITE8_MEMBER(cheekyms_port_80_w);
3333   DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
34   TILE_GET_INFO_MEMBER(cheekyms_get_tile_info);
3435};
3536
3637
trunk/src/mame/includes/timelimt.h
r17673r17674
2222   DECLARE_WRITE8_MEMBER(timelimt_scroll_x_lsb_w);
2323   DECLARE_WRITE8_MEMBER(timelimt_scroll_x_msb_w);
2424   DECLARE_WRITE8_MEMBER(timelimt_scroll_y_w);
25   TILE_GET_INFO_MEMBER(get_bg_tile_info);
26   TILE_GET_INFO_MEMBER(get_fg_tile_info);
2527};
2628
2729
trunk/src/mame/includes/goal92.h
r17673r17674
4545   DECLARE_WRITE16_MEMBER(goal92_background_w);
4646   DECLARE_WRITE16_MEMBER(goal92_foreground_w);
4747   DECLARE_WRITE8_MEMBER(adpcm_control_w);
48   TILE_GET_INFO_MEMBER(get_text_tile_info);
49   TILE_GET_INFO_MEMBER(get_back_tile_info);
50   TILE_GET_INFO_MEMBER(get_fore_tile_info);
4851};
4952
5053
trunk/src/mame/includes/1942.h
r17673r17674
3333   DECLARE_WRITE8_MEMBER(c1942_scroll_w);
3434   DECLARE_WRITE8_MEMBER(c1942_c804_w);
3535   DECLARE_DRIVER_INIT(1942);
36   TILE_GET_INFO_MEMBER(get_fg_tile_info);
37   TILE_GET_INFO_MEMBER(get_bg_tile_info);
3638};
3739
3840
trunk/src/mame/includes/poolshrk.h
r17673r17674
2828   DECLARE_READ8_MEMBER(poolshrk_input_r);
2929   DECLARE_READ8_MEMBER(poolshrk_irq_reset_r);
3030   DECLARE_DRIVER_INIT(poolshrk);
31   TILE_GET_INFO_MEMBER(get_tile_info);
3132};
3233
3334
trunk/src/mame/includes/raiden.h
r17673r17674
3434   DECLARE_DRIVER_INIT(raidenk);
3535   DECLARE_DRIVER_INIT(raiden);
3636   DECLARE_DRIVER_INIT(raidena);
37   TILE_GET_INFO_MEMBER(get_back_tile_info);
38   TILE_GET_INFO_MEMBER(get_fore_tile_info);
39   TILE_GET_INFO_MEMBER(get_text_tile_info);
3740};
3841
3942
trunk/src/mame/includes/bloodbro.h
r17673r17674
2222   DECLARE_WRITE16_MEMBER(bloodbro_bgvideoram_w);
2323   DECLARE_WRITE16_MEMBER(bloodbro_fgvideoram_w);
2424   DECLARE_WRITE16_MEMBER(bloodbro_txvideoram_w);
25   TILE_GET_INFO_MEMBER(get_bg_tile_info);
26   TILE_GET_INFO_MEMBER(get_fg_tile_info);
27   TILE_GET_INFO_MEMBER(get_tx_tile_info);
2528};
2629
2730
trunk/src/mame/includes/galaxia.h
r17673r17674
2020   DECLARE_WRITE8_MEMBER(galaxia_dataport_w);
2121   DECLARE_READ8_MEMBER(galaxia_collision_r);
2222   DECLARE_READ8_MEMBER(galaxia_collision_clear);
23   TILE_GET_INFO_MEMBER(get_galaxia_bg_tile_info);
24   TILE_GET_INFO_MEMBER(get_astrowar_bg_tile_info);
2325};
2426
2527
trunk/src/mame/includes/fromanc2.h
r17673r17674
8383   DECLARE_CUSTOM_INPUT_MEMBER(subcpu_nmi_r);
8484   DECLARE_DRIVER_INIT(fromanc4);
8585   DECLARE_DRIVER_INIT(fromanc2);
86   TILE_GET_INFO_MEMBER(fromanc2_get_v0_l0_tile_info);
87   TILE_GET_INFO_MEMBER(fromanc2_get_v0_l1_tile_info);
88   TILE_GET_INFO_MEMBER(fromanc2_get_v0_l2_tile_info);
89   TILE_GET_INFO_MEMBER(fromanc2_get_v0_l3_tile_info);
90   TILE_GET_INFO_MEMBER(fromanc2_get_v1_l0_tile_info);
91   TILE_GET_INFO_MEMBER(fromanc2_get_v1_l1_tile_info);
92   TILE_GET_INFO_MEMBER(fromanc2_get_v1_l2_tile_info);
93   TILE_GET_INFO_MEMBER(fromanc2_get_v1_l3_tile_info);
94   TILE_GET_INFO_MEMBER(fromancr_get_v0_l0_tile_info);
95   TILE_GET_INFO_MEMBER(fromancr_get_v0_l1_tile_info);
96   TILE_GET_INFO_MEMBER(fromancr_get_v0_l2_tile_info);
97   TILE_GET_INFO_MEMBER(fromancr_get_v1_l0_tile_info);
98   TILE_GET_INFO_MEMBER(fromancr_get_v1_l1_tile_info);
99   TILE_GET_INFO_MEMBER(fromancr_get_v1_l2_tile_info);
86100};
87101
88102
trunk/src/mame/includes/bombjack.h
r17673r17674
3434   DECLARE_WRITE8_MEMBER(bombjack_colorram_w);
3535   DECLARE_WRITE8_MEMBER(bombjack_background_w);
3636   DECLARE_WRITE8_MEMBER(bombjack_flipscreen_w);
37   TILE_GET_INFO_MEMBER(get_bg_tile_info);
38   TILE_GET_INFO_MEMBER(get_fg_tile_info);
3739};
3840
3941
trunk/src/mame/includes/rallyx.h
r17673r17674
4848   DECLARE_WRITE8_MEMBER(rallyx_scrollx_w);
4949   DECLARE_WRITE8_MEMBER(rallyx_scrolly_w);
5050   DECLARE_WRITE8_MEMBER(tactcian_starson_w);
51   TILEMAP_MAPPER_MEMBER(fg_tilemap_scan);
52   TILE_GET_INFO_MEMBER(rallyx_bg_get_tile_info);
53   TILE_GET_INFO_MEMBER(rallyx_fg_get_tile_info);
54   TILE_GET_INFO_MEMBER(locomotn_bg_get_tile_info);
55   TILE_GET_INFO_MEMBER(locomotn_fg_get_tile_info);
5156};
5257
5358
trunk/src/mame/includes/trucocl.h
r17673r17674
1818   DECLARE_WRITE8_MEMBER(trucocl_colorram_w);
1919   DECLARE_WRITE8_MEMBER(audio_dac_w);
2020   DECLARE_DRIVER_INIT(trucocl);
21   TILE_GET_INFO_MEMBER(get_bg_tile_info);
2122};
2223
2324
trunk/src/mame/includes/unico.h
r17673r17674
3434   DECLARE_WRITE32_MEMBER(unico_vram32_w);
3535   DECLARE_WRITE16_MEMBER(burglarx_sound_bank_w);
3636   DECLARE_WRITE32_MEMBER(zeropnt2_eeprom_w);
37   TILE_GET_INFO_MEMBER(get_tile_info);
38   TILE_GET_INFO_MEMBER(get_tile_info32);
3739};
3840
3941
trunk/src/mame/includes/gcpinbal.h
r17673r17674
5252   DECLARE_WRITE16_MEMBER(gcpinbal_tilemaps_word_w);
5353   DECLARE_READ16_MEMBER(gcpinbal_ctrl_word_r);
5454   DECLARE_WRITE16_MEMBER(gcpinbal_ctrl_word_w);
55   TILE_GET_INFO_MEMBER(get_bg0_tile_info);
56   TILE_GET_INFO_MEMBER(get_bg1_tile_info);
57   TILE_GET_INFO_MEMBER(get_fg_tile_info);
5558};
5659
5760
trunk/src/mame/includes/realbrk.h
r17673r17674
4040   DECLARE_WRITE16_MEMBER(realbrk_vram_1_w);
4141   DECLARE_WRITE16_MEMBER(realbrk_vram_2_w);
4242   DECLARE_WRITE16_MEMBER(realbrk_vregs_w);
43   TILE_GET_INFO_MEMBER(get_tile_info_0);
44   TILE_GET_INFO_MEMBER(get_tile_info_1);
45   TILE_GET_INFO_MEMBER(get_tile_info_2);
4346};
4447
4548
trunk/src/mame/includes/carjmbre.h
r17673r17674
2727   DECLARE_WRITE8_MEMBER(carjmbre_bgcolor_w);
2828   DECLARE_WRITE8_MEMBER(carjmbre_8806_w);
2929   DECLARE_WRITE8_MEMBER(carjmbre_videoram_w);
30   TILE_GET_INFO_MEMBER(get_carjmbre_tile_info);
3031};
3132
3233
trunk/src/mame/includes/gatron.h
r17673r17674
1010   DECLARE_WRITE8_MEMBER(output_port_0_w);
1111   DECLARE_WRITE8_MEMBER(gat_videoram_w);
1212   DECLARE_WRITE8_MEMBER(output_port_1_w);
13   TILE_GET_INFO_MEMBER(get_bg_tile_info);
1314};
1415
1516
trunk/src/mame/includes/flower.h
r17673r17674
3535   DECLARE_WRITE8_MEMBER(flower_bg1ram_w);
3636   DECLARE_WRITE8_MEMBER(flower_flipscreen_w);
3737   DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
38   TILE_GET_INFO_MEMBER(get_bg0_tile_info);
39   TILE_GET_INFO_MEMBER(get_bg1_tile_info);
40   TILE_GET_INFO_MEMBER(get_text_tile_info);
3841};
3942
4043
trunk/src/mame/includes/xain.h
r17673r17674
6262   DECLARE_WRITE8_MEMBER(xain_flipscreen_w);
6363   DECLARE_CUSTOM_INPUT_MEMBER(xain_vblank_r);
6464   DECLARE_CUSTOM_INPUT_MEMBER(mcu_status_r);
65   TILEMAP_MAPPER_MEMBER(back_scan);
66   TILE_GET_INFO_MEMBER(get_bgram0_tile_info);
67   TILE_GET_INFO_MEMBER(get_bgram1_tile_info);
68   TILE_GET_INFO_MEMBER(get_char_tile_info);
6569};
6670
6771
trunk/src/mame/includes/namcos1.h
r17673r17674
8585   DECLARE_DRIVER_INIT(ws89);
8686   DECLARE_DRIVER_INIT(dspirit);
8787   DECLARE_DRIVER_INIT(pistoldm);
88   TILE_GET_INFO_MEMBER(bg_get_info0);
89   TILE_GET_INFO_MEMBER(bg_get_info1);
90   TILE_GET_INFO_MEMBER(bg_get_info2);
91   TILE_GET_INFO_MEMBER(bg_get_info3);
92   TILE_GET_INFO_MEMBER(fg_get_info4);
93   TILE_GET_INFO_MEMBER(fg_get_info5);
8894};
8995
9096
trunk/src/mame/includes/mrdo.h
r17673r17674
2828   DECLARE_WRITE8_MEMBER(mrdo_scrollx_w);
2929   DECLARE_WRITE8_MEMBER(mrdo_scrolly_w);
3030   DECLARE_WRITE8_MEMBER(mrdo_flipscreen_w);
31   TILE_GET_INFO_MEMBER(get_bg_tile_info);
32   TILE_GET_INFO_MEMBER(get_fg_tile_info);
3133};
3234
3335
trunk/src/mame/includes/gundealr.h
r17673r17674
3535   DECLARE_WRITE8_MEMBER(gundealr_fg_scroll_w);
3636   DECLARE_WRITE8_MEMBER(yamyam_fg_scroll_w);
3737   DECLARE_WRITE8_MEMBER(gundealr_flipscreen_w);
38   TILE_GET_INFO_MEMBER(get_bg_tile_info);
39   TILEMAP_MAPPER_MEMBER(gundealr_scan);
40   TILE_GET_INFO_MEMBER(get_fg_tile_info);
3841};
3942
4043
trunk/src/mame/includes/m62.h
r17673r17674
6262   DECLARE_DRIVER_INIT(spelunk2);
6363   DECLARE_DRIVER_INIT(kidniki);
6464   DECLARE_DRIVER_INIT(battroad);
65   TILE_GET_INFO_MEMBER(get_kungfum_bg_tile_info);
66   TILE_GET_INFO_MEMBER(get_ldrun_bg_tile_info);
67   TILE_GET_INFO_MEMBER(get_ldrun2_bg_tile_info);
68   TILE_GET_INFO_MEMBER(get_battroad_bg_tile_info);
69   TILE_GET_INFO_MEMBER(get_battroad_fg_tile_info);
70   TILE_GET_INFO_MEMBER(get_ldrun4_bg_tile_info);
71   TILE_GET_INFO_MEMBER(get_lotlot_bg_tile_info);
72   TILE_GET_INFO_MEMBER(get_lotlot_fg_tile_info);
73   TILE_GET_INFO_MEMBER(get_kidniki_bg_tile_info);
74   TILE_GET_INFO_MEMBER(get_kidniki_fg_tile_info);
75   TILE_GET_INFO_MEMBER(get_spelunkr_bg_tile_info);
76   TILE_GET_INFO_MEMBER(get_spelunkr_fg_tile_info);
77   TILE_GET_INFO_MEMBER(get_spelunk2_bg_tile_info);
78   TILE_GET_INFO_MEMBER(get_youjyudn_bg_tile_info);
79   TILE_GET_INFO_MEMBER(get_youjyudn_fg_tile_info);
80   TILE_GET_INFO_MEMBER(get_horizon_bg_tile_info);
6581};
6682
6783
trunk/src/mame/includes/toki.h
r17673r17674
3434   DECLARE_DRIVER_INIT(tokib);
3535   DECLARE_DRIVER_INIT(jujuba);
3636   DECLARE_DRIVER_INIT(toki);
37   TILE_GET_INFO_MEMBER(get_text_tile_info);
38   TILE_GET_INFO_MEMBER(get_back_tile_info);
39   TILE_GET_INFO_MEMBER(get_fore_tile_info);
3740};
3841
3942
trunk/src/mame/includes/pass.h
r17673r17674
1313   required_shared_ptr<UINT16> m_fg_videoram;
1414   DECLARE_WRITE16_MEMBER(pass_bg_videoram_w);
1515   DECLARE_WRITE16_MEMBER(pass_fg_videoram_w);
16   TILE_GET_INFO_MEMBER(get_pass_bg_tile_info);
17   TILE_GET_INFO_MEMBER(get_pass_fg_tile_info);
1618};
1719
1820
trunk/src/mame/includes/40love.h
r17673r17674
8686   DECLARE_WRITE8_MEMBER(sound_control_3_w);
8787   DECLARE_DRIVER_INIT(undoukai);
8888   DECLARE_DRIVER_INIT(40love);
89   TILE_GET_INFO_MEMBER(get_bg_tile_info);
8990};
9091
9192
trunk/src/mame/includes/renegade.h
r17673r17674
6767   DECLARE_DRIVER_INIT(kuniokun);
6868   DECLARE_DRIVER_INIT(kuniokunb);
6969   DECLARE_DRIVER_INIT(renegade);
70   TILE_GET_INFO_MEMBER(get_bg_tilemap_info);
71   TILE_GET_INFO_MEMBER(get_fg_tilemap_info);
7072};
7173
7274
trunk/src/mame/includes/galaga.h
r17673r17674
5050   DECLARE_READ8_MEMBER(custom_mod_r);
5151   DECLARE_DRIVER_INIT(galaga);
5252   DECLARE_DRIVER_INIT(gatsbee);
53   TILEMAP_MAPPER_MEMBER(tilemap_scan);
54   TILE_GET_INFO_MEMBER(get_tile_info);
5355};
5456
5557class xevious_state : public galaga_state
trunk/src/mame/includes/lasso.h
r17673r17674
5454   DECLARE_WRITE8_MEMBER(wwjgtin_video_control_w);
5555   DECLARE_WRITE8_MEMBER(pinbo_video_control_w);
5656   DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
57   TILE_GET_INFO_MEMBER(lasso_get_bg_tile_info);
58   TILE_GET_INFO_MEMBER(wwjgtin_get_track_tile_info);
59   TILE_GET_INFO_MEMBER(pinbo_get_bg_tile_info);
5760};
5861
5962
trunk/src/mame/includes/psychic5.h
r17673r17674
3838   DECLARE_WRITE8_MEMBER(psychic5_paged_ram_w);
3939   DECLARE_WRITE8_MEMBER(bombsa_paged_ram_w);
4040   DECLARE_WRITE8_MEMBER(bombsa_unknown_w);
41   TILE_GET_INFO_MEMBER(get_bg_tile_info);
42   TILE_GET_INFO_MEMBER(get_fg_tile_info);
4143};
4244
4345
trunk/src/mame/includes/ginganin.h
r17673r17674
3939   DECLARE_WRITE16_MEMBER(ginganin_vregs16_w);
4040   DECLARE_WRITE8_MEMBER(ptm_irq);
4141   DECLARE_DRIVER_INIT(ginganin);
42   TILE_GET_INFO_MEMBER(get_bg_tile_info);
43   TILE_GET_INFO_MEMBER(get_fg_tile_info);
44   TILE_GET_INFO_MEMBER(get_txt_tile_info);
4245};
4346
4447
trunk/src/mame/includes/tail2nos.h
r17673r17674
3434   DECLARE_WRITE16_MEMBER(tail2nos_zoomdata_w);
3535   DECLARE_WRITE16_MEMBER(tail2nos_gfxbank_w);
3636   DECLARE_WRITE8_MEMBER(sound_bankswitch_w);
37   TILE_GET_INFO_MEMBER(get_tile_info);
3738};
3839
3940
trunk/src/mame/includes/mrjong.h
r17673r17674
2222   DECLARE_WRITE8_MEMBER(mrjong_videoram_w);
2323   DECLARE_WRITE8_MEMBER(mrjong_colorram_w);
2424   DECLARE_WRITE8_MEMBER(mrjong_flipscreen_w);
25   TILE_GET_INFO_MEMBER(get_bg_tile_info);
2526};
2627
2728
trunk/src/mame/includes/xyonix.h
r17673r17674
1616   DECLARE_READ8_MEMBER(xyonix_io_r);
1717   DECLARE_WRITE8_MEMBER(xyonix_io_w);
1818   DECLARE_WRITE8_MEMBER(xyonix_vidram_w);
19   TILE_GET_INFO_MEMBER(get_xyonix_tile_info);
1920};
2021
2122
trunk/src/mame/includes/1943.h
r17673r17674
4040   DECLARE_WRITE8_MEMBER(c1943_d806_w);
4141   DECLARE_DRIVER_INIT(1943b);
4242   DECLARE_DRIVER_INIT(1943);
43   TILE_GET_INFO_MEMBER(c1943_get_bg2_tile_info);
44   TILE_GET_INFO_MEMBER(c1943_get_bg_tile_info);
45   TILE_GET_INFO_MEMBER(c1943_get_fg_tile_info);
4346};
4447
4548
trunk/src/mame/includes/lucky74.h
r17673r17674
3535   DECLARE_WRITE8_MEMBER(ym2149_portb_w);
3636   DECLARE_WRITE8_MEMBER(lamps_a_w);
3737   DECLARE_WRITE8_MEMBER(lamps_b_w);
38   TILE_GET_INFO_MEMBER(get_fg_tile_info);
39   TILE_GET_INFO_MEMBER(get_bg_tile_info);
3840};
3941
4042
trunk/src/mame/includes/pacland.h
r17673r17674
3333   DECLARE_WRITE8_MEMBER(pacland_scroll0_w);
3434   DECLARE_WRITE8_MEMBER(pacland_scroll1_w);
3535   DECLARE_WRITE8_MEMBER(pacland_bankswitch_w);
36   TILE_GET_INFO_MEMBER(get_bg_tile_info);
37   TILE_GET_INFO_MEMBER(get_fg_tile_info);
3638};
3739
3840
trunk/src/mame/includes/popper.h
r17673r17674
4646   DECLARE_WRITE8_MEMBER(popper_flipscreen_w);
4747   DECLARE_WRITE8_MEMBER(popper_e002_w);
4848   DECLARE_WRITE8_MEMBER(popper_gfx_bank_w);
49   TILE_GET_INFO_MEMBER(get_popper_p123_tile_info);
50   TILE_GET_INFO_MEMBER(get_popper_p0_tile_info);
51   TILE_GET_INFO_MEMBER(get_popper_ol_p123_tile_info);
52   TILE_GET_INFO_MEMBER(get_popper_ol_p0_tile_info);
4953};
5054
5155
trunk/src/mame/includes/ladyfrog.h
r17673r17674
5252   DECLARE_READ8_MEMBER(ladyfrog_scrlram_r);
5353   DECLARE_WRITE8_MEMBER(ladyfrog_scrlram_w);
5454   DECLARE_WRITE8_MEMBER(unk_w);
55   TILE_GET_INFO_MEMBER(get_tile_info);
5556};
5657
5758
trunk/src/mame/includes/djboy.h
r17673r17674
6767   DECLARE_WRITE8_MEMBER(djboy_paletteram_w);
6868   DECLARE_DRIVER_INIT(djboy);
6969   DECLARE_DRIVER_INIT(djboyj);
70   TILE_GET_INFO_MEMBER(get_bg_tile_info);
7071};
7172
7273
trunk/src/mame/includes/sidearms.h
r17673r17674
4646   DECLARE_DRIVER_INIT(sidearms);
4747   DECLARE_DRIVER_INIT(whizz);
4848   DECLARE_DRIVER_INIT(turtship);
49   TILE_GET_INFO_MEMBER(get_sidearms_bg_tile_info);
50   TILE_GET_INFO_MEMBER(get_philko_bg_tile_info);
51   TILE_GET_INFO_MEMBER(get_fg_tile_info);
52   TILEMAP_MAPPER_MEMBER(sidearms_tilemap_scan);
4953};
5054
5155/*----------- defined in video/sidearms.c -----------*/
trunk/src/mame/includes/jack.h
r17673r17674
4747   DECLARE_DRIVER_INIT(treahunt);
4848   DECLARE_DRIVER_INIT(loverboy);
4949   DECLARE_DRIVER_INIT(jack);
50   TILE_GET_INFO_MEMBER(get_bg_tile_info);
51   TILEMAP_MAPPER_MEMBER(tilemap_scan_cols_flipy);
52   TILE_GET_INFO_MEMBER(joinem_get_bg_tile_info);
5053};
5154
5255
trunk/src/mame/includes/dogfgt.h
r17673r17674
4747   DECLARE_WRITE8_MEMBER(dogfgt_bgvideoram_w);
4848   DECLARE_WRITE8_MEMBER(dogfgt_scroll_w);
4949   DECLARE_WRITE8_MEMBER(dogfgt_1800_w);
50   TILE_GET_INFO_MEMBER(get_tile_info);
5051};
5152
5253
trunk/src/mame/includes/kingobox.h
r17673r17674
4747   DECLARE_WRITE8_MEMBER(kingofb_f800_w);
4848   DECLARE_DRIVER_INIT(ringkingw);
4949   DECLARE_DRIVER_INIT(ringking3);
50   TILE_GET_INFO_MEMBER(get_bg_tile_info);
51   TILE_GET_INFO_MEMBER(get_fg_tile_info);
52   TILE_GET_INFO_MEMBER(ringking_get_bg_tile_info);
5053};
5154
5255
trunk/src/mame/includes/galivan.h
r17673r17674
4545   DECLARE_WRITE8_MEMBER(galivan_scrollx_w);
4646   DECLARE_WRITE8_MEMBER(galivan_scrolly_w);
4747   DECLARE_DRIVER_INIT(youmab);
48   TILE_GET_INFO_MEMBER(get_bg_tile_info);
49   TILE_GET_INFO_MEMBER(get_tx_tile_info);
50   TILE_GET_INFO_MEMBER(ninjemak_get_bg_tile_info);
51   TILE_GET_INFO_MEMBER(ninjemak_get_tx_tile_info);
4852};
4953
5054
trunk/src/mame/includes/tsamurai.h
r17673r17674
5252   DECLARE_WRITE8_MEMBER(tsamurai_fg_videoram_w);
5353   DECLARE_WRITE8_MEMBER(tsamurai_fg_colorram_w);
5454   DECLARE_WRITE8_MEMBER(vsgongf_color_w);
55   TILE_GET_INFO_MEMBER(get_bg_tile_info);
56   TILE_GET_INFO_MEMBER(get_fg_tile_info);
57   TILE_GET_INFO_MEMBER(get_vsgongf_tile_info);
5558};
5659
5760
trunk/src/mame/includes/canyon.h
r17673r17674
3333   DECLARE_READ8_MEMBER(canyon_options_r);
3434   DECLARE_WRITE8_MEMBER(canyon_led_w);
3535   DECLARE_WRITE8_MEMBER(canyon_videoram_w);
36   TILE_GET_INFO_MEMBER(get_bg_tile_info);
3637};
3738
3839
trunk/src/mame/includes/splash.h
r17673r17674
5757   DECLARE_DRIVER_INIT(funystrp);
5858   DECLARE_DRIVER_INIT(splash);
5959   DECLARE_DRIVER_INIT(rebus);
60   TILE_GET_INFO_MEMBER(get_tile_info_splash_tilemap0);
61   TILE_GET_INFO_MEMBER(get_tile_info_splash_tilemap1);
6062};
6163
6264
trunk/src/mame/includes/f1gp.h
r17673r17674
6464   DECLARE_WRITE16_MEMBER(f1gp_fgscroll_w);
6565   DECLARE_WRITE16_MEMBER(f1gp_gfxctrl_w);
6666   DECLARE_WRITE16_MEMBER(f1gp2_gfxctrl_w);
67   TILE_GET_INFO_MEMBER(f1gp_get_roz_tile_info);
68   TILE_GET_INFO_MEMBER(f1gp2_get_roz_tile_info);
69   TILE_GET_INFO_MEMBER(get_fg_tile_info);
6770};
6871
6972/*----------- defined in video/f1gp.c -----------*/
trunk/src/mame/includes/lvcards.h
r17673r17674
1717   DECLARE_READ8_MEMBER(payout_r);
1818   DECLARE_WRITE8_MEMBER(lvcards_videoram_w);
1919   DECLARE_WRITE8_MEMBER(lvcards_colorram_w);
20   TILE_GET_INFO_MEMBER(get_bg_tile_info);
2021};
2122
2223
trunk/src/mame/includes/tecmosys.h
r17673r17674
7373   DECLARE_DRIVER_INIT(tkdensha);
7474   DECLARE_DRIVER_INIT(deroon);
7575   DECLARE_DRIVER_INIT(tkdensho);
76   TILE_GET_INFO_MEMBER(get_bg0tile_info);
77   TILE_GET_INFO_MEMBER(get_bg1tile_info);
78   TILE_GET_INFO_MEMBER(get_bg2tile_info);
79   TILE_GET_INFO_MEMBER(get_fg_tile_info);
7680};
7781
7882
trunk/src/mame/includes/snk6502.h
r17673r17674
4747   DECLARE_CUSTOM_INPUT_MEMBER(snk6502_music0_r);
4848   DECLARE_CUSTOM_INPUT_MEMBER(sasuke_count_r);
4949   DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
50   TILE_GET_INFO_MEMBER(get_bg_tile_info);
51   TILE_GET_INFO_MEMBER(get_fg_tile_info);
52   TILE_GET_INFO_MEMBER(satansat_get_bg_tile_info);
53   TILE_GET_INFO_MEMBER(satansat_get_fg_tile_info);
5054};
5155
5256
trunk/src/mame/includes/ssrj.h
r17673r17674
2323   DECLARE_WRITE8_MEMBER(ssrj_vram1_w);
2424   DECLARE_WRITE8_MEMBER(ssrj_vram2_w);
2525   DECLARE_WRITE8_MEMBER(ssrj_vram4_w);
26   TILE_GET_INFO_MEMBER(get_tile_info1);
27   TILE_GET_INFO_MEMBER(get_tile_info2);
28   TILE_GET_INFO_MEMBER(get_tile_info4);
2629};
2730
2831
trunk/src/mame/includes/pingpong.h
r17673r17674
2323   DECLARE_WRITE8_MEMBER(pingpong_colorram_w);
2424   DECLARE_DRIVER_INIT(cashquiz);
2525   DECLARE_DRIVER_INIT(merlinmm);
26   TILE_GET_INFO_MEMBER(get_bg_tile_info);
2627};
2728
2829
trunk/src/mame/includes/blstroid.h
r17673r17674
1717   DECLARE_WRITE16_MEMBER(blstroid_halt_until_hblank_0_w);
1818   DECLARE_READ16_MEMBER(inputs_r);
1919   DECLARE_DRIVER_INIT(blstroid);
20   TILE_GET_INFO_MEMBER(get_playfield_tile_info);
2021};
2122
2223
trunk/src/mame/includes/gotya.h
r17673r17674
3131   DECLARE_WRITE8_MEMBER(gotya_colorram_w);
3232   DECLARE_WRITE8_MEMBER(gotya_video_control_w);
3333   DECLARE_WRITE8_MEMBER(gotya_soundlatch_w);
34   TILE_GET_INFO_MEMBER(get_bg_tile_info);
35   TILEMAP_MAPPER_MEMBER(tilemap_scan_rows_thehand);
3436};
3537
3638
trunk/src/mame/includes/tatsumi.h
r17673r17674
112112   DECLARE_DRIVER_INIT(roundup5);
113113   DECLARE_DRIVER_INIT(apache3);
114114   DECLARE_DRIVER_INIT(cyclwarr);
115   TILE_GET_INFO_MEMBER(get_text_tile_info);
116   TILE_GET_INFO_MEMBER(get_tile_info_bigfight_0);
117   TILE_GET_INFO_MEMBER(get_tile_info_bigfight_1);
115118};
116119
117120
trunk/src/mame/includes/blmbycar.h
r17673r17674
4242   DECLARE_WRITE16_MEMBER(blmbycar_vram_0_w);
4343   DECLARE_WRITE16_MEMBER(blmbycar_vram_1_w);
4444   DECLARE_DRIVER_INIT(blmbycar);
45   TILE_GET_INFO_MEMBER(get_tile_info_0);
46   TILE_GET_INFO_MEMBER(get_tile_info_1);
4547};
4648
4749
trunk/src/mame/includes/retofinv.h
r17673r17674
5656   DECLARE_WRITE8_MEMBER(retofinv_bg_videoram_w);
5757   DECLARE_WRITE8_MEMBER(retofinv_fg_videoram_w);
5858   DECLARE_WRITE8_MEMBER(retofinv_gfx_ctrl_w);
59   TILEMAP_MAPPER_MEMBER(tilemap_scan);
60   TILE_GET_INFO_MEMBER(bg_get_tile_info);
61   TILE_GET_INFO_MEMBER(fg_get_tile_info);
5962};
6063
6164
trunk/src/mame/includes/meadows.h
r17673r17674
4242   DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
4343   DECLARE_DRIVER_INIT(minferno);
4444   DECLARE_DRIVER_INIT(gypsyjug);
45   TILE_GET_INFO_MEMBER(get_tile_info);
4546};
4647
4748
trunk/src/mame/includes/bogeyman.h
r17673r17674
3939   DECLARE_WRITE8_MEMBER(bogeyman_colorram2_w);
4040   DECLARE_WRITE8_MEMBER(bogeyman_paletteram_w);
4141   DECLARE_WRITE8_MEMBER(bogeyman_colbank_w);
42   TILE_GET_INFO_MEMBER(get_bg_tile_info);
43   TILE_GET_INFO_MEMBER(get_fg_tile_info);
4244};
4345
4446
trunk/src/mame/includes/m72.h
r17673r17674
9797   DECLARE_DRIVER_INIT(nspirit);
9898   DECLARE_DRIVER_INIT(loht);
9999   DECLARE_DRIVER_INIT(imgfight);
100   TILE_GET_INFO_MEMBER(m72_get_bg_tile_info);
101   TILE_GET_INFO_MEMBER(m72_get_fg_tile_info);
102   TILE_GET_INFO_MEMBER(hharry_get_bg_tile_info);
103   TILE_GET_INFO_MEMBER(rtype2_get_bg_tile_info);
104   TILE_GET_INFO_MEMBER(rtype2_get_fg_tile_info);
105   TILEMAP_MAPPER_MEMBER(majtitle_scan_rows);
100106};
101107
102108
trunk/src/mame/includes/ohmygod.h
r17673r17674
3333   DECLARE_WRITE16_MEMBER(ohmygod_scrolly_w);
3434   DECLARE_DRIVER_INIT(ohmygod);
3535   DECLARE_DRIVER_INIT(naname);
36   TILE_GET_INFO_MEMBER(get_tile_info);
3637};
3738
3839
trunk/src/mame/includes/pokechmp.h
r17673r17674
1515   DECLARE_WRITE8_MEMBER(pokechmp_videoram_w);
1616   DECLARE_WRITE8_MEMBER(pokechmp_flipscreen_w);
1717   DECLARE_DRIVER_INIT(pokechmp);
18   TILE_GET_INFO_MEMBER(get_bg_tile_info);
1819};
1920
2021
trunk/src/mame/includes/snk68.h
r17673r17674
3939   DECLARE_WRITE8_MEMBER(D7759_write_port_0_w);
4040   DECLARE_WRITE8_MEMBER(D7759_upd_reset_w);
4141   DECLARE_DRIVER_INIT(searchar);
42   TILE_GET_INFO_MEMBER(get_pow_tile_info);
43   TILE_GET_INFO_MEMBER(get_searchar_tile_info);
4244};
4345
4446
trunk/src/mame/includes/aeroboto.h
r17673r17674
5454   DECLARE_WRITE8_MEMBER(aeroboto_3000_w);
5555   DECLARE_WRITE8_MEMBER(aeroboto_videoram_w);
5656   DECLARE_WRITE8_MEMBER(aeroboto_tilecolor_w);
57   TILE_GET_INFO_MEMBER(get_tile_info);
5758};
5859
5960
trunk/src/mame/includes/madalien.h
r17673r17674
5353   DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
5454   DECLARE_WRITE8_MEMBER(madalien_portA_w);
5555   DECLARE_WRITE8_MEMBER(madalien_portB_w);
56   TILEMAP_MAPPER_MEMBER(scan_mode0);
57   TILEMAP_MAPPER_MEMBER(scan_mode1);
58   TILEMAP_MAPPER_MEMBER(scan_mode2);
59   TILEMAP_MAPPER_MEMBER(scan_mode3);
60   TILE_GET_INFO_MEMBER(get_tile_info_BG_1);
61   TILE_GET_INFO_MEMBER(get_tile_info_BG_2);
62   TILE_GET_INFO_MEMBER(get_tile_info_FG);
5663};
5764
5865
trunk/src/mame/includes/firetrap.h
r17673r17674
6161   DECLARE_WRITE8_MEMBER(firetrap_bg2_scrollx_w);
6262   DECLARE_WRITE8_MEMBER(firetrap_bg2_scrolly_w);
6363   DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
64   TILEMAP_MAPPER_MEMBER(get_fg_memory_offset);
65   TILEMAP_MAPPER_MEMBER(get_bg_memory_offset);
66   TILE_GET_INFO_MEMBER(get_fg_tile_info);
67   TILE_GET_INFO_MEMBER(get_bg1_tile_info);
68   TILE_GET_INFO_MEMBER(get_bg2_tile_info);
6469};
6570
6671
trunk/src/mame/includes/thedeep.h
r17673r17674
4343   DECLARE_READ8_MEMBER(thedeep_p0_r);
4444   DECLARE_WRITE8_MEMBER(thedeep_vram_0_w);
4545   DECLARE_WRITE8_MEMBER(thedeep_vram_1_w);
46   TILEMAP_MAPPER_MEMBER(tilemap_scan_rows_back);
47   TILE_GET_INFO_MEMBER(get_tile_info_0);
48   TILE_GET_INFO_MEMBER(get_tile_info_1);
4649};
4750
4851
trunk/src/mame/includes/oneshot.h
r17673r17674
4343   DECLARE_WRITE16_MEMBER(oneshot_mid_videoram_w);
4444   DECLARE_WRITE16_MEMBER(oneshot_fg_videoram_w);
4545   DECLARE_WRITE16_MEMBER(soundbank_w);
46   TILE_GET_INFO_MEMBER(get_oneshot_bg_tile_info);
47   TILE_GET_INFO_MEMBER(get_oneshot_mid_tile_info);
48   TILE_GET_INFO_MEMBER(get_oneshot_fg_tile_info);
4649};
4750
4851/*----------- defined in video/oneshot.c -----------*/
trunk/src/mame/includes/stlforce.h
r17673r17674
3838   DECLARE_WRITE16_MEMBER(oki_bank_w);
3939   DECLARE_DRIVER_INIT(twinbrat);
4040   DECLARE_DRIVER_INIT(stlforce);
41   TILE_GET_INFO_MEMBER(get_stlforce_bg_tile_info);
42   TILE_GET_INFO_MEMBER(get_stlforce_mlow_tile_info);
43   TILE_GET_INFO_MEMBER(get_stlforce_mhigh_tile_info);
44   TILE_GET_INFO_MEMBER(get_stlforce_tx_tile_info);
4145};
4246
4347
trunk/src/mame/includes/amspdwy.h
r17673r17674
3838   DECLARE_WRITE8_MEMBER(amspdwy_videoram_w);
3939   DECLARE_WRITE8_MEMBER(amspdwy_colorram_w);
4040   DECLARE_READ8_MEMBER(amspdwy_sound_r);
41   TILE_GET_INFO_MEMBER(get_tile_info);
42   TILEMAP_MAPPER_MEMBER(tilemap_scan_cols_back);
4143};
4244
4345
trunk/src/mame/includes/atarig1.h
r17673r17674
4444   DECLARE_DRIVER_INIT(pitfightj);
4545   DECLARE_DRIVER_INIT(pitfight);
4646   DECLARE_DRIVER_INIT(pitfightb);
47   TILE_GET_INFO_MEMBER(get_alpha_tile_info);
48   TILE_GET_INFO_MEMBER(get_playfield_tile_info);
4749};
4850
4951
trunk/src/mame/includes/toobin.h
r17673r17674
2020   DECLARE_WRITE16_MEMBER(interrupt_scan_w);
2121   DECLARE_READ16_MEMBER(special_port1_r);
2222   DECLARE_DRIVER_INIT(toobin);
23   TILE_GET_INFO_MEMBER(get_alpha_tile_info);
24   TILE_GET_INFO_MEMBER(get_playfield_tile_info);
2325};
2426
2527
trunk/src/mame/includes/srumbler.h
r17673r17674
2323   DECLARE_WRITE8_MEMBER(srumbler_background_w);
2424   DECLARE_WRITE8_MEMBER(srumbler_4009_w);
2525   DECLARE_WRITE8_MEMBER(srumbler_scroll_w);
26   TILE_GET_INFO_MEMBER(get_fg_tile_info);
27   TILE_GET_INFO_MEMBER(get_bg_tile_info);
2628};
2729
2830
trunk/src/mame/includes/legionna.h
r17673r17674
3737   DECLARE_DRIVER_INIT(legiongfx);
3838   DECLARE_DRIVER_INIT(cupsoc);
3939   DECLARE_DRIVER_INIT(denjinmk);
40   TILE_GET_INFO_MEMBER(get_back_tile_info);
41   TILE_GET_INFO_MEMBER(get_mid_tile_info);
42   TILE_GET_INFO_MEMBER(get_mid_tile_info_denji);
43   TILE_GET_INFO_MEMBER(get_mid_tile_info_cupsoc);
44   TILE_GET_INFO_MEMBER(get_fore_tile_info);
45   TILE_GET_INFO_MEMBER(get_fore_tile_info_denji);
46   TILE_GET_INFO_MEMBER(get_text_tile_info);
4047};
4148
4249
trunk/src/mame/includes/mcr68.h
r17673r17674
8787   DECLARE_DRIVER_INIT(xenophob);
8888   DECLARE_DRIVER_INIT(archrivl);
8989   DECLARE_DRIVER_INIT(spyhunt2);
90   TILE_GET_INFO_MEMBER(get_bg_tile_info);
91   TILE_GET_INFO_MEMBER(zwackery_get_bg_tile_info);
92   TILE_GET_INFO_MEMBER(zwackery_get_fg_tile_info);
9093};
9194
9295/*----------- defined in machine/mcr68.c -----------*/
trunk/src/mame/includes/pbaction.h
r17673r17674
4646   DECLARE_WRITE8_MEMBER(pbaction_flipscreen_w);
4747   DECLARE_DRIVER_INIT(pbactio3);
4848   DECLARE_DRIVER_INIT(pbactio4);
49   TILE_GET_INFO_MEMBER(get_bg_tile_info);
50   TILE_GET_INFO_MEMBER(get_fg_tile_info);
4951};
5052
5153
trunk/src/mame/includes/funworld.h
r17673r17674
2525   DECLARE_DRIVER_INIT(soccernw);
2626   DECLARE_DRIVER_INIT(tabblue);
2727   DECLARE_DRIVER_INIT(magicd2a);
28   TILE_GET_INFO_MEMBER(get_bg_tile_info);
2829};
2930
3031
trunk/src/mame/includes/gsword.h
r17673r17674
3939   DECLARE_WRITE8_MEMBER(gsword_adpcm_data_w);
4040   DECLARE_DRIVER_INIT(gsword);
4141   DECLARE_DRIVER_INIT(gsword2);
42   TILE_GET_INFO_MEMBER(get_bg_tile_info);
4243};
4344
4445
trunk/src/mame/includes/mario.h
r17673r17674
7878   DECLARE_WRITE8_MEMBER(mario_sh_tuneselect_w);
7979   DECLARE_WRITE8_MEMBER(mario_sh3_w);
8080   DECLARE_WRITE8_MEMBER(mario_z80dma_rdy_w);
81   TILE_GET_INFO_MEMBER(get_bg_tile_info);
8182};
8283
8384/*----------- defined in video/mario.c -----------*/
trunk/src/mame/includes/atarifb.h
r17673r17674
7272   DECLARE_WRITE8_MEMBER(atarifb_alpha1_videoram_w);
7373   DECLARE_WRITE8_MEMBER(atarifb_alpha2_videoram_w);
7474   DECLARE_WRITE8_MEMBER(atarifb_field_videoram_w);
75   TILE_GET_INFO_MEMBER(alpha1_get_tile_info);
76   TILE_GET_INFO_MEMBER(alpha2_get_tile_info);
77   TILE_GET_INFO_MEMBER(field_get_tile_info);
7578};
7679
7780
trunk/src/mame/includes/silkroad.h
r17673r17674
2424   DECLARE_WRITE32_MEMBER(silkroad_fgram3_w);
2525   DECLARE_WRITE32_MEMBER(silk_6295_bank_w);
2626   DECLARE_DRIVER_INIT(silkroad);
27   TILE_GET_INFO_MEMBER(get_fg_tile_info);
28   TILE_GET_INFO_MEMBER(get_fg2_tile_info);
29   TILE_GET_INFO_MEMBER(get_fg3_tile_info);
2730};
2831
2932
trunk/src/mame/includes/videopin.h
r17673r17674
3737   DECLARE_WRITE8_MEMBER(videopin_out1_w);
3838   DECLARE_WRITE8_MEMBER(videopin_out2_w);
3939   DECLARE_WRITE8_MEMBER(videopin_note_dvsr_w);
40   TILEMAP_MAPPER_MEMBER(get_memory_offset);
41   TILE_GET_INFO_MEMBER(get_tile_info);
4042};
4143
4244
trunk/src/mame/includes/tecmo16.h
r17673r17674
4343   DECLARE_WRITE16_MEMBER(tecmo16_scroll2_y_w);
4444   DECLARE_WRITE16_MEMBER(tecmo16_scroll_char_x_w);
4545   DECLARE_WRITE16_MEMBER(tecmo16_scroll_char_y_w);
46   TILE_GET_INFO_MEMBER(fg_get_tile_info);
47   TILE_GET_INFO_MEMBER(bg_get_tile_info);
48   TILE_GET_INFO_MEMBER(tx_get_tile_info);
4649};
4750
4851
trunk/src/mame/includes/exprraid.h
r17673r17674
4848   DECLARE_DRIVER_INIT(wexpressb);
4949   DECLARE_DRIVER_INIT(wexpressb2);
5050   DECLARE_DRIVER_INIT(wexpressb3);
51   TILE_GET_INFO_MEMBER(get_bg_tile_info);
52   TILE_GET_INFO_MEMBER(get_fg_tile_info);
5153};
5254
5355
trunk/src/mame/includes/runaway.h
r17673r17674
1818   DECLARE_WRITE8_MEMBER(runaway_video_ram_w);
1919   DECLARE_WRITE8_MEMBER(runaway_tile_bank_w);
2020   DECLARE_READ8_MEMBER(runaway_pot_r);
21   TILE_GET_INFO_MEMBER(runaway_get_tile_info);
22   TILE_GET_INFO_MEMBER(qwak_get_tile_info);
2123};
2224
2325
trunk/src/mame/includes/toypop.h
r17673r17674
4444   DECLARE_WRITE8_MEMBER(out_coin0);
4545   DECLARE_WRITE8_MEMBER(out_coin1);
4646   DECLARE_WRITE8_MEMBER(flip);
47   TILEMAP_MAPPER_MEMBER(tilemap_scan);
48   TILE_GET_INFO_MEMBER(get_tile_info);
4749};
4850
4951
trunk/src/mame/includes/tumbleb.h
r17673r17674
7272   DECLARE_DRIVER_INIT(tumbleb2);
7373   DECLARE_DRIVER_INIT(chokchok);
7474   DECLARE_DRIVER_INIT(fncywld);
75   TILEMAP_MAPPER_MEMBER(tumblep_scan);
76   TILE_GET_INFO_MEMBER(get_bg1_tile_info);
77   TILE_GET_INFO_MEMBER(get_bg2_tile_info);
78   TILE_GET_INFO_MEMBER(get_fg_tile_info);
79   TILE_GET_INFO_MEMBER(get_fncywld_bg1_tile_info);
80   TILE_GET_INFO_MEMBER(get_fncywld_bg2_tile_info);
81   TILE_GET_INFO_MEMBER(get_fncywld_fg_tile_info);
82   TILE_GET_INFO_MEMBER(pangpang_get_bg1_tile_info);
83   TILE_GET_INFO_MEMBER(pangpang_get_bg2_tile_info);
84   TILE_GET_INFO_MEMBER(pangpang_get_fg_tile_info);
7585};
7686
7787/*----------- defined in video/tumbleb.c -----------*/
trunk/src/mame/includes/kchamp.h
r17673r17674
4242   DECLARE_WRITE8_MEMBER(sound_control_w);
4343   DECLARE_DRIVER_INIT(kchampvs);
4444   DECLARE_DRIVER_INIT(kchampvs2);
45   TILE_GET_INFO_MEMBER(get_bg_tile_info);
4546};
4647
4748
trunk/src/mame/includes/ultratnk.h
r17673r17674
3535   DECLARE_WRITE8_MEMBER(ultratnk_fire_2_w);
3636   DECLARE_WRITE8_MEMBER(ultratnk_attract_w);
3737   DECLARE_WRITE8_MEMBER(ultratnk_explosion_w);
38   TILE_GET_INFO_MEMBER(ultratnk_tile_info);
3839};
3940
4041
trunk/src/mame/includes/m90.h
r17673r17674
2424   DECLARE_WRITE16_MEMBER(m90_video_w);
2525   DECLARE_DRIVER_INIT(bomblord);
2626   DECLARE_DRIVER_INIT(quizf1);
27   TILE_GET_INFO_MEMBER(get_pf1_tile_info);
28   TILE_GET_INFO_MEMBER(get_pf1w_tile_info);
29   TILE_GET_INFO_MEMBER(get_pf2_tile_info);
30   TILE_GET_INFO_MEMBER(get_pf2w_tile_info);
31   TILE_GET_INFO_MEMBER(bomblord_get_pf1_tile_info);
32   TILE_GET_INFO_MEMBER(bomblord_get_pf1w_tile_info);
33   TILE_GET_INFO_MEMBER(bomblord_get_pf2_tile_info);
34   TILE_GET_INFO_MEMBER(bomblord_get_pf2w_tile_info);
35   TILE_GET_INFO_MEMBER(dynablsb_get_pf1_tile_info);
36   TILE_GET_INFO_MEMBER(dynablsb_get_pf1w_tile_info);
37   TILE_GET_INFO_MEMBER(dynablsb_get_pf2_tile_info);
38   TILE_GET_INFO_MEMBER(dynablsb_get_pf2w_tile_info);
2739};
2840
2941
trunk/src/mame/includes/scotrsht.h
r17673r17674
2222   DECLARE_WRITE8_MEMBER(scotrsht_colorram_w);
2323   DECLARE_WRITE8_MEMBER(scotrsht_charbank_w);
2424   DECLARE_WRITE8_MEMBER(scotrsht_palettebank_w);
25   TILE_GET_INFO_MEMBER(scotrsht_get_bg_tile_info);
2526};
2627
2728
trunk/src/mame/includes/phoenix.h
r17673r17674
2828   DECLARE_CUSTOM_INPUT_MEMBER(player_input_r);
2929   DECLARE_CUSTOM_INPUT_MEMBER(pleiads_protection_r);
3030   DECLARE_DRIVER_INIT(condor);
31   TILE_GET_INFO_MEMBER(get_fg_tile_info);
32   TILE_GET_INFO_MEMBER(get_bg_tile_info);
3133};
3234
3335
trunk/src/mame/includes/msisaac.h
r17673r17674
6565   DECLARE_WRITE8_MEMBER(msisaac_bg2_videoram_w);
6666   DECLARE_WRITE8_MEMBER(msisaac_fg_videoram_w);
6767   DECLARE_WRITE8_MEMBER(sound_control_0_w);
68   TILE_GET_INFO_MEMBER(get_fg_tile_info);
69   TILE_GET_INFO_MEMBER(get_bg_tile_info);
70   TILE_GET_INFO_MEMBER(get_bg2_tile_info);
6871};
6972
7073
trunk/src/mame/includes/markham.h
r17673r17674
2323   DECLARE_READ8_MEMBER(markham_e004_r);
2424   DECLARE_WRITE8_MEMBER(markham_videoram_w);
2525   DECLARE_WRITE8_MEMBER(markham_flipscreen_w);
26   TILE_GET_INFO_MEMBER(get_bg_tile_info);
2627};
2728
2829
trunk/src/mame/includes/superqix.h
r17673r17674
7070   DECLARE_DRIVER_INIT(sqix);
7171   DECLARE_DRIVER_INIT(perestro);
7272   DECLARE_DRIVER_INIT(sqixa);
73   TILE_GET_INFO_MEMBER(pb_get_bg_tile_info);
74   TILE_GET_INFO_MEMBER(sqix_get_bg_tile_info);
7375};
7476
7577
trunk/src/mame/includes/dday.h
r17673r17674
4242   DECLARE_READ8_MEMBER(dday_colorram_r);
4343   DECLARE_WRITE8_MEMBER(dday_sl_control_w);
4444   DECLARE_WRITE8_MEMBER(dday_control_w);
45   TILE_GET_INFO_MEMBER(get_bg_tile_info);
46   TILE_GET_INFO_MEMBER(get_fg_tile_info);
47   TILE_GET_INFO_MEMBER(get_text_tile_info);
48   TILE_GET_INFO_MEMBER(get_sl_tile_info);
4549};
4650
4751
trunk/src/mame/includes/playch10.h
r17673r17674
107107   DECLARE_DRIVER_INIT(pceboard);
108108   DECLARE_DRIVER_INIT(pciboard);
109109   DECLARE_DRIVER_INIT(pcaboard);
110   TILE_GET_INFO_MEMBER(get_bg_tile_info);
110111};
111112
112113
trunk/src/mame/includes/cyberbal.h
r17673r17674
4444   DECLARE_DRIVER_INIT(cyberbalt);
4545   DECLARE_DRIVER_INIT(cyberbal2p);
4646   DECLARE_DRIVER_INIT(cyberbal);
47   TILE_GET_INFO_MEMBER(get_alpha_tile_info);
48   TILE_GET_INFO_MEMBER(get_alpha2_tile_info);
49   TILE_GET_INFO_MEMBER(get_playfield_tile_info);
50   TILE_GET_INFO_MEMBER(get_playfield2_tile_info);
4751};
4852
4953
trunk/src/mame/includes/lockon.h
r17673r17674
9898   DECLARE_READ8_MEMBER(adc_r);
9999   DECLARE_WRITE8_MEMBER(sound_vol);
100100   DECLARE_WRITE8_MEMBER(ym2203_out_b);
101   TILE_GET_INFO_MEMBER(get_lockon_tile_info);
101102};
102103
103104
trunk/src/mame/includes/mappy.h
r17673r17674
3434   DECLARE_WRITE8_MEMBER(grobda_DAC_w);
3535   DECLARE_DRIVER_INIT(digdug2);
3636   DECLARE_DRIVER_INIT(grobda);
37   TILEMAP_MAPPER_MEMBER(superpac_tilemap_scan);
38   TILEMAP_MAPPER_MEMBER(mappy_tilemap_scan);
39   TILE_GET_INFO_MEMBER(superpac_get_tile_info);
40   TILE_GET_INFO_MEMBER(phozon_get_tile_info);
41   TILE_GET_INFO_MEMBER(mappy_get_tile_info);
3742};
3843
3944
trunk/src/mame/includes/tigeroad.h
r17673r17674
2323   DECLARE_WRITE8_MEMBER(msm5205_w);
2424   DECLARE_DRIVER_INIT(f1dream);
2525   DECLARE_DRIVER_INIT(tigeroad);
26   TILE_GET_INFO_MEMBER(get_bg_tile_info);
27   TILE_GET_INFO_MEMBER(get_fg_tile_info);
28   TILEMAP_MAPPER_MEMBER(tigeroad_tilemap_scan);
2629};
2730
2831
trunk/src/mame/includes/segas32.h
r17673r17674
170170   DECLARE_DRIVER_INIT(radr);
171171   DECLARE_DRIVER_INIT(f1lap);
172172   DECLARE_DRIVER_INIT(orunners);
173   TILE_GET_INFO_MEMBER(get_tile_info);
173174};
174175
175176
trunk/src/mame/includes/slapfght.h
r17673r17674
117117   DECLARE_DRIVER_INIT(perfrman);
118118   DECLARE_DRIVER_INIT(gtstarb2);
119119   DECLARE_DRIVER_INIT(tigerh);
120   TILE_GET_INFO_MEMBER(get_pf_tile_info);
121   TILE_GET_INFO_MEMBER(get_pf1_tile_info);
122   TILE_GET_INFO_MEMBER(get_fix_tile_info);
120123};
121124
122125
trunk/src/mame/includes/badlands.h
r17673r17674
2525   DECLARE_WRITE8_MEMBER(audio_io_w);
2626   DECLARE_READ16_MEMBER(badlandsb_unk_r);
2727   DECLARE_DRIVER_INIT(badlands);
28   TILE_GET_INFO_MEMBER(get_playfield_tile_info);
2829};
2930
3031
trunk/src/mame/includes/quizdna.h
r17673r17674
2121   DECLARE_WRITE8_MEMBER(quizdna_bg_xscroll_w);
2222   DECLARE_WRITE8_MEMBER(quizdna_screen_ctrl_w);
2323   DECLARE_WRITE8_MEMBER(paletteram_xBGR_RRRR_GGGG_BBBB_w);
24   TILE_GET_INFO_MEMBER(get_bg_tile_info);
25   TILE_GET_INFO_MEMBER(get_fg_tile_info);
2426};
2527
2628
trunk/src/mame/includes/offtwall.h
r17673r17674
2929   DECLARE_READ16_MEMBER(unknown_verify_r);
3030   DECLARE_DRIVER_INIT(offtwall);
3131   DECLARE_DRIVER_INIT(offtwalc);
32   TILE_GET_INFO_MEMBER(get_playfield_tile_info);
3233};
3334
3435
trunk/src/mame/includes/equites.h
r17673r17674
9494   DECLARE_DRIVER_INIT(gekisou);
9595   DECLARE_DRIVER_INIT(splndrbt);
9696   DECLARE_DRIVER_INIT(equites);
97   TILE_GET_INFO_MEMBER(equites_fg_info);
98   TILE_GET_INFO_MEMBER(splndrbt_fg_info);
99   TILE_GET_INFO_MEMBER(equites_bg_info);
100   TILE_GET_INFO_MEMBER(splndrbt_bg_info);
97101};
98102
99103
trunk/src/mame/includes/mystwarr.h
r17673r17674
5252   DECLARE_READ16_MEMBER(ddd_053936_tilerom_1_r);
5353   DECLARE_READ16_MEMBER(gai_053936_tilerom_2_r);
5454   DECLARE_READ16_MEMBER(ddd_053936_tilerom_2_r);
55   TILE_GET_INFO_MEMBER(get_gai_936_tile_info);
56   TILE_GET_INFO_MEMBER(get_ult_936_tile_info);
5557};
5658
5759
trunk/src/mame/includes/fromance.h
r17673r17674
7272   DECLARE_WRITE8_MEMBER(fromance_adpcm_reset_w);
7373   DECLARE_DRIVER_INIT(pipedrm);
7474   DECLARE_DRIVER_INIT(hatris);
75   TILE_GET_INFO_MEMBER(get_fromance_bg_tile_info);
76   TILE_GET_INFO_MEMBER(get_fromance_fg_tile_info);
77   TILE_GET_INFO_MEMBER(get_nekkyoku_bg_tile_info);
78   TILE_GET_INFO_MEMBER(get_nekkyoku_fg_tile_info);
7579};
7680
7781
trunk/src/mame/includes/skykid.h
r17673r17674
3434   DECLARE_WRITE8_MEMBER(skykid_scroll_y_w);
3535   DECLARE_WRITE8_MEMBER(skykid_flipscreen_priority_w);
3636   DECLARE_DRIVER_INIT(skykid);
37   TILEMAP_MAPPER_MEMBER(tx_tilemap_scan);
38   TILE_GET_INFO_MEMBER(tx_get_tile_info);
39   TILE_GET_INFO_MEMBER(bg_get_tile_info);
3740};
3841
3942
trunk/src/mame/includes/klax.h
r17673r17674
1212   klax_state(const machine_config &mconfig, device_type type, const char *tag)
1313      : atarigen_state(mconfig, type, tag) { }
1414   DECLARE_WRITE16_MEMBER(interrupt_ack_w);
15   TILE_GET_INFO_MEMBER(get_playfield_tile_info);
1516};
1617
1718
trunk/src/mame/includes/quizpani.h
r17673r17674
1717   DECLARE_WRITE16_MEMBER(quizpani_bg_videoram_w);
1818   DECLARE_WRITE16_MEMBER(quizpani_txt_videoram_w);
1919   DECLARE_WRITE16_MEMBER(quizpani_tilesbank_w);
20   TILEMAP_MAPPER_MEMBER(bg_scan);
21   TILE_GET_INFO_MEMBER(bg_tile_info);
22   TILE_GET_INFO_MEMBER(txt_tile_info);
2023};
2124
2225
trunk/src/mame/includes/gomoku.h
r17673r17674
2222   DECLARE_WRITE8_MEMBER(gomoku_bgram_w);
2323   DECLARE_WRITE8_MEMBER(gomoku_flipscreen_w);
2424   DECLARE_WRITE8_MEMBER(gomoku_bg_dispsw_w);
25   TILE_GET_INFO_MEMBER(get_fg_tile_info);
2526};
2627
2728
trunk/src/mame/includes/firetrk.h
r17673r17674
8989   DECLARE_INPUT_CHANGED_MEMBER(service_mode_switch_changed);
9090   DECLARE_INPUT_CHANGED_MEMBER(firetrk_horn_changed);
9191   DECLARE_INPUT_CHANGED_MEMBER(gear_changed);
92   TILE_GET_INFO_MEMBER(firetrk_get_tile_info1);
93   TILE_GET_INFO_MEMBER(superbug_get_tile_info1);
94   TILE_GET_INFO_MEMBER(montecar_get_tile_info1);
95   TILE_GET_INFO_MEMBER(firetrk_get_tile_info2);
96   TILE_GET_INFO_MEMBER(superbug_get_tile_info2);
97   TILE_GET_INFO_MEMBER(montecar_get_tile_info2);
9298};
9399
94100
trunk/src/mame/includes/m57.h
r17673r17674
1717   int                  m_flipscreen;
1818   DECLARE_WRITE8_MEMBER(m57_videoram_w);
1919   DECLARE_WRITE8_MEMBER(m57_flipscreen_w);
20   TILE_GET_INFO_MEMBER(get_tile_info);
2021};
2122
2223/*----------- defined in video/m57.c -----------*/
trunk/src/mame/includes/mustache.h
r17673r17674
1515   DECLARE_WRITE8_MEMBER(mustache_video_control_w);
1616   DECLARE_WRITE8_MEMBER(mustache_scroll_w);
1717   DECLARE_DRIVER_INIT(mustache);
18   TILE_GET_INFO_MEMBER(get_bg_tile_info);
1819};
1920
2021
trunk/src/mame/includes/snookr10.h
r17673r17674
2222   DECLARE_WRITE8_MEMBER(output_port_1_w);
2323   DECLARE_WRITE8_MEMBER(snookr10_videoram_w);
2424   DECLARE_WRITE8_MEMBER(snookr10_colorram_w);
25   TILE_GET_INFO_MEMBER(get_bg_tile_info);
26   TILE_GET_INFO_MEMBER(apple10_get_bg_tile_info);
2527};
2628
2729
trunk/src/mame/includes/konamigx.h
r17673r17674
4444   DECLARE_WRITE32_MEMBER(konamigx_t4_psacmap_w);
4545   DECLARE_CUSTOM_INPUT_MEMBER(gx_rdport1_3_r);
4646   DECLARE_DRIVER_INIT(konamigx);
47   TILE_GET_INFO_MEMBER(get_gx_psac_tile_info);
48   TILE_GET_INFO_MEMBER(get_gx_psac3_tile_info);
49   TILE_GET_INFO_MEMBER(get_gx_psac3_alt_tile_info);
50   TILE_GET_INFO_MEMBER(get_gx_psac1a_tile_info);
51   TILE_GET_INFO_MEMBER(get_gx_psac1b_tile_info);
4752};
4853
4954
trunk/src/mame/includes/sprcros2.h
r17673r17674
2525   DECLARE_WRITE8_MEMBER(sprcros2_bgvideoram_w);
2626   DECLARE_WRITE8_MEMBER(sprcros2_bgscrollx_w);
2727   DECLARE_WRITE8_MEMBER(sprcros2_bgscrolly_w);
28   TILE_GET_INFO_MEMBER(get_sprcros2_bgtile_info);
29   TILE_GET_INFO_MEMBER(get_sprcros2_fgtile_info);
2830};
2931
3032
trunk/src/mame/includes/thunderj.h
r17673r17674
1818   DECLARE_READ16_MEMBER(thunderj_atarivc_r);
1919   DECLARE_WRITE16_MEMBER(thunderj_atarivc_w);
2020   DECLARE_DRIVER_INIT(thunderj);
21   TILE_GET_INFO_MEMBER(get_alpha_tile_info);
22   TILE_GET_INFO_MEMBER(get_playfield_tile_info);
23   TILE_GET_INFO_MEMBER(get_playfield2_tile_info);
2124};
2225
2326
trunk/src/mame/includes/ladybug.h
r17673r17674
6262   DECLARE_INPUT_CHANGED_MEMBER(right_coin_inserted);
6363   DECLARE_DRIVER_INIT(dorodon);
6464   DECLARE_DRIVER_INIT(redclash);
65   TILE_GET_INFO_MEMBER(get_bg_tile_info);
66   TILE_GET_INFO_MEMBER(get_grid_tile_info);
6567};
6668
6769
trunk/src/mame/includes/combatsc.h
r17673r17674
6666   DECLARE_WRITE8_MEMBER(combatsc_portA_w);
6767   DECLARE_WRITE8_MEMBER(combatscb_dac_w);
6868   DECLARE_DRIVER_INIT(combatsc);
69   TILE_GET_INFO_MEMBER(get_tile_info0);
70   TILE_GET_INFO_MEMBER(get_tile_info1);
71   TILE_GET_INFO_MEMBER(get_text_info);
72   TILE_GET_INFO_MEMBER(get_tile_info0_bootleg);
73   TILE_GET_INFO_MEMBER(get_tile_info1_bootleg);
74   TILE_GET_INFO_MEMBER(get_text_info_bootleg);
6975};
7076
7177
trunk/src/mame/includes/blueprnt.h
r17673r17674
3636   DECLARE_WRITE8_MEMBER(blueprnt_colorram_w);
3737   DECLARE_WRITE8_MEMBER(blueprnt_flipscreen_w);
3838   DECLARE_WRITE8_MEMBER(dipsw_w);
39   TILE_GET_INFO_MEMBER(get_bg_tile_info);
3940};
4041
4142
trunk/src/mame/includes/gotcha.h
r17673r17674
3535   DECLARE_WRITE16_MEMBER(gotcha_gfxbank_w);
3636   DECLARE_WRITE16_MEMBER(gotcha_scroll_w);
3737   DECLARE_WRITE16_MEMBER(gotcha_oki_bank_w);
38   TILEMAP_MAPPER_MEMBER(gotcha_tilemap_scan);
39   TILE_GET_INFO_MEMBER(fg_get_tile_info);
40   TILE_GET_INFO_MEMBER(bg_get_tile_info);
3841};
3942
4043
trunk/src/mame/includes/starshp1.h
r17673r17674
7575   DECLARE_CUSTOM_INPUT_MEMBER(collision_latch_r);
7676   DECLARE_WRITE8_MEMBER(starshp1_audio_w);
7777   DECLARE_WRITE8_MEMBER(starshp1_analog_out_w);
78   TILE_GET_INFO_MEMBER(get_tile_info);
7879};
7980
8081
trunk/src/mame/includes/bigstrkb.h
r17673r17674
2525   DECLARE_WRITE16_MEMBER(bsb_videoram_w);
2626   DECLARE_WRITE16_MEMBER(bsb_videoram2_w);
2727   DECLARE_WRITE16_MEMBER(bsb_videoram3_w);
28   TILEMAP_MAPPER_MEMBER(bsb_bg_scan);
29   TILE_GET_INFO_MEMBER(get_bsb_tile_info);
30   TILE_GET_INFO_MEMBER(get_bsb_tile2_info);
31   TILE_GET_INFO_MEMBER(get_bsb_tile3_info);
2832};
2933
3034
trunk/src/mame/includes/pandoras.h
r17673r17674
4545   DECLARE_WRITE8_MEMBER(pandoras_flipscreen_w);
4646   DECLARE_READ8_MEMBER(pandoras_portA_r);
4747   DECLARE_READ8_MEMBER(pandoras_portB_r);
48   TILE_GET_INFO_MEMBER(get_tile_info0);
4849};
4950
5051
trunk/src/mame/includes/gberet.h
r17673r17674
5050   DECLARE_WRITE8_MEMBER(gberet_sprite_bank_w);
5151   DECLARE_WRITE8_MEMBER(gberetb_scroll_w);
5252   DECLARE_DRIVER_INIT(mrgoemon);
53   TILE_GET_INFO_MEMBER(get_bg_tile_info);
5354};
5455
5556
trunk/src/mame/includes/stfight.h
r17673r17674
3737   DECLARE_WRITE8_MEMBER(stfight_vh_latch_w);
3838   DECLARE_DRIVER_INIT(stfight);
3939   DECLARE_DRIVER_INIT(empcity);
40   TILEMAP_MAPPER_MEMBER(fg_scan);
41   TILE_GET_INFO_MEMBER(get_fg_tile_info);
42   TILEMAP_MAPPER_MEMBER(bg_scan);
43   TILE_GET_INFO_MEMBER(get_bg_tile_info);
44   TILE_GET_INFO_MEMBER(get_tx_tile_info);
4045};
4146
4247
trunk/src/mame/includes/gottlieb.h
r17673r17674
295295   DECLARE_DRIVER_INIT(vidvince);
296296   DECLARE_DRIVER_INIT(ramtiles);
297297   DECLARE_DRIVER_INIT(stooges);
298   TILE_GET_INFO_MEMBER(get_bg_tile_info);
299   TILE_GET_INFO_MEMBER(get_screwloo_bg_tile_info);
298300};
299301
300302
trunk/src/mame/includes/ddragon.h
r17673r17674
8989   DECLARE_DRIVER_INIT(ddragon);
9090   DECLARE_DRIVER_INIT(ddragon6809);
9191   DECLARE_DRIVER_INIT(chinagat);
92   TILEMAP_MAPPER_MEMBER(background_scan);
93   TILE_GET_INFO_MEMBER(get_bg_tile_info);
94   TILE_GET_INFO_MEMBER(get_fg_tile_info);
95   TILE_GET_INFO_MEMBER(get_fg_16color_tile_info);
9296};
9397
9498
trunk/src/mame/includes/homedata.h
r17673r17674
8181   DECLARE_DRIVER_INIT(jogakuen);
8282   DECLARE_DRIVER_INIT(battlcry);
8383   DECLARE_DRIVER_INIT(mirderby);
84   TILE_GET_INFO_MEMBER(mrokumei_get_info0_0);
85   TILE_GET_INFO_MEMBER(mrokumei_get_info1_0);
86   TILE_GET_INFO_MEMBER(mrokumei_get_info0_1);
87   TILE_GET_INFO_MEMBER(mrokumei_get_info1_1);
88   TILE_GET_INFO_MEMBER(reikaids_get_info0_0);
89   TILE_GET_INFO_MEMBER(reikaids_get_info1_0);
90   TILE_GET_INFO_MEMBER(reikaids_get_info0_1);
91   TILE_GET_INFO_MEMBER(reikaids_get_info1_1);
92   TILE_GET_INFO_MEMBER(reikaids_get_info0_2);
93   TILE_GET_INFO_MEMBER(reikaids_get_info1_2);
94   TILE_GET_INFO_MEMBER(reikaids_get_info0_3);
95   TILE_GET_INFO_MEMBER(reikaids_get_info1_3);
96   TILE_GET_INFO_MEMBER(pteacher_get_info0_0);
97   TILE_GET_INFO_MEMBER(pteacher_get_info1_0);
98   TILE_GET_INFO_MEMBER(pteacher_get_info0_1);
99   TILE_GET_INFO_MEMBER(pteacher_get_info1_1);
100   TILE_GET_INFO_MEMBER(lemnangl_get_info0_0);
101   TILE_GET_INFO_MEMBER(lemnangl_get_info1_0);
102   TILE_GET_INFO_MEMBER(lemnangl_get_info0_1);
103   TILE_GET_INFO_MEMBER(lemnangl_get_info1_1);
104   TILE_GET_INFO_MEMBER(mirderby_get_info0_0);
105   TILE_GET_INFO_MEMBER(mirderby_get_info1_0);
106   TILE_GET_INFO_MEMBER(mirderby_get_info0_1);
107   TILE_GET_INFO_MEMBER(mirderby_get_info1_1);
84108};
85109
86110
trunk/src/mame/includes/xxmissio.h
r17673r17674
2424   DECLARE_READ8_MEMBER(xxmissio_bgram_r);
2525   DECLARE_WRITE8_MEMBER(xxmissio_paletteram_w);
2626   DECLARE_CUSTOM_INPUT_MEMBER(xxmissio_status_r);
27   TILE_GET_INFO_MEMBER(get_bg_tile_info);
28   TILE_GET_INFO_MEMBER(get_fg_tile_info);
2729};
2830
2931
trunk/src/mame/includes/mugsmash.h
r17673r17674
2626   DECLARE_WRITE16_MEMBER(mugsmash_videoram1_w);
2727   DECLARE_WRITE16_MEMBER(mugsmash_videoram2_w);
2828   DECLARE_WRITE16_MEMBER(mugsmash_reg_w);
29   TILE_GET_INFO_MEMBER(get_mugsmash_tile_info1);
30   TILE_GET_INFO_MEMBER(get_mugsmash_tile_info2);
2931};
3032
3133
trunk/src/mame/includes/hng64.h
r17673r17674
175175   void m_set_irq(UINT32 irq_vector);
176176   UINT32 m_irq_pending;
177177   int m_irq_level;
178   TILE_GET_INFO_MEMBER(get_hng64_tile0_8x8_info);
179   TILE_GET_INFO_MEMBER(get_hng64_tile0_16x16_info);
180   TILE_GET_INFO_MEMBER(get_hng64_tile1_8x8_info);
181   TILE_GET_INFO_MEMBER(get_hng64_tile1_16x16_info);
182   TILE_GET_INFO_MEMBER(get_hng64_tile2_8x8_info);
183   TILE_GET_INFO_MEMBER(get_hng64_tile2_16x16_info);
184   TILE_GET_INFO_MEMBER(get_hng64_tile3_8x8_info);
185   TILE_GET_INFO_MEMBER(get_hng64_tile3_16x16_info);
178186};
179187
180188
trunk/src/mame/includes/solomon.h
r17673r17674
2727   DECLARE_WRITE8_MEMBER(solomon_videoram2_w);
2828   DECLARE_WRITE8_MEMBER(solomon_colorram2_w);
2929   DECLARE_WRITE8_MEMBER(solomon_flipscreen_w);
30   TILE_GET_INFO_MEMBER(get_bg_tile_info);
31   TILE_GET_INFO_MEMBER(get_fg_tile_info);
3032};
3133
3234
trunk/src/mame/includes/macrossp.h
r17673r17674
6464   DECLARE_WRITE32_MEMBER(macrossp_text_videoram_w);
6565   DECLARE_DRIVER_INIT(quizmoon);
6666   DECLARE_DRIVER_INIT(macrossp);
67   TILE_GET_INFO_MEMBER(get_macrossp_scra_tile_info);
68   TILE_GET_INFO_MEMBER(get_macrossp_scrb_tile_info);
69   TILE_GET_INFO_MEMBER(get_macrossp_scrc_tile_info);
70   TILE_GET_INFO_MEMBER(get_macrossp_text_tile_info);
6771};
6872
6973/*----------- defined in video/macrossp.c -----------*/
trunk/src/mame/includes/gladiatr.h
r17673r17674
5858   DECLARE_READ8_MEMBER(f1_r);
5959   DECLARE_DRIVER_INIT(gladiatr);
6060   DECLARE_DRIVER_INIT(ppking);
61   TILE_GET_INFO_MEMBER(bg_get_tile_info);
62   TILE_GET_INFO_MEMBER(fg_get_tile_info);
6163};
6264
6365/*----------- defined in video/gladiatr.c -----------*/
trunk/src/mame/includes/taito_l.h
r17673r17674
104104   DECLARE_WRITE8_MEMBER(champwr_msm5205_volume_w);
105105   DECLARE_WRITE8_MEMBER(portA_w);
106106   DECLARE_DRIVER_INIT(plottinga);
107   TILE_GET_INFO_MEMBER(get_bg18_tile_info);
108   TILE_GET_INFO_MEMBER(get_bg19_tile_info);
109   TILE_GET_INFO_MEMBER(get_ch1a_tile_info);
107110};
108111
109112/*----------- defined in video/taito_l.c -----------*/
trunk/src/mame/includes/goindol.h
r17673r17674
4242   DECLARE_WRITE8_MEMBER(goindol_fg_videoram_w);
4343   DECLARE_WRITE8_MEMBER(goindol_bg_videoram_w);
4444   DECLARE_DRIVER_INIT(goindol);
45   TILE_GET_INFO_MEMBER(get_fg_tile_info);
46   TILE_GET_INFO_MEMBER(get_bg_tile_info);
4547};
4648
4749
trunk/src/mame/includes/gyruss.h
r17673r17674
4949   DECLARE_WRITE8_MEMBER(gyruss_filter0_w);
5050   DECLARE_WRITE8_MEMBER(gyruss_filter1_w);
5151   DECLARE_DRIVER_INIT(gyruss);
52   TILE_GET_INFO_MEMBER(gyruss_get_tile_info);
5253};
5354
5455
trunk/src/mame/includes/fastlane.h
r17673r17674
4343   DECLARE_WRITE8_MEMBER(fastlane_k1_k007232_w);
4444   DECLARE_READ8_MEMBER(fastlane_k2_k007232_r);
4545   DECLARE_WRITE8_MEMBER(fastlane_k2_k007232_w);
46   TILE_GET_INFO_MEMBER(get_tile_info0);
47   TILE_GET_INFO_MEMBER(get_tile_info1);
4648};
4749
4850
trunk/src/mame/includes/cabal.h
r17673r17674
3030   DECLARE_WRITE8_MEMBER(cabalbl_2_adpcm_w);
3131   DECLARE_DRIVER_INIT(cabal);
3232   DECLARE_DRIVER_INIT(cabalbl2);
33   TILE_GET_INFO_MEMBER(get_back_tile_info);
34   TILE_GET_INFO_MEMBER(get_text_tile_info);
3335};
3436
3537
trunk/src/mame/includes/suprloco.h
r17673r17674
1919   DECLARE_WRITE8_MEMBER(suprloco_control_w);
2020   DECLARE_READ8_MEMBER(suprloco_control_r);
2121   DECLARE_DRIVER_INIT(suprloco);
22   TILE_GET_INFO_MEMBER(get_tile_info);
2223};
2324
2425
trunk/src/mame/includes/m92.h
r17673r17674
7070   DECLARE_DRIVER_INIT(lethalth);
7171   DECLARE_DRIVER_INIT(m92);
7272   DECLARE_DRIVER_INIT(m92_bank);
73   TILE_GET_INFO_MEMBER(get_pf_tile_info);
7374};
7475
7576
trunk/src/mame/includes/m58.h
r17673r17674
2626   DECLARE_WRITE8_MEMBER(yard_scroll_panel_w);
2727   DECLARE_WRITE8_MEMBER(yard_flipscreen_w);
2828   DECLARE_DRIVER_INIT(yard85);
29   TILE_GET_INFO_MEMBER(yard_get_bg_tile_info);
30   TILEMAP_MAPPER_MEMBER(yard_tilemap_scan_rows);
2931};
3032
3133/*----------- defined in video/m58.c -----------*/
trunk/src/mame/includes/fcombat.h
r17673r17674
6161   DECLARE_WRITE8_MEMBER(fcombat_videoreg_w);
6262   DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
6363   DECLARE_DRIVER_INIT(fcombat);
64   TILE_GET_INFO_MEMBER(get_bg_tile_info);
6465};
6566
6667
trunk/src/mame/includes/thoop2.h
r17673r17674
1717   DECLARE_WRITE16_MEMBER(thoop2_coin_w);
1818   DECLARE_READ16_MEMBER(DS5002FP_R);
1919   DECLARE_WRITE16_MEMBER(thoop2_vram_w);
20   TILE_GET_INFO_MEMBER(get_tile_info_thoop2_screen0);
21   TILE_GET_INFO_MEMBER(get_tile_info_thoop2_screen1);
2022};
2123
2224
trunk/src/mame/includes/wwfwfest.h
r17673r17674
3838   DECLARE_CUSTOM_INPUT_MEMBER(dsw_3f_r);
3939   DECLARE_CUSTOM_INPUT_MEMBER(dsw_c0_r);
4040   DECLARE_WRITE8_MEMBER(oki_bankswitch_w);
41   TILE_GET_INFO_MEMBER(get_fg0_tile_info);
42   TILE_GET_INFO_MEMBER(get_bg0_tile_info);
43   TILE_GET_INFO_MEMBER(get_bg1_tile_info);
4144};
4245
4346
trunk/src/mame/includes/marineb.h
r17673r17674
3333   DECLARE_WRITE8_MEMBER(marineb_palette_bank_1_w);
3434   DECLARE_WRITE8_MEMBER(marineb_flipscreen_x_w);
3535   DECLARE_WRITE8_MEMBER(marineb_flipscreen_y_w);
36   TILE_GET_INFO_MEMBER(get_tile_info);
3637};
3738
3839
trunk/src/mame/includes/timeplt.h
r17673r17674
4343   DECLARE_READ8_MEMBER(timeplt_scanline_r);
4444   DECLARE_CUSTOM_INPUT_MEMBER(chkun_hopper_status_r);
4545   DECLARE_WRITE8_MEMBER(chkun_sound_w);
46   TILE_GET_INFO_MEMBER(get_tile_info);
47   TILE_GET_INFO_MEMBER(get_chkun_tile_info);
4648};
4749
4850
trunk/src/mame/includes/atarigx2.h
r17673r17674
4040   DECLARE_DRIVER_INIT(spclords);
4141   DECLARE_DRIVER_INIT(rrreveng);
4242   DECLARE_DRIVER_INIT(motofren);
43   TILE_GET_INFO_MEMBER(get_alpha_tile_info);
44   TILE_GET_INFO_MEMBER(get_playfield_tile_info);
45   TILEMAP_MAPPER_MEMBER(atarigx2_playfield_scan);
4346};
4447
4548
trunk/src/mame/includes/fuukifg2.h
r17673r17674
3636   DECLARE_WRITE16_MEMBER(fuuki16_vram_2_w);
3737   DECLARE_WRITE16_MEMBER(fuuki16_vram_3_w);
3838   DECLARE_WRITE8_MEMBER(fuuki16_oki_banking_w);
39   TILE_GET_INFO_MEMBER(get_tile_info_0);
40   TILE_GET_INFO_MEMBER(get_tile_info_1);
41   TILE_GET_INFO_MEMBER(get_tile_info_2);
42   TILE_GET_INFO_MEMBER(get_tile_info_3);
3943};
4044
4145
trunk/src/mame/includes/vulgus.h
r17673r17674
2121   DECLARE_WRITE8_MEMBER(vulgus_bgvideoram_w);
2222   DECLARE_WRITE8_MEMBER(vulgus_c804_w);
2323   DECLARE_WRITE8_MEMBER(vulgus_palette_bank_w);
24   TILE_GET_INFO_MEMBER(get_fg_tile_info);
25   TILE_GET_INFO_MEMBER(get_bg_tile_info);
2426};
2527
2628
trunk/src/mame/includes/sderby.h
r17673r17674
2929   DECLARE_WRITE16_MEMBER(sderby_md_videoram_w);
3030   DECLARE_WRITE16_MEMBER(sderby_fg_videoram_w);
3131   DECLARE_WRITE16_MEMBER(sderby_scroll_w);
32   TILE_GET_INFO_MEMBER(get_sderby_tile_info);
33   TILE_GET_INFO_MEMBER(get_sderby_md_tile_info);
34   TILE_GET_INFO_MEMBER(get_sderby_fg_tile_info);
3235};
3336
3437
trunk/src/mame/includes/circus.h
r17673r17674
3232   DECLARE_DRIVER_INIT(circus);
3333   DECLARE_DRIVER_INIT(robotbwl);
3434   DECLARE_DRIVER_INIT(crash);
35   TILE_GET_INFO_MEMBER(get_bg_tile_info);
3536};
3637
3738
trunk/src/mame/includes/zac2650.h
r17673r17674
1818   DECLARE_READ8_MEMBER(zac_s2636_r);
1919   DECLARE_WRITE8_MEMBER(zac_s2636_w);
2020   DECLARE_READ8_MEMBER(tinvader_port_0_r);
21   TILE_GET_INFO_MEMBER(get_bg_tile_info);
2122};
2223
2324
trunk/src/mame/includes/vastar.h
r17673r17674
4141   DECLARE_WRITE8_MEMBER(vastar_bg2videoram_w);
4242   DECLARE_READ8_MEMBER(vastar_bg1videoram_r);
4343   DECLARE_READ8_MEMBER(vastar_bg2videoram_r);
44   TILE_GET_INFO_MEMBER(get_fg_tile_info);
45   TILE_GET_INFO_MEMBER(get_bg1_tile_info);
46   TILE_GET_INFO_MEMBER(get_bg2_tile_info);
4447};
4548
4649
trunk/src/mame/includes/taotaido.h
r17673r17674
2727   DECLARE_WRITE16_MEMBER(taotaido_sprite_character_bank_select_w);
2828   DECLARE_WRITE16_MEMBER(taotaido_tileregs_w);
2929   DECLARE_WRITE16_MEMBER(taotaido_bgvideoram_w);
30   TILE_GET_INFO_MEMBER(taotaido_bg_tile_info);
31   TILEMAP_MAPPER_MEMBER(taotaido_tilemap_scan_rows);
3032};
3133
3234
trunk/src/mame/includes/relief.h
r17673r17674
2121   DECLARE_WRITE16_MEMBER(audio_control_w);
2222   DECLARE_WRITE16_MEMBER(audio_volume_w);
2323   DECLARE_DRIVER_INIT(relief);
24   TILE_GET_INFO_MEMBER(get_playfield_tile_info);
25   TILE_GET_INFO_MEMBER(get_playfield2_tile_info);
2426};
2527
2628
trunk/src/mame/includes/taito_f3.h
r17673r17674
258258   DECLARE_DRIVER_INIT(cleopatr);
259259   DECLARE_DRIVER_INIT(scfinals);
260260   DECLARE_DRIVER_INIT(pbobbl2x);
261   TILE_GET_INFO_MEMBER(get_tile_info1);
262   TILE_GET_INFO_MEMBER(get_tile_info2);
263   TILE_GET_INFO_MEMBER(get_tile_info3);
264   TILE_GET_INFO_MEMBER(get_tile_info4);
265   TILE_GET_INFO_MEMBER(get_tile_info5);
266   TILE_GET_INFO_MEMBER(get_tile_info6);
267   TILE_GET_INFO_MEMBER(get_tile_info7);
268   TILE_GET_INFO_MEMBER(get_tile_info8);
269   TILE_GET_INFO_MEMBER(get_tile_info_vram);
270   TILE_GET_INFO_MEMBER(get_tile_info_pixel);
261271};
262272
263273
trunk/src/mame/includes/gaelco2.h
r17673r17674
4343   DECLARE_DRIVER_INIT(snowboar);
4444   DECLARE_DRIVER_INIT(alighunt);
4545   DECLARE_DRIVER_INIT(bang);
46   TILE_GET_INFO_MEMBER(get_tile_info_gaelco2_screen0);
47   TILE_GET_INFO_MEMBER(get_tile_info_gaelco2_screen1);
48   TILE_GET_INFO_MEMBER(get_tile_info_gaelco2_screen0_dual);
49   TILE_GET_INFO_MEMBER(get_tile_info_gaelco2_screen1_dual);
4650};
4751
4852
trunk/src/mame/includes/homerun.h
r17673r17674
3232   DECLARE_WRITE8_MEMBER(pa_w);
3333   DECLARE_WRITE8_MEMBER(pb_w);
3434   DECLARE_WRITE8_MEMBER(pc_w);
35   TILE_GET_INFO_MEMBER(get_homerun_tile_info);
3536};
3637
3738
trunk/src/mame/includes/baraduke.h
r17673r17674
3232   DECLARE_READ8_MEMBER(baraduke_spriteram_r);
3333   DECLARE_WRITE8_MEMBER(baraduke_spriteram_w);
3434   DECLARE_DRIVER_INIT(baraduke);
35   TILEMAP_MAPPER_MEMBER(tx_tilemap_scan);
36   TILE_GET_INFO_MEMBER(tx_get_tile_info);
37   TILE_GET_INFO_MEMBER(get_tile_info0);
38   TILE_GET_INFO_MEMBER(get_tile_info1);
3539};
3640
3741
trunk/src/mame/includes/champbas.h
r17673r17674
5151   DECLARE_WRITE8_MEMBER(champbas_dac2_w);
5252   DECLARE_DRIVER_INIT(exctsccr);
5353   DECLARE_DRIVER_INIT(champbas);
54   TILE_GET_INFO_MEMBER(champbas_get_bg_tile_info);
55   TILE_GET_INFO_MEMBER(exctsccr_get_bg_tile_info);
5456};
5557
5658
trunk/src/mame/includes/ssozumo.h
r17673r17674
3131   DECLARE_WRITE8_MEMBER(ssozumo_scroll_w);
3232   DECLARE_WRITE8_MEMBER(ssozumo_flipscreen_w);
3333   DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
34   TILE_GET_INFO_MEMBER(get_bg_tile_info);
35   TILE_GET_INFO_MEMBER(get_fg_tile_info);
3436};
3537
3638
trunk/src/mame/includes/mcr.h
r17673r17674
7878   DECLARE_DRIVER_INIT(nflfoot);
7979   DECLARE_DRIVER_INIT(journey);
8080   DECLARE_DRIVER_INIT(solarfox);
81   TILE_GET_INFO_MEMBER(mcr_90009_get_tile_info);
82   TILE_GET_INFO_MEMBER(mcr_90010_get_tile_info);
83   TILE_GET_INFO_MEMBER(mcr_91490_get_tile_info);
8184};
8285
8386
trunk/src/mame/includes/m107.h
r17673r17674
4747   DECLARE_DRIVER_INIT(firebarr);
4848   DECLARE_DRIVER_INIT(dsoccr94);
4949   DECLARE_DRIVER_INIT(wpksoc);
50   TILE_GET_INFO_MEMBER(get_pf_tile_info);
5051};
5152
5253
trunk/src/mame/includes/twin16.h
r17673r17674
5757   DECLARE_DRIVER_INIT(fround);
5858   DECLARE_DRIVER_INIT(twin16);
5959   DECLARE_DRIVER_INIT(cuebrickj);
60   TILE_GET_INFO_MEMBER(get_text_tile_info);
6061};
6162
6263
trunk/src/mame/includes/arkanoid.h
r17673r17674
7373   DECLARE_DRIVER_INIT(arkangc2);
7474   DECLARE_DRIVER_INIT(arkbloc2);
7575   DECLARE_DRIVER_INIT(arkangc);
76   TILE_GET_INFO_MEMBER(get_bg_tile_info);
7677};
7778
7879
trunk/src/mame/includes/megasys1.h
r17673r17674
102102   DECLARE_DRIVER_INIT(rodland);
103103   DECLARE_DRIVER_INIT(edfbl);
104104   DECLARE_DRIVER_INIT(stdragona);
105   TILEMAP_MAPPER_MEMBER(megasys1_scan_8x8);
106   TILEMAP_MAPPER_MEMBER(megasys1_scan_16x16);
107   TILE_GET_INFO_MEMBER(megasys1_get_scroll_tile_info_8x8);
108   TILE_GET_INFO_MEMBER(megasys1_get_scroll_tile_info_16x16);
105109};
106110
107111
trunk/src/mame/includes/crshrace.h
r17673r17674
4545   DECLARE_CUSTOM_INPUT_MEMBER(country_sndpending_r);
4646   DECLARE_DRIVER_INIT(crshrace2);
4747   DECLARE_DRIVER_INIT(crshrace);
48   TILE_GET_INFO_MEMBER(get_tile_info1);
49   TILE_GET_INFO_MEMBER(get_tile_info2);
4850};
4951
5052/*----------- defined in video/crshrace.c -----------*/
trunk/src/mame/includes/airbustr.h
r17673r17674
6161   DECLARE_WRITE8_MEMBER(airbustr_colorram2_w);
6262   DECLARE_WRITE8_MEMBER(airbustr_scrollregs_w);
6363   DECLARE_DRIVER_INIT(airbustr);
64   TILE_GET_INFO_MEMBER(get_fg_tile_info);
65   TILE_GET_INFO_MEMBER(get_bg_tile_info);
6466};
6567
6668
trunk/src/mame/includes/pacman.h
r17673r17674
117117   DECLARE_DRIVER_INIT(8bpm);
118118   DECLARE_DRIVER_INIT(porky);
119119   DECLARE_DRIVER_INIT(mspacman);
120   TILEMAP_MAPPER_MEMBER(pacman_scan_rows);
121   TILE_GET_INFO_MEMBER(pacman_get_tile_info);
122   TILE_GET_INFO_MEMBER(s2650_get_tile_info);
123   TILEMAP_MAPPER_MEMBER(jrpacman_scan_rows);
124   TILE_GET_INFO_MEMBER(jrpacman_get_tile_info);
120125};
121126
122127
trunk/src/mame/includes/clshroad.h
r17673r17674
2020   DECLARE_WRITE8_MEMBER(clshroad_vram_0_w);
2121   DECLARE_WRITE8_MEMBER(clshroad_vram_1_w);
2222   DECLARE_DRIVER_INIT(firebatl);
23   TILE_GET_INFO_MEMBER(get_tile_info_0a);
24   TILE_GET_INFO_MEMBER(get_tile_info_0b);
25   TILEMAP_MAPPER_MEMBER(tilemap_scan_rows_extra);
26   TILE_GET_INFO_MEMBER(get_tile_info_fb1);
27   TILE_GET_INFO_MEMBER(get_tile_info_1);
2328};
2429
2530
trunk/src/mame/includes/bwing.h
r17673r17674
6767   DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
6868   DECLARE_INPUT_CHANGED_MEMBER(tilt_pressed);
6969   DECLARE_DRIVER_INIT(bwing);
70   TILE_GET_INFO_MEMBER(get_fgtileinfo);
71   TILE_GET_INFO_MEMBER(get_bgtileinfo);
72   TILE_GET_INFO_MEMBER(get_charinfo);
73   TILEMAP_MAPPER_MEMBER(bwing_scan_cols);
7074};
7175
7276
trunk/src/mame/includes/sf.h
r17673r17674
4141   DECLARE_WRITE16_MEMBER(sf_gfxctrl_w);
4242   DECLARE_WRITE8_MEMBER(msm1_5205_w);
4343   DECLARE_WRITE8_MEMBER(msm2_5205_w);
44   TILE_GET_INFO_MEMBER(get_bg_tile_info);
45   TILE_GET_INFO_MEMBER(get_fg_tile_info);
46   TILE_GET_INFO_MEMBER(get_tx_tile_info);
4447};
4548
4649
trunk/src/mame/includes/cave.h
r17673r17674
181181   DECLARE_DRIVER_INIT(sailormn);
182182   DECLARE_DRIVER_INIT(dfeveron);
183183   DECLARE_DRIVER_INIT(metmqstr);
184   TILE_GET_INFO_MEMBER(sailormn_get_tile_info_2);
185   TILE_GET_INFO_MEMBER(get_tile_info_0);
186   TILE_GET_INFO_MEMBER(get_tile_info_1);
187   TILE_GET_INFO_MEMBER(get_tile_info_2);
188   TILE_GET_INFO_MEMBER(get_tile_info_3);
184189};
185190
186191/*----------- defined in video/cave.c -----------*/
trunk/src/mame/includes/dooyong.h
r17673r17674
6363   DECLARE_WRITE8_MEMBER(flytiger_ctrl_w);
6464   DECLARE_WRITE16_MEMBER(rshark_ctrl_w);
6565   DECLARE_READ8_MEMBER(unk_r);
66   TILE_GET_INFO_MEMBER(get_bg_tile_info);
67   TILE_GET_INFO_MEMBER(get_bg2_tile_info);
68   TILE_GET_INFO_MEMBER(get_fg_tile_info);
69   TILE_GET_INFO_MEMBER(get_fg2_tile_info);
70   TILE_GET_INFO_MEMBER(flytiger_get_fg_tile_info);
71   TILE_GET_INFO_MEMBER(get_tx_tile_info);
6672};
6773
6874
trunk/src/mame/includes/williams.h
r17673r17674
9090   DECLARE_DRIVER_INIT(tshoot);
9191   DECLARE_DRIVER_INIT(robotron);
9292   DECLARE_DRIVER_INIT(bubbles);
93   TILE_GET_INFO_MEMBER(get_tile_info);
9394};
9495
9596
trunk/src/mame/includes/brkthru.h
r17673r17674
3939   DECLARE_WRITE8_MEMBER(brkthru_1800_w);
4040   DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
4141   DECLARE_DRIVER_INIT(brkthru);
42   TILE_GET_INFO_MEMBER(get_bg_tile_info);
43   TILE_GET_INFO_MEMBER(get_fg_tile_info);
4244};
4345
4446
trunk/src/mame/includes/fuukifg3.h
r17673r17674
5454   DECLARE_WRITE32_MEMBER(fuuki32_vram_1_w);
5555   DECLARE_WRITE32_MEMBER(fuuki32_vram_2_w);
5656   DECLARE_WRITE32_MEMBER(fuuki32_vram_3_w);
57   TILE_GET_INFO_MEMBER(get_tile_info_0);
58   TILE_GET_INFO_MEMBER(get_tile_info_1);
59   TILE_GET_INFO_MEMBER(get_tile_info_2);
60   TILE_GET_INFO_MEMBER(get_tile_info_3);
5761};
5862
5963
trunk/src/mame/includes/dec8.h
r17673r17674
100100   DECLARE_DRIVER_INIT(lastmisn);
101101   DECLARE_DRIVER_INIT(gondo);
102102   DECLARE_DRIVER_INIT(oscar);
103   TILE_GET_INFO_MEMBER(get_cobracom_fix_tile_info);
104   TILE_GET_INFO_MEMBER(get_ghostb_fix_tile_info);
105   TILE_GET_INFO_MEMBER(get_oscar_fix_tile_info);
106   TILEMAP_MAPPER_MEMBER(lastmisn_scan_rows);
107   TILE_GET_INFO_MEMBER(get_lastmisn_tile_info);
108   TILE_GET_INFO_MEMBER(get_lastmisn_fix_tile_info);
109   TILE_GET_INFO_MEMBER(get_srdarwin_fix_tile_info);
110   TILE_GET_INFO_MEMBER(get_srdarwin_tile_info);
111   TILE_GET_INFO_MEMBER(get_gondo_fix_tile_info);
112   TILE_GET_INFO_MEMBER(get_gondo_tile_info);
103113};
104114
105115/*----------- defined in video/dec8.c -----------*/
trunk/src/mame/includes/tbowl.h
r17673r17674
4545   DECLARE_WRITE8_MEMBER(tbowl_bg2xscroll_hi);
4646   DECLARE_WRITE8_MEMBER(tbowl_bg2yscroll_lo);
4747   DECLARE_WRITE8_MEMBER(tbowl_bg2yscroll_hi);
48   TILE_GET_INFO_MEMBER(get_tx_tile_info);
49   TILE_GET_INFO_MEMBER(get_bg_tile_info);
50   TILE_GET_INFO_MEMBER(get_bg2_tile_info);
4851};
4952
5053
trunk/src/mame/includes/battlane.h
r17673r17674
3333   DECLARE_WRITE8_MEMBER(battlane_spriteram_w);
3434   DECLARE_WRITE8_MEMBER(battlane_bitmap_w);
3535   DECLARE_WRITE8_MEMBER(battlane_video_ctrl_w);
36   TILE_GET_INFO_MEMBER(get_tile_info_bg);
37   TILEMAP_MAPPER_MEMBER(battlane_tilemap_scan_rows_2x2);
3638};
3739
3840
trunk/src/mame/includes/atarigt.h
r17673r17674
6565   DECLARE_DRIVER_INIT(primrage20);
6666   DECLARE_DRIVER_INIT(primrage);
6767   DECLARE_DRIVER_INIT(tmek);
68   TILE_GET_INFO_MEMBER(get_alpha_tile_info);
69   TILE_GET_INFO_MEMBER(get_playfield_tile_info);
70   TILEMAP_MAPPER_MEMBER(atarigt_playfield_scan);
6871};
6972
7073
trunk/src/mame/includes/thepit.h
r17673r17674
3333   DECLARE_WRITE8_MEMBER(intrepid_graphics_bank_w);
3434   DECLARE_READ8_MEMBER(thepit_input_port_0_r);
3535   DECLARE_DRIVER_INIT(rtriv);
36   TILE_GET_INFO_MEMBER(solid_get_tile_info);
37   TILE_GET_INFO_MEMBER(get_tile_info);
3638};
3739
3840
trunk/src/mame/includes/rpunch.h
r17673r17674
3535   DECLARE_WRITE8_MEMBER(upd_data_w);
3636   DECLARE_DRIVER_INIT(rabiolep);
3737   DECLARE_DRIVER_INIT(svolley);
38   TILE_GET_INFO_MEMBER(get_bg0_tile_info);
39   TILE_GET_INFO_MEMBER(get_bg1_tile_info);
3840};
3941
4042
trunk/src/mame/includes/triplhnt.h
r17673r17674
4747   DECLARE_READ8_MEMBER(triplhnt_misc_r);
4848   DECLARE_READ8_MEMBER(triplhnt_da_latch_r);
4949   DECLARE_DRIVER_INIT(triplhnt);
50   TILE_GET_INFO_MEMBER(get_tile_info);
5051};
5152
5253
trunk/src/mame/includes/pooyan.h
r17673r17674
2727   DECLARE_WRITE8_MEMBER(pooyan_videoram_w);
2828   DECLARE_WRITE8_MEMBER(pooyan_colorram_w);
2929   DECLARE_WRITE8_MEMBER(pooyan_flipscreen_w);
30   TILE_GET_INFO_MEMBER(get_bg_tile_info);
3031};
3132
3233
trunk/src/mame/includes/sidepckt.h
r17673r17674
2525   DECLARE_WRITE8_MEMBER(sidepckt_flipscreen_w);
2626   DECLARE_DRIVER_INIT(sidepckt);
2727   DECLARE_DRIVER_INIT(sidepctj);
28   TILE_GET_INFO_MEMBER(get_tile_info);
2829};
2930
3031
trunk/src/mame/includes/pirates.h
r17673r17674
2525   DECLARE_CUSTOM_INPUT_MEMBER(prot_r);
2626   DECLARE_DRIVER_INIT(pirates);
2727   DECLARE_DRIVER_INIT(genix);
28   TILE_GET_INFO_MEMBER(get_tx_tile_info);
29   TILE_GET_INFO_MEMBER(get_fg_tile_info);
30   TILE_GET_INFO_MEMBER(get_bg_tile_info);
2831};
2932
3033
trunk/src/mame/includes/tankbatt.h
r17673r17674
2626   DECLARE_WRITE8_MEMBER(tankbatt_coin_lockout_w);
2727   DECLARE_WRITE8_MEMBER(tankbatt_videoram_w);
2828   DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
29   TILE_GET_INFO_MEMBER(get_bg_tile_info);
2930};
3031
3132
trunk/src/mame/includes/wrally.h
r17673r17674
2121   DECLARE_WRITE16_MEMBER(OKIM6295_bankswitch_w);
2222   DECLARE_WRITE16_MEMBER(wrally_coin_counter_w);
2323   DECLARE_WRITE16_MEMBER(wrally_coin_lockout_w);
24   TILE_GET_INFO_MEMBER(get_tile_info_wrally_screen0);
25   TILE_GET_INFO_MEMBER(get_tile_info_wrally_screen1);
2426};
2527
2628
trunk/src/mame/includes/mosaic.h
r17673r17674
2929   DECLARE_READ8_MEMBER(gfire2_protection_r);
3030   DECLARE_WRITE8_MEMBER(mosaic_fgvideoram_w);
3131   DECLARE_WRITE8_MEMBER(mosaic_bgvideoram_w);
32   TILE_GET_INFO_MEMBER(get_fg_tile_info);
33   TILE_GET_INFO_MEMBER(get_bg_tile_info);
3234};
3335
3436
trunk/src/mame/includes/crospang.h
r17673r17674
3939   DECLARE_WRITE16_MEMBER(crospang_fg_videoram_w);
4040   DECLARE_WRITE16_MEMBER(crospang_bg_videoram_w);
4141   DECLARE_DRIVER_INIT(crospang);
42   TILE_GET_INFO_MEMBER(get_bg_tile_info);
43   TILE_GET_INFO_MEMBER(get_fg_tile_info);
4244};
4345
4446
trunk/src/mame/includes/darkmist.h
r17673r17674
2222
2323   DECLARE_WRITE8_MEMBER(darkmist_hw_w);
2424   DECLARE_DRIVER_INIT(darkmist);
25   TILE_GET_INFO_MEMBER(get_bgtile_info);
26   TILE_GET_INFO_MEMBER(get_fgtile_info);
27   TILE_GET_INFO_MEMBER(get_txttile_info);
2528};
2629
2730
trunk/src/mame/video/targeth.c
r17673r17674
3232      1  | xxxxxxxx x------- | not used?
3333*/
3434
35static TILE_GET_INFO( get_tile_info_targeth_screen0 )
35TILE_GET_INFO_MEMBER(targeth_state::get_tile_info_targeth_screen0)
3636{
37   targeth_state *state = machine.driver_data<targeth_state>();
38   int data = state->m_videoram[tile_index << 1];
39   int data2 = state->m_videoram[(tile_index << 1) + 1];
37   int data = m_videoram[tile_index << 1];
38   int data2 = m_videoram[(tile_index << 1) + 1];
4039   int code = data & 0x3fff;
4140
42   SET_TILE_INFO(0, code, data2 & 0x1f, TILE_FLIPXY((data2 >> 5) & 0x03));
41   SET_TILE_INFO_MEMBER(0, code, data2 & 0x1f, TILE_FLIPXY((data2 >> 5) & 0x03));
4342}
4443
45static TILE_GET_INFO( get_tile_info_targeth_screen1 )
44TILE_GET_INFO_MEMBER(targeth_state::get_tile_info_targeth_screen1)
4645{
47   targeth_state *state = machine.driver_data<targeth_state>();
48   int data = state->m_videoram[(0x2000/2) + (tile_index << 1)];
49   int data2 = state->m_videoram[(0x2000/2) + (tile_index << 1) + 1];
46   int data = m_videoram[(0x2000/2) + (tile_index << 1)];
47   int data2 = m_videoram[(0x2000/2) + (tile_index << 1) + 1];
5048   int code = data & 0x3fff;
5149
52   SET_TILE_INFO(0, code, data2 & 0x1f, TILE_FLIPXY((data2 >> 5) & 0x03));
50   SET_TILE_INFO_MEMBER(0, code, data2 & 0x1f, TILE_FLIPXY((data2 >> 5) & 0x03));
5351}
5452
5553/***************************************************************************
r17673r17674
7472VIDEO_START( targeth )
7573{
7674   targeth_state *state = machine.driver_data<targeth_state>();
77   state->m_pant[0] = tilemap_create(machine, get_tile_info_targeth_screen0,TILEMAP_SCAN_ROWS,16,16,64,32);
78   state->m_pant[1] = tilemap_create(machine, get_tile_info_targeth_screen1,TILEMAP_SCAN_ROWS,16,16,64,32);
75   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);
76   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);
7977
8078   state->m_pant[0]->set_transparent_pen(0);
8179}
trunk/src/mame/video/sbugger.c
r17673r17674
33#include "emu.h"
44#include "includes/sbugger.h"
55
6static TILE_GET_INFO( get_sbugger_tile_info )
6TILE_GET_INFO_MEMBER(sbugger_state::get_sbugger_tile_info)
77{
8   sbugger_state *state = machine.driver_data<sbugger_state>();
98   int tileno, color;
109
11   tileno = state->m_videoram[tile_index];
12   color = state->m_videoram_attr[tile_index];
10   tileno = m_videoram[tile_index];
11   color = m_videoram_attr[tile_index];
1312
14   SET_TILE_INFO(0,tileno,color,0);
13   SET_TILE_INFO_MEMBER(0,tileno,color,0);
1514}
1615
1716WRITE8_MEMBER(sbugger_state::sbugger_videoram_w)
r17673r17674
3130VIDEO_START(sbugger)
3231{
3332   sbugger_state *state = machine.driver_data<sbugger_state>();
34   state->m_tilemap = tilemap_create(machine, get_sbugger_tile_info, TILEMAP_SCAN_ROWS, 8, 16, 64, 16);
33   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);
3534}
3635
3736SCREEN_UPDATE_IND16(sbugger)
trunk/src/mame/video/nycaptor.c
r17673r17674
3737   return m_spriteram[offset];
3838}
3939
40static TILE_GET_INFO( get_tile_info )
40TILE_GET_INFO_MEMBER(nycaptor_state::get_tile_info)
4141{
42   nycaptor_state *state = machine.driver_data<nycaptor_state>();
43   int pal = state->m_videoram[tile_index * 2 + 1] & 0x0f;
44   tileinfo.category = (state->m_videoram[tile_index * 2 + 1] & 0x30) >> 4;
42   int pal = m_videoram[tile_index * 2 + 1] & 0x0f;
43   tileinfo.category = (m_videoram[tile_index * 2 + 1] & 0x30) >> 4;
4544
4645   tileinfo.group = 0;
4746
48   if ((!nycaptor_spot(machine)) && (pal == 6))
47   if ((!nycaptor_spot(machine())) && (pal == 6))
4948      tileinfo.group = 1;
5049
51   if (((nycaptor_spot(machine) == 3) && (pal == 8)) || ((nycaptor_spot(machine) == 1) && (pal == 0xc)))
50   if (((nycaptor_spot(machine()) == 3) && (pal == 8)) || ((nycaptor_spot(machine()) == 1) && (pal == 0xc)))
5251      tileinfo.group = 2;
5352
54   if ((nycaptor_spot(machine) == 1) && (tileinfo.category == 2))
53   if ((nycaptor_spot(machine()) == 1) && (tileinfo.category == 2))
5554      tileinfo.group = 3;
5655
5756#if NYCAPTOR_DEBUG
58   if (state->m_mask & (1 << tileinfo.category))
57   if (m_mask & (1 << tileinfo.category))
5958   {
60      if (nycaptor_spot(machine))
59      if (nycaptor_spot(machine()))
6160         pal = 0xe;
6261      else
6362         pal = 4;
6463   }
6564#endif
6665
67   SET_TILE_INFO(
66   SET_TILE_INFO_MEMBER(
6867         0,
69         state->m_videoram[tile_index * 2] + ((state->m_videoram[tile_index * 2 + 1] & 0xc0) << 2) + 0x400 * state->m_char_bank,
68         m_videoram[tile_index * 2] + ((m_videoram[tile_index * 2 + 1] & 0xc0) << 2) + 0x400 * m_char_bank,
7069         pal, 0
7170         );
7271}
r17673r17674
7776   nycaptor_state *state = machine.driver_data<nycaptor_state>();
7877
7978   state->m_spriteram = auto_alloc_array(machine, UINT8, 160);
80   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32 );
79   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 );
8180
8281   state->m_bg_tilemap->set_transmask(0, 0xf800, 0x7ff); //split 0
8382   state->m_bg_tilemap->set_transmask(1, 0xfe00, 0x01ff);//split 1
trunk/src/mame/video/mitchell.c
r17673r17674
1414
1515***************************************************************************/
1616
17static TILE_GET_INFO( get_tile_info )
17TILE_GET_INFO_MEMBER(mitchell_state::get_tile_info)
1818{
19   mitchell_state *state = machine.driver_data<mitchell_state>();
20   UINT8 attr = state->m_colorram[tile_index];
21   int code = state->m_videoram[2 * tile_index] + (state->m_videoram[2 * tile_index + 1] << 8);
22   SET_TILE_INFO(
19   UINT8 attr = m_colorram[tile_index];
20   int code = m_videoram[2 * tile_index] + (m_videoram[2 * tile_index + 1] << 8);
21   SET_TILE_INFO_MEMBER(
2322         0,
2423         code,
2524         attr & 0x7f,
r17673r17674
3837{
3938   mitchell_state *state = machine.driver_data<mitchell_state>();
4039
41   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
40   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);
4241   state->m_bg_tilemap->set_transparent_pen(15);
4342
4443   /* OBJ RAM */
trunk/src/mame/video/blktiger.c
r17673r17674
1212
1313***************************************************************************/
1414
15static TILEMAP_MAPPER( bg8x4_scan )
15TILEMAP_MAPPER_MEMBER(blktiger_state::bg8x4_scan)
1616{
1717   /* logical (col,row) -> memory offset */
1818   return (col & 0x0f) + ((row & 0x0f) << 4) + ((col & 0x70) << 4) + ((row & 0x30) << 7);
1919}
2020
21static TILEMAP_MAPPER( bg4x8_scan )
21TILEMAP_MAPPER_MEMBER(blktiger_state::bg4x8_scan)
2222{
2323   /* logical (col,row) -> memory offset */
2424   return (col & 0x0f) + ((row & 0x0f) << 4) + ((col & 0x30) << 4) + ((row & 0x70) << 6);
2525}
2626
27static TILE_GET_INFO( get_bg_tile_info )
27TILE_GET_INFO_MEMBER(blktiger_state::get_bg_tile_info)
2828{
29   blktiger_state *state = machine.driver_data<blktiger_state>();
3029   /* the tile priority table is a guess compiled by looking at the game. It
3130       was not derived from a PROM so it could be wrong. */
3231   static const UINT8 split_table[16] =
r17673r17674
3635      0,0,0,0,
3736      0,0,0,0
3837   };
39   UINT8 attr = state->m_scroll_ram[2 * tile_index + 1];
38   UINT8 attr = m_scroll_ram[2 * tile_index + 1];
4039   int color = (attr & 0x78) >> 3;
41   SET_TILE_INFO(
40   SET_TILE_INFO_MEMBER(
4241         1,
43         state->m_scroll_ram[2 * tile_index] + ((attr & 0x07) << 8),
42         m_scroll_ram[2 * tile_index] + ((attr & 0x07) << 8),
4443         color,
4544         (attr & 0x80) ? TILE_FLIPX : 0);
4645   tileinfo.group = split_table[color];
4746}
4847
49static TILE_GET_INFO( get_tx_tile_info )
48TILE_GET_INFO_MEMBER(blktiger_state::get_tx_tile_info)
5049{
51   blktiger_state *state = machine.driver_data<blktiger_state>();
52   UINT8 attr = state->m_txvideoram[tile_index + 0x400];
53   SET_TILE_INFO(
50   UINT8 attr = m_txvideoram[tile_index + 0x400];
51   SET_TILE_INFO_MEMBER(
5452         0,
55         state->m_txvideoram[tile_index] + ((attr & 0xe0) << 3),
53         m_txvideoram[tile_index] + ((attr & 0xe0) << 3),
5654         attr & 0x1f,
5755         0);
5856}
r17673r17674
7573
7674   state->m_scroll_ram = auto_alloc_array(machine, UINT8, BGRAM_BANK_SIZE * BGRAM_BANKS);
7775
78   state->m_tx_tilemap =    tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
79   state->m_bg_tilemap8x4 = tilemap_create(machine, get_bg_tile_info, bg8x4_scan, 16, 16, 128, 64);
80   state->m_bg_tilemap4x8 = tilemap_create(machine, get_bg_tile_info, bg4x8_scan, 16, 16, 64, 128);
76   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);
77   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);
78   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);
8179
8280   state->m_tx_tilemap->set_transparent_pen(3);
8381
trunk/src/mame/video/dynduke.c
r17673r17674
3333   m_tx_layer->mark_tile_dirty(offset);
3434}
3535
36static TILE_GET_INFO( get_bg_tile_info )
36TILE_GET_INFO_MEMBER(dynduke_state::get_bg_tile_info)
3737{
38   dynduke_state *state = machine.driver_data<dynduke_state>();
39   int tile=state->m_back_data[tile_index];
38   int tile=m_back_data[tile_index];
4039   int color=tile >> 12;
4140
4241   tile=tile&0xfff;
4342
44   SET_TILE_INFO(
43   SET_TILE_INFO_MEMBER(
4544         1,
46         tile+state->m_back_bankbase,
45         tile+m_back_bankbase,
4746         color,
4847         0);
4948}
5049
51static TILE_GET_INFO( get_fg_tile_info )
50TILE_GET_INFO_MEMBER(dynduke_state::get_fg_tile_info)
5251{
53   dynduke_state *state = machine.driver_data<dynduke_state>();
54   int tile=state->m_fore_data[tile_index];
52   int tile=m_fore_data[tile_index];
5553   int color=tile >> 12;
5654
5755   tile=tile&0xfff;
5856
59   SET_TILE_INFO(
57   SET_TILE_INFO_MEMBER(
6058         2,
61         tile+state->m_fore_bankbase,
59         tile+m_fore_bankbase,
6260         color,
6361         0);
6462}
6563
66static TILE_GET_INFO( get_tx_tile_info )
64TILE_GET_INFO_MEMBER(dynduke_state::get_tx_tile_info)
6765{
68   dynduke_state *state = machine.driver_data<dynduke_state>();
69   UINT16 *videoram = state->m_videoram;
66   UINT16 *videoram = m_videoram;
7067   int tile=videoram[tile_index];
7168   int color=(tile >> 8) & 0x0f;
7269
7370   tile = (tile & 0xff) | ((tile & 0xc000) >> 6);
7471
75   SET_TILE_INFO(
72   SET_TILE_INFO_MEMBER(
7673         0,
7774         tile,
7875         color,
r17673r17674
8279VIDEO_START( dynduke )
8380{
8481   dynduke_state *state = machine.driver_data<dynduke_state>();
85   state->m_bg_layer = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_COLS,      16,16,32,32);
86   state->m_fg_layer = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_COLS,16,16,32,32);
87   state->m_tx_layer = tilemap_create(machine, get_tx_tile_info,TILEMAP_SCAN_ROWS, 8, 8,32,32);
82   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);
83   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);
84   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);
8885
8986   state->m_fg_layer->set_transparent_pen(15);
9087   state->m_tx_layer->set_transparent_pen(15);
trunk/src/mame/video/tunhunt.c
r17673r17674
5555   m_fg_tilemap->mark_tile_dirty(offset);
5656}
5757
58static TILE_GET_INFO( get_fg_tile_info )
58TILE_GET_INFO_MEMBER(tunhunt_state::get_fg_tile_info)
5959{
60   tunhunt_state *state = machine.driver_data<tunhunt_state>();
61   int attr = state->m_videoram[tile_index];
60   int attr = m_videoram[tile_index];
6261   int code = attr & 0x3f;
6362   int color = attr >> 6;
6463   int flags = color ? TILE_FORCE_LAYER0 : 0;
6564
66   SET_TILE_INFO(0, code, color, flags);
65   SET_TILE_INFO_MEMBER(0, code, color, flags);
6766}
6867
6968VIDEO_START( tunhunt )
r17673r17674
7776
7877   state->m_tmpbitmap.allocate(256, 64, machine.primary_screen->format());
7978
80   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
79   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);
8180
8281   state->m_fg_tilemap->set_transparent_pen(0);
8382   state->m_fg_tilemap->set_scrollx(0, 64);
trunk/src/mame/video/tryout.c
r17673r17674
3838   }
3939}
4040
41static TILE_GET_INFO( get_fg_tile_info )
41TILE_GET_INFO_MEMBER(tryout_state::get_fg_tile_info)
4242{
43   tryout_state *state = machine.driver_data<tryout_state>();
44   UINT8 *videoram = state->m_videoram;
43   UINT8 *videoram = m_videoram;
4544   int code, attr, color;
4645
4746   code = videoram[tile_index];
r17673r17674
4948   code |= ((attr & 0x03) << 8);
5049   color = ((attr & 0x4)>>2)+6;
5150
52   SET_TILE_INFO(0, code, color, 0);
51   SET_TILE_INFO_MEMBER(0, code, color, 0);
5352}
5453
55static TILE_GET_INFO( get_bg_tile_info )
54TILE_GET_INFO_MEMBER(tryout_state::get_bg_tile_info)
5655{
57   tryout_state *state = machine.driver_data<tryout_state>();
58   SET_TILE_INFO(2, state->m_vram[tile_index] & 0x7f, 2, 0);
56   SET_TILE_INFO_MEMBER(2, m_vram[tile_index] & 0x7f, 2, 0);
5957}
6058
6159READ8_MEMBER(tryout_state::tryout_vram_r)
r17673r17674
148146   flip_screen_set(data & 1);
149147}
150148
151static TILEMAP_MAPPER( get_fg_memory_offset )
149TILEMAP_MAPPER_MEMBER(tryout_state::get_fg_memory_offset)
152150{
153151   return (row ^ 0x1f) + (col << 5);
154152}
155153
156static TILEMAP_MAPPER( get_bg_memory_offset )
154TILEMAP_MAPPER_MEMBER(tryout_state::get_bg_memory_offset)
157155{
158156   int a;
159157//  if (col&0x20)
r17673r17674
168166VIDEO_START( tryout )
169167{
170168   tryout_state *state = machine.driver_data<tryout_state>();
171   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,get_fg_memory_offset,8,8,32,32);
172   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,get_bg_memory_offset,16,16,64,16);
169   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);
170   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);
173171
174172   state->m_vram=auto_alloc_array(machine, UINT8, 8 * 0x800);
175173   state->m_vram_gfx=auto_alloc_array(machine, UINT8, 0x6000);
trunk/src/mame/video/rungun.c
r17673r17674
1414#include "includes/rungun.h"
1515
1616/* TTL text plane stuff */
17static TILE_GET_INFO( ttl_get_tile_info )
17TILE_GET_INFO_MEMBER(rungun_state::ttl_get_tile_info)
1818{
19   rungun_state *state = machine.driver_data<rungun_state>();
20   UINT8 *lvram = (UINT8 *)state->m_ttl_vram;
19   UINT8 *lvram = (UINT8 *)m_ttl_vram;
2120   int attr, code;
2221
2322   attr = (lvram[BYTE_XOR_LE(tile_index<<2)] & 0xf0) >> 4;
2423   code = ((lvram[BYTE_XOR_LE(tile_index<<2)] & 0x0f) << 8) | (lvram[BYTE_XOR_LE((tile_index<<2)+2)]);
2524
26   SET_TILE_INFO(state->m_ttl_gfx_index, code, attr, 0);
25   SET_TILE_INFO_MEMBER(m_ttl_gfx_index, code, attr, 0);
2726}
2827
2928void rng_sprite_callback( running_machine &machine, int *code, int *color, int *priority_mask )
r17673r17674
4948   m_936_tilemap->mark_tile_dirty(offset / 2);
5049}
5150
52static TILE_GET_INFO( get_rng_936_tile_info )
51TILE_GET_INFO_MEMBER(rungun_state::get_rng_936_tile_info)
5352{
54   rungun_state *state = machine.driver_data<rungun_state>();
5553   int tileno, colour, flipx;
5654
57   tileno = state->m_936_videoram[tile_index * 2 + 1] & 0x3fff;
58   flipx = (state->m_936_videoram[tile_index * 2 + 1] & 0xc000) >> 14;
59   colour = 0x10 + (state->m_936_videoram[tile_index * 2] & 0x000f);
55   tileno = m_936_videoram[tile_index * 2 + 1] & 0x3fff;
56   flipx = (m_936_videoram[tile_index * 2 + 1] & 0xc000) >> 14;
57   colour = 0x10 + (m_936_videoram[tile_index * 2] & 0x000f);
6058
61   SET_TILE_INFO(0, tileno, colour, TILE_FLIPYX(flipx));
59   SET_TILE_INFO_MEMBER(0, tileno, colour, TILE_FLIPYX(flipx));
6260}
6361
6462
r17673r17674
7876   rungun_state *state = machine.driver_data<rungun_state>();
7977   int gfx_index;
8078
81   state->m_936_tilemap = tilemap_create(machine, get_rng_936_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 128, 128);
79   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);
8280   state->m_936_tilemap->set_transparent_pen(0);
8381
8482   /* find first empty slot to decode gfx */
r17673r17674
9391   state->m_ttl_gfx_index = gfx_index;
9492
9593   // create the tilemap
96   state->m_ttl_tilemap = tilemap_create(machine, ttl_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
94   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);
9795
9896   state->m_ttl_tilemap->set_transparent_pen(0);
9997
trunk/src/mame/video/eprom.c
r17673r17674
5151 *
5252 *************************************/
5353
54static TILE_GET_INFO( get_alpha_tile_info )
54TILE_GET_INFO_MEMBER(eprom_state::get_alpha_tile_info)
5555{
56   eprom_state *state = machine.driver_data<eprom_state>();
57   UINT16 data = state->m_alpha[tile_index];
56   UINT16 data = m_alpha[tile_index];
5857   int code = data & 0x3ff;
5958   int color = ((data >> 10) & 0x0f) | ((data >> 9) & 0x20);
6059   int opaque = data & 0x8000;
61   SET_TILE_INFO(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
60   SET_TILE_INFO_MEMBER(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
6261}
6362
6463
65static TILE_GET_INFO( get_playfield_tile_info )
64TILE_GET_INFO_MEMBER(eprom_state::get_playfield_tile_info)
6665{
67   eprom_state *state = machine.driver_data<eprom_state>();
68   UINT16 data1 = state->m_playfield[tile_index];
69   UINT16 data2 = state->m_playfield_upper[tile_index] >> 8;
66   UINT16 data1 = m_playfield[tile_index];
67   UINT16 data2 = m_playfield_upper[tile_index] >> 8;
7068   int code = data1 & 0x7fff;
7169   int color = 0x10 + (data2 & 0x0f);
72   SET_TILE_INFO(0, code, color, (data1 >> 15) & 1);
70   SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
7371}
7472
7573
76static TILE_GET_INFO( guts_get_playfield_tile_info )
74TILE_GET_INFO_MEMBER(eprom_state::guts_get_playfield_tile_info)
7775{
78   eprom_state *state = machine.driver_data<eprom_state>();
79   UINT16 data1 = state->m_playfield[tile_index];
80   UINT16 data2 = state->m_playfield_upper[tile_index] >> 8;
76   UINT16 data1 = m_playfield[tile_index];
77   UINT16 data2 = m_playfield_upper[tile_index] >> 8;
8178   int code = data1 & 0x7fff;
8279   int color = 0x10 + (data2 & 0x0f);
83   SET_TILE_INFO(2, code, color, (data1 >> 15) & 1);
80   SET_TILE_INFO_MEMBER(2, code, color, (data1 >> 15) & 1);
8481}
8582
8683
r17673r17674
132129   eprom_state *state = machine.driver_data<eprom_state>();
133130
134131   /* initialize the playfield */
135   state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_COLS,  8,8, 64,64);
132   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);
136133
137134   /* initialize the motion objects */
138135   atarimo_init(machine, 0, &modesc);
139136
140137   /* initialize the alphanumerics */
141   state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS,  8,8, 64,32);
138   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);
142139   state->m_alpha_tilemap->set_transparent_pen(0);
143140
144141   /* save states */
r17673r17674
188185   eprom_state *state = machine.driver_data<eprom_state>();
189186
190187   /* initialize the playfield */
191   state->m_playfield_tilemap = tilemap_create(machine, guts_get_playfield_tile_info, TILEMAP_SCAN_COLS,  8,8, 64,64);
188   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);
192189
193190   /* initialize the motion objects */
194191   atarimo_init(machine, 0, &modesc);
195192
196193   /* initialize the alphanumerics */
197   state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS,  8,8, 64,32);
194   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);
198195   state->m_alpha_tilemap->set_transparent_pen(0);
199196
200197   /* save states */
trunk/src/mame/video/aerofgt.c
r17673r17674
77
88***************************************************************************/
99
10static TILE_GET_INFO( get_pspikes_tile_info )
10TILE_GET_INFO_MEMBER(aerofgt_state::get_pspikes_tile_info)
1111{
12   aerofgt_state *state = machine.driver_data<aerofgt_state>();
13   UINT16 code = state->m_bg1videoram[tile_index];
12   UINT16 code = m_bg1videoram[tile_index];
1413   int bank = (code & 0x1000) >> 12;
15   SET_TILE_INFO(
14   SET_TILE_INFO_MEMBER(
1615         0,
17         (code & 0x0fff) + (state->m_gfxbank[bank] << 12),
18         ((code & 0xe000) >> 13) + 8 * state->m_charpalettebank,
16         (code & 0x0fff) + (m_gfxbank[bank] << 12),
17         ((code & 0xe000) >> 13) + 8 * m_charpalettebank,
1918         0);
2019}
2120
22static TILE_GET_INFO( karatblz_bg1_tile_info )
21TILE_GET_INFO_MEMBER(aerofgt_state::karatblz_bg1_tile_info)
2322{
24   aerofgt_state *state = machine.driver_data<aerofgt_state>();
25   UINT16 code = state->m_bg1videoram[tile_index];
26   SET_TILE_INFO(
23   UINT16 code = m_bg1videoram[tile_index];
24   SET_TILE_INFO_MEMBER(
2725         0,
28         (code & 0x1fff) + (state->m_gfxbank[0] << 13),
26         (code & 0x1fff) + (m_gfxbank[0] << 13),
2927         (code & 0xe000) >> 13,
3028         0);
3129}
3230
3331/* also spinlbrk */
34static TILE_GET_INFO( karatblz_bg2_tile_info )
32TILE_GET_INFO_MEMBER(aerofgt_state::karatblz_bg2_tile_info)
3533{
36   aerofgt_state *state = machine.driver_data<aerofgt_state>();
37   UINT16 code = state->m_bg2videoram[tile_index];
38   SET_TILE_INFO(
34   UINT16 code = m_bg2videoram[tile_index];
35   SET_TILE_INFO_MEMBER(
3936         1,
40         (code & 0x1fff) + (state->m_gfxbank[1] << 13),
37         (code & 0x1fff) + (m_gfxbank[1] << 13),
4138         (code & 0xe000) >> 13,
4239         0);
4340}
4441
45static TILE_GET_INFO( spinlbrk_bg1_tile_info )
42TILE_GET_INFO_MEMBER(aerofgt_state::spinlbrk_bg1_tile_info)
4643{
47   aerofgt_state *state = machine.driver_data<aerofgt_state>();
48   UINT16 code = state->m_bg1videoram[tile_index];
49   SET_TILE_INFO(
44   UINT16 code = m_bg1videoram[tile_index];
45   SET_TILE_INFO_MEMBER(
5046         0,
51         (code & 0x0fff) + (state->m_gfxbank[0] << 12),
47         (code & 0x0fff) + (m_gfxbank[0] << 12),
5248         (code & 0xf000) >> 12,
5349         0);
5450}
5551
56static TILE_GET_INFO( get_bg1_tile_info )
52TILE_GET_INFO_MEMBER(aerofgt_state::get_bg1_tile_info)
5753{
58   aerofgt_state *state = machine.driver_data<aerofgt_state>();
59   UINT16 code = state->m_bg1videoram[tile_index];
54   UINT16 code = m_bg1videoram[tile_index];
6055   int bank = (code & 0x1800) >> 11;
61   SET_TILE_INFO(
56   SET_TILE_INFO_MEMBER(
6257         0,
63         (code & 0x07ff) + (state->m_gfxbank[bank] << 11),
58         (code & 0x07ff) + (m_gfxbank[bank] << 11),
6459         (code & 0xe000) >> 13,
6560         0);
6661}
6762
68static TILE_GET_INFO( get_bg2_tile_info )
63TILE_GET_INFO_MEMBER(aerofgt_state::get_bg2_tile_info)
6964{
70   aerofgt_state *state = machine.driver_data<aerofgt_state>();
71   UINT16 code = state->m_bg2videoram[tile_index];
65   UINT16 code = m_bg2videoram[tile_index];
7266   int bank = 4 + ((code & 0x1800) >> 11);
73   SET_TILE_INFO(
67   SET_TILE_INFO_MEMBER(
7468         1,
75         (code & 0x07ff) + (state->m_gfxbank[bank] << 11),
69         (code & 0x07ff) + (m_gfxbank[bank] << 11),
7670         (code & 0xe000) >> 13,
7771         0);
7872}
r17673r17674
10094VIDEO_START( pspikes )
10195{
10296   aerofgt_state *state = machine.driver_data<aerofgt_state>();
103   state->m_bg1_tilemap = tilemap_create(machine, get_pspikes_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
97   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);
10498   /* no bg2 in this game */
10599
106100   state->m_sprite_gfx = 1;
r17673r17674
113107VIDEO_START( karatblz )
114108{
115109   aerofgt_state *state = machine.driver_data<aerofgt_state>();
116   state->m_bg1_tilemap = tilemap_create(machine, karatblz_bg1_tile_info,TILEMAP_SCAN_ROWS,     8,8,64,64);
117   state->m_bg2_tilemap = tilemap_create(machine, karatblz_bg2_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
110   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);
111   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);
118112
119113   state->m_bg2_tilemap->set_transparent_pen(15);
120114   state->m_spritepalettebank = 0;
r17673r17674
128122   aerofgt_state *state = machine.driver_data<aerofgt_state>();
129123   int i;
130124
131   state->m_bg1_tilemap = tilemap_create(machine, spinlbrk_bg1_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
132   state->m_bg2_tilemap = tilemap_create(machine, karatblz_bg2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
125   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);
126   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);
133127
134128   state->m_bg2_tilemap->set_transparent_pen(15);
135129
r17673r17674
155149VIDEO_START( turbofrc )
156150{
157151   aerofgt_state *state = machine.driver_data<aerofgt_state>();
158   state->m_bg1_tilemap = tilemap_create(machine, get_bg1_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
159   state->m_bg2_tilemap = tilemap_create(machine, get_bg2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
152   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);
153   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);
160154
161155   state->m_bg2_tilemap->set_transparent_pen(15);
162156
r17673r17674
169163VIDEO_START( wbbc97 )
170164{
171165   aerofgt_state *state = machine.driver_data<aerofgt_state>();
172   state->m_bg1_tilemap = tilemap_create(machine, get_pspikes_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
166   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);
173167   /* no bg2 in this game */
174168
175169   state->m_bg1_tilemap->set_transparent_pen(15);
trunk/src/mame/video/rocnrope.c
r17673r17674
104104   }
105105}
106106
107static TILE_GET_INFO( get_bg_tile_info )
107TILE_GET_INFO_MEMBER(rocnrope_state::get_bg_tile_info)
108108{
109   rocnrope_state *state = machine.driver_data<rocnrope_state>();
110   int attr = state->m_colorram[tile_index];
111   int code = state->m_videoram[tile_index] + 2 * (attr & 0x80);
109   int attr = m_colorram[tile_index];
110   int code = m_videoram[tile_index] + 2 * (attr & 0x80);
112111   int color = attr & 0x0f;
113112   int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x20) ? TILE_FLIPY : 0);
114113
115   SET_TILE_INFO(1, code, color, flags);
114   SET_TILE_INFO_MEMBER(1, code, color, flags);
116115}
117116
118117VIDEO_START( rocnrope )
119118{
120119   rocnrope_state *state = machine.driver_data<rocnrope_state>();
121   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
120   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);
122121}
123122
124123static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
trunk/src/mame/video/docastle.c
r17673r17674
101101   m_do_tilemap->mark_all_dirty();
102102}
103103
104static TILE_GET_INFO( get_tile_info )
104TILE_GET_INFO_MEMBER(docastle_state::get_tile_info)
105105{
106   docastle_state *state = machine.driver_data<docastle_state>();
107   int code = state->m_videoram[tile_index] + 8 * (state->m_colorram[tile_index] & 0x20);
108   int color = state->m_colorram[tile_index] & 0x1f;
106   int code = m_videoram[tile_index] + 8 * (m_colorram[tile_index] & 0x20);
107   int color = m_colorram[tile_index] & 0x1f;
109108
110   SET_TILE_INFO(0, code, color, 0);
109   SET_TILE_INFO_MEMBER(0, code, color, 0);
111110}
112111
113112static void video_start_common( running_machine &machine, UINT32 tile_transmask )
114113{
115114   docastle_state *state = machine.driver_data<docastle_state>();
116   state->m_do_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 32, 32);
115   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);
117116   state->m_do_tilemap->set_transmask(0, tile_transmask, 0x0000);
118117}
119118
trunk/src/mame/video/mainsnk.c
r17673r17674
3434   }
3535}
3636
37static TILEMAP_MAPPER( marvins_tx_scan_cols )
37TILEMAP_MAPPER_MEMBER(mainsnk_state::marvins_tx_scan_cols)
3838{
3939   // tilemap is 36x28, the central part is from the first RAM page and the
4040   // extra 4 columns are from the second page
r17673r17674
4545      return row + (col << 5);
4646}
4747
48static TILE_GET_INFO( get_tx_tile_info )
48TILE_GET_INFO_MEMBER(mainsnk_state::get_tx_tile_info)
4949{
50   mainsnk_state *state = machine.driver_data<mainsnk_state>();
51   int code = state->m_fgram[tile_index];
50   int code = m_fgram[tile_index];
5251
53   SET_TILE_INFO(0,
52   SET_TILE_INFO_MEMBER(0,
5453         code,
5554         0,
5655         tile_index & 0x400 ? TILE_FORCE_LAYER0 : 0);
5756}
5857
59static TILE_GET_INFO( get_bg_tile_info )
58TILE_GET_INFO_MEMBER(mainsnk_state::get_bg_tile_info)
6059{
61   mainsnk_state *state = machine.driver_data<mainsnk_state>();
62   int code = (state->m_bgram[tile_index]);
60   int code = (m_bgram[tile_index]);
6361
64   SET_TILE_INFO(
62   SET_TILE_INFO_MEMBER(
6563         0,
66         state->m_bg_tile_offset + code,
64         m_bg_tile_offset + code,
6765         0,
6866         0);
6967}
r17673r17674
7371{
7472   mainsnk_state *state = machine.driver_data<mainsnk_state>();
7573
76   state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, marvins_tx_scan_cols, 8, 8, 36, 28);
77   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS,    8, 8, 32, 32);
74   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);
75   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);
7876
7977   state->m_tx_tilemap->set_transparent_pen(15);
8078   state->m_tx_tilemap->set_scrolldy(8, 8);
trunk/src/mame/video/mystston.c
r17673r17674
148148 *
149149 *************************************/
150150
151static TILE_GET_INFO( get_bg_tile_info )
151TILE_GET_INFO_MEMBER(mystston_state::get_bg_tile_info)
152152{
153   mystston_state *state = machine.driver_data<mystston_state>();
154153
155   int page = (*state->m_video_control & 0x04) << 8;
156   int code = ((state->m_bg_videoram[page | 0x200 | tile_index] & 0x01) << 8) | state->m_bg_videoram[page | tile_index];
154   int page = (*m_video_control & 0x04) << 8;
155   int code = ((m_bg_videoram[page | 0x200 | tile_index] & 0x01) << 8) | m_bg_videoram[page | tile_index];
157156   int flags = (tile_index & 0x10) ? TILE_FLIPY : 0;
158157
159   SET_TILE_INFO(1, code, 0, flags);
158   SET_TILE_INFO_MEMBER(1, code, 0, flags);
160159}
161160
162161
163static TILE_GET_INFO( get_fg_tile_info )
162TILE_GET_INFO_MEMBER(mystston_state::get_fg_tile_info)
164163{
165   mystston_state *state = machine.driver_data<mystston_state>();
166164
167   int code = ((state->m_fg_videoram[0x400 | tile_index] & 0x07) << 8) | state->m_fg_videoram[tile_index];
168   int color = ((*state->m_video_control & 0x01) << 1) | ((*state->m_video_control & 0x02) >> 1);
165   int code = ((m_fg_videoram[0x400 | tile_index] & 0x07) << 8) | m_fg_videoram[tile_index];
166   int color = ((*m_video_control & 0x01) << 1) | ((*m_video_control & 0x02) >> 1);
169167
170   SET_TILE_INFO(0, code, color, 0);
168   SET_TILE_INFO_MEMBER(0, code, color, 0);
171169}
172170
173171
r17673r17674
221219{
222220   mystston_state *state = machine.driver_data<mystston_state>();
223221
224   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS_FLIP_X, 16, 16, 16, 32);
222   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);
225223
226   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS_FLIP_X,  8,  8, 32, 32);
224   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);
227225   state->m_fg_tilemap->set_transparent_pen(0);
228226
229227   /* create the interrupt timer */
trunk/src/mame/video/senjyo.c
r17673r17674
1717
1818***************************************************************************/
1919
20static TILE_GET_INFO( get_fg_tile_info )
20TILE_GET_INFO_MEMBER(senjyo_state::get_fg_tile_info)
2121{
22   senjyo_state *state = machine.driver_data<senjyo_state>();
23   UINT8 attr = state->m_fgcolorram[tile_index];
22   UINT8 attr = m_fgcolorram[tile_index];
2423   int flags = (attr & 0x80) ? TILE_FLIPY : 0;
2524
26   if (state->m_is_senjyo && (tile_index & 0x1f) >= 32-8)
25   if (m_is_senjyo && (tile_index & 0x1f) >= 32-8)
2726      flags |= TILE_FORCE_LAYER0;
2827
29   SET_TILE_INFO(
28   SET_TILE_INFO_MEMBER(
3029         0,
31         state->m_fgvideoram[tile_index] + ((attr & 0x10) << 4),
30         m_fgvideoram[tile_index] + ((attr & 0x10) << 4),
3231         attr & 0x07,
3332         flags);
3433}
3534
36static TILE_GET_INFO( senjyo_bg1_tile_info )
35TILE_GET_INFO_MEMBER(senjyo_state::senjyo_bg1_tile_info)
3736{
38   senjyo_state *state = machine.driver_data<senjyo_state>();
39   UINT8 code = state->m_bg1videoram[tile_index];
37   UINT8 code = m_bg1videoram[tile_index];
4038
41   SET_TILE_INFO(
39   SET_TILE_INFO_MEMBER(
4240         1,
4341         code,
4442         (code & 0x70) >> 4,
4543         0);
4644}
4745
48static TILE_GET_INFO( starforc_bg1_tile_info )
46TILE_GET_INFO_MEMBER(senjyo_state::starforc_bg1_tile_info)
4947{
5048   /* Star Force has more tiles in bg1, so to get a uniform color code spread */
5149   /* they wired bit 7 of the tile code in place of bit 4 to get the color code */
5250   static const UINT8 colormap[8] = { 0, 2, 4, 6, 1, 3, 5, 7 };
53   senjyo_state *state = machine.driver_data<senjyo_state>();
54   UINT8 code = state->m_bg1videoram[tile_index];
51   UINT8 code = m_bg1videoram[tile_index];
5552
56   SET_TILE_INFO(
53   SET_TILE_INFO_MEMBER(
5754         1,
5855         code,
5956         colormap[(code & 0xe0) >> 5],
6057         0);
6158}
6259
63static TILE_GET_INFO( get_bg2_tile_info )
60TILE_GET_INFO_MEMBER(senjyo_state::get_bg2_tile_info)
6461{
65   senjyo_state *state = machine.driver_data<senjyo_state>();
66   UINT8 code = state->m_bg2videoram[tile_index];
62   UINT8 code = m_bg2videoram[tile_index];
6763
68   SET_TILE_INFO(
64   SET_TILE_INFO_MEMBER(
6965         2,
7066         code,
7167         (code & 0xe0) >> 5,
7268         0);
7369}
7470
75static TILE_GET_INFO( get_bg3_tile_info )
71TILE_GET_INFO_MEMBER(senjyo_state::get_bg3_tile_info)
7672{
77   senjyo_state *state = machine.driver_data<senjyo_state>();
78   UINT8 code = state->m_bg3videoram[tile_index];
73   UINT8 code = m_bg3videoram[tile_index];
7974
80   SET_TILE_INFO(
75   SET_TILE_INFO_MEMBER(
8176         3,
8277         code,
8378         (code & 0xe0) >> 5,
r17673r17674
9691{
9792   senjyo_state *state = machine.driver_data<senjyo_state>();
9893
99   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
94   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);
10095
10196   if (state->m_is_senjyo)
10297   {
103      state->m_bg1_tilemap = tilemap_create(machine, senjyo_bg1_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 16, 32);
104      state->m_bg2_tilemap = tilemap_create(machine, get_bg2_tile_info,    TILEMAP_SCAN_ROWS, 16, 16, 16, 48);   /* only 16x32 used by Star Force */
105      state->m_bg3_tilemap = tilemap_create(machine, get_bg3_tile_info,    TILEMAP_SCAN_ROWS, 16, 16, 16, 56);   /* only 16x32 used by Star Force */
98      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);
99      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 */
100      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 */
106101   }
107102   else
108103   {
109      state->m_bg1_tilemap = tilemap_create(machine, starforc_bg1_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 16, 32);
110      state->m_bg2_tilemap = tilemap_create(machine, get_bg2_tile_info,      TILEMAP_SCAN_ROWS, 16, 16, 16, 32);   /* only 16x32 used by Star Force */
111      state->m_bg3_tilemap = tilemap_create(machine, get_bg3_tile_info,      TILEMAP_SCAN_ROWS, 16, 16, 16, 32);   /* only 16x32 used by Star Force */
104      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);
105      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 */
106      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 */
112107   }
113108
114109   state->m_fg_tilemap->set_transparent_pen(0);
trunk/src/mame/video/yiear.c
r17673r17674
8686   coin_counter_w(machine(), 1, data & 0x10);
8787}
8888
89static TILE_GET_INFO( get_bg_tile_info )
89TILE_GET_INFO_MEMBER(yiear_state::get_bg_tile_info)
9090{
91   yiear_state *state = machine.driver_data<yiear_state>();
9291   int offs = tile_index * 2;
93   int attr = state->m_videoram[offs];
94   int code = state->m_videoram[offs + 1] | ((attr & 0x10) << 4);
92   int attr = m_videoram[offs];
93   int code = m_videoram[offs + 1] | ((attr & 0x10) << 4);
9594//  int color = (attr & 0xf0) >> 4;
9695   int flags = ((attr & 0x80) ? TILE_FLIPX : 0) | ((attr & 0x40) ? TILE_FLIPY : 0);
9796
98   SET_TILE_INFO(0, code, 0, flags);
97   SET_TILE_INFO_MEMBER(0, code, 0, flags);
9998}
10099
101100VIDEO_START( yiear )
102101{
103102   yiear_state *state = machine.driver_data<yiear_state>();
104   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
103   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);
105104}
106105
107106static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
trunk/src/mame/video/sonson.c
r17673r17674
120120   flip_screen_set(~data & 0x01);
121121}
122122
123static TILE_GET_INFO( get_bg_tile_info )
123TILE_GET_INFO_MEMBER(sonson_state::get_bg_tile_info)
124124{
125   sonson_state *state = machine.driver_data<sonson_state>();
126   int attr = state->m_colorram[tile_index];
127   int code = state->m_videoram[tile_index] + 256 * (attr & 0x03);
125   int attr = m_colorram[tile_index];
126   int code = m_videoram[tile_index] + 256 * (attr & 0x03);
128127   int color = attr >> 2;
129128
130   SET_TILE_INFO(0, code, color, 0);
129   SET_TILE_INFO_MEMBER(0, code, color, 0);
131130}
132131
133132VIDEO_START( sonson )
134133{
135134   sonson_state *state = machine.driver_data<sonson_state>();
136135
137   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
136   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);
138137   state->m_bg_tilemap->set_scroll_rows(32);
139138}
140139
trunk/src/mame/video/sslam.c
r17673r17674
9191
9292/* Text Layer */
9393
94static TILE_GET_INFO( get_sslam_tx_tile_info )
94TILE_GET_INFO_MEMBER(sslam_state::get_sslam_tx_tile_info)
9595{
96   sslam_state *state = machine.driver_data<sslam_state>();
97   int code = state->m_tx_tileram[tile_index] & 0x0fff;
98   int colr = state->m_tx_tileram[tile_index] & 0xf000;
96   int code = m_tx_tileram[tile_index] & 0x0fff;
97   int colr = m_tx_tileram[tile_index] & 0xf000;
9998
100   SET_TILE_INFO(3,code+0xc000 ,colr >> 12,0);
99   SET_TILE_INFO_MEMBER(3,code+0xc000 ,colr >> 12,0);
101100}
102101
103102WRITE16_MEMBER(sslam_state::sslam_tx_tileram_w)
r17673r17674
109108
110109/* Middle Layer */
111110
112static TILE_GET_INFO( get_sslam_md_tile_info )
111TILE_GET_INFO_MEMBER(sslam_state::get_sslam_md_tile_info)
113112{
114   sslam_state *state = machine.driver_data<sslam_state>();
115   int code = state->m_md_tileram[tile_index] & 0x0fff;
116   int colr = state->m_md_tileram[tile_index] & 0xf000;
113   int code = m_md_tileram[tile_index] & 0x0fff;
114   int colr = m_md_tileram[tile_index] & 0xf000;
117115
118   SET_TILE_INFO(2,code+0x2000 ,colr >> 12,0);
116   SET_TILE_INFO_MEMBER(2,code+0x2000 ,colr >> 12,0);
119117}
120118
121119WRITE16_MEMBER(sslam_state::sslam_md_tileram_w)
r17673r17674
127125
128126/* Background Layer */
129127
130static TILE_GET_INFO( get_sslam_bg_tile_info )
128TILE_GET_INFO_MEMBER(sslam_state::get_sslam_bg_tile_info)
131129{
132   sslam_state *state = machine.driver_data<sslam_state>();
133   int code = state->m_bg_tileram[tile_index] & 0x1fff;
134   int colr = state->m_bg_tileram[tile_index] & 0xe000;
130   int code = m_bg_tileram[tile_index] & 0x1fff;
131   int colr = m_bg_tileram[tile_index] & 0xe000;
135132
136   SET_TILE_INFO(1,code ,colr >> 13,0);
133   SET_TILE_INFO_MEMBER(1,code ,colr >> 13,0);
137134}
138135
139136WRITE16_MEMBER(sslam_state::sslam_bg_tileram_w)
r17673r17674
143140   m_bg_tilemap->mark_tile_dirty(offset);
144141}
145142
146static TILE_GET_INFO( get_powerbls_bg_tile_info )
143TILE_GET_INFO_MEMBER(sslam_state::get_powerbls_bg_tile_info)
147144{
148   sslam_state *state = machine.driver_data<sslam_state>();
149   int code = state->m_bg_tileram[tile_index*2+1] & 0x0fff;
150   int colr = (state->m_bg_tileram[tile_index*2+1] & 0xf000) >> 12;
151   code |= (state->m_bg_tileram[tile_index*2] & 0x0f00) << 4;
145   int code = m_bg_tileram[tile_index*2+1] & 0x0fff;
146   int colr = (m_bg_tileram[tile_index*2+1] & 0xf000) >> 12;
147   code |= (m_bg_tileram[tile_index*2] & 0x0f00) << 4;
152148
153   //(state->m_bg_tileram[tile_index*2] & 0x0f00) == 0xf000 ???
149   //(m_bg_tileram[tile_index*2] & 0x0f00) == 0xf000 ???
154150
155   SET_TILE_INFO(1,code,colr,0);
151   SET_TILE_INFO_MEMBER(1,code,colr,0);
156152}
157153
158154WRITE16_MEMBER(sslam_state::powerbls_bg_tileram_w)
r17673r17674
166162{
167163   sslam_state *state = machine.driver_data<sslam_state>();
168164
169   state->m_bg_tilemap = tilemap_create(machine, get_sslam_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
170   state->m_md_tilemap = tilemap_create(machine, get_sslam_md_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
171   state->m_tx_tilemap = tilemap_create(machine, get_sslam_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
165   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);
166   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);
167   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);
172168
173169   state->m_md_tilemap->set_transparent_pen(0);
174170   state->m_tx_tilemap->set_transparent_pen(0);
r17673r17674
181177{
182178   sslam_state *state = machine.driver_data<sslam_state>();
183179
184   state->m_bg_tilemap = tilemap_create(machine, get_powerbls_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
180   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);
185181
186182   state->m_sprites_x_offset = -21;
187183   state->save_item(NAME(state->m_sprites_x_offset));
trunk/src/mame/video/deadang.c
r17673r17674
3232
3333/******************************************************************************/
3434
35static TILEMAP_MAPPER( bg_scan )
35TILEMAP_MAPPER_MEMBER(deadang_state::bg_scan)
3636{
3737   return (col&0xf) | ((row&0xf)<<4) | ((col&0x70)<<4) | ((row&0xf0)<<7);
3838}
3939
40static TILE_GET_INFO( get_pf3_tile_info )
40TILE_GET_INFO_MEMBER(deadang_state::get_pf3_tile_info)
4141{
42   const UINT16 *bgMap = (const UINT16 *)machine.root_device().memregion("gfx6")->base();
42   const UINT16 *bgMap = (const UINT16 *)machine().root_device().memregion("gfx6")->base();
4343   int code= bgMap[tile_index];
44   SET_TILE_INFO(4,code&0x7ff,code>>12,0);
44   SET_TILE_INFO_MEMBER(4,code&0x7ff,code>>12,0);
4545}
4646
47static TILE_GET_INFO( get_pf2_tile_info )
47TILE_GET_INFO_MEMBER(deadang_state::get_pf2_tile_info)
4848{
49   const UINT16 *bgMap = (const UINT16 *)machine.root_device().memregion("gfx7")->base();
49   const UINT16 *bgMap = (const UINT16 *)machine().root_device().memregion("gfx7")->base();
5050   int code= bgMap[tile_index];
51   SET_TILE_INFO(3,code&0x7ff,code>>12,0);
51   SET_TILE_INFO_MEMBER(3,code&0x7ff,code>>12,0);
5252}
5353
54static TILE_GET_INFO( get_pf1_tile_info )
54TILE_GET_INFO_MEMBER(deadang_state::get_pf1_tile_info)
5555{
56   deadang_state *state = machine.driver_data<deadang_state>();
57   int tile=state->m_video_data[tile_index];
56   int tile=m_video_data[tile_index];
5857   int color=tile >> 12;
5958   tile=tile&0xfff;
6059
61   SET_TILE_INFO(2,tile+state->m_deadangle_tilebank*0x1000,color,0);
60   SET_TILE_INFO_MEMBER(2,tile+m_deadangle_tilebank*0x1000,color,0);
6261}
6362
64static TILE_GET_INFO( get_text_tile_info )
63TILE_GET_INFO_MEMBER(deadang_state::get_text_tile_info)
6564{
66   deadang_state *state = machine.driver_data<deadang_state>();
67   UINT16 *videoram = state->m_videoram;
65   UINT16 *videoram = m_videoram;
6866   int tile=(videoram[tile_index] & 0xff) | ((videoram[tile_index] >> 6) & 0x300);
6967   int color=(videoram[tile_index] >> 8)&0xf;
7068
71   SET_TILE_INFO(0,tile,color,0);
69   SET_TILE_INFO_MEMBER(0,tile,color,0);
7270}
7371
7472VIDEO_START( deadang )
7573{
7674   deadang_state *state = machine.driver_data<deadang_state>();
77   state->m_pf3_layer = tilemap_create(machine, get_pf3_tile_info,bg_scan,               16,16,128,256);
78   state->m_pf2_layer = tilemap_create(machine, get_pf2_tile_info,bg_scan,          16,16,128,256);
79   state->m_pf1_layer = tilemap_create(machine, get_pf1_tile_info,TILEMAP_SCAN_COLS,16,16, 32, 32);
80   state->m_text_layer = tilemap_create(machine, get_text_tile_info,TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
75   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);
76   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);
77   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);
78   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);
8179
8280   state->m_pf2_layer->set_transparent_pen(15);
8381   state->m_pf1_layer->set_transparent_pen(15);
trunk/src/mame/video/hcastle.c
r17673r17674
6565
6666***************************************************************************/
6767
68static TILEMAP_MAPPER( tilemap_scan )
68TILEMAP_MAPPER_MEMBER(hcastle_state::tilemap_scan)
6969{
7070   /* logical (col,row) -> memory offset */
7171   return (col & 0x1f) + ((row & 0x1f) << 5) + ((col & 0x20) << 6);   /* skip 0x400 */
7272}
7373
74static TILE_GET_INFO( get_fg_tile_info )
74TILE_GET_INFO_MEMBER(hcastle_state::get_fg_tile_info)
7575{
76   hcastle_state *state = machine.driver_data<hcastle_state>();
77   UINT8 ctrl_5 = k007121_ctrlram_r(state->m_k007121_1, 5);
78   UINT8 ctrl_6 = k007121_ctrlram_r(state->m_k007121_1, 6);
76   UINT8 ctrl_5 = k007121_ctrlram_r(m_k007121_1, 5);
77   UINT8 ctrl_6 = k007121_ctrlram_r(m_k007121_1, 6);
7978   int bit0 = (ctrl_5 >> 0) & 0x03;
8079   int bit1 = (ctrl_5 >> 2) & 0x03;
8180   int bit2 = (ctrl_5 >> 4) & 0x03;
8281   int bit3 = (ctrl_5 >> 6) & 0x03;
83   int attr = state->m_pf1_videoram[tile_index];
84   int tile = state->m_pf1_videoram[tile_index + 0x400];
82   int attr = m_pf1_videoram[tile_index];
83   int tile = m_pf1_videoram[tile_index + 0x400];
8584   int color = attr & 0x7;
8685   int bank =  ((attr & 0x80) >> 7) |
8786            ((attr >> (bit0 + 2)) & 0x02) |
r17673r17674
8988            ((attr >> (bit2    )) & 0x08) |
9089            ((attr >> (bit3 - 1)) & 0x10);
9190
92   SET_TILE_INFO(
91   SET_TILE_INFO_MEMBER(
9392         0,
94         tile + bank * 0x100 + state->m_pf1_bankbase,
93         tile + bank * 0x100 + m_pf1_bankbase,
9594         ((ctrl_6 & 0x30) * 2 + 16) + color,
9695         0);
9796}
9897
99static TILE_GET_INFO( get_bg_tile_info )
98TILE_GET_INFO_MEMBER(hcastle_state::get_bg_tile_info)
10099{
101   hcastle_state *state = machine.driver_data<hcastle_state>();
102   UINT8 ctrl_5 = k007121_ctrlram_r(state->m_k007121_2, 5);
103   UINT8 ctrl_6 = k007121_ctrlram_r(state->m_k007121_2, 6);
100   UINT8 ctrl_5 = k007121_ctrlram_r(m_k007121_2, 5);
101   UINT8 ctrl_6 = k007121_ctrlram_r(m_k007121_2, 6);
104102   int bit0 = (ctrl_5 >> 0) & 0x03;
105103   int bit1 = (ctrl_5 >> 2) & 0x03;
106104   int bit2 = (ctrl_5 >> 4) & 0x03;
107105   int bit3 = (ctrl_5 >> 6) & 0x03;
108   int attr = state->m_pf2_videoram[tile_index];
109   int tile = state->m_pf2_videoram[tile_index + 0x400];
106   int attr = m_pf2_videoram[tile_index];
107   int tile = m_pf2_videoram[tile_index + 0x400];
110108   int color = attr & 0x7;
111109   int bank =  ((attr & 0x80) >> 7) |
112110            ((attr >> (bit0 + 2)) & 0x02) |
r17673r17674
114112            ((attr >> (bit2    )) & 0x08) |
115113            ((attr >> (bit3 - 1)) & 0x10);
116114
117   SET_TILE_INFO(
115   SET_TILE_INFO_MEMBER(
118116         1,
119         tile + bank * 0x100 + state->m_pf2_bankbase,
117         tile + bank * 0x100 + m_pf2_bankbase,
120118         ((ctrl_6 & 0x30) * 2 + 16) + color,
121119         0);
122120}
r17673r17674
133131{
134132   hcastle_state *state = machine.driver_data<hcastle_state>();
135133
136   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, tilemap_scan, 8, 8, 64, 32);
137   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan, 8, 8, 64, 32);
134   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);
135   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);
138136
139137   state->m_fg_tilemap->set_transparent_pen(0);
140138}
trunk/src/mame/video/twincobr.c
r17673r17674
4040    Callbacks for the TileMap code
4141***************************************************************************/
4242
43static TILE_GET_INFO( get_bg_tile_info )
43TILE_GET_INFO_MEMBER(twincobr_state::get_bg_tile_info)
4444{
45   twincobr_state *state = machine.driver_data<twincobr_state>();
4645   int code, tile_number, color;
4746
48   code = state->m_bgvideoram16[tile_index+state->m_bg_ram_bank];
47   code = m_bgvideoram16[tile_index+m_bg_ram_bank];
4948   tile_number = code & 0x0fff;
5049   color = (code & 0xf000) >> 12;
51   SET_TILE_INFO(
50   SET_TILE_INFO_MEMBER(
5251         2,
5352         tile_number,
5453         color,
5554         0);
5655}
5756
58static TILE_GET_INFO( get_fg_tile_info )
57TILE_GET_INFO_MEMBER(twincobr_state::get_fg_tile_info)
5958{
60   twincobr_state *state = machine.driver_data<twincobr_state>();
6159   int code, tile_number, color;
6260
63   code = state->m_fgvideoram16[tile_index];
64   tile_number = (code & 0x0fff) | state->m_fg_rom_bank;
61   code = m_fgvideoram16[tile_index];
62   tile_number = (code & 0x0fff) | m_fg_rom_bank;
6563   color = (code & 0xf000) >> 12;
66   SET_TILE_INFO(
64   SET_TILE_INFO_MEMBER(
6765         1,
6866         tile_number,
6967         color,
7068         0);
7169}
7270
73static TILE_GET_INFO( get_tx_tile_info )
71TILE_GET_INFO_MEMBER(twincobr_state::get_tx_tile_info)
7472{
75   twincobr_state *state = machine.driver_data<twincobr_state>();
7673   int code, tile_number, color;
7774
78   code = state->m_txvideoram16[tile_index];
75   code = m_txvideoram16[tile_index];
7976   tile_number = code & 0x07ff;
8077   color = (code & 0xf800) >> 11;
81   SET_TILE_INFO(
78   SET_TILE_INFO_MEMBER(
8279         0,
8380         tile_number,
8481         color,
r17673r17674
9390{
9491   twincobr_state *state = machine.driver_data<twincobr_state>();
9592
96   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
97   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
98   state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
93   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);
94   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);
95   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);
9996
10097   state->m_fg_tilemap->set_transparent_pen(0);
10198   state->m_tx_tilemap->set_transparent_pen(0);
trunk/src/mame/video/hexion.c
r17673r17674
2020         0);
2121}
2222
23static TILE_GET_INFO( get_tile_info0 )
23TILE_GET_INFO_MEMBER(hexion_state::get_tile_info0)
2424{
25   hexion_state *state = machine.driver_data<hexion_state>();
26   get_tile_info(machine,tileinfo,tile_index,state->m_vram[0]);
25   get_tile_info(machine(),tileinfo,tile_index,m_vram[0]);
2726}
2827
29static TILE_GET_INFO( get_tile_info1 )
28TILE_GET_INFO_MEMBER(hexion_state::get_tile_info1)
3029{
31   hexion_state *state = machine.driver_data<hexion_state>();
32   get_tile_info(machine,tileinfo,tile_index,state->m_vram[1]);
30   get_tile_info(machine(),tileinfo,tile_index,m_vram[1]);
3331}
3432
3533
r17673r17674
4341VIDEO_START( hexion )
4442{
4543   hexion_state *state = machine.driver_data<hexion_state>();
46   state->m_bg_tilemap[0] = tilemap_create(machine, get_tile_info0,TILEMAP_SCAN_ROWS,8,8,64,32);
47   state->m_bg_tilemap[1] = tilemap_create(machine, get_tile_info1,TILEMAP_SCAN_ROWS,     8,8,64,32);
44   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);
45   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);
4846
4947   state->m_bg_tilemap[0]->set_transparent_pen(0);
5048   state->m_bg_tilemap[1]->set_scrollx(0,-4);
trunk/src/mame/video/bking.c
r17673r17674
208208}
209209
210210
211static TILE_GET_INFO( get_tile_info )
211TILE_GET_INFO_MEMBER(bking_state::get_tile_info)
212212{
213   bking_state *state = machine.driver_data<bking_state>();
214   UINT8 code0 = state->m_playfield_ram[2 * tile_index + 0];
215   UINT8 code1 = state->m_playfield_ram[2 * tile_index + 1];
213   UINT8 code0 = m_playfield_ram[2 * tile_index + 0];
214   UINT8 code1 = m_playfield_ram[2 * tile_index + 1];
216215
217216   int flags = 0;
218217
219218   if (code1 & 4) flags |= TILE_FLIPX;
220219   if (code1 & 8) flags |= TILE_FLIPY;
221220
222   SET_TILE_INFO(0, code0 + 256 * code1, state->m_palette_bank, flags);
221   SET_TILE_INFO_MEMBER(0, code0 + 256 * code1, m_palette_bank, flags);
223222}
224223
225224
226225VIDEO_START( bking )
227226{
228227   bking_state *state = machine.driver_data<bking_state>();
229   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
228   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);
230229   machine.primary_screen->register_screen_bitmap(state->m_tmp_bitmap1);
231230   machine.primary_screen->register_screen_bitmap(state->m_tmp_bitmap2);
232231
trunk/src/mame/video/labyrunr.c
r17673r17674
6464
6565***************************************************************************/
6666
67static TILE_GET_INFO( get_tile_info0 )
67TILE_GET_INFO_MEMBER(labyrunr_state::get_tile_info0)
6868{
69   labyrunr_state *state = machine.driver_data<labyrunr_state>();
70   UINT8 ctrl_3 = k007121_ctrlram_r(state->m_k007121, 3);
71   UINT8 ctrl_4 = k007121_ctrlram_r(state->m_k007121, 4);
72   UINT8 ctrl_5 = k007121_ctrlram_r(state->m_k007121, 5);
73   UINT8 ctrl_6 = k007121_ctrlram_r(state->m_k007121, 6);
74   int attr = state->m_videoram1[tile_index];
75   int code = state->m_videoram1[tile_index + 0x400];
69   UINT8 ctrl_3 = k007121_ctrlram_r(m_k007121, 3);
70   UINT8 ctrl_4 = k007121_ctrlram_r(m_k007121, 4);
71   UINT8 ctrl_5 = k007121_ctrlram_r(m_k007121, 5);
72   UINT8 ctrl_6 = k007121_ctrlram_r(m_k007121, 6);
73   int attr = m_videoram1[tile_index];
74   int code = m_videoram1[tile_index + 0x400];
7675   int bit0 = (ctrl_5 >> 0) & 0x03;
7776   int bit1 = (ctrl_5 >> 2) & 0x03;
7877   int bit2 = (ctrl_5 >> 4) & 0x03;
r17673r17674
8786
8887   bank = (bank & ~(mask << 1)) | ((ctrl_4 & mask) << 1);
8988
90   SET_TILE_INFO(
89   SET_TILE_INFO_MEMBER(
9190         0,
9291         code + bank * 256,
9392         ((ctrl_6 & 0x30) * 2 + 16)+(attr & 7),
9493         0);
9594}
9695
97static TILE_GET_INFO( get_tile_info1 )
96TILE_GET_INFO_MEMBER(labyrunr_state::get_tile_info1)
9897{
99   labyrunr_state *state = machine.driver_data<labyrunr_state>();
100   UINT8 ctrl_3 = k007121_ctrlram_r(state->m_k007121, 3);
101   UINT8 ctrl_4 = k007121_ctrlram_r(state->m_k007121, 4);
102   UINT8 ctrl_5 = k007121_ctrlram_r(state->m_k007121, 5);
103   UINT8 ctrl_6 = k007121_ctrlram_r(state->m_k007121, 6);
104   int attr = state->m_videoram2[tile_index];
105   int code = state->m_videoram2[tile_index + 0x400];
98   UINT8 ctrl_3 = k007121_ctrlram_r(m_k007121, 3);
99   UINT8 ctrl_4 = k007121_ctrlram_r(m_k007121, 4);
100   UINT8 ctrl_5 = k007121_ctrlram_r(m_k007121, 5);
101   UINT8 ctrl_6 = k007121_ctrlram_r(m_k007121, 6);
102   int attr = m_videoram2[tile_index];
103   int code = m_videoram2[tile_index + 0x400];
106104   int bit0 = (ctrl_5 >> 0) & 0x03;
107105   int bit1 = (ctrl_5 >> 2) & 0x03;
108106   int bit2 = (ctrl_5 >> 4) & 0x03;
r17673r17674
117115
118116   bank = (bank & ~(mask << 1)) | ((ctrl_4 & mask) << 1);
119117
120   SET_TILE_INFO(
118   SET_TILE_INFO_MEMBER(
121119         0,
122120         code+bank*256,
123121         ((ctrl_6 & 0x30) * 2 + 16) + (attr & 7),
r17673r17674
135133{
136134   labyrunr_state *state = machine.driver_data<labyrunr_state>();
137135
138   state->m_layer0 = tilemap_create(machine, get_tile_info0, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
139   state->m_layer1 = tilemap_create(machine, get_tile_info1, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
136   state->m_layer0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(labyrunr_state::get_tile_info0),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
137   state->m_layer1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(labyrunr_state::get_tile_info1),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
140138
141139   state->m_layer0->set_transparent_pen(0);
142140   state->m_layer1->set_transparent_pen(0);
trunk/src/mame/video/sprint2.c
r17673r17674
3434}
3535
3636
37static TILE_GET_INFO( get_tile_info )
37TILE_GET_INFO_MEMBER(sprint2_state::get_tile_info)
3838{
39   sprint2_state *state = machine.driver_data<sprint2_state>();
40   UINT8 code = state->m_video_ram[tile_index];
39   UINT8 code = m_video_ram[tile_index];
4140
42   SET_TILE_INFO(0, code & 0x3f, code >> 7, 0);
41   SET_TILE_INFO_MEMBER(0, code & 0x3f, code >> 7, 0);
4342}
4443
4544
r17673r17674
4847   sprint2_state *state = machine.driver_data<sprint2_state>();
4948   machine.primary_screen->register_screen_bitmap(state->m_helper);
5049
51   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
50   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);
5251}
5352
5453
trunk/src/mame/video/ddragon3.c
r17673r17674
5454   m_fg_tilemap->mark_tile_dirty(offset / 2);
5555}
5656
57static TILE_GET_INFO( get_bg_tile_info )
57TILE_GET_INFO_MEMBER(ddragon3_state::get_bg_tile_info)
5858{
59   ddragon3_state *state = machine.driver_data<ddragon3_state>();
60   UINT16 attr = state->m_bg_videoram[tile_index];
61   int code = (attr & 0x0fff) | ((state->m_bg_tilebase & 0x01) << 12);
59   UINT16 attr = m_bg_videoram[tile_index];
60   int code = (attr & 0x0fff) | ((m_bg_tilebase & 0x01) << 12);
6261   int color = ((attr & 0xf000) >> 12) + 16;
6362
64   SET_TILE_INFO(0, code, color, 0);
63   SET_TILE_INFO_MEMBER(0, code, color, 0);
6564}
6665
67static TILE_GET_INFO( get_fg_tile_info )
66TILE_GET_INFO_MEMBER(ddragon3_state::get_fg_tile_info)
6867{
69   ddragon3_state *state = machine.driver_data<ddragon3_state>();
7068   int offs = tile_index * 2;
71   UINT16 attr = state->m_fg_videoram[offs];
72   int code = state->m_fg_videoram[offs + 1] & 0x1fff;
69   UINT16 attr = m_fg_videoram[offs];
70   int code = m_fg_videoram[offs + 1] & 0x1fff;
7371   int color = attr & 0xf;
7472   int flags = (attr & 0x40) ? TILE_FLIPX : 0;
7573
76   SET_TILE_INFO(0, code, color, flags);
74   SET_TILE_INFO_MEMBER(0, code, color, flags);
7775}
7876
7977VIDEO_START( ddragon3 )
8078{
8179   ddragon3_state *state = machine.driver_data<ddragon3_state>();
8280
83   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
84   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
81   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);
82   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);
8583
8684   state->m_bg_tilemap->set_transparent_pen(0);
8785   state->m_fg_tilemap->set_transparent_pen(0);
trunk/src/mame/video/dragrace.c
r17673r17674
88#include "includes/dragrace.h"
99
1010
11static TILE_GET_INFO( get_tile_info )
11TILE_GET_INFO_MEMBER(dragrace_state::get_tile_info)
1212{
13   dragrace_state *state = machine.driver_data<dragrace_state>();
14   UINT8 code = state->m_playfield_ram[tile_index];
13   UINT8 code = m_playfield_ram[tile_index];
1514   int num = 0;
1615   int col = 0;
1716
r17673r17674
3635      break;
3736   }
3837
39   SET_TILE_INFO(((code & 0xA0) == 0x80) ? 1 : 0, num, col, 0);
38   SET_TILE_INFO_MEMBER(((code & 0xA0) == 0x80) ? 1 : 0, num, col, 0);
4039}
4140
4241
4342VIDEO_START( dragrace )
4443{
4544   dragrace_state *state = machine.driver_data<dragrace_state>();
46   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
45   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);
4746}
4847
4948
trunk/src/mame/video/orbit.c
r17673r17674
1414}
1515
1616
17static TILE_GET_INFO( get_tile_info )
17TILE_GET_INFO_MEMBER(orbit_state::get_tile_info)
1818{
19   orbit_state *state = machine.driver_data<orbit_state>();
20   UINT8 code = state->m_playfield_ram[tile_index];
19   UINT8 code = m_playfield_ram[tile_index];
2120   int flags = 0;
2221
2322   if (BIT(code, 6))
2423      flags |= TILE_FLIPX;
25   if (state->m_flip_screen)
24   if (m_flip_screen)
2625      flags |= TILE_FLIPY;
2726
28   SET_TILE_INFO(3, code & 0x3f, 0, flags);
27   SET_TILE_INFO_MEMBER(3, code & 0x3f, 0, flags);
2928}
3029
3130
3231VIDEO_START( orbit )
3332{
3433   orbit_state *state = machine.driver_data<orbit_state>();
35   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 30);
34   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);
3635}
3736
3837
trunk/src/mame/video/seibuspi.c
r17673r17674
400400   }
401401}
402402
403static TILE_GET_INFO( get_text_tile_info )
403TILE_GET_INFO_MEMBER(seibuspi_state::get_text_tile_info)
404404{
405   seibuspi_state *state = machine.driver_data<seibuspi_state>();
406405   int offs = tile_index / 2;
407   int tile = (state->m_tilemap_ram[offs + state->m_text_layer_offset] >> ((tile_index & 0x1) ? 16 : 0)) & 0xffff;
406   int tile = (m_tilemap_ram[offs + m_text_layer_offset] >> ((tile_index & 0x1) ? 16 : 0)) & 0xffff;
408407   int color = (tile >> 12) & 0xf;
409408
410409   tile &= 0xfff;
411410
412   SET_TILE_INFO(0, tile, color, 0);
411   SET_TILE_INFO_MEMBER(0, tile, color, 0);
413412}
414413
415static TILE_GET_INFO( get_back_tile_info )
414TILE_GET_INFO_MEMBER(seibuspi_state::get_back_tile_info)
416415{
417   seibuspi_state *state = machine.driver_data<seibuspi_state>();
418416   int offs = tile_index / 2;
419   int tile = (state->m_tilemap_ram[offs] >> ((tile_index & 0x1) ? 16 : 0)) & 0xffff;
417   int tile = (m_tilemap_ram[offs] >> ((tile_index & 0x1) ? 16 : 0)) & 0xffff;
420418   int color = (tile >> 13) & 0x7;
421419
422420   tile &= 0x1fff;
423421
424   if( state->m_rf2_layer_bank[0] )
422   if( m_rf2_layer_bank[0] )
425423      tile |= 0x4000;
426424
427   SET_TILE_INFO(1, tile, color, 0);
425   SET_TILE_INFO_MEMBER(1, tile, color, 0);
428426}
429427
430static TILE_GET_INFO( get_mid_tile_info )
428TILE_GET_INFO_MEMBER(seibuspi_state::get_mid_tile_info)
431429{
432   seibuspi_state *state = machine.driver_data<seibuspi_state>();
433430   int offs = tile_index / 2;
434   int tile = (state->m_tilemap_ram[offs + state->m_mid_layer_offset] >> ((tile_index & 0x1) ? 16 : 0)) & 0xffff;
431   int tile = (m_tilemap_ram[offs + m_mid_layer_offset] >> ((tile_index & 0x1) ? 16 : 0)) & 0xffff;
435432   int color = (tile >> 13) & 0x7;
436433
437434   tile &= 0x1fff;
438435   tile |= 0x2000;
439436
440   if( state->m_rf2_layer_bank[1] )
437   if( m_rf2_layer_bank[1] )
441438      tile |= 0x4000;
442439
443   SET_TILE_INFO(1, tile, color + 16, 0);
440   SET_TILE_INFO_MEMBER(1, tile, color + 16, 0);
444441}
445442
446static TILE_GET_INFO( get_fore_tile_info )
443TILE_GET_INFO_MEMBER(seibuspi_state::get_fore_tile_info)
447444{
448   seibuspi_state *state = machine.driver_data<seibuspi_state>();
449445   int offs = tile_index / 2;
450   int tile = (state->m_tilemap_ram[offs + state->m_fore_layer_offset] >> ((tile_index & 0x1) ? 16 : 0)) & 0xffff;
446   int tile = (m_tilemap_ram[offs + m_fore_layer_offset] >> ((tile_index & 0x1) ? 16 : 0)) & 0xffff;
451447   int color = (tile >> 13) & 0x7;
452448
453449   tile &= 0x1fff;
454   tile |= state->m_bg_fore_layer_position;
450   tile |= m_bg_fore_layer_position;
455451
456   if( state->m_rf2_layer_bank[2] )
452   if( m_rf2_layer_bank[2] )
457453      tile |= 0x4000;
458454
459   tile |= ((state->m_layer_bank >> 27) & 0x1) << 13;
455   tile |= ((m_layer_bank >> 27) & 0x1) << 13;
460456
461   SET_TILE_INFO(1, tile, color + 8, 0);
457   SET_TILE_INFO_MEMBER(1, tile, color + 8, 0);
462458}
463459
464460VIDEO_START( spi )
r17673r17674
467463   int i;
468464   int region_length;
469465
470   state->m_text_layer   = tilemap_create( machine, get_text_tile_info, TILEMAP_SCAN_ROWS,  8,8,64,32 );
471   state->m_back_layer   = tilemap_create( machine, get_back_tile_info, TILEMAP_SCAN_COLS,  16,16,32,32 );
472   state->m_mid_layer   = tilemap_create( machine, get_mid_tile_info, TILEMAP_SCAN_COLS,  16,16,32,32 );
473   state->m_fore_layer   = tilemap_create( machine, get_fore_tile_info, TILEMAP_SCAN_COLS,  16,16,32,32 );
466   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 );
467   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 );
468   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 );
469   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 );
474470
475471   state->m_text_layer->set_transparent_pen(31);
476472   state->m_mid_layer->set_transparent_pen(63);
trunk/src/mame/video/sauro.c
r17673r17674
4545   m_bg_tilemap->set_scrollx(0, data);
4646}
4747
48static TILE_GET_INFO( get_tile_info_bg )
48TILE_GET_INFO_MEMBER(sauro_state::get_tile_info_bg)
4949{
50   sauro_state *state = machine.driver_data<sauro_state>();
51   int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 0x07) << 8);
52   int color = ((state->m_colorram[tile_index] >> 4) & 0x0f) | state->m_palette_bank;
53   int flags = state->m_colorram[tile_index] & 0x08 ? TILE_FLIPX : 0;
50   int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x07) << 8);
51   int color = ((m_colorram[tile_index] >> 4) & 0x0f) | m_palette_bank;
52   int flags = m_colorram[tile_index] & 0x08 ? TILE_FLIPX : 0;
5453
55   SET_TILE_INFO(0, code, color, flags);
54   SET_TILE_INFO_MEMBER(0, code, color, flags);
5655}
5756
58static TILE_GET_INFO( get_tile_info_fg )
57TILE_GET_INFO_MEMBER(sauro_state::get_tile_info_fg)
5958{
60   sauro_state *state = machine.driver_data<sauro_state>();
61   int code = state->m_videoram2[tile_index] + ((state->m_colorram2[tile_index] & 0x07) << 8);
62   int color = ((state->m_colorram2[tile_index] >> 4) & 0x0f) | state->m_palette_bank;
63   int flags = state->m_colorram2[tile_index] & 0x08 ? TILE_FLIPX : 0;
59   int code = m_videoram2[tile_index] + ((m_colorram2[tile_index] & 0x07) << 8);
60   int color = ((m_colorram2[tile_index] >> 4) & 0x0f) | m_palette_bank;
61   int flags = m_colorram2[tile_index] & 0x08 ? TILE_FLIPX : 0;
6462
65   SET_TILE_INFO(1, code, color, flags);
63   SET_TILE_INFO_MEMBER(1, code, color, flags);
6664}
6765
6866/* Sauro */
r17673r17674
8987{
9088   sauro_state *state = machine.driver_data<sauro_state>();
9189
92   state->m_bg_tilemap = tilemap_create(machine, get_tile_info_bg, TILEMAP_SCAN_COLS,
90   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sauro_state::get_tile_info_bg),state), TILEMAP_SCAN_COLS,
9391       8, 8, 32, 32);
9492
95   state->m_fg_tilemap = tilemap_create(machine, get_tile_info_fg, TILEMAP_SCAN_COLS,
93   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sauro_state::get_tile_info_fg),state), TILEMAP_SCAN_COLS,
9694       8, 8, 32, 32);
9795
9896   state->m_fg_tilemap->set_transparent_pen(0);
r17673r17674
163161{
164162   sauro_state *state = machine.driver_data<sauro_state>();
165163
166   state->m_bg_tilemap = tilemap_create(machine, get_tile_info_bg, TILEMAP_SCAN_COLS,
164   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sauro_state::get_tile_info_bg),state), TILEMAP_SCAN_COLS,
167165       8, 8, 32, 32);
168166}
169167
trunk/src/mame/video/gaplus.c
r17673r17674
8181***************************************************************************/
8282
8383/* convert from 32x32 to 36x28 */
84static TILEMAP_MAPPER( tilemap_scan )
84TILEMAP_MAPPER_MEMBER(gaplus_state::tilemap_scan)
8585{
8686   int offs;
8787
r17673r17674
9595   return offs;
9696}
9797
98static TILE_GET_INFO( get_tile_info )
98TILE_GET_INFO_MEMBER(gaplus_state::get_tile_info)
9999{
100   gaplus_state *state = machine.driver_data<gaplus_state>();
101   UINT8 attr = state->m_videoram[tile_index + 0x400];
100   UINT8 attr = m_videoram[tile_index + 0x400];
102101   tileinfo.category = (attr & 0x40) >> 6;
103102   tileinfo.group = attr & 0x3f;
104   SET_TILE_INFO(
103   SET_TILE_INFO_MEMBER(
105104         0,
106         state->m_videoram[tile_index] + ((attr & 0x80) << 1),
105         m_videoram[tile_index] + ((attr & 0x80) << 1),
107106         attr & 0x3f,
108107         0);
109108}
r17673r17674
183182VIDEO_START( gaplus )
184183{
185184   gaplus_state *state = machine.driver_data<gaplus_state>();
186   state->m_bg_tilemap = tilemap_create(machine, get_tile_info,tilemap_scan,8,8,36,28);
185   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);
187186
188187   colortable_configure_tilemap_groups(machine.colortable, state->m_bg_tilemap, machine.gfx[0], 0xff);
189188
trunk/src/mame/video/drmicro.c
r17673r17674
2626
2727/****************************************************************************/
2828
29static TILE_GET_INFO( get_bg1_tile_info )
29TILE_GET_INFO_MEMBER(drmicro_state::get_bg1_tile_info)
3030{
31   drmicro_state *state = machine.driver_data<drmicro_state>();
3231   int code, col, flags;
3332
34   code = state->m_videoram[tile_index + 0x0800];
35   col = state->m_videoram[tile_index + 0x0c00];
33   code = m_videoram[tile_index + 0x0800];
34   col = m_videoram[tile_index + 0x0c00];
3635
3736   code += (col & 0xc0) << 2;
3837   flags = ((col & 0x20) ? TILEMAP_FLIPY : 0) | ((col & 0x10) ? TILEMAP_FLIPX : 0);
3938   col &= 0x0f;
4039
41   SET_TILE_INFO( 0, code, col, flags);
40   SET_TILE_INFO_MEMBER( 0, code, col, flags);
4241}
4342
44static TILE_GET_INFO( get_bg2_tile_info )
43TILE_GET_INFO_MEMBER(drmicro_state::get_bg2_tile_info)
4544{
46   drmicro_state *state = machine.driver_data<drmicro_state>();
4745   int code, col, flags;
4846
49   code = state->m_videoram[tile_index + 0x0000];
50   col = state->m_videoram[tile_index + 0x0400];
47   code = m_videoram[tile_index + 0x0000];
48   col = m_videoram[tile_index + 0x0400];
5149
5250   code += (col & 0xc0) << 2;
5351   flags = ((col & 0x20) ? TILEMAP_FLIPY : 0) | ((col & 0x10) ? TILEMAP_FLIPX : 0);
5452   col &= 0x0f;
5553
56   SET_TILE_INFO( 1, code, col, flags);
54   SET_TILE_INFO_MEMBER( 1, code, col, flags);
5755}
5856
5957/****************************************************************************/
r17673r17674
110108   state->m_videoram = auto_alloc_array(machine, UINT8, 0x1000);
111109   state->save_pointer(NAME(state->m_videoram), 0x1000);
112110
113   state->m_bg1 = tilemap_create(machine, get_bg1_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
114   state->m_bg2 = tilemap_create(machine, get_bg2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
111   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);
112   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);
115113
116114   state->m_bg2->set_transparent_pen(0);
117115}
trunk/src/mame/video/system1.c
r17673r17674
9696 *
9797 *************************************/
9898
99static TILE_GET_INFO( tile_get_info )
99TILE_GET_INFO_MEMBER(system1_state::tile_get_info)
100100{
101101   const UINT8 *rambase = (const UINT8 *)param;
102102   UINT32 tiledata = rambase[tile_index*2+0] | (rambase[tile_index*2+1] << 8);
103103   UINT32 code = ((tiledata >> 4) & 0x800) | (tiledata & 0x7ff);
104104   UINT32 color = (tiledata >> 5) & 0xff;
105105
106   SET_TILE_INFO(0, code, color, 0);
106   SET_TILE_INFO_MEMBER(0, code, color, 0);
107107}
108108
109109
r17673r17674
130130   /* create the tilemap pages */
131131   for (pagenum = 0; pagenum < pagecount; pagenum++)
132132   {
133      state->m_tilemap_page[pagenum] = tilemap_create(machine, tile_get_info, TILEMAP_SCAN_ROWS, 8,8, 32,32);
133      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);
134134      state->m_tilemap_page[pagenum]->set_transparent_pen(0);
135135      state->m_tilemap_page[pagenum]->set_user_data(state->m_videoram + 0x800 * pagenum);
136136   }
trunk/src/mame/video/powerins.c
r17673r17674
118118#define DIM_NY_0         (0x20)
119119
120120
121static TILE_GET_INFO( get_tile_info_0 )
121TILE_GET_INFO_MEMBER(powerins_state::get_tile_info_0)
122122{
123   powerins_state *state = machine.driver_data<powerins_state>();
124   UINT16 code = state->m_vram_0[tile_index];
125   SET_TILE_INFO(
123   UINT16 code = m_vram_0[tile_index];
124   SET_TILE_INFO_MEMBER(
126125         0,
127         (code & 0x07ff) + (state->m_tile_bank*0x800),
126         (code & 0x07ff) + (m_tile_bank*0x800),
128127         ((code & 0xf000) >> (16-4)) + ((code & 0x0800) >> (11-4)),
129128         0);
130129}
r17673r17674
135134   m_tilemap_0->mark_tile_dirty(offset);
136135}
137136
138static TILEMAP_MAPPER( powerins_get_memory_offset_0 )
137TILEMAP_MAPPER_MEMBER(powerins_state::powerins_get_memory_offset_0)
139138{
140139   return   (col * TILES_PER_PAGE_Y) +
141140
r17673r17674
159158#define DIM_NX_1   (0x40)
160159#define DIM_NY_1   (0x20)
161160
162static TILE_GET_INFO( get_tile_info_1 )
161TILE_GET_INFO_MEMBER(powerins_state::get_tile_info_1)
163162{
164   powerins_state *state = machine.driver_data<powerins_state>();
165   UINT16 code = state->m_vram_1[tile_index];
166   SET_TILE_INFO(
163   UINT16 code = m_vram_1[tile_index];
164   SET_TILE_INFO_MEMBER(
167165         1,
168166         code & 0x0fff,
169167         (code & 0xf000) >> (16-4),
r17673r17674
191189VIDEO_START( powerins )
192190{
193191   powerins_state *state = machine.driver_data<powerins_state>();
194   state->m_tilemap_0 = tilemap_create(   machine, get_tile_info_0,
195                        powerins_get_memory_offset_0,
192   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 );
193   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 );
196194
197                        16,16,
198                        DIM_NX_0, DIM_NY_0 );
195   state->m_tilemap_0->set_scroll_rows(1);
196   state->m_tilemap_0->set_scroll_cols(1);
199197
200   state->m_tilemap_1 = tilemap_create(   machine, get_tile_info_1,
201                        TILEMAP_SCAN_COLS,
202
203                        8,8,
204                        DIM_NX_1, DIM_NY_1 );
205
206      state->m_tilemap_0->set_scroll_rows(1);
207      state->m_tilemap_0->set_scroll_cols(1);
208
209      state->m_tilemap_1->set_scroll_rows(1);
210      state->m_tilemap_1->set_scroll_cols(1);
211      state->m_tilemap_1->set_transparent_pen(15);
198   state->m_tilemap_1->set_scroll_rows(1);
199   state->m_tilemap_1->set_scroll_cols(1);
200   state->m_tilemap_1->set_transparent_pen(15);
212201}
213202
214203
trunk/src/mame/video/exedexes.c
r17673r17674
127127}
128128
129129
130static TILE_GET_INFO( get_bg_tile_info )
130TILE_GET_INFO_MEMBER(exedexes_state::get_bg_tile_info)
131131{
132   UINT8 *tilerom = machine.root_device().memregion("gfx5")->base();
132   UINT8 *tilerom = machine().root_device().memregion("gfx5")->base();
133133
134134   int attr = tilerom[tile_index];
135135   int code = attr & 0x3f;
136136   int color = tilerom[tile_index + (8 * 8)];
137137   int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);
138138
139   SET_TILE_INFO(1, code, color, flags);
139   SET_TILE_INFO_MEMBER(1, code, color, flags);
140140}
141141
142static TILE_GET_INFO( get_fg_tile_info )
142TILE_GET_INFO_MEMBER(exedexes_state::get_fg_tile_info)
143143{
144   int code = machine.root_device().memregion("gfx5")->base()[tile_index];
144   int code = machine().root_device().memregion("gfx5")->base()[tile_index];
145145
146   SET_TILE_INFO(2, code, 0, 0);
146   SET_TILE_INFO_MEMBER(2, code, 0, 0);
147147}
148148
149static TILE_GET_INFO( get_tx_tile_info )
149TILE_GET_INFO_MEMBER(exedexes_state::get_tx_tile_info)
150150{
151   exedexes_state *state = machine.driver_data<exedexes_state>();
152   int code = state->m_videoram[tile_index] + 2 * (state->m_colorram[tile_index] & 0x80);
153   int color = state->m_colorram[tile_index] & 0x3f;
151   int code = m_videoram[tile_index] + 2 * (m_colorram[tile_index] & 0x80);
152   int color = m_colorram[tile_index] & 0x3f;
154153
155154   tileinfo.group = color;
156155
157   SET_TILE_INFO(0, code, color, 0);
156   SET_TILE_INFO_MEMBER(0, code, color, 0);
158157}
159158
160static TILEMAP_MAPPER( exedexes_bg_tilemap_scan )
159TILEMAP_MAPPER_MEMBER(exedexes_state::exedexes_bg_tilemap_scan)
161160{
162161   /* logical (col,row) -> memory offset */
163162   return ((col * 32 & 0xe0) >> 5) + ((row * 32 & 0xe0) >> 2) + ((col * 32 & 0x3f00) >> 1) + 0x4000;
164163}
165164
166static TILEMAP_MAPPER( exedexes_fg_tilemap_scan )
165TILEMAP_MAPPER_MEMBER(exedexes_state::exedexes_fg_tilemap_scan)
167166{
168167   /* logical (col,row) -> memory offset */
169168   return ((col * 16 & 0xf0) >> 4) + (row * 16 & 0xf0) + (col * 16 & 0x700) + ((row * 16 & 0x700) << 3);
r17673r17674
173172{
174173   exedexes_state *state = machine.driver_data<exedexes_state>();
175174
176   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, exedexes_bg_tilemap_scan, 32, 32, 64, 64);
177   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, exedexes_fg_tilemap_scan, 16, 16, 128, 128);
178   state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
175   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);
176   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);
177   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);
179178
180179   state->m_fg_tilemap->set_transparent_pen(0);
181180   colortable_configure_tilemap_groups(machine.colortable, state->m_tx_tilemap, machine.gfx[0], 0xcf);
trunk/src/mame/video/suprnova.c
r17673r17674
272272
273273
274274
275static TILE_GET_INFO( get_tilemap_A_tile_info )
275TILE_GET_INFO_MEMBER(skns_state::get_tilemap_A_tile_info)
276276{
277   skns_state *state = machine.driver_data<skns_state>();
278   int code = ((state->m_tilemapA_ram[tile_index] & 0x001fffff) >> 0 );
279   int colr = ((state->m_tilemapA_ram[tile_index] & 0x3f000000) >> 24 );
280   int pri  = ((state->m_tilemapA_ram[tile_index] & 0x00e00000) >> 21 );
281   int depth = (state->m_v3_regs[0x0c/4] & 0x0001) << 1;
277   int code = ((m_tilemapA_ram[tile_index] & 0x001fffff) >> 0 );
278   int colr = ((m_tilemapA_ram[tile_index] & 0x3f000000) >> 24 );
279   int pri  = ((m_tilemapA_ram[tile_index] & 0x00e00000) >> 21 );
280   int depth = (m_v3_regs[0x0c/4] & 0x0001) << 1;
282281   int flags = 0;
283282
284   if(state->m_tilemapA_ram[tile_index] & 0x80000000) flags |= TILE_FLIPX;
285   if(state->m_tilemapA_ram[tile_index] & 0x40000000) flags |= TILE_FLIPY;
283   if(m_tilemapA_ram[tile_index] & 0x80000000) flags |= TILE_FLIPX;
284   if(m_tilemapA_ram[tile_index] & 0x40000000) flags |= TILE_FLIPY;
286285
287   SET_TILE_INFO(
286   SET_TILE_INFO_MEMBER(
288287         0+depth,
289288         code,
290289         0x40+colr,
r17673r17674
300299   m_tilemap_A->mark_tile_dirty(offset);
301300}
302301
303static TILE_GET_INFO( get_tilemap_B_tile_info )
302TILE_GET_INFO_MEMBER(skns_state::get_tilemap_B_tile_info)
304303{
305   skns_state *state = machine.driver_data<skns_state>();
306   int code = ((state->m_tilemapB_ram[tile_index] & 0x001fffff) >> 0 );
307   int colr = ((state->m_tilemapB_ram[tile_index] & 0x3f000000) >> 24 );
308   int pri  = ((state->m_tilemapB_ram[tile_index] & 0x00e00000) >> 21 );
309   int depth = (state->m_v3_regs[0x0c/4] & 0x0100) >> 7;
304   int code = ((m_tilemapB_ram[tile_index] & 0x001fffff) >> 0 );
305   int colr = ((m_tilemapB_ram[tile_index] & 0x3f000000) >> 24 );
306   int pri  = ((m_tilemapB_ram[tile_index] & 0x00e00000) >> 21 );
307   int depth = (m_v3_regs[0x0c/4] & 0x0100) >> 7;
310308   int flags = 0;
311309
312   if(state->m_tilemapB_ram[tile_index] & 0x80000000) flags |= TILE_FLIPX;
313   if(state->m_tilemapB_ram[tile_index] & 0x40000000) flags |= TILE_FLIPY;
310   if(m_tilemapB_ram[tile_index] & 0x80000000) flags |= TILE_FLIPX;
311   if(m_tilemapB_ram[tile_index] & 0x40000000) flags |= TILE_FLIPY;
314312
315   SET_TILE_INFO(
313   SET_TILE_INFO_MEMBER(
316314         1+depth,
317315         code,
318316         0x40+colr,
r17673r17674
354352
355353   state->m_spritegen = machine.device<sknsspr_device>("spritegen");
356354
357   state->m_tilemap_A = tilemap_create(machine, get_tilemap_A_tile_info,TILEMAP_SCAN_ROWS,16,16,64, 64);
355   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);
358356      state->m_tilemap_A->set_transparent_pen(0);
359357
360   state->m_tilemap_B = tilemap_create(machine, get_tilemap_B_tile_info,TILEMAP_SCAN_ROWS,16,16,64, 64);
358   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);
361359      state->m_tilemap_B->set_transparent_pen(0);
362360
363361   state->m_sprite_bitmap.allocate(1024,1024);
trunk/src/mame/video/flkatck.c
r17673r17674
1414
1515***************************************************************************/
1616
17static TILE_GET_INFO( get_tile_info_A )
17TILE_GET_INFO_MEMBER(flkatck_state::get_tile_info_A)
1818{
19   flkatck_state *state = machine.driver_data<flkatck_state>();
20   UINT8 ctrl_0 = k007121_ctrlram_r(state->m_k007121, 0);
21   UINT8 ctrl_2 = k007121_ctrlram_r(state->m_k007121, 2);
22   UINT8 ctrl_3 = k007121_ctrlram_r(state->m_k007121, 3);
23   UINT8 ctrl_4 = k007121_ctrlram_r(state->m_k007121, 4);
24   UINT8 ctrl_5 = k007121_ctrlram_r(state->m_k007121, 5);
25   int attr = state->m_k007121_ram[tile_index];
26   int code = state->m_k007121_ram[tile_index + 0x400];
19   UINT8 ctrl_0 = k007121_ctrlram_r(m_k007121, 0);
20   UINT8 ctrl_2 = k007121_ctrlram_r(m_k007121, 2);
21   UINT8 ctrl_3 = k007121_ctrlram_r(m_k007121, 3);
22   UINT8 ctrl_4 = k007121_ctrlram_r(m_k007121, 4);
23   UINT8 ctrl_5 = k007121_ctrlram_r(m_k007121, 5);
24   int attr = m_k007121_ram[tile_index];
25   int code = m_k007121_ram[tile_index + 0x400];
2726   int bit0 = (ctrl_5 >> 0) & 0x03;
2827   int bit1 = (ctrl_5 >> 2) & 0x03;
2928   int bit2 = (ctrl_5 >> 4) & 0x03;
r17673r17674
4241      bank = 0;   /*  this allows the game to print text
4342                    in all banks selected by the k007121 */
4443
45   SET_TILE_INFO(
44   SET_TILE_INFO_MEMBER(
4645         0,
4746         code + 256*bank,
4847         (attr & 0x0f) + 16,
4948         (attr & 0x20) ? TILE_FLIPY : 0);
5049}
5150
52static TILE_GET_INFO( get_tile_info_B )
51TILE_GET_INFO_MEMBER(flkatck_state::get_tile_info_B)
5352{
54   flkatck_state *state = machine.driver_data<flkatck_state>();
55   int attr = state->m_k007121_ram[tile_index + 0x800];
56   int code = state->m_k007121_ram[tile_index + 0xc00];
53   int attr = m_k007121_ram[tile_index + 0x800];
54   int code = m_k007121_ram[tile_index + 0xc00];
5755
58   SET_TILE_INFO(
56   SET_TILE_INFO_MEMBER(
5957         0,
6058         code,
6159         (attr & 0x0f) + 16,
r17673r17674
7270VIDEO_START( flkatck )
7371{
7472   flkatck_state *state = machine.driver_data<flkatck_state>();
75   state->m_k007121_tilemap[0] = tilemap_create(machine, get_tile_info_A, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
76   state->m_k007121_tilemap[1] = tilemap_create(machine, get_tile_info_B, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
73   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);
74   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);
7775}
7876
7977
trunk/src/mame/video/shootout.c
r17673r17674
3939
4040
4141
42static TILE_GET_INFO( get_bg_tile_info )
42TILE_GET_INFO_MEMBER(shootout_state::get_bg_tile_info)
4343{
44   shootout_state *state = machine.driver_data<shootout_state>();
45   int attributes = state->m_videoram[tile_index+0x400]; /* CCCC -TTT */
46   int tile_number = state->m_videoram[tile_index] + 256*(attributes&7);
44   int attributes = m_videoram[tile_index+0x400]; /* CCCC -TTT */
45   int tile_number = m_videoram[tile_index] + 256*(attributes&7);
4746   int color = attributes>>4;
4847
49   SET_TILE_INFO(
48   SET_TILE_INFO_MEMBER(
5049         2,
5150         tile_number,
5251         color,
5352         0);
5453}
5554
56static TILE_GET_INFO( get_fg_tile_info )
55TILE_GET_INFO_MEMBER(shootout_state::get_fg_tile_info)
5756{
58   shootout_state *state = machine.driver_data<shootout_state>();
59   int attributes = state->m_textram[tile_index+0x400]; /* CCCC --TT */
60   int tile_number = state->m_textram[tile_index] + 256*(attributes&0x3);
57   int attributes = m_textram[tile_index+0x400]; /* CCCC --TT */
58   int tile_number = m_textram[tile_index] + 256*(attributes&0x3);
6159   int color = attributes>>4;
6260
63   SET_TILE_INFO(
61   SET_TILE_INFO_MEMBER(
6462         0,
6563         tile_number,
6664         color,
r17673r17674
8583{
8684   shootout_state *state = machine.driver_data<shootout_state>();
8785
88   state->m_background = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
89   state->m_foreground = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
86   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);
87   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);
9088   state->m_foreground->set_transparent_pen(0 );
9189}
9290
trunk/src/mame/video/contra.c
r17673r17674
7676
7777***************************************************************************/
7878
79static TILE_GET_INFO( get_fg_tile_info )
79TILE_GET_INFO_MEMBER(contra_state::get_fg_tile_info)
8080{
81   contra_state *state = machine.driver_data<contra_state>();
82   UINT8 ctrl_3 = k007121_ctrlram_r(state->m_k007121_1, 3);
83   UINT8 ctrl_4 = k007121_ctrlram_r(state->m_k007121_1, 4);
84   UINT8 ctrl_5 = k007121_ctrlram_r(state->m_k007121_1, 5);
85   UINT8 ctrl_6 = k007121_ctrlram_r(state->m_k007121_1, 6);
86   int attr = state->m_fg_cram[tile_index];
81   UINT8 ctrl_3 = k007121_ctrlram_r(m_k007121_1, 3);
82   UINT8 ctrl_4 = k007121_ctrlram_r(m_k007121_1, 4);
83   UINT8 ctrl_5 = k007121_ctrlram_r(m_k007121_1, 5);
84   UINT8 ctrl_6 = k007121_ctrlram_r(m_k007121_1, 6);
85   int attr = m_fg_cram[tile_index];
8786   int bit0 = (ctrl_5 >> 0) & 0x03;
8887   int bit1 = (ctrl_5 >> 2) & 0x03;
8988   int bit2 = (ctrl_5 >> 4) & 0x03;
r17673r17674
9897
9998   bank = (bank & ~(mask << 1)) | ((ctrl_4 & mask) << 1);
10099
101   SET_TILE_INFO(
100   SET_TILE_INFO_MEMBER(
102101         0,
103         state->m_fg_vram[tile_index] + bank * 256,
102         m_fg_vram[tile_index] + bank * 256,
104103         ((ctrl_6 & 0x30) * 2 + 16) + (attr & 7),
105104         0);
106105}
107106
108static TILE_GET_INFO( get_bg_tile_info )
107TILE_GET_INFO_MEMBER(contra_state::get_bg_tile_info)
109108{
110   contra_state *state = machine.driver_data<contra_state>();
111   UINT8 ctrl_3 = k007121_ctrlram_r(state->m_k007121_2, 3);
112   UINT8 ctrl_4 = k007121_ctrlram_r(state->m_k007121_2, 4);
113   UINT8 ctrl_5 = k007121_ctrlram_r(state->m_k007121_2, 5);
114   UINT8 ctrl_6 = k007121_ctrlram_r(state->m_k007121_2, 6);
115   int attr = state->m_bg_cram[tile_index];
109   UINT8 ctrl_3 = k007121_ctrlram_r(m_k007121_2, 3);
110   UINT8 ctrl_4 = k007121_ctrlram_r(m_k007121_2, 4);
111   UINT8 ctrl_5 = k007121_ctrlram_r(m_k007121_2, 5);
112   UINT8 ctrl_6 = k007121_ctrlram_r(m_k007121_2, 6);
113   int attr = m_bg_cram[tile_index];
116114   int bit0 = (ctrl_5 >> 0) & 0x03;
117115   int bit1 = (ctrl_5 >> 2) & 0x03;
118116   int bit2 = (ctrl_5 >> 4) & 0x03;
r17673r17674
128126   // 2009-12 FP: TO BE VERIFIED - old code used ctrl4 from chip 0?!?
129127   bank = (bank & ~(mask << 1)) | ((ctrl_4 & mask) << 1);
130128
131   SET_TILE_INFO(
129   SET_TILE_INFO_MEMBER(
132130         1,
133         state->m_bg_vram[tile_index] + bank * 256,
131         m_bg_vram[tile_index] + bank * 256,
134132         ((ctrl_6 & 0x30) * 2 + 16) + (attr & 7),
135133         0);
136134}
137135
138static TILE_GET_INFO( get_tx_tile_info )
136TILE_GET_INFO_MEMBER(contra_state::get_tx_tile_info)
139137{
140   contra_state *state = machine.driver_data<contra_state>();
141   UINT8 ctrl_5 = k007121_ctrlram_r(state->m_k007121_1, 5);
142   UINT8 ctrl_6 = k007121_ctrlram_r(state->m_k007121_1, 6);
143   int attr = state->m_tx_cram[tile_index];
138   UINT8 ctrl_5 = k007121_ctrlram_r(m_k007121_1, 5);
139   UINT8 ctrl_6 = k007121_ctrlram_r(m_k007121_1, 6);
140   int attr = m_tx_cram[tile_index];
144141   int bit0 = (ctrl_5 >> 0) & 0x03;
145142   int bit1 = (ctrl_5 >> 2) & 0x03;
146143   int bit2 = (ctrl_5 >> 4) & 0x03;
r17673r17674
151148         ((attr >> (bit2    )) & 0x08) |
152149         ((attr >> (bit3 - 1)) & 0x10);
153150
154   SET_TILE_INFO(
151   SET_TILE_INFO_MEMBER(
155152         0,
156         state->m_tx_vram[tile_index] + bank * 256,
153         m_tx_vram[tile_index] + bank * 256,
157154         ((ctrl_6 & 0x30) * 2 + 16) + (attr & 7),
158155         0);
159156}
r17673r17674
169166{
170167   contra_state *state = machine.driver_data<contra_state>();
171168
172   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
173   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
174   state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
169   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);
170   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);
171   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);
175172
176173   state->m_buffered_spriteram = auto_alloc_array(machine, UINT8, 0x800);
177174   state->m_buffered_spriteram_2 = auto_alloc_array(machine, UINT8, 0x800);
trunk/src/mame/video/paradise.c
r17673r17674
9595   }
9696}
9797
98static TILE_GET_INFO( get_tile_info_0 )
98TILE_GET_INFO_MEMBER(paradise_state::get_tile_info_0)
9999{
100   paradise_state *state = machine.driver_data<paradise_state>();
101   int code = state->m_vram_0[tile_index] + (state->m_vram_0[tile_index + 0x400] << 8);
102   SET_TILE_INFO(1, code, state->m_palbank, 0);
100   int code = m_vram_0[tile_index] + (m_vram_0[tile_index + 0x400] << 8);
101   SET_TILE_INFO_MEMBER(1, code, m_palbank, 0);
103102}
104103
105104
r17673r17674
110109   m_tilemap_1->mark_tile_dirty(offset % 0x400);
111110}
112111
113static TILE_GET_INFO( get_tile_info_1 )
112TILE_GET_INFO_MEMBER(paradise_state::get_tile_info_1)
114113{
115   paradise_state *state = machine.driver_data<paradise_state>();
116   int code = state->m_vram_1[tile_index] + (state->m_vram_1[tile_index + 0x400] << 8);
117   SET_TILE_INFO(2, code, 0, 0);
114   int code = m_vram_1[tile_index] + (m_vram_1[tile_index + 0x400] << 8);
115   SET_TILE_INFO_MEMBER(2, code, 0, 0);
118116}
119117
120118
r17673r17674
125123   m_tilemap_2->mark_tile_dirty(offset % 0x400);
126124}
127125
128static TILE_GET_INFO( get_tile_info_2 )
126TILE_GET_INFO_MEMBER(paradise_state::get_tile_info_2)
129127{
130   paradise_state *state = machine.driver_data<paradise_state>();
131   int code = state->m_vram_2[tile_index] + (state->m_vram_2[tile_index + 0x400] << 8);
132   SET_TILE_INFO(3, code, 0, 0);
128   int code = m_vram_2[tile_index] + (m_vram_2[tile_index + 0x400] << 8);
129   SET_TILE_INFO_MEMBER(3, code, 0, 0);
133130}
134131
135132/* 256 x 256 bitmap. 4 bits per pixel so every byte encodes 2 pixels */
r17673r17674
158155{
159156   paradise_state *state = machine.driver_data<paradise_state>();
160157
161   state->m_tilemap_0 = tilemap_create(machine, get_tile_info_0, TILEMAP_SCAN_ROWS, 8, 8, 0x20, 0x20);
162   state->m_tilemap_1 = tilemap_create(machine, get_tile_info_1, TILEMAP_SCAN_ROWS, 8, 8, 0x20, 0x20);
163   state->m_tilemap_2 = tilemap_create(machine, get_tile_info_2, TILEMAP_SCAN_ROWS, 8, 8, 0x20, 0x20);
158   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);
159   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);
160   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);
164161
165162   /* pixmap */
166163   machine.primary_screen->register_screen_bitmap(state->m_tmpbitmap);
trunk/src/mame/video/chaknpop.c
r17673r17674
128128 *  I'm not sure how to handle attributes about color
129129 */
130130
131static TILE_GET_INFO( chaknpop_get_tx_tile_info )
131TILE_GET_INFO_MEMBER(chaknpop_state::chaknpop_get_tx_tile_info)
132132{
133   chaknpop_state *state = machine.driver_data<chaknpop_state>();
134   int tile = state->m_tx_ram[tile_index];
135   int tile_h_bank = (state->m_gfxmode & GFX_TX_BANK2) << 2;   /* 0x00-0xff -> 0x200-0x2ff */
136   int color = state->m_attr_ram[TX_COLOR2];
133   int tile = m_tx_ram[tile_index];
134   int tile_h_bank = (m_gfxmode & GFX_TX_BANK2) << 2;   /* 0x00-0xff -> 0x200-0x2ff */
135   int color = m_attr_ram[TX_COLOR2];
137136
138137   if (tile == 0x74)
139      color = state->m_attr_ram[TX_COLOR1];
138      color = m_attr_ram[TX_COLOR1];
140139
141   if (state->m_gfxmode & GFX_TX_BANK1 && tile >= 0xc0)
140   if (m_gfxmode & GFX_TX_BANK1 && tile >= 0xc0)
142141      tile += 0xc0;               /* 0xc0-0xff -> 0x180-0x1bf */
143142
144143   tile |= tile_h_bank;
145144
146   SET_TILE_INFO(1, tile, color, 0);
145   SET_TILE_INFO_MEMBER(1, tile, color, 0);
147146}
148147
149148
r17673r17674
157156   UINT8 *RAM = state->memregion("maincpu")->base();
158157
159158   /*                          info                       offset             type             w   h  col row */
160   state->m_tx_tilemap = tilemap_create(machine, chaknpop_get_tx_tile_info, TILEMAP_SCAN_ROWS,   8,  8, 32, 32);
159   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);
161160
162161   state->m_vram1 = &RAM[0x10000];
163162   state->m_vram2 = &RAM[0x12000];
trunk/src/mame/video/fitfight.c
r17673r17674
4141   }
4242}
4343
44static TILE_GET_INFO( get_fof_bak_tile_info )
44TILE_GET_INFO_MEMBER(fitfight_state::get_fof_bak_tile_info)
4545{
46   fitfight_state *state = machine.driver_data<fitfight_state>();
47   int code = state->m_fof_bak_tileram[tile_index * 2 + 1];
48   int colr = state->m_fof_bak_tileram[tile_index * 2] & 0x1f;
49   int xflip = (state->m_fof_bak_tileram[tile_index * 2] & 0x0020) >> 5;
46   int code = m_fof_bak_tileram[tile_index * 2 + 1];
47   int colr = m_fof_bak_tileram[tile_index * 2] & 0x1f;
48   int xflip = (m_fof_bak_tileram[tile_index * 2] & 0x0020) >> 5;
5049   xflip ^= 1;
5150
52   SET_TILE_INFO(2, code, colr, TILE_FLIPYX(xflip));
51   SET_TILE_INFO_MEMBER(2, code, colr, TILE_FLIPYX(xflip));
5352}
5453
5554WRITE16_MEMBER(fitfight_state::fof_bak_tileram_w)
r17673r17674
6059}
6160
6261
63static TILE_GET_INFO( get_fof_mid_tile_info )
62TILE_GET_INFO_MEMBER(fitfight_state::get_fof_mid_tile_info)
6463{
65   fitfight_state *state = machine.driver_data<fitfight_state>();
66   int code = state->m_fof_mid_tileram[tile_index * 2 + 1];
67   int colr = state->m_fof_mid_tileram[tile_index * 2] & 0x1f;
68   int xflip = (state->m_fof_mid_tileram[tile_index * 2] & 0x0020) >> 5;
64   int code = m_fof_mid_tileram[tile_index * 2 + 1];
65   int colr = m_fof_mid_tileram[tile_index * 2] & 0x1f;
66   int xflip = (m_fof_mid_tileram[tile_index * 2] & 0x0020) >> 5;
6967   xflip ^= 1;
7068
71   SET_TILE_INFO(1, code, colr, TILE_FLIPYX(xflip));
69   SET_TILE_INFO_MEMBER(1, code, colr, TILE_FLIPYX(xflip));
7270}
7371
7472WRITE16_MEMBER(fitfight_state::fof_mid_tileram_w)
r17673r17674
7876   m_fof_mid_tilemap->mark_tile_dirty(offset / 2);
7977}
8078
81static TILE_GET_INFO( get_fof_txt_tile_info )
79TILE_GET_INFO_MEMBER(fitfight_state::get_fof_txt_tile_info)
8280{
83   fitfight_state *state = machine.driver_data<fitfight_state>();
84   int code = state->m_fof_txt_tileram[tile_index * 2 + 1];
85   int colr = state->m_fof_txt_tileram[tile_index * 2] & 0x1f;
86   int xflip = (state->m_fof_txt_tileram[tile_index * 2] & 0x0020) >> 5;
81   int code = m_fof_txt_tileram[tile_index * 2 + 1];
82   int colr = m_fof_txt_tileram[tile_index * 2] & 0x1f;
83   int xflip = (m_fof_txt_tileram[tile_index * 2] & 0x0020) >> 5;
8784   xflip ^= 1;
8885
89   SET_TILE_INFO(0, code, colr, TILE_FLIPYX(xflip));
86   SET_TILE_INFO_MEMBER(0, code, colr, TILE_FLIPYX(xflip));
9087}
9188
9289WRITE16_MEMBER(fitfight_state::fof_txt_tileram_w)
r17673r17674
10198VIDEO_START(fitfight)
10299{
103100   fitfight_state *state = machine.driver_data<fitfight_state>();
104   state->m_fof_bak_tilemap = tilemap_create(machine, get_fof_bak_tile_info, TILEMAP_SCAN_COLS, 8, 8, 128, 32);
101   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);
105102   /* opaque */
106103
107   state->m_fof_mid_tilemap = tilemap_create(machine, get_fof_mid_tile_info, TILEMAP_SCAN_COLS, 8, 8, 128, 32);
104   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);
108105   state->m_fof_mid_tilemap->set_transparent_pen(0);
109106
110   state->m_fof_txt_tilemap = tilemap_create(machine, get_fof_txt_tile_info, TILEMAP_SCAN_COLS, 8, 8, 128, 32);
107   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);
111108   state->m_fof_txt_tilemap->set_transparent_pen(0);
112109}
113110
trunk/src/mame/video/ashnojoe.c
r17673r17674
99#include "includes/ashnojoe.h"
1010
1111
12static TILE_GET_INFO( get_joe_tile_info )
12TILE_GET_INFO_MEMBER(ashnojoe_state::get_joe_tile_info)
1313{
14   ashnojoe_state *state = machine.driver_data<ashnojoe_state>();
15   int code = state->m_tileram[tile_index];
14   int code = m_tileram[tile_index];
1615
17   SET_TILE_INFO(
16   SET_TILE_INFO_MEMBER(
1817         2,
1918         code & 0xfff,
2019         ((code >> 12) & 0x0f),
2120         0);
2221}
2322
24static TILE_GET_INFO( get_joe_tile_info_2 )
23TILE_GET_INFO_MEMBER(ashnojoe_state::get_joe_tile_info_2)
2524{
26   ashnojoe_state *state = machine.driver_data<ashnojoe_state>();
27   int code = state->m_tileram_2[tile_index * 2];
28   int attr = state->m_tileram_2[tile_index * 2 + 1];
25   int code = m_tileram_2[tile_index * 2];
26   int attr = m_tileram_2[tile_index * 2 + 1];
2927
30   SET_TILE_INFO(
28   SET_TILE_INFO_MEMBER(
3129         4,
3230         (code & 0x7fff),
3331         ((attr >> 8) & 0x1f) + 0x40,
3432         0);
3533}
3634
37static TILE_GET_INFO( get_joe_tile_info_3 )
35TILE_GET_INFO_MEMBER(ashnojoe_state::get_joe_tile_info_3)
3836{
39   ashnojoe_state *state = machine.driver_data<ashnojoe_state>();
40   int code = state->m_tileram_3[tile_index];
37   int code = m_tileram_3[tile_index];
4138
42   SET_TILE_INFO(
39   SET_TILE_INFO_MEMBER(
4340         0,
4441         code & 0xfff,
4542         ((code >> 12) & 0x0f) + 0x10,
4643         0);
4744}
4845
49static TILE_GET_INFO( get_joe_tile_info_4 )
46TILE_GET_INFO_MEMBER(ashnojoe_state::get_joe_tile_info_4)
5047{
51   ashnojoe_state *state = machine.driver_data<ashnojoe_state>();
52   int code = state->m_tileram_4[tile_index];
48   int code = m_tileram_4[tile_index];
5349
54   SET_TILE_INFO(
50   SET_TILE_INFO_MEMBER(
5551         1,
5652         code & 0xfff,
5753         ((code >> 12) & 0x0f) + 0x60,
5854         0);
5955}
6056
61static TILE_GET_INFO( get_joe_tile_info_5 )
57TILE_GET_INFO_MEMBER(ashnojoe_state::get_joe_tile_info_5)
6258{
63   ashnojoe_state *state = machine.driver_data<ashnojoe_state>();
64   int code = state->m_tileram_5[tile_index * 2];
65   int attr = state->m_tileram_5[tile_index * 2 + 1];
59   int code = m_tileram_5[tile_index * 2];
60   int attr = m_tileram_5[tile_index * 2 + 1];
6661
67   SET_TILE_INFO(
62   SET_TILE_INFO_MEMBER(
6863         4,
6964         (code & 0x7fff),
7065         ((attr >> 8) & 0x1f) + 0x20,
7166         0);
7267}
7368
74static TILE_GET_INFO( get_joe_tile_info_6 )
69TILE_GET_INFO_MEMBER(ashnojoe_state::get_joe_tile_info_6)
7570{
76   ashnojoe_state *state = machine.driver_data<ashnojoe_state>();
77   int code = state->m_tileram_6[tile_index * 2];
78   int attr = state->m_tileram_6[tile_index * 2 + 1];
71   int code = m_tileram_6[tile_index * 2];
72   int attr = m_tileram_6[tile_index * 2 + 1];
7973
80   SET_TILE_INFO(
74   SET_TILE_INFO_MEMBER(
8175         3,
8276         (code & 0x1fff),
8377         ((attr >> 8) & 0x1f) + 0x70,
r17673r17674
8579}
8680
8781
88static TILE_GET_INFO( get_joe_tile_info_7 )
82TILE_GET_INFO_MEMBER(ashnojoe_state::get_joe_tile_info_7)
8983{
90   ashnojoe_state *state = machine.driver_data<ashnojoe_state>();
91   int code = state->m_tileram_7[tile_index * 2];
92   int attr = state->m_tileram_7[tile_index * 2 + 1];
84   int code = m_tileram_7[tile_index * 2];
85   int attr = m_tileram_7[tile_index * 2 + 1];
9386
94   SET_TILE_INFO(
87   SET_TILE_INFO_MEMBER(
9588         3,
9689         (code & 0x1fff),
9790         ((attr >> 8) & 0x1f) + 0x70,
r17673r17674
200193{
201194   ashnojoe_state *state = machine.driver_data<ashnojoe_state>();
202195
203   state->m_joetilemap = tilemap_create(machine, get_joe_tile_info,  TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
204   state->m_joetilemap2 = tilemap_create(machine, get_joe_tile_info_2, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
205   state->m_joetilemap3 = tilemap_create(machine, get_joe_tile_info_3, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
206   state->m_joetilemap4 = tilemap_create(machine, get_joe_tile_info_4, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
207   state->m_joetilemap5 = tilemap_create(machine, get_joe_tile_info_5, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
208   state->m_joetilemap6 = tilemap_create(machine, get_joe_tile_info_6, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
209   state->m_joetilemap7 = tilemap_create(machine, get_joe_tile_info_7, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
196   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);
197   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);
198   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);
199   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);
200   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);
201   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);
202   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);
210203
211204   state->m_joetilemap->set_transparent_pen(15);
212205   state->m_joetilemap2->set_transparent_pen(15);
trunk/src/mame/video/ddribble.c
r17673r17674
8787
8888***************************************************************************/
8989
90static TILEMAP_MAPPER( tilemap_scan )
90TILEMAP_MAPPER_MEMBER(ddribble_state::tilemap_scan)
9191{
9292   /* logical (col,row) -> memory offset */
9393   return (col & 0x1f) + ((row & 0x1f) << 5) + ((col & 0x20) << 6);   /* skip 0x400 */
9494}
9595
96static TILE_GET_INFO( get_fg_tile_info )
96TILE_GET_INFO_MEMBER(ddribble_state::get_fg_tile_info)
9797{
98   ddribble_state *state = machine.driver_data<ddribble_state>();
99   UINT8 attr = state->m_fg_videoram[tile_index];
100   int num = state->m_fg_videoram[tile_index + 0x400] + ((attr & 0xc0) << 2) + ((attr & 0x20) << 5) + ((state->m_charbank[0] & 2) << 10);
101   SET_TILE_INFO(
98   UINT8 attr = m_fg_videoram[tile_index];
99   int num = m_fg_videoram[tile_index + 0x400] + ((attr & 0xc0) << 2) + ((attr & 0x20) << 5) + ((m_charbank[0] & 2) << 10);
100   SET_TILE_INFO_MEMBER(
102101         0,
103102         num,
104103         0,
105104         TILE_FLIPYX((attr & 0x30) >> 4));
106105}
107106
108static TILE_GET_INFO( get_bg_tile_info )
107TILE_GET_INFO_MEMBER(ddribble_state::get_bg_tile_info)
109108{
110   ddribble_state *state = machine.driver_data<ddribble_state>();
111   UINT8 attr = state->m_bg_videoram[tile_index];
112   int num = state->m_bg_videoram[tile_index + 0x400] + ((attr & 0xc0) << 2) + ((attr & 0x20) << 5) + (state->m_charbank[1] << 11);
113   SET_TILE_INFO(
109   UINT8 attr = m_bg_videoram[tile_index];
110   int num = m_bg_videoram[tile_index + 0x400] + ((attr & 0xc0) << 2) + ((attr & 0x20) << 5) + (m_charbank[1] << 11);
111   SET_TILE_INFO_MEMBER(
114112         1,
115113         num,
116114         0,
r17673r17674
127125{
128126   ddribble_state *state = machine.driver_data<ddribble_state>();
129127
130   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, tilemap_scan, 8, 8, 64, 32);
131   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan, 8, 8, 64, 32);
128   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);
129   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);
132130
133131   state->m_fg_tilemap->set_transparent_pen(0);
134132}
trunk/src/mame/video/terracre.c
r17673r17674
1010#include "includes/terracre.h"
1111
1212
13static
14TILE_GET_INFO( get_bg_tile_info )
13TILE_GET_INFO_MEMBER(terracre_state::get_bg_tile_info)
1514{
16   terracre_state *state = machine.driver_data<terracre_state>();
1715   /* xxxx.----.----.----
1816     * ----.xx--.----.----
1917     * ----.--xx.xxxx.xxxx */
20   unsigned data = state->m_amazon_videoram[tile_index];
18   unsigned data = m_amazon_videoram[tile_index];
2119   unsigned color = data>>11;
22   SET_TILE_INFO( 1,data&0x3ff,color,0 );
20   SET_TILE_INFO_MEMBER( 1,data&0x3ff,color,0 );
2321}
2422
25static
26TILE_GET_INFO( get_fg_tile_info )
23TILE_GET_INFO_MEMBER(terracre_state::get_fg_tile_info)
2724{
28   terracre_state *state = machine.driver_data<terracre_state>();
29   UINT16 *videoram = state->m_videoram;
25   UINT16 *videoram = m_videoram;
3026   int data = videoram[tile_index];
31   SET_TILE_INFO( 0,data&0xff,0,0 );
27   SET_TILE_INFO_MEMBER( 0,data&0xff,0,0 );
3228}
3329
3430static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
r17673r17674
190186VIDEO_START( amazon )
191187{
192188   terracre_state *state = machine.driver_data<terracre_state>();
193   state->m_background = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_COLS,16,16,64,32);
194   state->m_foreground = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_COLS,8,8,64,32);
189   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);
190   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);
195191   state->m_foreground->set_transparent_pen(0xf);
196192
197193   /* register for saving */
trunk/src/mame/video/grchamp.c
r17673r17674
7171   m_right_tilemap->mark_tile_dirty(offset);
7272}
7373
74static TILE_GET_INFO( get_text_tile_info )
74TILE_GET_INFO_MEMBER(grchamp_state::get_text_tile_info)
7575{
76   grchamp_state *state = machine.driver_data<grchamp_state>();
77   SET_TILE_INFO(0, state->m_videoram[tile_index], 0, 0);
76   SET_TILE_INFO_MEMBER(0, m_videoram[tile_index], 0, 0);
7877}
7978
80static TILE_GET_INFO( get_left_tile_info )
79TILE_GET_INFO_MEMBER(grchamp_state::get_left_tile_info)
8180{
82   grchamp_state *state = machine.driver_data<grchamp_state>();
83   SET_TILE_INFO(1, state->m_leftram[tile_index], 0, 0);
81   SET_TILE_INFO_MEMBER(1, m_leftram[tile_index], 0, 0);
8482}
8583
86static TILE_GET_INFO( get_right_tile_info )
84TILE_GET_INFO_MEMBER(grchamp_state::get_right_tile_info)
8785{
88   grchamp_state *state = machine.driver_data<grchamp_state>();
89   SET_TILE_INFO(2, state->m_rightram[tile_index], 0, 0);
86   SET_TILE_INFO_MEMBER(2, m_rightram[tile_index], 0, 0);
9087}
9188
92static TILE_GET_INFO( get_center_tile_info )
89TILE_GET_INFO_MEMBER(grchamp_state::get_center_tile_info)
9390{
94   grchamp_state *state = machine.driver_data<grchamp_state>();
95   SET_TILE_INFO(3, state->m_centerram[tile_index], 0, 0);
91   SET_TILE_INFO_MEMBER(3, m_centerram[tile_index], 0, 0);
9692}
9793
98static TILEMAP_MAPPER( get_memory_offset )
94TILEMAP_MAPPER_MEMBER(grchamp_state::get_memory_offset)
9995{
10096   return (col % 32) + row * 32 + (col / 32) * 32*32;
10197}
r17673r17674
108104   state->m_work_bitmap.allocate(32,32);
109105
110106   /* allocate tilemaps for each of the three sections */
111   state->m_text_tilemap = tilemap_create(machine, get_text_tile_info, TILEMAP_SCAN_ROWS,  8,8, 32,32);
112   state->m_left_tilemap = tilemap_create(machine, get_left_tile_info, get_memory_offset,  8,8, 64,32);
113   state->m_right_tilemap = tilemap_create(machine, get_right_tile_info, get_memory_offset,  8,8, 64,32);
114   state->m_center_tilemap = tilemap_create(machine, get_center_tile_info, get_memory_offset,  8,8, 64,32);
107   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);
108   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);
109   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);
110   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);
115111}
116112
117113#if 0
trunk/src/mame/video/argus.c
r17673r17674
122122  Callbacks for the tilemap code
123123***************************************************************************/
124124
125static TILE_GET_INFO( argus_get_tx_tile_info )
125TILE_GET_INFO_MEMBER(argus_state::argus_get_tx_tile_info)
126126{
127   argus_state *state = machine.driver_data<argus_state>();
128127   UINT8 hi, lo;
129128
130129   tile_index <<= 1;
131130
132   lo = state->m_txram[tile_index];
133   hi = state->m_txram[tile_index + 1];
131   lo = m_txram[tile_index];
132   hi = m_txram[tile_index + 1];
134133
135   SET_TILE_INFO(
134   SET_TILE_INFO_MEMBER(
136135         3,
137136         ((hi & 0xc0) << 2) | lo,
138137         hi & 0x0f,
139138         TILE_FLIPYX((hi & 0x30) >> 4));
140139}
141140
142static TILE_GET_INFO( argus_get_bg0_tile_info )
141TILE_GET_INFO_MEMBER(argus_state::argus_get_bg0_tile_info)
143142{
144   argus_state *state = machine.driver_data<argus_state>();
145143   UINT8 hi, lo;
146144
147145   tile_index <<= 1;
148146
149   lo = state->m_dummy_bg0ram[tile_index];
150   hi = state->m_dummy_bg0ram[tile_index + 1];
147   lo = m_dummy_bg0ram[tile_index];
148   hi = m_dummy_bg0ram[tile_index + 1];
151149
152   SET_TILE_INFO(
150   SET_TILE_INFO_MEMBER(
153151         1,
154152         ((hi & 0xc0) << 2) | lo,
155153         hi & 0x0f,
156154         TILE_FLIPYX((hi & 0x30) >> 4));
157155}
158156
159static TILE_GET_INFO( argus_get_bg1_tile_info )
157TILE_GET_INFO_MEMBER(argus_state::argus_get_bg1_tile_info)
160158{
161   argus_state *state = machine.driver_data<argus_state>();
162159   UINT8 hi, lo;
163160
164161   tile_index <<= 1;
165162
166   lo = state->m_bg1ram[tile_index];
167   hi = state->m_bg1ram[tile_index + 1];
163   lo = m_bg1ram[tile_index];
164   hi = m_bg1ram[tile_index + 1];
168165
169   SET_TILE_INFO(
166   SET_TILE_INFO_MEMBER(
170167         2,
171168         lo,
172169         hi & 0x0f,
173170         TILE_FLIPYX((hi & 0x30) >> 4));
174171}
175172
176static TILE_GET_INFO( valtric_get_tx_tile_info )
173TILE_GET_INFO_MEMBER(argus_state::valtric_get_tx_tile_info)
177174{
178   argus_state *state = machine.driver_data<argus_state>();
179175   UINT8 hi, lo;
180176
181177   tile_index <<= 1;
182178
183   lo = state->m_txram[tile_index];
184   hi = state->m_txram[tile_index + 1];
179   lo = m_txram[tile_index];
180   hi = m_txram[tile_index + 1];
185181
186   SET_TILE_INFO(
182   SET_TILE_INFO_MEMBER(
187183         2,
188184         ((hi & 0xc0) << 2) | lo,
189185         hi & 0x0f,
190186         TILE_FLIPYX((hi & 0x30) >> 4));
191187}
192188
193static TILE_GET_INFO( valtric_get_bg_tile_info )
189TILE_GET_INFO_MEMBER(argus_state::valtric_get_bg_tile_info)
194190{
195   argus_state *state = machine.driver_data<argus_state>();
196191   UINT8 hi, lo;
197192
198193   tile_index <<= 1;
199194
200   lo = state->m_bg1ram[tile_index];
201   hi = state->m_bg1ram[tile_index + 1];
195   lo = m_bg1ram[tile_index];
196   hi = m_bg1ram[tile_index + 1];
202197
203   SET_TILE_INFO(
198   SET_TILE_INFO_MEMBER(
204199         1,
205200         ((hi & 0xc0) << 2) | ((hi & 0x20) << 5) | lo,
206201         hi & 0x0f,
207202         0);
208203}
209204
210static TILE_GET_INFO( butasan_get_tx_tile_info )
205TILE_GET_INFO_MEMBER(argus_state::butasan_get_tx_tile_info)
211206{
212   argus_state *state = machine.driver_data<argus_state>();
213207   UINT8 hi, lo;
214208
215209   tile_index ^= 0x3e0;
216210   tile_index <<= 1;
217211
218   lo = state->m_butasan_txram[tile_index];
219   hi = state->m_butasan_txram[tile_index + 1];
212   lo = m_butasan_txram[tile_index];
213   hi = m_butasan_txram[tile_index + 1];
220214
221   SET_TILE_INFO(
215   SET_TILE_INFO_MEMBER(
222216         3,
223217         ((hi & 0xc0) << 2) | lo,
224218         hi & 0x0f,
225219         TILE_FLIPYX((hi & 0x30) >> 4));
226220}
227221
228static TILE_GET_INFO( butasan_get_bg0_tile_info )
222TILE_GET_INFO_MEMBER(argus_state::butasan_get_bg0_tile_info)
229223{
230   argus_state *state = machine.driver_data<argus_state>();
231224   UINT8 hi, lo;
232225   int attrib;
233226
r17673r17674
235228   attrib ^= 0x0f0;
236229   attrib <<= 1;
237230
238   lo = state->m_butasan_bg0ram[attrib];
239   hi = state->m_butasan_bg0ram[attrib + 1];
231   lo = m_butasan_bg0ram[attrib];
232   hi = m_butasan_bg0ram[attrib + 1];
240233
241   SET_TILE_INFO(
234   SET_TILE_INFO_MEMBER(
242235         1,
243236         ((hi & 0xc0) << 2) | lo,
244237         hi & 0x0f,
245238         TILE_FLIPYX((hi & 0x30) >> 4));
246239}
247240
248static TILE_GET_INFO( butasan_get_bg1_tile_info )
241TILE_GET_INFO_MEMBER(argus_state::butasan_get_bg1_tile_info)
249242{
250   argus_state *state = machine.driver_data<argus_state>();
251243   int attrib, tile;
252244
253245   attrib = (tile_index & 0x00f) | ((tile_index & 0x3e0) >> 1) | ((tile_index & 0x010) << 5);
254246   attrib ^= 0x0f0;
255247
256   tile = state->m_butasan_bg1ram[attrib] | ((state->m_butasan_bg1_status & 2) << 7);
248   tile = m_butasan_bg1ram[attrib] | ((m_butasan_bg1_status & 2) << 7);
257249
258   SET_TILE_INFO(
250   SET_TILE_INFO_MEMBER(
259251         2,
260252         tile,
261253         (tile & 0x80) >> 7,
r17673r17674
279271{
280272   argus_state *state = machine.driver_data<argus_state>();
281273   /*                           info                     offset             w   h  col  row */
282   state->m_bg0_tilemap = tilemap_create(machine, argus_get_bg0_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
283   state->m_bg1_tilemap = tilemap_create(machine, argus_get_bg1_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
284   state->m_tx_tilemap  = tilemap_create(machine, argus_get_tx_tile_info,  TILEMAP_SCAN_COLS,  8,  8, 32, 32);
274   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);
275   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);
276   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);
285277
286278   state->m_bg1_tilemap->set_transparent_pen(15);
287279   state->m_tx_tilemap->set_transparent_pen(15);
r17673r17674
307299{
308300   argus_state *state = machine.driver_data<argus_state>();
309301   /*                           info                      offset             w   h  col  row */
310   state->m_bg1_tilemap = tilemap_create(machine, valtric_get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
311   state->m_tx_tilemap  = tilemap_create(machine, valtric_get_tx_tile_info, TILEMAP_SCAN_COLS,  8,  8, 32, 32);
302   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);
303   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);
312304
313305   state->m_tx_tilemap->set_transparent_pen(15);
314306
r17673r17674
328320{
329321   argus_state *state = machine.driver_data<argus_state>();
330322   /*                           info                       offset             w   h  col  row */
331   state->m_bg0_tilemap = tilemap_create(machine, butasan_get_bg0_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
332   state->m_bg1_tilemap = tilemap_create(machine, butasan_get_bg1_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
333   state->m_tx_tilemap  = tilemap_create(machine, butasan_get_tx_tile_info,  TILEMAP_SCAN_ROWS,  8,  8, 32, 32);
323   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);
324   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);
325   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);
334326
335327   state->m_bg1_tilemap->set_transparent_pen(15);
336328   state->m_tx_tilemap->set_transparent_pen(15);
trunk/src/mame/video/lkage.c
r17673r17674
6565   }
6666}
6767
68static TILE_GET_INFO( get_bg_tile_info )
68TILE_GET_INFO_MEMBER(lkage_state::get_bg_tile_info)
6969{
70   lkage_state *state = machine.driver_data<lkage_state>();
71   int code = state->m_videoram[tile_index + 0x800] + 256 * (state->m_bg_tile_bank ? 5 : 1);
72   SET_TILE_INFO( 0/*gfx*/, code, 0/*color*/, 0/*flags*/ );
70   int code = m_videoram[tile_index + 0x800] + 256 * (m_bg_tile_bank ? 5 : 1);
71   SET_TILE_INFO_MEMBER( 0/*gfx*/, code, 0/*color*/, 0/*flags*/ );
7372}
7473
75static TILE_GET_INFO( get_fg_tile_info )
74TILE_GET_INFO_MEMBER(lkage_state::get_fg_tile_info)
7675{
77   lkage_state *state = machine.driver_data<lkage_state>();
78   int code = state->m_videoram[tile_index + 0x400] + 256 * (state->m_fg_tile_bank ? 1 : 0);
79   SET_TILE_INFO( 0/*gfx*/, code, 0/*color*/, 0/*flags*/);
76   int code = m_videoram[tile_index + 0x400] + 256 * (m_fg_tile_bank ? 1 : 0);
77   SET_TILE_INFO_MEMBER( 0/*gfx*/, code, 0/*color*/, 0/*flags*/);
8078}
8179
82static TILE_GET_INFO( get_tx_tile_info )
80TILE_GET_INFO_MEMBER(lkage_state::get_tx_tile_info)
8381{
84   lkage_state *state = machine.driver_data<lkage_state>();
85   int code = state->m_videoram[tile_index] + 256 * (state->m_tx_tile_bank ? 4 : 0);
86   SET_TILE_INFO( 0/*gfx*/, code, 0/*color*/, 0/*flags*/);
82   int code = m_videoram[tile_index] + 256 * (m_tx_tile_bank ? 4 : 0);
83   SET_TILE_INFO_MEMBER( 0/*gfx*/, code, 0/*color*/, 0/*flags*/);
8784}
8885
8986VIDEO_START( lkage )
9087{
9188   lkage_state *state = machine.driver_data<lkage_state>();
9289
93   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
94   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
95   state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
90   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);
91   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);
92   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);
9693
9794   state->m_fg_tilemap->set_transparent_pen(0);
9895   state->m_tx_tilemap->set_transparent_pen(0);
trunk/src/mame/video/zaxxon.c
r17673r17674
6767 *
6868 *************************************/
6969
70static TILE_GET_INFO( get_bg_tile_info )
70TILE_GET_INFO_MEMBER(zaxxon_state::get_bg_tile_info)
7171{
72   const UINT8 *source = machine.root_device().memregion("tilemap_dat")->base();
73   int size = machine.root_device().memregion("tilemap_dat")->bytes() / 2;
72   const UINT8 *source = machine().root_device().memregion("tilemap_dat")->base();
73   int size = machine().root_device().memregion("tilemap_dat")->bytes() / 2;
7474   int eff_index = tile_index & (size - 1);
7575   int code = source[eff_index] + 256 * (source[eff_index + size] & 3);
7676   int color = source[eff_index + size] >> 4;
7777
78   SET_TILE_INFO(1, code, color, 0);
78   SET_TILE_INFO_MEMBER(1, code, color, 0);
7979}
8080
8181
82static TILE_GET_INFO( zaxxon_get_fg_tile_info )
82TILE_GET_INFO_MEMBER(zaxxon_state::zaxxon_get_fg_tile_info)
8383{
84   zaxxon_state *state = machine.driver_data<zaxxon_state>();
8584   int sx = tile_index % 32;
8685   int sy = tile_index / 32;
87   int code = state->m_videoram[tile_index];
88   int color = state->m_color_codes[sx + 32 * (sy / 4)] & 0x0f;
86   int code = m_videoram[tile_index];
87   int color = m_color_codes[sx + 32 * (sy / 4)] & 0x0f;
8988
90   SET_TILE_INFO(0, code, color * 2, 0);
89   SET_TILE_INFO_MEMBER(0, code, color * 2, 0);
9190}
9291
9392
94static TILE_GET_INFO( razmataz_get_fg_tile_info )
93TILE_GET_INFO_MEMBER(zaxxon_state::razmataz_get_fg_tile_info)
9594{
96   zaxxon_state *state = machine.driver_data<zaxxon_state>();
97   int code = state->m_videoram[tile_index];
98   int color = state->m_color_codes[code] & 0x0f;
95   int code = m_videoram[tile_index];
96   int color = m_color_codes[code] & 0x0f;
9997
100   SET_TILE_INFO(0, code, color * 2, 0);
98   SET_TILE_INFO_MEMBER(0, code, color * 2, 0);
10199}
102100
103101
104static TILE_GET_INFO( congo_get_fg_tile_info )
102TILE_GET_INFO_MEMBER(zaxxon_state::congo_get_fg_tile_info)
105103{
106   zaxxon_state *state = machine.driver_data<zaxxon_state>();
107   int code = state->m_videoram[tile_index] + (state->m_congo_fg_bank << 8);
108   int color = state->m_colorram[tile_index] & 0x1f;
104   int code = m_videoram[tile_index] + (m_congo_fg_bank << 8);
105   int color = m_colorram[tile_index] & 0x1f;
109106
110   SET_TILE_INFO(0, code, color * 2, 0);
107   SET_TILE_INFO_MEMBER(0, code, color * 2, 0);
111108}
112109
113110
r17673r17674
118115 *
119116 *************************************/
120117
121static void video_start_common(running_machine &machine, tile_get_info_func fg_tile_info)
118static void video_start_common(running_machine &machine, tilemap_get_info_delegate fg_tile_info)
122119{
123120   zaxxon_state *state = machine.driver_data<zaxxon_state>();
124121
r17673r17674
132129   memset(state->m_congo_custom, 0, sizeof(state->m_congo_custom));
133130
134131   /* create a background and foreground tilemap */
135   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,  8,8, 32,512);
136   state->m_fg_tilemap = tilemap_create(machine, fg_tile_info, TILEMAP_SCAN_ROWS,  8,8, 32,32);
132   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);
133   state->m_fg_tilemap = &machine.tilemap().create(fg_tile_info, TILEMAP_SCAN_ROWS,  8,8, 32,32);
137134
138135   /* configure the foreground tilemap */
139136   state->m_fg_tilemap->set_transparent_pen(0);
r17673r17674
150147
151148VIDEO_START( zaxxon )
152149{
153   video_start_common(machine, zaxxon_get_fg_tile_info);
150   zaxxon_state *state = machine.driver_data<zaxxon_state>();
151   video_start_common(machine, tilemap_get_info_delegate(FUNC(zaxxon_state::zaxxon_get_fg_tile_info),state));
154152}
155153
156154
157155VIDEO_START( razmataz )
158156{
159   video_start_common(machine, razmataz_get_fg_tile_info);
157   zaxxon_state *state = machine.driver_data<zaxxon_state>();
158   video_start_common(machine, tilemap_get_info_delegate(FUNC(zaxxon_state::razmataz_get_fg_tile_info),state));
160159}
161160
162161
r17673r17674
172171   state->save_item(NAME(state->m_congo_color_bank));
173172   state->save_item(NAME(state->m_congo_custom));
174173
175   video_start_common(machine, congo_get_fg_tile_info);
174   video_start_common(machine, tilemap_get_info_delegate(FUNC(zaxxon_state::congo_get_fg_tile_info),state));
176175}
177176
178177
trunk/src/mame/video/gaiden.c
r17673r17674
1313
1414***************************************************************************/
1515
16static TILE_GET_INFO( get_bg_tile_info )
16TILE_GET_INFO_MEMBER(gaiden_state::get_bg_tile_info)
1717{
18   gaiden_state *state = machine.driver_data<gaiden_state>();
19   UINT16 *videoram1 = &state->m_videoram3[0x0800];
20   UINT16 *videoram2 = state->m_videoram3;
21   SET_TILE_INFO(
18   UINT16 *videoram1 = &m_videoram3[0x0800];
19   UINT16 *videoram2 = m_videoram3;
20   SET_TILE_INFO_MEMBER(
2221         1,
2322         videoram1[tile_index] & 0x0fff,
2423         (videoram2[tile_index] & 0xf0) >> 4,
2524         0);
2625}
2726
28static TILE_GET_INFO( get_fg_tile_info )
27TILE_GET_INFO_MEMBER(gaiden_state::get_fg_tile_info)
2928{
30   gaiden_state *state = machine.driver_data<gaiden_state>();
31   UINT16 *videoram1 = &state->m_videoram2[0x0800];
32   UINT16 *videoram2 = state->m_videoram2;
33   SET_TILE_INFO(
29   UINT16 *videoram1 = &m_videoram2[0x0800];
30   UINT16 *videoram2 = m_videoram2;
31   SET_TILE_INFO_MEMBER(
3432         2,
3533         videoram1[tile_index] & 0x0fff,
3634         (videoram2[tile_index] & 0xf0) >> 4,
3735         0);
3836}
3937
40static TILE_GET_INFO( get_fg_tile_info_raiga )
38TILE_GET_INFO_MEMBER(gaiden_state::get_fg_tile_info_raiga)
4139{
42   gaiden_state *state = machine.driver_data<gaiden_state>();
43   UINT16 *videoram1 = &state->m_videoram2[0x0800];
44   UINT16 *videoram2 = state->m_videoram2;
40   UINT16 *videoram1 = &m_videoram2[0x0800];
41   UINT16 *videoram2 = m_videoram2;
4542
4643   /* bit 3 controls blending */
4744   tileinfo.category = (videoram2[tile_index] & 0x08) >> 3;
4845
49   SET_TILE_INFO(
46   SET_TILE_INFO_MEMBER(
5047         2,
5148         videoram1[tile_index] & 0x0fff,
5249         ((videoram2[tile_index] & 0xf0) >> 4) | (tileinfo.category ? 0x80 : 0x00),
5350         0);
5451}
5552
56static TILE_GET_INFO( get_tx_tile_info )
53TILE_GET_INFO_MEMBER(gaiden_state::get_tx_tile_info)
5754{
58   gaiden_state *state = machine.driver_data<gaiden_state>();
59   UINT16 *videoram1 = &state->m_videoram[0x0400];
60   UINT16 *videoram2 = state->m_videoram;
61   SET_TILE_INFO(
55   UINT16 *videoram1 = &m_videoram[0x0400];
56   UINT16 *videoram2 = m_videoram;
57   SET_TILE_INFO_MEMBER(
6258         0,
6359         videoram1[tile_index] & 0x07ff,
6460         (videoram2[tile_index] & 0xf0) >> 4,
r17673r17674
8076   machine.primary_screen->register_screen_bitmap(state->m_tile_bitmap_bg);
8177   machine.primary_screen->register_screen_bitmap(state->m_tile_bitmap_fg);
8278
83   state->m_background = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
84   state->m_foreground = tilemap_create(machine, get_fg_tile_info_raiga, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
85   state->m_text_layer = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
79   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);
80   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);
81   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);
8682
8783   state->m_background->set_transparent_pen(0);
8884   state->m_foreground->set_transparent_pen(0);
r17673r17674
109105   machine.primary_screen->register_screen_bitmap(state->m_tile_bitmap_bg);
110106   machine.primary_screen->register_screen_bitmap(state->m_tile_bitmap_fg);
111107
112   state->m_background = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
113   state->m_foreground = tilemap_create(machine, get_fg_tile_info_raiga, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
114   state->m_text_layer = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
108   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);
109   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);
110   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);
115111
116112//  state->m_background->set_transparent_pen(15);
117113   state->m_foreground->set_transparent_pen(15);
r17673r17674
132128   machine.primary_screen->register_screen_bitmap(state->m_tile_bitmap_bg);
133129   machine.primary_screen->register_screen_bitmap(state->m_tile_bitmap_fg);
134130
135   state->m_background = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
136   state->m_foreground = tilemap_create(machine, get_fg_tile_info_raiga, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
137   state->m_text_layer = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
131   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);
132   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);
133   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);
138134
139135   state->m_background->set_transparent_pen(0);
140136   state->m_foreground->set_transparent_pen(0);
r17673r17674
148144{
149145   gaiden_state *state = machine.driver_data<gaiden_state>();
150146   /* set up tile layers */
151   state->m_background = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
152   state->m_foreground = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
153   state->m_text_layer = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
147   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);
148   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);
149   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);
154150
155151   state->m_foreground->set_transparent_pen(15);
156152   state->m_text_layer->set_transparent_pen(15);
trunk/src/mame/video/shangkid.c
r17673r17674
55#include "includes/shangkid.h"
66
77
8static TILE_GET_INFO( get_bg_tile_info ){
9   shangkid_state *state = machine.driver_data<shangkid_state>();
10   UINT8 *videoram = state->m_videoram;
8TILE_GET_INFO_MEMBER(shangkid_state::get_bg_tile_info){
9   UINT8 *videoram = m_videoram;
1110   int attributes = videoram[tile_index+0x800];
1211   int tile_number = videoram[tile_index]+0x100*(attributes&0x3);
1312   int color;
1413
15   if( state->m_gfx_type==1 )
14   if( m_gfx_type==1 )
1615   {
1716      /* Shanghai Kid:
1817            ------xx    bank
r17673r17674
2120        */
2221      color = attributes>>3;
2322      color = (color&0x03)|((color&0x1c)<<1);
24      SET_TILE_INFO(
23      SET_TILE_INFO_MEMBER(
2524            0,
2625            tile_number,
2726            color,
r17673r17674
3534            x-------    flipx?
3635        */
3736      color = (attributes>>2)&0x1f;
38      SET_TILE_INFO(
37      SET_TILE_INFO_MEMBER(
3938            0,
4039            tile_number,
4140            color,
r17673r17674
4342   }
4443
4544   tileinfo.category =
46      (machine.root_device().memregion( "proms" )->base()[0x800+color*4]==2)?1:0;
45      (machine().root_device().memregion( "proms" )->base()[0x800+color*4]==2)?1:0;
4746}
4847
4948VIDEO_START( shangkid )
5049{
5150   shangkid_state *state = machine.driver_data<shangkid_state>();
52   state->m_background = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
51   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);
5352}
5453
5554WRITE8_MEMBER(shangkid_state::shangkid_videoram_w)
trunk/src/mame/video/trackfld.c
r17673r17674
158158   }
159159}
160160
161static TILE_GET_INFO( get_bg_tile_info )
161TILE_GET_INFO_MEMBER(trackfld_state::get_bg_tile_info)
162162{
163   trackfld_state *state = machine.driver_data<trackfld_state>();
164   int attr = state->m_colorram[tile_index];
165   int code = state->m_videoram[tile_index] + 4 * (attr & 0xc0);
163   int attr = m_colorram[tile_index];
164   int code = m_videoram[tile_index] + 4 * (attr & 0xc0);
166165   int color = attr & 0x0f;
167166   int flags = ((attr & 0x10) ? TILE_FLIPX : 0) | ((attr & 0x20) ? TILE_FLIPY : 0);
168167
169   if (state->m_bg_bank)
168   if (m_bg_bank)
170169      code |= 0x400;
171170
172   SET_TILE_INFO(1, code, color, flags);
171   SET_TILE_INFO_MEMBER(1, code, color, flags);
173172}
174173
175174VIDEO_START( trackfld )
176175{
177176   trackfld_state *state = machine.driver_data<trackfld_state>();
178   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
177   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);
179178   state->m_bg_tilemap->set_scroll_rows(32);
180179   state->m_sprites_gfx_banked = 0;
181180}
trunk/src/mame/video/fastfred.c
r17673r17674
8080
8181***************************************************************************/
8282
83static TILE_GET_INFO( get_tile_info )
83TILE_GET_INFO_MEMBER(fastfred_state::get_tile_info)
8484{
85   fastfred_state *state = machine.driver_data<fastfred_state>();
8685   UINT8 x = tile_index & 0x1f;
8786
88   UINT16 code = state->m_charbank | state->m_videoram[tile_index];
89   UINT8 color = state->m_colorbank | (state->m_attributesram[2 * x + 1] & 0x07);
87   UINT16 code = m_charbank | m_videoram[tile_index];
88   UINT8 color = m_colorbank | (m_attributesram[2 * x + 1] & 0x07);
9089
91   SET_TILE_INFO(0, code, color, 0);
90   SET_TILE_INFO_MEMBER(0, code, color, 0);
9291}
9392
9493
r17673r17674
102101VIDEO_START( fastfred )
103102{
104103   fastfred_state *state = machine.driver_data<fastfred_state>();
105   state->m_bg_tilemap = tilemap_create(machine, get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
104   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);
106105
107106   state->m_bg_tilemap->set_transparent_pen(0);
108107   state->m_bg_tilemap->set_scroll_cols(32);
r17673r17674
308307}
309308
310309
311static TILE_GET_INFO( imago_get_tile_info_bg )
310TILE_GET_INFO_MEMBER(fastfred_state::imago_get_tile_info_bg)
312311{
313   fastfred_state *state = machine.driver_data<fastfred_state>();
314312   UINT8 x = tile_index & 0x1f;
315313
316   UINT16 code = state->m_charbank * 0x100 + state->m_videoram[tile_index];
317   UINT8 color = state->m_colorbank | (state->m_attributesram[2 * x + 1] & 0x07);
314   UINT16 code = m_charbank * 0x100 + m_videoram[tile_index];
315   UINT8 color = m_colorbank | (m_attributesram[2 * x + 1] & 0x07);
318316
319   SET_TILE_INFO(0, code, color, 0);
317   SET_TILE_INFO_MEMBER(0, code, color, 0);
320318}
321319
322static TILE_GET_INFO( imago_get_tile_info_fg )
320TILE_GET_INFO_MEMBER(fastfred_state::imago_get_tile_info_fg)
323321{
324   fastfred_state *state = machine.driver_data<fastfred_state>();
325   int code = state->m_imago_fg_videoram[tile_index];
326   SET_TILE_INFO(2, code, 2, 0);
322   int code = m_imago_fg_videoram[tile_index];
323   SET_TILE_INFO_MEMBER(2, code, 2, 0);
327324}
328325
329static TILE_GET_INFO( imago_get_tile_info_web )
326TILE_GET_INFO_MEMBER(fastfred_state::imago_get_tile_info_web)
330327{
331   SET_TILE_INFO(3, tile_index & 0x1ff, 0, 0);
328   SET_TILE_INFO_MEMBER(3, tile_index & 0x1ff, 0, 0);
332329}
333330
334331WRITE8_HANDLER( imago_fg_videoram_w )
r17673r17674
351348VIDEO_START( imago )
352349{
353350   fastfred_state *state = machine.driver_data<fastfred_state>();
354   state->m_web_tilemap = tilemap_create(machine, imago_get_tile_info_web,TILEMAP_SCAN_ROWS,     8,8,32,32);
355   state->m_bg_tilemap   = tilemap_create(machine, imago_get_tile_info_bg, TILEMAP_SCAN_ROWS,8,8,32,32);
356   state->m_fg_tilemap   = tilemap_create(machine, imago_get_tile_info_fg, TILEMAP_SCAN_ROWS,8,8,32,32);
351   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);
352   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);
353   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);
357354
358355   state->m_bg_tilemap->set_transparent_pen(0);
359356   state->m_fg_tilemap->set_transparent_pen(0);
trunk/src/mame/video/karnov.c
r17673r17674
135135
136136/******************************************************************************/
137137
138static TILE_GET_INFO( get_fix_tile_info )
138TILE_GET_INFO_MEMBER(karnov_state::get_fix_tile_info)
139139{
140   karnov_state *state = machine.driver_data<karnov_state>();
141   int tile = state->m_videoram[tile_index];
142   SET_TILE_INFO(
140   int tile = m_videoram[tile_index];
141   SET_TILE_INFO_MEMBER(
143142         0,
144143         tile&0xfff,
145144         tile>>14,
r17673r17674
166165
167166   /* Allocate bitmap & tilemap */
168167   state->m_bitmap_f = auto_bitmap_ind16_alloc(machine, 512, 512);
169   state->m_fix_tilemap = tilemap_create(machine, get_fix_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
168   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);
170169
171170   state->save_item(NAME(*state->m_bitmap_f));
172171
r17673r17674
179178
180179   /* Allocate bitmap & tilemap */
181180   state->m_bitmap_f = auto_bitmap_ind16_alloc(machine, 512, 512);
182   state->m_fix_tilemap = tilemap_create(machine, get_fix_tile_info, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
181   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);
183182
184183   state->save_item(NAME(*state->m_bitmap_f));
185184
trunk/src/mame/video/lwings.c
r17673r17674
1515
1616***************************************************************************/
1717
18static TILEMAP_MAPPER( get_bg2_memory_offset )
18TILEMAP_MAPPER_MEMBER(lwings_state::get_bg2_memory_offset)
1919{
2020   return (row * 0x800) | (col * 2);
2121}
2222
23static TILE_GET_INFO( get_fg_tile_info )
23TILE_GET_INFO_MEMBER(lwings_state::get_fg_tile_info)
2424{
25   lwings_state *state = machine.driver_data<lwings_state>();
26   int code = state->m_fgvideoram[tile_index];
27   int color = state->m_fgvideoram[tile_index + 0x400];
28   SET_TILE_INFO(
25   int code = m_fgvideoram[tile_index];
26   int color = m_fgvideoram[tile_index + 0x400];
27   SET_TILE_INFO_MEMBER(
2928         0,
3029         code + ((color & 0xc0) << 2),
3130         color & 0x0f,
3231         TILE_FLIPYX((color & 0x30) >> 4));
3332}
3433
35static TILE_GET_INFO( lwings_get_bg1_tile_info )
34TILE_GET_INFO_MEMBER(lwings_state::lwings_get_bg1_tile_info)
3635{
37   lwings_state *state = machine.driver_data<lwings_state>();
38   int code = state->m_bg1videoram[tile_index];
39   int color = state->m_bg1videoram[tile_index + 0x400];
40   SET_TILE_INFO(
36   int code = m_bg1videoram[tile_index];
37   int color = m_bg1videoram[tile_index + 0x400];
38   SET_TILE_INFO_MEMBER(
4139         1,
4240         code + ((color & 0xe0) << 3),
4341         color & 0x07,
4442         TILE_FLIPYX((color & 0x18) >> 3));
4543}
4644
47static TILE_GET_INFO( trojan_get_bg1_tile_info )
45TILE_GET_INFO_MEMBER(lwings_state::trojan_get_bg1_tile_info)
4846{
49   lwings_state *state = machine.driver_data<lwings_state>();
50   int code = state->m_bg1videoram[tile_index];
51   int color = state->m_bg1videoram[tile_index + 0x400];
47   int code = m_bg1videoram[tile_index];
48   int color = m_bg1videoram[tile_index + 0x400];
5249   code += (color & 0xe0)<<3;
53   SET_TILE_INFO(
50   SET_TILE_INFO_MEMBER(
5451         1,
5552         code,
56         state->m_bg2_avenger_hw ? ((color & 7) ^ 6) : (color & 7),
53         m_bg2_avenger_hw ? ((color & 7) ^ 6) : (color & 7),
5754         ((color & 0x10) ? TILE_FLIPX : 0));
5855
5956   tileinfo.group = (color & 0x08) >> 3;
6057}
6158
62static TILE_GET_INFO( get_bg2_tile_info )
59TILE_GET_INFO_MEMBER(lwings_state::get_bg2_tile_info)
6360{
64   lwings_state *state = machine.driver_data<lwings_state>();
6561   int code, color;
66   UINT8 *rom = state->memregion("gfx5")->base();
67   int mask = state->memregion("gfx5")->bytes() - 1;
62   UINT8 *rom = memregion("gfx5")->base();
63   int mask = memregion("gfx5")->bytes() - 1;
6864
69   tile_index = (tile_index + state->m_bg2_image * 0x20) & mask;
65   tile_index = (tile_index + m_bg2_image * 0x20) & mask;
7066   code = rom[tile_index];
7167   color = rom[tile_index + 1];
72   SET_TILE_INFO(
68   SET_TILE_INFO_MEMBER(
7369         3,
7470         code + ((color & 0x80) << 1),
7571         color & 0x07,
r17673r17674
8682{
8783   lwings_state *state = machine.driver_data<lwings_state>();
8884
89   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
90   state->m_bg1_tilemap = tilemap_create(machine, lwings_get_bg1_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
85   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);
86   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);
9187
9288   state->m_fg_tilemap->set_transparent_pen(3);
9389}
r17673r17674
9692{
9793   lwings_state *state = machine.driver_data<lwings_state>();
9894
99   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
100   state->m_bg1_tilemap = tilemap_create(machine, trojan_get_bg1_tile_info,TILEMAP_SCAN_COLS, 16, 16, 32, 32);
101   state->m_bg2_tilemap = tilemap_create(machine, get_bg2_tile_info, get_bg2_memory_offset, 16, 16, 32, 16);
95   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);
96   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);
97   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);
10298
10399   state->m_fg_tilemap->set_transparent_pen(3);
104100   state->m_bg1_tilemap->set_transmask(0, 0xffff, 0x0001); /* split type 0 is totally transparent in front half */
trunk/src/mame/video/punchout.c
r17673r17674
4343
4444***************************************************************************/
4545
46static TILE_GET_INFO( top_get_info )
46TILE_GET_INFO_MEMBER(punchout_state::top_get_info)
4747{
48   punchout_state *state = machine.driver_data<punchout_state>();
49   int attr = state->m_bg_top_videoram[tile_index*2 + 1];
50   int code = state->m_bg_top_videoram[tile_index*2] + ((attr & 0x03) << 8);
48   int attr = m_bg_top_videoram[tile_index*2 + 1];
49   int code = m_bg_top_videoram[tile_index*2] + ((attr & 0x03) << 8);
5150   int color = ((attr & 0x7c) >> 2);
5251   int flipx = attr & 0x80;
53   SET_TILE_INFO(0, code, color, flipx ? TILE_FLIPX : 0);
52   SET_TILE_INFO_MEMBER(0, code, color, flipx ? TILE_FLIPX : 0);
5453}
5554
56static TILE_GET_INFO( armwrest_top_get_info )
55TILE_GET_INFO_MEMBER(punchout_state::armwrest_top_get_info)
5756{
58   punchout_state *state = machine.driver_data<punchout_state>();
59   int attr = state->m_bg_top_videoram[tile_index*2 + 1];
60   int code = state->m_bg_top_videoram[tile_index*2] + ((attr & 0x03) << 8) + ((attr & 0x80) << 3);
57   int attr = m_bg_top_videoram[tile_index*2 + 1];
58   int code = m_bg_top_videoram[tile_index*2] + ((attr & 0x03) << 8) + ((attr & 0x80) << 3);
6159   int color = ((attr & 0x7c) >> 2);
62   SET_TILE_INFO(0, code, color, 0);
60   SET_TILE_INFO_MEMBER(0, code, color, 0);
6361}
6462
65static TILE_GET_INFO( bot_get_info )
63TILE_GET_INFO_MEMBER(punchout_state::bot_get_info)
6664{
67   punchout_state *state = machine.driver_data<punchout_state>();
68   int attr = state->m_bg_bot_videoram[tile_index*2 + 1];
69   int code = state->m_bg_bot_videoram[tile_index*2] + ((attr & 0x03) << 8);
65   int attr = m_bg_bot_videoram[tile_index*2 + 1];
66   int code = m_bg_bot_videoram[tile_index*2] + ((attr & 0x03) << 8);
7067   int color = ((attr & 0x7c) >> 2);
7168   int flipx = attr & 0x80;
72   SET_TILE_INFO(1, code, color, flipx ? TILE_FLIPX : 0);
69   SET_TILE_INFO_MEMBER(1, code, color, flipx ? TILE_FLIPX : 0);
7370}
7471
75static TILE_GET_INFO( armwrest_bot_get_info )
72TILE_GET_INFO_MEMBER(punchout_state::armwrest_bot_get_info)
7673{
77   punchout_state *state = machine.driver_data<punchout_state>();
78   int attr = state->m_bg_bot_videoram[tile_index*2 + 1];
79   int code = state->m_bg_bot_videoram[tile_index*2] + ((attr & 0x03) << 8);
74   int attr = m_bg_bot_videoram[tile_index*2 + 1];
75   int code = m_bg_bot_videoram[tile_index*2] + ((attr & 0x03) << 8);
8076   int color = ((attr & 0x7c) >> 2) + 0x40;
8177   int flipx = attr & 0x80;
82   SET_TILE_INFO(0, code, color, flipx ? TILE_FLIPX : 0);
78   SET_TILE_INFO_MEMBER(0, code, color, flipx ? TILE_FLIPX : 0);
8379}
8480
85static TILE_GET_INFO( bs1_get_info )
81TILE_GET_INFO_MEMBER(punchout_state::bs1_get_info)
8682{
87   punchout_state *state = machine.driver_data<punchout_state>();
88   int attr = state->m_spr1_videoram[tile_index*4 + 3];
89   int code = state->m_spr1_videoram[tile_index*4] + ((state->m_spr1_videoram[tile_index*4 + 1] & 0x1f) << 8);
83   int attr = m_spr1_videoram[tile_index*4 + 3];
84   int code = m_spr1_videoram[tile_index*4] + ((m_spr1_videoram[tile_index*4 + 1] & 0x1f) << 8);
9085   int color = attr & 0x1f;
9186   int flipx = attr & 0x80;
92   SET_TILE_INFO(2, code, color, flipx ? TILE_FLIPX : 0);
87   SET_TILE_INFO_MEMBER(2, code, color, flipx ? TILE_FLIPX : 0);
9388}
9489
95static TILE_GET_INFO( bs2_get_info )
90TILE_GET_INFO_MEMBER(punchout_state::bs2_get_info)
9691{
97   punchout_state *state = machine.driver_data<punchout_state>();
98   int attr = state->m_spr2_videoram[tile_index*4 + 3];
99   int code = state->m_spr2_videoram[tile_index*4] + ((state->m_spr2_videoram[tile_index*4 + 1] & 0x0f) << 8);
92   int attr = m_spr2_videoram[tile_index*4 + 3];
93   int code = m_spr2_videoram[tile_index*4] + ((m_spr2_videoram[tile_index*4 + 1] & 0x0f) << 8);
10094   int color = attr & 0x3f;
10195   int flipx = attr & 0x80;
102   SET_TILE_INFO(3, code, color, flipx ? TILE_FLIPX : 0);
96   SET_TILE_INFO_MEMBER(3, code, color, flipx ? TILE_FLIPX : 0);
10397}
10498
105static TILE_GET_INFO( armwrest_fg_get_info )
99TILE_GET_INFO_MEMBER(punchout_state::armwrest_fg_get_info)
106100{
107   punchout_state *state = machine.driver_data<punchout_state>();
108   int attr = state->m_armwrest_fg_videoram[tile_index*2 + 1];
109   int code = state->m_armwrest_fg_videoram[tile_index*2] + 256 * (attr & 0x07);
101   int attr = m_armwrest_fg_videoram[tile_index*2 + 1];
102   int code = m_armwrest_fg_videoram[tile_index*2] + 256 * (attr & 0x07);
110103   int color = ((attr & 0xf8) >> 3);
111104   int flipx = attr & 0x80;
112   SET_TILE_INFO(1, code, color, flipx ? TILE_FLIPX : 0);
105   SET_TILE_INFO_MEMBER(1, code, color, flipx ? TILE_FLIPX : 0);
113106}
114107
115static TILEMAP_MAPPER( armwrest_bs1_scan )
108TILEMAP_MAPPER_MEMBER(punchout_state::armwrest_bs1_scan)
116109{
117110   int halfcols = num_cols/2;
118111   return (col/halfcols)*(halfcols*num_rows) + row*halfcols + col%halfcols;
119112}
120113
121static TILEMAP_MAPPER( armwrest_bs1_scan_flipx )
114TILEMAP_MAPPER_MEMBER(punchout_state::armwrest_bs1_scan_flipx)
122115{
123116   int halfcols = num_cols/2;
124117   col ^=0x10;
r17673r17674
129122VIDEO_START( punchout )
130123{
131124   punchout_state *state = machine.driver_data<punchout_state>();
132   state->m_bg_top_tilemap = tilemap_create(machine, top_get_info, TILEMAP_SCAN_ROWS,  8,8, 32,32);
133   state->m_bg_bot_tilemap = tilemap_create(machine, bot_get_info, TILEMAP_SCAN_ROWS,  8,8, 64,32);
125   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);
126   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);
134127   state->m_bg_bot_tilemap->set_scroll_rows(32);
135128
136   state->m_spr1_tilemap = tilemap_create(machine, bs1_get_info, TILEMAP_SCAN_ROWS,  8,8, 16,32);
137   state->m_spr2_tilemap = tilemap_create(machine, bs2_get_info, TILEMAP_SCAN_ROWS,  8,8, 16,32);
129   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);
130   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);
138131
139132   state->m_fg_tilemap = NULL;
140133
r17673r17674
146139VIDEO_START( armwrest )
147140{
148141   punchout_state *state = machine.driver_data<punchout_state>();
149   state->m_bg_top_tilemap = tilemap_create(machine, armwrest_top_get_info, TILEMAP_SCAN_ROWS,  8,8, 32,32);
150   state->m_bg_bot_tilemap = tilemap_create(machine, armwrest_bot_get_info, TILEMAP_SCAN_ROWS,  8,8, 32,32);
142   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);
143   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);
151144
152   state->m_spr1_tilemap =       tilemap_create(machine, bs1_get_info, armwrest_bs1_scan,  8,8, 32,16);
153   state->m_spr1_tilemap_flipx = tilemap_create(machine, bs1_get_info, armwrest_bs1_scan_flipx,  8,8, 32,16);
154   state->m_spr2_tilemap = tilemap_create(machine, bs2_get_info, TILEMAP_SCAN_ROWS,  8,8, 16,32);
155   state->m_fg_tilemap = tilemap_create(machine, armwrest_fg_get_info, TILEMAP_SCAN_ROWS,  8,8, 32,32);
145   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);
146   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);
147   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);
148   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);
156149
157150   state->m_spr1_tilemap->set_transparent_pen(0x07);
158151   state->m_spr1_tilemap_flipx->set_transparent_pen(0x07);
trunk/src/mame/video/tecmo.c
r17673r17674
2121
2222***************************************************************************/
2323
24static TILE_GET_INFO( get_bg_tile_info )
24TILE_GET_INFO_MEMBER(tecmo_state::get_bg_tile_info)
2525{
26   tecmo_state *state = machine.driver_data<tecmo_state>();
27   UINT8 attr = state->m_bgvideoram[tile_index+0x200];
28   SET_TILE_INFO(
26   UINT8 attr = m_bgvideoram[tile_index+0x200];
27   SET_TILE_INFO_MEMBER(
2928         3,
30         state->m_bgvideoram[tile_index] + ((attr & 0x07) << 8),
29         m_bgvideoram[tile_index] + ((attr & 0x07) << 8),
3130         attr >> 4,
3231         0);
3332}
3433
35static TILE_GET_INFO( get_fg_tile_info )
34TILE_GET_INFO_MEMBER(tecmo_state::get_fg_tile_info)
3635{
37   tecmo_state *state = machine.driver_data<tecmo_state>();
38   UINT8 attr = state->m_fgvideoram[tile_index+0x200];
39   SET_TILE_INFO(
36   UINT8 attr = m_fgvideoram[tile_index+0x200];
37   SET_TILE_INFO_MEMBER(
4038         2,
41         state->m_fgvideoram[tile_index] + ((attr & 0x07) << 8),
39         m_fgvideoram[tile_index] + ((attr & 0x07) << 8),
4240         attr >> 4,
4341         0);
4442}
4543
46static TILE_GET_INFO( gemini_get_bg_tile_info )
44TILE_GET_INFO_MEMBER(tecmo_state::gemini_get_bg_tile_info)
4745{
48   tecmo_state *state = machine.driver_data<tecmo_state>();
49   UINT8 attr = state->m_bgvideoram[tile_index+0x200];
50   SET_TILE_INFO(
46   UINT8 attr = m_bgvideoram[tile_index+0x200];
47   SET_TILE_INFO_MEMBER(
5148         3,
52         state->m_bgvideoram[tile_index] + ((attr & 0x70) << 4),
49         m_bgvideoram[tile_index] + ((attr & 0x70) << 4),
5350         attr & 0x0f,
5451         0);
5552}
5653
57static TILE_GET_INFO( gemini_get_fg_tile_info )
54TILE_GET_INFO_MEMBER(tecmo_state::gemini_get_fg_tile_info)
5855{
59   tecmo_state *state = machine.driver_data<tecmo_state>();
60   UINT8 attr = state->m_fgvideoram[tile_index+0x200];
61   SET_TILE_INFO(
56   UINT8 attr = m_fgvideoram[tile_index+0x200];
57   SET_TILE_INFO_MEMBER(
6258         2,
63         state->m_fgvideoram[tile_index] + ((attr & 0x70) << 4),
59         m_fgvideoram[tile_index] + ((attr & 0x70) << 4),
6460         attr & 0x0f,
6561         0);
6662}
6763
68static TILE_GET_INFO( get_tx_tile_info )
64TILE_GET_INFO_MEMBER(tecmo_state::get_tx_tile_info)
6965{
70   tecmo_state *state = machine.driver_data<tecmo_state>();
71   UINT8 attr = state->m_txvideoram[tile_index+0x400];
72   SET_TILE_INFO(
66   UINT8 attr = m_txvideoram[tile_index+0x400];
67   SET_TILE_INFO_MEMBER(
7368         0,
74         state->m_txvideoram[tile_index] + ((attr & 0x03) << 8),
69         m_txvideoram[tile_index] + ((attr & 0x03) << 8),
7570         attr >> 4,
7671         0);
7772}
r17673r17674
8984   tecmo_state *state = machine.driver_data<tecmo_state>();
9085   if (state->m_video_type == 2)   /* gemini */
9186   {
92      state->m_bg_tilemap = tilemap_create(machine, gemini_get_bg_tile_info,TILEMAP_SCAN_ROWS,16,16,32,16);
93      state->m_fg_tilemap = tilemap_create(machine, gemini_get_fg_tile_info,TILEMAP_SCAN_ROWS,16,16,32,16);
87      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);
88      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);
9489   }
9590   else   /* rygar, silkworm */
9691   {
97      state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS,16,16,32,16);
98      state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,16,16,32,16);
92      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);
93      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);
9994   }
100   state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info,TILEMAP_SCAN_ROWS, 8, 8,32,32);
95   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);
10196
10297   state->m_bg_tilemap->set_transparent_pen(0);
10398   state->m_fg_tilemap->set_transparent_pen(0);
trunk/src/mame/video/kopunch.c
r17673r17674
6666   m_bg_tilemap->set_flip((data & 0x08) ? TILEMAP_FLIPY : 0);
6767}
6868
69static TILE_GET_INFO( get_fg_tile_info )
69TILE_GET_INFO_MEMBER(kopunch_state::get_fg_tile_info)
7070{
71   kopunch_state *state = machine.driver_data<kopunch_state>();
72   int code = state->m_videoram[tile_index];
71   int code = m_videoram[tile_index];
7372
74   SET_TILE_INFO(0, code, 0, 0);
73   SET_TILE_INFO_MEMBER(0, code, 0, 0);
7574}
7675
77static TILE_GET_INFO( get_bg_tile_info )
76TILE_GET_INFO_MEMBER(kopunch_state::get_bg_tile_info)
7877{
79   kopunch_state *state = machine.driver_data<kopunch_state>();
80   int code = (state->m_videoram2[tile_index] & 0x7f) + 128 * state->m_gfxbank;
78   int code = (m_videoram2[tile_index] & 0x7f) + 128 * m_gfxbank;
8179
82   SET_TILE_INFO(1, code, 0, 0);
80   SET_TILE_INFO_MEMBER(1, code, 0, 0);
8381}
8482
8583VIDEO_START( kopunch )
8684{
8785   kopunch_state *state = machine.driver_data<kopunch_state>();
88   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,  8,  8, 32, 32);
89   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
86   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);
87   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);
9088
9189   state->m_fg_tilemap->set_transparent_pen(0);
9290
trunk/src/mame/video/news.c
r17673r17674
88
99***************************************************************************/
1010
11static TILE_GET_INFO( get_fg_tile_info )
11TILE_GET_INFO_MEMBER(news_state::get_fg_tile_info)
1212{
13   news_state *state = machine.driver_data<news_state>();
14   int code = (state->m_fgram[tile_index * 2] << 8) | state->m_fgram[tile_index * 2 + 1];
15   SET_TILE_INFO(
13   int code = (m_fgram[tile_index * 2] << 8) | m_fgram[tile_index * 2 + 1];
14   SET_TILE_INFO_MEMBER(
1615         0,
1716         code & 0x0fff,
1817         (code & 0xf000) >> 12,
1918         0);
2019}
2120
22static TILE_GET_INFO( get_bg_tile_info )
21TILE_GET_INFO_MEMBER(news_state::get_bg_tile_info)
2322{
24   news_state *state = machine.driver_data<news_state>();
25   int code = (state->m_bgram[tile_index * 2] << 8) | state->m_bgram[tile_index * 2 + 1];
23   int code = (m_bgram[tile_index * 2] << 8) | m_bgram[tile_index * 2 + 1];
2624   int color = (code & 0xf000) >> 12;
2725
2826   code &= 0x0fff;
2927   if ((code & 0x0e00) == 0x0e00)
30      code = (code & 0x1ff) | (state->m_bgpic << 9);
28      code = (code & 0x1ff) | (m_bgpic << 9);
3129
32   SET_TILE_INFO(
30   SET_TILE_INFO_MEMBER(
3331         0,
3432         code,
3533         color,
r17673r17674
4846{
4947   news_state *state = machine.driver_data<news_state>();
5048
51   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
49   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);
5250   state->m_fg_tilemap->set_transparent_pen(0);
5351
54   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
52   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);
5553}
5654
5755
trunk/src/mame/video/shuuz.c
r17673r17674
1616 *
1717 *************************************/
1818
19static TILE_GET_INFO( get_playfield_tile_info )
19TILE_GET_INFO_MEMBER(shuuz_state::get_playfield_tile_info)
2020{
21   shuuz_state *state = machine.driver_data<shuuz_state>();
22   UINT16 data1 = state->m_playfield[tile_index];
23   UINT16 data2 = state->m_playfield_upper[tile_index] >> 8;
21   UINT16 data1 = m_playfield[tile_index];
22   UINT16 data2 = m_playfield_upper[tile_index] >> 8;
2423   int code = data1 & 0x3fff;
2524   int color = data2 & 0x0f;
26   SET_TILE_INFO(0, code, color, (data1 >> 15) & 1);
25   SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
2726}
2827
2928
r17673r17674
7574   shuuz_state *state = machine.driver_data<shuuz_state>();
7675
7776   /* initialize the playfield */
78   state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_COLS,  8,8, 64,64);
77   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);
7978
8079   /* initialize the motion objects */
8180   atarimo_init(machine, 0, &modesc);
trunk/src/mame/video/finalizr.c
r17673r17674
4444   }
4545}
4646
47static TILE_GET_INFO( get_bg_tile_info )
47TILE_GET_INFO_MEMBER(finalizr_state::get_bg_tile_info)
4848{
49   finalizr_state *state = machine.driver_data<finalizr_state>();
50   int attr = state->m_colorram[tile_index];
51   int code = state->m_videoram[tile_index] + ((attr & 0xc0) << 2) + (state->m_charbank << 10);
49   int attr = m_colorram[tile_index];
50   int code = m_videoram[tile_index] + ((attr & 0xc0) << 2) + (m_charbank << 10);
5251   int color = attr & 0x0f;
5352   int flags = TILE_FLIPYX((attr & 0x30) >> 4);
5453
55   SET_TILE_INFO(0, code, color, flags);
54   SET_TILE_INFO_MEMBER(0, code, color, flags);
5655}
5756
58static TILE_GET_INFO( get_fg_tile_info )
57TILE_GET_INFO_MEMBER(finalizr_state::get_fg_tile_info)
5958{
60   finalizr_state *state = machine.driver_data<finalizr_state>();
61   int attr = state->m_colorram2[tile_index];
62   int code = state->m_videoram2[tile_index] + ((attr & 0xc0) << 2);
59   int attr = m_colorram2[tile_index];
60   int code = m_videoram2[tile_index] + ((attr & 0xc0) << 2);
6361   int color = attr & 0x0f;
6462   int flags = TILE_FLIPYX((attr & 0x30) >> 4);
6563
66   SET_TILE_INFO(0, code, color, flags);
64   SET_TILE_INFO_MEMBER(0, code, color, flags);
6765}
6866
6967VIDEO_START( finalizr )
7068{
7169   finalizr_state *state = machine.driver_data<finalizr_state>();
7270
73   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
74   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
71   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);
72   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);
7573}
7674
7775
trunk/src/mame/video/cclimber.c
r17673r17674
344344}
345345
346346
347static TILE_GET_INFO( cclimber_get_pf_tile_info )
347TILE_GET_INFO_MEMBER(cclimber_state::cclimber_get_pf_tile_info)
348348{
349   cclimber_state *state = machine.driver_data<cclimber_state>();
350349   int code, color;
351350
352   int flags = TILE_FLIPYX(state->m_colorram[tile_index] >> 6);
351   int flags = TILE_FLIPYX(m_colorram[tile_index] >> 6);
353352
354353   /* vertical flipping flips two adjacent characters */
355354   if (flags & 0x02)
356355      tile_index = tile_index ^ 0x20;
357356
358   code = ((state->m_colorram[tile_index] & 0x10) << 5) |
359         ((state->m_colorram[tile_index] & 0x20) << 3) |
360          state->m_videoram[tile_index];
357   code = ((m_colorram[tile_index] & 0x10) << 5) |
358         ((m_colorram[tile_index] & 0x20) << 3) |
359          m_videoram[tile_index];
361360
362   color = state->m_colorram[tile_index] & 0x0f;
361   color = m_colorram[tile_index] & 0x0f;
363362
364   SET_TILE_INFO(0, code, color, flags);
363   SET_TILE_INFO_MEMBER(0, code, color, flags);
365364}
366365
367366
368static TILE_GET_INFO( swimmer_get_pf_tile_info )
367TILE_GET_INFO_MEMBER(cclimber_state::swimmer_get_pf_tile_info)
369368{
370   cclimber_state *state = machine.driver_data<cclimber_state>();
371369   int code, color;
372370
373   int flags = TILE_FLIPYX(state->m_colorram[tile_index] >> 6);
371   int flags = TILE_FLIPYX(m_colorram[tile_index] >> 6);
374372
375373   /* vertical flipping flips two adjacent characters */
376374   if (flags & 0x02)
377375      tile_index = tile_index ^ 0x20;
378376
379   code = ((state->m_colorram[tile_index] & 0x10) << 4) | state->m_videoram[tile_index];
380   color = ((*state->m_swimmer_palettebank & 0x01) << 4) | (state->m_colorram[tile_index] & 0x0f);
377   code = ((m_colorram[tile_index] & 0x10) << 4) | m_videoram[tile_index];
378   color = ((*m_swimmer_palettebank & 0x01) << 4) | (m_colorram[tile_index] & 0x0f);
381379
382   SET_TILE_INFO(0, code, color, flags);
380   SET_TILE_INFO_MEMBER(0, code, color, flags);
383381}
384382
385383
386static TILE_GET_INFO( toprollr_get_pf_tile_info )
384TILE_GET_INFO_MEMBER(cclimber_state::toprollr_get_pf_tile_info)
387385{
388   cclimber_state *state = machine.driver_data<cclimber_state>();
389386   int code, attr, color;
390387
391   attr = tile_index & 0x10 ? state->m_colorram[tile_index & ~0x20] : state->m_colorram[tile_index];
392   code = ((attr & 0x30) << 4) | state->m_videoram[tile_index];
388   attr = tile_index & 0x10 ? m_colorram[tile_index & ~0x20] : m_colorram[tile_index];
389   code = ((attr & 0x30) << 4) | m_videoram[tile_index];
393390   color = attr & 0x0f;
394391
395   SET_TILE_INFO(0, code, color, 0);
392   SET_TILE_INFO_MEMBER(0, code, color, 0);
396393}
397394
398395
399static TILE_GET_INFO( cclimber_get_bs_tile_info )
396TILE_GET_INFO_MEMBER(cclimber_state::cclimber_get_bs_tile_info)
400397{
401   cclimber_state *state = machine.driver_data<cclimber_state>();
402398   int code, color;
403399
404400   /* only the lower right is visible */
r17673r17674
407403   /* the address doesn't use A4 of the coordinates, giving a 16x16 map */
408404   tile_index = ((tile_index & 0x1e0) >> 1) | (tile_index & 0x0f);
409405
410   code = ((state->m_bigsprite_control[1] & 0x08) << 5) | state->m_bigsprite_videoram[tile_index];
411   color = state->m_bigsprite_control[1] & 0x07;
406   code = ((m_bigsprite_control[1] & 0x08) << 5) | m_bigsprite_videoram[tile_index];
407   color = m_bigsprite_control[1] & 0x07;
412408
413   SET_TILE_INFO(2, code, color, 0);
409   SET_TILE_INFO_MEMBER(2, code, color, 0);
414410}
415411
416412
417static TILE_GET_INFO( toprollr_get_bs_tile_info )
413TILE_GET_INFO_MEMBER(cclimber_state::toprollr_get_bs_tile_info)
418414{
419   cclimber_state *state = machine.driver_data<cclimber_state>();
420415   int code, color;
421416
422417   /* only the lower right is visible */
r17673r17674
425420   /* the address doesn't use A4 of the coordinates, giving a 16x16 map */
426421   tile_index = ((tile_index & 0x1e0) >> 1) | (tile_index & 0x0f);
427422
428   code = ((state->m_bigsprite_control[1] & 0x18) << 5) | state->m_bigsprite_videoram[tile_index];
429   color = state->m_bigsprite_control[1] & 0x07;
423   code = ((m_bigsprite_control[1] & 0x18) << 5) | m_bigsprite_videoram[tile_index];
424   color = m_bigsprite_control[1] & 0x07;
430425
431   SET_TILE_INFO(2, code, color, 0);
426   SET_TILE_INFO_MEMBER(2, code, color, 0);
432427}
433428
434429
435static TILE_GET_INFO( toproller_get_bg_tile_info )
430TILE_GET_INFO_MEMBER(cclimber_state::toproller_get_bg_tile_info)
436431{
437   cclimber_state *state = machine.driver_data<cclimber_state>();
438   int code = ((state->m_toprollr_bg_coloram[tile_index] & 0x40) << 2) | state->m_toprollr_bg_videoram[tile_index];
439   int color = state->m_toprollr_bg_coloram[tile_index] & 0x0f;
432   int code = ((m_toprollr_bg_coloram[tile_index] & 0x40) << 2) | m_toprollr_bg_videoram[tile_index];
433   int color = m_toprollr_bg_coloram[tile_index] & 0x0f;
440434
441   SET_TILE_INFO(3, code, color, TILE_FLIPX);
435   SET_TILE_INFO_MEMBER(3, code, color, TILE_FLIPX);
442436}
443437
444438
445439VIDEO_START( cclimber )
446440{
447441   cclimber_state *state = machine.driver_data<cclimber_state>();
448   state->m_pf_tilemap = tilemap_create(machine, cclimber_get_pf_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
442   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);
449443   state->m_pf_tilemap->set_transparent_pen(0);
450444   state->m_pf_tilemap->set_scroll_cols(32);
451445
452   state->m_bs_tilemap = tilemap_create(machine, cclimber_get_bs_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
446   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);
453447   state->m_bs_tilemap->set_scroll_cols(1);
454448   state->m_bs_tilemap->set_scroll_rows(1);
455449   state->m_bs_tilemap->set_transmask(0, 0x01, 0);   /* pen 0 is transaprent */
r17673r17674
460454VIDEO_START( swimmer )
461455{
462456   cclimber_state *state = machine.driver_data<cclimber_state>();
463   state->m_pf_tilemap = tilemap_create(machine, swimmer_get_pf_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
457   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);
464458   state->m_pf_tilemap->set_transparent_pen(0);
465459   state->m_pf_tilemap->set_scroll_cols(32);
466460
467   state->m_bs_tilemap = tilemap_create(machine, cclimber_get_bs_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
461   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);
468462   state->m_bs_tilemap->set_scroll_cols(1);
469463   state->m_bs_tilemap->set_scroll_rows(1);
470464   state->m_bs_tilemap->set_transmask(0, 0x01, 0);   /* pen 0 is transaprent */
r17673r17674
475469VIDEO_START( toprollr )
476470{
477471   cclimber_state *state = machine.driver_data<cclimber_state>();
478   state->m_pf_tilemap = tilemap_create(machine, toprollr_get_pf_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
472   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);
479473   state->m_pf_tilemap->set_transparent_pen(0);
480474
481   state->m_toproller_bg_tilemap = tilemap_create(machine, toproller_get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
475   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);
482476   state->m_toproller_bg_tilemap->set_scroll_rows(1);
483477
484   state->m_bs_tilemap = tilemap_create(machine, toprollr_get_bs_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
478   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);
485479   state->m_bs_tilemap->set_scroll_cols(1);
486480   state->m_bs_tilemap->set_scroll_rows(1);
487481   state->m_bs_tilemap->set_transmask(0, 0x01, 0);   /* pen 0 is transaprent */
trunk/src/mame/video/xorworld.c
r17673r17674
6666      0  | xxxx---- -------- | color
6767*/
6868
69static TILE_GET_INFO( get_bg_tile_info )
69TILE_GET_INFO_MEMBER(xorworld_state::get_bg_tile_info)
7070{
71   xorworld_state *state = machine.driver_data<xorworld_state>();
72   UINT16 *videoram = state->m_videoram;
71   UINT16 *videoram = m_videoram;
7372   int data = videoram[tile_index];
7473   int code = data & 0x0fff;
7574
76   SET_TILE_INFO(0, code, data >> 12, 0);
75   SET_TILE_INFO_MEMBER(0, code, data >> 12, 0);
7776}
7877
7978VIDEO_START( xorworld )
8079{
8180   xorworld_state *state = machine.driver_data<xorworld_state>();
82   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
81   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(xorworld_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
8382       8, 8, 32, 32);
8483}
8584
trunk/src/mame/video/speedspn.c
r17673r17674
44#include "includes/speedspn.h"
55
66
7static TILE_GET_INFO( get_speedspn_tile_info )
7TILE_GET_INFO_MEMBER(speedspn_state::get_speedspn_tile_info)
88{
9   speedspn_state *state = machine.driver_data<speedspn_state>();
10   int code = state->m_vidram[tile_index*2+1] | (state->m_vidram[tile_index*2] << 8);
11   int attr = state->m_attram[tile_index^0x400];
9   int code = m_vidram[tile_index*2+1] | (m_vidram[tile_index*2] << 8);
10   int attr = m_attram[tile_index^0x400];
1211
13   SET_TILE_INFO(0,code,attr & 0x3f,(attr & 0x80) ? TILE_FLIPX : 0);
12   SET_TILE_INFO_MEMBER(0,code,attr & 0x3f,(attr & 0x80) ? TILE_FLIPX : 0);
1413}
1514
1615VIDEO_START(speedspn)
1716{
1817   speedspn_state *state = machine.driver_data<speedspn_state>();
1918   state->m_vidram = auto_alloc_array(machine, UINT8, 0x1000 * 2);
20   state->m_tilemap = tilemap_create(machine, get_speedspn_tile_info,TILEMAP_SCAN_COLS, 8, 8,64,32);
19   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);
2120}
2221
2322WRITE8_MEMBER(speedspn_state::speedspn_vidram_w)
trunk/src/mame/video/cloak.c
r17673r17674
153153   flip_screen_set(data & 0x80);
154154}
155155
156static TILE_GET_INFO( get_bg_tile_info )
156TILE_GET_INFO_MEMBER(cloak_state::get_bg_tile_info)
157157{
158   cloak_state *state = machine.driver_data<cloak_state>();
159   UINT8 *videoram = state->m_videoram;
158   UINT8 *videoram = m_videoram;
160159   int code = videoram[tile_index];
161160
162   SET_TILE_INFO(0, code, 0, 0);
161   SET_TILE_INFO_MEMBER(0, code, 0, 0);
163162}
164163
165164VIDEO_START( cloak )
166165{
167166   cloak_state *state = machine.driver_data<cloak_state>();
168167
169   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
168   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);
170169
171170   state->m_bitmap_videoram1 = auto_alloc_array(machine, UINT8, 256*256);
172171   state->m_bitmap_videoram2 = auto_alloc_array(machine, UINT8, 256*256);
trunk/src/mame/video/namcona1.c
r17673r17674
6262   }
6363} /* tilemap_get_info */
6464
65static TILE_GET_INFO( tilemap_get_info0 )
65TILE_GET_INFO_MEMBER(namcona1_state::tilemap_get_info0)
6666{
67   namcona1_state *state = machine.driver_data<namcona1_state>();
68   UINT16 *videoram = state->m_videoram;
69   tilemap_get_info(machine,tileinfo,tile_index,0*0x1000+videoram,state->m_tilemap_palette_bank[0],state->m_vreg[0xbc/2]&1);
67   UINT16 *videoram = m_videoram;
68   tilemap_get_info(machine(),tileinfo,tile_index,0*0x1000+videoram,m_tilemap_palette_bank[0],m_vreg[0xbc/2]&1);
7069}
7170
72static TILE_GET_INFO( tilemap_get_info1 )
71TILE_GET_INFO_MEMBER(namcona1_state::tilemap_get_info1)
7372{
74   namcona1_state *state = machine.driver_data<namcona1_state>();
75   UINT16 *videoram = state->m_videoram;
76   tilemap_get_info(machine,tileinfo,tile_index,1*0x1000+videoram,state->m_tilemap_palette_bank[1],state->m_vreg[0xbc/2]&2);
73   UINT16 *videoram = m_videoram;
74   tilemap_get_info(machine(),tileinfo,tile_index,1*0x1000+videoram,m_tilemap_palette_bank[1],m_vreg[0xbc/2]&2);
7775}
7876
79static TILE_GET_INFO( tilemap_get_info2 )
77TILE_GET_INFO_MEMBER(namcona1_state::tilemap_get_info2)
8078{
81   namcona1_state *state = machine.driver_data<namcona1_state>();
82   UINT16 *videoram = state->m_videoram;
83   tilemap_get_info(machine,tileinfo,tile_index,2*0x1000+videoram,state->m_tilemap_palette_bank[2],state->m_vreg[0xbc/2]&4);
79   UINT16 *videoram = m_videoram;
80   tilemap_get_info(machine(),tileinfo,tile_index,2*0x1000+videoram,m_tilemap_palette_bank[2],m_vreg[0xbc/2]&4);
8481}
8582
86static TILE_GET_INFO( tilemap_get_info3 )
83TILE_GET_INFO_MEMBER(namcona1_state::tilemap_get_info3)
8784{
88   namcona1_state *state = machine.driver_data<namcona1_state>();
89   UINT16 *videoram = state->m_videoram;
90   tilemap_get_info(machine,tileinfo,tile_index,3*0x1000+videoram,state->m_tilemap_palette_bank[3],state->m_vreg[0xbc/2]&8);
85   UINT16 *videoram = m_videoram;
86   tilemap_get_info(machine(),tileinfo,tile_index,3*0x1000+videoram,m_tilemap_palette_bank[3],m_vreg[0xbc/2]&8);
9187}
9288
93static TILE_GET_INFO( roz_get_info )
89TILE_GET_INFO_MEMBER(namcona1_state::roz_get_info)
9490{
95   namcona1_state *state = machine.driver_data<namcona1_state>();
96   UINT16 *videoram = state->m_videoram;
91   UINT16 *videoram = m_videoram;
9792   /* each logical tile is constructed from 4*4 normal tiles */
98   int tilemap_color = state->m_roz_palette;
99   int use_4bpp_gfx = state->m_vreg[0xbc/2]&16; /* ? */
93   int tilemap_color = m_roz_palette;
94   int use_4bpp_gfx = m_vreg[0xbc/2]&16; /* ? */
10095   int c = tile_index%0x40;
10196   int r = tile_index/0x40;
10297   int data = videoram[0x8000/2+(r/4)*0x40+c/4]&0xfbf; /* mask out bit 0x40 - patch for Emeraldia Japan */
r17673r17674
109104   }
110105   if( data & 0x8000 )
111106   {
112      SET_TILE_INFO( gfx,tile,tilemap_color,TILE_FORCE_LAYER0 );
107      SET_TILE_INFO_MEMBER( gfx,tile,tilemap_color,TILE_FORCE_LAYER0 );
113108   }
114109   else
115110   {
116      UINT8 *mask_data = (UINT8 *)(state->m_shaperam+4*tile);
111      UINT8 *mask_data = (UINT8 *)(m_shaperam+4*tile);
117112
118113      if (ENDIANNESS_NATIVE == ENDIANNESS_LITTLE)
119114      {
120115         UINT16 *source = (UINT16 *)mask_data;
121         UINT8 *conv_data = state->m_conv_data;
116         UINT8 *conv_data = m_conv_data;
122117         conv_data[0] = source[0]>>8;
123118         conv_data[1] = source[0]&0xff;
124119         conv_data[2] = source[1]>>8;
r17673r17674
129124         conv_data[7] = source[3]&0xff;
130125         mask_data = conv_data;
131126      }
132      SET_TILE_INFO( gfx,tile,tilemap_color,0 );
127      SET_TILE_INFO_MEMBER( gfx,tile,tilemap_color,0 );
133128      tileinfo.mask_data = mask_data;
134129   }
135130} /* roz_get_info */
r17673r17674
283278VIDEO_START( namcona1 )
284279{
285280   namcona1_state *state = machine.driver_data<namcona1_state>();
286   static const tile_get_info_func get_info[4] = { tilemap_get_info0, tilemap_get_info1, tilemap_get_info2, tilemap_get_info3 };
281   static const tilemap_get_info_delegate get_info[4] = {
282      tilemap_get_info_delegate(FUNC(namcona1_state::tilemap_get_info0),state),
283      tilemap_get_info_delegate(FUNC(namcona1_state::tilemap_get_info1),state),
284      tilemap_get_info_delegate(FUNC(namcona1_state::tilemap_get_info2),state),
285      tilemap_get_info_delegate(FUNC(namcona1_state::tilemap_get_info3),state)
286   };
287287   int i;
288288
289   state->m_roz_tilemap = tilemap_create( machine, roz_get_info, TILEMAP_SCAN_ROWS, 8,8,64,64 );
289   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 );
290290   state->m_roz_palette = -1;
291291
292292   for( i=0; i<NAMCONA1_NUM_TILEMAPS; i++ )
293293   {
294      state->m_bg_tilemap[i] = tilemap_create( machine, get_info[i], TILEMAP_SCAN_ROWS, 8,8,64,64 );
294      state->m_bg_tilemap[i] = &machine.tilemap().create(get_info[i], TILEMAP_SCAN_ROWS, 8,8,64,64 );
295295      state->m_tilemap_palette_bank[i] = -1;
296296   }
297297
trunk/src/mame/video/foodf.c
r17673r17674
1515 *
1616 *************************************/
1717
18static TILE_GET_INFO( get_playfield_tile_info )
18TILE_GET_INFO_MEMBER(foodf_state::get_playfield_tile_info)
1919{
20   foodf_state *state = machine.driver_data<foodf_state>();
21   UINT16 data = state->m_playfield[tile_index];
20   UINT16 data = m_playfield[tile_index];
2221   int code = (data & 0xff) | ((data >> 7) & 0x100);
2322   int color = (data >> 8) & 0x3f;
24   SET_TILE_INFO(0, code, color, state->m_playfield_flip ? (TILE_FLIPX | TILE_FLIPY) : 0);
23   SET_TILE_INFO_MEMBER(0, code, color, m_playfield_flip ? (TILE_FLIPX | TILE_FLIPY) : 0);
2524}
2625
2726
r17673r17674
3837   foodf_state *state = machine.driver_data<foodf_state>();
3938
4039   /* initialize the playfield */
41   state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_COLS,  8,8, 32,32);
40   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);
4241   state->m_playfield_tilemap->set_transparent_pen(0);
4342
4443   /* adjust the playfield for the 8 pixel offset */
trunk/src/mame/video/bsktball.c
r17673r17674
1515   m_bg_tilemap->mark_tile_dirty(offset);
1616}
1717
18static TILE_GET_INFO( get_bg_tile_info )
18TILE_GET_INFO_MEMBER(bsktball_state::get_bg_tile_info)
1919{
20   bsktball_state *state = machine.driver_data<bsktball_state>();
21   int attr = state->m_videoram[tile_index];
20   int attr = m_videoram[tile_index];
2221   int code = ((attr & 0x0f) << 2) | ((attr & 0x30) >> 4);
2322   int color = (attr & 0x40) >> 6;
2423   int flags = (attr & 0x80) ? TILE_FLIPX : 0;
2524
26   SET_TILE_INFO(0, code, color, flags);
25   SET_TILE_INFO_MEMBER(0, code, color, flags);
2726}
2827
2928VIDEO_START( bsktball )
3029{
3130   bsktball_state *state = machine.driver_data<bsktball_state>();
32   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
31   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);
3332}
3433
3534static void draw_sprites( running_machine &machine,  bitmap_ind16 &bitmap, const rectangle &cliprect )
trunk/src/mame/video/armedf.c
r17673r17674
1414
1515***************************************************************************/
1616
17static TILEMAP_MAPPER( armedf_scan_type1 )
17TILEMAP_MAPPER_MEMBER(armedf_state::armedf_scan_type1)
1818{   /* col: 0..63; row: 0..31 */
1919   /* armed formation */
2020   return col * 32 + row;
2121}
2222
23static TILEMAP_MAPPER( armedf_scan_type2 )
23TILEMAP_MAPPER_MEMBER(armedf_state::armedf_scan_type2)
2424{   /* col: 0..63; row: 0..31 */
2525   return 32 * (31 - row) + (col & 0x1f) + 0x800 * (col / 32);
2626}
2727
28static TILEMAP_MAPPER( armedf_scan_type3 )
28TILEMAP_MAPPER_MEMBER(armedf_state::armedf_scan_type3)
2929{   /* col: 0..63; row: 0..31 */
3030   /* legion & legiono */
3131   return (col & 0x1f) * 32 + row + 0x800 * (col / 32);
3232}
3333
34static TILE_GET_INFO( get_nb1414m4_tx_tile_info )
34TILE_GET_INFO_MEMBER(armedf_state::get_nb1414m4_tx_tile_info)
3535{
36   armedf_state *state = machine.driver_data<armedf_state>();
37   int tile_number = state->m_text_videoram[tile_index] & 0xff;
36   int tile_number = m_text_videoram[tile_index] & 0xff;
3837   int attributes;
3938
4039   /* TODO: Armed F doesn't seem to use the NB1414M4! */
41   //if (state->m_scroll_type == 1)
42   //  attributes = state->m_text_videoram[tile_index + 0x800] & 0xff;
40   //if (m_scroll_type == 1)
41   //  attributes = m_text_videoram[tile_index + 0x800] & 0xff;
4342   //else
4443   {
45      attributes = state->m_text_videoram[tile_index + 0x400] & 0xff;
44      attributes = m_text_videoram[tile_index + 0x400] & 0xff;
4645
4746      if(tile_index < 0x12) /* don't draw the NB1414M4 params! TODO: could be a better fix */
4847         tile_number = attributes = 0x00;
r17673r17674
5150   /* bit 3 controls priority, (0) nb1414m4 has priority over all the other video layers */
5251   tileinfo.category = (attributes & 0x8) >> 3;
5352
54   SET_TILE_INFO(
53   SET_TILE_INFO_MEMBER(
5554         0,
5655         tile_number + 256 * (attributes & 0x3),
5756         attributes >> 4,
5857         0);
5958}
6059
61static TILE_GET_INFO( get_armedf_tx_tile_info )
60TILE_GET_INFO_MEMBER(armedf_state::get_armedf_tx_tile_info)
6261{
63   armedf_state *state = machine.driver_data<armedf_state>();
64   int tile_number = state->m_text_videoram[tile_index] & 0xff;
62   int tile_number = m_text_videoram[tile_index] & 0xff;
6563   int attributes;
6664
6765   /* TODO: Armed F doesn't seem to use the NB1414M4! */
68   //if (state->m_scroll_type == 1)
69      attributes = state->m_text_videoram[tile_index + 0x800] & 0xff;
66   //if (m_scroll_type == 1)
67      attributes = m_text_videoram[tile_index + 0x800] & 0xff;
7068   //else
7169   //{
72   //  attributes = state->m_text_videoram[tile_index + 0x400] & 0xff;
70   //  attributes = m_text_videoram[tile_index + 0x400] & 0xff;
7371//
7472   //  if(tile_index < 0x12) /* don't draw the NB1414M4 params! TODO: could be a better fix */
7573   //      tile_number = attributes = 0x00;
r17673r17674
7876   /* bit 3 controls priority, (0) nb1414m4 has priority over all the other video layers */
7977   tileinfo.category = (attributes & 0x8) >> 3;
8078
81   SET_TILE_INFO(
79   SET_TILE_INFO_MEMBER(
8280         0,
8381         tile_number + 256 * (attributes & 0x3),
8482         attributes >> 4,
r17673r17674
8684}
8785
8886
89static TILE_GET_INFO( get_fg_tile_info )
87TILE_GET_INFO_MEMBER(armedf_state::get_fg_tile_info)
9088{
91   armedf_state *state = machine.driver_data<armedf_state>();
92   int data = state->m_fg_videoram[tile_index];
93   SET_TILE_INFO(
89   int data = m_fg_videoram[tile_index];
90   SET_TILE_INFO_MEMBER(
9491         1,
9592         data&0x7ff,
9693         data>>11,
r17673r17674
9895}
9996
10097
101static TILE_GET_INFO( get_bg_tile_info )
98TILE_GET_INFO_MEMBER(armedf_state::get_bg_tile_info)
10299{
103   armedf_state *state = machine.driver_data<armedf_state>();
104   int data = state->m_bg_videoram[tile_index];
105   SET_TILE_INFO(
100   int data = m_bg_videoram[tile_index];
101   SET_TILE_INFO_MEMBER(
106102         2,
107103         data & 0x3ff,
108104         data >> 11,
r17673r17674
123119
124120   state->m_sprite_offy = (state->m_scroll_type & 2 ) ? 0 : 128;  /* legion, legiono, crazy climber 2 */
125121
126   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 64, 32);
127   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 64, 32);
122   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);
123   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);
128124
129   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);
125   state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(armedf_state::get_nb1414m4_tx_tile_info),state),
126      (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);
130127
131128   state->m_bg_tilemap->set_transparent_pen(0xf);
132129   state->m_fg_tilemap->set_transparent_pen(0xf);
r17673r17674
145142
146143   state->m_sprite_offy = (state->m_scroll_type & 2 ) ? 0 : 128;  /* legion, legiono, crazy climber 2 */
147144
148   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 64, 32);
149   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 64, 32);
145   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);
146   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);
150147
151   state->m_tx_tilemap = tilemap_create(machine, get_armedf_tx_tile_info, armedf_scan_type1, 8, 8, 64, 32);
148   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);
152149
153150   state->m_bg_tilemap->set_transparent_pen(0xf);
154151   state->m_fg_tilemap->set_transparent_pen(0xf);
trunk/src/mame/video/dkong.c
r17673r17674
452452   state->m_color_codes = color_prom;   /* we'll need it later */
453453}
454454
455static TILE_GET_INFO( dkong_bg_tile_info )
455TILE_GET_INFO_MEMBER(dkong_state::dkong_bg_tile_info)
456456{
457   dkong_state *state = machine.driver_data<dkong_state>();
458   int code = state->m_video_ram[tile_index] + 256 * state->m_gfx_bank;
459   int color = (state->m_color_codes[tile_index % 32 + 32 * (tile_index / 32 / 4)] & 0x0f) + 0x10 * state->m_palette_bank;
457   int code = m_video_ram[tile_index] + 256 * m_gfx_bank;
458   int color = (m_color_codes[tile_index % 32 + 32 * (tile_index / 32 / 4)] & 0x0f) + 0x10 * m_palette_bank;
460459
461   SET_TILE_INFO(0, code, color, 0);
460   SET_TILE_INFO_MEMBER(0, code, color, 0);
462461}
463462
464static TILE_GET_INFO( radarscp1_bg_tile_info )
463TILE_GET_INFO_MEMBER(dkong_state::radarscp1_bg_tile_info)
465464{
466   dkong_state *state = machine.driver_data<dkong_state>();
467   int code = state->m_video_ram[tile_index] + 256 * state->m_gfx_bank;
468   int color = (state->m_color_codes[tile_index % 32] & 0x0f);
469   color = color | (state->m_palette_bank<<4);
465   int code = m_video_ram[tile_index] + 256 * m_gfx_bank;
466   int color = (m_color_codes[tile_index % 32] & 0x0f);
467   color = color | (m_palette_bank<<4);
470468
471   SET_TILE_INFO(0, code, color, 0);
469   SET_TILE_INFO_MEMBER(0, code, color, 0);
472470}
473471
474472/***************************************************************************
r17673r17674
942940          /* fall through */
943941      case HARDWARE_TKG04:
944942      case HARDWARE_TKG02:
945         state->m_bg_tilemap = tilemap_create(machine, dkong_bg_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 32, 32);
943         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);
946944         state->m_bg_tilemap->set_scrolldx(0, 128);
947945         break;
948946      case HARDWARE_TRS01:
949         state->m_bg_tilemap = tilemap_create(machine, radarscp1_bg_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 32, 32);
947         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);
950948         state->m_bg_tilemap->set_scrolldx(0, 128);
951949
952950         machine.primary_screen->register_screen_bitmap(state->m_bg_bits);
trunk/src/mame/video/sprint4.c
r17673r17674
3535}
3636
3737
38static TILE_GET_INFO( sprint4_tile_info )
38TILE_GET_INFO_MEMBER(sprint4_state::sprint4_tile_info)
3939{
40   sprint4_state *state = machine.driver_data<sprint4_state>();
41   UINT8 *videoram = state->m_videoram;
40   UINT8 *videoram = m_videoram;
4241   UINT8 code = videoram[tile_index];
4342
4443   if ((code & 0x30) == 0x30)
45      SET_TILE_INFO(0, code & ~0x40, (code >> 6) ^ 3, 0);
44      SET_TILE_INFO_MEMBER(0, code & ~0x40, (code >> 6) ^ 3, 0);
4645   else
47      SET_TILE_INFO(0, code, 4, 0);
46      SET_TILE_INFO_MEMBER(0, code, 4, 0);
4847}
4948
5049
r17673r17674
5352   sprint4_state *state = machine.driver_data<sprint4_state>();
5453   machine.primary_screen->register_screen_bitmap(state->m_helper);
5554
56   state->m_playfield = tilemap_create(machine, sprint4_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
55   state->m_playfield = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sprint4_state::sprint4_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
5756}
5857
5958
trunk/src/mame/video/appoooh.c
r17673r17674
100100
101101***************************************************************************/
102102
103static TILE_GET_INFO( get_fg_tile_info )
103TILE_GET_INFO_MEMBER(appoooh_state::get_fg_tile_info)
104104{
105   appoooh_state *state = machine.driver_data<appoooh_state>();
106   int code = state->m_fg_videoram[tile_index] + 256 * ((state->m_fg_colorram[tile_index] >> 5) & 7);
105   int code = m_fg_videoram[tile_index] + 256 * ((m_fg_colorram[tile_index] >> 5) & 7);
107106
108   SET_TILE_INFO(
107   SET_TILE_INFO_MEMBER(
109108         0,
110109         code,
111         state->m_fg_colorram[tile_index] & 0x0f,
112         (state->m_fg_colorram[tile_index] & 0x10 ) ? TILEMAP_FLIPX : 0
110         m_fg_colorram[tile_index] & 0x0f,
111         (m_fg_colorram[tile_index] & 0x10 ) ? TILEMAP_FLIPX : 0
113112   );
114113}
115114
116static TILE_GET_INFO( get_bg_tile_info )
115TILE_GET_INFO_MEMBER(appoooh_state::get_bg_tile_info)
117116{
118   appoooh_state *state = machine.driver_data<appoooh_state>();
119   int code = state->m_bg_videoram[tile_index] + 256 * ((state->m_bg_colorram[tile_index] >> 5) & 7);
117   int code = m_bg_videoram[tile_index] + 256 * ((m_bg_colorram[tile_index] >> 5) & 7);
120118
121   SET_TILE_INFO(
119   SET_TILE_INFO_MEMBER(
122120         1,
123121         code,
124         state->m_bg_colorram[tile_index] & 0x0f,
125         (state->m_bg_colorram[tile_index] & 0x10 ) ? TILEMAP_FLIPX : 0
122         m_bg_colorram[tile_index] & 0x0f,
123         (m_bg_colorram[tile_index] & 0x10 ) ? TILEMAP_FLIPX : 0
126124   );
127125}
128126
r17673r17674
136134{
137135   appoooh_state *state = machine.driver_data<appoooh_state>();
138136
139   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
140   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
137   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);
138   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);
141139
142140   state->m_fg_tilemap->set_transparent_pen(0);
143141   state->m_fg_tilemap->set_scrolldy(8, 8);
trunk/src/mame/video/travrusa.c
r17673r17674
197197
198198***************************************************************************/
199199
200static TILE_GET_INFO( get_tile_info )
200TILE_GET_INFO_MEMBER(travrusa_state::get_tile_info)
201201{
202   travrusa_state *state = machine.driver_data<travrusa_state>();
203   UINT8 attr = state->m_videoram[2 * tile_index + 1];
202   UINT8 attr = m_videoram[2 * tile_index + 1];
204203   int flags = TILE_FLIPXY((attr & 0x30) >> 4);
205204
206205   tileinfo.group = ((attr & 0x0f) == 0x0f) ? 1 : 0;   /* tunnels */
207206
208   SET_TILE_INFO(
207   SET_TILE_INFO_MEMBER(
209208         0,
210         state->m_videoram[2 * tile_index] + ((attr & 0xc0) << 2),
209         m_videoram[2 * tile_index] + ((attr & 0xc0) << 2),
211210         attr & 0x0f,
212211         flags);
213212}
r17673r17674
226225
227226   state->save_item(NAME(state->m_scrollx));
228227
229   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
228   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);
230229
231230   state->m_bg_tilemap->set_transmask(0, 0xff, 0x00); /* split type 0 is totally transparent in front half */
232231   state->m_bg_tilemap->set_transmask(1, 0x3f, 0xc0); /* split type 1 has pens 6 and 7 opaque - tunnels */
trunk/src/mame/video/metlclsh.c
r17673r17674
6464
6565***************************************************************************/
6666
67static TILEMAP_MAPPER( metlclsh_bgtilemap_scan )
67TILEMAP_MAPPER_MEMBER(metlclsh_state::metlclsh_bgtilemap_scan)
6868{
6969   return   (row & 7) + ((row & ~7) << 4) + ((col & 0xf) << 3) + ((col & ~0xf) << 4);
7070}
7171
72static TILE_GET_INFO( get_bg_tile_info )
72TILE_GET_INFO_MEMBER(metlclsh_state::get_bg_tile_info)
7373{
74   metlclsh_state *state = machine.driver_data<metlclsh_state>();
75   SET_TILE_INFO(1, state->m_bgram[tile_index] + (state->m_gfxbank << 7), 0, 0);
74   SET_TILE_INFO_MEMBER(1, m_bgram[tile_index] + (m_gfxbank << 7), 0, 0);
7675}
7776
7877WRITE8_MEMBER(metlclsh_state::metlclsh_bgram_w)
r17673r17674
112111
113112***************************************************************************/
114113
115static TILE_GET_INFO( get_fg_tile_info )
114TILE_GET_INFO_MEMBER(metlclsh_state::get_fg_tile_info)
116115{
117   metlclsh_state *state = machine.driver_data<metlclsh_state>();
118   UINT8 code = state->m_fgram[tile_index + 0x000];
119   UINT8 attr = state->m_fgram[tile_index + 0x400];
120   SET_TILE_INFO(2, code + ((attr & 0x03) << 8), (attr >> 5) & 3, 0);
116   UINT8 code = m_fgram[tile_index + 0x000];
117   UINT8 attr = m_fgram[tile_index + 0x400];
118   SET_TILE_INFO_MEMBER(2, code + ((attr & 0x03) << 8), (attr >> 5) & 3, 0);
121119   tileinfo.category = ((attr & 0x80) ? 1 : 2);
122120}
123121
r17673r17674
140138
141139   state->m_otherram = auto_alloc_array(machine, UINT8, 0x800);   // banked ram
142140
143   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, metlclsh_bgtilemap_scan, 16, 16, 32, 16);
144   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
141   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);
142   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);
145143
146144   state->m_bg_tilemap->set_transparent_pen(0);
147145   state->m_fg_tilemap->set_transparent_pen(0);
trunk/src/mame/video/dbz.c
r17673r17674
4444   m_bg2_tilemap->mark_tile_dirty(offset / 2);
4545}
4646
47static TILE_GET_INFO( get_dbz_bg2_tile_info )
47TILE_GET_INFO_MEMBER(dbz_state::get_dbz_bg2_tile_info)
4848{
49   dbz_state *state = machine.driver_data<dbz_state>();
5049   int tileno, colour, flag;
5150
52   tileno = state->m_bg2_videoram[tile_index * 2 + 1] & 0x7fff;
53   colour = (state->m_bg2_videoram[tile_index * 2] & 0x000f);
54   flag = (state->m_bg2_videoram[tile_index * 2] & 0x0080) ? TILE_FLIPX : 0;
51   tileno = m_bg2_videoram[tile_index * 2 + 1] & 0x7fff;
52   colour = (m_bg2_videoram[tile_index * 2] & 0x000f);
53   flag = (m_bg2_videoram[tile_index * 2] & 0x0080) ? TILE_FLIPX : 0;
5554
56   SET_TILE_INFO(0, tileno, colour + (state->m_layer_colorbase[5] << 1), flag);
55   SET_TILE_INFO_MEMBER(0, tileno, colour + (m_layer_colorbase[5] << 1), flag);
5756}
5857
5958WRITE16_MEMBER(dbz_state::dbz_bg1_videoram_w)
r17673r17674
6261   m_bg1_tilemap->mark_tile_dirty(offset / 2);
6362}
6463
65static TILE_GET_INFO( get_dbz_bg1_tile_info )
64TILE_GET_INFO_MEMBER(dbz_state::get_dbz_bg1_tile_info)
6665{
67   dbz_state *state = machine.driver_data<dbz_state>();
6866   int tileno, colour, flag;
6967
70   tileno = state->m_bg1_videoram[tile_index * 2 + 1] & 0x7fff;
71   colour = (state->m_bg1_videoram[tile_index * 2] & 0x000f);
72   flag = (state->m_bg1_videoram[tile_index * 2] & 0x0080) ? TILE_FLIPX : 0;
68   tileno = m_bg1_videoram[tile_index * 2 + 1] & 0x7fff;
69   colour = (m_bg1_videoram[tile_index * 2] & 0x000f);
70   flag = (m_bg1_videoram[tile_index * 2] & 0x0080) ? TILE_FLIPX : 0;
7371
74   SET_TILE_INFO(1, tileno, colour + (state->m_layer_colorbase[4] << 1), flag);
72   SET_TILE_INFO_MEMBER(1, tileno, colour + (m_layer_colorbase[4] << 1), flag);
7573}
7674
7775VIDEO_START( dbz )
7876{
7977   dbz_state *state = machine.driver_data<dbz_state>();
8078
81   state->m_bg1_tilemap = tilemap_create(machine, get_dbz_bg1_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
82   state->m_bg2_tilemap = tilemap_create(machine, get_dbz_bg2_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
79   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);
80   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);
8381
8482   state->m_bg1_tilemap->set_transparent_pen(0);
8583   state->m_bg2_tilemap->set_transparent_pen(0);
trunk/src/mame/video/goldstar.c
r17673r17674
6262   m_fg_tilemap->mark_tile_dirty(offset);
6363}
6464
65static TILE_GET_INFO( get_goldstar_fg_tile_info )
65TILE_GET_INFO_MEMBER(goldstar_state::get_goldstar_fg_tile_info)
6666{
67   goldstar_state *state = machine.driver_data<goldstar_state>();
68   int code = state->m_fg_vidram[tile_index];
69   int attr = state->m_fg_atrram[tile_index];
67   int code = m_fg_vidram[tile_index];
68   int attr = m_fg_atrram[tile_index];
7069
71   SET_TILE_INFO(
70   SET_TILE_INFO_MEMBER(
7271         0,
7372         code | (attr & 0xf0)<<4,
7473         attr&0x0f,
7574         0);
7675}
7776
78static TILE_GET_INFO( get_magical_fg_tile_info )
77TILE_GET_INFO_MEMBER(goldstar_state::get_magical_fg_tile_info)
7978{
80   goldstar_state *state = machine.driver_data<goldstar_state>();
81   int code = state->m_fg_vidram[tile_index];
82   int attr = state->m_fg_atrram[tile_index];
79   int code = m_fg_vidram[tile_index];
80   int attr = m_fg_atrram[tile_index];
8381
84   SET_TILE_INFO(
82   SET_TILE_INFO_MEMBER(
8583         0,
86         (code | (attr & 0xf0)<<4)+state->m_tile_bank*0x1000,
84         (code | (attr & 0xf0)<<4)+m_tile_bank*0x1000,
8785         attr&0x0f,
8886         0);
8987}
9088
9189
9290// colour / high tile bits are swapped around
93static TILE_GET_INFO( get_cherrym_fg_tile_info )
91TILE_GET_INFO_MEMBER(goldstar_state::get_cherrym_fg_tile_info)
9492{
95   goldstar_state *state = machine.driver_data<goldstar_state>();
96   int code = state->m_fg_vidram[tile_index];
97   int attr = state->m_fg_atrram[tile_index];
93   int code = m_fg_vidram[tile_index];
94   int attr = m_fg_atrram[tile_index];
9895
99   SET_TILE_INFO(
96   SET_TILE_INFO_MEMBER(
10097         0,
10198         code | (attr & 0x0f)<<8,
10299         (attr&0xf0)>>4,
r17673r17674
112109   m_reel1_tilemap->mark_tile_dirty(offset);
113110}
114111
115static TILE_GET_INFO( get_goldstar_reel1_tile_info )
112TILE_GET_INFO_MEMBER(goldstar_state::get_goldstar_reel1_tile_info)
116113{
117   goldstar_state *state = machine.driver_data<goldstar_state>();
118   int code = state->m_reel1_ram[tile_index];
114   int code = m_reel1_ram[tile_index];
119115
120   SET_TILE_INFO(
116   SET_TILE_INFO_MEMBER(
121117         1,
122118         code,
123         state->m_bgcolor,
119         m_bgcolor,
124120         0);
125121}
126122
r17673r17674
131127   m_reel2_tilemap->mark_tile_dirty(offset);
132128}
133129
134static TILE_GET_INFO( get_goldstar_reel2_tile_info )
130TILE_GET_INFO_MEMBER(goldstar_state::get_goldstar_reel2_tile_info)
135131{
136   goldstar_state *state = machine.driver_data<goldstar_state>();
137   int code = state->m_reel2_ram[tile_index];
132   int code = m_reel2_ram[tile_index];
138133
139   SET_TILE_INFO(
134   SET_TILE_INFO_MEMBER(
140135         1,
141136         code,
142         state->m_bgcolor,
137         m_bgcolor,
143138         0);
144139}
145140
r17673r17674
150145   m_reel3_tilemap->mark_tile_dirty(offset);
151146}
152147
153static TILE_GET_INFO( get_goldstar_reel3_tile_info )
148TILE_GET_INFO_MEMBER(goldstar_state::get_goldstar_reel3_tile_info)
154149{
155   goldstar_state *state = machine.driver_data<goldstar_state>();
156   int code = state->m_reel3_ram[tile_index];
150   int code = m_reel3_ram[tile_index];
157151
158   SET_TILE_INFO(
152   SET_TILE_INFO_MEMBER(
159153         1,
160154         code,
161         state->m_bgcolor,
155         m_bgcolor,
162156         0);
163157}
164158
r17673r17674
185179}
186180
187181
188static TILE_GET_INFO( get_unkch_reel1_tile_info )
182TILE_GET_INFO_MEMBER(goldstar_state::get_unkch_reel1_tile_info)
189183{
190   goldstar_state *state = machine.driver_data<goldstar_state>();
191   int code = state->m_reel1_ram[tile_index];
192   int attr = state->m_reel1_attrram[tile_index];
184   int code = m_reel1_ram[tile_index];
185   int attr = m_reel1_attrram[tile_index];
193186
194   SET_TILE_INFO(
187   SET_TILE_INFO_MEMBER(
195188         1,
196189         code | (attr & 0x0f)<<8,
197190         (attr&0xf0)>>4,
198191         0);
199192}
200193
201static TILE_GET_INFO( get_unkch_reel2_tile_info )
194TILE_GET_INFO_MEMBER(goldstar_state::get_unkch_reel2_tile_info)
202195{
203   goldstar_state *state = machine.driver_data<goldstar_state>();
204   int code = state->m_reel2_ram[tile_index];
205   int attr = state->m_reel2_attrram[tile_index];
196   int code = m_reel2_ram[tile_index];
197   int attr = m_reel2_attrram[tile_index];
206198
207   SET_TILE_INFO(
199   SET_TILE_INFO_MEMBER(
208200         1,
209201         code | (attr & 0x0f)<<8,
210202         (attr&0xf0)>>4,
211203         0);
212204}
213205
214static TILE_GET_INFO( get_unkch_reel3_tile_info )
206TILE_GET_INFO_MEMBER(goldstar_state::get_unkch_reel3_tile_info)
215207{
216   goldstar_state *state = machine.driver_data<goldstar_state>();
217   int code = state->m_reel3_ram[tile_index];
218   int attr = state->m_reel3_attrram[tile_index];
208   int code = m_reel3_ram[tile_index];
209   int attr = m_reel3_attrram[tile_index];
219210
220   SET_TILE_INFO(
211   SET_TILE_INFO_MEMBER(
221212         1,
222213         code | (attr & 0x0f)<<8,
223214         (attr&0xf0)>>4,
r17673r17674
231222{
232223   goldstar_state *state = machine.driver_data<goldstar_state>();
233224
234   state->m_reel1_tilemap = tilemap_create(machine,get_goldstar_reel1_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
235   state->m_reel2_tilemap = tilemap_create(machine,get_goldstar_reel2_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
236   state->m_reel3_tilemap = tilemap_create(machine,get_goldstar_reel3_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
225   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);
226   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);
227   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);
237228
238229   state->m_reel1_tilemap->set_scroll_cols(64);
239230   state->m_reel2_tilemap->set_scroll_cols(64);
240231   state->m_reel3_tilemap->set_scroll_cols(64);
241232
242   state->m_fg_tilemap = tilemap_create(machine,get_goldstar_fg_tile_info,TILEMAP_SCAN_ROWS,8,8, 64, 32);
233   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);
243234   state->m_fg_tilemap->set_transparent_pen(0);
244235
245236   // is there an enable reg for this game?
r17673r17674
250241{
251242   goldstar_state *state = machine.driver_data<goldstar_state>();
252243
253   state->m_reel1_tilemap = tilemap_create(machine,get_goldstar_reel1_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
244   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);
254245
255246   state->m_reel1_tilemap->set_scroll_cols(64);
256247
257   state->m_fg_tilemap = tilemap_create(machine,get_goldstar_fg_tile_info,TILEMAP_SCAN_ROWS,8,8, 64, 32);
248   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);
258249   state->m_fg_tilemap->set_transparent_pen(0);
259250
260251   // is there an enable reg for this game?
r17673r17674
265256{
266257   goldstar_state *state = machine.driver_data<goldstar_state>();
267258
268   state->m_reel1_tilemap = tilemap_create(machine,get_goldstar_reel1_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
269   state->m_reel2_tilemap = tilemap_create(machine,get_goldstar_reel2_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
270   state->m_reel3_tilemap = tilemap_create(machine,get_goldstar_reel3_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
259   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);
260   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);
261   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);
271262
272263   state->m_reel1_tilemap->set_scroll_cols(32);
273264   state->m_reel2_tilemap->set_scroll_cols(32);
274265   state->m_reel3_tilemap->set_scroll_cols(32);
275266
276   state->m_fg_tilemap = tilemap_create(machine,get_magical_fg_tile_info,TILEMAP_SCAN_ROWS,8,8, 64, 32);
267   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);
277268   state->m_fg_tilemap->set_transparent_pen(0);
278269
279270   // is there an enable reg for this game?
r17673r17674
284275{
285276   goldstar_state *state = machine.driver_data<goldstar_state>();
286277
287   state->m_reel1_tilemap = tilemap_create(machine,get_unkch_reel1_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
288   state->m_reel2_tilemap = tilemap_create(machine,get_unkch_reel2_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
289   state->m_reel3_tilemap = tilemap_create(machine,get_unkch_reel3_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
278   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);
279   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);
280   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);
290281
291282   state->m_reel1_tilemap->set_scroll_cols(32);
292283   state->m_reel2_tilemap->set_scroll_cols(32);
r17673r17674
296287   state->m_cmaster_girl_pal = 0;
297288   state->m_unkch_vidreg = 0x00;
298289
299   state->m_fg_tilemap = tilemap_create(machine,get_cherrym_fg_tile_info,TILEMAP_SCAN_ROWS,8,8, 64, 32);
290   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);
300291   state->m_fg_tilemap->set_transparent_pen(0);
301292
302293   state->m_cm_enable_reg = 0x0b;
r17673r17674
306297{
307298   goldstar_state *state = machine.driver_data<goldstar_state>();
308299
309   state->m_reel1_tilemap = tilemap_create(machine,get_goldstar_reel1_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
310   state->m_reel2_tilemap = tilemap_create(machine,get_goldstar_reel2_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
311   state->m_reel3_tilemap = tilemap_create(machine,get_goldstar_reel3_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
300   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);
301   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);
302   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);
312303
313304   state->m_reel1_tilemap->set_scroll_cols(64);
314305   state->m_reel2_tilemap->set_scroll_cols(64);
r17673r17674
317308   state->m_cmaster_girl_num = 0;
318309   state->m_cmaster_girl_pal = 0;
319310
320   state->m_fg_tilemap = tilemap_create(machine,get_cherrym_fg_tile_info,TILEMAP_SCAN_ROWS,8,8, 64, 32);
311   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);
321312   state->m_fg_tilemap->set_transparent_pen(0);
322313
323314   state->m_cm_enable_reg = 0x0b;
trunk/src/mame/video/wc90.c
r17673r17674
88
99***************************************************************************/
1010
11static TILE_GET_INFO( get_bg_tile_info )
11TILE_GET_INFO_MEMBER(wc90_state::get_bg_tile_info)
1212{
13   wc90_state *state = machine.driver_data<wc90_state>();
14   int attr = state->m_bgvideoram[tile_index];
15   int tile = state->m_bgvideoram[tile_index + 0x800] +
13   int attr = m_bgvideoram[tile_index];
14   int tile = m_bgvideoram[tile_index + 0x800] +
1615               256 * ((attr & 3) + ((attr >> 1) & 4));
17   SET_TILE_INFO(
16   SET_TILE_INFO_MEMBER(
1817         2,
1918         tile,
2019         attr >> 4,
2120         0);
2221}
2322
24static TILE_GET_INFO( get_fg_tile_info )
23TILE_GET_INFO_MEMBER(wc90_state::get_fg_tile_info)
2524{
26   wc90_state *state = machine.driver_data<wc90_state>();
27   int attr = state->m_fgvideoram[tile_index];
28   int tile = state->m_fgvideoram[tile_index + 0x800] +
25   int attr = m_fgvideoram[tile_index];
26   int tile = m_fgvideoram[tile_index + 0x800] +
2927               256 * ((attr & 3) + ((attr >> 1) & 4));
30   SET_TILE_INFO(
28   SET_TILE_INFO_MEMBER(
3129         1,
3230         tile,
3331         attr >> 4,
3432         0);
3533}
3634
37static TILE_GET_INFO( get_tx_tile_info )
35TILE_GET_INFO_MEMBER(wc90_state::get_tx_tile_info)
3836{
39   wc90_state *state = machine.driver_data<wc90_state>();
40   SET_TILE_INFO(
37   SET_TILE_INFO_MEMBER(
4138         0,
42         state->m_txvideoram[tile_index + 0x800] + ((state->m_txvideoram[tile_index] & 0x07) << 8),
43         state->m_txvideoram[tile_index] >> 4,
39         m_txvideoram[tile_index + 0x800] + ((m_txvideoram[tile_index] & 0x07) << 8),
40         m_txvideoram[tile_index] >> 4,
4441         0);
4542}
4643
47static TILE_GET_INFO( track_get_bg_tile_info )
44TILE_GET_INFO_MEMBER(wc90_state::track_get_bg_tile_info)
4845{
49   wc90_state *state = machine.driver_data<wc90_state>();
50   int attr = state->m_bgvideoram[tile_index];
51   int tile = state->m_bgvideoram[tile_index + 0x800] +
46   int attr = m_bgvideoram[tile_index];
47   int tile = m_bgvideoram[tile_index + 0x800] +
5248               256 * (attr & 7);
53   SET_TILE_INFO(
49   SET_TILE_INFO_MEMBER(
5450         2,
5551         tile,
5652         attr >> 4,
5753         0);
5854}
5955
60static TILE_GET_INFO( track_get_fg_tile_info )
56TILE_GET_INFO_MEMBER(wc90_state::track_get_fg_tile_info)
6157{
62   wc90_state *state = machine.driver_data<wc90_state>();
63   int attr = state->m_fgvideoram[tile_index];
64   int tile = state->m_fgvideoram[tile_index + 0x800] +
58   int attr = m_fgvideoram[tile_index];
59   int tile = m_fgvideoram[tile_index + 0x800] +
6560               256 * (attr & 7);
66   SET_TILE_INFO(
61   SET_TILE_INFO_MEMBER(
6762         1,
6863         tile,
6964         attr >> 4,
r17673r17674
8075VIDEO_START( wc90 )
8176{
8277   wc90_state *state = machine.driver_data<wc90_state>();
83   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS,     16,16,64,32);
84   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,16,16,64,32);
85   state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,32);
78   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);
79   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);
80   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);
8681
8782   state->m_fg_tilemap->set_transparent_pen(0);
8883   state->m_tx_tilemap->set_transparent_pen(0);
r17673r17674
9186VIDEO_START( wc90t )
9287{
9388   wc90_state *state = machine.driver_data<wc90_state>();
94   state->m_bg_tilemap = tilemap_create(machine, track_get_bg_tile_info,TILEMAP_SCAN_ROWS,     16,16,64,32);
95   state->m_fg_tilemap = tilemap_create(machine, track_get_fg_tile_info,TILEMAP_SCAN_ROWS,16,16,64,32);
96   state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,32);
89   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);
90   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);
91   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);
9792
9893   state->m_fg_tilemap->set_transparent_pen(0);
9994   state->m_tx_tilemap->set_transparent_pen(0);
trunk/src/mame/video/gauntlet.c
r17673r17674
1717 *
1818 *************************************/
1919
20static TILE_GET_INFO( get_alpha_tile_info )
20TILE_GET_INFO_MEMBER(gauntlet_state::get_alpha_tile_info)
2121{
22   gauntlet_state *state = machine.driver_data<gauntlet_state>();
23   UINT16 data = state->m_alpha[tile_index];
22   UINT16 data = m_alpha[tile_index];
2423   int code = data & 0x3ff;
2524   int color = ((data >> 10) & 0x0f) | ((data >> 9) & 0x20);
2625   int opaque = data & 0x8000;
27   SET_TILE_INFO(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
26   SET_TILE_INFO_MEMBER(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
2827}
2928
3029
31static TILE_GET_INFO( get_playfield_tile_info )
30TILE_GET_INFO_MEMBER(gauntlet_state::get_playfield_tile_info)
3231{
33   gauntlet_state *state = machine.driver_data<gauntlet_state>();
34   UINT16 data = state->m_playfield[tile_index];
35   int code = ((state->m_playfield_tile_bank * 0x1000) + (data & 0xfff)) ^ 0x800;
36   int color = 0x10 + (state->m_playfield_color_bank * 8) + ((data >> 12) & 7);
37   SET_TILE_INFO(0, code, color, (data >> 15) & 1);
32   UINT16 data = m_playfield[tile_index];
33   int code = ((m_playfield_tile_bank * 0x1000) + (data & 0xfff)) ^ 0x800;
34   int color = 0x10 + (m_playfield_color_bank * 8) + ((data >> 12) & 7);
35   SET_TILE_INFO_MEMBER(0, code, color, (data >> 15) & 1);
3836}
3937
4038
r17673r17674
8987   int i, size;
9088
9189   /* initialize the playfield */
92   state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_COLS,  8,8, 64,64);
90   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);
9391
9492   /* initialize the motion objects */
9593   atarimo_init(machine, 0, &modesc);
9694
9795   /* initialize the alphanumerics */
98   state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS,  8,8, 64,32);
96   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);
9997   state->m_alpha_tilemap->set_transparent_pen(0);
10098
10199   /* modify the motion object code lookup table to account for the code XOR */
trunk/src/mame/video/ms32.c
r17673r17674
2020
2121/********** Tilemaps **********/
2222
23static TILE_GET_INFO( get_ms32_tx_tile_info )
23TILE_GET_INFO_MEMBER(ms32_state::get_ms32_tx_tile_info)
2424{
25   ms32_state *state = machine.driver_data<ms32_state>();
2625   int tileno, colour;
2726
28   tileno = state->m_txram_16[tile_index *2]   & 0xffff;
29   colour = state->m_txram_16[tile_index *2+1] & 0x000f;
27   tileno = m_txram_16[tile_index *2]   & 0xffff;
28   colour = m_txram_16[tile_index *2+1] & 0x000f;
3029
31   SET_TILE_INFO(3,tileno,colour,0);
30   SET_TILE_INFO_MEMBER(3,tileno,colour,0);
3231}
3332
34static TILE_GET_INFO( get_ms32_roz_tile_info )
33TILE_GET_INFO_MEMBER(ms32_state::get_ms32_roz_tile_info)
3534{
36   ms32_state *state = machine.driver_data<ms32_state>();
3735   int tileno,colour;
3836
39   tileno = state->m_rozram_16[tile_index *2]   & 0xffff;
40   colour = state->m_rozram_16[tile_index *2+1] & 0x000f;
37   tileno = m_rozram_16[tile_index *2]   & 0xffff;
38   colour = m_rozram_16[tile_index *2+1] & 0x000f;
4139
42   SET_TILE_INFO(1,tileno,colour,0);
40   SET_TILE_INFO_MEMBER(1,tileno,colour,0);
4341}
4442
45static TILE_GET_INFO( get_ms32_bg_tile_info )
43TILE_GET_INFO_MEMBER(ms32_state::get_ms32_bg_tile_info)
4644{
47   ms32_state *state = machine.driver_data<ms32_state>();
4845   int tileno,colour;
4946
50   tileno = state->m_bgram_16[tile_index *2]   & 0xffff;
51   colour = state->m_bgram_16[tile_index *2+1] & 0x000f;
47   tileno = m_bgram_16[tile_index *2]   & 0xffff;
48   colour = m_bgram_16[tile_index *2+1] & 0x000f;
5249
53   SET_TILE_INFO(2,tileno,colour,0);
50   SET_TILE_INFO_MEMBER(2,tileno,colour,0);
5451}
5552
56static TILE_GET_INFO( get_ms32_extra_tile_info )
53TILE_GET_INFO_MEMBER(ms32_state::get_ms32_extra_tile_info)
5754{
58   ms32_state *state = machine.driver_data<ms32_state>();
5955   int tileno,colour;
6056
61   tileno = state->m_f1superb_extraram_16[tile_index *2]   & 0xffff;
62   colour = state->m_f1superb_extraram_16[tile_index *2+1] & 0x000f;
57   tileno = m_f1superb_extraram_16[tile_index *2]   & 0xffff;
58   colour = m_f1superb_extraram_16[tile_index *2+1] & 0x000f;
6359
64   SET_TILE_INFO(4,tileno,colour+0x50,0);
60   SET_TILE_INFO_MEMBER(4,tileno,colour+0x50,0);
6561}
6662
6763
r17673r17674
7874   state->m_bgram_16   = auto_alloc_array_clear(machine, UINT16, 0x4000);
7975   state->m_txram_16   = auto_alloc_array_clear(machine, UINT16, 0x4000);
8076
81   state->m_tx_tilemap = tilemap_create(machine, get_ms32_tx_tile_info,TILEMAP_SCAN_ROWS,8, 8,64,64);
82   state->m_bg_tilemap = tilemap_create(machine, get_ms32_bg_tile_info,TILEMAP_SCAN_ROWS,16,16,64,64);
83   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?
84   state->m_roz_tilemap = tilemap_create(machine, get_ms32_roz_tile_info,TILEMAP_SCAN_ROWS,16,16,128,128);
77   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);
78   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);
79   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?
80   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);
8581
8682
8783   /* set up tile layers */
r17673r17674
119115   VIDEO_START_CALL( ms32 );
120116
121117   state->m_f1superb_extraram_16  = auto_alloc_array_clear(machine, UINT16, 0x10000);
122   state->m_extra_tilemap = tilemap_create(machine, get_ms32_extra_tile_info,TILEMAP_SCAN_ROWS,2048,1,1,0x400);
118   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);
123119
124120}
125121
trunk/src/mame/video/seicross.c
r17673r17674
7676   m_bg_tilemap->mark_tile_dirty(offset + 0x20);
7777}
7878
79static TILE_GET_INFO( get_bg_tile_info )
79TILE_GET_INFO_MEMBER(seicross_state::get_bg_tile_info)
8080{
81   seicross_state *state = machine.driver_data<seicross_state>();
82   int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 0x10) << 4);
83   int color = state->m_colorram[tile_index] & 0x0f;
84   int flags = ((state->m_colorram[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((state->m_colorram[tile_index] & 0x80) ? TILE_FLIPY : 0);
81   int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x10) << 4);
82   int color = m_colorram[tile_index] & 0x0f;
83   int flags = ((m_colorram[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((m_colorram[tile_index] & 0x80) ? TILE_FLIPY : 0);
8584
86   SET_TILE_INFO(0, code, color, flags);
85   SET_TILE_INFO_MEMBER(0, code, color, flags);
8786}
8887
8988VIDEO_START( seicross )
9089{
9190   seicross_state *state = machine.driver_data<seicross_state>();
9291
93   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
92   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seicross_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
9493       8, 8, 32, 32);
9594
9695   state->m_bg_tilemap->set_scroll_cols(32);
trunk/src/mame/video/system16.c
r17673r17674
5858
5959/***************************************************************************/
6060
61static TILEMAP_MAPPER( sys16_bg_map )
61TILEMAP_MAPPER_MEMBER(segas1x_bootleg_state::sys16_bg_map)
6262{
6363   int page = 0;
6464   if (row < 32)
r17673r17674
8383   return page * 64 * 32 + row * 64 + col;
8484}
8585
86static TILEMAP_MAPPER( sys16_text_map )
86TILEMAP_MAPPER_MEMBER(segas1x_bootleg_state::sys16_text_map)
8787{
8888   return row * 64 + col + (64 - 40);
8989}
r17673r17674
235235   }
236236}
237237
238static TILE_GET_INFO( get_bg_tile_info )
238TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_bg_tile_info)
239239{
240   segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
241   const UINT16 *source = 64 * 32 * state->m_bg_page[tile_index / (64 * 32)] + state->m_tileram;
240   const UINT16 *source = 64 * 32 * m_bg_page[tile_index / (64 * 32)] + m_tileram;
242241   int data = source[tile_index%(64*32)];
243   int tile_number = (data & 0xfff) + 0x1000 * ((data & state->m_tilebank_switch) ? state->m_tile_bank1 : state->m_tile_bank0);
242   int tile_number = (data & 0xfff) + 0x1000 * ((data & m_tilebank_switch) ? m_tile_bank1 : m_tile_bank0);
244243
245   SET_TILE_INFO(
244   SET_TILE_INFO_MEMBER(
246245         0,
247246         tile_number,
248247         (data >> 6) & 0x7f,
249248         0);
250249}
251250
252static TILE_GET_INFO( get_fg_tile_info )
251TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_fg_tile_info)
253252{
254   segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
255   const UINT16 *source = 64 * 32 * state->m_fg_page[tile_index / (64 * 32)] + state->m_tileram;
253   const UINT16 *source = 64 * 32 * m_fg_page[tile_index / (64 * 32)] + m_tileram;
256254   int data = source[tile_index % (64 * 32)];
257   int tile_number = (data & 0xfff) + 0x1000 * ((data & state->m_tilebank_switch) ? state->m_tile_bank1 : state->m_tile_bank0);
255   int tile_number = (data & 0xfff) + 0x1000 * ((data & m_tilebank_switch) ? m_tile_bank1 : m_tile_bank0);
258256
259   SET_TILE_INFO(
257   SET_TILE_INFO_MEMBER(
260258         0,
261259         tile_number,
262260         (data >> 6) & 0x7f,
263261         0);
264262}
265263
266static TILE_GET_INFO( get_bg2_tile_info )
264TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_bg2_tile_info)
267265{
268   segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
269   const UINT16 *source = 64 * 32 * state->m_bg2_page[tile_index / (64 * 32)] + state->m_tileram;
266   const UINT16 *source = 64 * 32 * m_bg2_page[tile_index / (64 * 32)] + m_tileram;
270267   int data = source[tile_index % (64 * 32)];
271   int tile_number = (data & 0xfff) + 0x1000 * ((data & 0x1000) ? state->m_tile_bank1 : state->m_tile_bank0);
268   int tile_number = (data & 0xfff) + 0x1000 * ((data & 0x1000) ? m_tile_bank1 : m_tile_bank0);
272269
273   SET_TILE_INFO(
270   SET_TILE_INFO_MEMBER(
274271         0,
275272         tile_number,
276273         (data >> 6) & 0x7f,
277274         0);
278275}
279276
280static TILE_GET_INFO( get_fg2_tile_info )
277TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_fg2_tile_info)
281278{
282   segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
283   const UINT16 *source = 64 * 32 * state->m_fg2_page[tile_index / (64 * 32)] + state->m_tileram;
279   const UINT16 *source = 64 * 32 * m_fg2_page[tile_index / (64 * 32)] + m_tileram;
284280   int data = source[tile_index % (64 * 32)];
285   int tile_number = (data & 0xfff) + 0x1000 * ((data & 0x1000) ? state->m_tile_bank1 : state->m_tile_bank0);
281   int tile_number = (data & 0xfff) + 0x1000 * ((data & 0x1000) ? m_tile_bank1 : m_tile_bank0);
286282
287   SET_TILE_INFO(
283   SET_TILE_INFO_MEMBER(
288284         0,
289285         tile_number,
290286         (data >> 6) & 0x7f,
r17673r17674
329325
330326/***************************************************************************/
331327
332static TILE_GET_INFO( get_text_tile_info )
328TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_text_tile_info)
333329{
334   segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
335   const UINT16 *source = state->m_textram;
330   const UINT16 *source = m_textram;
336331   int tile_number = source[tile_index];
337332   int pri = tile_number >> 8;
338333
339   if (!state->m_shinobl_kludge)
334   if (!m_shinobl_kludge)
340335   {
341      SET_TILE_INFO(
336      SET_TILE_INFO_MEMBER(
342337            0,
343            (tile_number & 0x1ff) + state->m_tile_bank0 * 0x1000,
338            (tile_number & 0x1ff) + m_tile_bank0 * 0x1000,
344339            (tile_number >> 9) % 8,
345340            0);
346341   }
347342   else
348343   {
349      SET_TILE_INFO(
344      SET_TILE_INFO_MEMBER(
350345            0,
351            (tile_number & 0xff)  + state->m_tile_bank0 * 0x1000,
346            (tile_number & 0xff)  + m_tile_bank0 * 0x1000,
352347            (tile_number >> 8) % 8,
353348            0);
354349   }
355350
356   if (pri >= state->m_textlayer_lo_min && pri <= state->m_textlayer_lo_max)
351   if (pri >= m_textlayer_lo_min && pri <= m_textlayer_lo_max)
357352      tileinfo.category = 1;
358   if (pri >= state->m_textlayer_hi_min && pri <= state->m_textlayer_hi_max)
353   if (pri >= m_textlayer_hi_min && pri <= m_textlayer_hi_max)
359354      tileinfo.category = 0;
360355}
361356
r17673r17674
387382      );
388383
389384   if (!state->m_bg1_trans)
390      state->m_background = tilemap_create(machine, get_bg_tile_info, sys16_bg_map,
385      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),
391386         8,8,
392387         64*2,32*2 );
393388   else
394      state->m_background = tilemap_create(machine, get_bg_tile_info, sys16_bg_map,
389      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),
395390         8,8,
396391         64*2,32*2 );
397392
398   state->m_foreground = tilemap_create(machine, get_fg_tile_info, sys16_bg_map,
393   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),
399394      8,8,
400395      64*2,32*2 );
401396
402   state->m_text_layer = tilemap_create(machine, get_text_tile_info, sys16_text_map,
397   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),
403398      8,8,
404399      40,28 );
405400
r17673r17674
442437
443438   state->m_bg1_trans = 1;
444439
445   state->m_background2 = tilemap_create(machine, get_bg2_tile_info, sys16_bg_map,
440   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),
446441      8,8,
447442      64*2,32*2 );
448443
449   state->m_foreground2 = tilemap_create(machine, get_fg2_tile_info, sys16_bg_map,
444   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),
450445      8,8,
451446      64*2,32*2 );
452447
r17673r17674
491486*****************************************************************************************/
492487
493488
494static TILE_GET_INFO( get_s16a_bootleg_tile_infotxt )
489TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_s16a_bootleg_tile_infotxt)
495490{
496   segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
497491   int data, tile_number;
498492
499   data = state->m_textram[tile_index];
493   data = m_textram[tile_index];
500494   tile_number = data & 0x1ff;
501495
502   SET_TILE_INFO(
496   SET_TILE_INFO_MEMBER(
503497         0,
504498         tile_number,
505499         ((data >> 9) & 0x7),
506500         0);
507501}
508502
509static TILE_GET_INFO( get_s16a_bootleg_tile_info0 )
503TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_s16a_bootleg_tile_info0)
510504{
511   segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
512505   int data, tile_number;
513506
514   data = state->m_bg0_tileram[tile_index];
507   data = m_bg0_tileram[tile_index];
515508   tile_number = data & 0x1fff;
516509
517510
518   SET_TILE_INFO(
511   SET_TILE_INFO_MEMBER(
519512         0,
520513         tile_number,
521514         (data >> 6) & 0x7f,
522515         0);
523516}
524517
525static TILE_GET_INFO( get_s16a_bootleg_tile_info1 )
518TILE_GET_INFO_MEMBER(segas1x_bootleg_state::get_s16a_bootleg_tile_info1)
526519{
527   segas1x_bootleg_state *state = machine.driver_data<segas1x_bootleg_state>();
528520   int data, tile_number;
529521
530   data = state->m_bg1_tileram[tile_index];
522   data = m_bg1_tileram[tile_index];
531523   tile_number = data & 0x1fff;
532524
533   SET_TILE_INFO(
525   SET_TILE_INFO_MEMBER(
534526         0,
535527         tile_number,
536528         (data >> 6) & 0x7f,
r17673r17674
585577
586578
587579
588   state->m_text_tilemap = tilemap_create(machine, get_s16a_bootleg_tile_infotxt, TILEMAP_SCAN_ROWS, 8,8, 64,32 );
580   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 );
589581
590582   // the system16a bootlegs have simple tilemaps instead of the paged system
591   state->m_bg_tilemaps[0] = tilemap_create(machine, get_s16a_bootleg_tile_info0, TILEMAP_SCAN_ROWS, 8,8, 64,32 );
592   state->m_bg_tilemaps[1] = tilemap_create(machine, get_s16a_bootleg_tile_info1, TILEMAP_SCAN_ROWS, 8,8, 64,32 );
583   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 );
584   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 );
593585
594586   state->m_text_tilemap->set_transparent_pen(0);
595587   state->m_bg_tilemaps[0]->set_transparent_pen(0);
trunk/src/mame/video/deniam.c
r17673r17674
5454
5555***************************************************************************/
5656
57static TILEMAP_MAPPER( scan_pages )
57TILEMAP_MAPPER_MEMBER(deniam_state::scan_pages)
5858{
5959   /* logical (col,row) -> memory offset */
6060   return (col & 0x3f) + ((row & 0x1f) << 6) + ((col & 0x40) << 5) + ((row & 0x20) << 7);
6161}
6262
63static TILE_GET_INFO( get_bg_tile_info )
63TILE_GET_INFO_MEMBER(deniam_state::get_bg_tile_info)
6464{
65   deniam_state *state = machine.driver_data<deniam_state>();
6665   int page = tile_index >> 11;
67   UINT16 attr = state->m_videoram[state->m_bg_page[page] * 0x0800 + (tile_index & 0x7ff)];
68   SET_TILE_INFO(
66   UINT16 attr = m_videoram[m_bg_page[page] * 0x0800 + (tile_index & 0x7ff)];
67   SET_TILE_INFO_MEMBER(
6968         0,
7069         attr,
7170         (attr & 0x1fc0) >> 6,
7271         0);
7372}
7473
75static TILE_GET_INFO( get_fg_tile_info )
74TILE_GET_INFO_MEMBER(deniam_state::get_fg_tile_info)
7675{
77   deniam_state *state = machine.driver_data<deniam_state>();
7876   int page = tile_index >> 11;
79   UINT16 attr = state->m_videoram[state->m_fg_page[page] * 0x0800 + (tile_index & 0x7ff)];
80   SET_TILE_INFO(
77   UINT16 attr = m_videoram[m_fg_page[page] * 0x0800 + (tile_index & 0x7ff)];
78   SET_TILE_INFO_MEMBER(
8179         0,
8280         attr,
8381         (attr & 0x1fc0) >> 6,
8482         0);
8583}
8684
87static TILE_GET_INFO( get_tx_tile_info )
85TILE_GET_INFO_MEMBER(deniam_state::get_tx_tile_info)
8886{
89   deniam_state *state = machine.driver_data<deniam_state>();
90   UINT16 attr = state->m_textram[tile_index];
91   SET_TILE_INFO(
87   UINT16 attr = m_textram[tile_index];
88   SET_TILE_INFO_MEMBER(
9289         0,
9390         attr & 0xf1ff,
9491         (attr & 0x0e00) >> 9,
r17673r17674
106103VIDEO_START( deniam )
107104{
108105   deniam_state *state = machine.driver_data<deniam_state>();
109   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, scan_pages, 8, 8, 128, 64);
110   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, scan_pages, 8, 8, 128, 64);
111   state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
106   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);
107   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);
108   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);
112109
113110   state->m_fg_tilemap->set_transparent_pen(0);
114111   state->m_tx_tilemap->set_transparent_pen(0);
trunk/src/mame/video/mcr3.c
r17673r17674
1717 *************************************/
1818
1919#ifdef UNUSED_FUNCTION
20static TILE_GET_INFO( get_bg_tile_info )
20TILE_GET_INFO_MEMBER(mcr3_state::get_bg_tile_info)
2121{
22   mcr3_state *state = machine.driver_data<mcr3_state>();
23   UINT8 *videoram = state->m_videoram;
22   UINT8 *videoram = m_videoram;
2423   int data = videoram[tile_index * 2] | (videoram[tile_index * 2 + 1] << 8);
2524   int code = (data & 0x3ff) | ((data >> 4) & 0x400);
2625   int color = (data >> 12) & 3;
27   SET_TILE_INFO(0, code, color, TILE_FLIPYX((data >> 10) & 3));
26   SET_TILE_INFO_MEMBER(0, code, color, TILE_FLIPYX((data >> 10) & 3));
2827}
2928#endif
3029
3130
32static TILE_GET_INFO( mcrmono_get_bg_tile_info )
31TILE_GET_INFO_MEMBER(mcr3_state::mcrmono_get_bg_tile_info)
3332{
34   mcr3_state *state = machine.driver_data<mcr3_state>();
35   UINT8 *videoram = state->m_videoram;
33   UINT8 *videoram = m_videoram;
3634   int data = videoram[tile_index * 2] | (videoram[tile_index * 2 + 1] << 8);
3735   int code = (data & 0x3ff) | ((data >> 4) & 0x400);
3836   int color = ((data >> 12) & 3) ^ 3;
39   SET_TILE_INFO(0, code, color, TILE_FLIPYX((data >> 10) & 3));
37   SET_TILE_INFO_MEMBER(0, code, color, TILE_FLIPYX((data >> 10) & 3));
4038}
4139
4240
43static TILEMAP_MAPPER( spyhunt_bg_scan )
41TILEMAP_MAPPER_MEMBER(mcr3_state::spyhunt_bg_scan)
4442{
4543   /* logical (col,row) -> memory offset */
4644   return (row & 0x0f) | ((col & 0x3f) << 4) | ((row & 0x10) << 6);
4745}
4846
4947
50static TILE_GET_INFO( spyhunt_get_bg_tile_info )
48TILE_GET_INFO_MEMBER(mcr3_state::spyhunt_get_bg_tile_info)
5149{
52   mcr3_state *state = machine.driver_data<mcr3_state>();
53   UINT8 *videoram = state->m_videoram;
50   UINT8 *videoram = m_videoram;
5451   int data = videoram[tile_index];
5552   int code = (data & 0x3f) | ((data >> 1) & 0x40);
56   SET_TILE_INFO(0, code, 0, (data & 0x40) ? TILE_FLIPY : 0);
53   SET_TILE_INFO_MEMBER(0, code, 0, (data & 0x40) ? TILE_FLIPY : 0);
5754}
5855
5956
60static TILE_GET_INFO( spyhunt_get_alpha_tile_info )
57TILE_GET_INFO_MEMBER(mcr3_state::spyhunt_get_alpha_tile_info)
6158{
62   mcr3_state *state = machine.driver_data<mcr3_state>();
63   SET_TILE_INFO(2, state->m_spyhunt_alpharam[tile_index], 0, 0);
59   SET_TILE_INFO_MEMBER(2, m_spyhunt_alpharam[tile_index], 0, 0);
6460}
6561
6662
r17673r17674
9389{
9490   mcr3_state *state = machine.driver_data<mcr3_state>();
9591   /* initialize the background tilemap */
96   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,  16,16, 32,30);
92   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);
9793}
9894#endif
9995
r17673r17674
10298{
10399   mcr3_state *state = machine.driver_data<mcr3_state>();
104100   /* initialize the background tilemap */
105   state->m_bg_tilemap = tilemap_create(machine, mcrmono_get_bg_tile_info, TILEMAP_SCAN_ROWS,  16,16, 32,30);
101   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);
106102}
107103
108104
r17673r17674
110106{
111107   mcr3_state *state = machine.driver_data<mcr3_state>();
112108   /* initialize the background tilemap */
113   state->m_bg_tilemap = tilemap_create(machine, spyhunt_get_bg_tile_info, spyhunt_bg_scan,  64,32, 64,32);
109   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);
114110
115111   /* initialize the text tilemap */
116   state->m_alpha_tilemap = tilemap_create(machine, spyhunt_get_alpha_tile_info, TILEMAP_SCAN_COLS,  16,16, 32,32);
112   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);
117113   state->m_alpha_tilemap->set_transparent_pen(0);
118114   state->m_alpha_tilemap->set_scrollx(0, 16);
119115
trunk/src/mame/video/stadhero.c
r17673r17674
4242
4343/******************************************************************************/
4444
45static TILE_GET_INFO( get_pf1_tile_info )
45TILE_GET_INFO_MEMBER(stadhero_state::get_pf1_tile_info)
4646{
47   stadhero_state *state = machine.driver_data<stadhero_state>();
48   int tile=state->m_pf1_data[tile_index];
47   int tile=m_pf1_data[tile_index];
4948   int color=tile >> 12;
5049
5150   tile=tile&0xfff;
52   SET_TILE_INFO(
51   SET_TILE_INFO_MEMBER(
5352         0,
5453         tile,
5554         color,
r17673r17674
5958VIDEO_START( stadhero )
6059{
6160   stadhero_state *state = machine.driver_data<stadhero_state>();
62   state->m_pf1_tilemap =     tilemap_create(machine, get_pf1_tile_info,TILEMAP_SCAN_ROWS, 8, 8,32,32);
61   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);
6362   state->m_pf1_tilemap->set_transparent_pen(0);
6463}
6564
trunk/src/mame/video/prehisle.c
r17673r17674
5757   }
5858}
5959
60static TILE_GET_INFO( get_bg2_tile_info )
60TILE_GET_INFO_MEMBER(prehisle_state::get_bg2_tile_info)
6161{
62   UINT8 *tilerom = machine.root_device().memregion("gfx5")->base();
62   UINT8 *tilerom = machine().root_device().memregion("gfx5")->base();
6363
6464   int offs = tile_index * 2;
6565   int attr = tilerom[offs + 1] + (tilerom[offs] << 8);
r17673r17674
6767   int color = attr >> 12;
6868   int flags = (attr & 0x800) ? TILE_FLIPX : 0;
6969
70   SET_TILE_INFO(1, code, color, flags);
70   SET_TILE_INFO_MEMBER(1, code, color, flags);
7171}
7272
73static TILE_GET_INFO( get_bg_tile_info )
73TILE_GET_INFO_MEMBER(prehisle_state::get_bg_tile_info)
7474{
75   prehisle_state *state = machine.driver_data<prehisle_state>();
76   int attr = state->m_bg_videoram16[tile_index];
75   int attr = m_bg_videoram16[tile_index];
7776   int code = attr & 0x7ff;
7877   int color = attr >> 12;
7978   int flags = (attr & 0x800) ? TILE_FLIPY : 0;
8079
81   SET_TILE_INFO(2, code, color, flags);
80   SET_TILE_INFO_MEMBER(2, code, color, flags);
8281}
8382
84static TILE_GET_INFO( get_fg_tile_info )
83TILE_GET_INFO_MEMBER(prehisle_state::get_fg_tile_info)
8584{
86   prehisle_state *state = machine.driver_data<prehisle_state>();
87   int attr = state->m_videoram[tile_index];
85   int attr = m_videoram[tile_index];
8886   int code = attr & 0xfff;
8987   int color = attr >> 12;
9088
91   SET_TILE_INFO(0, code, color, 0);
89   SET_TILE_INFO_MEMBER(0, code, color, 0);
9290}
9391
9492VIDEO_START( prehisle )
9593{
9694   prehisle_state *state = machine.driver_data<prehisle_state>();
9795
98   state->m_bg2_tilemap = tilemap_create(machine, get_bg2_tile_info, TILEMAP_SCAN_COLS,
96   state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(prehisle_state::get_bg2_tile_info),state), TILEMAP_SCAN_COLS,
9997       16, 16, 1024, 32);
10098
101   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS,
99   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(prehisle_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
102100       16, 16, 256, 32);
103101
104   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,
102   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(prehisle_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,
105103       8, 8, 32, 32);
106104
107105   state->m_bg_tilemap->set_transparent_pen(15);
trunk/src/mame/video/wwfsstar.c
r17673r17674
3333 Tilemap Related Functions
3434*******************************************************************************/
3535
36static TILE_GET_INFO( get_fg0_tile_info )
36TILE_GET_INFO_MEMBER(wwfsstar_state::get_fg0_tile_info)
3737{
3838   /*- FG0 RAM Format -**
3939
r17673r17674
5050
5151    **- End of Comments -*/
5252
53   wwfsstar_state *state = machine.driver_data<wwfsstar_state>();
5453   UINT16 *tilebase;
5554   int tileno;
5655   int colbank;
5756
58   tilebase =  &state->m_fg0_videoram[tile_index*2];
57   tilebase =  &m_fg0_videoram[tile_index*2];
5958   tileno =  (tilebase[1] & 0x00ff) | ((tilebase[0] & 0x000f) << 8);
6059   colbank = (tilebase[0] & 0x00f0) >> 4;
61   SET_TILE_INFO(
60   SET_TILE_INFO_MEMBER(
6261         0,
6362         tileno,
6463         colbank,
6564         0);
6665}
6766
68static TILEMAP_MAPPER( bg0_scan )
67TILEMAP_MAPPER_MEMBER(wwfsstar_state::bg0_scan)
6968{
7069   return (col & 0x0f) + ((row & 0x0f) << 4) + ((col & 0x10) << 4) + ((row & 0x10) << 5);
7170}
7271
73static TILE_GET_INFO( get_bg0_tile_info )
72TILE_GET_INFO_MEMBER(wwfsstar_state::get_bg0_tile_info)
7473{
7574   /*- BG0 RAM Format -**
7675
r17673r17674
8887
8988    **- End of Comments -*/
9089
91   wwfsstar_state *state = machine.driver_data<wwfsstar_state>();
9290   UINT16 *tilebase;
9391   int tileno, colbank, flipx;
9492
95   tilebase =  &state->m_bg0_videoram[tile_index*2];
93   tilebase =  &m_bg0_videoram[tile_index*2];
9694   tileno =  (tilebase[1] & 0x00ff) | ((tilebase[0] & 0x000f) << 8);
9795   colbank = (tilebase[0] & 0x0070) >> 4;
9896   flipx   = (tilebase[0] & 0x0080) >> 7;
99   SET_TILE_INFO(
97   SET_TILE_INFO_MEMBER(
10098         2,
10199         tileno,
102100         colbank,
r17673r17674
211209{
212210   wwfsstar_state *state = machine.driver_data<wwfsstar_state>();
213211
214   state->m_fg0_tilemap = tilemap_create(machine, get_fg0_tile_info,TILEMAP_SCAN_ROWS, 8, 8,32,32);
212   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);
215213   state->m_fg0_tilemap->set_transparent_pen(0);
216214
217   state->m_bg0_tilemap = tilemap_create(machine, get_bg0_tile_info,bg0_scan, 16, 16,32,32);
215   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);
218216   state->m_fg0_tilemap->set_transparent_pen(0);
219217}
220218
trunk/src/mame/video/polepos.c
r17673r17674
145145
146146***************************************************************************/
147147
148static TILE_GET_INFO( bg_get_tile_info )
148TILE_GET_INFO_MEMBER(polepos_state::bg_get_tile_info)
149149{
150   polepos_state *state = machine.driver_data<polepos_state>();
151   UINT16 word = state->m_view16_memory[tile_index];
150   UINT16 word = m_view16_memory[tile_index];
152151   int code = (word & 0xff) | ((word & 0x4000) >> 6);
153152   int color = (word & 0x3f00) >> 8;
154   SET_TILE_INFO(
153   SET_TILE_INFO_MEMBER(
155154         1,
156155         code,
157156         color,
158157         0);
159158}
160159
161static TILE_GET_INFO( tx_get_tile_info )
160TILE_GET_INFO_MEMBER(polepos_state::tx_get_tile_info)
162161{
163   polepos_state *state = machine.driver_data<polepos_state>();
164   UINT16 word = state->m_alpha16_memory[tile_index];
162   UINT16 word = m_alpha16_memory[tile_index];
165163   int code = (word & 0xff) | ((word & 0x4000) >> 6);
166164   int color = (word & 0x3f00) >> 8;
167165
168166   /* I assume the purpose of CHACL is to allow the Z80 to control
169167       the display (therefore using only the bottom 8 bits of tilemap RAM)
170168       in case the Z8002 is not working. */
171   if (state->m_chacl == 0)
169   if (m_chacl == 0)
172170   {
173171      code &= 0xff;
174172      color = 0;
r17673r17674
177175   /* 128V input to the palette PROM */
178176   if (tile_index >= 32*16) color |= 0x40;
179177
180   SET_TILE_INFO(
178   SET_TILE_INFO_MEMBER(
181179         0,
182180         code,
183181         color,
r17673r17674
196194VIDEO_START( polepos )
197195{
198196   polepos_state *state = machine.driver_data<polepos_state>();
199   state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info,TILEMAP_SCAN_COLS,8,8,64,16);
200   state->m_tx_tilemap = tilemap_create(machine, tx_get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
197   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);
198   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);
201199
202200   colortable_configure_tilemap_groups(machine.colortable, state->m_tx_tilemap, machine.gfx[0], 0x2f);
203201}
trunk/src/mame/video/tank8.c
r17673r17674
6969
7070
7171
72static TILE_GET_INFO( tank8_get_tile_info )
72TILE_GET_INFO_MEMBER(tank8_state::tank8_get_tile_info)
7373{
74   tank8_state *state = machine.driver_data<tank8_state>();
75   UINT8 code = state->m_video_ram[tile_index];
74   UINT8 code = m_video_ram[tile_index];
7675
7776   int color = 0;
7877
r17673r17674
9594         color |= 4;
9695   }
9796
98   SET_TILE_INFO(code >> 7, code, color, (code & 0x40) ? (TILE_FLIPX | TILE_FLIPY) : 0);
97   SET_TILE_INFO_MEMBER(code >> 7, code, color, (code & 0x40) ? (TILE_FLIPX | TILE_FLIPY) : 0);
9998}
10099
101100
r17673r17674
107106   machine.primary_screen->register_screen_bitmap(state->m_helper2);
108107   machine.primary_screen->register_screen_bitmap(state->m_helper3);
109108
110   state->m_tilemap = tilemap_create(machine, tank8_get_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
109   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);
111110
112111   /* VBLANK starts on scanline #256 and ends on scanline #24 */
113112
trunk/src/mame/video/jackal.c
r17673r17674
6262   state->m_bg_tilemap->mark_tile_dirty(offset);
6363}
6464
65static TILE_GET_INFO( get_bg_tile_info )
65TILE_GET_INFO_MEMBER(jackal_state::get_bg_tile_info)
6666{
67   UINT8 *RAM = machine.root_device().memregion("master")->base();
67   UINT8 *RAM = machine().root_device().memregion("master")->base();
6868
6969   int attr = RAM[0x2000 + tile_index];
7070   int code = RAM[0x2400 + tile_index] + ((attr & 0xc0) << 2) + ((attr & 0x30) << 6);
7171   int color = 0;//attr & 0x0f;
7272   int flags = ((attr & 0x10) ? TILE_FLIPX : 0) | ((attr & 0x20) ? TILE_FLIPY : 0);
7373
74   SET_TILE_INFO(0, code, color, flags);
74   SET_TILE_INFO_MEMBER(0, code, color, flags);
7575}
7676
7777VIDEO_START( jackal )
7878{
7979   jackal_state *state = machine.driver_data<jackal_state>();
80   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
80   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);
8181}
8282
8383static void draw_background( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
trunk/src/mame/video/suna8.c
r17673r17674
7676    For Debug: there's no tilemap, just sprites.
7777***************************************************************************/
7878#if TILEMAPS
79static TILE_GET_INFO( get_tile_info )
79TILE_GET_INFO_MEMBER(suna8_state::get_tile_info)
8080{
81   suna8_state *state = machine.driver_data<suna8_state>();
8281   UINT8 code, attr;
8382
84   if (machine.input().code_pressed(KEYCODE_X))
83   if (machine().input().code_pressed(KEYCODE_X))
8584   {
86      UINT8 *rom = state->memregion("maincpu")->base() + 0x10000 + 0x4000 * state->m_trombank;
85      UINT8 *rom = memregion("maincpu")->base() + 0x10000 + 0x4000 * m_trombank;
8786      code = rom[ 2 * tile_index + 0 ];
8887      attr = rom[ 2 * tile_index + 1 ];
8988   }
9089   else
9190   {
92      code = state->m_spriteram[ 2 * tile_index + 0 ];
93      attr = state->m_spriteram[ 2 * tile_index + 1 ];
91      code = m_spriteram[ 2 * tile_index + 0 ];
92      attr = m_spriteram[ 2 * tile_index + 1 ];
9493   }
95   SET_TILE_INFO(
94   SET_TILE_INFO_MEMBER(
9695         0,
97         ( (attr & 0x03) << 8 ) + code + state->m_tiles*0x400,
96         ( (attr & 0x03) << 8 ) + code + m_tiles*0x400,
9897         (attr >> 2) & 0xf,
9998         TILE_FLIPYX( (attr >> 6) & 3 ));
10099}
trunk/src/mame/video/namcos86.c
r17673r17674
105105         0);
106106}
107107
108static TILE_GET_INFO( get_tile_info0 )
108TILE_GET_INFO_MEMBER(namcos86_state::get_tile_info0)
109109{
110   namcos86_state *state = machine.driver_data<namcos86_state>();
111   get_tile_info(machine,tileinfo,tile_index,0,&state->m_rthunder_videoram1[0x0000]);
110   get_tile_info(machine(),tileinfo,tile_index,0,&m_rthunder_videoram1[0x0000]);
112111}
113112
114static TILE_GET_INFO( get_tile_info1 )
113TILE_GET_INFO_MEMBER(namcos86_state::get_tile_info1)
115114{
116   namcos86_state *state = machine.driver_data<namcos86_state>();
117   get_tile_info(machine,tileinfo,tile_index,1,&state->m_rthunder_videoram1[0x1000]);
115   get_tile_info(machine(),tileinfo,tile_index,1,&m_rthunder_videoram1[0x1000]);
118116}
119117
120static TILE_GET_INFO( get_tile_info2 )
118TILE_GET_INFO_MEMBER(namcos86_state::get_tile_info2)
121119{
122   namcos86_state *state = machine.driver_data<namcos86_state>();
123   get_tile_info(machine,tileinfo,tile_index,2,&state->m_rthunder_videoram2[0x0000]);
120   get_tile_info(machine(),tileinfo,tile_index,2,&m_rthunder_videoram2[0x0000]);
124121}
125122
126static TILE_GET_INFO( get_tile_info3 )
123TILE_GET_INFO_MEMBER(namcos86_state::get_tile_info3)
127124{
128   namcos86_state *state = machine.driver_data<namcos86_state>();
129   get_tile_info(machine,tileinfo,tile_index,3,&state->m_rthunder_videoram2[0x1000]);
125   get_tile_info(machine(),tileinfo,tile_index,3,&m_rthunder_videoram2[0x1000]);
130126}
131127
132128
r17673r17674
139135VIDEO_START( namcos86 )
140136{
141137   namcos86_state *state = machine.driver_data<namcos86_state>();
142   state->m_bg_tilemap[0] = tilemap_create(machine, get_tile_info0,TILEMAP_SCAN_ROWS,8,8,64,32);
143   state->m_bg_tilemap[1] = tilemap_create(machine, get_tile_info1,TILEMAP_SCAN_ROWS,8,8,64,32);
144   state->m_bg_tilemap[2] = tilemap_create(machine, get_tile_info2,TILEMAP_SCAN_ROWS,8,8,64,32);
145   state->m_bg_tilemap[3] = tilemap_create(machine, get_tile_info3,TILEMAP_SCAN_ROWS,8,8,64,32);
138   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);
139   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);
140   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);
141   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);
146142
147143   state->m_bg_tilemap[0]->set_transparent_pen(7);
148144   state->m_bg_tilemap[1]->set_transparent_pen(7);
trunk/src/mame/video/nova2001.c
r17673r17674
7777 *
7878 *************************************/
7979
80static TILE_GET_INFO( nova2001_get_bg_tile_info )
80TILE_GET_INFO_MEMBER(nova2001_state::nova2001_get_bg_tile_info)
8181{
82   nova2001_state *state = machine.driver_data<nova2001_state>();
83   int code = state->m_bg_videoram[tile_index];
84   int color = state->m_bg_videoram[tile_index + 0x400] & 0x0f;
82   int code = m_bg_videoram[tile_index];
83   int color = m_bg_videoram[tile_index + 0x400] & 0x0f;
8584
86   SET_TILE_INFO(2, code, color, 0);
85   SET_TILE_INFO_MEMBER(2, code, color, 0);
8786}
8887
89static TILE_GET_INFO( nova2001_get_fg_tile_info )
88TILE_GET_INFO_MEMBER(nova2001_state::nova2001_get_fg_tile_info)
9089{
91   nova2001_state *state = machine.driver_data<nova2001_state>();
92   int attr = state->m_fg_videoram[tile_index + 0x400];
93   int code = state->m_fg_videoram[tile_index];
90   int attr = m_fg_videoram[tile_index + 0x400];
91   int code = m_fg_videoram[tile_index];
9492   int color = attr & 0x0f;
9593
96   SET_TILE_INFO(1, code, color, 0);
94   SET_TILE_INFO_MEMBER(1, code, color, 0);
9795
9896   tileinfo.category = (attr & 0x10) >> 4;
9997}
10098
101static TILE_GET_INFO( ninjakun_get_bg_tile_info )
99TILE_GET_INFO_MEMBER(nova2001_state::ninjakun_get_bg_tile_info)
102100{
103   nova2001_state *state = machine.driver_data<nova2001_state>();
104   int attr  = state->m_bg_videoram[tile_index+0x400];
105   int code = state->m_bg_videoram[tile_index] + ((attr & 0xc0) << 2);
101   int attr  = m_bg_videoram[tile_index+0x400];
102   int code = m_bg_videoram[tile_index] + ((attr & 0xc0) << 2);
106103   int color = attr & 0x0f;
107104
108   SET_TILE_INFO(2, code, color, 0);
105   SET_TILE_INFO_MEMBER(2, code, color, 0);
109106}
110107
111static TILE_GET_INFO( ninjakun_get_fg_tile_info )
108TILE_GET_INFO_MEMBER(nova2001_state::ninjakun_get_fg_tile_info)
112109{
113   nova2001_state *state = machine.driver_data<nova2001_state>();
114   int attr = state->m_fg_videoram[tile_index+0x400];
115   int code = state->m_fg_videoram[tile_index] + ((attr & 0x20) << 3);
110   int attr = m_fg_videoram[tile_index+0x400];
111   int code = m_fg_videoram[tile_index] + ((attr & 0x20) << 3);
116112   int color = attr & 0x0f;
117113
118   SET_TILE_INFO(1, code, color, 0);
114   SET_TILE_INFO_MEMBER(1, code, color, 0);
119115
120116   tileinfo.category = (attr & 0x10) >> 4;
121117}
122118
123static TILE_GET_INFO( pkunwar_get_bg_tile_info )
119TILE_GET_INFO_MEMBER(nova2001_state::pkunwar_get_bg_tile_info)
124120{
125   nova2001_state *state = machine.driver_data<nova2001_state>();
126   int attr = state->m_bg_videoram[tile_index + 0x400];
127   int code = state->m_bg_videoram[tile_index] + ((attr & 0x07) << 8);
121   int attr = m_bg_videoram[tile_index + 0x400];
122   int code = m_bg_videoram[tile_index] + ((attr & 0x07) << 8);
128123   int color = (attr & 0xf0) >> 4;
129124
130   SET_TILE_INFO(1, code, color, 0);
125   SET_TILE_INFO_MEMBER(1, code, color, 0);
131126
132127   tileinfo.category = (attr & 0x08) >> 3;
133128}
134129
135static TILE_GET_INFO( raiders5_get_bg_tile_info )
130TILE_GET_INFO_MEMBER(nova2001_state::raiders5_get_bg_tile_info)
136131{
137   nova2001_state *state = machine.driver_data<nova2001_state>();
138   int attr = state->m_bg_videoram[tile_index+0x400];
139   int code = state->m_bg_videoram[tile_index] + ((attr & 0x01) << 8);
132   int attr = m_bg_videoram[tile_index+0x400];
133   int code = m_bg_videoram[tile_index] + ((attr & 0x01) << 8);
140134   int color = (attr & 0xf0) >> 4;
141135
142   SET_TILE_INFO(2, code, color, 0);
136   SET_TILE_INFO_MEMBER(2, code, color, 0);
143137}
144138
145static TILE_GET_INFO( raiders5_get_fg_tile_info )
139TILE_GET_INFO_MEMBER(nova2001_state::raiders5_get_fg_tile_info)
146140{
147   nova2001_state *state = machine.driver_data<nova2001_state>();
148   int code = state->m_fg_videoram[tile_index];
149   int color = (state->m_fg_videoram[tile_index + 0x400] & 0xf0) >> 4;
141   int code = m_fg_videoram[tile_index];
142   int color = (m_fg_videoram[tile_index + 0x400] & 0xf0) >> 4;
150143
151   SET_TILE_INFO(1, code, color, 0);
144   SET_TILE_INFO_MEMBER(1, code, color, 0);
152145}
153146
154147
r17673r17674
162155VIDEO_START( nova2001 )
163156{
164157   nova2001_state *state = machine.driver_data<nova2001_state>();
165   state->m_bg_tilemap = tilemap_create(machine, nova2001_get_bg_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 32, 32);
166   state->m_fg_tilemap = tilemap_create(machine, nova2001_get_fg_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 32, 32);
158   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);
159   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);
167160   state->m_fg_tilemap->set_transparent_pen(0);
168161   state->m_bg_tilemap->set_scrolldx(0, -7);
169162}
r17673r17674
171164VIDEO_START( pkunwar )
172165{
173166   nova2001_state *state = machine.driver_data<nova2001_state>();
174   state->m_bg_tilemap = tilemap_create(machine, pkunwar_get_bg_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 32, 32);
167   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);
175168   state->m_bg_tilemap->set_transparent_pen(0);
176169}
177170
178171VIDEO_START( ninjakun )
179172{
180173   nova2001_state *state = machine.driver_data<nova2001_state>();
181   state->m_bg_tilemap = tilemap_create(machine, ninjakun_get_bg_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 32, 32);
182   state->m_fg_tilemap = tilemap_create(machine, ninjakun_get_fg_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 32, 32);
174   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);
175   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);
183176   state->m_fg_tilemap->set_transparent_pen(0);
184177   state->m_bg_tilemap->set_scrolldx(7, 0);
185178}
r17673r17674
187180VIDEO_START( raiders5 )
188181{
189182   nova2001_state *state = machine.driver_data<nova2001_state>();
190   state->m_bg_tilemap = tilemap_create(machine, raiders5_get_bg_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 32, 32);
191   state->m_fg_tilemap = tilemap_create(machine, raiders5_get_fg_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 32, 32);
183   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);
184   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);
192185   state->m_fg_tilemap->set_transparent_pen(0);
193186   state->m_bg_tilemap->set_scrolldx(7, 0);
194187}
trunk/src/mame/video/cps1.c
r17673r17674
19731973
19741974***************************************************************************/
19751975
1976static TILEMAP_MAPPER( tilemap0_scan )
1976TILEMAP_MAPPER_MEMBER(cps_state::tilemap0_scan)
19771977{
19781978   /* logical (col,row) -> memory offset */
19791979   return (row & 0x1f) + ((col & 0x3f) << 5) + ((row & 0x20) << 6);
19801980}
19811981
1982static TILEMAP_MAPPER( tilemap1_scan )
1982TILEMAP_MAPPER_MEMBER(cps_state::tilemap1_scan)
19831983{
19841984   /* logical (col,row) -> memory offset */
19851985   return (row & 0x0f) + ((col & 0x3f) << 4) + ((row & 0x30) << 6);
19861986}
19871987
1988static TILEMAP_MAPPER( tilemap2_scan )
1988TILEMAP_MAPPER_MEMBER(cps_state::tilemap2_scan)
19891989{
19901990   /* logical (col,row) -> memory offset */
19911991   return (row & 0x07) + ((col & 0x3f) << 3) + ((row & 0x38) << 6);
19921992}
19931993
1994static TILE_GET_INFO( get_tile0_info )
1994TILE_GET_INFO_MEMBER(cps_state::get_tile0_info)
19951995{
1996   cps_state *state = machine.driver_data<cps_state>();
1997   int code = state->m_scroll1[2 * tile_index];
1998   int attr = state->m_scroll1[2 * tile_index + 1];
1996   int code = m_scroll1[2 * tile_index];
1997   int attr = m_scroll1[2 * tile_index + 1];
19991998   int gfxset;
20001999
2001   code = gfxrom_bank_mapper(machine, GFXTYPE_SCROLL1, code);
2000   code = gfxrom_bank_mapper(machine(), GFXTYPE_SCROLL1, code);
20022001
20032002   /* allows us to reproduce a problem seen with a ffight board where USA and Japanese
20042003         roms have been mixed to be reproduced (ffightub) -- it looks like each column
20052004         should alternate between the left and right side of the 16x16 tiles */
20062005   gfxset = (tile_index & 0x20) >> 5;
20072006
2008   SET_TILE_INFO(
2007   SET_TILE_INFO_MEMBER(
20092008         gfxset,
20102009         code,
20112010         (attr & 0x1f) + 0x20,
r17673r17674
20132012   tileinfo.group = (attr & 0x0180) >> 7;
20142013
20152014   // for out of range tiles, switch to fully transparent data
2016   // (but still call SET_TILE_INFO, otherwise problems might occur on boot e.g. unsquad)
2015   // (but still call SET_TILE_INFO_MEMBER, otherwise problems might occur on boot e.g. unsquad)
20172016   if (code == -1)
2018      tileinfo.pen_data = state->m_empty_tile;
2017      tileinfo.pen_data = m_empty_tile;
20192018}
20202019
2021static TILE_GET_INFO( get_tile1_info )
2020TILE_GET_INFO_MEMBER(cps_state::get_tile1_info)
20222021{
2023   cps_state *state = machine.driver_data<cps_state>();
2024   int code = state->m_scroll2[2 * tile_index];
2025   int attr = state->m_scroll2[2 * tile_index + 1];
2022   int code = m_scroll2[2 * tile_index];
2023   int attr = m_scroll2[2 * tile_index + 1];
20262024
2027   code = gfxrom_bank_mapper(machine, GFXTYPE_SCROLL2, code);
2025   code = gfxrom_bank_mapper(machine(), GFXTYPE_SCROLL2, code);
20282026
2029   SET_TILE_INFO(
2027   SET_TILE_INFO_MEMBER(
20302028         2,
20312029         code,
20322030         (attr & 0x1f) + 0x40,
r17673r17674
20352033
20362034   // for out of range tiles, switch to fully transparent data
20372035   if (code == -1)
2038      tileinfo.pen_data = state->m_empty_tile;
2036      tileinfo.pen_data = m_empty_tile;
20392037}
20402038
2041static TILE_GET_INFO( get_tile2_info )
2039TILE_GET_INFO_MEMBER(cps_state::get_tile2_info)
20422040{
2043   cps_state *state = machine.driver_data<cps_state>();
2044   int code = state->m_scroll3[2 * tile_index] & 0x3fff;
2045   int attr = state->m_scroll3[2 * tile_index + 1];
2041   int code = m_scroll3[2 * tile_index] & 0x3fff;
2042   int attr = m_scroll3[2 * tile_index + 1];
20462043
2047   code = gfxrom_bank_mapper(machine, GFXTYPE_SCROLL3, code);
2044   code = gfxrom_bank_mapper(machine(), GFXTYPE_SCROLL3, code);
20482045
2049   SET_TILE_INFO(
2046   SET_TILE_INFO_MEMBER(
20502047         3,
20512048         code,
20522049         (attr & 0x1f) + 0x60,
r17673r17674
20542051   tileinfo.group = (attr & 0x0180) >> 7;
20552052
20562053   // for out of range tiles, switch to fully transparent data
2057   // (but still call SET_TILE_INFO, otherwise problems might occur on boot e.g. unsquad)
2054   // (but still call SET_TILE_INFO_MEMBER, otherwise problems might occur on boot e.g. unsquad)
20582055   if (code == -1)
2059      tileinfo.pen_data = state->m_empty_tile;
2056      tileinfo.pen_data = m_empty_tile;
20602057}
20612058
20622059
r17673r17674
20992096   state->m_stars_rom_size = 0x2000;   /* first 0x4000 of gfx ROM are used, but 0x0000-0x1fff is == 0x2000-0x3fff */
21002097
21012098   /* create tilemaps */
2102   state->m_bg_tilemap[0] = tilemap_create(machine, get_tile0_info, tilemap0_scan,  8,  8, 64, 64);
2103   state->m_bg_tilemap[1] = tilemap_create(machine, get_tile1_info, tilemap1_scan, 16, 16, 64, 64);
2104   state->m_bg_tilemap[2] = tilemap_create(machine, get_tile2_info, tilemap2_scan, 32, 32, 64, 64);
2099   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);
2100   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);
2101   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);
21052102
21062103   /* create empty tiles */
21072104   memset(state->m_empty_tile, 0x0f, sizeof(state->m_empty_tile));
trunk/src/mame/video/yunsun16.c
r17673r17674
3838#define PAGES_PER_TMAP_X   (0x4)
3939#define PAGES_PER_TMAP_Y   (0x4)
4040
41static TILEMAP_MAPPER( yunsun16_tilemap_scan_pages )
41TILEMAP_MAPPER_MEMBER(yunsun16_state::yunsun16_tilemap_scan_pages)
4242{
4343   return   (row / TILES_PER_PAGE_Y) * TILES_PER_PAGE_X * TILES_PER_PAGE_Y * PAGES_PER_TMAP_X +
4444         (row % TILES_PER_PAGE_Y) +
r17673r17674
4747         (col % TILES_PER_PAGE_X) * TILES_PER_PAGE_Y;
4848}
4949
50static TILE_GET_INFO( get_tile_info_0 )
50TILE_GET_INFO_MEMBER(yunsun16_state::get_tile_info_0)
5151{
52   yunsun16_state *state = machine.driver_data<yunsun16_state>();
53   UINT16 code = state->m_vram_0[2 * tile_index + 0];
54   UINT16 attr = state->m_vram_0[2 * tile_index + 1];
55   SET_TILE_INFO(
52   UINT16 code = m_vram_0[2 * tile_index + 0];
53   UINT16 attr = m_vram_0[2 * tile_index + 1];
54   SET_TILE_INFO_MEMBER(
5655         TMAP_GFX,
5756         code,
5857         attr & 0xf,
5958         (attr & 0x20) ? TILE_FLIPX : 0);
6059}
6160
62static TILE_GET_INFO( get_tile_info_1 )
61TILE_GET_INFO_MEMBER(yunsun16_state::get_tile_info_1)
6362{
64   yunsun16_state *state = machine.driver_data<yunsun16_state>();
65   UINT16 code = state->m_vram_1[2 * tile_index + 0];
66   UINT16 attr = state->m_vram_1[2 * tile_index + 1];
67   SET_TILE_INFO(
63   UINT16 code = m_vram_1[2 * tile_index + 0];
64   UINT16 attr = m_vram_1[2 * tile_index + 1];
65   SET_TILE_INFO_MEMBER(
6866         TMAP_GFX,
6967         code,
7068         attr & 0xf,
r17673r17674
9896{
9997   yunsun16_state *state = machine.driver_data<yunsun16_state>();
10098
101   state->m_tilemap_0 = tilemap_create(machine, get_tile_info_0,yunsun16_tilemap_scan_pages,
99   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),
102100                        16,16, TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
103   state->m_tilemap_1 = tilemap_create(machine, get_tile_info_1,yunsun16_tilemap_scan_pages,
101   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),
104102                        16,16, TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
105103
106104   state->m_tilemap_0->set_scrolldx(-0x34, 0);
trunk/src/mame/video/mermaid.c
r17673r17674
143143   return collision;
144144}
145145
146static TILE_GET_INFO( get_bg_tile_info )
146TILE_GET_INFO_MEMBER(mermaid_state::get_bg_tile_info)
147147{
148   mermaid_state *state = machine.driver_data<mermaid_state>();
149   int code = state->m_videoram2[tile_index];
148   int code = m_videoram2[tile_index];
150149   int sx = tile_index % 32;
151150   int color = (sx >= 26) ? 0 : 1;
152151
153   SET_TILE_INFO(2, code, color, 0);
152   SET_TILE_INFO_MEMBER(2, code, color, 0);
154153}
155154
156static TILE_GET_INFO( get_fg_tile_info )
155TILE_GET_INFO_MEMBER(mermaid_state::get_fg_tile_info)
157156{
158   mermaid_state *state = machine.driver_data<mermaid_state>();
159   int attr = state->m_colorram[tile_index];
160   int code = state->m_videoram[tile_index] + ((attr & 0x30) << 4);
157   int attr = m_colorram[tile_index];
158   int code = m_videoram[tile_index] + ((attr & 0x30) << 4);
161159   int color = attr & 0x0f;
162160   int flags = TILE_FLIPYX((attr & 0xc0) >> 6);
163161
164   code |= state->m_rougien_gfxbank1 * 0x2800;
165   code |= state->m_rougien_gfxbank2 * 0x2400;
162   code |= m_rougien_gfxbank1 * 0x2800;
163   code |= m_rougien_gfxbank2 * 0x2400;
166164
167   SET_TILE_INFO(0, code, color, flags);
165   SET_TILE_INFO_MEMBER(0, code, color, flags);
168166}
169167
170168VIDEO_START( mermaid )
171169{
172170   mermaid_state *state = machine.driver_data<mermaid_state>();
173171
174   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
172   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);
175173   state->m_bg_tilemap->set_scroll_cols(32);
176174
177   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
175   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);
178176   state->m_fg_tilemap->set_scroll_cols(32);
179177   state->m_fg_tilemap->set_transparent_pen(0);
180178
trunk/src/mame/video/dcon.c
r17673r17674
6969   m_text_layer->mark_tile_dirty(offset);
7070}
7171
72static TILE_GET_INFO( get_back_tile_info )
72TILE_GET_INFO_MEMBER(dcon_state::get_back_tile_info)
7373{
74   dcon_state *state = machine.driver_data<dcon_state>();
75   int tile=state->m_back_data[tile_index];
74   int tile=m_back_data[tile_index];
7675   int color=(tile>>12)&0xf;
7776
7877   tile&=0xfff;
7978
80   SET_TILE_INFO(
79   SET_TILE_INFO_MEMBER(
8180         1,
8281         tile,
8382         color,
8483         0);
8584}
8685
87static TILE_GET_INFO( get_fore_tile_info )
86TILE_GET_INFO_MEMBER(dcon_state::get_fore_tile_info)
8887{
89   dcon_state *state = machine.driver_data<dcon_state>();
90   int tile=state->m_fore_data[tile_index];
88   int tile=m_fore_data[tile_index];
9189   int color=(tile>>12)&0xf;
9290
9391   tile&=0xfff;
9492
95   SET_TILE_INFO(
93   SET_TILE_INFO_MEMBER(
9694         2,
9795         tile,
9896         color,
9997         0);
10098}
10199
102static TILE_GET_INFO( get_mid_tile_info )
100TILE_GET_INFO_MEMBER(dcon_state::get_mid_tile_info)
103101{
104   dcon_state *state = machine.driver_data<dcon_state>();
105   int tile=state->m_mid_data[tile_index];
102   int tile=m_mid_data[tile_index];
106103   int color=(tile>>12)&0xf;
107104
108105   tile&=0xfff;
109106
110   SET_TILE_INFO(
107   SET_TILE_INFO_MEMBER(
111108         3,
112         tile|state->m_gfx_bank_select,
109         tile|m_gfx_bank_select,
113110         color,
114111         0);
115112}
116113
117static TILE_GET_INFO( get_text_tile_info )
114TILE_GET_INFO_MEMBER(dcon_state::get_text_tile_info)
118115{
119   dcon_state *state = machine.driver_data<dcon_state>();
120   int tile = state->m_textram[tile_index];
116   int tile = m_textram[tile_index];
121117   int color=(tile>>12)&0xf;
122118
123119   tile&=0xfff;
124120
125   SET_TILE_INFO(
121   SET_TILE_INFO_MEMBER(
126122         0,
127123         tile,
128124         color,
r17673r17674
132128VIDEO_START( dcon )
133129{
134130   dcon_state *state = machine.driver_data<dcon_state>();
135   state->m_background_layer = tilemap_create(machine, get_back_tile_info,TILEMAP_SCAN_ROWS,     16,16,32,32);
136   state->m_foreground_layer = tilemap_create(machine, get_fore_tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
137   state->m_midground_layer =  tilemap_create(machine, get_mid_tile_info, TILEMAP_SCAN_ROWS,16,16,32,32);
138   state->m_text_layer =       tilemap_create(machine, get_text_tile_info,TILEMAP_SCAN_ROWS,  8,8,64,32);
131   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);
132   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);
133   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);
134   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);
139135
140136   state->m_midground_layer->set_transparent_pen(15);
141137   state->m_foreground_layer->set_transparent_pen(15);
trunk/src/mame/video/kickgoal.c
r17673r17674
2323}
2424
2525/* FG */
26static TILE_GET_INFO( get_kickgoal_fg_tile_info )
26TILE_GET_INFO_MEMBER(kickgoal_state::get_kickgoal_fg_tile_info)
2727{
28   kickgoal_state *state = machine.driver_data<kickgoal_state>();
29   int tileno = state->m_fgram[tile_index * 2] & 0x0fff;
30   int color = state->m_fgram[tile_index * 2 + 1] & 0x000f;
28   int tileno = m_fgram[tile_index * 2] & 0x0fff;
29   int color = m_fgram[tile_index * 2 + 1] & 0x000f;
3130
32   SET_TILE_INFO(0, tileno + state->m_fg_base, color + 0x00, 0);
31   SET_TILE_INFO_MEMBER(0, tileno + m_fg_base, color + 0x00, 0);
3332}
3433
3534/* BG */
36static TILE_GET_INFO( get_kickgoal_bg_tile_info )
35TILE_GET_INFO_MEMBER(kickgoal_state::get_kickgoal_bg_tile_info)
3736{
38   kickgoal_state *state = machine.driver_data<kickgoal_state>();
39   int tileno = state->m_bgram[tile_index * 2] & state->m_bg_mask;
40   int color = state->m_bgram[tile_index * 2 + 1] & 0x000f;
41   int flipx = state->m_bgram[tile_index * 2 + 1] & 0x0020;
42   int flipy = state->m_bgram[tile_index * 2 + 1] & 0x0040;
37   int tileno = m_bgram[tile_index * 2] & m_bg_mask;
38   int color = m_bgram[tile_index * 2 + 1] & 0x000f;
39   int flipx = m_bgram[tile_index * 2 + 1] & 0x0020;
40   int flipy = m_bgram[tile_index * 2 + 1] & 0x0040;
4341
44   SET_TILE_INFO(1, tileno + state->m_bg_base, color + 0x10, (flipx ? TILE_FLIPX : 0) | (flipy ? TILE_FLIPY : 0));
42   SET_TILE_INFO_MEMBER(1, tileno + m_bg_base, color + 0x10, (flipx ? TILE_FLIPX : 0) | (flipy ? TILE_FLIPY : 0));
4543}
4644
4745/* BG 2 */
48static TILE_GET_INFO( get_kickgoal_bg2_tile_info )
46TILE_GET_INFO_MEMBER(kickgoal_state::get_kickgoal_bg2_tile_info)
4947{
50   kickgoal_state *state = machine.driver_data<kickgoal_state>();
51   int tileno = state->m_bg2ram[tile_index * 2] & state->m_bg2_mask;
52   int color = state->m_bg2ram[tile_index * 2 + 1] & 0x000f;
53   int flipx = state->m_bg2ram[tile_index * 2 + 1] & 0x0020;
54   int flipy = state->m_bg2ram[tile_index * 2 + 1] & 0x0040;
48   int tileno = m_bg2ram[tile_index * 2] & m_bg2_mask;
49   int color = m_bg2ram[tile_index * 2 + 1] & 0x000f;
50   int flipx = m_bg2ram[tile_index * 2 + 1] & 0x0020;
51   int flipy = m_bg2ram[tile_index * 2 + 1] & 0x0040;
5552
56   SET_TILE_INFO(state->m_bg2_region, tileno + state->m_bg2_base, color + 0x20, (flipx ? TILE_FLIPX : 0) | (flipy ? TILE_FLIPY : 0));
53   SET_TILE_INFO_MEMBER(m_bg2_region, tileno + m_bg2_base, color + 0x20, (flipx ? TILE_FLIPX : 0) | (flipy ? TILE_FLIPY : 0));
5754}
5855
5956
60static TILEMAP_MAPPER( tilemap_scan_kicksfg )
57TILEMAP_MAPPER_MEMBER(kickgoal_state::tilemap_scan_kicksfg)
6158{
6259   /* logical (col,row) -> memory offset */
6360   return col * 32 + (row & 0x1f) + ((row & 0x20) >> 5) * 0x800;
6461}
6562
66static TILEMAP_MAPPER( tilemap_scan_kicksbg )
63TILEMAP_MAPPER_MEMBER(kickgoal_state::tilemap_scan_kicksbg)
6764{
6865   /* logical (col,row) -> memory offset */
6966   return col * 16 + (row & 0xf) + ((row & 0x70) >> 4) * 0x400;
7067}
7168
7269
73static TILEMAP_MAPPER( tilemap_scan_kicksbg2 ) // 16x16 tiles
70TILEMAP_MAPPER_MEMBER(kickgoal_state::tilemap_scan_kicksbg2)// 16x16 tiles
7471{
7572   /* logical (col,row) -> memory offset */
7673   return col * 8 + (row & 0x7) + ((row & 0x3c) >> 3) * 0x200;
7774}
7875
7976
80static TILEMAP_MAPPER( tilemap_scan_actionhwbg2 ) // 32x32 tiles
77TILEMAP_MAPPER_MEMBER(kickgoal_state::tilemap_scan_actionhwbg2)// 32x32 tiles
8178{
8279   /* logical (col,row) -> memory offset */
8380   return col * 16 + (row & 0xf) + ((row & 0x70) >> 4) * 0x400;
r17673r17674
133130   state->m_bg2_base = 0x2000 / 4;
134131   state->m_bg2_mask = (0x2000/4) - 1;
135132
136   state->m_fgtm = tilemap_create(machine, get_kickgoal_fg_tile_info, tilemap_scan_kicksfg, 8, 8, 64, 64);
137   state->m_bgtm = tilemap_create(machine, get_kickgoal_bg_tile_info, tilemap_scan_kicksbg, 16, 16, 64, 64);
138   state->m_bg2tm = tilemap_create(machine, get_kickgoal_bg2_tile_info, tilemap_scan_kicksbg2, 32, 32, 64, 64);
133   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);
134   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);
135   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);
139136
140137   state->m_fgtm->set_transparent_pen(15);
141138   state->m_bgtm->set_transparent_pen(15);
r17673r17674
155152   state->m_bg2_base = 0x2000;
156153   state->m_bg2_mask = 0x2000 - 1;
157154
158   state->m_fgtm = tilemap_create(machine, get_kickgoal_fg_tile_info, tilemap_scan_kicksfg, 8, 8, 64, 64);
159   state->m_bgtm = tilemap_create(machine, get_kickgoal_bg_tile_info, tilemap_scan_kicksbg, 16, 16, 64, 64);
160   state->m_bg2tm = tilemap_create(machine, get_kickgoal_bg2_tile_info, tilemap_scan_actionhwbg2, 16, 16, 64, 64);
155   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);
156   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);
157   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);
161158
162159   state->m_fgtm->set_transparent_pen(15);
163160   state->m_bgtm->set_transparent_pen(15);
trunk/src/mame/video/galaxian.c
r17673r17674
235235 *************************************/
236236
237237static void state_save_register(running_machine &machine);
238static TILE_GET_INFO( bg_get_tile_info );
239238
239
240240static void sprites_draw(running_machine &machine, bitmap_rgb32 &bitmap, const rectangle &cliprect, const UINT8 *spritebase);
241241
242242static void stars_init(running_machine &machine);
r17673r17674
396396   if (!state->m_sfx_tilemap)
397397   {
398398      /* normal galaxian hardware is row-based and individually scrolling columns */
399      state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info, TILEMAP_SCAN_ROWS, GALAXIAN_XSCALE*8,8, 32,32);
399      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);
400400      state->m_bg_tilemap->set_scroll_cols(32);
401401      state->m_bg_tilemap->set_scrolldx(0, -GALAXIAN_XSCALE * 128);
402402      state->m_bg_tilemap->set_scrolldy(0, 8);
r17673r17674
404404   else
405405   {
406406      /* sfx hardware is column-based and individually scrolling rows */
407      state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info, TILEMAP_SCAN_COLS, GALAXIAN_XSCALE*8,8, 32,32);
407      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);
408408      state->m_bg_tilemap->set_scroll_rows(32);
409409      state->m_bg_tilemap->set_scrolldx(0, -GALAXIAN_XSCALE * 128);
410410      state->m_bg_tilemap->set_scrolldy(0, 8);
r17673r17674
481481 *
482482 *************************************/
483483
484static TILE_GET_INFO( bg_get_tile_info )
484TILE_GET_INFO_MEMBER(galaxian_state::bg_get_tile_info)
485485{
486   galaxian_state *state = machine.driver_data<galaxian_state>();
487   UINT8 *videoram = state->m_videoram;
486   UINT8 *videoram = m_videoram;
488487   UINT8 x = tile_index & 0x1f;
489488
490489   UINT16 code = videoram[tile_index];
491   UINT8 attrib = state->m_spriteram[x*2+1];
490   UINT8 attrib = m_spriteram[x*2+1];
492491   UINT8 color = attrib & 7;
493492
494   if (state->m_extend_tile_info_ptr != NULL)
495      (*state->m_extend_tile_info_ptr)(machine, &code, &color, attrib, x);
493   if (m_extend_tile_info_ptr != NULL)
494      (*m_extend_tile_info_ptr)(machine(), &code, &color, attrib, x);
496495
497   SET_TILE_INFO(0, code, color, 0);
496   SET_TILE_INFO_MEMBER(0, code, color, 0);
498497}
499498
500499
trunk/src/mame/video/othldrby.c
r17673r17674
2828   tileinfo.category = (attr & 0x0600) >> 9;
2929}
3030
31static TILE_GET_INFO( get_tile_info0 )
31TILE_GET_INFO_MEMBER(othldrby_state::get_tile_info0)
3232{
33   get_tile_info(machine, tileinfo, tile_index, 0);
33   get_tile_info(machine(), tileinfo, tile_index, 0);
3434}
3535
36static TILE_GET_INFO( get_tile_info1 )
36TILE_GET_INFO_MEMBER(othldrby_state::get_tile_info1)
3737{
38   get_tile_info(machine, tileinfo, tile_index, 1);
38   get_tile_info(machine(), tileinfo, tile_index, 1);
3939}
4040
41static TILE_GET_INFO( get_tile_info2 )
41TILE_GET_INFO_MEMBER(othldrby_state::get_tile_info2)
4242{
43   get_tile_info(machine, tileinfo, tile_index, 2);
43   get_tile_info(machine(), tileinfo, tile_index, 2);
4444}
4545
4646
r17673r17674
5555{
5656   othldrby_state *state = machine.driver_data<othldrby_state>();
5757
58   state->m_bg_tilemap[0] = tilemap_create(machine, get_tile_info0, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
59   state->m_bg_tilemap[1] = tilemap_create(machine, get_tile_info1, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
60   state->m_bg_tilemap[2] = tilemap_create(machine, get_tile_info2, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
58   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);
59   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);
60   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);
6161
6262   state->m_vram = auto_alloc_array(machine, UINT16, VIDEORAM_SIZE);
6363   state->m_buf_spriteram = auto_alloc_array(machine, UINT16, 2 * SPRITERAM_SIZE);
trunk/src/mame/video/bbusters.c
r17673r17674
2727
2828/******************************************************************************/
2929
30static TILE_GET_INFO( get_bbusters_tile_info )
30TILE_GET_INFO_MEMBER(bbusters_state::get_bbusters_tile_info)
3131{
32   bbusters_state *state = machine.driver_data<bbusters_state>();
33   UINT16 tile = state->m_videoram[tile_index];
32   UINT16 tile = m_videoram[tile_index];
3433
35   SET_TILE_INFO(0,tile&0xfff,tile>>12,0);
34   SET_TILE_INFO_MEMBER(0,tile&0xfff,tile>>12,0);
3635}
3736
38static TILE_GET_INFO( get_pf1_tile_info )
37TILE_GET_INFO_MEMBER(bbusters_state::get_pf1_tile_info)
3938{
40   bbusters_state *state = machine.driver_data<bbusters_state>();
41   UINT16 tile = state->m_pf1_data[tile_index];
39   UINT16 tile = m_pf1_data[tile_index];
4240
43   SET_TILE_INFO(3,tile&0xfff,tile>>12,0);
41   SET_TILE_INFO_MEMBER(3,tile&0xfff,tile>>12,0);
4442}
4543
46static TILE_GET_INFO( get_pf2_tile_info )
44TILE_GET_INFO_MEMBER(bbusters_state::get_pf2_tile_info)
4745{
48   bbusters_state *state = machine.driver_data<bbusters_state>();
49   UINT16 tile = state->m_pf2_data[tile_index];
46   UINT16 tile = m_pf2_data[tile_index];
5047
51   SET_TILE_INFO(4,tile&0xfff,tile>>12,0);
48   SET_TILE_INFO_MEMBER(4,tile&0xfff,tile>>12,0);
5249}
5350
5451WRITE16_MEMBER(bbusters_state::bbusters_video_w)
r17673r17674
7875{
7976   bbusters_state *state = machine.driver_data<bbusters_state>();
8077
81   state->m_fix_tilemap = tilemap_create(machine, get_bbusters_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
82   state->m_pf1_tilemap = tilemap_create(machine, get_pf1_tile_info, TILEMAP_SCAN_COLS, 16, 16, 128, 32);
83   state->m_pf2_tilemap = tilemap_create(machine, get_pf2_tile_info, TILEMAP_SCAN_COLS, 16, 16, 128, 32);
78   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);
79   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);
80   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);
8481
8582   state->m_pf1_tilemap->set_transparent_pen(15);
8683   state->m_fix_tilemap->set_transparent_pen(15);
r17673r17674
9087{
9188   bbusters_state *state = machine.driver_data<bbusters_state>();
9289
93   state->m_fix_tilemap = tilemap_create(machine, get_bbusters_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
94   state->m_pf1_tilemap = tilemap_create(machine, get_pf1_tile_info, TILEMAP_SCAN_COLS, 16, 16, 256, 32);
95   state->m_pf2_tilemap = tilemap_create(machine, get_pf2_tile_info, TILEMAP_SCAN_COLS, 16, 16, 256, 32);
90   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);
91   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);
92   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);
9693
9794   state->m_pf1_tilemap->set_transparent_pen(15);
9895   state->m_fix_tilemap->set_transparent_pen(15);
trunk/src/mame/video/gstriker.c
r17673r17674
2525*/
2626
2727
28static TILE_GET_INFO( VS920A_get_tile_info )
28TILE_GET_INFO_MEMBER(gstriker_state::VS920A_get_tile_info)
2929{
30   gstriker_state *state = machine.driver_data<gstriker_state>();
3130   int data;
3231   int tileno, pal;
3332
34   data = state->m_VS920A_cur_chip->vram[tile_index];
33   data = m_VS920A_cur_chip->vram[tile_index];
3534
3635   tileno = data & 0xFFF;
3736   pal =   (data >> 12) & 0xF;
3837
39   SET_TILE_INFO(state->m_VS920A_cur_chip->gfx_region, tileno, state->m_VS920A_cur_chip->pal_base + pal, 0);
38   SET_TILE_INFO_MEMBER(m_VS920A_cur_chip->gfx_region, tileno, m_VS920A_cur_chip->pal_base + pal, 0);
4039}
4140
4241WRITE16_MEMBER(gstriker_state::VS920A_0_vram_w)
r17673r17674
6160
6261   for (i=0;i<numchips;i++)
6362   {
64      state->m_VS920A[i].tmap = tilemap_create(machine, VS920A_get_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
63      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);
6564
6665      state->m_VS920A[i].tmap->set_transparent_pen(0);
6766   }
r17673r17674
139138
140139
141140
142static TILE_GET_INFO( MB60553_get_tile_info )
141TILE_GET_INFO_MEMBER(gstriker_state::MB60553_get_tile_info)
143142{
144   gstriker_state *state = machine.driver_data<gstriker_state>();
145143   int data, bankno;
146144   int tileno, pal;
147145
148   data = state->m_MB60553_cur_chip->vram[tile_index];
146   data = m_MB60553_cur_chip->vram[tile_index];
149147
150148   tileno = data & 0x1FF;
151149   pal = (data >> 12) & 0xF;
152150   bankno = (data >> 9) & 0x7;
153151
154   SET_TILE_INFO(state->m_MB60553->gfx_region, tileno + state->m_MB60553_cur_chip->bank[bankno] * 0x200, pal + state->m_MB60553->pal_base, 0);
152   SET_TILE_INFO_MEMBER(m_MB60553->gfx_region, tileno + m_MB60553_cur_chip->bank[bankno] * 0x200, pal + m_MB60553->pal_base, 0);
155153}
156154
157155void gstriker_state::MB60553_reg_written(int numchip, int num_reg)
r17673r17674
203201}
204202
205203/* twc94 has the tilemap made of 2 pages .. it needs this */
206static TILEMAP_MAPPER( twc94_scan )
204TILEMAP_MAPPER_MEMBER(gstriker_state::twc94_scan)
207205{
208206   /* logical (col,row) -> memory offset */
209207   return (row*64) + (col&63) + ((col&64)<<6);
r17673r17674
219217
220218   for (i=0;i<numchips;i++)
221219   {
222      state->m_MB60553[i].tmap = tilemap_create(machine, MB60553_get_tile_info,twc94_scan, 16,16,128,64);
220      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);
223221
224222      state->m_MB60553[i].tmap->set_transparent_pen(0);
225223   }
trunk/src/mame/video/snk.c
r17673r17674
5959
6060/**************************************************************************************/
6161
62static TILEMAP_MAPPER( marvins_tx_scan_cols )
62TILEMAP_MAPPER_MEMBER(snk_state::marvins_tx_scan_cols)
6363{
6464   // tilemap is 36x28, the central part is from the first RAM page and the
6565   // extra 4 columns are from the second page
r17673r17674
7070      return row + (col << 5);
7171}
7272
73static TILE_GET_INFO( marvins_get_tx_tile_info )
73TILE_GET_INFO_MEMBER(snk_state::marvins_get_tx_tile_info)
7474{
75   snk_state *state = machine.driver_data<snk_state>();
76   int code = state->m_tx_videoram[tile_index];
75   int code = m_tx_videoram[tile_index];
7776   int color = code >> 5;
7877
79   SET_TILE_INFO(0,
80         state->m_tx_tile_offset + code,
78   SET_TILE_INFO_MEMBER(0,
79         m_tx_tile_offset + code,
8180         color,
8281         tile_index & 0x400 ? TILE_FORCE_LAYER0 : 0);
8382}
8483
85static TILE_GET_INFO( ikari_get_tx_tile_info )
84TILE_GET_INFO_MEMBER(snk_state::ikari_get_tx_tile_info)
8685{
87   snk_state *state = machine.driver_data<snk_state>();
88   int code = state->m_tx_videoram[tile_index];
86   int code = m_tx_videoram[tile_index];
8987
90   SET_TILE_INFO(0,
91         state->m_tx_tile_offset + code,
88   SET_TILE_INFO_MEMBER(0,
89         m_tx_tile_offset + code,
9290         0,
9391         tile_index & 0x400 ? TILE_FORCE_LAYER0 : 0);
9492}
9593
96static TILE_GET_INFO( gwar_get_tx_tile_info )
94TILE_GET_INFO_MEMBER(snk_state::gwar_get_tx_tile_info)
9795{
98   snk_state *state = machine.driver_data<snk_state>();
99   int code = state->m_tx_videoram[tile_index];
96   int code = m_tx_videoram[tile_index];
10097
101   SET_TILE_INFO(0,
102         state->m_tx_tile_offset + code,
98   SET_TILE_INFO_MEMBER(0,
99         m_tx_tile_offset + code,
103100         0,
104101         0);
105102}
106103
107104
108static TILE_GET_INFO( marvins_get_fg_tile_info )
105TILE_GET_INFO_MEMBER(snk_state::marvins_get_fg_tile_info)
109106{
110   snk_state *state = machine.driver_data<snk_state>();
111   int code = state->m_fg_videoram[tile_index];
107   int code = m_fg_videoram[tile_index];
112108
113   SET_TILE_INFO(1,
109   SET_TILE_INFO_MEMBER(1,
114110         code,
115111         0,
116112         0);
117113}
118114
119static TILE_GET_INFO( marvins_get_bg_tile_info )
115TILE_GET_INFO_MEMBER(snk_state::marvins_get_bg_tile_info)
120116{
121   snk_state *state = machine.driver_data<snk_state>();
122   int code = state->m_bg_videoram[tile_index];
117   int code = m_bg_videoram[tile_index];
123118
124   SET_TILE_INFO(2,
119   SET_TILE_INFO_MEMBER(2,
125120         code,
126121         0,
127122         0);
128123}
129124
130125
131static TILE_GET_INFO( aso_get_bg_tile_info )
126TILE_GET_INFO_MEMBER(snk_state::aso_get_bg_tile_info)
132127{
133   snk_state *state = machine.driver_data<snk_state>();
134   int code = state->m_bg_videoram[tile_index];
128   int code = m_bg_videoram[tile_index];
135129
136   SET_TILE_INFO(1,
137         state->m_bg_tile_offset + code,
130   SET_TILE_INFO_MEMBER(1,
131         m_bg_tile_offset + code,
138132         0,
139133         0);
140134}
141135
142static TILE_GET_INFO( tnk3_get_bg_tile_info )
136TILE_GET_INFO_MEMBER(snk_state::tnk3_get_bg_tile_info)
143137{
144   snk_state *state = machine.driver_data<snk_state>();
145   int attr = state->m_bg_videoram[2*tile_index+1];
146   int code = state->m_bg_videoram[2*tile_index] | ((attr & 0x30) << 4);
138   int attr = m_bg_videoram[2*tile_index+1];
139   int code = m_bg_videoram[2*tile_index] | ((attr & 0x30) << 4);
147140   int color = (attr & 0xf) ^ 8;
148141
149   SET_TILE_INFO(1,
142   SET_TILE_INFO_MEMBER(1,
150143         code,
151144         color,
152145         0);
153146}
154147
155static TILE_GET_INFO( ikari_get_bg_tile_info )
148TILE_GET_INFO_MEMBER(snk_state::ikari_get_bg_tile_info)
156149{
157   snk_state *state = machine.driver_data<snk_state>();
158   int attr = state->m_bg_videoram[2*tile_index+1];
159   int code = state->m_bg_videoram[2*tile_index] | ((attr & 0x03) << 8);
150   int attr = m_bg_videoram[2*tile_index+1];
151   int code = m_bg_videoram[2*tile_index] | ((attr & 0x03) << 8);
160152   int color = (attr & 0x70) >> 4;
161153
162   SET_TILE_INFO(1,
154   SET_TILE_INFO_MEMBER(1,
163155         code,
164156         color,
165157         0);
166158}
167159
168static TILE_GET_INFO( gwar_get_bg_tile_info )
160TILE_GET_INFO_MEMBER(snk_state::gwar_get_bg_tile_info)
169161{
170   snk_state *state = machine.driver_data<snk_state>();
171   int attr = state->m_bg_videoram[2*tile_index+1];
172   int code = state->m_bg_videoram[2*tile_index] | ((attr & 0x0f) << 8);
162   int attr = m_bg_videoram[2*tile_index+1];
163   int code = m_bg_videoram[2*tile_index] | ((attr & 0x0f) << 8);
173164   int color = (attr & 0xf0) >> 4;
174165
175   if (state->m_is_psychos)   // psychos has a separate palette bank bit
166   if (m_is_psychos)   // psychos has a separate palette bank bit
176167      color &= 7;
177168
178   SET_TILE_INFO(1,
169   SET_TILE_INFO_MEMBER(1,
179170         code,
180171         color,
181172         0);
182173
183174   // bermudat, tdfever use FFFF to blank the background.
184   // (still call SET_TILE_INFO, otherwise problems might occur on boot when
175   // (still call SET_TILE_INFO_MEMBER, otherwise problems might occur on boot when
185176   // the tile data hasn't been initialised)
186   if (code >= machine.gfx[1]->elements())
187      tileinfo.pen_data = state->m_empty_tile;
177   if (code >= machine().gfx[1]->elements())
178      tileinfo.pen_data = m_empty_tile;
188179}
189180
190181
r17673r17674
235226
236227   VIDEO_START_CALL(snk_3bpp_shadow);
237228
238   state->m_tx_tilemap = tilemap_create(machine, marvins_get_tx_tile_info, marvins_tx_scan_cols, 8, 8, 36, 28);
239   state->m_fg_tilemap = tilemap_create(machine, marvins_get_fg_tile_info, TILEMAP_SCAN_COLS,    8, 8, 64, 32);
240   state->m_bg_tilemap = tilemap_create(machine, marvins_get_bg_tile_info, TILEMAP_SCAN_COLS,    8, 8, 64, 32);
229   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);
230   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);
231   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);
241232
242233   state->m_tx_tilemap->set_transparent_pen(15);
243234   state->m_tx_tilemap->set_scrolldy(8, 8);
r17673r17674
258249
259250   VIDEO_START_CALL(snk_3bpp_shadow);
260251
261   state->m_tx_tilemap = tilemap_create(machine, marvins_get_tx_tile_info, marvins_tx_scan_cols, 8, 8, 36, 28);
262   state->m_bg_tilemap = tilemap_create(machine, aso_get_bg_tile_info,     TILEMAP_SCAN_COLS,    8, 8, 64, 64);
252   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);
253   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);
263254
264255   state->m_tx_tilemap->set_transparent_pen(15);
265256   state->m_tx_tilemap->set_scrolldy(8, 8);
r17673r17674
279270
280271   VIDEO_START_CALL(snk_3bpp_shadow);
281272
282   state->m_tx_tilemap = tilemap_create(machine, marvins_get_tx_tile_info, marvins_tx_scan_cols, 8, 8, 36, 28);
283   state->m_bg_tilemap = tilemap_create(machine, aso_get_bg_tile_info,     TILEMAP_SCAN_COLS,    8, 8, 64, 32);
273   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);
274   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);
284275
285276   state->m_tx_tilemap->set_transparent_pen(15);
286277   state->m_tx_tilemap->set_scrolldy(8, 8);
r17673r17674
325316
326317   VIDEO_START_CALL(snk_3bpp_shadow);
327318
328   state->m_tx_tilemap = tilemap_create(machine, marvins_get_tx_tile_info, marvins_tx_scan_cols, 8, 8, 36, 28);
329   state->m_bg_tilemap = tilemap_create(machine, tnk3_get_bg_tile_info,    TILEMAP_SCAN_COLS,    8, 8, 64, 64);
319   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);
320   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);
330321
331322   state->m_tx_tilemap->set_transparent_pen(15);
332323   state->m_tx_tilemap->set_scrolldy(8, 8);
r17673r17674
345336
346337   VIDEO_START_CALL(snk_3bpp_shadow);
347338
348   state->m_tx_tilemap = tilemap_create(machine, ikari_get_tx_tile_info, marvins_tx_scan_cols,  8,  8, 36, 28);
349   state->m_bg_tilemap = tilemap_create(machine, ikari_get_bg_tile_info, TILEMAP_SCAN_COLS,    16, 16, 32, 32);
339   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);
340   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);
350341
351342   state->m_tx_tilemap->set_transparent_pen(15);
352343   state->m_tx_tilemap->set_scrolldy(8, 8);
r17673r17674
368359
369360   memset(state->m_empty_tile, 0xf, sizeof(state->m_empty_tile));
370361
371   state->m_tx_tilemap = tilemap_create(machine, gwar_get_tx_tile_info, TILEMAP_SCAN_COLS,  8,  8, 50, 32);
372   state->m_bg_tilemap = tilemap_create(machine, gwar_get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
362   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);
363   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);
373364
374365   state->m_tx_tilemap->set_transparent_pen(15);
375366
trunk/src/mame/video/hyprduel.c
r17673r17674
256256
257257
258258
259static TILE_GET_INFO( get_tile_info_0_8bit )
259TILE_GET_INFO_MEMBER(hyprduel_state::get_tile_info_0_8bit)
260260{
261   hyprduel_state *state = machine.driver_data<hyprduel_state>();
262   get_tile_info_8bit(machine, tileinfo, tile_index, 0, state->m_vram_0);
261   get_tile_info_8bit(machine(), tileinfo, tile_index, 0, m_vram_0);
263262}
264263
265static TILE_GET_INFO( get_tile_info_1_8bit )
264TILE_GET_INFO_MEMBER(hyprduel_state::get_tile_info_1_8bit)
266265{
267   hyprduel_state *state = machine.driver_data<hyprduel_state>();
268   get_tile_info_8bit(machine, tileinfo, tile_index, 1, state->m_vram_1);
266   get_tile_info_8bit(machine(), tileinfo, tile_index, 1, m_vram_1);
269267}
270268
271static TILE_GET_INFO( get_tile_info_2_8bit )
269TILE_GET_INFO_MEMBER(hyprduel_state::get_tile_info_2_8bit)
272270{
273   hyprduel_state *state = machine.driver_data<hyprduel_state>();
274   get_tile_info_8bit(machine, tileinfo, tile_index, 2, state->m_vram_2);
271   get_tile_info_8bit(machine(), tileinfo, tile_index, 2, m_vram_2);
275272}
276273
277274WRITE16_MEMBER(hyprduel_state::hyprduel_vram_0_w)
r17673r17674
370367   state->save_pointer(NAME(state->m_tiletable_old), state->m_tiletable.bytes() / 2);
371368   state->save_pointer(NAME(state->m_dirtyindex), state->m_tiletable.bytes() / 4);
372369
373   state->m_bg_tilemap[0] = tilemap_create(machine, get_tile_info_0_8bit, TILEMAP_SCAN_ROWS, 8, 8, WIN_NX, WIN_NY);
374   state->m_bg_tilemap[1] = tilemap_create(machine, get_tile_info_1_8bit, TILEMAP_SCAN_ROWS, 8, 8, WIN_NX, WIN_NY);
375   state->m_bg_tilemap[2] = tilemap_create(machine, get_tile_info_2_8bit, TILEMAP_SCAN_ROWS, 8, 8, WIN_NX, WIN_NY);
370   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);
371   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);
372   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);
376373
377374   state->m_bg_tilemap[0]->map_pen_to_layer(0, 15,  TILEMAP_PIXEL_TRANSPARENT);
378375   state->m_bg_tilemap[0]->map_pen_to_layer(1, 255, TILEMAP_PIXEL_TRANSPARENT);
trunk/src/mame/video/flstory.c
r17673r17674
99#include "emu.h"
1010#include "includes/flstory.h"
1111
12static TILE_GET_INFO( get_tile_info )
12TILE_GET_INFO_MEMBER(flstory_state::get_tile_info)
1313{
14   flstory_state *state = machine.driver_data<flstory_state>();
15   int code = state->m_videoram[tile_index * 2];
16   int attr = state->m_videoram[tile_index * 2 + 1];
17   int tile_number = code + ((attr & 0xc0) << 2) + 0x400 + 0x800 * state->m_char_bank;
14   int code = m_videoram[tile_index * 2];
15   int attr = m_videoram[tile_index * 2 + 1];
16   int tile_number = code + ((attr & 0xc0) << 2) + 0x400 + 0x800 * m_char_bank;
1817   int flags = TILE_FLIPYX((attr & 0x18) >> 3);
1918   tileinfo.category = (attr & 0x20) >> 5;
2019   tileinfo.group = (attr & 0x20) >> 5;
21   SET_TILE_INFO(
20   SET_TILE_INFO_MEMBER(
2221         0,
2322         tile_number,
2423         attr & 0x0f,
2524         flags);
2625}
2726
28static TILE_GET_INFO( victnine_get_tile_info )
27TILE_GET_INFO_MEMBER(flstory_state::victnine_get_tile_info)
2928{
30   flstory_state *state = machine.driver_data<flstory_state>();
31   int code = state->m_videoram[tile_index * 2];
32   int attr = state->m_videoram[tile_index * 2 + 1];
29   int code = m_videoram[tile_index * 2];
30   int attr = m_videoram[tile_index * 2 + 1];
3331   int tile_number = ((attr & 0x38) << 5) + code;
3432   int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);
3533
36   SET_TILE_INFO(
34   SET_TILE_INFO_MEMBER(
3735         0,
3836         tile_number,
3937         attr & 0x07,
4038         flags);
4139}
4240
43static TILE_GET_INFO( get_rumba_tile_info )
41TILE_GET_INFO_MEMBER(flstory_state::get_rumba_tile_info)
4442{
45   flstory_state *state = machine.driver_data<flstory_state>();
46   int code = state->m_videoram[tile_index * 2];
47   int attr = state->m_videoram[tile_index * 2 + 1];
48   int tile_number = code + ((attr & 0xc0) << 2) + 0x400 + 0x800 * state->m_char_bank;
43   int code = m_videoram[tile_index * 2];
44   int attr = m_videoram[tile_index * 2 + 1];
45   int tile_number = code + ((attr & 0xc0) << 2) + 0x400 + 0x800 * m_char_bank;
4946   int col = (attr & 0x0f);
5047
5148   tileinfo.category = (attr & 0x20) >> 5;
5249   tileinfo.group = (attr & 0x20) >> 5;
53   SET_TILE_INFO(
50   SET_TILE_INFO_MEMBER(
5451         0,
5552         tile_number,
5653         col,
r17673r17674
6057VIDEO_START( flstory )
6158{
6259   flstory_state *state = machine.driver_data<flstory_state>();
63   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
60   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);
6461//  state->m_bg_tilemap->set_transparent_pen(15);
6562   state->m_bg_tilemap->set_transmask(0, 0x3fff, 0xc000); /* split type 0 has pens 0-13 transparent in front half */
6663   state->m_bg_tilemap->set_transmask(1, 0x8000, 0x7fff); /* split type 1 has pen 15 transparent in front half */
r17673r17674
7370VIDEO_START( rumba )
7471{
7572   flstory_state *state = machine.driver_data<flstory_state>();
76   state->m_bg_tilemap = tilemap_create(machine, get_rumba_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
73   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);
7774//  state->m_bg_tilemap->set_transparent_pen(15);
7875   state->m_bg_tilemap->set_transmask(0, 0x3fff, 0xc000); /* split type 0 has pens 0-13 transparent in front half */
7976   state->m_bg_tilemap->set_transmask(1, 0x8000, 0x7fff); /* split type 1 has pen 15 transparent in front half */
r17673r17674
8683VIDEO_START( victnine )
8784{
8885   flstory_state *state = machine.driver_data<flstory_state>();
89   state->m_bg_tilemap = tilemap_create(machine, victnine_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
86   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);
9087   state->m_bg_tilemap->set_scroll_cols(32);
9188
9289   state->m_generic_paletteram_8.allocate(0x200);
trunk/src/mame/video/suprslam.c
r17673r17674
105105}
106106
107107
108static TILE_GET_INFO( get_suprslam_tile_info )
108TILE_GET_INFO_MEMBER(suprslam_state::get_suprslam_tile_info)
109109{
110   suprslam_state *state = machine.driver_data<suprslam_state>();
111   int tileno = state->m_screen_videoram[tile_index] & 0x0fff;
112   int colour = state->m_screen_videoram[tile_index] & 0xf000;
110   int tileno = m_screen_videoram[tile_index] & 0x0fff;
111   int colour = m_screen_videoram[tile_index] & 0xf000;
113112
114   tileno += state->m_screen_bank;
113   tileno += m_screen_bank;
115114   colour = colour >> 12;
116115
117   SET_TILE_INFO(0, tileno, colour, 0);
116   SET_TILE_INFO_MEMBER(0, tileno, colour, 0);
118117}
119118
120119
r17673r17674
127126}
128127
129128
130static TILE_GET_INFO( get_suprslam_bg_tile_info )
129TILE_GET_INFO_MEMBER(suprslam_state::get_suprslam_bg_tile_info)
131130{
132   suprslam_state *state = machine.driver_data<suprslam_state>();
133   int tileno = state->m_bg_videoram[tile_index] & 0x0fff;
134   int colour = state->m_bg_videoram[tile_index] & 0xf000;
131   int tileno = m_bg_videoram[tile_index] & 0x0fff;
132   int colour = m_bg_videoram[tile_index] & 0xf000;
135133
136   tileno += state->m_bg_bank;
134   tileno += m_bg_bank;
137135   colour = colour >> 12;
138136
139   SET_TILE_INFO(2, tileno, colour, 0);
137   SET_TILE_INFO_MEMBER(2, tileno, colour, 0);
140138}
141139
142140
r17673r17674
144142{
145143   suprslam_state *state = machine.driver_data<suprslam_state>();
146144
147   state->m_bg_tilemap = tilemap_create(machine, get_suprslam_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
148   state->m_screen_tilemap = tilemap_create(machine, get_suprslam_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
145   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);
146   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);
149147
150148   state->m_screen_tilemap->set_transparent_pen(15);
151149}
trunk/src/mame/video/calomega.c
r17673r17674
2929   m_bg_tilemap->mark_tile_dirty(offset);
3030}
3131
32static TILE_GET_INFO( get_bg_tile_info )
32TILE_GET_INFO_MEMBER(calomega_state::get_bg_tile_info)
3333{
34   calomega_state *state = machine.driver_data<calomega_state>();
3534/*  - bits -
3635    7654 3210
3736    --xx xx--   tiles color.
3837    ---- --x-   tiles bank.
3938    xx-- ---x   seems unused. */
4039
41   int attr = state->m_colorram[tile_index];
42   int code = state->m_videoram[tile_index];
40   int attr = m_colorram[tile_index];
41   int code = m_videoram[tile_index];
4342   int bank = (attr & 0x02) >> 1;   /* bit 1 switch the gfx banks */
4443   int color = (attr & 0x3c);   /* bits 2-3-4-5 for color */
4544
r17673r17674
5251   if (attr == 0x32)   /* Is the palette wrong? */
5352      color = 0x39;   /* 0x39 is the best match */
5453
55   SET_TILE_INFO(bank, code, color, 0);
54   SET_TILE_INFO_MEMBER(bank, code, color, 0);
5655}
5756
5857VIDEO_START( calomega )
5958{
6059   calomega_state *state = machine.driver_data<calomega_state>();
61   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 31);
60   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);
6261}
6362
6463SCREEN_UPDATE_IND16( calomega )
trunk/src/mame/video/strnskil.c
r17673r17674
6060   }
6161}
6262
63static TILE_GET_INFO( get_bg_tile_info )
63TILE_GET_INFO_MEMBER(strnskil_state::get_bg_tile_info)
6464{
65   strnskil_state *state = machine.driver_data<strnskil_state>();
66   UINT8 *videoram = state->m_videoram;
65   UINT8 *videoram = m_videoram;
6766   int attr = videoram[tile_index * 2];
6867   int code = videoram[(tile_index * 2) + 1] + ((attr & 0x60) << 3);
6968   int color = (attr & 0x1f) | ((attr & 0x80) >> 2);
7069
71   SET_TILE_INFO(0, code, color, 0);
70   SET_TILE_INFO_MEMBER(0, code, color, 0);
7271}
7372
7473VIDEO_START( strnskil )
7574{
7675   strnskil_state *state = machine.driver_data<strnskil_state>();
77   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS,
76   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(strnskil_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
7877       8, 8, 32, 32);
7978
8079   state->m_bg_tilemap->set_scroll_rows(32);
trunk/src/mame/video/atetris.c
r17673r17674
1414 *
1515 *************************************/
1616
17static TILE_GET_INFO( get_tile_info )
17TILE_GET_INFO_MEMBER(atetris_state::get_tile_info)
1818{
19   atetris_state *state = machine.driver_data<atetris_state>();
20   UINT8 *videoram = state->m_videoram;
19   UINT8 *videoram = m_videoram;
2120   int code = videoram[tile_index * 2] | ((videoram[tile_index * 2 + 1] & 7) << 8);
2221   int color = (videoram[tile_index * 2 + 1] & 0xf0) >> 4;
2322
24   SET_TILE_INFO(0, code, color, 0);
23   SET_TILE_INFO_MEMBER(0, code, color, 0);
2524}
2625
2726
r17673r17674
5251{
5352   atetris_state *state = machine.driver_data<atetris_state>();
5453
55   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS,  8,8, 64,32);
54   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);
5655}
5756
5857
trunk/src/mame/video/shaolins.c
r17673r17674
133133   }
134134}
135135
136static TILE_GET_INFO( get_bg_tile_info )
136TILE_GET_INFO_MEMBER(shaolins_state::get_bg_tile_info)
137137{
138   shaolins_state *state = machine.driver_data<shaolins_state>();
139   int attr = state->m_colorram[tile_index];
140   int code = state->m_videoram[tile_index] + ((attr & 0x40) << 2);
141   int color = (attr & 0x0f) + 16 * state->m_palettebank;
138   int attr = m_colorram[tile_index];
139   int code = m_videoram[tile_index] + ((attr & 0x40) << 2);
140   int color = (attr & 0x0f) + 16 * m_palettebank;
142141   int flags = (attr & 0x20) ? TILE_FLIPY : 0;
143142
144   SET_TILE_INFO(0, code, color, flags);
143   SET_TILE_INFO_MEMBER(0, code, color, flags);
145144}
146145
147146VIDEO_START( shaolins )
148147{
149148   shaolins_state *state = machine.driver_data<shaolins_state>();
150149
151   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
150   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(shaolins_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
152151       8, 8, 32, 32);
153152
154153   state->m_bg_tilemap->set_scroll_cols(32);
trunk/src/mame/video/kyugo.c
r17673r17674
1414
1515***************************************************************************/
1616
17static TILE_GET_INFO( get_fg_tile_info )
17TILE_GET_INFO_MEMBER(kyugo_state::get_fg_tile_info)
1818{
19   kyugo_state *state = machine.driver_data<kyugo_state>();
20   int code = state->m_fgvideoram[tile_index];
21   SET_TILE_INFO(0,
19   int code = m_fgvideoram[tile_index];
20   SET_TILE_INFO_MEMBER(0,
2221              code,
23              2 * state->m_color_codes[code >> 3] + state->m_fgcolor,
22              2 * m_color_codes[code >> 3] + m_fgcolor,
2423              0);
2524}
2625
2726
28static TILE_GET_INFO( get_bg_tile_info )
27TILE_GET_INFO_MEMBER(kyugo_state::get_bg_tile_info)
2928{
30   kyugo_state *state = machine.driver_data<kyugo_state>();
31   int code = state->m_bgvideoram[tile_index];
32   int attr = state->m_bgattribram[tile_index];
33   SET_TILE_INFO(1,
29   int code = m_bgvideoram[tile_index];
30   int attr = m_bgattribram[tile_index];
31   SET_TILE_INFO_MEMBER(1,
3432              code | ((attr & 0x03) << 8),
35              (attr >> 4) | (state->m_bgpalbank << 4),
33              (attr >> 4) | (m_bgpalbank << 4),
3634              TILE_FLIPYX((attr & 0x0c) >> 2));
3735}
3836
r17673r17674
4947
5048   state->m_color_codes = state->memregion("proms")->base() + 0x300;
5149
52   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
53   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
50   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);
51   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);
5452
5553   state->m_fg_tilemap->set_transparent_pen(0);
5654
trunk/src/mame/video/popeye.c
r17673r17674
233233   popeye_bitmap_w(space,offset,data);
234234}
235235
236static TILE_GET_INFO( get_fg_tile_info )
236TILE_GET_INFO_MEMBER(popeye_state::get_fg_tile_info)
237237{
238   popeye_state *state = machine.driver_data<popeye_state>();
239   int code = state->m_videoram[tile_index];
240   int color = state->m_colorram[tile_index] & 0x0f;
238   int code = m_videoram[tile_index];
239   int color = m_colorram[tile_index] & 0x0f;
241240
242   SET_TILE_INFO(0, code, color, 0);
241   SET_TILE_INFO_MEMBER(0, code, color, 0);
243242}
244243
245244VIDEO_START( skyskipr )
r17673r17674
250249
251250   state->m_bitmap_type = TYPE_SKYSKIPR;
252251
253   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
252   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);
254253   state->m_fg_tilemap->set_transparent_pen(0);
255254
256255    state->m_lastflip = 0;
r17673r17674
268267
269268   state->m_bitmap_type = TYPE_POPEYE;
270269
271   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
270   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);
272271   state->m_fg_tilemap->set_transparent_pen(0);
273272
274273    state->m_lastflip = 0;
trunk/src/mame/video/4enraya.c
r17673r17674
1717   m_bg_tilemap->mark_tile_dirty(offset & 0x3ff);
1818}
1919
20static TILE_GET_INFO( get_tile_info )
20TILE_GET_INFO_MEMBER(_4enraya_state::get_tile_info)
2121{
22   _4enraya_state *state = machine.driver_data<_4enraya_state>();
2322
24   int code = state->m_videoram[tile_index * 2] + (state->m_videoram[tile_index * 2 + 1] << 8);
25   SET_TILE_INFO(
23   int code = m_videoram[tile_index * 2] + (m_videoram[tile_index * 2 + 1] << 8);
24   SET_TILE_INFO_MEMBER(
2625      0,
2726      code,
2827      0,
r17673r17674
3332{
3433   _4enraya_state *state = machine.driver_data<_4enraya_state>();
3534
36   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
35   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);
3736}
3837
3938SCREEN_UPDATE_IND16( 4enraya )
trunk/src/mame/video/blockade.c
r17673r17674
1313   }
1414}
1515
16static TILE_GET_INFO( get_bg_tile_info )
16TILE_GET_INFO_MEMBER(blockade_state::get_bg_tile_info)
1717{
18   blockade_state *state = machine.driver_data<blockade_state>();
19   int code = state->m_videoram[tile_index];
18   int code = m_videoram[tile_index];
2019
21   SET_TILE_INFO(0, code, 0, 0);
20   SET_TILE_INFO_MEMBER(0, code, 0, 0);
2221}
2322
2423VIDEO_START( blockade )
2524{
2625   blockade_state *state = machine.driver_data<blockade_state>();
27   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
26   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);
2827}
2928
3029SCREEN_UPDATE_IND16( blockade )
trunk/src/mame/video/compgolf.c
r17673r17674
4646   m_bg_tilemap->mark_tile_dirty(offset / 2);
4747}
4848
49static TILE_GET_INFO( get_text_info )
49TILE_GET_INFO_MEMBER(compgolf_state::get_text_info)
5050{
51   compgolf_state *state = machine.driver_data<compgolf_state>();
5251   tile_index <<= 1;
53   SET_TILE_INFO(2, state->m_videoram[tile_index + 1] | (state->m_videoram[tile_index] << 8), state->m_videoram[tile_index] >> 2, 0);
52   SET_TILE_INFO_MEMBER(2, m_videoram[tile_index + 1] | (m_videoram[tile_index] << 8), m_videoram[tile_index] >> 2, 0);
5453}
5554
56static TILEMAP_MAPPER( back_scan )
55TILEMAP_MAPPER_MEMBER(compgolf_state::back_scan)
5756{
5857   /* logical (col,row) -> memory offset */
5958   return (col & 0x0f) + ((row & 0x0f) << 4) + ((col & 0x10) << 4) + ((row & 0x10) << 5);
6059}
6160
62static TILE_GET_INFO( get_back_info )
61TILE_GET_INFO_MEMBER(compgolf_state::get_back_info)
6362{
64   compgolf_state *state = machine.driver_data<compgolf_state>();
65   int attr = state->m_bg_ram[tile_index * 2];
66   int code = state->m_bg_ram[tile_index * 2 + 1] + ((attr & 1) << 8);
63   int attr = m_bg_ram[tile_index * 2];
64   int code = m_bg_ram[tile_index * 2 + 1] + ((attr & 1) << 8);
6765   int color = (attr & 0x3e) >> 1;
6866
69   SET_TILE_INFO(1, code, color, 0);
67   SET_TILE_INFO_MEMBER(1, code, color, 0);
7068}
7169
7270VIDEO_START( compgolf )
7371{
7472   compgolf_state *state = machine.driver_data<compgolf_state>();
75   state->m_bg_tilemap = tilemap_create(machine, get_back_info, back_scan, 16, 16, 32, 32);
76   state->m_text_tilemap = tilemap_create(machine, get_text_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
73   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);
74   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);
7775
7876   state->m_text_tilemap->set_transparent_pen(0);
7977}
trunk/src/mame/video/lordgun.c
r17673r17674
7070   SET_TILE_INFO( _N_, code, ((attr & 0x0030) >> 4) + 0x10 + 0x4 * ((_N_ + 1) & 3) + pri*0x800/0x40, TILE_FLIPXY(attr >> 14));
7171}
7272
73static TILE_GET_INFO( get_tile_info_0 ) { get_tile_info(machine, tileinfo, tile_index, 0); }
74static TILE_GET_INFO( get_tile_info_1 ) { get_tile_info(machine, tileinfo, tile_index, 1); }
75static TILE_GET_INFO( get_tile_info_2 ) { get_tile_info(machine, tileinfo, tile_index, 2); }
76static TILE_GET_INFO( get_tile_info_3 ) { get_tile_info(machine, tileinfo, tile_index, 3); }
73TILE_GET_INFO_MEMBER(lordgun_state::get_tile_info_0){ get_tile_info(machine(), tileinfo, tile_index, 0); }
74TILE_GET_INFO_MEMBER(lordgun_state::get_tile_info_1){ get_tile_info(machine(), tileinfo, tile_index, 1); }
75TILE_GET_INFO_MEMBER(lordgun_state::get_tile_info_2){ get_tile_info(machine(), tileinfo, tile_index, 2); }
76TILE_GET_INFO_MEMBER(lordgun_state::get_tile_info_3){ get_tile_info(machine(), tileinfo, tile_index, 3); }
7777
7878INLINE void lordgun_vram_w(address_space *space, offs_t offset, UINT16 data, UINT16 mem_mask, int _N_)
7979{
r17673r17674
102102   int h = machine.primary_screen->height();
103103
104104   // 0x800 x 200
105   state->m_tilemap[0] = tilemap_create(   machine, get_tile_info_0, TILEMAP_SCAN_ROWS,
106                         8,8, 0x100, 0x40 );
105   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 );
107106
108107   // 0x800 x 200
109   state->m_tilemap[1] = tilemap_create(   machine, get_tile_info_1, TILEMAP_SCAN_ROWS,
110                         16,16, 0x80,0x20 );
108   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 );
111109
112110   // 0x800 x 200
113   state->m_tilemap[2] = tilemap_create(   machine, get_tile_info_2, TILEMAP_SCAN_ROWS,
114                         32,32, 0x40,0x10 );
111   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 );
115112
116113   // 0x200 x 100
117   state->m_tilemap[3] = tilemap_create(   machine, get_tile_info_3, TILEMAP_SCAN_ROWS,
118                         8,8, 0x40,0x20 );
114   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 );
119115
120116   state->m_tilemap[0]->set_scroll_rows(1);
121117   state->m_tilemap[0]->set_scroll_cols(1);
trunk/src/mame/video/zerozone.c
r17673r17674
2121   m_zz_tilemap->mark_all_dirty();
2222}
2323
24static TILE_GET_INFO( get_zerozone_tile_info )
24TILE_GET_INFO_MEMBER(zerozone_state::get_zerozone_tile_info)
2525{
26   zerozone_state *state = machine.driver_data<zerozone_state>();
27   int tileno = state->m_vram[tile_index] & 0x07ff;
28   int colour = state->m_vram[tile_index] & 0xf000;
26   int tileno = m_vram[tile_index] & 0x07ff;
27   int colour = m_vram[tile_index] & 0xf000;
2928
30   if (state->m_vram[tile_index] & 0x0800)
31      tileno += state->m_tilebank * 0x800;
29   if (m_vram[tile_index] & 0x0800)
30      tileno += m_tilebank * 0x800;
3231
33   SET_TILE_INFO(0, tileno, colour >> 12, 0);
32   SET_TILE_INFO_MEMBER(0, tileno, colour >> 12, 0);
3433}
3534
3635void zerozone_state::video_start()
3736{
3837   // i'm not 100% sure it should be opaque, pink title screen looks strange in las vegas girls
3938   // but if its transparent other things look incorrect
40   m_zz_tilemap = tilemap_create(machine(), get_zerozone_tile_info, TILEMAP_SCAN_COLS, 8, 8, 64, 32);
39   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);
4140}
4241
4342UINT32 zerozone_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
trunk/src/mame/video/lemmings.c
r17673r17674
1818
1919/******************************************************************************/
2020
21static TILE_GET_INFO( get_tile_info )
21TILE_GET_INFO_MEMBER(lemmings_state::get_tile_info)
2222{
23   lemmings_state *state = machine.driver_data<lemmings_state>();
24   UINT16 tile = state->m_vram_data[tile_index];
23   UINT16 tile = m_vram_data[tile_index];
2524
26   SET_TILE_INFO(
25   SET_TILE_INFO_MEMBER(
2726         2,
2827         tile&0x7ff,
2928         (tile>>12)&0xf,
r17673r17674
3332VIDEO_START( lemmings )
3433{
3534   lemmings_state *state = machine.driver_data<lemmings_state>();
36   state->m_vram_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_COLS, 8, 8, 64, 32);
35   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);
3736
3837   state->m_vram_tilemap->set_transparent_pen(0);
3938   state->m_bitmap0.fill(0x100);
trunk/src/mame/video/pushman.c
r17673r17674
77
88***************************************************************************/
99
10static TILEMAP_MAPPER( background_scan_rows )
10TILEMAP_MAPPER_MEMBER(pushman_state::background_scan_rows)
1111{
1212   /* logical (col,row) -> memory offset */
1313   return ((col & 0x7)) + ((7 - (row & 0x7)) << 3) + ((col & 0x78) << 3) + ((0x38 - (row & 0x38)) << 7);
1414}
1515
16static TILE_GET_INFO( get_back_tile_info )
16TILE_GET_INFO_MEMBER(pushman_state::get_back_tile_info)
1717{
18   UINT8 *bg_map = machine.root_device().memregion("gfx4")->base();
18   UINT8 *bg_map = machine().root_device().memregion("gfx4")->base();
1919   int tile;
2020
2121   tile = bg_map[tile_index << 1] + (bg_map[(tile_index << 1) + 1] << 8);
22   SET_TILE_INFO(
22   SET_TILE_INFO_MEMBER(
2323         2,
2424         (tile & 0xff) | ((tile & 0x4000) >> 6),
2525         (tile >> 8) & 0xf,
2626         (tile & 0x2000) ? TILE_FLIPX : 0);
2727}
2828
29static TILE_GET_INFO( get_text_tile_info )
29TILE_GET_INFO_MEMBER(pushman_state::get_text_tile_info)
3030{
31   pushman_state *state = machine.driver_data<pushman_state>();
3231
33   int tile = state->m_videoram[tile_index];
34   SET_TILE_INFO(
32   int tile = m_videoram[tile_index];
33   SET_TILE_INFO_MEMBER(
3534         0,
3635         (tile & 0xff) | ((tile & 0xc000) >> 6) | ((tile & 0x2000) >> 3),
3736         (tile >> 8) & 0xf,
r17673r17674
5049{
5150   pushman_state *state = machine.driver_data<pushman_state>();
5251
53   state->m_bg_tilemap = tilemap_create(machine, get_back_tile_info, background_scan_rows, 32, 32, 128, 64);
54   state->m_tx_tilemap = tilemap_create(machine, get_text_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
52   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);
53   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);
5554
5655   state->m_tx_tilemap->set_transparent_pen(3);
5756}
trunk/src/mame/video/espial.c
r17673r17674
6666
6767***************************************************************************/
6868
69static TILE_GET_INFO( get_tile_info )
69TILE_GET_INFO_MEMBER(espial_state::get_tile_info)
7070{
71   espial_state *state = machine.driver_data<espial_state>();
72   UINT8 code = state->m_videoram[tile_index];
73   UINT8 col = state->m_colorram[tile_index];
74   UINT8 attr = state->m_attributeram[tile_index];
75   SET_TILE_INFO(0,
71   UINT8 code = m_videoram[tile_index];
72   UINT8 col = m_colorram[tile_index];
73   UINT8 attr = m_attributeram[tile_index];
74   SET_TILE_INFO_MEMBER(0,
7675              code | ((attr & 0x03) << 8),
7776              col & 0x3f,
7877              TILE_FLIPYX(attr >> 2));
r17673r17674
9089{
9190   espial_state *state = machine.driver_data<espial_state>();
9291
93   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
92   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);
9493   state->m_bg_tilemap->set_scroll_cols(32);
9594
9695   state->save_item(NAME(state->m_flipscreen));
r17673r17674
101100   espial_state *state = machine.driver_data<espial_state>();
102101
103102   /* Net Wars has a tile map that's twice as big as Espial's */
104   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 64);
103   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);
105104
106105   state->m_bg_tilemap->set_scroll_cols(32);
107106   state->m_bg_tilemap->set_scrolldy(0, 0x100);
trunk/src/mame/video/hyperspt.c
r17673r17674
111111   }
112112}
113113
114static TILE_GET_INFO( get_bg_tile_info )
114TILE_GET_INFO_MEMBER(hyperspt_state::get_bg_tile_info)
115115{
116   hyperspt_state *state = machine.driver_data<hyperspt_state>();
117   int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 0x80) << 1) + ((state->m_colorram[tile_index] & 0x40) << 3);
118   int color = state->m_colorram[tile_index] & 0x0f;
119   int flags = ((state->m_colorram[tile_index] & 0x10) ? TILE_FLIPX : 0) | ((state->m_colorram[tile_index] & 0x20) ? TILE_FLIPY : 0);
116   int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x80) << 1) + ((m_colorram[tile_index] & 0x40) << 3);
117   int color = m_colorram[tile_index] & 0x0f;
118   int flags = ((m_colorram[tile_index] & 0x10) ? TILE_FLIPX : 0) | ((m_colorram[tile_index] & 0x20) ? TILE_FLIPY : 0);
120119
121   SET_TILE_INFO(1, code, color, flags);
120   SET_TILE_INFO_MEMBER(1, code, color, flags);
122121}
123122
124123VIDEO_START( hyperspt )
125124{
126125   hyperspt_state *state = machine.driver_data<hyperspt_state>();
127126
128   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
127   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);
129128   state->m_bg_tilemap->set_scroll_rows(32);
130129}
131130
r17673r17674
191190}
192191
193192/* Road Fighter */
194static TILE_GET_INFO( roadf_get_bg_tile_info )
193TILE_GET_INFO_MEMBER(hyperspt_state::roadf_get_bg_tile_info)
195194{
196   hyperspt_state *state = machine.driver_data<hyperspt_state>();
197   int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 0x80) << 1) + ((state->m_colorram[tile_index] & 0x60) << 4);
198   int color = state->m_colorram[tile_index] & 0x0f;
199   int flags = (state->m_colorram[tile_index] & 0x10) ? TILE_FLIPX : 0;
195   int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x80) << 1) + ((m_colorram[tile_index] & 0x60) << 4);
196   int color = m_colorram[tile_index] & 0x0f;
197   int flags = (m_colorram[tile_index] & 0x10) ? TILE_FLIPX : 0;
200198
201   SET_TILE_INFO(1, code, color, flags);
199   SET_TILE_INFO_MEMBER(1, code, color, flags);
202200}
203201
204202VIDEO_START( roadf )
205203{
206204   hyperspt_state *state = machine.driver_data<hyperspt_state>();
207205
208   state->m_bg_tilemap = tilemap_create(machine, roadf_get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
206   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);
209207   state->m_bg_tilemap->set_scroll_rows(32);
210208}
trunk/src/mame/video/tiamc1.c
r17673r17674
111111   }
112112}
113113
114static TILE_GET_INFO( get_bg1_tile_info )
114TILE_GET_INFO_MEMBER(tiamc1_state::get_bg1_tile_info)
115115{
116   tiamc1_state *state = machine.driver_data<tiamc1_state>();
117   SET_TILE_INFO(0, state->m_tileram[tile_index], 0, 0);
116   SET_TILE_INFO_MEMBER(0, m_tileram[tile_index], 0, 0);
118117}
119118
120static TILE_GET_INFO( get_bg2_tile_info )
119TILE_GET_INFO_MEMBER(tiamc1_state::get_bg2_tile_info)
121120{
122   tiamc1_state *state = machine.driver_data<tiamc1_state>();
123   SET_TILE_INFO(0, state->m_tileram[tile_index + 1024], 0, 0);
121   SET_TILE_INFO_MEMBER(0, m_tileram[tile_index + 1024], 0, 0);
124122}
125123
126124VIDEO_START( tiamc1 )
r17673r17674
140138
141139   state_save_register_global_pointer(machine, video_ram, 0x3040);
142140
143   state->m_bg_tilemap1 = tilemap_create(machine, get_bg1_tile_info, TILEMAP_SCAN_ROWS,
141   state->m_bg_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tiamc1_state::get_bg1_tile_info),state), TILEMAP_SCAN_ROWS,
144142       8, 8, 32, 32);
145143
146   state->m_bg_tilemap2 = tilemap_create(machine, get_bg2_tile_info, TILEMAP_SCAN_ROWS,
144   state->m_bg_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tiamc1_state::get_bg2_tile_info),state), TILEMAP_SCAN_ROWS,
147145       8, 8, 32, 32);
148146
149147   state->m_bg_vshift = 0;
trunk/src/mame/video/toaplan1.c
r17673r17674
136136
137137***************************************************************************/
138138
139static TILE_GET_INFO( get_pf1_tile_info )
139TILE_GET_INFO_MEMBER(toaplan1_state::get_pf1_tile_info)
140140{
141   toaplan1_state *state = machine.driver_data<toaplan1_state>();
142141   int color, tile_number, attrib;
143142
144   tile_number = state->m_pf1_tilevram16[2*tile_index+1] & 0x7fff;
145   attrib = state->m_pf1_tilevram16[2*tile_index];
143   tile_number = m_pf1_tilevram16[2*tile_index+1] & 0x7fff;
144   attrib = m_pf1_tilevram16[2*tile_index];
146145   color = attrib & 0x3f;
147   SET_TILE_INFO(
146   SET_TILE_INFO_MEMBER(
148147         0,
149148         tile_number,
150149         color,
151150         0);
152   if (state->m_pf1_tilevram16[2*tile_index+1] & 0x8000) tileinfo.pen_data = state->m_empty_tile;
151   if (m_pf1_tilevram16[2*tile_index+1] & 0x8000) tileinfo.pen_data = m_empty_tile;
153152   tileinfo.category = (attrib & 0xf000) >> 12;
154153}
155154
156static TILE_GET_INFO( get_pf2_tile_info )
155TILE_GET_INFO_MEMBER(toaplan1_state::get_pf2_tile_info)
157156{
158   toaplan1_state *state = machine.driver_data<toaplan1_state>();
159157   int color, tile_number, attrib;
160158
161   tile_number = state->m_pf2_tilevram16[2*tile_index+1] & 0x7fff;
162   attrib = state->m_pf2_tilevram16[2*tile_index];
159   tile_number = m_pf2_tilevram16[2*tile_index+1] & 0x7fff;
160   attrib = m_pf2_tilevram16[2*tile_index];
163161   color = attrib & 0x3f;
164   SET_TILE_INFO(
162   SET_TILE_INFO_MEMBER(
165163         0,
166164         tile_number,
167165         color,
168166         0);
169   if (state->m_pf2_tilevram16[2*tile_index+1] & 0x8000) tileinfo.pen_data = state->m_empty_tile;
167   if (m_pf2_tilevram16[2*tile_index+1] & 0x8000) tileinfo.pen_data = m_empty_tile;
170168   tileinfo.category = (attrib & 0xf000) >> 12;
171169}
172170
173static TILE_GET_INFO( get_pf3_tile_info )
171TILE_GET_INFO_MEMBER(toaplan1_state::get_pf3_tile_info)
174172{
175   toaplan1_state *state = machine.driver_data<toaplan1_state>();
176173   int color, tile_number, attrib;
177174
178   tile_number = state->m_pf3_tilevram16[2*tile_index+1] & 0x7fff;
179   attrib = state->m_pf3_tilevram16[2*tile_index];
175   tile_number = m_pf3_tilevram16[2*tile_index+1] & 0x7fff;
176   attrib = m_pf3_tilevram16[2*tile_index];
180177   color = attrib & 0x3f;
181   SET_TILE_INFO(
178   SET_TILE_INFO_MEMBER(
182179         0,
183180         tile_number,
184181         color,
185182         0);
186   if (state->m_pf3_tilevram16[2*tile_index+1] & 0x8000) tileinfo.pen_data = state->m_empty_tile;
183   if (m_pf3_tilevram16[2*tile_index+1] & 0x8000) tileinfo.pen_data = m_empty_tile;
187184   tileinfo.category = (attrib & 0xf000) >> 12;
188185}
189186
190static TILE_GET_INFO( get_pf4_tile_info )
187TILE_GET_INFO_MEMBER(toaplan1_state::get_pf4_tile_info)
191188{
192   toaplan1_state *state = machine.driver_data<toaplan1_state>();
193189   int color, tile_number, attrib;
194190
195   tile_number = state->m_pf4_tilevram16[2*tile_index+1] & 0x7fff;
196   attrib = state->m_pf4_tilevram16[2*tile_index];
191   tile_number = m_pf4_tilevram16[2*tile_index+1] & 0x7fff;
192   attrib = m_pf4_tilevram16[2*tile_index];
197193   color = attrib & 0x3f;
198   SET_TILE_INFO(
194   SET_TILE_INFO_MEMBER(
199195         0,
200196         tile_number,
201197         color,
202198         0);
203   if (state->m_pf4_tilevram16[2*tile_index+1] & 0x8000) tileinfo.pen_data = state->m_empty_tile;
199   if (m_pf4_tilevram16[2*tile_index+1] & 0x8000) tileinfo.pen_data = m_empty_tile;
204200   tileinfo.category = (attrib & 0xf000) >> 12;
205201}
206202
r17673r17674
214210{
215211   toaplan1_state *state = machine.driver_data<toaplan1_state>();
216212
217   state->m_pf1_tilemap = tilemap_create(machine, get_pf1_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
218   state->m_pf2_tilemap = tilemap_create(machine, get_pf2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
219   state->m_pf3_tilemap = tilemap_create(machine, get_pf3_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
220   state->m_pf4_tilemap = tilemap_create(machine, get_pf4_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
213   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);
214   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);
215   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);
216   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);
221217
222218   state->m_pf1_tilemap->set_transparent_pen(0);
223219   state->m_pf2_tilemap->set_transparent_pen(0);
trunk/src/mame/video/segag80r.c
r17673r17674
150150 *
151151 *************************************/
152152
153static TILE_GET_INFO( spaceod_get_tile_info )
153TILE_GET_INFO_MEMBER(segag80r_state::spaceod_get_tile_info)
154154{
155   segag80r_state *state = machine.driver_data<segag80r_state>();
156   int code = state->memregion("gfx2")->base()[tile_index + 0x1000 * (state->m_spaceod_bg_control >> 6)];
157   SET_TILE_INFO(1, code + 0x100 * ((state->m_spaceod_bg_control >> 2) & 1), 0, 0);
155   int code = memregion("gfx2")->base()[tile_index + 0x1000 * (m_spaceod_bg_control >> 6)];
156   SET_TILE_INFO_MEMBER(1, code + 0x100 * ((m_spaceod_bg_control >> 2) & 1), 0, 0);
158157}
159158
160159
161static TILEMAP_MAPPER( spaceod_scan_rows )
160TILEMAP_MAPPER_MEMBER(segag80r_state::spaceod_scan_rows)
162161{
163162   /* this works for both horizontal and vertical tilemaps */
164163   /* which are 4 32x32 sections */
r17673r17674
166165}
167166
168167
169static TILE_GET_INFO( bg_get_tile_info )
168TILE_GET_INFO_MEMBER(segag80r_state::bg_get_tile_info)
170169{
171   segag80r_state *state = machine.driver_data<segag80r_state>();
172   int code = state->memregion("gfx2")->base()[tile_index];
173   SET_TILE_INFO(1, code + 0x100 * state->m_bg_char_bank, code >> 4, 0);
170   int code = memregion("gfx2")->base()[tile_index];
171   SET_TILE_INFO_MEMBER(1, code + 0x100 * m_bg_char_bank, code >> 4, 0);
174172}
175173
176174
r17673r17674
210208      /* and one vertically scrolling */
211209      case G80_BACKGROUND_SPACEOD:
212210         spaceod_bg_init_palette(machine);
213         state->m_spaceod_bg_htilemap = tilemap_create(machine, spaceod_get_tile_info, spaceod_scan_rows,  8,8, 128,32);
214         state->m_spaceod_bg_vtilemap = tilemap_create(machine, spaceod_get_tile_info, spaceod_scan_rows,  8,8, 32,128);
211         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);
212         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);
215213         break;
216214
217215      /* background tilemap is effectively 1 screen x n screens */
218216      case G80_BACKGROUND_MONSTERB:
219         state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info, TILEMAP_SCAN_ROWS,  8,8, 32,machine.root_device().memregion("gfx2")->bytes() / 32);
217         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);
220218         break;
221219
222220      /* background tilemap is effectively 4 screens x n screens */
223221      case G80_BACKGROUND_PIGNEWT:
224222      case G80_BACKGROUND_SINDBADM:
225         state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info, TILEMAP_SCAN_ROWS,  8,8, 128,machine.root_device().memregion("gfx2")->bytes() / 128);
223         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);
226224         break;
227225   }
228226
trunk/src/mame/video/tmnt.c
r17673r17674
22#include "video/konicdev.h"
33#include "includes/tmnt.h"
44
5static TILE_GET_INFO( glfgreat_get_roz_tile_info )
5TILE_GET_INFO_MEMBER(tmnt_state::glfgreat_get_roz_tile_info)
66{
7   tmnt_state *state = machine.driver_data<tmnt_state>();
8   UINT8 *rom = state->memregion("user1")->base();
7   UINT8 *rom = memregion("user1")->base();
98   int code;
109
11   tile_index += 0x40000 * state->m_glfgreat_roz_rom_bank;
10   tile_index += 0x40000 * m_glfgreat_roz_rom_bank;
1211
1312   code = rom[tile_index + 0x80000] + 256 * rom[tile_index] + 256 * 256 * ((rom[tile_index / 4 + 0x100000] >> (2 * (tile_index & 3))) & 3);
1413
15   SET_TILE_INFO(0, code & 0x3fff, code >> 14, 0);
14   SET_TILE_INFO_MEMBER(0, code & 0x3fff, code >> 14, 0);
1615}
1716
18static TILE_GET_INFO( prmrsocr_get_roz_tile_info )
17TILE_GET_INFO_MEMBER(tmnt_state::prmrsocr_get_roz_tile_info)
1918{
20   UINT8 *rom = machine.root_device().memregion("user1")->base();
19   UINT8 *rom = machine().root_device().memregion("user1")->base();
2120   int code = rom[tile_index + 0x20000] + 256 * rom[tile_index];
2221
23   SET_TILE_INFO(0, code & 0x1fff, code >> 13, 0);
22   SET_TILE_INFO_MEMBER(0, code & 0x1fff, code >> 13, 0);
2423}
2524
2625
r17673r17674
274273{
275274   tmnt_state *state = machine.driver_data<tmnt_state>();
276275
277   state->m_roz_tilemap = tilemap_create(machine, glfgreat_get_roz_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 512, 512);
276   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);
278277   state->m_roz_tilemap->set_transparent_pen(0);
279278
280279   state->m_glfgreat_roz_rom_bank = 0;
r17673r17674
289288{
290289   tmnt_state *state = machine.driver_data<tmnt_state>();
291290
292   state->m_roz_tilemap = tilemap_create(machine, prmrsocr_get_roz_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 512, 256);
291   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);
293292   state->m_roz_tilemap->set_transparent_pen(0);
294293
295294   state->m_prmrsocr_sprite_bank = 0;
trunk/src/mame/video/zodiack.c
r17673r17674
9999   colortable_entry_set_value(machine.colortable, 0x31, 0x30);
100100}
101101
102static TILE_GET_INFO( get_bg_tile_info )
102TILE_GET_INFO_MEMBER(zodiack_state::get_bg_tile_info)
103103{
104   zodiack_state *state = machine.driver_data<zodiack_state>();
105104
106   int code = state->m_videoram_2[tile_index];
107   int color = (state->m_attributeram[2 * (tile_index % 32) + 1] >> 4) & 0x07;
105   int code = m_videoram_2[tile_index];
106   int color = (m_attributeram[2 * (tile_index % 32) + 1] >> 4) & 0x07;
108107
109   SET_TILE_INFO(0, code, color, 0);
108   SET_TILE_INFO_MEMBER(0, code, color, 0);
110109}
111110
112static TILE_GET_INFO( get_fg_tile_info )
111TILE_GET_INFO_MEMBER(zodiack_state::get_fg_tile_info)
113112{
114   zodiack_state *state = machine.driver_data<zodiack_state>();
115113
116   int code = state->m_videoram[tile_index];
117   int color = state->m_attributeram[2 * (tile_index % 32) + 1] & 0x07;
114   int code = m_videoram[tile_index];
115   int color = m_attributeram[2 * (tile_index % 32) + 1] & 0x07;
118116
119   SET_TILE_INFO(3, code, color, 0);
117   SET_TILE_INFO_MEMBER(3, code, color, 0);
120118}
121119
122120void zodiack_state::video_start()
123121{
124   m_bg_tilemap = tilemap_create(machine(), get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
125   m_fg_tilemap = tilemap_create(machine(), get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
122   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);
123   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);
126124
127125   m_fg_tilemap->set_transparent_pen(0);
128126   m_fg_tilemap->set_scroll_cols(32);
trunk/src/mame/video/taitojc.c
r17673r17674
1313   16*64
1414};
1515
16static TILE_GET_INFO( taitojc_tile_info )
16TILE_GET_INFO_MEMBER(taitojc_state::taitojc_tile_info)
1717{
18   taitojc_state *state = machine.driver_data<taitojc_state>();
1918
20   UINT32 val = state->m_tile_ram[tile_index];
19   UINT32 val = m_tile_ram[tile_index];
2120   int color = (val >> 22) & 0xff;
2221   int tile = (val >> 2) & 0x7f;
23   SET_TILE_INFO(state->m_gfx_index, tile, color, 0);
22   SET_TILE_INFO_MEMBER(m_gfx_index, tile, color, 0);
2423}
2524
2625READ32_MEMBER(taitojc_state::taitojc_palette_r)
r17673r17674
312311
313312   assert(state->m_gfx_index != MAX_GFX_ELEMENTS);
314313
315   state->m_tilemap = tilemap_create(machine, taitojc_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
314   state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(taitojc_state::taitojc_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
316315
317316   state->m_tilemap->set_transparent_pen(0);
318317
trunk/src/mame/video/pitnrun.c
r17673r17674
2121
2222
2323
24static TILE_GET_INFO( get_tile_info1 )
24TILE_GET_INFO_MEMBER(pitnrun_state::get_tile_info1)
2525{
26   pitnrun_state *state = machine.driver_data<pitnrun_state>();
27   UINT8 *videoram = state->m_videoram;
26   UINT8 *videoram = m_videoram;
2827   int code;
2928   code = videoram[tile_index];
30   SET_TILE_INFO(
29   SET_TILE_INFO_MEMBER(
3130      0,
3231      code,
3332      0,
3433      0);
3534}
3635
37static TILE_GET_INFO( get_tile_info2 )
36TILE_GET_INFO_MEMBER(pitnrun_state::get_tile_info2)
3837{
39   pitnrun_state *state = machine.driver_data<pitnrun_state>();
4038   int code;
41   code = state->m_videoram2[tile_index];
42   SET_TILE_INFO(
39   code = m_videoram2[tile_index];
40   SET_TILE_INFO_MEMBER(
4341      1,
44      code + (state->m_char_bank<<8),
45      state->m_color_select&1,
42      code + (m_char_bank<<8),
43      m_color_select&1,
4644      0);
4745}
4846
r17673r17674
165163VIDEO_START(pitnrun)
166164{
167165   pitnrun_state *state = machine.driver_data<pitnrun_state>();
168   state->m_fg = tilemap_create( machine, get_tile_info1,TILEMAP_SCAN_ROWS,8,8,32,32 );
169   state->m_bg = tilemap_create( machine, get_tile_info2,TILEMAP_SCAN_ROWS,8,8,32*4,32 );
166   state->m_fg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pitnrun_state::get_tile_info1),state),TILEMAP_SCAN_ROWS,8,8,32,32 );
167   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 );
170168   state->m_fg->set_transparent_pen(0 );
171169   state->m_tmp_bitmap[0] = auto_bitmap_ind16_alloc(machine,128,128);
172170   state->m_tmp_bitmap[1] = auto_bitmap_ind16_alloc(machine,128,128);
trunk/src/mame/video/tehkanwc.c
r17673r17674
6262   m_led1 = data;
6363}
6464
65static TILE_GET_INFO( get_bg_tile_info )
65TILE_GET_INFO_MEMBER(tehkanwc_state::get_bg_tile_info)
6666{
67   tehkanwc_state *state = machine.driver_data<tehkanwc_state>();
6867   int offs = tile_index * 2;
69   int attr = state->m_videoram2[offs + 1];
70   int code = state->m_videoram2[offs] + ((attr & 0x30) << 4);
68   int attr = m_videoram2[offs + 1];
69   int code = m_videoram2[offs] + ((attr & 0x30) << 4);
7170   int color = attr & 0x0f;
7271   int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);
7372
74   SET_TILE_INFO(2, code, color, flags);
73   SET_TILE_INFO_MEMBER(2, code, color, flags);
7574}
7675
77static TILE_GET_INFO( get_fg_tile_info )
76TILE_GET_INFO_MEMBER(tehkanwc_state::get_fg_tile_info)
7877{
79   tehkanwc_state *state = machine.driver_data<tehkanwc_state>();
80   int attr = state->m_colorram[tile_index];
81   int code = state->m_videoram[tile_index] + ((attr & 0x10) << 4);
78   int attr = m_colorram[tile_index];
79   int code = m_videoram[tile_index] + ((attr & 0x10) << 4);
8280   int color = attr & 0x0f;
8381   int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);
8482
8583   tileinfo.category = (attr & 0x20) ? 0 : 1;
8684
87   SET_TILE_INFO(0, code, color, flags);
85   SET_TILE_INFO_MEMBER(0, code, color, flags);
8886}
8987
9088VIDEO_START( tehkanwc )
9189{
9290   tehkanwc_state *state = machine.driver_data<tehkanwc_state>();
93   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
91   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tehkanwc_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
9492       16, 8, 32, 32);
9593
96   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,
94   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tehkanwc_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,
9795       8, 8, 32, 32);
9896
9997   state->m_fg_tilemap->set_transparent_pen(0);
trunk/src/mame/video/bionicc.c
r17673r17674
3333
3434***************************************************************************/
3535
36static TILE_GET_INFO( get_bg_tile_info )
36TILE_GET_INFO_MEMBER(bionicc_state::get_bg_tile_info)
3737{
38   bionicc_state *state = machine.driver_data<bionicc_state>();
3938
40   int attr = state->m_bgvideoram[2 * tile_index + 1];
41   SET_TILE_INFO(
39   int attr = m_bgvideoram[2 * tile_index + 1];
40   SET_TILE_INFO_MEMBER(
4241         1,
43         (state->m_bgvideoram[2 * tile_index] & 0xff) + ((attr & 0x07) << 8),
42         (m_bgvideoram[2 * tile_index] & 0xff) + ((attr & 0x07) << 8),
4443         (attr & 0x18) >> 3,
4544         TILE_FLIPXY((attr & 0xc0) >> 6));
4645}
4746
48static TILE_GET_INFO( get_fg_tile_info )
47TILE_GET_INFO_MEMBER(bionicc_state::get_fg_tile_info)
4948{
50   bionicc_state *state = machine.driver_data<bionicc_state>();
5149
52   int attr = state->m_fgvideoram[2 * tile_index + 1];
50   int attr = m_fgvideoram[2 * tile_index + 1];
5351   int flags;
5452
5553   if ((attr & 0xc0) == 0xc0)
r17673r17674
6563      flags = TILE_FLIPXY((attr & 0xc0) >> 6);
6664   }
6765
68   SET_TILE_INFO(
66   SET_TILE_INFO_MEMBER(
6967         2,
70         (state->m_fgvideoram[2 * tile_index] & 0xff) + ((attr & 0x07) << 8),
68         (m_fgvideoram[2 * tile_index] & 0xff) + ((attr & 0x07) << 8),
7169         (attr & 0x18) >> 3,
7270         flags);
7371}
7472
75static TILE_GET_INFO( get_tx_tile_info )
73TILE_GET_INFO_MEMBER(bionicc_state::get_tx_tile_info)
7674{
77   bionicc_state *state = machine.driver_data<bionicc_state>();
7875
79   int attr = state->m_txvideoram[tile_index + 0x400];
80   SET_TILE_INFO(
76   int attr = m_txvideoram[tile_index + 0x400];
77   SET_TILE_INFO_MEMBER(
8178         0,
82         (state->m_txvideoram[tile_index] & 0xff) + ((attr & 0x00c0) << 2),
79         (m_txvideoram[tile_index] & 0xff) + ((attr & 0x00c0) << 2),
8380         attr & 0x3f,
8481         0);
8582}
r17673r17674
9693{
9794   bionicc_state *state = machine.driver_data<bionicc_state>();
9895
99   state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 32, 32);
100   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
101   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 64, 64);
96   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);
97   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);
98   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);
10299
103100   state->m_tx_tilemap->set_transparent_pen(3);
104101   state->m_fg_tilemap->set_transmask(0, 0xffff, 0x8000); /* split type 0 is completely transparent in front half */
trunk/src/mame/video/citycon.c
r17673r17674
1616
1717***************************************************************************/
1818
19static TILEMAP_MAPPER( citycon_scan )
19TILEMAP_MAPPER_MEMBER(citycon_state::citycon_scan)
2020{
2121   /* logical (col,row) -> memory offset */
2222   return (col & 0x1f) + ((row & 0x1f) << 5) + ((col & 0x60) << 5);
2323}
2424
25static TILE_GET_INFO( get_fg_tile_info )
25TILE_GET_INFO_MEMBER(citycon_state::get_fg_tile_info)
2626{
27   citycon_state *state = machine.driver_data<citycon_state>();
28   SET_TILE_INFO(
27   SET_TILE_INFO_MEMBER(
2928         0,
30         state->m_videoram[tile_index],
29         m_videoram[tile_index],
3130         (tile_index & 0x03e0) >> 5,   /* color depends on scanline only */
3231         0);
3332}
3433
35static TILE_GET_INFO( get_bg_tile_info )
34TILE_GET_INFO_MEMBER(citycon_state::get_bg_tile_info)
3635{
37   citycon_state *state = machine.driver_data<citycon_state>();
38   UINT8 *rom = state->memregion("gfx4")->base();
39   int code = rom[0x1000 * state->m_bg_image + tile_index];
40   SET_TILE_INFO(
41         3 + state->m_bg_image,
36   UINT8 *rom = memregion("gfx4")->base();
37   int code = rom[0x1000 * m_bg_image + tile_index];
38   SET_TILE_INFO_MEMBER(
39         3 + m_bg_image,
4240         code,
43         rom[0xc000 + 0x100 * state->m_bg_image + code],
41         rom[0xc000 + 0x100 * m_bg_image + code],
4442         0);
4543}
4644
r17673r17674
5553VIDEO_START( citycon )
5654{
5755   citycon_state *state = machine.driver_data<citycon_state>();
58   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, citycon_scan, 8, 8, 128, 32);
59   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, citycon_scan, 8, 8, 128, 32);
56   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);
57   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);
6058
6159   state->m_fg_tilemap->set_transparent_pen(0);
6260   state->m_fg_tilemap->set_scroll_rows(32);
trunk/src/mame/video/suprridr.c
r17673r17674
1414 *
1515 *************************************/
1616
17static TILE_GET_INFO( get_tile_info )
17TILE_GET_INFO_MEMBER(suprridr_state::get_tile_info)
1818{
19   suprridr_state *state = machine.driver_data<suprridr_state>();
20   UINT8 code = state->m_bgram[tile_index];
21   SET_TILE_INFO(0, code, 0, 0);
19   UINT8 code = m_bgram[tile_index];
20   SET_TILE_INFO_MEMBER(0, code, 0, 0);
2221}
2322
2423
25static TILE_GET_INFO( get_tile_info2 )
24TILE_GET_INFO_MEMBER(suprridr_state::get_tile_info2)
2625{
27   suprridr_state *state = machine.driver_data<suprridr_state>();
28   UINT8 code = state->m_fgram[tile_index];
29   SET_TILE_INFO(1, code, 0, 0);
26   UINT8 code = m_fgram[tile_index];
27   SET_TILE_INFO_MEMBER(1, code, 0, 0);
3028}
3129
3230
r17673r17674
4038VIDEO_START( suprridr )
4139{
4240   suprridr_state *state = machine.driver_data<suprridr_state>();
43   state->m_fg_tilemap          = tilemap_create(machine, get_tile_info2, TILEMAP_SCAN_ROWS,  8,8, 32,32);
44   state->m_bg_tilemap          = tilemap_create(machine, get_tile_info,  TILEMAP_SCAN_ROWS,       8,8, 32,32);
45   state->m_bg_tilemap_noscroll = tilemap_create(machine, get_tile_info,  TILEMAP_SCAN_ROWS,       8,8, 32,32);
41   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);
42   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);
43   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);
4644
4745   state->m_fg_tilemap->set_transparent_pen(0);
4846}
trunk/src/mame/video/psikyo.c
r17673r17674
7171
7272***************************************************************************/
7373
74static TILE_GET_INFO( get_tile_info_0 )
74TILE_GET_INFO_MEMBER(psikyo_state::get_tile_info_0)
7575{
76   psikyo_state *state = machine.driver_data<psikyo_state>();
77   UINT16 code = ((UINT16 *)state->m_vram_0.target())[BYTE_XOR_BE(tile_index)];
78   SET_TILE_INFO(
76   UINT16 code = ((UINT16 *)m_vram_0.target())[BYTE_XOR_BE(tile_index)];
77   SET_TILE_INFO_MEMBER(
7978         1,
80         (code & 0x1fff) + 0x2000 * state->m_tilemap_0_bank,
79         (code & 0x1fff) + 0x2000 * m_tilemap_0_bank,
8180         (code >> 13) & 7,
8281         0);
8382}
8483
85static TILE_GET_INFO( get_tile_info_1 )
84TILE_GET_INFO_MEMBER(psikyo_state::get_tile_info_1)
8685{
87   psikyo_state *state = machine.driver_data<psikyo_state>();
88   UINT16 code = ((UINT16 *)state->m_vram_1.target())[BYTE_XOR_BE(tile_index)];
89   SET_TILE_INFO(
86   UINT16 code = ((UINT16 *)m_vram_1.target())[BYTE_XOR_BE(tile_index)];
87   SET_TILE_INFO_MEMBER(
9088         1,
91         (code & 0x1fff) + 0x2000 * state->m_tilemap_1_bank,
89         (code & 0x1fff) + 0x2000 * m_tilemap_1_bank,
9290         ((code >> 13) & 7) + 0x40, // So we only have to decode the gfx once.
9391         0);
9492}
r17673r17674
166164   /* The Hardware is Capable of Changing the Dimensions of the Tilemaps, its safer to create
167165       the various sized tilemaps now as opposed to later */
168166
169   state->m_tilemap_0_size0 = tilemap_create(machine, get_tile_info_0, TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x80);
170   state->m_tilemap_0_size1 = tilemap_create(machine, get_tile_info_0, TILEMAP_SCAN_ROWS, 16, 16, 0x40, 0x40);
171   state->m_tilemap_0_size2 = tilemap_create(machine, get_tile_info_0, TILEMAP_SCAN_ROWS, 16, 16, 0x80, 0x20);
172   state->m_tilemap_0_size3 = tilemap_create(machine, get_tile_info_0, TILEMAP_SCAN_ROWS, 16, 16, 0x100, 0x10);
167   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);
168   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);
169   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);
170   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);
173171
174   state->m_tilemap_1_size0 = tilemap_create(machine, get_tile_info_1, TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x80);
175   state->m_tilemap_1_size1 = tilemap_create(machine, get_tile_info_1, TILEMAP_SCAN_ROWS, 16, 16, 0x40, 0x40);
176   state->m_tilemap_1_size2 = tilemap_create(machine, get_tile_info_1, TILEMAP_SCAN_ROWS, 16, 16, 0x80, 0x20);
177   state->m_tilemap_1_size3 = tilemap_create(machine, get_tile_info_1, TILEMAP_SCAN_ROWS, 16, 16, 0x100, 0x10);
172   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);
173   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);
174   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);
175   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);
178176
179177   state->m_spritebuf1 = auto_alloc_array(machine, UINT32, 0x2000 / 4);
180178   state->m_spritebuf2 = auto_alloc_array(machine, UINT32, 0x2000 / 4);
trunk/src/mame/video/ampoker2.c
r17673r17674
119119   m_bg_tilemap->mark_tile_dirty(offset / 2);
120120}
121121
122static TILE_GET_INFO( get_bg_tile_info )
122TILE_GET_INFO_MEMBER(ampoker2_state::get_bg_tile_info)
123123{
124   ampoker2_state *state = machine.driver_data<ampoker2_state>();
125   UINT8 *videoram = state->m_videoram;
124   UINT8 *videoram = m_videoram;
126125   int offs = tile_index * 2;
127126   int attr = videoram[offs + 1];
128127   int code = videoram[offs];
r17673r17674
130129   code = code + (256 * (color & 0x03));   /* code = color.bit1 + color.bit0 + code */
131130   color = color >> 1;                       /* color = color - bit0 (bit1..bit7) */
132131
133   SET_TILE_INFO(0, code, color, 0);
132   SET_TILE_INFO_MEMBER(0, code, color, 0);
134133}
135134
136static TILE_GET_INFO( s2k_get_bg_tile_info )
135TILE_GET_INFO_MEMBER(ampoker2_state::s2k_get_bg_tile_info)
137136{
138   ampoker2_state *state = machine.driver_data<ampoker2_state>();
139   UINT8 *videoram = state->m_videoram;
137   UINT8 *videoram = m_videoram;
140138   int offs = tile_index * 2;
141139   int attr = videoram[offs + 1];
142140   int code = videoram[offs];
r17673r17674
144142   code = code + (256 * (color & 0x0f));   /* the game uses 2 extra bits */
145143   color = color >> 1;
146144
147   SET_TILE_INFO(0, code, color, 0);
145   SET_TILE_INFO_MEMBER(0, code, color, 0);
148146}
149147
150148VIDEO_START(ampoker2)
151149{
152150   ampoker2_state *state = machine.driver_data<ampoker2_state>();
153   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
151   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ampoker2_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
154152       8, 8, 64, 32);
155153}
156154
157155VIDEO_START(sigma2k)
158156{
159157   ampoker2_state *state = machine.driver_data<ampoker2_state>();
160   state->m_bg_tilemap = tilemap_create(machine, s2k_get_bg_tile_info, TILEMAP_SCAN_ROWS,
158   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ampoker2_state::s2k_get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
161159       8, 8, 64, 32);
162160}
163161
trunk/src/mame/video/playmark.c
r17673r17674
88
99***************************************************************************/
1010
11static TILE_GET_INFO( bigtwin_get_tx_tile_info )
11TILE_GET_INFO_MEMBER(playmark_state::bigtwin_get_tx_tile_info)
1212{
13   playmark_state *state = machine.driver_data<playmark_state>();
14   UINT16 code = state->m_videoram1[2 * tile_index];
15   UINT16 color = state->m_videoram1[2 * tile_index + 1];
16   SET_TILE_INFO(
13   UINT16 code = m_videoram1[2 * tile_index];
14   UINT16 color = m_videoram1[2 * tile_index + 1];
15   SET_TILE_INFO_MEMBER(
1716         2,
1817         code,
1918         color,
2019         0);
2120}
2221
23static TILE_GET_INFO( bigtwin_get_fg_tile_info )
22TILE_GET_INFO_MEMBER(playmark_state::bigtwin_get_fg_tile_info)
2423{
25   playmark_state *state = machine.driver_data<playmark_state>();
26   UINT16 code = state->m_videoram2[2 * tile_index];
27   UINT16 color = state->m_videoram2[2 * tile_index + 1];
28   SET_TILE_INFO(
24   UINT16 code = m_videoram2[2 * tile_index];
25   UINT16 color = m_videoram2[2 * tile_index + 1];
26   SET_TILE_INFO_MEMBER(
2927         1,
3028         code,
3129         color,
3230         0);
3331}
3432
35static TILE_GET_INFO( wbeachvl_get_tx_tile_info )
33TILE_GET_INFO_MEMBER(playmark_state::wbeachvl_get_tx_tile_info)
3634{
37   playmark_state *state = machine.driver_data<playmark_state>();
38   UINT16 code = state->m_videoram1[2 * tile_index];
39   UINT16 color = state->m_videoram1[2 * tile_index + 1];
35   UINT16 code = m_videoram1[2 * tile_index];
36   UINT16 color = m_videoram1[2 * tile_index + 1];
4037
41   SET_TILE_INFO(
38   SET_TILE_INFO_MEMBER(
4239         2,
4340         code,
4441         color / 4,
4542         0);
4643}
4744
48static TILE_GET_INFO( wbeachvl_get_fg_tile_info )
45TILE_GET_INFO_MEMBER(playmark_state::wbeachvl_get_fg_tile_info)
4946{
50   playmark_state *state = machine.driver_data<playmark_state>();
51   UINT16 code = state->m_videoram2[2 * tile_index];
52   UINT16 color = state->m_videoram2[2 * tile_index + 1];
47   UINT16 code = m_videoram2[2 * tile_index];
48   UINT16 color = m_videoram2[2 * tile_index + 1];
5349
54   SET_TILE_INFO(
50   SET_TILE_INFO_MEMBER(
5551         1,
5652         code & 0x7fff,
5753         color / 4 + 8,
5854         (code & 0x8000) ? TILE_FLIPX : 0);
5955}
6056
61static TILE_GET_INFO( wbeachvl_get_bg_tile_info )
57TILE_GET_INFO_MEMBER(playmark_state::wbeachvl_get_bg_tile_info)
6258{
63   playmark_state *state = machine.driver_data<playmark_state>();
64   UINT16 code = state->m_videoram3[2 * tile_index];
65   UINT16 color = state->m_videoram3[2 * tile_index + 1];
59   UINT16 code = m_videoram3[2 * tile_index];
60   UINT16 color = m_videoram3[2 * tile_index + 1];
6661
67   SET_TILE_INFO(
62   SET_TILE_INFO_MEMBER(
6863         1,
6964         code & 0x7fff,
7065         color / 4,
7166         (code & 0x8000) ? TILE_FLIPX : 0);
7267}
7368
74static TILE_GET_INFO( hrdtimes_get_tx_tile_info )
69TILE_GET_INFO_MEMBER(playmark_state::hrdtimes_get_tx_tile_info)
7570{
76   playmark_state *state = machine.driver_data<playmark_state>();
77   int code = state->m_videoram1[tile_index] & 0x03ff;
78   int colr = state->m_videoram1[tile_index] & 0xe000;
71   int code = m_videoram1[tile_index] & 0x03ff;
72   int colr = m_videoram1[tile_index] & 0xe000;
7973
80   SET_TILE_INFO(2,code + state->m_txt_tile_offset, colr >> 13, 0);
74   SET_TILE_INFO_MEMBER(2,code + m_txt_tile_offset, colr >> 13, 0);
8175}
8276
83static TILE_GET_INFO( bigtwinb_get_tx_tile_info )
77TILE_GET_INFO_MEMBER(playmark_state::bigtwinb_get_tx_tile_info)
8478{
85   playmark_state *state = machine.driver_data<playmark_state>();
86   int code = state->m_videoram1[tile_index] & 0x0fff;
87   int colr = state->m_videoram1[tile_index] & 0xf000;
79   int code = m_videoram1[tile_index] & 0x0fff;
80   int colr = m_videoram1[tile_index] & 0xf000;
8881
89   SET_TILE_INFO(2,code + state->m_txt_tile_offset, colr >> 12, 0);
82   SET_TILE_INFO_MEMBER(2,code + m_txt_tile_offset, colr >> 12, 0);
9083}
9184
92static TILE_GET_INFO( hrdtimes_get_fg_tile_info )
85TILE_GET_INFO_MEMBER(playmark_state::hrdtimes_get_fg_tile_info)
9386{
94   playmark_state *state = machine.driver_data<playmark_state>();
95   int code = state->m_videoram2[tile_index] & 0x1fff;
96   int colr = state->m_videoram2[tile_index] & 0xe000;
87   int code = m_videoram2[tile_index] & 0x1fff;
88   int colr = m_videoram2[tile_index] & 0xe000;
9789
98   SET_TILE_INFO(1,code + 0x2000,(colr >> 13) + 8,0);
90   SET_TILE_INFO_MEMBER(1,code + 0x2000,(colr >> 13) + 8,0);
9991}
10092
101static TILE_GET_INFO( hrdtimes_get_bg_tile_info )
93TILE_GET_INFO_MEMBER(playmark_state::hrdtimes_get_bg_tile_info)
10294{
103   playmark_state *state = machine.driver_data<playmark_state>();
104   int code = state->m_videoram3[tile_index] & 0x1fff;
105   int colr = state->m_videoram3[tile_index] & 0xe000;
95   int code = m_videoram3[tile_index] & 0x1fff;
96   int colr = m_videoram3[tile_index] & 0xe000;
10697
107   SET_TILE_INFO(1, code, colr >> 13, 0);
98   SET_TILE_INFO_MEMBER(1, code, colr >> 13, 0);
10899}
109100
110101/***************************************************************************
r17673r17674
117108{
118109   playmark_state *state = machine.driver_data<playmark_state>();
119110
120   state->m_tx_tilemap = tilemap_create(machine, bigtwin_get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
121   state->m_fg_tilemap = tilemap_create(machine, bigtwin_get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
111   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);
112   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);
122113
123114   state->m_tx_tilemap->set_transparent_pen(0);
124115
r17673r17674
136127{
137128   playmark_state *state = machine.driver_data<playmark_state>();
138129
139   state->m_tx_tilemap = tilemap_create(machine, bigtwinb_get_tx_tile_info,TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
140   state->m_fg_tilemap = tilemap_create(machine, hrdtimes_get_fg_tile_info,TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
141   state->m_bg_tilemap = tilemap_create(machine, hrdtimes_get_bg_tile_info,TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
130   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);
131   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);
132   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);
142133
143134   state->m_tx_tilemap->set_transparent_pen(0);
144135   state->m_fg_tilemap->set_transparent_pen(0);
r17673r17674
159150{
160151   playmark_state *state = machine.driver_data<playmark_state>();
161152
162   state->m_tx_tilemap = tilemap_create(machine, wbeachvl_get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
163   state->m_fg_tilemap = tilemap_create(machine, wbeachvl_get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
164   state->m_bg_tilemap = tilemap_create(machine, wbeachvl_get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
153   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);
154   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);
155   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);
165156
166157   state->m_tx_tilemap->set_transparent_pen(0);
167158   state->m_fg_tilemap->set_transparent_pen(0);
r17673r17674
179170{
180171   playmark_state *state = machine.driver_data<playmark_state>();
181172
182   state->m_tx_tilemap = tilemap_create(machine, bigtwin_get_tx_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
183   state->m_fg_tilemap = tilemap_create(machine, bigtwin_get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
173   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);
174   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);
184175
185176   state->m_tx_tilemap->set_transparent_pen(0);
186177
r17673r17674
197188{
198189   playmark_state *state = machine.driver_data<playmark_state>();
199190
200   state->m_tx_tilemap = tilemap_create(machine, hrdtimes_get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
201   state->m_fg_tilemap = tilemap_create(machine, hrdtimes_get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
202   state->m_bg_tilemap = tilemap_create(machine, hrdtimes_get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
191   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);
192   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);
193   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);
203194
204195   state->m_tx_tilemap->set_transparent_pen(0);
205196   state->m_fg_tilemap->set_transparent_pen(0);
r17673r17674
221212{
222213   playmark_state *state = machine.driver_data<playmark_state>();
223214
224   state->m_tx_tilemap = tilemap_create(machine, hrdtimes_get_tx_tile_info,TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
225   state->m_fg_tilemap = tilemap_create(machine, hrdtimes_get_fg_tile_info,TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
226   state->m_bg_tilemap = tilemap_create(machine, hrdtimes_get_bg_tile_info,TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
215   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);
216   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);
217   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);
227218
228219   state->m_tx_tilemap->set_transparent_pen(0);
229220   state->m_fg_tilemap->set_transparent_pen(0);
trunk/src/mame/video/esd16.c
r17673r17674
5050
5151***************************************************************************/
5252
53static TILE_GET_INFO( get_tile_info_0 )
53TILE_GET_INFO_MEMBER(esd16_state::get_tile_info_0)
5454{
55   esd16_state *state = machine.driver_data<esd16_state>();
56   UINT16 code = state->m_vram_0[tile_index];
57   SET_TILE_INFO(
55   UINT16 code = m_vram_0[tile_index];
56   SET_TILE_INFO_MEMBER(
5857         1,
5958         code,
60         state->m_tilemap0_color,
59         m_tilemap0_color,
6160         0);
6261}
6362
64static TILE_GET_INFO( get_tile_info_0_16x16 )
63TILE_GET_INFO_MEMBER(esd16_state::get_tile_info_0_16x16)
6564{
66   esd16_state *state = machine.driver_data<esd16_state>();
67   UINT16 code = state->m_vram_0[tile_index];
68   SET_TILE_INFO(
65   UINT16 code = m_vram_0[tile_index];
66   SET_TILE_INFO_MEMBER(
6967         2,
7068         code,
71         state->m_tilemap0_color,
69         m_tilemap0_color,
7270         0);
7371}
7472
7573
76static TILE_GET_INFO( get_tile_info_1 )
74TILE_GET_INFO_MEMBER(esd16_state::get_tile_info_1)
7775{
78   esd16_state *state = machine.driver_data<esd16_state>();
79   UINT16 code = state->m_vram_1[tile_index];
80   SET_TILE_INFO(
76   UINT16 code = m_vram_1[tile_index];
77   SET_TILE_INFO_MEMBER(
8178         1,
8279         code,
83         state->m_tilemap1_color,
80         m_tilemap1_color,
8481         0);
8582}
8683
87static TILE_GET_INFO( get_tile_info_1_16x16 )
84TILE_GET_INFO_MEMBER(esd16_state::get_tile_info_1_16x16)
8885{
89   esd16_state *state = machine.driver_data<esd16_state>();
90   UINT16 code = state->m_vram_1[tile_index];
91   SET_TILE_INFO(
86   UINT16 code = m_vram_1[tile_index];
87   SET_TILE_INFO_MEMBER(
9288         2,
9389         code,
94         state->m_tilemap1_color,
90         m_tilemap1_color,
9591         0);
9692}
9793
r17673r17674
141137{
142138   esd16_state *state = machine.driver_data<esd16_state>();
143139
144   state->m_tilemap_0 = tilemap_create(   machine, get_tile_info_0, TILEMAP_SCAN_ROWS, 8, 8, 0x80, 0x40);
145   state->m_tilemap_1 = tilemap_create(   machine, get_tile_info_1, TILEMAP_SCAN_ROWS, 8, 8, 0x80, 0x40);
140   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);
141   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);
146142
147143   /* swatpolc changes tilemap 0 to 16x16 at various times */
148   state->m_tilemap_0_16x16 = tilemap_create(machine, get_tile_info_0_16x16, TILEMAP_SCAN_ROWS, 16,16, 0x40, 0x40);
144   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);
149145
150146   /* hedpanic changes tilemap 1 to 16x16 at various times */
151   state->m_tilemap_1_16x16 = tilemap_create(machine, get_tile_info_1_16x16, TILEMAP_SCAN_ROWS, 16,16, 0x40, 0x40);
147   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);
152148
153149   state->m_tilemap_0->set_scrolldx(-0x60 + 2, -0x60);
154150   state->m_tilemap_1->set_scrolldx(-0x60, -0x60 + 2);
trunk/src/mame/video/pgm.c
r17673r17674
561561   m_tx_tilemap->mark_tile_dirty(offset / 2);
562562}
563563
564static TILE_GET_INFO( get_pgm_tx_tilemap_tile_info )
564TILE_GET_INFO_MEMBER(pgm_state::get_pgm_tx_tilemap_tile_info)
565565{
566566
567567/* 0x904000 - 0x90ffff is the Text Overlay Ram (pgm_tx_videoram)
r17673r17674
578578    p = palette
579579    f = flip
580580*/
581   pgm_state *state = machine.driver_data<pgm_state>();
582581   int tileno, colour, flipyx; //,game;
583582
584   tileno = state->m_tx_videoram[tile_index * 2] & 0xffff;
585   colour = (state->m_tx_videoram[tile_index * 2 + 1] & 0x3e) >> 1;
586   flipyx = (state->m_tx_videoram[tile_index * 2 + 1] & 0xc0) >> 6;
583   tileno = m_tx_videoram[tile_index * 2] & 0xffff;
584   colour = (m_tx_videoram[tile_index * 2 + 1] & 0x3e) >> 1;
585   flipyx = (m_tx_videoram[tile_index * 2 + 1] & 0xc0) >> 6;
587586
588   SET_TILE_INFO(0,tileno,colour,TILE_FLIPYX(flipyx));
587   SET_TILE_INFO_MEMBER(0,tileno,colour,TILE_FLIPYX(flipyx));
589588}
590589
591590/* BG Layer */
r17673r17674
596595   m_bg_tilemap->mark_tile_dirty(offset / 2);
597596}
598597
599static TILE_GET_INFO( get_pgm_bg_tilemap_tile_info )
598TILE_GET_INFO_MEMBER(pgm_state::get_pgm_bg_tilemap_tile_info)
600599{
601600   /* pretty much the same as tx layer */
602601
603   pgm_state *state = machine.driver_data<pgm_state>();
604602   int tileno, colour, flipyx;
605603
606   tileno = state->m_bg_videoram[tile_index *2] & 0xffff;
604   tileno = m_bg_videoram[tile_index *2] & 0xffff;
607605
608   colour = (state->m_bg_videoram[tile_index * 2 + 1] & 0x3e) >> 1;
609   flipyx = (state->m_bg_videoram[tile_index * 2 + 1] & 0xc0) >> 6;
606   colour = (m_bg_videoram[tile_index * 2 + 1] & 0x3e) >> 1;
607   flipyx = (m_bg_videoram[tile_index * 2 + 1] & 0xc0) >> 6;
610608
611   SET_TILE_INFO(1,tileno,colour,TILE_FLIPYX(flipyx));
609   SET_TILE_INFO_MEMBER(1,tileno,colour,TILE_FLIPYX(flipyx));
612610}
613611
614612
r17673r17674
625623   state->m_aoffset = 0;
626624   state->m_boffset = 0;
627625
628   state->m_tx_tilemap = tilemap_create(machine, get_pgm_tx_tilemap_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
626   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);
629627   state->m_tx_tilemap->set_transparent_pen(15);
630628
631   state->m_bg_tilemap = tilemap_create(machine, get_pgm_bg_tilemap_tile_info, TILEMAP_SCAN_ROWS, 32, 32, 64, 16);
629   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);
632630   state->m_bg_tilemap->set_transparent_pen(31);
633631   state->m_bg_tilemap->set_scroll_rows(16 * 32);
634632
trunk/src/mame/video/iqblock.c
r17673r17674
88
99***************************************************************************/
1010
11static TILE_GET_INFO( get_bg_tile_info )
11TILE_GET_INFO_MEMBER(iqblock_state::get_bg_tile_info)
1212{
13   iqblock_state *state = machine.driver_data<iqblock_state>();
14   int code = state->m_bgvideoram[tile_index] + (state->m_bgvideoram[tile_index + 0x800] << 8);
15   SET_TILE_INFO(
13   int code = m_bgvideoram[tile_index] + (m_bgvideoram[tile_index + 0x800] << 8);
14   SET_TILE_INFO_MEMBER(
1615         0,
17         code &(state->m_video_type ? 0x1fff : 0x3fff),
18         state->m_video_type? (2*(code >> 13)+1) : (4*(code >> 14)+3),
16         code &(m_video_type ? 0x1fff : 0x3fff),
17         m_video_type? (2*(code >> 13)+1) : (4*(code >> 14)+3),
1918         0);
2019}
2120
22static TILE_GET_INFO( get_fg_tile_info )
21TILE_GET_INFO_MEMBER(iqblock_state::get_fg_tile_info)
2322{
24   iqblock_state *state = machine.driver_data<iqblock_state>();
25   int code = state->m_fgvideoram[tile_index];
26   SET_TILE_INFO(
23   int code = m_fgvideoram[tile_index];
24   SET_TILE_INFO_MEMBER(
2725         1,
2826         code & 0x7f,
2927         (code & 0x80) ? 3 : 0,
r17673r17674
4139VIDEO_START( iqblock )
4240{
4341   iqblock_state *state = machine.driver_data<iqblock_state>();
44   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS,     8, 8,64,32);
45   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,8,32,64, 8);
42   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);
43   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);
4644
4745   state->m_bg_tilemap->set_transparent_pen(0);
4846   state->m_fg_tilemap->set_scroll_cols(64);
trunk/src/mame/video/darius.c
r17673r17674
1616         TILE_FLIPYX((attr & 0xc000) >> 14));
1717}
1818
19static TILE_GET_INFO( get_fg_tile_info )
19TILE_GET_INFO_MEMBER(darius_state::get_fg_tile_info)
2020{
21   darius_state *state = machine.driver_data<darius_state>();
22   actual_get_fg_tile_info(machine, tileinfo, tile_index, state->m_fg_ram, 2);
21   actual_get_fg_tile_info(machine(), tileinfo, tile_index, m_fg_ram, 2);
2322}
2423
2524/***************************************************************************/
r17673r17674
2827{
2928   darius_state *state = machine.driver_data<darius_state>();
3029
31   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,8,8,128,64);
30   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);
3231
3332   state->m_fg_tilemap->set_transparent_pen(0);
3433}
trunk/src/mame/video/cbasebal.c
r17673r17674
88
99***************************************************************************/
1010
11static TILE_GET_INFO( get_bg_tile_info )
11TILE_GET_INFO_MEMBER(cbasebal_state::get_bg_tile_info)
1212{
13   cbasebal_state *state = machine.driver_data<cbasebal_state>();
14   UINT8 attr = state->m_scrollram[2 * tile_index + 1];
15   SET_TILE_INFO(
13   UINT8 attr = m_scrollram[2 * tile_index + 1];
14   SET_TILE_INFO_MEMBER(
1615         1,
17         state->m_scrollram[2 * tile_index] + ((attr & 0x07) << 8) + 0x800 * state->m_tilebank,
16         m_scrollram[2 * tile_index] + ((attr & 0x07) << 8) + 0x800 * m_tilebank,
1817         (attr & 0xf0) >> 4,
1918         (attr & 0x08) ? TILE_FLIPX : 0);
2019}
2120
22static TILE_GET_INFO( get_fg_tile_info )
21TILE_GET_INFO_MEMBER(cbasebal_state::get_fg_tile_info)
2322{
24   cbasebal_state *state = machine.driver_data<cbasebal_state>();
25   UINT8 attr = state->m_textram[tile_index + 0x800];
26   SET_TILE_INFO(
23   UINT8 attr = m_textram[tile_index + 0x800];
24   SET_TILE_INFO_MEMBER(
2725         0,
28         state->m_textram[tile_index] + ((attr & 0xf0) << 4),
26         m_textram[tile_index] + ((attr & 0xf0) << 4),
2927         attr & 0x07,
3028         (attr & 0x08) ? TILE_FLIPX : 0);
3129}
r17673r17674
4543   state->m_textram = auto_alloc_array(machine, UINT8, 0x1000);
4644   state->m_scrollram = auto_alloc_array(machine, UINT8, 0x1000);
4745
48   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
49   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
46   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);
47   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);
5048
5149   state->m_fg_tilemap->set_transparent_pen(3);
5250
trunk/src/mame/video/sbasketb.c
r17673r17674
116116   }
117117}
118118
119static TILE_GET_INFO( get_bg_tile_info )
119TILE_GET_INFO_MEMBER(sbasketb_state::get_bg_tile_info)
120120{
121   sbasketb_state *state = machine.driver_data<sbasketb_state>();
122   int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 0x20) << 3);
123   int color = state->m_colorram[tile_index] & 0x0f;
124   int flags = ((state->m_colorram[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((state->m_colorram[tile_index] & 0x80) ? TILE_FLIPY : 0);
121   int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x20) << 3);
122   int color = m_colorram[tile_index] & 0x0f;
123   int flags = ((m_colorram[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((m_colorram[tile_index] & 0x80) ? TILE_FLIPY : 0);
125124
126   SET_TILE_INFO(0, code, color, flags);
125   SET_TILE_INFO_MEMBER(0, code, color, flags);
127126}
128127
129128VIDEO_START( sbasketb )
130129{
131130   sbasketb_state *state = machine.driver_data<sbasketb_state>();
132131
133   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
132   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);
134133   state->m_bg_tilemap->set_scroll_cols(32);
135134}
136135
trunk/src/mame/video/ksayakyu.c
r17673r17674
4545   }
4646}
4747
48static TILE_GET_INFO( get_ksayakyu_tile_info )
48TILE_GET_INFO_MEMBER(ksayakyu_state::get_ksayakyu_tile_info)
4949{
50   int code = machine.root_device().memregion("user1")->base()[tile_index];
51   int attr = machine.root_device().memregion("user1")->base()[tile_index + 0x2000];
50   int code = machine().root_device().memregion("user1")->base()[tile_index];
51   int attr = machine().root_device().memregion("user1")->base()[tile_index + 0x2000];
5252   code += (attr & 3) << 8;
53   SET_TILE_INFO(1, code, ((attr >> 2) & 0x0f) * 2, (attr & 0x80) ? TILE_FLIPX : 0);
53   SET_TILE_INFO_MEMBER(1, code, ((attr >> 2) & 0x0f) * 2, (attr & 0x80) ? TILE_FLIPX : 0);
5454}
5555
5656/*
r17673r17674
5858--cc cc-- color
5959---- --bb bank select
6060*/
61static TILE_GET_INFO( get_text_tile_info )
61TILE_GET_INFO_MEMBER(ksayakyu_state::get_text_tile_info)
6262{
63   ksayakyu_state *state = machine.driver_data<ksayakyu_state>();
64   int code = state->m_videoram[tile_index * 2 + 1];
65   int attr = state->m_videoram[tile_index * 2];
63   int code = m_videoram[tile_index * 2 + 1];
64   int attr = m_videoram[tile_index * 2];
6665   int flags = ((attr & 0x80) ? TILE_FLIPX : 0) | ((attr & 0x40) ? TILE_FLIPY : 0);
6766   int color = (attr & 0x3c) >> 2;
6867
6968   code |= (attr & 3) << 8;
7069
71   SET_TILE_INFO(0, code, color, flags);
70   SET_TILE_INFO_MEMBER(0, code, color, flags);
7271}
7372
7473/*
r17673r17674
117116VIDEO_START(ksayakyu)
118117{
119118   ksayakyu_state *state = machine.driver_data<ksayakyu_state>();
120   state->m_tilemap = tilemap_create(machine, get_ksayakyu_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32 * 8);
121   state->m_textmap = tilemap_create(machine, get_text_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
119   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);
120   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);
122121   state->m_textmap->set_transparent_pen(0);
123122}
124123
trunk/src/mame/video/himesiki.c
r17673r17674
1010#include "emu.h"
1111#include "includes/himesiki.h"
1212
13static TILE_GET_INFO( get_bg_tile_info )
13TILE_GET_INFO_MEMBER(himesiki_state::get_bg_tile_info)
1414{
15   himesiki_state *state = machine.driver_data<himesiki_state>();
16   int code = state->m_bg_ram[tile_index * 2] + state->m_bg_ram[tile_index * 2 + 1] * 0x100 ;
15   int code = m_bg_ram[tile_index * 2] + m_bg_ram[tile_index * 2 + 1] * 0x100 ;
1716   int col = code >> 12;
1817
1918   code &= 0xfff;
2019
21   SET_TILE_INFO(0, code, col, 0);
20   SET_TILE_INFO_MEMBER(0, code, col, 0);
2221}
2322
2423VIDEO_START( himesiki )
2524{
2625   himesiki_state *state = machine.driver_data<himesiki_state>();
27   state->m_bg_tilemap = tilemap_create( machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
26   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);
2827}
2928
3029WRITE8_MEMBER(himesiki_state::himesiki_bg_ram_w)
trunk/src/mame/video/skullxbo.c
r17673r17674
1616 *
1717 *************************************/
1818
19static TILE_GET_INFO( get_alpha_tile_info )
19TILE_GET_INFO_MEMBER(skullxbo_state::get_alpha_tile_info)
2020{
21   skullxbo_state *state = machine.driver_data<skullxbo_state>();
22   UINT16 data = state->m_alpha[tile_index];
21   UINT16 data = m_alpha[tile_index];
2322   int code = (data ^ 0x400) & 0x7ff;
2423   int color = (data >> 11) & 0x0f;
2524   int opaque = data & 0x8000;
26   SET_TILE_INFO(2, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
25   SET_TILE_INFO_MEMBER(2, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
2726}
2827
2928
30static TILE_GET_INFO( get_playfield_tile_info )
29TILE_GET_INFO_MEMBER(skullxbo_state::get_playfield_tile_info)
3130{
32   skullxbo_state *state = machine.driver_data<skullxbo_state>();
33   UINT16 data1 = state->m_playfield[tile_index];
34   UINT16 data2 = state->m_playfield_upper[tile_index] & 0xff;
31   UINT16 data1 = m_playfield[tile_index];
32   UINT16 data2 = m_playfield_upper[tile_index] & 0xff;
3533   int code = data1 & 0x7fff;
3634   int color = data2 & 0x0f;
37   SET_TILE_INFO(1, code, color, (data1 >> 15) & 1);
35   SET_TILE_INFO_MEMBER(1, code, color, (data1 >> 15) & 1);
3836}
3937
4038
r17673r17674
8684   skullxbo_state *state = machine.driver_data<skullxbo_state>();
8785
8886   /* initialize the playfield */
89   state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_COLS,  16,8, 64,64);
87   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);
9088
9189   /* initialize the motion objects */
9290   atarimo_init(machine, 0, &modesc);
9391
9492   /* initialize the alphanumerics */
95   state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS,  16,8, 64,32);
93   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);
9694   state->m_alpha_tilemap->set_transparent_pen(0);
9795}
9896
trunk/src/mame/video/battlex.c
r17673r17674
4545}
4646
4747
48static TILE_GET_INFO( get_bg_tile_info )
48TILE_GET_INFO_MEMBER(battlex_state::get_bg_tile_info)
4949{
50   battlex_state *state = machine.driver_data<battlex_state>();
51   int tile = state->m_videoram[tile_index * 2] | (((state->m_videoram[tile_index * 2 + 1] & 0x01)) << 8);
52   int color = (state->m_videoram[tile_index * 2 + 1] & 0x0e) >> 1; // high bits unused
50   int tile = m_videoram[tile_index * 2] | (((m_videoram[tile_index * 2 + 1] & 0x01)) << 8);
51   int color = (m_videoram[tile_index * 2 + 1] & 0x0e) >> 1; // high bits unused
5352
54   SET_TILE_INFO(0, tile, color, 0);
53   SET_TILE_INFO_MEMBER(0, tile, color, 0);
5554}
5655
5756VIDEO_START( battlex )
5857{
5958   battlex_state *state = machine.driver_data<battlex_state>();
60   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
59   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);
6160}
6261
6362static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
trunk/src/mame/video/ironhors.c
r17673r17674
132132   /* other bits are used too, but unknown */
133133}
134134
135static TILE_GET_INFO( get_bg_tile_info )
135TILE_GET_INFO_MEMBER(ironhors_state::get_bg_tile_info)
136136{
137   ironhors_state *state = machine.driver_data<ironhors_state>();
138   int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 0x40) << 2) +
139      ((state->m_colorram[tile_index] & 0x20) << 4) + (state->m_charbank << 10);
140   int color = (state->m_colorram[tile_index] & 0x0f) + 16 * state->m_palettebank;
141   int flags = ((state->m_colorram[tile_index] & 0x10) ? TILE_FLIPX : 0) |
142      ((state->m_colorram[tile_index] & 0x20) ? TILE_FLIPY : 0);
137   int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x40) << 2) +
138      ((m_colorram[tile_index] & 0x20) << 4) + (m_charbank << 10);
139   int color = (m_colorram[tile_index] & 0x0f) + 16 * m_palettebank;
140   int flags = ((m_colorram[tile_index] & 0x10) ? TILE_FLIPX : 0) |
141      ((m_colorram[tile_index] & 0x20) ? TILE_FLIPY : 0);
143142
144   SET_TILE_INFO(0, code, color, flags);
143   SET_TILE_INFO_MEMBER(0, code, color, flags);
145144}
146145
147146VIDEO_START( ironhors )
148147{
149148   ironhors_state *state = machine.driver_data<ironhors_state>();
150   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
149   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);
151150
152151   state->m_bg_tilemap->set_scroll_rows(32);
153152}
r17673r17674
249248   return 0;
250249}
251250
252static TILE_GET_INFO( farwest_get_bg_tile_info )
251TILE_GET_INFO_MEMBER(ironhors_state::farwest_get_bg_tile_info)
253252{
254   ironhors_state *state = machine.driver_data<ironhors_state>();
255   int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 0x40) << 2) +
256      ((state->m_colorram[tile_index] & 0x20) << 4) + (state->m_charbank << 10);
257   int color = (state->m_colorram[tile_index] & 0x0f) + 16 * state->m_palettebank;
258   int flags = 0;//((state->m_colorram[tile_index] & 0x10) ? TILE_FLIPX : 0) |  ((state->m_colorram[tile_index] & 0x20) ? TILE_FLIPY : 0);
253   int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x40) << 2) +
254      ((m_colorram[tile_index] & 0x20) << 4) + (m_charbank << 10);
255   int color = (m_colorram[tile_index] & 0x0f) + 16 * m_palettebank;
256   int flags = 0;//((m_colorram[tile_index] & 0x10) ? TILE_FLIPX : 0) |  ((m_colorram[tile_index] & 0x20) ? TILE_FLIPY : 0);
259257
260   SET_TILE_INFO(0, code, color, flags);
258   SET_TILE_INFO_MEMBER(0, code, color, flags);
261259}
262260
263261VIDEO_START( farwest )
264262{
265263   ironhors_state *state = machine.driver_data<ironhors_state>();
266   state->m_bg_tilemap = tilemap_create(machine, farwest_get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
264   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);
267265
268266   state->m_bg_tilemap->set_scroll_rows(32);
269267}
trunk/src/mame/video/glass.c
r17673r17674
3131      1  | xxxxxxxx -------- | not used
3232*/
3333
34static TILE_GET_INFO( get_tile_info_glass_screen0 )
34TILE_GET_INFO_MEMBER(glass_state::get_tile_info_glass_screen0)
3535{
36   glass_state *state = machine.driver_data<glass_state>();
37   int data = state->m_videoram[tile_index << 1];
38   int data2 = state->m_videoram[(tile_index << 1) + 1];
36   int data = m_videoram[tile_index << 1];
37   int data2 = m_videoram[(tile_index << 1) + 1];
3938   int code = ((data & 0x03) << 14) | ((data & 0x0fffc) >> 2);
4039
41   SET_TILE_INFO(0, code, 0x20 + (data2 & 0x1f), TILE_FLIPYX((data2 & 0xc0) >> 6));
40   SET_TILE_INFO_MEMBER(0, code, 0x20 + (data2 & 0x1f), TILE_FLIPYX((data2 & 0xc0) >> 6));
4241}
4342
4443
45static TILE_GET_INFO( get_tile_info_glass_screen1 )
44TILE_GET_INFO_MEMBER(glass_state::get_tile_info_glass_screen1)
4645{
47   glass_state *state = machine.driver_data<glass_state>();
48   int data = state->m_videoram[(0x1000 / 2) + (tile_index << 1)];
49   int data2 = state->m_videoram[(0x1000 / 2) + (tile_index << 1) + 1];
46   int data = m_videoram[(0x1000 / 2) + (tile_index << 1)];
47   int data2 = m_videoram[(0x1000 / 2) + (tile_index << 1) + 1];
5048   int code = ((data & 0x03) << 14) | ((data & 0x0fffc) >> 2);
5149
52   SET_TILE_INFO(0, code, 0x20 + (data2 & 0x1f), TILE_FLIPYX((data2 & 0xc0) >> 6));
50   SET_TILE_INFO_MEMBER(0, code, 0x20 + (data2 & 0x1f), TILE_FLIPYX((data2 & 0xc0) >> 6));
5351}
5452
5553/***************************************************************************
r17673r17674
128126VIDEO_START( glass )
129127{
130128   glass_state *state = machine.driver_data<glass_state>();
131   state->m_pant[0] = tilemap_create(machine, get_tile_info_glass_screen0, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
132   state->m_pant[1] = tilemap_create(machine, get_tile_info_glass_screen1, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
129   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);
130   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);
133131   state->m_screen_bitmap = auto_bitmap_ind16_alloc (machine, 320, 200);
134132
135133   state->save_item(NAME(*state->m_screen_bitmap));
trunk/src/mame/video/mcatadv.c
r17673r17674
1313#include "emu.h"
1414#include "includes/mcatadv.h"
1515
16static TILE_GET_INFO( get_mcatadv_tile_info1 )
16TILE_GET_INFO_MEMBER(mcatadv_state::get_mcatadv_tile_info1)
1717{
18   mcatadv_state *state = machine.driver_data<mcatadv_state>();
19   int tileno = state->m_videoram1[tile_index * 2 + 1];
20   int colour = (state->m_videoram1[tile_index * 2] & 0x3f00) >> 8;
21   int pri = (state->m_videoram1[tile_index * 2] & 0xc000) >> 14;
18   int tileno = m_videoram1[tile_index * 2 + 1];
19   int colour = (m_videoram1[tile_index * 2] & 0x3f00) >> 8;
20   int pri = (m_videoram1[tile_index * 2] & 0xc000) >> 14;
2221
23   SET_TILE_INFO(0,tileno,colour + state->m_palette_bank1 * 0x40, 0);
22   SET_TILE_INFO_MEMBER(0,tileno,colour + m_palette_bank1 * 0x40, 0);
2423   tileinfo.category = pri;
2524}
2625
r17673r17674
3130   m_tilemap1->mark_tile_dirty(offset / 2);
3231}
3332
34static TILE_GET_INFO( get_mcatadv_tile_info2 )
33TILE_GET_INFO_MEMBER(mcatadv_state::get_mcatadv_tile_info2)
3534{
36   mcatadv_state *state = machine.driver_data<mcatadv_state>();
37   int tileno = state->m_videoram2[tile_index * 2 + 1];
38   int colour = (state->m_videoram2[tile_index * 2] & 0x3f00) >> 8;
39   int pri = (state->m_videoram2[tile_index * 2] & 0xc000) >> 14;
35   int tileno = m_videoram2[tile_index * 2 + 1];
36   int colour = (m_videoram2[tile_index * 2] & 0x3f00) >> 8;
37   int pri = (m_videoram2[tile_index * 2] & 0xc000) >> 14;
4038
41   SET_TILE_INFO(1, tileno, colour + state->m_palette_bank2 * 0x40, 0);
39   SET_TILE_INFO_MEMBER(1, tileno, colour + m_palette_bank2 * 0x40, 0);
4240   tileinfo.category = pri;
4341}
4442
r17673r17674
253251VIDEO_START( mcatadv )
254252{
255253   mcatadv_state *state = machine.driver_data<mcatadv_state>();
256   state->m_tilemap1 = tilemap_create(machine, get_mcatadv_tile_info1, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
254   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);
257255   state->m_tilemap1->set_transparent_pen(0);
258256
259   state->m_tilemap2 = tilemap_create(machine, get_mcatadv_tile_info2, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
257   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);
260258   state->m_tilemap2->set_transparent_pen(0);
261259
262260   state->m_spriteram_old = auto_alloc_array_clear(machine, UINT16, state->m_spriteram.bytes() / 2);
trunk/src/mame/video/toaplan2.c
r17673r17674
3434
3535***************************************************************************/
3636
37static TILE_GET_INFO( get_text_tile_info )
37TILE_GET_INFO_MEMBER(toaplan2_state::get_text_tile_info)
3838{
39   toaplan2_state *state = machine.driver_data<toaplan2_state>();
4039   int color, tile_number, attrib;
4140
42   attrib = state->m_txvideoram16[tile_index];
41   attrib = m_txvideoram16[tile_index];
4342   tile_number = attrib & 0x3ff;
4443   color = ((attrib >> 10) | 0x40) & 0x7f;
45   SET_TILE_INFO(
44   SET_TILE_INFO_MEMBER(
4645         2,
4746         tile_number,
4847         color,
r17673r17674
6059{
6160   toaplan2_state *state = machine.driver_data<toaplan2_state>();
6261
63   state->m_tx_tilemap = tilemap_create(machine, get_text_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
62   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);
6463   state->m_tx_tilemap->set_scroll_rows(8*32);   /* line scrolling */
6564   state->m_tx_tilemap->set_scroll_cols(1);
6665   state->m_tx_tilemap->set_transparent_pen(0);
trunk/src/mame/video/mjkjidai.c
r17673r17674
88
99***************************************************************************/
1010
11static TILE_GET_INFO( get_tile_info )
11TILE_GET_INFO_MEMBER(mjkjidai_state::get_tile_info)
1212{
13   mjkjidai_state *state = machine.driver_data<mjkjidai_state>();
1413
15   int attr = state->m_videoram[tile_index + 0x800];
16   int code = state->m_videoram[tile_index] + ((attr & 0x1f) << 8);
17   int color = state->m_videoram[tile_index + 0x1000];
18   SET_TILE_INFO(0,code,color >> 3,0);
14   int attr = m_videoram[tile_index + 0x800];
15   int code = m_videoram[tile_index] + ((attr & 0x1f) << 8);
16   int color = m_videoram[tile_index + 0x1000];
17   SET_TILE_INFO_MEMBER(0,code,color >> 3,0);
1918}
2019
2120
r17673r17674
2928VIDEO_START( mjkjidai )
3029{
3130   mjkjidai_state *state = machine.driver_data<mjkjidai_state>();
32   state->m_bg_tilemap = tilemap_create(machine, get_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
31   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);
3332}
3433
3534
trunk/src/mame/video/jailbrek.c
r17673r17674
4747   m_bg_tilemap->mark_tile_dirty(offset);
4848}
4949
50static TILE_GET_INFO( get_bg_tile_info )
50TILE_GET_INFO_MEMBER(jailbrek_state::get_bg_tile_info)
5151{
52   jailbrek_state *state = machine.driver_data<jailbrek_state>();
53   int attr = state->m_colorram[tile_index];
54   int code = state->m_videoram[tile_index] + ((attr & 0xc0) << 2);
52   int attr = m_colorram[tile_index];
53   int code = m_videoram[tile_index] + ((attr & 0xc0) << 2);
5554   int color = attr & 0x0f;
5655
57   SET_TILE_INFO(0, code, color, 0);
56   SET_TILE_INFO_MEMBER(0, code, color, 0);
5857}
5958
6059VIDEO_START( jailbrek )
6160{
6261   jailbrek_state *state = machine.driver_data<jailbrek_state>();
63   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
62   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);
6463   state->m_bg_tilemap->set_scrolldx(0, 396 - 256);
6564}
6665
trunk/src/mame/video/gaelco.c
r17673r17674
3131      1  | xxxxxxxx -------- | not used
3232*/
3333
34static TILE_GET_INFO( get_tile_info_gaelco_screen0 )
34TILE_GET_INFO_MEMBER(gaelco_state::get_tile_info_gaelco_screen0)
3535{
36   gaelco_state *state = machine.driver_data<gaelco_state>();
37   int data = state->m_videoram[tile_index << 1];
38   int data2 = state->m_videoram[(tile_index << 1) + 1];
36   int data = m_videoram[tile_index << 1];
37   int data2 = m_videoram[(tile_index << 1) + 1];
3938   int code = ((data & 0xfffc) >> 2);
4039
4140   tileinfo.category = (data2 >> 6) & 0x03;
4241
43   SET_TILE_INFO(1, 0x4000 + code, data2 & 0x3f, TILE_FLIPYX(data & 0x03));
42   SET_TILE_INFO_MEMBER(1, 0x4000 + code, data2 & 0x3f, TILE_FLIPYX(data & 0x03));
4443}
4544
4645
47static TILE_GET_INFO( get_tile_info_gaelco_screen1 )
46TILE_GET_INFO_MEMBER(gaelco_state::get_tile_info_gaelco_screen1)
4847{
49   gaelco_state *state = machine.driver_data<gaelco_state>();
50   int data = state->m_videoram[(0x1000 / 2) + (tile_index << 1)];
51   int data2 = state->m_videoram[(0x1000 / 2) + (tile_index << 1) + 1];
48   int data = m_videoram[(0x1000 / 2) + (tile_index << 1)];
49   int data2 = m_videoram[(0x1000 / 2) + (tile_index << 1) + 1];
5250   int code = ((data & 0xfffc) >> 2);
5351
5452   tileinfo.category = (data2 >> 6) & 0x03;
5553
56   SET_TILE_INFO(1, 0x4000 + code, data2 & 0x3f, TILE_FLIPYX(data & 0x03));
54   SET_TILE_INFO_MEMBER(1, 0x4000 + code, data2 & 0x3f, TILE_FLIPYX(data & 0x03));
5755}
5856
5957/***************************************************************************
r17673r17674
7775VIDEO_START( bigkarnk )
7876{
7977   gaelco_state *state = machine.driver_data<gaelco_state>();
80   state->m_tilemap[0] = tilemap_create(machine, get_tile_info_gaelco_screen0, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
81   state->m_tilemap[1] = tilemap_create(machine, get_tile_info_gaelco_screen1, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
78   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);
79   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);
8280
8381   state->m_tilemap[0]->set_transmask(0, 0xff01, 0x00ff); /* pens 1-7 opaque, pens 0, 8-15 transparent */
8482   state->m_tilemap[1]->set_transmask(0, 0xff01, 0x00ff); /* pens 1-7 opaque, pens 0, 8-15 transparent */
r17673r17674
8785VIDEO_START( maniacsq )
8886{
8987   gaelco_state *state = machine.driver_data<gaelco_state>();
90   state->m_tilemap[0] = tilemap_create(machine, get_tile_info_gaelco_screen0, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
91   state->m_tilemap[1] = tilemap_create(machine, get_tile_info_gaelco_screen1, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
88   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);
89   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);
9290
9391   state->m_tilemap[0]->set_transparent_pen(0);
9492   state->m_tilemap[1]->set_transparent_pen(0);
trunk/src/mame/video/wecleman.c
r17673r17674
417417                [ Frontmost (text) layer + video registers ]
418418------------------------------------------------------------------------*/
419419
420static TILE_GET_INFO( wecleman_get_txt_tile_info )
420TILE_GET_INFO_MEMBER(wecleman_state::wecleman_get_txt_tile_info)
421421{
422   wecleman_state *state = machine.driver_data<wecleman_state>();
423   int code = state->m_txtram[tile_index];
424   SET_TILE_INFO(PAGE_GFX, code&0xfff, (code>>5&0x78)+(code>>12), 0);
422   int code = m_txtram[tile_index];
423   SET_TILE_INFO_MEMBER(PAGE_GFX, code&0xfff, (code>>5&0x78)+(code>>12), 0);
425424}
426425
427426WRITE16_MEMBER(wecleman_state::wecleman_txtram_w)
r17673r17674
464463                            [ Background ]
465464------------------------------------------------------------------------*/
466465
467static TILE_GET_INFO( wecleman_get_bg_tile_info )
466TILE_GET_INFO_MEMBER(wecleman_state::wecleman_get_bg_tile_info)
468467{
469   wecleman_state *state = machine.driver_data<wecleman_state>();
470   int page = state->m_bgpage[((tile_index&0x7f)>>6) + ((tile_index>>12)<<1)];
471   int code = state->m_pageram[(tile_index&0x3f) + ((tile_index>>7&0x1f)<<6) + (page<<11)];
468   int page = m_bgpage[((tile_index&0x7f)>>6) + ((tile_index>>12)<<1)];
469   int code = m_pageram[(tile_index&0x3f) + ((tile_index>>7&0x1f)<<6) + (page<<11)];
472470
473   SET_TILE_INFO(PAGE_GFX, code&0xfff, (code>>5&0x78)+(code>>12), 0);
471   SET_TILE_INFO_MEMBER(PAGE_GFX, code&0xfff, (code>>5&0x78)+(code>>12), 0);
474472}
475473
476474/*------------------------------------------------------------------------
477475                            [ Foreground ]
478476------------------------------------------------------------------------*/
479477
480static TILE_GET_INFO( wecleman_get_fg_tile_info )
478TILE_GET_INFO_MEMBER(wecleman_state::wecleman_get_fg_tile_info)
481479{
482   wecleman_state *state = machine.driver_data<wecleman_state>();
483   int page = state->m_fgpage[((tile_index&0x7f)>>6) + ((tile_index>>12)<<1)];
484   int code = state->m_pageram[(tile_index&0x3f) + ((tile_index>>7&0x1f)<<6) + (page<<11)];
480   int page = m_fgpage[((tile_index&0x7f)>>6) + ((tile_index>>12)<<1)];
481   int code = m_pageram[(tile_index&0x3f) + ((tile_index>>7&0x1f)<<6) + (page<<11)];
485482
486483   if (!code || code==0xffff) code = 0x20;
487   SET_TILE_INFO(PAGE_GFX, code&0xfff, (code>>5&0x78)+(code>>12), 0);
484   SET_TILE_INFO_MEMBER(PAGE_GFX, code&0xfff, (code>>5&0x78)+(code>>12), 0);
488485}
489486
490487/*------------------------------------------------------------------------
r17673r17674
933930
934931   state->m_sprite_list = auto_alloc_array_clear(machine, struct sprite, NUM_SPRITES);
935932
936   state->m_bg_tilemap = tilemap_create(machine, wecleman_get_bg_tile_info,
933   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wecleman_state::wecleman_get_bg_tile_info),state),
937934                        TILEMAP_SCAN_ROWS,
938935                           /* We draw part of the road below */
939936                        8,8,
940937                        PAGE_NX * 2, PAGE_NY * 2 );
941938
942   state->m_fg_tilemap = tilemap_create(machine, wecleman_get_fg_tile_info,
939   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wecleman_state::wecleman_get_fg_tile_info),state),
943940                        TILEMAP_SCAN_ROWS,
944941
945942                        8,8,
946943                        PAGE_NX * 2, PAGE_NY * 2);
947944
948   state->m_txt_tilemap = tilemap_create(machine, wecleman_get_txt_tile_info,
945   state->m_txt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wecleman_state::wecleman_get_txt_tile_info),state),
949946                         TILEMAP_SCAN_ROWS,
950947
951948                         8,8,
trunk/src/mame/video/tankbust.c
r17673r17674
2626
2727*/
2828
29static TILE_GET_INFO( get_bg_tile_info )
29TILE_GET_INFO_MEMBER(tankbust_state::get_bg_tile_info)
3030{
31   tankbust_state *state = machine.driver_data<tankbust_state>();
32   int code = state->m_videoram[tile_index];
33   int attr = state->m_colorram[tile_index];
31   int code = m_videoram[tile_index];
32   int attr = m_colorram[tile_index];
3433
3534   int color = ((attr>>4) & 0x07);
3635
r17673r17674
5150   /* priority bg/sprites (1 = this bg tile on top of sprites) */
5251   tileinfo.category = (attr & 0x08) >> 3;
5352
54   SET_TILE_INFO(   1,
53   SET_TILE_INFO_MEMBER(   1,
5554         code,
5655         (color&4) | ((color&2)>>1) | ((color&1)<<1),
5756         0);
5857}
5958
60static TILE_GET_INFO( get_txt_tile_info )
59TILE_GET_INFO_MEMBER(tankbust_state::get_txt_tile_info)
6160{
62   tankbust_state *state = machine.driver_data<tankbust_state>();
63   int code = state->m_txtram[tile_index];
61   int code = m_txtram[tile_index];
6462   int color = ((code>>6) & 0x03);
6563
66   SET_TILE_INFO(   2,
64   SET_TILE_INFO_MEMBER(   2,
6765         code & 0x3f,
6866         ((color&2)>>1) | ((color&1)<<1),
6967         0);
r17673r17674
8078{
8179   tankbust_state *state = machine.driver_data<tankbust_state>();
8280   /* not scrollable */
83   state->m_txt_tilemap = tilemap_create(machine, get_txt_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 64, 32);
81   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);
8482
8583   /* scrollable */
86   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 64, 32);
84   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);
8785
8886
8987   state->m_txt_tilemap->set_transparent_pen(0);
trunk/src/mame/video/bankp.c
r17673r17674
132132   /* bits 6-7 unknown */
133133}
134134
135static TILE_GET_INFO( get_bg_tile_info )
135TILE_GET_INFO_MEMBER(bankp_state::get_bg_tile_info)
136136{
137   bankp_state *state = machine.driver_data<bankp_state>();
138   int code = state->m_videoram2[tile_index] + 256 * (state->m_colorram2[tile_index] & 0x07);
139   int color = state->m_colorram2[tile_index] >> 4;
140   int flags = (state->m_colorram2[tile_index] & 0x08) ? TILE_FLIPX : 0;
137   int code = m_videoram2[tile_index] + 256 * (m_colorram2[tile_index] & 0x07);
138   int color = m_colorram2[tile_index] >> 4;
139   int flags = (m_colorram2[tile_index] & 0x08) ? TILE_FLIPX : 0;
141140
142   SET_TILE_INFO(1, code, color, flags);
141   SET_TILE_INFO_MEMBER(1, code, color, flags);
143142   tileinfo.group = color;
144143}
145144
146static TILE_GET_INFO( get_fg_tile_info )
145TILE_GET_INFO_MEMBER(bankp_state::get_fg_tile_info)
147146{
148   bankp_state *state = machine.driver_data<bankp_state>();
149   int code = state->m_videoram[tile_index] + 256 * ((state->m_colorram[tile_index] & 3) >> 0);
150   int color = state->m_colorram[tile_index] >> 3;
151   int flags = (state->m_colorram[tile_index] & 0x04) ? TILE_FLIPX : 0;
147   int code = m_videoram[tile_index] + 256 * ((m_colorram[tile_index] & 3) >> 0);
148   int color = m_colorram[tile_index] >> 3;
149   int flags = (m_colorram[tile_index] & 0x04) ? TILE_FLIPX : 0;
152150
153   SET_TILE_INFO(0, code, color, flags);
151   SET_TILE_INFO_MEMBER(0, code, color, flags);
154152   tileinfo.group = color;
155153}
156154
r17673r17674
158156{
159157   bankp_state *state = machine.driver_data<bankp_state>();
160158
161   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
162   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
159   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);
160   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);
163161
164162   colortable_configure_tilemap_groups(machine.colortable, state->m_bg_tilemap, machine.gfx[1], 0);
165163   colortable_configure_tilemap_groups(machine.colortable, state->m_fg_tilemap, machine.gfx[0], 0);
trunk/src/mame/video/crbaloon.c
r17673r17674
5959   m_bg_tilemap->mark_tile_dirty(offset);
6060}
6161
62static TILE_GET_INFO( get_bg_tile_info )
62TILE_GET_INFO_MEMBER(crbaloon_state::get_bg_tile_info)
6363{
64   crbaloon_state *state = machine.driver_data<crbaloon_state>();
65   int code = state->m_videoram[tile_index];
66   int color = state->m_colorram[tile_index] & 0x0f;
64   int code = m_videoram[tile_index];
65   int color = m_colorram[tile_index] & 0x0f;
6766
68   SET_TILE_INFO(0, code, color, 0);
67   SET_TILE_INFO_MEMBER(0, code, color, 0);
6968}
7069
7170VIDEO_START( crbaloon )
7271{
7372   crbaloon_state *state = machine.driver_data<crbaloon_state>();
74   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS_FLIP_XY,  8, 8, 32, 32);
73   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);
7574
7675   state->save_item(NAME(state->m_collision_address));
7776   state->save_item(NAME(state->m_collision_address_clear));
trunk/src/mame/video/portrait.c
r17673r17674
5252   SET_TILE_INFO( 0, tilenum, color, flags );
5353}
5454
55static TILE_GET_INFO( get_bg_tile_info )
55TILE_GET_INFO_MEMBER(portrait_state::get_bg_tile_info)
5656{
57   portrait_state *state = machine.driver_data<portrait_state>();
58   get_tile_info( machine, tileinfo, tile_index, state->m_bgvideoram );
57   get_tile_info( machine(), tileinfo, tile_index, m_bgvideoram );
5958}
6059
61static TILE_GET_INFO( get_fg_tile_info )
60TILE_GET_INFO_MEMBER(portrait_state::get_fg_tile_info)
6261{
63   portrait_state *state = machine.driver_data<portrait_state>();
64   get_tile_info( machine, tileinfo, tile_index, state->m_fgvideoram );
62   get_tile_info( machine(), tileinfo, tile_index, m_fgvideoram );
6563}
6664
6765VIDEO_START( portrait )
6866{
6967   portrait_state *state = machine.driver_data<portrait_state>();
70   state->m_background = tilemap_create( machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,       16, 16, 32, 32 );
71   state->m_foreground = tilemap_create( machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,  16, 16, 32, 32 );
68   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 );
69   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 );
7270
7371   state->m_foreground->set_transparent_pen(7 );
7472}
trunk/src/mame/video/funkybee.c
r17673r17674
7171   flip_screen_set(data & 0x01);
7272}
7373
74static TILE_GET_INFO( get_bg_tile_info )
74TILE_GET_INFO_MEMBER(funkybee_state::get_bg_tile_info)
7575{
76   funkybee_state *state = machine.driver_data<funkybee_state>();
77   int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 0x80) << 1);
78   int color = state->m_colorram[tile_index] & 0x03;
76   int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x80) << 1);
77   int color = m_colorram[tile_index] & 0x03;
7978
80   SET_TILE_INFO(state->m_gfx_bank, code, color, 0);
79   SET_TILE_INFO_MEMBER(m_gfx_bank, code, color, 0);
8180}
8281
83static TILEMAP_MAPPER( funkybee_tilemap_scan )
82TILEMAP_MAPPER_MEMBER(funkybee_state::funkybee_tilemap_scan)
8483{
8584   /* logical (col,row) -> memory offset */
8685   return 256 * row + col;
r17673r17674
8988VIDEO_START( funkybee )
9089{
9190   funkybee_state *state = machine.driver_data<funkybee_state>();
92   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, funkybee_tilemap_scan, 8, 8, 32, 32);
91   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);
9392}
9493
9594static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
trunk/src/mame/video/tetrisp2.c
r17673r17674
123123#define NX_0  (0x40)
124124#define NY_0  (0x40)
125125
126static TILE_GET_INFO( get_tile_info_bg )
126TILE_GET_INFO_MEMBER(tetrisp2_state::get_tile_info_bg)
127127{
128   tetrisp2_state *state = machine.driver_data<tetrisp2_state>();
129   UINT16 code_hi = state->m_vram_bg[ 2 * tile_index + 0];
130   UINT16 code_lo = state->m_vram_bg[ 2 * tile_index + 1];
131   SET_TILE_INFO(
128   UINT16 code_hi = m_vram_bg[ 2 * tile_index + 0];
129   UINT16 code_lo = m_vram_bg[ 2 * tile_index + 1];
130   SET_TILE_INFO_MEMBER(
132131         1,
133132         code_hi,
134133         code_lo & 0xf,
r17673r17674
145144#define NX_1  (0x40)
146145#define NY_1  (0x40)
147146
148static TILE_GET_INFO( get_tile_info_fg )
147TILE_GET_INFO_MEMBER(tetrisp2_state::get_tile_info_fg)
149148{
150   tetrisp2_state *state = machine.driver_data<tetrisp2_state>();
151   UINT16 code_hi = state->m_vram_fg[ 2 * tile_index + 0];
152   UINT16 code_lo = state->m_vram_fg[ 2 * tile_index + 1];
153   SET_TILE_INFO(
149   UINT16 code_hi = m_vram_fg[ 2 * tile_index + 0];
150   UINT16 code_lo = m_vram_fg[ 2 * tile_index + 1];
151   SET_TILE_INFO_MEMBER(
154152         3,
155153         code_hi,
156154         code_lo & 0xf,
r17673r17674
164162}
165163
166164
167static TILE_GET_INFO( get_tile_info_rot )
165TILE_GET_INFO_MEMBER(tetrisp2_state::get_tile_info_rot)
168166{
169   tetrisp2_state *state = machine.driver_data<tetrisp2_state>();
170   UINT16 code_hi = state->m_vram_rot[ 2 * tile_index + 0];
171   UINT16 code_lo = state->m_vram_rot[ 2 * tile_index + 1];
172   SET_TILE_INFO(
167   UINT16 code_hi = m_vram_rot[ 2 * tile_index + 0];
168   UINT16 code_lo = m_vram_rot[ 2 * tile_index + 1];
169   SET_TILE_INFO_MEMBER(
173170         2,
174171         code_hi,
175172         code_lo & 0xf,
r17673r17674
182179   m_tilemap_rot->mark_tile_dirty(offset/2);
183180}
184181
185static TILE_GET_INFO( get_tile_info_rocknms_sub_bg )
182TILE_GET_INFO_MEMBER(tetrisp2_state::get_tile_info_rocknms_sub_bg)
186183{
187   tetrisp2_state *state = machine.driver_data<tetrisp2_state>();
188   UINT16 code_hi = state->m_rocknms_sub_vram_bg[ 2 * tile_index + 0];
189   UINT16 code_lo = state->m_rocknms_sub_vram_bg[ 2 * tile_index + 1];
190   SET_TILE_INFO(
184   UINT16 code_hi = m_rocknms_sub_vram_bg[ 2 * tile_index + 0];
185   UINT16 code_lo = m_rocknms_sub_vram_bg[ 2 * tile_index + 1];
186   SET_TILE_INFO_MEMBER(
191187         5,
192188         code_hi,
193189         code_lo & 0xf,
r17673r17674
201197}
202198
203199
204static TILE_GET_INFO( get_tile_info_rocknms_sub_fg )
200TILE_GET_INFO_MEMBER(tetrisp2_state::get_tile_info_rocknms_sub_fg)
205201{
206   tetrisp2_state *state = machine.driver_data<tetrisp2_state>();
207   UINT16 code_hi = state->m_rocknms_sub_vram_fg[ 2 * tile_index + 0];
208   UINT16 code_lo = state->m_rocknms_sub_vram_fg[ 2 * tile_index + 1];
209   SET_TILE_INFO(
202   UINT16 code_hi = m_rocknms_sub_vram_fg[ 2 * tile_index + 0];
203   UINT16 code_lo = m_rocknms_sub_vram_fg[ 2 * tile_index + 1];
204   SET_TILE_INFO_MEMBER(
210205         7,
211206         code_hi,
212207         code_lo & 0xf,
r17673r17674
220215}
221216
222217
223static TILE_GET_INFO( get_tile_info_rocknms_sub_rot )
218TILE_GET_INFO_MEMBER(tetrisp2_state::get_tile_info_rocknms_sub_rot)
224219{
225   tetrisp2_state *state = machine.driver_data<tetrisp2_state>();
226   UINT16 code_hi = state->m_rocknms_sub_vram_rot[ 2 * tile_index + 0];
227   UINT16 code_lo = state->m_rocknms_sub_vram_rot[ 2 * tile_index + 1];
228   SET_TILE_INFO(
220   UINT16 code_hi = m_rocknms_sub_vram_rot[ 2 * tile_index + 0];
221   UINT16 code_lo = m_rocknms_sub_vram_rot[ 2 * tile_index + 1];
222   SET_TILE_INFO_MEMBER(
229223         6,
230224         code_hi,
231225         code_lo & 0xf,
r17673r17674
245239   tetrisp2_state *state = machine.driver_data<tetrisp2_state>();
246240   state->m_flipscreen_old = -1;
247241
248   state->m_tilemap_bg = tilemap_create(   machine, get_tile_info_bg,TILEMAP_SCAN_ROWS,
249
250                        16,16,NX_0,NY_0);
251
252   state->m_tilemap_fg = tilemap_create(   machine, get_tile_info_fg,TILEMAP_SCAN_ROWS,
253
254                        8,8,NX_1,NY_1);
255
256   state->m_tilemap_rot = tilemap_create(   machine, get_tile_info_rot,TILEMAP_SCAN_ROWS,
257
258                        16,16,NX_0*2,NY_0*2);
259
242   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);
243   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);
244   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);
260245   state->m_tilemap_bg->set_transparent_pen(0);
261246   state->m_tilemap_fg->set_transparent_pen(0);
262247   state->m_tilemap_rot->set_transparent_pen(0);
r17673r17674
278263   tetrisp2_state *state = machine.driver_data<tetrisp2_state>();
279264   state->m_flipscreen_old = -1;
280265
281   state->m_tilemap_bg = tilemap_create(   machine, get_tile_info_bg,TILEMAP_SCAN_ROWS,
266   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
267   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);
268   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);
282269
283                        16, 16, 256, 16);   // rockn ms(main),1,2,3,4
284
285   state->m_tilemap_fg = tilemap_create(   machine, get_tile_info_fg,TILEMAP_SCAN_ROWS,
286
287                        8, 8, 64, 64);
288
289   state->m_tilemap_rot = tilemap_create(   machine, get_tile_info_rot,TILEMAP_SCAN_ROWS,
290
291                        16, 16, 128, 128);
292
293270   state->m_tilemap_bg->set_transparent_pen(0);
294271   state->m_tilemap_fg->set_transparent_pen(0);
295272   state->m_tilemap_rot->set_transparent_pen(0);
r17673r17674
305282   tetrisp2_state *state = machine.driver_data<tetrisp2_state>();
306283   VIDEO_START_CALL( rockntread );
307284
308   state->m_tilemap_sub_bg = tilemap_create(machine, get_tile_info_rocknms_sub_bg,TILEMAP_SCAN_ROWS,
285   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)
286   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);
287   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);
309288
310               16, 16, 32, 256);   // rockn ms(sub)
311
312   state->m_tilemap_sub_fg = tilemap_create(machine, get_tile_info_rocknms_sub_fg,TILEMAP_SCAN_ROWS,
313
314               8, 8, 64, 64);
315
316   state->m_tilemap_sub_rot = tilemap_create( machine, get_tile_info_rocknms_sub_rot,TILEMAP_SCAN_ROWS,
317
318               16, 16, 128, 128);
319
320289   state->m_tilemap_sub_bg->set_transparent_pen(0);
321290   state->m_tilemap_sub_fg->set_transparent_pen(0);
322291   state->m_tilemap_sub_rot->set_transparent_pen(0);
r17673r17674
760729
761730// Temporary hack for stpestag: unaltered ASCII bytes are written in the most significant byte
762731// of code_hi, one of the CPUs probably reads them and writes the actual tile codes somewhere.
763static TILE_GET_INFO( stepstag_get_tile_info_fg )
732TILE_GET_INFO_MEMBER(tetrisp2_state::stepstag_get_tile_info_fg)
764733{
765   stepstag_state *state = machine.driver_data<stepstag_state>();
766   UINT16 code_hi = state->m_vram_fg[ 2 * tile_index + 0];
767   UINT16 code_lo = state->m_vram_fg[ 2 * tile_index + 1];
734   UINT16 code_hi = m_vram_fg[ 2 * tile_index + 0];
735   UINT16 code_lo = m_vram_fg[ 2 * tile_index + 1];
768736
769737   // ASCII -> tile codes
770738   code_hi = (code_hi & 0xff00) >> 8;
771739   code_hi = (code_hi & 0x0f) + (code_hi & 0xf0)*2;
772740   code_hi += 0xbd6c;
773741
774   SET_TILE_INFO(
742   SET_TILE_INFO_MEMBER(
775743         2,
776744         code_hi,
777745         code_lo & 0xf,
r17673r17674
783751   stepstag_state *state = machine.driver_data<stepstag_state>();
784752   state->m_flipscreen_old = -1;
785753
786   state->m_tilemap_bg = tilemap_create(   machine, get_tile_info_bg,TILEMAP_SCAN_ROWS,
787                                 16,16,NX_0,NY_0);
788
754   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);
789755   // Temporary hack
790   state->m_tilemap_fg = tilemap_create(   machine, stepstag_get_tile_info_fg,TILEMAP_SCAN_ROWS,
791                                 8,8,NX_1,NY_1);
792
793   state->m_tilemap_rot = tilemap_create(   machine, get_tile_info_rot,TILEMAP_SCAN_ROWS,
794                                 16,16,NX_0*2,NY_0*2);
795
756   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);
757   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);
796758   state->m_tilemap_bg->set_transparent_pen(0);
797759   state->m_tilemap_fg->set_transparent_pen(0);
798760   state->m_tilemap_rot->set_transparent_pen(0);
trunk/src/mame/video/lastduel.c
r17673r17674
1616
1717***************************************************************************/
1818
19static TILE_GET_INFO( ld_get_bg_tile_info )
19TILE_GET_INFO_MEMBER(lastduel_state::ld_get_bg_tile_info)
2020{
21   lastduel_state *state = machine.driver_data<lastduel_state>();
22   int tile = state->m_scroll2[2 * tile_index] & 0x1fff;
23   int color = state->m_scroll2[2 * tile_index + 1];
24   SET_TILE_INFO(
21   int tile = m_scroll2[2 * tile_index] & 0x1fff;
22   int color = m_scroll2[2 * tile_index + 1];
23   SET_TILE_INFO_MEMBER(
2524         2,
2625         tile,color & 0xf,
2726         TILE_FLIPYX((color & 0x60) >> 5));
2827}
2928
30static TILE_GET_INFO( ld_get_fg_tile_info )
29TILE_GET_INFO_MEMBER(lastduel_state::ld_get_fg_tile_info)
3130{
32   lastduel_state *state = machine.driver_data<lastduel_state>();
33   int tile = state->m_scroll1[2 * tile_index] & 0x1fff;
34   int color = state->m_scroll1[2 * tile_index + 1];
35   SET_TILE_INFO(
31   int tile = m_scroll1[2 * tile_index] & 0x1fff;
32   int color = m_scroll1[2 * tile_index + 1];
33   SET_TILE_INFO_MEMBER(
3634         3,
3735         tile,
3836         color & 0xf,
r17673r17674
4038   tileinfo.group = (color & 0x80) >> 7;
4139}
4240
43static TILE_GET_INFO( get_bg_tile_info )
41TILE_GET_INFO_MEMBER(lastduel_state::get_bg_tile_info)
4442{
45   lastduel_state *state = machine.driver_data<lastduel_state>();
46   int tile = state->m_scroll2[tile_index] & 0x1fff;
47   int color = state->m_scroll2[tile_index + 0x0800];
48   SET_TILE_INFO(
43   int tile = m_scroll2[tile_index] & 0x1fff;
44   int color = m_scroll2[tile_index + 0x0800];
45   SET_TILE_INFO_MEMBER(
4946         2,
5047         tile,
5148         color & 0xf,
5249         TILE_FLIPYX((color & 0x60) >> 5));
5350}
5451
55static TILE_GET_INFO( get_fg_tile_info )
52TILE_GET_INFO_MEMBER(lastduel_state::get_fg_tile_info)
5653{
57   lastduel_state *state = machine.driver_data<lastduel_state>();
58   int tile = state->m_scroll1[tile_index] & 0x1fff;
59   int color = state->m_scroll1[tile_index + 0x0800];
60   SET_TILE_INFO(
54   int tile = m_scroll1[tile_index] & 0x1fff;
55   int color = m_scroll1[tile_index + 0x0800];
56   SET_TILE_INFO_MEMBER(
6157         3,
6258         tile,
6359         color & 0xf,
r17673r17674
6561   tileinfo.group = (color & 0x10) >> 4;
6662}
6763
68static TILE_GET_INFO( get_fix_info )
64TILE_GET_INFO_MEMBER(lastduel_state::get_fix_info)
6965{
70   lastduel_state *state = machine.driver_data<lastduel_state>();
71   int tile = state->m_vram[tile_index];
72   SET_TILE_INFO(
66   int tile = m_vram[tile_index];
67   SET_TILE_INFO_MEMBER(
7368         1,
7469         tile & 0x7ff,
7570         tile>>12,
r17673r17674
8782VIDEO_START( lastduel )
8883{
8984   lastduel_state *state = machine.driver_data<lastduel_state>();
90   state->m_bg_tilemap = tilemap_create(machine, ld_get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
91   state->m_fg_tilemap = tilemap_create(machine, ld_get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
92   state->m_tx_tilemap = tilemap_create(machine, get_fix_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
85   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);
86   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);
87   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);
9388
9489   state->m_fg_tilemap->set_transmask(0, 0xffff, 0x0001);
9590   state->m_fg_tilemap->set_transmask(1, 0xf07f, 0x0f81);
r17673r17674
10398VIDEO_START( madgear )
10499{
105100   lastduel_state *state = machine.driver_data<lastduel_state>();
106   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_COLS,16,16,64,32);
107   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_COLS,16,16,64,32);
108   state->m_tx_tilemap = tilemap_create(machine, get_fix_info,TILEMAP_SCAN_ROWS,8,8,64,32);
101   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);
102   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);
103   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);
109104
110105   state->m_fg_tilemap->set_transmask(0, 0xffff, 0x8000);
111106   state->m_fg_tilemap->set_transmask(1, 0x80ff, 0xff00);
trunk/src/mame/video/alpha68k.c
r17673r17674
3737
3838/******************************************************************************/
3939
40static TILE_GET_INFO( get_tile_info )
40TILE_GET_INFO_MEMBER(alpha68k_state::get_tile_info)
4141{
42   alpha68k_state *state = machine.driver_data<alpha68k_state>();
43   int tile = state->m_videoram[2 * tile_index] & 0xff;
44   int color = state->m_videoram[2 * tile_index + 1] & 0x0f;
42   int tile = m_videoram[2 * tile_index] & 0xff;
43   int color = m_videoram[2 * tile_index + 1] & 0x0f;
4544
46   tile = tile | (state->m_bank_base << 8);
45   tile = tile | (m_bank_base << 8);
4746
48   SET_TILE_INFO(0, tile, color, 0);
47   SET_TILE_INFO_MEMBER(0, tile, color, 0);
4948}
5049
5150WRITE16_MEMBER(alpha68k_state::alpha68k_videoram_w)
r17673r17674
6665{
6766   alpha68k_state *state = machine.driver_data<alpha68k_state>();
6867
69   state->m_fix_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
68   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);
7069   state->m_fix_tilemap->set_transparent_pen(0);
7170}
7271
trunk/src/mame/video/drgnmst.c
r17673r17674
66#include "includes/drgnmst.h"
77
88
9static TILE_GET_INFO( get_drgnmst_fg_tile_info )
9TILE_GET_INFO_MEMBER(drgnmst_state::get_drgnmst_fg_tile_info)
1010{
11   drgnmst_state *state = machine.driver_data<drgnmst_state>();
1211   int tileno, colour, flipyx;
13   tileno = state->m_fg_videoram[tile_index * 2] & 0xfff;
14   colour = state->m_fg_videoram[tile_index * 2 + 1] & 0x1f;
15   flipyx = (state->m_fg_videoram[tile_index * 2 + 1] & 0x60)>>5;
12   tileno = m_fg_videoram[tile_index * 2] & 0xfff;
13   colour = m_fg_videoram[tile_index * 2 + 1] & 0x1f;
14   flipyx = (m_fg_videoram[tile_index * 2 + 1] & 0x60)>>5;
1615
17   SET_TILE_INFO(1, tileno, colour, TILE_FLIPYX(flipyx));
16   SET_TILE_INFO_MEMBER(1, tileno, colour, TILE_FLIPYX(flipyx));
1817}
1918
2019WRITE16_MEMBER(drgnmst_state::drgnmst_fg_videoram_w)
r17673r17674
2322   m_fg_tilemap->mark_tile_dirty(offset / 2);
2423}
2524
26static TILE_GET_INFO( get_drgnmst_bg_tile_info )
25TILE_GET_INFO_MEMBER(drgnmst_state::get_drgnmst_bg_tile_info)
2726{
28   drgnmst_state *state = machine.driver_data<drgnmst_state>();
2927   int tileno, colour, flipyx;
30   tileno = (state->m_bg_videoram[tile_index * 2]& 0x1fff) + 0x800;
31   colour = state->m_bg_videoram[tile_index * 2 + 1] & 0x1f;
32   flipyx = (state->m_bg_videoram[tile_index * 2 + 1] & 0x60) >> 5;
28   tileno = (m_bg_videoram[tile_index * 2]& 0x1fff) + 0x800;
29   colour = m_bg_videoram[tile_index * 2 + 1] & 0x1f;
30   flipyx = (m_bg_videoram[tile_index * 2 + 1] & 0x60) >> 5;
3331
34   SET_TILE_INFO(3, tileno, colour, TILE_FLIPYX(flipyx));
32   SET_TILE_INFO_MEMBER(3, tileno, colour, TILE_FLIPYX(flipyx));
3533}
3634
3735WRITE16_MEMBER(drgnmst_state::drgnmst_bg_videoram_w)
r17673r17674
4038   m_bg_tilemap->mark_tile_dirty(offset / 2);
4139}
4240
43static TILE_GET_INFO( get_drgnmst_md_tile_info )
41TILE_GET_INFO_MEMBER(drgnmst_state::get_drgnmst_md_tile_info)
4442{
45   drgnmst_state *state = machine.driver_data<drgnmst_state>();
4643   int tileno, colour, flipyx;
47   tileno = (state->m_md_videoram[tile_index * 2] & 0x7fff) - 0x2000;
48   colour = state->m_md_videoram[tile_index * 2 + 1] & 0x1f;
49   flipyx = (state->m_md_videoram[tile_index * 2 + 1] & 0x60) >> 5;
44   tileno = (m_md_videoram[tile_index * 2] & 0x7fff) - 0x2000;
45   colour = m_md_videoram[tile_index * 2 + 1] & 0x1f;
46   flipyx = (m_md_videoram[tile_index * 2 + 1] & 0x60) >> 5;
5047
51   SET_TILE_INFO(2, tileno, colour, TILE_FLIPYX(flipyx));
48   SET_TILE_INFO_MEMBER(2, tileno, colour, TILE_FLIPYX(flipyx));
5249}
5350
5451WRITE16_MEMBER(drgnmst_state::drgnmst_md_videoram_w)
r17673r17674
105102}
106103
107104
108static TILEMAP_MAPPER( drgnmst_fg_tilemap_scan_cols )
105TILEMAP_MAPPER_MEMBER(drgnmst_state::drgnmst_fg_tilemap_scan_cols)
109106{
110107   return (col * 32) + (row & 0x1f) + ((row & 0xe0) >> 5) * 2048;
111108}
112109
113static TILEMAP_MAPPER( drgnmst_md_tilemap_scan_cols )
110TILEMAP_MAPPER_MEMBER(drgnmst_state::drgnmst_md_tilemap_scan_cols)
114111{
115112   return (col * 16) + (row & 0x0f) + ((row & 0xf0) >> 4) * 1024;
116113}
117114
118static TILEMAP_MAPPER( drgnmst_bg_tilemap_scan_cols )
115TILEMAP_MAPPER_MEMBER(drgnmst_state::drgnmst_bg_tilemap_scan_cols)
119116{
120117   return (col * 8) + (row & 0x07) + ((row & 0xf8) >> 3) * 512;
121118}
r17673r17674
123120VIDEO_START(drgnmst)
124121{
125122   drgnmst_state *state = machine.driver_data<drgnmst_state>();
126   state->m_fg_tilemap = tilemap_create(machine, get_drgnmst_fg_tile_info, drgnmst_fg_tilemap_scan_cols, 8, 8, 64,64);
123   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);
127124   state->m_fg_tilemap->set_transparent_pen(15);
128125
129   state->m_md_tilemap = tilemap_create(machine, get_drgnmst_md_tile_info, drgnmst_md_tilemap_scan_cols, 16, 16, 64,64);
126   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);
130127   state->m_md_tilemap->set_transparent_pen(15);
131128
132   state->m_bg_tilemap = tilemap_create(machine, get_drgnmst_bg_tile_info, drgnmst_bg_tilemap_scan_cols, 32, 32, 64,64);
129   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);
133130   state->m_bg_tilemap->set_transparent_pen(15);
134131
135132   // do the other tilemaps have rowscroll too? probably not ..
trunk/src/mame/video/cischeat.c
r17673r17674
153153WRITE16_MEMBER(cischeat_state::cischeat_scrollram_1_w){ scrollram_w(&space, offset, data, mem_mask, 1); }
154154WRITE16_MEMBER(cischeat_state::cischeat_scrollram_2_w){ scrollram_w(&space, offset, data, mem_mask, 2); }
155155
156static TILEMAP_MAPPER( cischeat_scan_8x8 )
156TILEMAP_MAPPER_MEMBER(cischeat_state::cischeat_scan_8x8)
157157{
158158   return (col * TILES_PER_PAGE_Y) +
159159         (row / TILES_PER_PAGE_Y) * TILES_PER_PAGE * (num_cols / TILES_PER_PAGE_X) +
160160         (row % TILES_PER_PAGE_Y);
161161}
162162
163static TILEMAP_MAPPER( cischeat_scan_16x16 )
163TILEMAP_MAPPER_MEMBER(cischeat_state::cischeat_scan_16x16)
164164{
165165   return ( ((col / 2) * (TILES_PER_PAGE_Y / 2)) +
166166          ((row / 2) / (TILES_PER_PAGE_Y / 2)) * (TILES_PER_PAGE / 4) * (num_cols / TILES_PER_PAGE_X) +
167167          ((row / 2) % (TILES_PER_PAGE_Y / 2)) )*4 + (row&1) + (col&1)*2;
168168}
169169
170static TILE_GET_INFO( cischeat_get_scroll_tile_info_8x8 )
170TILE_GET_INFO_MEMBER(cischeat_state::cischeat_get_scroll_tile_info_8x8)
171171{
172   cischeat_state *state = machine.driver_data<cischeat_state>();
173172   int tmap = (FPTR)param;
174   UINT16 code = state->m_scrollram[tmap][tile_index];
175   SET_TILE_INFO(tmap, (code & 0xfff), code >> (16 - state->m_bits_per_color_code), 0);
173   UINT16 code = m_scrollram[tmap][tile_index];
174   SET_TILE_INFO_MEMBER(tmap, (code & 0xfff), code >> (16 - m_bits_per_color_code), 0);
176175}
177176
178static TILE_GET_INFO( cischeat_get_scroll_tile_info_16x16 )
177TILE_GET_INFO_MEMBER(cischeat_state::cischeat_get_scroll_tile_info_16x16)
179178{
180   cischeat_state *state = machine.driver_data<cischeat_state>();
181179   int tmap = (FPTR)param;
182   UINT16 code = state->m_scrollram[tmap][tile_index/4];
183   SET_TILE_INFO(tmap, (code & 0xfff) * 4 + (tile_index & 3), code >> (16 - state->m_bits_per_color_code), 0);
180   UINT16 code = m_scrollram[tmap][tile_index/4];
181   SET_TILE_INFO_MEMBER(tmap, (code & 0xfff) * 4 + (tile_index & 3), code >> (16 - m_bits_per_color_code), 0);
184182}
185183
186184static void create_tilemaps(running_machine &machine)
r17673r17674
191189   for (layer = 0; layer < 3; layer++)
192190   {
193191      /* 16x16 tilemaps */
194      state->m_tilemap[layer][0][0] = tilemap_create(machine, cischeat_get_scroll_tile_info_16x16, cischeat_scan_16x16,
192      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),
195193                         8,8, TILES_PER_PAGE_X * 16, TILES_PER_PAGE_Y * 2);
196      state->m_tilemap[layer][0][1] = tilemap_create(machine, cischeat_get_scroll_tile_info_16x16, cischeat_scan_16x16,
194      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),
197195                         8,8, TILES_PER_PAGE_X * 8, TILES_PER_PAGE_Y * 4);
198      state->m_tilemap[layer][0][2] = tilemap_create(machine, cischeat_get_scroll_tile_info_16x16, cischeat_scan_16x16,
196      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),
199197                         8,8, TILES_PER_PAGE_X * 4, TILES_PER_PAGE_Y * 8);
200      state->m_tilemap[layer][0][3] = tilemap_create(machine, cischeat_get_scroll_tile_info_16x16, cischeat_scan_16x16,
198      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),
201199                         8,8, TILES_PER_PAGE_X * 2, TILES_PER_PAGE_Y * 16);
202200
203201      /* 8x8 tilemaps */
204      state->m_tilemap[layer][1][0] = tilemap_create(machine, cischeat_get_scroll_tile_info_8x8, cischeat_scan_8x8,
202      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),
205203                         8,8, TILES_PER_PAGE_X * 8, TILES_PER_PAGE_Y * 1);
206      state->m_tilemap[layer][1][1] = tilemap_create(machine, cischeat_get_scroll_tile_info_8x8, cischeat_scan_8x8,
204      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),
207205                         8,8, TILES_PER_PAGE_X * 4, TILES_PER_PAGE_Y * 2);
208      state->m_tilemap[layer][1][2] = tilemap_create(machine, cischeat_get_scroll_tile_info_8x8, cischeat_scan_8x8,
206      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),
209207                         8,8, TILES_PER_PAGE_X * 4, TILES_PER_PAGE_Y * 2);
210      state->m_tilemap[layer][1][3] = tilemap_create(machine, cischeat_get_scroll_tile_info_8x8, cischeat_scan_8x8,
208      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),
211209                         8,8, TILES_PER_PAGE_X * 2, TILES_PER_PAGE_Y * 4);
212210
213211      /* set user data and transparency */
trunk/src/mame/video/freekick.c
r17673r17674
44#include "includes/freekick.h"
55
66
7static TILE_GET_INFO( get_freek_tile_info )
7TILE_GET_INFO_MEMBER(freekick_state::get_freek_tile_info)
88{
9   freekick_state *state = machine.driver_data<freekick_state>();
109   int tileno, palno;
1110
12   tileno = state->m_videoram[tile_index] + ((state->m_videoram[tile_index + 0x400] & 0xe0) << 3);
13   palno = state->m_videoram[tile_index + 0x400] & 0x1f;
14   SET_TILE_INFO(0, tileno, palno, 0);
11   tileno = m_videoram[tile_index] + ((m_videoram[tile_index + 0x400] & 0xe0) << 3);
12   palno = m_videoram[tile_index + 0x400] & 0x1f;
13   SET_TILE_INFO_MEMBER(0, tileno, palno, 0);
1514}
1615
1716
1817VIDEO_START( freekick )
1918{
2019   freekick_state *state = machine.driver_data<freekick_state>();
21   state->m_freek_tilemap = tilemap_create(machine, get_freek_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
20   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);
2221}
2322
2423
trunk/src/mame/video/namcos22.c
r17673r17674
17931793} /* UpdatePalette */
17941794
17951795
1796static TILE_GET_INFO( TextTilemapGetInfo )
1796TILE_GET_INFO_MEMBER(namcos22_state::TextTilemapGetInfo)
17971797{
1798   namcos22_state *state = machine.driver_data<namcos22_state>();
1799   UINT16 data = nthword( state->m_textram,tile_index );
1798   UINT16 data = nthword( m_textram,tile_index );
18001799   /**
18011800    * xxxx.----.----.---- palette select
18021801    * ----.xx--.----.---- flip
18031802    * ----.--xx.xxxx.xxxx code
18041803    */
1805   SET_TILE_INFO( GFX_CHAR,data&0x03ff,data>>12,TILE_FLIPYX((data&0x0c00)>>10) );
1804   SET_TILE_INFO_MEMBER( GFX_CHAR,data&0x03ff,data>>12,TILE_FLIPYX((data&0x0c00)>>10) );
18061805}
18071806
18081807READ32_MEMBER(namcos22_state::namcos22_textram_r)
r17673r17674
27312730   int code;
27322731
27332732   state->m_mix_bitmap = auto_bitmap_ind16_alloc(machine,640,480);
2734   state->m_bgtilemap = tilemap_create( machine, TextTilemapGetInfo,TILEMAP_SCAN_ROWS,16,16,64,64 );
2733   state->m_bgtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(namcos22_state::TextTilemapGetInfo),state),TILEMAP_SCAN_ROWS,16,16,64,64 );
27352734   state->m_bgtilemap->set_transparent_pen(0xf);
27362735
27372736   state->m_mbDSPisActive = 0;
trunk/src/mame/video/xybots.c
r17673r17674
1717 *
1818 *************************************/
1919
20static TILE_GET_INFO( get_alpha_tile_info )
20TILE_GET_INFO_MEMBER(xybots_state::get_alpha_tile_info)
2121{
22   xybots_state *state = machine.driver_data<xybots_state>();
23   UINT16 data = state->m_alpha[tile_index];
22   UINT16 data = m_alpha[tile_index];
2423   int code = data & 0x3ff;
2524   int color = (data >> 12) & 7;
2625   int opaque = data & 0x8000;
27   SET_TILE_INFO(2, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
26   SET_TILE_INFO_MEMBER(2, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
2827}
2928
3029
31static TILE_GET_INFO( get_playfield_tile_info )
30TILE_GET_INFO_MEMBER(xybots_state::get_playfield_tile_info)
3231{
33   xybots_state *state = machine.driver_data<xybots_state>();
34   UINT16 data = state->m_playfield[tile_index];
32   UINT16 data = m_playfield[tile_index];
3533   int code = data & 0x1fff;
3634   int color = (data >> 11) & 0x0f;
37   SET_TILE_INFO(0, code, color, (data >> 15) & 1);
35   SET_TILE_INFO_MEMBER(0, code, color, (data >> 15) & 1);
3836}
3937
4038
r17673r17674
8684   xybots_state *state = machine.driver_data<xybots_state>();
8785
8886   /* initialize the playfield */
89   state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_ROWS,  8,8, 64,32);
87   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);
9088
9189   /* initialize the motion objects */
9290   atarimo_init(machine, 0, &modesc);
9391
9492   /* initialize the alphanumerics */
95   state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS,  8,8, 64,32);
93   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);
9694   state->m_alpha_tilemap->set_transparent_pen(0);
9795}
9896
trunk/src/mame/video/galaxold.c
r17673r17674
1212#define BACKGROUND_COLOR_BASE   (BULLETS_COLOR_BASE + 2)
1313
1414
15static TILE_GET_INFO( get_tile_info );
16static TILE_GET_INFO( rockclim_get_tile_info );
15
16
1717static void mooncrst_modify_charcode(running_machine &machine, UINT16 *code, UINT8 x);
1818static void   pisces_modify_charcode(running_machine &machine, UINT16 *code, UINT8 x);
1919static void mimonkey_modify_charcode(running_machine &machine, UINT16 *code, UINT8 x);
r17673r17674
478478{
479479   galaxold_state *state = machine.driver_data<galaxold_state>();
480480   video_start_common(machine);
481   state->m_bg_tilemap = tilemap_create(machine, get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
481   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);
482482   state->m_bg_tilemap->set_transparent_pen(0);
483483
484484   state->m_bg_tilemap->set_scroll_cols(32);
r17673r17674
694694{
695695   galaxold_state *state = machine.driver_data<galaxold_state>();
696696   VIDEO_START_CALL(galaxold);
697   state->m_rockclim_tilemap = tilemap_create(machine, rockclim_get_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
697   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);
698698
699699   state->m_draw_background = rockclim_draw_background;
700700   state->m_modify_charcode = mooncrst_modify_charcode;
r17673r17674
705705   state_save_register_global(machine, state->m_rockclim_h);
706706}
707707
708static TILE_GET_INFO( drivfrcg_get_tile_info )
708TILE_GET_INFO_MEMBER(galaxold_state::drivfrcg_get_tile_info)
709709{
710   galaxold_state *state = machine.driver_data<galaxold_state>();
711   int code = state->m_videoram[tile_index];
710   int code = m_videoram[tile_index];
712711   UINT8 x = tile_index & 0x1f;
713   UINT8 color = state->m_attributesram[(x << 1) | 1] & 7;
714   UINT8 bank = state->m_attributesram[(x << 1) | 1] & 0x30;
712   UINT8 color = m_attributesram[(x << 1) | 1] & 7;
713   UINT8 bank = m_attributesram[(x << 1) | 1] & 0x30;
715714
716715   code |= (bank << 4);
717   color |= ((state->m_attributesram[(x << 1) | 1] & 0x40) >> 3);
716   color |= ((m_attributesram[(x << 1) | 1] & 0x40) >> 3);
718717
719   SET_TILE_INFO(0, code, color, 0);
718   SET_TILE_INFO_MEMBER(0, code, color, 0);
720719}
721720
722721VIDEO_START( drivfrcg )
723722{
724723   galaxold_state *state = machine.driver_data<galaxold_state>();
725724   video_start_common(machine);
726   state->m_bg_tilemap = tilemap_create(machine, drivfrcg_get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
725   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);
727726
728727   state->m_bg_tilemap->set_transparent_pen(0);
729728   state->m_bg_tilemap->set_scroll_cols(32);
r17673r17674
738737{
739738   galaxold_state *state = machine.driver_data<galaxold_state>();
740739   video_start_common(machine);
741   state->m_bg_tilemap = tilemap_create(machine, drivfrcg_get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
740   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);
742741
743742   state->m_bg_tilemap->set_transparent_pen(0);
744743   state->m_bg_tilemap->set_scroll_cols(32);
r17673r17674
759758   m_bg_tilemap->mark_all_dirty();
760759}
761760
762static TILE_GET_INFO( racknrol_get_tile_info )
761TILE_GET_INFO_MEMBER(galaxold_state::racknrol_get_tile_info)
763762{
764   galaxold_state *state = machine.driver_data<galaxold_state>();
765   int code = state->m_videoram[tile_index];
763   int code = m_videoram[tile_index];
766764   UINT8 x = tile_index & 0x1f;
767   UINT8 color = state->m_attributesram[(x << 1) | 1] & 7;
768   UINT8 bank = state->m_racknrol_tiles_bank[x] & 7;
765   UINT8 color = m_attributesram[(x << 1) | 1] & 7;
766   UINT8 bank = m_racknrol_tiles_bank[x] & 7;
769767
770768   code |= (bank << 8);
771769
772   SET_TILE_INFO(0, code, color, 0);
770   SET_TILE_INFO_MEMBER(0, code, color, 0);
773771}
774772
775773VIDEO_START( racknrol )
776774{
777775   galaxold_state *state = machine.driver_data<galaxold_state>();
778776   video_start_common(machine);
779   state->m_bg_tilemap = tilemap_create(machine, racknrol_get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
777   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);
780778
781779   state->m_bg_tilemap->set_transparent_pen(0);
782780   state->m_bg_tilemap->set_scroll_cols(32);
r17673r17674
792790   state->m_modify_spritecode = batman2_modify_spritecode;
793791}
794792
795static TILE_GET_INFO( dambustr_get_tile_info2 )
793TILE_GET_INFO_MEMBER(galaxold_state::dambustr_get_tile_info2)
796794{
797   galaxold_state *state = machine.driver_data<galaxold_state>();
798795   UINT8 x = tile_index & 0x1f;
799796
800   UINT16 code = state->m_dambustr_videoram2[tile_index];
801   UINT8 color = state->m_attributesram[(x << 1) | 1] & state->m_color_mask;
797   UINT16 code = m_dambustr_videoram2[tile_index];
798   UINT8 color = m_attributesram[(x << 1) | 1] & m_color_mask;
802799
803   if (state->m_modify_charcode)
800   if (m_modify_charcode)
804801   {
805      (*state->m_modify_charcode)(machine, &code, x);
802      (*m_modify_charcode)(machine(), &code, x);
806803   }
807804
808   if (state->m_modify_color)
805   if (m_modify_color)
809806   {
810      (*state->m_modify_color)(&color);
807      (*m_modify_color)(&color);
811808   }
812809
813   SET_TILE_INFO(0, code, color, 0);
810   SET_TILE_INFO_MEMBER(0, code, color, 0);
814811}
815812
816813VIDEO_START( dambustr )
r17673r17674
836833
837834   /* make a copy of the tilemap to emulate background priority */
838835   state->m_dambustr_videoram2 = auto_alloc_array(machine, UINT8, 0x0400);
839   state->m_dambustr_tilemap2 = tilemap_create(machine, dambustr_get_tile_info2,TILEMAP_SCAN_ROWS,8,8,32,32);
836   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);
840837
841838   state->m_dambustr_tilemap2->set_transparent_pen(0);
842839}
r17673r17674
16601657
16611658
16621659
1663static TILE_GET_INFO( get_tile_info )
1660TILE_GET_INFO_MEMBER(galaxold_state::get_tile_info)
16641661{
1665   galaxold_state *state = machine.driver_data<galaxold_state>();
16661662   UINT8 x = tile_index & 0x1f;
16671663
1668   UINT16 code = state->m_videoram[tile_index];
1669   UINT8 color = state->m_attributesram[(x << 1) | 1] & state->m_color_mask;
1664   UINT16 code = m_videoram[tile_index];
1665   UINT8 color = m_attributesram[(x << 1) | 1] & m_color_mask;
16701666
1671   if (state->m_modify_charcode)
1667   if (m_modify_charcode)
16721668   {
1673      (*state->m_modify_charcode)(machine, &code, x);
1669      (*m_modify_charcode)(machine(), &code, x);
16741670   }
16751671
1676   if (state->m_modify_color)
1672   if (m_modify_color)
16771673   {
1678      (*state->m_modify_color)(&color);
1674      (*m_modify_color)(&color);
16791675   }
16801676
1681   SET_TILE_INFO(0, code, color, 0);
1677   SET_TILE_INFO_MEMBER(0, code, color, 0);
16821678}
16831679
1684static TILE_GET_INFO( rockclim_get_tile_info )
1680TILE_GET_INFO_MEMBER(galaxold_state::rockclim_get_tile_info)
16851681{
1686   galaxold_state *state = machine.driver_data<galaxold_state>();
1687   UINT16 code = state->m_rockclim_videoram[tile_index];
1688   SET_TILE_INFO(2, code, 0, 0);
1682   UINT16 code = m_rockclim_videoram[tile_index];
1683   SET_TILE_INFO_MEMBER(2, code, 0, 0);
16891684}
16901685
16911686static void draw_bullets_common(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
trunk/src/mame/video/centiped.c
r17673r17674
1414 *
1515 *************************************/
1616
17static TILE_GET_INFO( centiped_get_tile_info )
17TILE_GET_INFO_MEMBER(centiped_state::centiped_get_tile_info)
1818{
19   centiped_state *state = machine.driver_data<centiped_state>();
20   UINT8 *videoram = state->m_videoram;
19   UINT8 *videoram = m_videoram;
2120
2221   int data = videoram[tile_index];
23   SET_TILE_INFO(0, (data & 0x3f) + 0x40, 0, TILE_FLIPYX(data >> 6));
22   SET_TILE_INFO_MEMBER(0, (data & 0x3f) + 0x40, 0, TILE_FLIPYX(data >> 6));
2423}
2524
2625
27static TILE_GET_INFO( warlords_get_tile_info )
26TILE_GET_INFO_MEMBER(centiped_state::warlords_get_tile_info)
2827{
29   centiped_state *state = machine.driver_data<centiped_state>();
30   UINT8 *videoram = state->m_videoram;
28   UINT8 *videoram = m_videoram;
3129   int data = videoram[tile_index];
32   int color = ((tile_index & 0x10) >> 4) | ((tile_index & 0x200) >> 8) | (state->m_flipscreen >> 5);
30   int color = ((tile_index & 0x10) >> 4) | ((tile_index & 0x200) >> 8) | (m_flipscreen >> 5);
3331
34   SET_TILE_INFO(0, data & 0x3f, color, TILE_FLIPYX(data >> 6));
32   SET_TILE_INFO_MEMBER(0, data & 0x3f, color, TILE_FLIPYX(data >> 6));
3533}
3634
3735
38static TILE_GET_INFO( milliped_get_tile_info )
36TILE_GET_INFO_MEMBER(centiped_state::milliped_get_tile_info)
3937{
40   centiped_state *state = machine.driver_data<centiped_state>();
41   UINT8 *videoram = state->m_videoram;
38   UINT8 *videoram = m_videoram;
4239   int data = videoram[tile_index];
43   int bank = ((data >> 6) & 1) | (state->m_gfx_bank << 1);
40   int bank = ((data >> 6) & 1) | (m_gfx_bank << 1);
4441   int color = (data >> 6) & 3;
4542   /* Flip both x and y if flipscreen is non-zero */
46   int flip_tiles = (state->m_flipscreen) ? 0x03 : 0;
43   int flip_tiles = (m_flipscreen) ? 0x03 : 0;
4744
48   SET_TILE_INFO(0, (data & 0x3f) + 0x40 + (bank * 0x80), color, TILE_FLIPYX(flip_tiles));
45   SET_TILE_INFO_MEMBER(0, (data & 0x3f) + 0x40 + (bank * 0x80), color, TILE_FLIPYX(flip_tiles));
4946}
5047
5148
52static TILE_GET_INFO( bullsdrt_get_tile_info )
49TILE_GET_INFO_MEMBER(centiped_state::bullsdrt_get_tile_info)
5350{
54   centiped_state *state = machine.driver_data<centiped_state>();
55   UINT8 *videoram = state->m_videoram;
51   UINT8 *videoram = m_videoram;
5652   int data = videoram[tile_index];
57   int bank = state->m_bullsdrt_tiles_bankram[tile_index & 0x1f] & 0x0f;
53   int bank = m_bullsdrt_tiles_bankram[tile_index & 0x1f] & 0x0f;
5854
59   SET_TILE_INFO(0, (data & 0x3f) + 0x40 * bank, 0, TILE_FLIPYX(data >> 6));
55   SET_TILE_INFO_MEMBER(0, (data & 0x3f) + 0x40 * bank, 0, TILE_FLIPYX(data >> 6));
6056}
6157
6258
r17673r17674
10399   init_penmask(machine);
104100
105101   centiped_state *state = machine.driver_data<centiped_state>();
106   state->m_bg_tilemap = tilemap_create(machine, centiped_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
102   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);
107103}
108104
109105
r17673r17674
112108   init_common(machine);
113109
114110   centiped_state *state = machine.driver_data<centiped_state>();
115   state->m_bg_tilemap = tilemap_create(machine, warlords_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
111   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);
116112}
117113
118114
r17673r17674
122118   init_penmask(machine);
123119
124120   centiped_state *state = machine.driver_data<centiped_state>();
125   state->m_bg_tilemap = tilemap_create(machine, milliped_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
121   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);
126122}
127123
128124
r17673r17674
132128   init_penmask(machine);
133129
134130   centiped_state *state = machine.driver_data<centiped_state>();
135   state->m_bg_tilemap = tilemap_create(machine, bullsdrt_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
131   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);
136132}
137133
138134
trunk/src/mame/video/wgp.c
r17673r17674
1818         TILE_FLIPYX( (attr & 0xc0) >> 6));
1919}
2020
21static TILE_GET_INFO( get_piv0_tile_info )
21TILE_GET_INFO_MEMBER(wgp_state::get_piv0_tile_info)
2222{
23   common_get_piv_tile_info(machine, tileinfo, tile_index, 0);
23   common_get_piv_tile_info(machine(), tileinfo, tile_index, 0);
2424}
2525
26static TILE_GET_INFO( get_piv1_tile_info )
26TILE_GET_INFO_MEMBER(wgp_state::get_piv1_tile_info)
2727{
28   common_get_piv_tile_info(machine, tileinfo, tile_index, 1);
28   common_get_piv_tile_info(machine(), tileinfo, tile_index, 1);
2929}
3030
31static TILE_GET_INFO( get_piv2_tile_info )
31TILE_GET_INFO_MEMBER(wgp_state::get_piv2_tile_info)
3232{
33   common_get_piv_tile_info(machine, tileinfo, tile_index, 2);
33   common_get_piv_tile_info(machine(), tileinfo, tile_index, 2);
3434}
3535
3636
r17673r17674
3838{
3939   wgp_state *state = machine.driver_data<wgp_state>();
4040
41   state->m_piv_tilemap[0] = tilemap_create(machine, get_piv0_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
42   state->m_piv_tilemap[1] = tilemap_create(machine, get_piv1_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
43   state->m_piv_tilemap[2] = tilemap_create(machine, get_piv2_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
41   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);
42   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);
43   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);
4444
4545   state->m_piv_xoffs = piv_xoffs;
4646   state->m_piv_yoffs = piv_yoffs;
trunk/src/mame/video/atarisy1.c
r17673r17674
9292 *
9393 *************************************/
9494
95static TILE_GET_INFO( get_alpha_tile_info )
95TILE_GET_INFO_MEMBER(atarisy1_state::get_alpha_tile_info)
9696{
97   atarisy1_state *state = machine.driver_data<atarisy1_state>();
98   UINT16 data = state->m_alpha[tile_index];
97   UINT16 data = m_alpha[tile_index];
9998   int code = data & 0x3ff;
10099   int color = (data >> 10) & 0x07;
101100   int opaque = data & 0x2000;
102   SET_TILE_INFO(0, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
101   SET_TILE_INFO_MEMBER(0, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
103102}
104103
105104
106static TILE_GET_INFO( get_playfield_tile_info )
105TILE_GET_INFO_MEMBER(atarisy1_state::get_playfield_tile_info)
107106{
108   atarisy1_state *state = machine.driver_data<atarisy1_state>();
109   UINT16 data = state->m_playfield[tile_index];
110   UINT16 lookup = state->m_playfield_lookup[((data >> 8) & 0x7f) | (state->m_playfield_tile_bank << 7)];
107   UINT16 data = m_playfield[tile_index];
108   UINT16 lookup = m_playfield_lookup[((data >> 8) & 0x7f) | (m_playfield_tile_bank << 7)];
111109   int gfxindex = (lookup >> 8) & 15;
112110   int code = ((lookup & 0xff) << 8) | (data & 0xff);
113   int color = 0x20 + (((lookup >> 12) & 15) << state->m_bank_color_shift[gfxindex]);
114   SET_TILE_INFO(gfxindex, code, color, (data >> 15) & 1);
111   int color = 0x20 + (((lookup >> 12) & 15) << m_bank_color_shift[gfxindex]);
112   SET_TILE_INFO_MEMBER(gfxindex, code, color, (data >> 15) & 1);
115113}
116114
117115
r17673r17674
171169   decode_gfx(machine, state->m_playfield_lookup, motable);
172170
173171   /* initialize the playfield */
174   state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_ROWS,  8,8, 64,64);
172   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);
175173
176174   /* initialize the motion objects */
177175   atarimo_init(machine, 0, &modesc);
178176
179177   /* initialize the alphanumerics */
180   state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS,  8,8, 64,32);
178   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);
181179   state->m_alpha_tilemap->set_transparent_pen(0);
182180
183181   /* modify the motion object code lookup */
trunk/src/mame/video/welltris.c
r17673r17674
191191   }
192192}
193193
194static TILE_GET_INFO( get_welltris_tile_info )
194TILE_GET_INFO_MEMBER(welltris_state::get_welltris_tile_info)
195195{
196   welltris_state *state = machine.driver_data<welltris_state>();
197   UINT16 code = state->m_charvideoram[tile_index];
196   UINT16 code = m_charvideoram[tile_index];
198197   int bank = (code & 0x1000) >> 12;
199198
200   SET_TILE_INFO(
199   SET_TILE_INFO_MEMBER(
201200         0,
202         (code & 0x0fff) + (state->m_gfxbank[bank] << 12),
203         ((code & 0xe000) >> 13) + (8 * state->m_charpalettebank),
201         (code & 0x0fff) + (m_gfxbank[bank] << 12),
202         ((code & 0xe000) >> 13) + (8 * m_charpalettebank),
204203         0);
205204}
206205
r17673r17674
214213VIDEO_START( welltris )
215214{
216215   welltris_state *state = machine.driver_data<welltris_state>();
217   state->m_char_tilemap = tilemap_create(machine, get_welltris_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 64, 32);
216   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);
218217
219218   state->m_char_tilemap->set_transparent_pen(15);
220219}
trunk/src/mame/video/sprint8.c
r17673r17674
6363}
6464
6565
66static TILE_GET_INFO( get_tile_info1 )
66TILE_GET_INFO_MEMBER(sprint8_state::get_tile_info1)
6767{
68   sprint8_state *state = machine.driver_data<sprint8_state>();
69   UINT8 code = state->m_video_ram[tile_index];
68   UINT8 code = m_video_ram[tile_index];
7069
7170   int color = 0;
7271
r17673r17674
8584
8685   }
8786
88   SET_TILE_INFO(code >> 7, code, color, (code & 0x40) ? (TILE_FLIPX | TILE_FLIPY) : 0);
87   SET_TILE_INFO_MEMBER(code >> 7, code, color, (code & 0x40) ? (TILE_FLIPX | TILE_FLIPY) : 0);
8988}
9089
9190
92static TILE_GET_INFO( get_tile_info2 )
91TILE_GET_INFO_MEMBER(sprint8_state::get_tile_info2)
9392{
94   sprint8_state *state = machine.driver_data<sprint8_state>();
95   UINT8 code = state->m_video_ram[tile_index];
93   UINT8 code = m_video_ram[tile_index];
9694
9795   int color = 0;
9896
r17673r17674
10199   else
102100      color = 17;
103101
104   SET_TILE_INFO(code >> 7, code, color, (code & 0x40) ? (TILE_FLIPX | TILE_FLIPY) : 0);
102   SET_TILE_INFO_MEMBER(code >> 7, code, color, (code & 0x40) ? (TILE_FLIPX | TILE_FLIPY) : 0);
105103}
106104
107105
r17673r17674
119117   machine.primary_screen->register_screen_bitmap(state->m_helper1);
120118   machine.primary_screen->register_screen_bitmap(state->m_helper2);
121119
122   state->m_tilemap1 = tilemap_create(machine, get_tile_info1, TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
123   state->m_tilemap2 = tilemap_create(machine, get_tile_info2, TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
120   state->m_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sprint8_state::get_tile_info1),state), TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
121   state->m_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sprint8_state::get_tile_info2),state), TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
124122
125123   state->m_tilemap1->set_scrolly(0, +24);
126124   state->m_tilemap2->set_scrolly(0, +24);
trunk/src/mame/video/gumbo.c
r17673r17674
1010   m_bg_tilemap->mark_tile_dirty(offset);
1111}
1212
13static TILE_GET_INFO( get_gumbo_bg_tile_info )
13TILE_GET_INFO_MEMBER(gumbo_state::get_gumbo_bg_tile_info)
1414{
15   gumbo_state *state = machine.driver_data<gumbo_state>();
16   int tileno = state->m_bg_videoram[tile_index];
17   SET_TILE_INFO(0, tileno, 0, 0);
15   int tileno = m_bg_videoram[tile_index];
16   SET_TILE_INFO_MEMBER(0, tileno, 0, 0);
1817}
1918
2019
r17673r17674
2423   m_fg_tilemap->mark_tile_dirty(offset);
2524}
2625
27static TILE_GET_INFO( get_gumbo_fg_tile_info )
26TILE_GET_INFO_MEMBER(gumbo_state::get_gumbo_fg_tile_info)
2827{
29   gumbo_state *state = machine.driver_data<gumbo_state>();
30   int tileno = state->m_fg_videoram[tile_index];
31   SET_TILE_INFO(1, tileno, 1, 0);
28   int tileno = m_fg_videoram[tile_index];
29   SET_TILE_INFO_MEMBER(1, tileno, 1, 0);
3230}
3331
3432
3533VIDEO_START( gumbo )
3634{
3735   gumbo_state *state = machine.driver_data<gumbo_state>();
38   state->m_bg_tilemap = tilemap_create(machine, get_gumbo_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
39   state->m_fg_tilemap = tilemap_create(machine, get_gumbo_fg_tile_info, TILEMAP_SCAN_ROWS, 4, 4, 128, 64);
36   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);
37   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);
4038   state->m_fg_tilemap->set_transparent_pen(0xff);
4139}
4240
trunk/src/mame/video/ssv.c
r17673r17674
208208   machine.gfx[1]->set_source((UINT8 *)state->m_eaglshot_gfxram);
209209}
210210
211static TILE_GET_INFO( get_tile_info_0 )
211TILE_GET_INFO_MEMBER(ssv_state::get_tile_info_0)
212212{
213   ssv_state *state = machine.driver_data<ssv_state>();
214   UINT16 tile = state->m_gdfs_tmapram[tile_index];
213   UINT16 tile = m_gdfs_tmapram[tile_index];
215214
216   SET_TILE_INFO(2, tile, 0, TILE_FLIPXY( tile >> 14 ));
215   SET_TILE_INFO_MEMBER(2, tile, 0, TILE_FLIPXY( tile >> 14 ));
217216}
218217
219218WRITE16_MEMBER(ssv_state::gdfs_tmapram_w)
r17673r17674
230229   VIDEO_START_CALL(ssv);
231230
232231
233   state->m_gdfs_tmap         =   tilemap_create(   machine, get_tile_info_0, TILEMAP_SCAN_ROWS,
234                                  16,16, 0x100,0x100   );
232   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);
235233
236234   state->m_gdfs_tmap->set_transparent_pen(0);
237235}
trunk/src/mame/video/atarig42.c
r17673r17674
3131 *
3232 *************************************/
3333
34static TILE_GET_INFO( get_alpha_tile_info )
34TILE_GET_INFO_MEMBER(atarig42_state::get_alpha_tile_info)
3535{
36   atarig42_state *state = machine.driver_data<atarig42_state>();
37   UINT16 data = state->m_alpha[tile_index];
36   UINT16 data = m_alpha[tile_index];
3837   int code = data & 0xfff;
3938   int color = (data >> 12) & 0x0f;
4039   int opaque = data & 0x8000;
41   SET_TILE_INFO(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
40   SET_TILE_INFO_MEMBER(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
4241}
4342
4443
45static TILE_GET_INFO( get_playfield_tile_info )
44TILE_GET_INFO_MEMBER(atarig42_state::get_playfield_tile_info)
4645{
47   atarig42_state *state = machine.driver_data<atarig42_state>();
48   UINT16 data = state->m_playfield[tile_index];
49   int code = (state->m_playfield_tile_bank << 12) | (data & 0xfff);
50   int color = (state->m_playfield_base >> 5) + ((state->m_playfield_color_bank << 3) & 0x18) + ((data >> 12) & 7);
51   SET_TILE_INFO(0, code, color, (data >> 15) & 1);
52   tileinfo.category = (state->m_playfield_color_bank >> 2) & 7;
46   UINT16 data = m_playfield[tile_index];
47   int code = (m_playfield_tile_bank << 12) | (data & 0xfff);
48   int color = (m_playfield_base >> 5) + ((m_playfield_color_bank << 3) & 0x18) + ((data >> 12) & 7);
49   SET_TILE_INFO_MEMBER(0, code, color, (data >> 15) & 1);
50   tileinfo.category = (m_playfield_color_bank >> 2) & 7;
5351}
5452
5553
56static TILEMAP_MAPPER( atarig42_playfield_scan )
54TILEMAP_MAPPER_MEMBER(atarig42_state::atarig42_playfield_scan)
5755{
5856   int bank = 1 - (col / (num_cols / 2));
5957   return bank * (num_rows * num_cols / 2) + row * (num_cols / 2) + (col % (num_cols / 2));
r17673r17674
7573   atarigen_blend_gfx(machine, 0, 2, 0x0f, 0x30);
7674
7775   /* initialize the playfield */
78   state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, atarig42_playfield_scan,  8,8, 128,64);
76   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);
7977
8078   /* initialize the motion objects */
8179   state->m_rle = machine.device("rle");
8280
8381   /* initialize the alphanumerics */
84   state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS,  8,8, 64,32);
82   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);
8583   state->m_alpha_tilemap->set_transparent_pen(0);
8684
8785   /* save states */
trunk/src/mame/video/tceptor.c
r17673r17674
104104   return TX_TILE_OFFSET_CENTER + (x - 1) + y * 32;
105105}
106106
107static TILE_GET_INFO( get_tx_tile_info )
107TILE_GET_INFO_MEMBER(tceptor_state::get_tx_tile_info)
108108{
109   tceptor_state *state = machine.driver_data<tceptor_state>();
110109   int offset = get_tile_addr(tile_index);
111   int code = state->m_tile_ram[offset];
112   int color = state->m_tile_attr[offset];
110   int code = m_tile_ram[offset];
111   int color = m_tile_attr[offset];
113112
114113   tileinfo.group = color;
115114
116   SET_TILE_INFO(0, code, color, 0);
115   SET_TILE_INFO_MEMBER(0, code, color, 0);
117116}
118117
119118void tceptor_state::tile_mark_dirty(int offset)
r17673r17674
164163
165164/*******************************************************************/
166165
167static TILE_GET_INFO( get_bg1_tile_info )
166TILE_GET_INFO_MEMBER(tceptor_state::get_bg1_tile_info)
168167{
169   tceptor_state *state = machine.driver_data<tceptor_state>();
170   UINT16 data = state->m_bg_ram[tile_index * 2] | (state->m_bg_ram[tile_index * 2 + 1] << 8);
168   UINT16 data = m_bg_ram[tile_index * 2] | (m_bg_ram[tile_index * 2 + 1] << 8);
171169   int code = (data & 0x3ff) | 0x000;
172170   int color = (data & 0xfc00) >> 10;
173171
174   SET_TILE_INFO(state->m_bg, code, color, 0);
172   SET_TILE_INFO_MEMBER(m_bg, code, color, 0);
175173}
176174
177static TILE_GET_INFO( get_bg2_tile_info )
175TILE_GET_INFO_MEMBER(tceptor_state::get_bg2_tile_info)
178176{
179   tceptor_state *state = machine.driver_data<tceptor_state>();
180   UINT16 data = state->m_bg_ram[tile_index * 2 + 0x1000] | (state->m_bg_ram[tile_index * 2 + 1 + 0x1000] << 8);
177   UINT16 data = m_bg_ram[tile_index * 2 + 0x1000] | (m_bg_ram[tile_index * 2 + 1 + 0x1000] << 8);
181178   int code = (data & 0x3ff) | 0x400;
182179   int color = (data & 0xfc00) >> 10;
183180
184   SET_TILE_INFO(state->m_bg, code, color, 0);
181   SET_TILE_INFO_MEMBER(m_bg, code, color, 0);
185182}
186183
187184WRITE8_MEMBER(tceptor_state::tceptor_bg_ram_w)
r17673r17674
395392
396393   state->m_c45_road->set_transparent_color(colortable_entry_get_value(machine.colortable, 0xfff));
397394
398   state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_COLS,  8, 8, 34, 28);
395   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);
399396
400397   state->m_tx_tilemap->set_scrollx(0, -2*8);
401398   state->m_tx_tilemap->set_scrolly(0, 0);
402399   colortable_configure_tilemap_groups(machine.colortable, state->m_tx_tilemap, machine.gfx[0], 7);
403400
404   state->m_bg1_tilemap = tilemap_create(machine, get_bg1_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 64, 32);
405   state->m_bg2_tilemap = tilemap_create(machine, get_bg2_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 64, 32);
401   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);
402   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);
406403
407404   state_save_register_global_pointer(machine, state->m_sprite_ram_buffered, 0x200 / 2);
408405   state_save_register_global(machine, state->m_bg1_scroll_x);
trunk/src/mame/video/vindictr.c
r17673r17674
1616 *
1717 *************************************/
1818
19static TILE_GET_INFO( get_alpha_tile_info )
19TILE_GET_INFO_MEMBER(vindictr_state::get_alpha_tile_info)
2020{
21   vindictr_state *state = machine.driver_data<vindictr_state>();
22   UINT16 data = state->m_alpha[tile_index];
21   UINT16 data = m_alpha[tile_index];
2322   int code = data & 0x3ff;
2423   int color = ((data >> 10) & 0x0f) | ((data >> 9) & 0x20);
2524   int opaque = data & 0x8000;
26   SET_TILE_INFO(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
25   SET_TILE_INFO_MEMBER(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
2726}
2827
2928
30static TILE_GET_INFO( get_playfield_tile_info )
29TILE_GET_INFO_MEMBER(vindictr_state::get_playfield_tile_info)
3130{
32   vindictr_state *state = machine.driver_data<vindictr_state>();
33   UINT16 data = state->m_playfield[tile_index];
34   int code = (state->m_playfield_tile_bank * 0x1000) + (data & 0xfff);
31   UINT16 data = m_playfield[tile_index];
32   int code = (m_playfield_tile_bank * 0x1000) + (data & 0xfff);
3533   int color = 0x10 + 2 * ((data >> 12) & 7);
36   SET_TILE_INFO(0, code, color, (data >> 15) & 1);
34   SET_TILE_INFO_MEMBER(0, code, color, (data >> 15) & 1);
3735}
3836
3937
r17673r17674
8583   vindictr_state *state = machine.driver_data<vindictr_state>();
8684
8785   /* initialize the playfield */
88   state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_COLS,  8,8, 64,64);
86   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);
8987
9088   /* initialize the motion objects */
9189   atarimo_init(machine, 0, &modesc);
9290
9391   /* initialize the alphanumerics */
94   state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS,  8,8, 64,32);
92   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);
9593   state->m_alpha_tilemap->set_transparent_pen(0);
9694
9795   /* save states */
trunk/src/mame/video/cop01.c
r17673r17674
6161
6262***************************************************************************/
6363
64static TILE_GET_INFO( get_bg_tile_info )
64TILE_GET_INFO_MEMBER(cop01_state::get_bg_tile_info)
6565{
66   cop01_state *state = machine.driver_data<cop01_state>();
67   int tile = state->m_bgvideoram[tile_index];
68   int attr = state->m_bgvideoram[tile_index + 0x800];
66   int tile = m_bgvideoram[tile_index];
67   int attr = m_bgvideoram[tile_index + 0x800];
6968   int pri = (attr & 0x80) >> 7;
7069
7170   /* kludge: priority is not actually pen based, but color based. Since the
r17673r17674
8180   if (attr & 0x10)
8281      pri = 0;
8382
84   SET_TILE_INFO(1, tile + ((attr & 0x03) << 8), (attr & 0x1c) >> 2, 0);
83   SET_TILE_INFO_MEMBER(1, tile + ((attr & 0x03) << 8), (attr & 0x1c) >> 2, 0);
8584   tileinfo.group = pri;
8685}
8786
88static TILE_GET_INFO( get_fg_tile_info )
87TILE_GET_INFO_MEMBER(cop01_state::get_fg_tile_info)
8988{
90   cop01_state *state = machine.driver_data<cop01_state>();
91   int tile = state->m_fgvideoram[tile_index];
92   SET_TILE_INFO(0, tile, 0, 0);
89   int tile = m_fgvideoram[tile_index];
90   SET_TILE_INFO_MEMBER(0, tile, 0, 0);
9391}
9492
9593
r17673r17674
103101VIDEO_START( cop01 )
104102{
105103   cop01_state *state = machine.driver_data<cop01_state>();
106   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
107   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
104   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);
105   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);
108106
109107   state->m_fg_tilemap->set_transparent_pen(15);
110108
trunk/src/mame/video/hanaawas.c
r17673r17674
8989   }
9090}
9191
92static TILE_GET_INFO( get_bg_tile_info )
92TILE_GET_INFO_MEMBER(hanaawas_state::get_bg_tile_info)
9393{
94   hanaawas_state *state = machine.driver_data<hanaawas_state>();
9594   /* the color is determined by the current color byte, but the bank is via the previous one!!! */
96   int offset = (tile_index + (state->flip_screen() ? 1 : -1)) & 0x3ff;
97   int attr = state->m_colorram[offset];
95   int offset = (tile_index + (flip_screen() ? 1 : -1)) & 0x3ff;
96   int attr = m_colorram[offset];
9897   int gfxbank = (attr & 0x40) >> 6;
99   int code = state->m_videoram[tile_index] + ((attr & 0x20) << 3);
100   int color = state->m_colorram[tile_index] & 0x1f;
98   int code = m_videoram[tile_index] + ((attr & 0x20) << 3);
99   int color = m_colorram[tile_index] & 0x1f;
101100
102   SET_TILE_INFO(gfxbank, code, color, 0);
101   SET_TILE_INFO_MEMBER(gfxbank, code, color, 0);
103102}
104103
105104VIDEO_START( hanaawas )
106105{
107106   hanaawas_state *state = machine.driver_data<hanaawas_state>();
108   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
107   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);
109108}
110109
111110SCREEN_UPDATE_IND16( hanaawas )
trunk/src/mame/video/aquarium.c
r17673r17674
8686}
8787
8888/* TXT Layer */
89static TILE_GET_INFO( get_aquarium_txt_tile_info )
89TILE_GET_INFO_MEMBER(aquarium_state::get_aquarium_txt_tile_info)
9090{
91   aquarium_state *state = machine.driver_data<aquarium_state>();
9291   int tileno, colour;
9392
94   tileno = (state->m_txt_videoram[tile_index] & 0x0fff);
95   colour = (state->m_txt_videoram[tile_index] & 0xf000) >> 12;
96   SET_TILE_INFO(2, tileno, colour, 0);
93   tileno = (m_txt_videoram[tile_index] & 0x0fff);
94   colour = (m_txt_videoram[tile_index] & 0xf000) >> 12;
95   SET_TILE_INFO_MEMBER(2, tileno, colour, 0);
9796}
9897
9998WRITE16_MEMBER(aquarium_state::aquarium_txt_videoram_w)
r17673r17674
103102}
104103
105104/* MID Layer */
106static TILE_GET_INFO( get_aquarium_mid_tile_info )
105TILE_GET_INFO_MEMBER(aquarium_state::get_aquarium_mid_tile_info)
107106{
108   aquarium_state *state = machine.driver_data<aquarium_state>();
109107   int tileno, colour, flag;
110108
111   tileno = (state->m_mid_videoram[tile_index * 2] & 0x0fff);
112   colour = (state->m_mid_videoram[tile_index * 2 + 1] & 0x001f);
113   flag = TILE_FLIPYX((state->m_mid_videoram[tile_index * 2 + 1] & 0x300) >> 8);
109   tileno = (m_mid_videoram[tile_index * 2] & 0x0fff);
110   colour = (m_mid_videoram[tile_index * 2 + 1] & 0x001f);
111   flag = TILE_FLIPYX((m_mid_videoram[tile_index * 2 + 1] & 0x300) >> 8);
114112
115   SET_TILE_INFO(1, tileno, colour, flag);
113   SET_TILE_INFO_MEMBER(1, tileno, colour, flag);
116114
117   tileinfo.category = (state->m_mid_videoram[tile_index * 2 + 1] & 0x20) >> 5;
115   tileinfo.category = (m_mid_videoram[tile_index * 2 + 1] & 0x20) >> 5;
118116}
119117
120118WRITE16_MEMBER(aquarium_state::aquarium_mid_videoram_w)
r17673r17674
124122}
125123
126124/* BAK Layer */
127static TILE_GET_INFO( get_aquarium_bak_tile_info )
125TILE_GET_INFO_MEMBER(aquarium_state::get_aquarium_bak_tile_info)
128126{
129   aquarium_state *state = machine.driver_data<aquarium_state>();
130127   int tileno, colour, flag;
131128
132   tileno = (state->m_bak_videoram[tile_index * 2] & 0x0fff);
133   colour = (state->m_bak_videoram[tile_index * 2 + 1] & 0x001f);
134   flag = TILE_FLIPYX((state->m_bak_videoram[tile_index * 2 + 1] & 0x300) >> 8);
129   tileno = (m_bak_videoram[tile_index * 2] & 0x0fff);
130   colour = (m_bak_videoram[tile_index * 2 + 1] & 0x001f);
131   flag = TILE_FLIPYX((m_bak_videoram[tile_index * 2 + 1] & 0x300) >> 8);
135132
136   SET_TILE_INFO(3, tileno, colour, flag);
133   SET_TILE_INFO_MEMBER(3, tileno, colour, flag);
137134
138   tileinfo.category = (state->m_bak_videoram[tile_index * 2 + 1] & 0x20) >> 5;
135   tileinfo.category = (m_bak_videoram[tile_index * 2 + 1] & 0x20) >> 5;
139136}
140137
141138WRITE16_MEMBER(aquarium_state::aquarium_bak_videoram_w)
r17673r17674
147144VIDEO_START(aquarium)
148145{
149146   aquarium_state *state = machine.driver_data<aquarium_state>();
150   state->m_txt_tilemap = tilemap_create(machine, get_aquarium_txt_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
151   state->m_bak_tilemap = tilemap_create(machine, get_aquarium_bak_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
152   state->m_mid_tilemap = tilemap_create(machine, get_aquarium_mid_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
147   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);
148   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);
149   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);
153150
154151   state->m_txt_tilemap->set_transparent_pen(0);
155152   state->m_mid_tilemap->set_transparent_pen(0);
trunk/src/mame/video/metro.c
r17673r17674
5555#include "includes/metro.h"
5656#include "video/konicdev.h"
5757
58static TILE_GET_INFO( metro_k053936_get_tile_info )
58TILE_GET_INFO_MEMBER(metro_state::metro_k053936_get_tile_info)
5959{
60   metro_state *state = machine.driver_data<metro_state>();
61   int code = state->m_k053936_ram[tile_index];
60   int code = m_k053936_ram[tile_index];
6261
63   SET_TILE_INFO(
62   SET_TILE_INFO_MEMBER(
6463         2,
6564         code & 0x7fff,
6665         0x1e,
6766         0);
6867}
6968
70static TILE_GET_INFO( metro_k053936_gstrik2_get_tile_info )
69TILE_GET_INFO_MEMBER(metro_state::metro_k053936_gstrik2_get_tile_info)
7170{
72   metro_state *state = machine.driver_data<metro_state>();
73   int code = state->m_k053936_ram[tile_index];
71   int code = m_k053936_ram[tile_index];
7472
75   SET_TILE_INFO(
73   SET_TILE_INFO_MEMBER(
7674         2,
7775         (code & 0x7fff)>>2,
7876         0x1e,
r17673r17674
8583   m_k053936_tilemap->mark_tile_dirty(offset);
8684}
8785
88static TILEMAP_MAPPER( tilemap_scan_gstrik2 )
86TILEMAP_MAPPER_MEMBER(metro_state::tilemap_scan_gstrik2)
8987{
9088   /* logical (col,row) -> memory offset */
9189   int val;
r17673r17674
358356
359357   state->m_has_zoom = 1;
360358
361   state->m_k053936_tilemap = tilemap_create(machine, metro_k053936_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 256, 512);
359   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);
362360
363361   state->m_bg_tilemap_scrolldx[0] = 8;
364362   state->m_bg_tilemap_scrolldx[1] = 8;
r17673r17674
373371
374372   state->m_has_zoom = 1;
375373
376   state->m_k053936_tilemap = tilemap_create(machine, metro_k053936_gstrik2_get_tile_info, tilemap_scan_gstrik2, 16, 16, 128, 256);
374   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);
377375
378376   state->m_bg_tilemap_scrolldx[0] = 8;
379377   state->m_bg_tilemap_scrolldx[1] = 0;
trunk/src/mame/video/angelkds.c
r17673r17674
1414
1515*/
1616
17static TILE_GET_INFO( get_tx_tile_info )
17TILE_GET_INFO_MEMBER(angelkds_state::get_tx_tile_info)
1818{
19   angelkds_state *state = machine.driver_data<angelkds_state>();
2019   int tileno;
2120
22   tileno = state->m_txvideoram[tile_index] + (state->m_txbank * 0x100);
23   SET_TILE_INFO(0, tileno, 0, 0);
21   tileno = m_txvideoram[tile_index] + (m_txbank * 0x100);
22   SET_TILE_INFO_MEMBER(0, tileno, 0, 0);
2423}
2524
2625WRITE8_MEMBER(angelkds_state::angelkds_txvideoram_w)
r17673r17674
4443
4544*/
4645
47static TILE_GET_INFO( get_bgtop_tile_info )
46TILE_GET_INFO_MEMBER(angelkds_state::get_bgtop_tile_info)
4847{
49   angelkds_state *state = machine.driver_data<angelkds_state>();
5048   int tileno;
5149
52   tileno = state->m_bgtopvideoram[tile_index];
50   tileno = m_bgtopvideoram[tile_index];
5351
54   tileno += state->m_bgtopbank * 0x100 ;
55   SET_TILE_INFO(1, tileno, 0, 0);
52   tileno += m_bgtopbank * 0x100 ;
53   SET_TILE_INFO_MEMBER(1, tileno, 0, 0);
5654}
5755
5856WRITE8_MEMBER(angelkds_state::angelkds_bgtopvideoram_w)
r17673r17674
8280
8381*/
8482
85static TILE_GET_INFO( get_bgbot_tile_info )
83TILE_GET_INFO_MEMBER(angelkds_state::get_bgbot_tile_info)
8684{
87   angelkds_state *state = machine.driver_data<angelkds_state>();
8885   int tileno;
8986
90   tileno = state->m_bgbotvideoram[tile_index];
87   tileno = m_bgbotvideoram[tile_index];
9188
92   tileno += state->m_bgbotbank * 0x100 ;
93   SET_TILE_INFO(2, tileno, 1, 0);
89   tileno += m_bgbotbank * 0x100 ;
90   SET_TILE_INFO_MEMBER(2, tileno, 1, 0);
9491}
9592
9693WRITE8_MEMBER(angelkds_state::angelkds_bgbotvideoram_w)
r17673r17674
250247{
251248   angelkds_state *state = machine.driver_data<angelkds_state>();
252249
253   state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
250   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);
254251   state->m_tx_tilemap->set_transparent_pen(0);
255252
256   state->m_bgbot_tilemap = tilemap_create(machine, get_bgbot_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
253   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);
257254   state->m_bgbot_tilemap->set_transparent_pen(15);
258255
259   state->m_bgtop_tilemap = tilemap_create(machine, get_bgtop_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
256   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);
260257   state->m_bgtop_tilemap->set_transparent_pen(15);
261258}
262259
trunk/src/mame/video/circusc.c
r17673r17674
9999
100100***************************************************************************/
101101
102static TILE_GET_INFO( get_tile_info )
102TILE_GET_INFO_MEMBER(circusc_state::get_tile_info)
103103{
104   circusc_state *state = machine.driver_data<circusc_state>();
105   UINT8 attr = state->m_colorram[tile_index];
104   UINT8 attr = m_colorram[tile_index];
106105   tileinfo.category = (attr & 0x10) >> 4;
107106
108   SET_TILE_INFO(0,
109              state->m_videoram[tile_index] + ((attr & 0x20) << 3),
107   SET_TILE_INFO_MEMBER(0,
108              m_videoram[tile_index] + ((attr & 0x20) << 3),
110109              attr & 0x0f,
111110              TILE_FLIPYX((attr & 0xc0) >> 6));
112111}
r17673r17674
122121VIDEO_START( circusc )
123122{
124123   circusc_state *state = machine.driver_data<circusc_state>();
125   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
124   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);
126125
127126   state->m_bg_tilemap->set_scroll_cols(32);
128127}
trunk/src/mame/video/mikie.c
r17673r17674
121121   }
122122}
123123
124static TILE_GET_INFO( get_bg_tile_info )
124TILE_GET_INFO_MEMBER(mikie_state::get_bg_tile_info)
125125{
126   mikie_state *state = machine.driver_data<mikie_state>();
127   int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 0x20) << 3);
128   int color = (state->m_colorram[tile_index] & 0x0f) + 16 * state->m_palettebank;
129   int flags = ((state->m_colorram[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((state->m_colorram[tile_index] & 0x80) ? TILE_FLIPY : 0);
130   if (state->m_colorram[tile_index] & 0x10)
126   int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x20) << 3);
127   int color = (m_colorram[tile_index] & 0x0f) + 16 * m_palettebank;
128   int flags = ((m_colorram[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((m_colorram[tile_index] & 0x80) ? TILE_FLIPY : 0);
129   if (m_colorram[tile_index] & 0x10)
131130      tileinfo.category = 1;
132131   else
133132      tileinfo.category = 0;
134133
135   SET_TILE_INFO(0, code, color, flags);
134   SET_TILE_INFO_MEMBER(0, code, color, flags);
136135
137136
138137}
r17673r17674
140139VIDEO_START( mikie )
141140{
142141   mikie_state *state = machine.driver_data<mikie_state>();
143   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
142   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);
144143}
145144
146145static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
trunk/src/mame/video/usgames.c
r17673r17674
3131
3232
3333
34static TILE_GET_INFO( get_usgames_tile_info )
34TILE_GET_INFO_MEMBER(usgames_state::get_usgames_tile_info)
3535{
36   usgames_state *state = machine.driver_data<usgames_state>();
3736   int tileno, colour;
3837
39   tileno = state->m_videoram[tile_index*2];
40   colour = state->m_videoram[tile_index*2+1];
38   tileno = m_videoram[tile_index*2];
39   colour = m_videoram[tile_index*2+1];
4140
42   SET_TILE_INFO(0,tileno,colour,0);
41   SET_TILE_INFO_MEMBER(0,tileno,colour,0);
4342}
4443
4544VIDEO_START(usgames)
4645{
4746   usgames_state *state = machine.driver_data<usgames_state>();
48   state->m_tilemap = tilemap_create(machine, get_usgames_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,32);
47   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);
4948   machine.gfx[0]->set_source(state->m_charram);
5049}
5150
trunk/src/mame/video/zaccaria.c
r17673r17674
113113
114114***************************************************************************/
115115
116static TILE_GET_INFO( get_tile_info )
116TILE_GET_INFO_MEMBER(zaccaria_state::get_tile_info)
117117{
118   zaccaria_state *state = machine.driver_data<zaccaria_state>();
119   UINT8 attr = state->m_videoram[tile_index + 0x400];
120   SET_TILE_INFO(
118   UINT8 attr = m_videoram[tile_index + 0x400];
119   SET_TILE_INFO_MEMBER(
121120         0,
122         state->m_videoram[tile_index] + ((attr & 0x03) << 8),
123         ((attr & 0x0c) >> 2) + ((state->m_attributesram[2 * (tile_index % 32) + 1] & 0x07) << 2),
121         m_videoram[tile_index] + ((attr & 0x03) << 8),
122         ((attr & 0x0c) >> 2) + ((m_attributesram[2 * (tile_index % 32) + 1] & 0x07) << 2),
124123         0);
125124}
126125
r17673r17674
135134VIDEO_START( zaccaria )
136135{
137136   zaccaria_state *state = machine.driver_data<zaccaria_state>();
138   state->m_bg_tilemap = tilemap_create(machine, get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
137   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);
139138
140139   state->m_bg_tilemap->set_scroll_cols(32);
141140}
trunk/src/mame/video/speedbal.c
r17673r17674
1010#include "includes/speedbal.h"
1111
1212
13static TILE_GET_INFO( get_tile_info_bg )
13TILE_GET_INFO_MEMBER(speedbal_state::get_tile_info_bg)
1414{
15   speedbal_state *state = machine.driver_data<speedbal_state>();
16   int code = state->m_background_videoram[tile_index*2] + ((state->m_background_videoram[tile_index*2+1] & 0x30) << 4);
17   int color = state->m_background_videoram[tile_index*2+1] & 0x0f;
15   int code = m_background_videoram[tile_index*2] + ((m_background_videoram[tile_index*2+1] & 0x30) << 4);
16   int color = m_background_videoram[tile_index*2+1] & 0x0f;
1817
19   SET_TILE_INFO(1, code, color, 0);
18   SET_TILE_INFO_MEMBER(1, code, color, 0);
2019   tileinfo.group = (color == 8);
2120}
2221
23static TILE_GET_INFO( get_tile_info_fg )
22TILE_GET_INFO_MEMBER(speedbal_state::get_tile_info_fg)
2423{
25   speedbal_state *state = machine.driver_data<speedbal_state>();
26   int code = state->m_foreground_videoram[tile_index*2] + ((state->m_foreground_videoram[tile_index*2+1] & 0x30) << 4);
27   int color = state->m_foreground_videoram[tile_index*2+1] & 0x0f;
24   int code = m_foreground_videoram[tile_index*2] + ((m_foreground_videoram[tile_index*2+1] & 0x30) << 4);
25   int color = m_foreground_videoram[tile_index*2+1] & 0x0f;
2826
29   SET_TILE_INFO(0, code, color, 0);
27   SET_TILE_INFO_MEMBER(0, code, color, 0);
3028   tileinfo.group = (color == 9);
3129}
3230
r17673r17674
3937VIDEO_START( speedbal )
4038{
4139   speedbal_state *state = machine.driver_data<speedbal_state>();
42   state->m_bg_tilemap = tilemap_create(machine, get_tile_info_bg, TILEMAP_SCAN_COLS_FLIP_X,  16, 16, 16, 16);
43   state->m_fg_tilemap = tilemap_create(machine, get_tile_info_fg, TILEMAP_SCAN_COLS_FLIP_X,   8,  8, 32, 32);
40   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);
41   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);
4442
4543   state->m_bg_tilemap->set_transmask(0,0xffff,0x0000); /* split type 0 is totally transparent in front half */
4644   state->m_bg_tilemap->set_transmask(1,0x00f7,0x0000); /* split type 1 has pen 0-2, 4-7 transparent in front half */
trunk/src/mame/video/shadfrce.c
r17673r17674
11#include "emu.h"
22#include "includes/shadfrce.h"
33
4static TILE_GET_INFO( get_shadfrce_fgtile_info )
4TILE_GET_INFO_MEMBER(shadfrce_state::get_shadfrce_fgtile_info)
55{
66
77   /* ---- ----  tttt tttt  ---- ----  pppp TTTT */
8   shadfrce_state *state = machine.driver_data<shadfrce_state>();
98   int tileno, colour;
109
11   tileno = (state->m_fgvideoram[tile_index *2] & 0x00ff) | ((state->m_fgvideoram[tile_index *2+1] & 0x000f) << 8);
12   colour = (state->m_fgvideoram[tile_index *2+1] & 0x00f0) >>4;
10   tileno = (m_fgvideoram[tile_index *2] & 0x00ff) | ((m_fgvideoram[tile_index *2+1] & 0x000f) << 8);
11   colour = (m_fgvideoram[tile_index *2+1] & 0x00f0) >>4;
1312
14   SET_TILE_INFO(0,tileno,colour*4,0);
13   SET_TILE_INFO_MEMBER(0,tileno,colour*4,0);
1514}
1615
1716WRITE16_MEMBER(shadfrce_state::shadfrce_fgvideoram_w)
r17673r17674
2120   m_fgtilemap->mark_tile_dirty(offset/2);
2221}
2322
24static TILE_GET_INFO( get_shadfrce_bg0tile_info )
23TILE_GET_INFO_MEMBER(shadfrce_state::get_shadfrce_bg0tile_info)
2524{
2625
2726   /* ---- ----  ---- cccc  --TT TTTT TTTT TTTT */
28   shadfrce_state *state = machine.driver_data<shadfrce_state>();
2927   int tileno, colour,fyx;
3028
31   tileno = (state->m_bg0videoram[tile_index *2+1] & 0x3fff);
32   colour = state->m_bg0videoram[tile_index *2] & 0x001f;
29   tileno = (m_bg0videoram[tile_index *2+1] & 0x3fff);
30   colour = m_bg0videoram[tile_index *2] & 0x001f;
3331   if (colour & 0x10) colour ^= 0x30;   /* skip hole */
34   fyx = (state->m_bg0videoram[tile_index *2] & 0x00c0) >>6;
32   fyx = (m_bg0videoram[tile_index *2] & 0x00c0) >>6;
3533
36   SET_TILE_INFO(2,tileno,colour,TILE_FLIPYX(fyx));
34   SET_TILE_INFO_MEMBER(2,tileno,colour,TILE_FLIPYX(fyx));
3735}
3836
3937WRITE16_MEMBER(shadfrce_state::shadfrce_bg0videoram_w)
r17673r17674
4341   m_bg0tilemap->mark_tile_dirty(offset/2);
4442}
4543
46static TILE_GET_INFO( get_shadfrce_bg1tile_info )
44TILE_GET_INFO_MEMBER(shadfrce_state::get_shadfrce_bg1tile_info)
4745{
48   shadfrce_state *state = machine.driver_data<shadfrce_state>();
4946   int tileno, colour;
5047
51   tileno = (state->m_bg1videoram[tile_index] & 0x0fff);
52   colour = (state->m_bg1videoram[tile_index] & 0xf000) >> 12;
48   tileno = (m_bg1videoram[tile_index] & 0x0fff);
49   colour = (m_bg1videoram[tile_index] & 0xf000) >> 12;
5350
54   SET_TILE_INFO(2,tileno,colour+64,0);
51   SET_TILE_INFO_MEMBER(2,tileno,colour+64,0);
5552}
5653
5754WRITE16_MEMBER(shadfrce_state::shadfrce_bg1videoram_w)
r17673r17674
6865{
6966   shadfrce_state *state = machine.driver_data<shadfrce_state>();
7067
71   state->m_fgtilemap = tilemap_create(machine, get_shadfrce_fgtile_info,TILEMAP_SCAN_ROWS,    8,  8,64,32);
68   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);
7269   state->m_fgtilemap->set_transparent_pen(0);
7370
74   state->m_bg0tilemap = tilemap_create(machine, get_shadfrce_bg0tile_info,TILEMAP_SCAN_ROWS, 16, 16,32,32);
71   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);
7572   state->m_bg0tilemap->set_transparent_pen(0);
7673
77   state->m_bg1tilemap = tilemap_create(machine, get_shadfrce_bg1tile_info,TILEMAP_SCAN_ROWS, 16, 16,32,32);
74   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);
7875
7976   state->m_spvideoram_old = auto_alloc_array(machine, UINT16, state->m_spvideoram.bytes()/2);
8077}
trunk/src/mame/video/tagteam.c
r17673r17674
127127   coin_counter_w(machine(), 1, data & 0x40);
128128}
129129
130static TILE_GET_INFO( get_bg_tile_info )
130TILE_GET_INFO_MEMBER(tagteam_state::get_bg_tile_info)
131131{
132   tagteam_state *state = machine.driver_data<tagteam_state>();
133   int code = state->m_videoram[tile_index] + 256 * state->m_colorram[tile_index];
134   int color = state->m_palettebank << 1;
132   int code = m_videoram[tile_index] + 256 * m_colorram[tile_index];
133   int color = m_palettebank << 1;
135134
136   SET_TILE_INFO(0, code, color, 0);
135   SET_TILE_INFO_MEMBER(0, code, color, 0);
137136}
138137
139138VIDEO_START( tagteam )
140139{
141140   tagteam_state *state = machine.driver_data<tagteam_state>();
142   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS_FLIP_X,
141   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tagteam_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS_FLIP_X,
143142       8, 8, 32, 32);
144143}
145144
trunk/src/mame/video/bagman.c
r17673r17674
8989   }
9090}
9191
92static TILE_GET_INFO( get_bg_tile_info )
92TILE_GET_INFO_MEMBER(bagman_state::get_bg_tile_info)
9393{
94   bagman_state *state = machine.driver_data<bagman_state>();
95   int gfxbank = (machine.gfx[2] && (state->m_colorram[tile_index] & 0x10)) ? 2 : 0;
96   int code = state->m_videoram[tile_index] + 8 * (state->m_colorram[tile_index] & 0x20);
97   int color = state->m_colorram[tile_index] & 0x0f;
94   int gfxbank = (machine().gfx[2] && (m_colorram[tile_index] & 0x10)) ? 2 : 0;
95   int code = m_videoram[tile_index] + 8 * (m_colorram[tile_index] & 0x20);
96   int color = m_colorram[tile_index] & 0x0f;
9897
99   SET_TILE_INFO(gfxbank, code, color, 0);
98   SET_TILE_INFO_MEMBER(gfxbank, code, color, 0);
10099}
101100
102101VIDEO_START( bagman )
103102{
104103   bagman_state *state = machine.driver_data<bagman_state>();
105   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
104   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bagman_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
106105       8, 8, 32, 32);
107106
108107   state->m_bg_tilemap->set_scrolldy(-1, -1);
trunk/src/mame/video/inufuku.c
r17673r17674
161161
162162******************************************************************************/
163163
164static TILE_GET_INFO( get_inufuku_bg_tile_info )
164TILE_GET_INFO_MEMBER(inufuku_state::get_inufuku_bg_tile_info)
165165{
166   inufuku_state *state = machine.driver_data<inufuku_state>();
167   SET_TILE_INFO(
166   SET_TILE_INFO_MEMBER(
168167         0,
169         state->m_bg_videoram[tile_index],
170         state->m_bg_palettebank,
168         m_bg_videoram[tile_index],
169         m_bg_palettebank,
171170         0);
172171}
173172
174static TILE_GET_INFO( get_inufuku_tx_tile_info )
173TILE_GET_INFO_MEMBER(inufuku_state::get_inufuku_tx_tile_info)
175174{
176   inufuku_state *state = machine.driver_data<inufuku_state>();
177   SET_TILE_INFO(
175   SET_TILE_INFO_MEMBER(
178176         1,
179         state->m_tx_videoram[tile_index],
180         state->m_tx_palettebank,
177         m_tx_videoram[tile_index],
178         m_tx_palettebank,
181179         0);
182180}
183181
r17673r17674
214212{
215213   inufuku_state *state = machine.driver_data<inufuku_state>();
216214
217   state->m_bg_tilemap = tilemap_create(machine, get_inufuku_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
218   state->m_tx_tilemap = tilemap_create(machine, get_inufuku_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
215   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);
216   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);
219217
220218   state->m_bg_tilemap->set_transparent_pen(255);
221219   state->m_tx_tilemap->set_transparent_pen(255);
trunk/src/mame/video/commando.c
r17673r17674
6666   flip_screen_set(data & 0x80);
6767}
6868
69static TILE_GET_INFO( get_bg_tile_info )
69TILE_GET_INFO_MEMBER(commando_state::get_bg_tile_info)
7070{
71   commando_state *state = machine.driver_data<commando_state>();
72   int attr = state->m_colorram[tile_index];
73   int code = state->m_videoram[tile_index] + ((attr & 0xc0) << 2);
71   int attr = m_colorram[tile_index];
72   int code = m_videoram[tile_index] + ((attr & 0xc0) << 2);
7473   int color = attr & 0x0f;
7574   int flags = TILE_FLIPYX((attr & 0x30) >> 4);
7675
77   SET_TILE_INFO(1, code, color, flags);
76   SET_TILE_INFO_MEMBER(1, code, color, flags);
7877}
7978
80static TILE_GET_INFO( get_fg_tile_info )
79TILE_GET_INFO_MEMBER(commando_state::get_fg_tile_info)
8180{
82   commando_state *state = machine.driver_data<commando_state>();
83   int attr = state->m_colorram2[tile_index];
84   int code = state->m_videoram2[tile_index] + ((attr & 0xc0) << 2);
81   int attr = m_colorram2[tile_index];
82   int code = m_videoram2[tile_index] + ((attr & 0xc0) << 2);
8583   int color = attr & 0x0f;
8684   int flags = TILE_FLIPYX((attr & 0x30) >> 4);
8785
88   SET_TILE_INFO(0, code, color, flags);
86   SET_TILE_INFO_MEMBER(0, code, color, flags);
8987}
9088
9189VIDEO_START( commando )
9290{
9391   commando_state *state = machine.driver_data<commando_state>();
9492
95   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
96   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
93   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);
94   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);
9795
9896   state->m_fg_tilemap->set_transparent_pen(3);
9997}
trunk/src/mame/video/atarisy2.c
r17673r17674
2727 *
2828 *************************************/
2929
30static TILE_GET_INFO( get_alpha_tile_info )
30TILE_GET_INFO_MEMBER(atarisy2_state::get_alpha_tile_info)
3131{
32   atarisy2_state *state = machine.driver_data<atarisy2_state>();
33   UINT16 data = state->m_alpha[tile_index];
32   UINT16 data = m_alpha[tile_index];
3433   int code = data & 0x3ff;
3534   int color = (data >> 13) & 0x07;
36   SET_TILE_INFO(2, code, color, 0);
35   SET_TILE_INFO_MEMBER(2, code, color, 0);
3736}
3837
3938
40static TILE_GET_INFO( get_playfield_tile_info )
39TILE_GET_INFO_MEMBER(atarisy2_state::get_playfield_tile_info)
4140{
42   atarisy2_state *state = machine.driver_data<atarisy2_state>();
43   UINT16 data = state->m_playfield[tile_index];
44   int code = state->m_playfield_tile_bank[(data >> 10) & 1] + (data & 0x3ff);
41   UINT16 data = m_playfield[tile_index];
42   int code = m_playfield_tile_bank[(data >> 10) & 1] + (data & 0x3ff);
4543   int color = (data >> 11) & 7;
46   SET_TILE_INFO(0, code, color, 0);
44   SET_TILE_INFO_MEMBER(0, code, color, 0);
4745   tileinfo.category = (~data >> 14) & 3;
4846}
4947
r17673r17674
10098   state->m_playfield.set_target(&state->m_vram[0x2000], 0x2000);
10199
102100   /* initialize the playfield */
103   state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_ROWS,  8,8, 128,64);
101   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);
104102
105103   /* initialize the motion objects */
106104   atarimo_init(machine, 0, &modesc);
107105
108106   /* initialize the alphanumerics */
109   state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS,  8,8, 64,48);
107   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);
110108   state->m_alpha_tilemap->set_transparent_pen(0);
111109
112110   /* reset the statics */
trunk/src/mame/video/yunsung8.c
r17673r17674
131131#define DIM_NX_0         (0x40)
132132#define DIM_NY_0         (0x20)
133133
134static TILE_GET_INFO( get_tile_info_0 )
134TILE_GET_INFO_MEMBER(yunsung8_state::get_tile_info_0)
135135{
136   yunsung8_state *state = machine.driver_data<yunsung8_state>();
137   int code  =  state->m_videoram_0[0x1000 + tile_index * 2 + 0] + state->m_videoram_0[0x1000 + tile_index * 2 + 1] * 256;
138   int color =  state->m_videoram_0[0x0800 + tile_index] & 0x07;
139   SET_TILE_INFO(
136   int code  =  m_videoram_0[0x1000 + tile_index * 2 + 0] + m_videoram_0[0x1000 + tile_index * 2 + 1] * 256;
137   int color =  m_videoram_0[0x0800 + tile_index] & 0x07;
138   SET_TILE_INFO_MEMBER(
140139         0,
141140         code,
142141         color,
r17673r17674
148147#define DIM_NX_1         (0x40)
149148#define DIM_NY_1         (0x20)
150149
151static TILE_GET_INFO( get_tile_info_1 )
150TILE_GET_INFO_MEMBER(yunsung8_state::get_tile_info_1)
152151{
153   yunsung8_state *state = machine.driver_data<yunsung8_state>();
154   int code  =  state->m_videoram_1[0x1000 + tile_index * 2 + 0] + state->m_videoram_1[0x1000 + tile_index * 2 + 1] * 256;
155   int color =  state->m_videoram_1[0x0800 + tile_index] & 0x3f;
156   SET_TILE_INFO(
152   int code  =  m_videoram_1[0x1000 + tile_index * 2 + 0] + m_videoram_1[0x1000 + tile_index * 2 + 1] * 256;
153   int color =  m_videoram_1[0x0800 + tile_index] & 0x3f;
154   SET_TILE_INFO_MEMBER(
157155         1,
158156         code,
159157         color,
r17673r17674
175173{
176174   yunsung8_state *state = machine.driver_data<yunsung8_state>();
177175
178   state->m_tilemap_0 = tilemap_create(machine, get_tile_info_0, TILEMAP_SCAN_ROWS, 8, 8, DIM_NX_0, DIM_NY_0 );
179   state->m_tilemap_1 = tilemap_create(machine, get_tile_info_1, TILEMAP_SCAN_ROWS, 8, 8, DIM_NX_1, DIM_NY_1 );
176   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 );
177   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 );
180178
181179   state->m_tilemap_1->set_transparent_pen(0);
182180}
trunk/src/mame/video/skydiver.c
r17673r17674
3636
3737***************************************************************************/
3838
39static TILE_GET_INFO( get_tile_info )
39TILE_GET_INFO_MEMBER(skydiver_state::get_tile_info)
4040{
41   skydiver_state *state = machine.driver_data<skydiver_state>();
42   UINT8 code = state->m_videoram[tile_index];
43   SET_TILE_INFO(0, code & 0x3f, code >> 6, 0);
41   UINT8 code = m_videoram[tile_index];
42   SET_TILE_INFO_MEMBER(0, code & 0x3f, code >> 6, 0);
4443}
4544
4645
r17673r17674
5453VIDEO_START( skydiver )
5554{
5655   skydiver_state *state = machine.driver_data<skydiver_state>();
57   state->m_bg_tilemap = tilemap_create(machine, get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
56   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);
5857}
5958
6059
trunk/src/mame/video/ninjakd2.c
r17673r17674
1010 *
1111 *************************************/
1212
13static TILE_GET_INFO( get_fg_tile_info )
13TILE_GET_INFO_MEMBER(ninjakd2_state::get_fg_tile_info)
1414{
15   ninjakd2_state *state = machine.driver_data<ninjakd2_state>();
16   int const lo = state->m_fg_videoram[(tile_index << 1)];
17   int const hi = state->m_fg_videoram[(tile_index << 1) | 1];
15   int const lo = m_fg_videoram[(tile_index << 1)];
16   int const hi = m_fg_videoram[(tile_index << 1) | 1];
1817   int const tile = ((hi & 0xc0) << 2) | lo;
1918   int const flipyx = (hi & 0x30) >> 4;
2019   int const color = hi & 0x0f;
2120
22   SET_TILE_INFO(
21   SET_TILE_INFO_MEMBER(
2322         0,
2423         tile,
2524         color,
2625         TILE_FLIPYX(flipyx));
2726}
2827
29static TILE_GET_INFO( ninjakd2_get_bg_tile_info )
28TILE_GET_INFO_MEMBER(ninjakd2_state::ninjakd2_get_bg_tile_info)
3029{
31   ninjakd2_state *state = machine.driver_data<ninjakd2_state>();
32   int const lo = state->m_bg_videoram[(tile_index << 1)];
33   int const hi = state->m_bg_videoram[(tile_index << 1) | 1];
30   int const lo = m_bg_videoram[(tile_index << 1)];
31   int const hi = m_bg_videoram[(tile_index << 1) | 1];
3432   int const tile = ((hi & 0xc0) << 2) | lo;
3533   int const flipyx = (hi & 0x30) >> 4;
3634   int const color = hi & 0x0f;
3735
38   SET_TILE_INFO(
36   SET_TILE_INFO_MEMBER(
3937         2,
4038         tile,
4139         color,
4240         TILE_FLIPYX(flipyx));
4341}
4442
45static TILE_GET_INFO( mnight_get_bg_tile_info )
43TILE_GET_INFO_MEMBER(ninjakd2_state::mnight_get_bg_tile_info)
4644{
47   ninjakd2_state *state = machine.driver_data<ninjakd2_state>();
48   int const lo = state->m_bg_videoram[(tile_index << 1)];
49   int const hi = state->m_bg_videoram[(tile_index << 1) | 1];
45   int const lo = m_bg_videoram[(tile_index << 1)];
46   int const hi = m_bg_videoram[(tile_index << 1) | 1];
5047   int const tile = ((hi & 0x10) << 6) | ((hi & 0xc0) << 2) | lo;
5148   int const flipy = (hi & 0x20) >> 5;
5249   int const color = hi & 0x0f;
5350
54   SET_TILE_INFO(
51   SET_TILE_INFO_MEMBER(
5552         2,
5653         tile,
5754         color,
5855         flipy ? TILE_FLIPY : 0);
5956}
6057
61static TILEMAP_MAPPER( robokid_bg_scan )
58TILEMAP_MAPPER_MEMBER(ninjakd2_state::robokid_bg_scan)
6259{
6360   /* logical (col,row) -> memory offset */
6461   return (col & 0x0f) | ((row & 0x1f) << 4) | ((col & 0x10) << 5);
6562}
6663
67static TILEMAP_MAPPER( omegaf_bg_scan )
64TILEMAP_MAPPER_MEMBER(ninjakd2_state::omegaf_bg_scan)
6865{
6966   /* logical (col,row) -> memory offset */
7067   return (col & 0x0f) | ((row & 0x1f) << 4) | ((col & 0x70) << 5);
r17673r17674
8481         0);
8582}
8683
87static TILE_GET_INFO( robokid_get_bg0_tile_info )
84TILE_GET_INFO_MEMBER(ninjakd2_state::robokid_get_bg0_tile_info)
8885{
89   ninjakd2_state *state = machine.driver_data<ninjakd2_state>();
90   robokid_get_bg_tile_info(machine, tileinfo, tile_index, 2, state->m_robokid_bg0_videoram);
86   robokid_get_bg_tile_info(machine(), tileinfo, tile_index, 2, m_robokid_bg0_videoram);
9187}
9288
93static TILE_GET_INFO( robokid_get_bg1_tile_info )
89TILE_GET_INFO_MEMBER(ninjakd2_state::robokid_get_bg1_tile_info)
9490{
95   ninjakd2_state *state = machine.driver_data<ninjakd2_state>();
96   robokid_get_bg_tile_info(machine, tileinfo, tile_index, 3, state->m_robokid_bg1_videoram);
91   robokid_get_bg_tile_info(machine(), tileinfo, tile_index, 3, m_robokid_bg1_videoram);
9792}
9893
99static TILE_GET_INFO( robokid_get_bg2_tile_info )
94TILE_GET_INFO_MEMBER(ninjakd2_state::robokid_get_bg2_tile_info)
10095{
101   ninjakd2_state *state = machine.driver_data<ninjakd2_state>();
102   robokid_get_bg_tile_info(machine, tileinfo, tile_index, 4, state->m_robokid_bg2_videoram);
96   robokid_get_bg_tile_info(machine(), tileinfo, tile_index, 4, m_robokid_bg2_videoram);
10397}
10498
10599
r17673r17674
135129   ninjakd2_state *state = machine.driver_data<ninjakd2_state>();
136130   videoram_alloc(machine, 0);
137131
138   state->m_fg_tilemap = tilemap_create(         machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,   8,  8, 32, 32);
139   state->m_bg_tilemap = tilemap_create(machine, ninjakd2_get_bg_tile_info, TILEMAP_SCAN_ROWS,  16, 16, 32, 32);
132   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);
133   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);
140134
141135   state->m_fg_tilemap->set_transparent_pen(TRANSPARENTCODE);
142136
r17673r17674
149143   ninjakd2_state *state = machine.driver_data<ninjakd2_state>();
150144   videoram_alloc(machine, 0);
151145
152   state->m_fg_tilemap = tilemap_create(       machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,   8,  8, 32, 32);
153   state->m_bg_tilemap = tilemap_create(machine, mnight_get_bg_tile_info, TILEMAP_SCAN_ROWS,  16, 16, 32, 32);
146   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);
147   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);
154148
155149   state->m_fg_tilemap->set_transparent_pen(TRANSPARENTCODE);
156150
r17673r17674
163157   ninjakd2_state *state = machine.driver_data<ninjakd2_state>();
164158   videoram_alloc(machine, 0);
165159
166   state->m_fg_tilemap = tilemap_create(       machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,   8,  8, 32, 32);
167   state->m_bg_tilemap = tilemap_create(machine, mnight_get_bg_tile_info, TILEMAP_SCAN_ROWS,  16, 16, 32, 32);
160   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);
161   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);
168162
169163   state->m_fg_tilemap->set_transparent_pen(TRANSPARENTCODE);
170164
r17673r17674
179173
180174   videoram_alloc(machine, 0x0800);
181175
182   state->m_fg_tilemap  = tilemap_create(        machine, get_fg_tile_info,  TILEMAP_SCAN_ROWS,   8,  8, 32, 32);
183   state->m_bg0_tilemap = tilemap_create(machine, robokid_get_bg0_tile_info, robokid_bg_scan,    16, 16, 32, 32);
184   state->m_bg1_tilemap = tilemap_create(machine, robokid_get_bg1_tile_info, robokid_bg_scan,    16, 16, 32, 32);
185   state->m_bg2_tilemap = tilemap_create(machine, robokid_get_bg2_tile_info, robokid_bg_scan,    16, 16, 32, 32);
176   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);
177   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);
178   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);
179   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);
186180
187181   state->m_fg_tilemap->set_transparent_pen(TRANSPARENTCODE);
188182   state->m_bg1_tilemap->set_transparent_pen(TRANSPARENTCODE);
r17673r17674
199193
200194   videoram_alloc(machine, 0x2000);
201195
202   state->m_fg_tilemap  = tilemap_create(        machine, get_fg_tile_info,  TILEMAP_SCAN_ROWS,   8,  8,  32, 32);
203   state->m_bg0_tilemap = tilemap_create(machine, robokid_get_bg0_tile_info, omegaf_bg_scan,     16, 16, 128, 32);
204   state->m_bg1_tilemap = tilemap_create(machine, robokid_get_bg1_tile_info, omegaf_bg_scan,     16, 16, 128, 32);
205   state->m_bg2_tilemap = tilemap_create(machine, robokid_get_bg2_tile_info, omegaf_bg_scan,     16, 16, 128, 32);
196   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);
197   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);
198   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);
199   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);
206200
207201   state->m_fg_tilemap->set_transparent_pen(TRANSPARENTCODE);
208202   state->m_bg0_tilemap->set_transparent_pen(TRANSPARENTCODE);
trunk/src/mame/video/m52.c
r17673r17674
115115 *
116116 *************************************/
117117
118static TILE_GET_INFO( get_tile_info )
118TILE_GET_INFO_MEMBER(m52_state::get_tile_info)
119119{
120   m52_state *state = machine.driver_data<m52_state>();
121   UINT8 video = state->m_videoram[tile_index];
122   UINT8 color = state->m_colorram[tile_index];
120   UINT8 video = m_videoram[tile_index];
121   UINT8 color = m_colorram[tile_index];
123122
124123   int flag = 0;
125124   int code = 0;
r17673r17674
136135      flag |= TILE_FORCE_LAYER0; /* lines 0 to 6 are opaqe? */
137136   }
138137
139   SET_TILE_INFO(0, code, color & 0x3f, flag);
138   SET_TILE_INFO_MEMBER(0, code, color & 0x3f, flag);
140139}
141140
142141
r17673r17674
151150{
152151   m52_state *state = machine.driver_data<m52_state>();
153152
154   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 32, 32);
153   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);
155154
156155   state->m_bg_tilemap->set_transparent_pen(0);
157156   state->m_bg_tilemap->set_scrolldx(128 - 1, -1);
trunk/src/mame/video/warpwarp.c
r17673r17674
111111***************************************************************************/
112112
113113/* convert from 32x32 to 34x28 */
114static TILEMAP_MAPPER( tilemap_scan )
114TILEMAP_MAPPER_MEMBER(warpwarp_state::tilemap_scan)
115115{
116116   int offs;
117117
r17673r17674
125125   return offs;
126126}
127127
128static TILE_GET_INFO( geebee_get_tile_info )
128TILE_GET_INFO_MEMBER(warpwarp_state::geebee_get_tile_info)
129129{
130   warpwarp_state *state = machine.driver_data<warpwarp_state>();
131   int code = state->m_geebee_videoram[tile_index];
132   int color = (state->m_geebee_bgw & 1) | ((code & 0x80) >> 6);
133   SET_TILE_INFO(
130   int code = m_geebee_videoram[tile_index];
131   int color = (m_geebee_bgw & 1) | ((code & 0x80) >> 6);
132   SET_TILE_INFO_MEMBER(
134133         0,
135134         code,
136135         color,
137136         0);
138137}
139138
140static TILE_GET_INFO( navarone_get_tile_info )
139TILE_GET_INFO_MEMBER(warpwarp_state::navarone_get_tile_info)
141140{
142   warpwarp_state *state = machine.driver_data<warpwarp_state>();
143   int code = state->m_geebee_videoram[tile_index];
144   int color = state->m_geebee_bgw & 1;
145   SET_TILE_INFO(
141   int code = m_geebee_videoram[tile_index];
142   int color = m_geebee_bgw & 1;
143   SET_TILE_INFO_MEMBER(
146144         0,
147145         code,
148146         color,
149147         0);
150148}
151149
152static TILE_GET_INFO( warpwarp_get_tile_info )
150TILE_GET_INFO_MEMBER(warpwarp_state::warpwarp_get_tile_info)
153151{
154   warpwarp_state *state = machine.driver_data<warpwarp_state>();
155   SET_TILE_INFO(
152   SET_TILE_INFO_MEMBER(
156153         0,
157         state->m_videoram[tile_index],
158         state->m_videoram[tile_index + 0x400],
154         m_videoram[tile_index],
155         m_videoram[tile_index + 0x400],
159156         0);
160157}
161158
r17673r17674
170167VIDEO_START( geebee )
171168{
172169   warpwarp_state *state = machine.driver_data<warpwarp_state>();
173   state->m_bg_tilemap = tilemap_create(machine, geebee_get_tile_info,tilemap_scan,8,8,34,28);
170   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);
174171}
175172
176173VIDEO_START( navarone )
177174{
178175   warpwarp_state *state = machine.driver_data<warpwarp_state>();
179   state->m_bg_tilemap = tilemap_create(machine, navarone_get_tile_info,tilemap_scan,8,8,34,28);
176   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);
180177}
181178
182179VIDEO_START( warpwarp )
183180{
184181   warpwarp_state *state = machine.driver_data<warpwarp_state>();
185   state->m_bg_tilemap = tilemap_create(machine, warpwarp_get_tile_info,tilemap_scan,8,8,34,28);
182   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);
186183}
187184
188185
trunk/src/mame/video/gng.c
r17673r17674
1616
1717***************************************************************************/
1818
19static TILE_GET_INFO( get_fg_tile_info )
19TILE_GET_INFO_MEMBER(gng_state::get_fg_tile_info)
2020{
21   gng_state *state = machine.driver_data<gng_state>();
22   UINT8 attr = state->m_fgvideoram[tile_index + 0x400];
23   SET_TILE_INFO(
21   UINT8 attr = m_fgvideoram[tile_index + 0x400];
22   SET_TILE_INFO_MEMBER(
2423         0,
25         state->m_fgvideoram[tile_index] + ((attr & 0xc0) << 2),
24         m_fgvideoram[tile_index] + ((attr & 0xc0) << 2),
2625         attr & 0x0f,
2726         TILE_FLIPYX((attr & 0x30) >> 4));
2827}
2928
30static TILE_GET_INFO( get_bg_tile_info )
29TILE_GET_INFO_MEMBER(gng_state::get_bg_tile_info)
3130{
32   gng_state *state = machine.driver_data<gng_state>();
33   UINT8 attr = state->m_bgvideoram[tile_index + 0x400];
34   SET_TILE_INFO(
31   UINT8 attr = m_bgvideoram[tile_index + 0x400];
32   SET_TILE_INFO_MEMBER(
3533         1,
36         state->m_bgvideoram[tile_index] + ((attr & 0xc0) << 2),
34         m_bgvideoram[tile_index] + ((attr & 0xc0) << 2),
3735         attr & 0x07,
3836         TILE_FLIPYX((attr & 0x30) >> 4));
3937   tileinfo.group = (attr & 0x08) >> 3;
r17673r17674
5048VIDEO_START( gng )
5149{
5250   gng_state *state = machine.driver_data<gng_state>();
53   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
54   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
51   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);
52   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);
5553
5654   state->m_fg_tilemap->set_transparent_pen(3);
5755   state->m_bg_tilemap->set_transmask(0, 0xff, 0x00); /* split type 0 is totally transparent in front half */
trunk/src/mame/video/ojankohs.c
r17673r17674
153153   }
154154}
155155
156static TILE_GET_INFO( ojankohs_get_tile_info )
156TILE_GET_INFO_MEMBER(ojankohs_state::ojankohs_get_tile_info)
157157{
158   ojankohs_state *state = machine.driver_data<ojankohs_state>();
159   int tile = state->m_videoram[tile_index] | ((state->m_colorram[tile_index] & 0x0f) << 8);
160   int color = (state->m_colorram[tile_index] & 0xe0) >> 5;
158   int tile = m_videoram[tile_index] | ((m_colorram[tile_index] & 0x0f) << 8);
159   int color = (m_colorram[tile_index] & 0xe0) >> 5;
161160
162   if (state->m_colorram[tile_index] & 0x10)
161   if (m_colorram[tile_index] & 0x10)
163162   {
164      tile |= (state->m_gfxreg & 0x07) << 12;
165      color |= (state->m_gfxreg & 0xe0) >> 2;
163      tile |= (m_gfxreg & 0x07) << 12;
164      color |= (m_gfxreg & 0xe0) >> 2;
166165   }
167166
168   SET_TILE_INFO(0, tile, color, 0);
167   SET_TILE_INFO_MEMBER(0, tile, color, 0);
169168}
170169
171static TILE_GET_INFO( ojankoy_get_tile_info )
170TILE_GET_INFO_MEMBER(ojankohs_state::ojankoy_get_tile_info)
172171{
173   ojankohs_state *state = machine.driver_data<ojankohs_state>();
174   int tile = state->m_videoram[tile_index] | (state->m_videoram[tile_index + 0x1000] << 8);
175   int color = state->m_colorram[tile_index] & 0x3f;
176   int flipx = ((state->m_colorram[tile_index] & 0x40) >> 6) ? TILEMAP_FLIPX : 0;
177   int flipy = ((state->m_colorram[tile_index] & 0x80) >> 7) ? TILEMAP_FLIPY : 0;
172   int tile = m_videoram[tile_index] | (m_videoram[tile_index + 0x1000] << 8);
173   int color = m_colorram[tile_index] & 0x3f;
174   int flipx = ((m_colorram[tile_index] & 0x40) >> 6) ? TILEMAP_FLIPX : 0;
175   int flipy = ((m_colorram[tile_index] & 0x80) >> 7) ? TILEMAP_FLIPY : 0;
178176
179   SET_TILE_INFO(0, tile, color, (flipx | flipy));
177   SET_TILE_INFO_MEMBER(0, tile, color, (flipx | flipy));
180178}
181179
182180
r17673r17674
263261{
264262   ojankohs_state *state = machine.driver_data<ojankohs_state>();
265263
266   state->m_tilemap = tilemap_create(machine, ojankohs_get_tile_info, TILEMAP_SCAN_ROWS,  8, 4, 64, 64);
264   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);
267265//  state->m_videoram = auto_alloc_array(machine, UINT8, 0x1000);
268266//  state->m_colorram = auto_alloc_array(machine, UINT8, 0x1000);
269267//  state->m_paletteram = auto_alloc_array(machine, UINT8, 0x800);
r17673r17674
273271{
274272   ojankohs_state *state = machine.driver_data<ojankohs_state>();
275273
276   state->m_tilemap = tilemap_create(machine, ojankoy_get_tile_info, TILEMAP_SCAN_ROWS,  8, 4, 64, 64);
274   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);
277275//  state->m_videoram = auto_alloc_array(machine, UINT8, 0x2000);
278276//  state->m_colorram = auto_alloc_array(machine, UINT8, 0x1000);
279277}
trunk/src/mame/video/wc90b.c
r17673r17674
88
99***************************************************************************/
1010
11static TILE_GET_INFO( get_bg_tile_info )
11TILE_GET_INFO_MEMBER(wc90b_state::get_bg_tile_info)
1212{
13   wc90b_state *state = machine.driver_data<wc90b_state>();
14   int attr = state->m_bgvideoram[tile_index];
15   int tile = state->m_bgvideoram[tile_index + 0x800];
16   SET_TILE_INFO(
13   int attr = m_bgvideoram[tile_index];
14   int tile = m_bgvideoram[tile_index + 0x800];
15   SET_TILE_INFO_MEMBER(
1716         9 + ((attr & 3) + ((attr >> 1) & 4)),
1817         tile,
1918         attr >> 4,
2019         0);
2120}
2221
23static TILE_GET_INFO( get_fg_tile_info )
22TILE_GET_INFO_MEMBER(wc90b_state::get_fg_tile_info)
2423{
25   wc90b_state *state = machine.driver_data<wc90b_state>();
26   int attr = state->m_fgvideoram[tile_index];
27   int tile = state->m_fgvideoram[tile_index + 0x800];
28   SET_TILE_INFO(
24   int attr = m_fgvideoram[tile_index];
25   int tile = m_fgvideoram[tile_index + 0x800];
26   SET_TILE_INFO_MEMBER(
2927         1 + ((attr & 3) + ((attr >> 1) & 4)),
3028         tile,
3129         attr >> 4,
3230         0);
3331}
3432
35static TILE_GET_INFO( get_tx_tile_info )
33TILE_GET_INFO_MEMBER(wc90b_state::get_tx_tile_info)
3634{
37   wc90b_state *state = machine.driver_data<wc90b_state>();
38   SET_TILE_INFO(
35   SET_TILE_INFO_MEMBER(
3936         0,
40         state->m_txvideoram[tile_index + 0x800] + ((state->m_txvideoram[tile_index] & 0x07) << 8),
41         state->m_txvideoram[tile_index] >> 4,
37         m_txvideoram[tile_index + 0x800] + ((m_txvideoram[tile_index] & 0x07) << 8),
38         m_txvideoram[tile_index] >> 4,
4239         0);
4340}
4441
r17673r17674
5350VIDEO_START( wc90b )
5451{
5552   wc90b_state *state = machine.driver_data<wc90b_state>();
56   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS,     16,16,64,32);
57   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,16,16,64,32);
58   state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,32);
53   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);
54   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);
55   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);
5956
6057   state->m_fg_tilemap->set_transparent_pen(15);
6158   state->m_tx_tilemap->set_transparent_pen(15);
trunk/src/mame/video/kncljoe.c
r17673r17674
8181
8282***************************************************************************/
8383
84static TILE_GET_INFO( get_bg_tile_info )
84TILE_GET_INFO_MEMBER(kncljoe_state::get_bg_tile_info)
8585{
86   kncljoe_state *state = machine.driver_data<kncljoe_state>();
87   int attr = state->m_videoram[2 * tile_index + 1];
88   int code = state->m_videoram[2 * tile_index] + ((attr & 0xc0) << 2) + (state->m_tile_bank << 10);
86   int attr = m_videoram[2 * tile_index + 1];
87   int code = m_videoram[2 * tile_index] + ((attr & 0xc0) << 2) + (m_tile_bank << 10);
8988
90   SET_TILE_INFO(
89   SET_TILE_INFO_MEMBER(
9190         0,
9291         code,
9392         attr & 0xf,
r17673r17674
105104VIDEO_START( kncljoe )
106105{
107106   kncljoe_state *state = machine.driver_data<kncljoe_state>();
108   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
107   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);
109108
110109   state->m_bg_tilemap->set_scroll_rows(4);
111110}
trunk/src/mame/video/holeland.c
r17673r17674
1616
1717***************************************************************************/
1818
19static TILE_GET_INFO( holeland_get_tile_info )
19TILE_GET_INFO_MEMBER(holeland_state::holeland_get_tile_info)
2020{
21   holeland_state *state = machine.driver_data<holeland_state>();
22   int attr = state->m_colorram[tile_index];
23   int tile_number = state->m_videoram[tile_index] | ((attr & 0x03) << 8);
21   int attr = m_colorram[tile_index];
22   int tile_number = m_videoram[tile_index] | ((attr & 0x03) << 8);
2423
25/*if (machine.input().code_pressed(KEYCODE_Q) && (attr & 0x10)) tile_number = rand(); */
26/*if (machine.input().code_pressed(KEYCODE_W) && (attr & 0x20)) tile_number = rand(); */
27/*if (machine.input().code_pressed(KEYCODE_E) && (attr & 0x40)) tile_number = rand(); */
28/*if (machine.input().code_pressed(KEYCODE_R) && (attr & 0x80)) tile_number = rand(); */
29   SET_TILE_INFO(
24/*if (machine().input().code_pressed(KEYCODE_Q) && (attr & 0x10)) tile_number = rand(); */
25/*if (machine().input().code_pressed(KEYCODE_W) && (attr & 0x20)) tile_number = rand(); */
26/*if (machine().input().code_pressed(KEYCODE_E) && (attr & 0x40)) tile_number = rand(); */
27/*if (machine().input().code_pressed(KEYCODE_R) && (attr & 0x80)) tile_number = rand(); */
28   SET_TILE_INFO_MEMBER(
3029         0,
3130         tile_number,
32         state->m_palette_offset + ((attr >> 4) & 0x0f),
31         m_palette_offset + ((attr >> 4) & 0x0f),
3332         TILE_FLIPYX((attr >> 2) & 0x03));
3433   tileinfo.group = (attr >> 4) & 1;
3534}
3635
37static TILE_GET_INFO( crzrally_get_tile_info )
36TILE_GET_INFO_MEMBER(holeland_state::crzrally_get_tile_info)
3837{
39   holeland_state *state = machine.driver_data<holeland_state>();
40   int attr = state->m_colorram[tile_index];
41   int tile_number = state->m_videoram[tile_index] | ((attr & 0x03) << 8);
38   int attr = m_colorram[tile_index];
39   int tile_number = m_videoram[tile_index] | ((attr & 0x03) << 8);
4240
43   SET_TILE_INFO(
41   SET_TILE_INFO_MEMBER(
4442         0,
4543         tile_number,
46         state->m_palette_offset + ((attr >> 4) & 0x0f),
44         m_palette_offset + ((attr >> 4) & 0x0f),
4745         TILE_FLIPYX((attr >> 2) & 0x03));
4846   tileinfo.group = (attr >> 4) & 1;
4947}
r17673r17674
5755VIDEO_START( holeland )
5856{
5957   holeland_state *state = machine.driver_data<holeland_state>();
60   state->m_bg_tilemap = tilemap_create(machine, holeland_get_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
58   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);
6159
6260   state->m_bg_tilemap->set_transmask(0, 0xff, 0x00); /* split type 0 is totally transparent in front half */
6361   state->m_bg_tilemap->set_transmask(1, 0x01, 0xfe); /* split type 1 has pen 0? transparent in front half */
r17673r17674
6664VIDEO_START( crzrally )
6765{
6866   holeland_state *state = machine.driver_data<holeland_state>();
69   state->m_bg_tilemap = tilemap_create(machine, crzrally_get_tile_info, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
67   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);
7068}
7169
7270WRITE8_MEMBER(holeland_state::holeland_videoram_w)
trunk/src/mame/video/spdodgeb.c
r17673r17674
4545
4646***************************************************************************/
4747
48static TILEMAP_MAPPER( background_scan )
48TILEMAP_MAPPER_MEMBER(spdodgeb_state::background_scan)
4949{
5050   /* logical (col,row) -> memory offset */
5151   return (col & 0x1f) + ((row & 0x1f) << 5) + ((col & 0x20) << 5);
5252}
5353
54static TILE_GET_INFO( get_bg_tile_info )
54TILE_GET_INFO_MEMBER(spdodgeb_state::get_bg_tile_info)
5555{
56   spdodgeb_state *state = machine.driver_data<spdodgeb_state>();
57   UINT8 code = state->m_videoram[tile_index];
58   UINT8 attr = state->m_videoram[tile_index + 0x800];
59   SET_TILE_INFO(
56   UINT8 code = m_videoram[tile_index];
57   UINT8 attr = m_videoram[tile_index + 0x800];
58   SET_TILE_INFO_MEMBER(
6059         0,
6160         code + ((attr & 0x1f) << 8),
62         ((attr & 0xe0) >> 5) + 8 * state->m_tile_palbank,
61         ((attr & 0xe0) >> 5) + 8 * m_tile_palbank,
6362         0);
6463}
6564
r17673r17674
7372VIDEO_START( spdodgeb )
7473{
7574   spdodgeb_state *state = machine.driver_data<spdodgeb_state>();
76   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,background_scan,8,8,64,32);
75   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);
7776}
7877
7978
trunk/src/mame/video/liberate.c
r17673r17674
2525}
2626#endif
2727
28static TILEMAP_MAPPER( back_scan )
28TILEMAP_MAPPER_MEMBER(liberate_state::back_scan)
2929{
3030   /* logical (col,row) -> memory offset */
3131   return ((row & 0xf)) + ((15 - (col & 0xf)) << 4) + ((row & 0x10) << 5) + ((col & 0x10) << 4);
3232}
3333
34static TILEMAP_MAPPER( fix_scan )
34TILEMAP_MAPPER_MEMBER(liberate_state::fix_scan)
3535{
3636   /* logical (col,row) -> memory offset */
3737   return (row & 0x1f) + ((31 - (col & 0x1f)) << 5);
3838}
3939
40static TILE_GET_INFO( get_back_tile_info )
40TILE_GET_INFO_MEMBER(liberate_state::get_back_tile_info)
4141{
42   liberate_state *state = machine.driver_data<liberate_state>();
43   const UINT8 *RAM = state->memregion("user1")->base();
42   const UINT8 *RAM = memregion("user1")->base();
4443   int tile, bank;
4544
4645   /* Convert tile index of 512x512 to paged format */
4746   if (tile_index & 0x100)
4847   {
4948      if (tile_index & 0x200)
50         tile_index = (tile_index & 0xff) + (state->m_io_ram[5] << 8); /* Bottom right */
49         tile_index = (tile_index & 0xff) + (m_io_ram[5] << 8); /* Bottom right */
5150      else
52         tile_index = (tile_index & 0xff) + (state->m_io_ram[4] << 8); /* Bottom left */
51         tile_index = (tile_index & 0xff) + (m_io_ram[4] << 8); /* Bottom left */
5352   }
5453   else
5554   {
5655      if (tile_index & 0x200)
57         tile_index = (tile_index & 0xff) + (state->m_io_ram[3] << 8); /* Top right */
56         tile_index = (tile_index & 0xff) + (m_io_ram[3] << 8); /* Top right */
5857      else
59         tile_index = (tile_index & 0xff) + (state->m_io_ram[2] << 8); /* Top left */
58         tile_index = (tile_index & 0xff) + (m_io_ram[2] << 8); /* Top left */
6059   }
6160
6261   tile = RAM[tile_index];
r17673r17674
6463      bank = 3;
6564   else
6665      bank = 2;
67   SET_TILE_INFO(bank, tile & 0x7f, state->m_background_color, 0);
66   SET_TILE_INFO_MEMBER(bank, tile & 0x7f, m_background_color, 0);
6867}
6968
70static TILE_GET_INFO( get_fix_tile_info )
69TILE_GET_INFO_MEMBER(liberate_state::get_fix_tile_info)
7170{
72   liberate_state *state = machine.driver_data<liberate_state>();
73   UINT8 *videoram = state->m_videoram;
74   UINT8 *colorram = state->m_colorram;
71   UINT8 *videoram = m_videoram;
72   UINT8 *colorram = m_colorram;
7573   int tile, color;
7674
7775   tile = videoram[tile_index] + (colorram[tile_index] << 8);
7876   color = (colorram[tile_index] & 0x70) >> 4;
7977
80   SET_TILE_INFO(0, tile, color, 0);
78   SET_TILE_INFO_MEMBER(0, tile, color, 0);
8179}
8280
83static TILE_GET_INFO( prosport_get_back_tile_info )
81TILE_GET_INFO_MEMBER(liberate_state::prosport_get_back_tile_info)
8482{
85   liberate_state *state = machine.driver_data<liberate_state>();
8683   int tile;
8784
8885   /*
r17673r17674
9188        - bits 0-3 are not used by gfx hardware; the value is the color of the pixel in the map (golf)
9289    */
9390
94   tile = (state->m_bg_vram[tile_index] & 0xf0)>>4;
91   tile = (m_bg_vram[tile_index] & 0xf0)>>4;
9592
9693   if (tile_index & 0x8) tile += 0x10;
9794
98   tile += state->m_io_ram[0]&0x20; //Pro Bowling bg tiles banking bit
95   tile += m_io_ram[0]&0x20; //Pro Bowling bg tiles banking bit
9996
100   SET_TILE_INFO(8, tile, 0, 0);
97   SET_TILE_INFO_MEMBER(8, tile, 0, 0);
10198}
10299
103100/***************************************************************************/
r17673r17674
205202VIDEO_START( prosoccr )
206203{
207204   liberate_state *state = machine.driver_data<liberate_state>();
208   state->m_back_tilemap = tilemap_create(machine, get_back_tile_info, back_scan, 16, 16, 32, 32);
209   state->m_fix_tilemap = tilemap_create(machine, get_fix_tile_info, fix_scan, 8, 8, 32, 32);
205   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);
206   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);
210207
211208   state->m_fix_tilemap->set_transparent_pen(0);
212209
r17673r17674
216213VIDEO_START( boomrang )
217214{
218215   liberate_state *state = machine.driver_data<liberate_state>();
219   state->m_back_tilemap = tilemap_create(machine, get_back_tile_info, back_scan, 16, 16, 32, 32);
220   state->m_fix_tilemap = tilemap_create(machine, get_fix_tile_info, fix_scan, 8, 8, 32, 32);
216   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);
217   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);
221218
222219   state->m_back_tilemap->set_transmask(0, 0x0001, 0x007e); /* Bottom 1 pen/Top 7 pens */
223220   state->m_fix_tilemap->set_transparent_pen(0);
r17673r17674
226223VIDEO_START( liberate )
227224{
228225   liberate_state *state = machine.driver_data<liberate_state>();
229   state->m_back_tilemap = tilemap_create(machine, get_back_tile_info, back_scan, 16, 16, 32, 32);
230   state->m_fix_tilemap = tilemap_create(machine, get_fix_tile_info, fix_scan, 8, 8, 32, 32);
226   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);
227   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);
231228
232229   state->m_fix_tilemap->set_transparent_pen(0);
233230}
r17673r17674
235232VIDEO_START( prosport )
236233{
237234   liberate_state *state = machine.driver_data<liberate_state>();
238   state->m_back_tilemap = tilemap_create(machine, prosport_get_back_tile_info, back_scan, 16, 16, 32, 32);
239   state->m_fix_tilemap = tilemap_create(machine, get_fix_tile_info, fix_scan, 8, 8, 32, 32);
235   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);
236   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);
240237
241238   state->m_fix_tilemap->set_transparent_pen(0);
242239}
trunk/src/mame/video/gunsmoke.c
r17673r17674
103103   m_objon = data & 0x20;
104104}
105105
106static TILE_GET_INFO( get_bg_tile_info )
106TILE_GET_INFO_MEMBER(gunsmoke_state::get_bg_tile_info)
107107{
108   UINT8 *tilerom = machine.root_device().memregion("gfx4")->base();
108   UINT8 *tilerom = machine().root_device().memregion("gfx4")->base();
109109
110110   int offs = tile_index * 2;
111111   int attr = tilerom[offs + 1];
r17673r17674
113113   int color = (attr & 0x3c) >> 2;
114114   int flags = TILE_FLIPYX((attr & 0xc0) >> 6);
115115
116   SET_TILE_INFO(1, code, color, flags);
116   SET_TILE_INFO_MEMBER(1, code, color, flags);
117117}
118118
119static TILE_GET_INFO( get_fg_tile_info )
119TILE_GET_INFO_MEMBER(gunsmoke_state::get_fg_tile_info)
120120{
121   gunsmoke_state *state = machine.driver_data<gunsmoke_state>();
122   int attr = state->m_colorram[tile_index];
123   int code = state->m_videoram[tile_index] + ((attr & 0xe0) << 2);
121   int attr = m_colorram[tile_index];
122   int code = m_videoram[tile_index] + ((attr & 0xe0) << 2);
124123   int color = attr & 0x1f;
125124
126125   tileinfo.group = color;
127126
128   SET_TILE_INFO(0, code, color, 0);
127   SET_TILE_INFO_MEMBER(0, code, color, 0);
129128}
130129
131130VIDEO_START( gunsmoke )
132131{
133132   gunsmoke_state *state = machine.driver_data<gunsmoke_state>();
134   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS,  32, 32, 2048, 8);
135   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 32, 32);
133   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);
134   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);
136135
137136   colortable_configure_tilemap_groups(machine.colortable, state->m_fg_tilemap, machine.gfx[0], 0x4f);
138137}
trunk/src/mame/video/turbo.c
r17673r17674
165165 *
166166 *************************************/
167167
168static TILE_GET_INFO( get_fg_tile_info )
168TILE_GET_INFO_MEMBER(turbo_state::get_fg_tile_info)
169169{
170   turbo_state *state = machine.driver_data<turbo_state>();
171   int code = state->m_videoram[tile_index];
172   SET_TILE_INFO(0, code, code >> 2, 0);
170   int code = m_videoram[tile_index];
171   SET_TILE_INFO_MEMBER(0, code, code >> 2, 0);
173172}
174173
175174
r17673r17674
178177   turbo_state *state = machine.driver_data<turbo_state>();
179178
180179   /* initialize the foreground tilemap */
181   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,  8,8, 32,32);
180   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);
182181}
183182
184183
r17673r17674
187186   turbo_state *state = machine.driver_data<turbo_state>();
188187
189188   /* initialize the foreground tilemap */
190   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,  8,8, 32,32);
189   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);
191190
192191   /* allocate the bitmap RAM */
193192   state->m_buckrog_bitmap_ram = auto_alloc_array(machine, UINT8, 0xe000);
trunk/src/mame/video/seta.c
r17673r17674
372372   SET_TILE_INFO( 1, (code & 0x3fff), attr & 0x1f, TILE_FLIPXY((code & 0xc000) >> 14) );
373373}
374374
375static TILE_GET_INFO( twineagl_get_tile_info_0 ) { twineagl_tile_info( machine, tileinfo, tile_index, 0x0000 ); }
376static TILE_GET_INFO( twineagl_get_tile_info_1 ) { twineagl_tile_info( machine, tileinfo, tile_index, 0x1000 ); }
375TILE_GET_INFO_MEMBER(seta_state::twineagl_get_tile_info_0){ twineagl_tile_info( machine(), tileinfo, tile_index, 0x0000 ); }
376TILE_GET_INFO_MEMBER(seta_state::twineagl_get_tile_info_1){ twineagl_tile_info( machine(), tileinfo, tile_index, 0x1000 ); }
377377
378378
379379INLINE void get_tile_info( running_machine &machine, tile_data &tileinfo, int tile_index, int layer, int offset )
r17673r17674
397397   SET_TILE_INFO( gfx, state->m_tiles_offset + (code & 0x3fff), attr & 0x1f, TILE_FLIPXY((code & 0xc000) >> 14) );
398398}
399399
400static TILE_GET_INFO( get_tile_info_0 ) { get_tile_info( machine, tileinfo, tile_index, 0, 0x0000 ); }
401static TILE_GET_INFO( get_tile_info_1 ) { get_tile_info( machine, tileinfo, tile_index, 0, 0x1000 ); }
402static TILE_GET_INFO( get_tile_info_2 ) { get_tile_info( machine, tileinfo, tile_index, 1, 0x0000 ); }
403static TILE_GET_INFO( get_tile_info_3 ) { get_tile_info( machine, tileinfo, tile_index, 1, 0x1000 ); }
400TILE_GET_INFO_MEMBER(seta_state::get_tile_info_0){ get_tile_info( machine(), tileinfo, tile_index, 0, 0x0000 ); }
401TILE_GET_INFO_MEMBER(seta_state::get_tile_info_1){ get_tile_info( machine(), tileinfo, tile_index, 0, 0x1000 ); }
402TILE_GET_INFO_MEMBER(seta_state::get_tile_info_2){ get_tile_info( machine(), tileinfo, tile_index, 1, 0x0000 ); }
403TILE_GET_INFO_MEMBER(seta_state::get_tile_info_3){ get_tile_info( machine(), tileinfo, tile_index, 1, 0x1000 ); }
404404
405405
406406WRITE16_MEMBER(seta_state::seta_vram_0_w)
r17673r17674
449449       at any given time */
450450
451451   /* layer 0 */
452   state->m_tilemap_0 = tilemap_create(   machine, get_tile_info_0, TILEMAP_SCAN_ROWS,
452   state->m_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS,
453453                         16,16, 64,32 );
454454
455   state->m_tilemap_1 = tilemap_create(   machine, get_tile_info_1, TILEMAP_SCAN_ROWS,
455   state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS,
456456                         16,16, 64,32 );
457457
458458
459459   /* layer 1 */
460   state->m_tilemap_2 = tilemap_create(   machine, get_tile_info_2, TILEMAP_SCAN_ROWS,
460   state->m_tilemap_2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::get_tile_info_2),state), TILEMAP_SCAN_ROWS,
461461                         16,16, 64,32 );
462462
463   state->m_tilemap_3 = tilemap_create(   machine, get_tile_info_3, TILEMAP_SCAN_ROWS,
463   state->m_tilemap_3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::get_tile_info_3),state), TILEMAP_SCAN_ROWS,
464464                         16,16, 64,32 );
465465
466466   state->m_tilemaps_flip = 0;
r17673r17674
484484       at any given time */
485485
486486   /* layer 0 */
487   state->m_tilemap_0 = tilemap_create(   machine, get_tile_info_0, TILEMAP_SCAN_ROWS,
487   state->m_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS,
488488                         16,16, 64,32 );
489489
490   state->m_tilemap_1 = tilemap_create(   machine, get_tile_info_1, TILEMAP_SCAN_ROWS,
490   state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS,
491491                         16,16, 64,32 );
492492
493493   state->m_color_mode_shift = 4;
r17673r17674
506506       at any given time */
507507
508508   /* layer 0 */
509   state->m_tilemap_0 = tilemap_create(   machine, twineagl_get_tile_info_0, TILEMAP_SCAN_ROWS,
509   state->m_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::twineagl_get_tile_info_0),state), TILEMAP_SCAN_ROWS,
510510                         16,16, 64,32 );
511511
512   state->m_tilemap_1 = tilemap_create(   machine, twineagl_get_tile_info_1, TILEMAP_SCAN_ROWS,
512   state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(seta_state::twineagl_get_tile_info_1),state), TILEMAP_SCAN_ROWS,
513513                         16,16, 64,32 );
514514
515515   state->m_tilemap_0->set_transparent_pen(0);
trunk/src/mame/video/tp84.c
r17673r17674
119119}
120120
121121
122static TILE_GET_INFO( get_bg_tile_info )
122TILE_GET_INFO_MEMBER(tp84_state::get_bg_tile_info)
123123{
124   tp84_state *state = machine.driver_data<tp84_state>();
125   int code = ((state->m_bg_colorram[tile_index] & 0x30) << 4) | state->m_bg_videoram[tile_index];
126   int color = ((*state->m_palette_bank & 0x07) << 6) |
127            ((*state->m_palette_bank & 0x18) << 1) |
128            (state->m_bg_colorram[tile_index] & 0x0f);
129   int flags = TILE_FLIPYX(state->m_bg_colorram[tile_index] >> 6);
124   int code = ((m_bg_colorram[tile_index] & 0x30) << 4) | m_bg_videoram[tile_index];
125   int color = ((*m_palette_bank & 0x07) << 6) |
126            ((*m_palette_bank & 0x18) << 1) |
127            (m_bg_colorram[tile_index] & 0x0f);
128   int flags = TILE_FLIPYX(m_bg_colorram[tile_index] >> 6);
130129
131   SET_TILE_INFO(0, code, color, flags);
130   SET_TILE_INFO_MEMBER(0, code, color, flags);
132131}
133132
134static TILE_GET_INFO( get_fg_tile_info )
133TILE_GET_INFO_MEMBER(tp84_state::get_fg_tile_info)
135134{
136   tp84_state *state = machine.driver_data<tp84_state>();
137   int code = ((state->m_fg_colorram[tile_index] & 0x30) << 4) | state->m_fg_videoram[tile_index];
138   int color = ((*state->m_palette_bank & 0x07) << 6) |
139            ((*state->m_palette_bank & 0x18) << 1) |
140            (state->m_fg_colorram[tile_index] & 0x0f);
141   int flags = TILE_FLIPYX(state->m_fg_colorram[tile_index] >> 6);
135   int code = ((m_fg_colorram[tile_index] & 0x30) << 4) | m_fg_videoram[tile_index];
136   int color = ((*m_palette_bank & 0x07) << 6) |
137            ((*m_palette_bank & 0x18) << 1) |
138            (m_fg_colorram[tile_index] & 0x0f);
139   int flags = TILE_FLIPYX(m_fg_colorram[tile_index] >> 6);
142140
143   SET_TILE_INFO(0, code, color, flags);
141   SET_TILE_INFO_MEMBER(0, code, color, flags);
144142}
145143
146144
147145VIDEO_START( tp84 )
148146{
149147   tp84_state *state = machine.driver_data<tp84_state>();
150   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
151   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
148   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);
149   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);
152150}
153151
154152
trunk/src/mame/video/vball.c
r17673r17674
1919
2020***************************************************************************/
2121
22static TILEMAP_MAPPER( background_scan )
22TILEMAP_MAPPER_MEMBER(vball_state::background_scan)
2323{
2424   /* logical (col,row) -> memory offset */
2525   return (col & 0x1f) + ((row & 0x1f) << 5) + ((col & 0x20) << 5) + ((row & 0x20) <<6);
2626}
2727
28static TILE_GET_INFO( get_bg_tile_info )
28TILE_GET_INFO_MEMBER(vball_state::get_bg_tile_info)
2929{
30   vball_state *state = machine.driver_data<vball_state>();
31   UINT8 code = state->m_vb_videoram[tile_index];
32   UINT8 attr = state->m_vb_attribram[tile_index];
33   SET_TILE_INFO(
30   UINT8 code = m_vb_videoram[tile_index];
31   UINT8 attr = m_vb_attribram[tile_index];
32   SET_TILE_INFO_MEMBER(
3433         0,
35         code + ((attr & 0x1f) << 8) + (state->m_gfxset<<8),
34         code + ((attr & 0x1f) << 8) + (m_gfxset<<8),
3635         (attr >> 5) & 0x7,
3736         0);
3837}
r17673r17674
4140VIDEO_START( vb )
4241{
4342   vball_state *state = machine.driver_data<vball_state>();
44   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,background_scan, 8, 8,64,64);
43   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);
4544
4645   state->m_bg_tilemap->set_scroll_rows(32);
4746   state->m_gfxset=0;
trunk/src/mame/video/plygonet.c
r17673r17674
1313
1414/* TTL text plane */
1515
16static TILE_GET_INFO( ttl_get_tile_info )
16TILE_GET_INFO_MEMBER(polygonet_state::ttl_get_tile_info)
1717{
18   polygonet_state *state = machine.driver_data<polygonet_state>();
1918   int attr, code;
2019
21   code = state->m_ttl_vram[tile_index]&0xfff;
20   code = m_ttl_vram[tile_index]&0xfff;
2221
23   attr = state->m_ttl_vram[tile_index]>>12;   /* palette in all 4 bits? */
22   attr = m_ttl_vram[tile_index]>>12;   /* palette in all 4 bits? */
2423
25   SET_TILE_INFO(state->m_ttl_gfx_index, code, attr, 0);
24   SET_TILE_INFO_MEMBER(m_ttl_gfx_index, code, attr, 0);
2625}
2726
28static TILE_GET_INFO( roz_get_tile_info )
27TILE_GET_INFO_MEMBER(polygonet_state::roz_get_tile_info)
2928{
30   polygonet_state *state = machine.driver_data<polygonet_state>();
3129   int attr, code;
3230
33   attr = (state->m_roz_vram[tile_index] >> 12) + 16;   /* roz base palette is palette 16 */
34   code = state->m_roz_vram[tile_index] & 0x3ff;
31   attr = (m_roz_vram[tile_index] >> 12) + 16;   /* roz base palette is palette 16 */
32   code = m_roz_vram[tile_index] & 0x3ff;
3533
36   SET_TILE_INFO(0, code, attr, 0);
34   SET_TILE_INFO_MEMBER(0, code, attr, 0);
3735}
3836
3937READ32_MEMBER(polygonet_state::polygonet_ttl_ram_r)
r17673r17674
7068   m_roz_tilemap->mark_tile_dirty(offset*2+1);
7169}
7270
73static TILEMAP_MAPPER( plygonet_scan )
71TILEMAP_MAPPER_MEMBER(polygonet_state::plygonet_scan)
7472{
7573   return row * num_cols + (col^1);
7674}
7775
78static TILEMAP_MAPPER( plygonet_scan_cols )
76TILEMAP_MAPPER_MEMBER(polygonet_state::plygonet_scan_cols)
7977{
8078   return col * num_rows + (row^1);
8179}
r17673r17674
105103   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));
106104
107105   /* create the tilemap */
108   state->m_ttl_tilemap = tilemap_create(machine, ttl_get_tile_info, plygonet_scan,  8, 8, 64, 32);
106   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);
109107
110108   state->m_ttl_tilemap->set_transparent_pen(0);
111109
112110   /* set up the roz t-map too */
113   state->m_roz_tilemap = tilemap_create(machine, roz_get_tile_info, plygonet_scan_cols, 16, 16, 32, 64);
111   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);
114112   state->m_roz_tilemap->set_transparent_pen(0);
115113
116114   /* save states */
trunk/src/mame/video/higemaru.c
r17673r17674
8989   }
9090}
9191
92static TILE_GET_INFO( get_bg_tile_info )
92TILE_GET_INFO_MEMBER(higemaru_state::get_bg_tile_info)
9393{
94   higemaru_state *state = machine.driver_data<higemaru_state>();
95   int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 0x80) << 1);
96   int color = state->m_colorram[tile_index] & 0x1f;
94   int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x80) << 1);
95   int color = m_colorram[tile_index] & 0x1f;
9796
98   SET_TILE_INFO(0, code, color, 0);
97   SET_TILE_INFO_MEMBER(0, code, color, 0);
9998}
10099
101100VIDEO_START( higemaru )
102101{
103102   higemaru_state *state = machine.driver_data<higemaru_state>();
104   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
103   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);
105104}
106105
107106static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
trunk/src/mame/video/batman.c
r17673r17674
1616 *
1717 *************************************/
1818
19static TILE_GET_INFO( get_alpha_tile_info )
19TILE_GET_INFO_MEMBER(batman_state::get_alpha_tile_info)
2020{
21   batman_state *state = machine.driver_data<batman_state>();
22   UINT16 data = state->m_alpha[tile_index];
23   int code = ((data & 0x400) ? (state->m_alpha_tile_bank * 0x400) : 0) + (data & 0x3ff);
21   UINT16 data = m_alpha[tile_index];
22   int code = ((data & 0x400) ? (m_alpha_tile_bank * 0x400) : 0) + (data & 0x3ff);
2423   int color = (data >> 11) & 0x0f;
2524   int opaque = data & 0x8000;
26   SET_TILE_INFO(2, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
25   SET_TILE_INFO_MEMBER(2, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
2726}
2827
2928
30static TILE_GET_INFO( get_playfield_tile_info )
29TILE_GET_INFO_MEMBER(batman_state::get_playfield_tile_info)
3130{
32   batman_state *state = machine.driver_data<batman_state>();
33   UINT16 data1 = state->m_playfield[tile_index];
34   UINT16 data2 = state->m_playfield_upper[tile_index] & 0xff;
31   UINT16 data1 = m_playfield[tile_index];
32   UINT16 data2 = m_playfield_upper[tile_index] & 0xff;
3533   int code = data1 & 0x7fff;
3634   int color = 0x10 + (data2 & 0x0f);
37   SET_TILE_INFO(0, code, color, (data1 >> 15) & 1);
35   SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
3836   tileinfo.category = (data2 >> 4) & 3;
3937}
4038
4139
42static TILE_GET_INFO( get_playfield2_tile_info )
40TILE_GET_INFO_MEMBER(batman_state::get_playfield2_tile_info)
4341{
44   batman_state *state = machine.driver_data<batman_state>();
45   UINT16 data1 = state->m_playfield2[tile_index];
46   UINT16 data2 = state->m_playfield_upper[tile_index] >> 8;
42   UINT16 data1 = m_playfield2[tile_index];
43   UINT16 data2 = m_playfield_upper[tile_index] >> 8;
4744   int code = data1 & 0x7fff;
4845   int color = data2 & 0x0f;
49   SET_TILE_INFO(0, code, color, (data1 >> 15) & 1);
46   SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
5047   tileinfo.category = (data2 >> 4) & 3;
5148}
5249
r17673r17674
9996   batman_state *state = machine.driver_data<batman_state>();
10097
10198   /* initialize the playfield */
102   state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_COLS,  8,8, 64,64);
99   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);
103100
104101   /* initialize the second playfield */
105   state->m_playfield2_tilemap = tilemap_create(machine, get_playfield2_tile_info, TILEMAP_SCAN_COLS,  8,8, 64,64);
102   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);
106103   state->m_playfield2_tilemap->set_transparent_pen(0);
107104
108105   /* initialize the motion objects */
109106   atarimo_init(machine, 0, &modesc);
110107
111108   /* initialize the alphanumerics */
112   state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS,  8,8, 64,32);
109   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);
113110   state->m_alpha_tilemap->set_transparent_pen(0);
114111}
115112
trunk/src/mame/video/nemesis.c
r17673r17674
2121};
2222
2323
24static TILE_GET_INFO( get_bg_tile_info )
24TILE_GET_INFO_MEMBER(nemesis_state::get_bg_tile_info)
2525{
26   nemesis_state *state = machine.driver_data<nemesis_state>();
2726   int code, color, flags, mask, layer;
2827
29   code = state->m_videoram2[tile_index];
30   color = state->m_colorram2[tile_index];
28   code = m_videoram2[tile_index];
29   color = m_colorram2[tile_index];
3130   flags = 0;
3231
3332   if (color & 0x80)
r17673r17674
4140
4241   if (code & 0xf800)
4342   {
44      SET_TILE_INFO( 0, code & 0x7ff, color & 0x7f, flags );
43      SET_TILE_INFO_MEMBER( 0, code & 0x7ff, color & 0x7f, flags );
4544   }
4645   else
4746   {
48      SET_TILE_INFO( 0, 0, 0x00, 0 );
49      tileinfo.pen_data = state->m_blank_tile;
47      SET_TILE_INFO_MEMBER( 0, 0, 0x00, 0 );
48      tileinfo.pen_data = m_blank_tile;
5049   }
5150
5251   mask = (code & 0x1000) >> 12;
r17673r17674
5756   tileinfo.category = mask | (layer << 1);
5857}
5958
60static TILE_GET_INFO( get_fg_tile_info )
59TILE_GET_INFO_MEMBER(nemesis_state::get_fg_tile_info)
6160{
62   nemesis_state *state = machine.driver_data<nemesis_state>();
6361   int code, color, flags, mask, layer;
6462
65   code = state->m_videoram1[tile_index];
66   color = state->m_colorram1[tile_index];
63   code = m_videoram1[tile_index];
64   color = m_colorram1[tile_index];
6765   flags = 0;
6866
6967   if (color & 0x80)
r17673r17674
7775
7876   if (code & 0xf800)
7977   {
80      SET_TILE_INFO( 0, code & 0x7ff, color & 0x7f, flags );
78      SET_TILE_INFO_MEMBER( 0, code & 0x7ff, color & 0x7f, flags );
8179   }
8280   else
8381   {
84      SET_TILE_INFO( 0, 0, 0x00, 0 );
85      tileinfo.pen_data = state->m_blank_tile;
82      SET_TILE_INFO_MEMBER( 0, 0, 0x00, 0 );
83      tileinfo.pen_data = m_blank_tile;
8684   }
8785
8886   mask = (code & 0x1000) >> 12;
r17673r17674
299297
300298   state->m_spriteram_words = state->m_spriteram.bytes() / 2;
301299
302   state->m_background = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 64, 32);
303   state->m_foreground = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 64, 32);
300   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);
301   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);
304302
305303   state->m_background->set_transparent_pen(0);
306304   state->m_foreground->set_transparent_pen(0);
trunk/src/mame/video/cheekyms.c
r17673r17674
6363
6464
6565
66static TILE_GET_INFO( cheekyms_get_tile_info )
66TILE_GET_INFO_MEMBER(cheekyms_state::cheekyms_get_tile_info)
6767{
68   cheekyms_state *state = machine.driver_data<cheekyms_state>();
6968   int color;
7069
7170   int x = tile_index & 0x1f;
7271   int y = tile_index >> 5;
73   int code = state->m_videoram[tile_index];
74   int palette = (*state->m_port_80 >> 2) & 0x10;
72   int code = m_videoram[tile_index];
73   int palette = (*m_port_80 >> 2) & 0x10;
7574
7675   if (x >= 0x1e)
7776   {
r17673r17674
9089         color = palette | (x >> 1);
9190   }
9291
93   SET_TILE_INFO(0, code, color, 0);
92   SET_TILE_INFO_MEMBER(0, code, color, 0);
9493}
9594
9695VIDEO_START( cheekyms )
r17673r17674
102101   height = machine.primary_screen->height();
103102   state->m_bitmap_buffer = auto_bitmap_ind16_alloc(machine, width, height);
104103
105   state->m_cm_tilemap = tilemap_create(machine, cheekyms_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
104   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);
106105   state->m_cm_tilemap->set_transparent_pen(0);
107106}
108107
trunk/src/mame/video/timelimt.c
r17673r17674
5454
5555***************************************************************************/
5656
57static TILE_GET_INFO( get_bg_tile_info )
57TILE_GET_INFO_MEMBER(timelimt_state::get_bg_tile_info)
5858{
59   timelimt_state *state = machine.driver_data<timelimt_state>();
60   SET_TILE_INFO(1, state->m_bg_videoram[tile_index], 0, 0);
59   SET_TILE_INFO_MEMBER(1, m_bg_videoram[tile_index], 0, 0);
6160}
6261
63static TILE_GET_INFO( get_fg_tile_info )
62TILE_GET_INFO_MEMBER(timelimt_state::get_fg_tile_info)
6463{
65   timelimt_state *state = machine.driver_data<timelimt_state>();
66   UINT8 *videoram = state->m_videoram;
67   SET_TILE_INFO(0, videoram[tile_index], 0, 0);
64   UINT8 *videoram = m_videoram;
65   SET_TILE_INFO_MEMBER(0, videoram[tile_index], 0, 0);
6866}
6967
7068VIDEO_START( timelimt )
7169{
7270   timelimt_state *state = machine.driver_data<timelimt_state>();
73   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
71   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(timelimt_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
7472       8, 8, 64, 32);
7573
76   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,
74   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(timelimt_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,
7775       8, 8, 32, 32);
7876
7977   state->m_fg_tilemap->set_transparent_pen(0);
trunk/src/mame/video/goal92.c
r17673r17674
4040   m_fg_layer->mark_tile_dirty(offset);
4141}
4242
43static TILE_GET_INFO( get_text_tile_info )
43TILE_GET_INFO_MEMBER(goal92_state::get_text_tile_info)
4444{
45   goal92_state *state = machine.driver_data<goal92_state>();
46   int tile = state->m_tx_data[tile_index];
45   int tile = m_tx_data[tile_index];
4746   int color = (tile >> 12) & 0xf;
4847
4948   tile &= 0xfff;
5049
5150   tile |= 0xc000;
5251
53   SET_TILE_INFO(1, tile, color, 0);
52   SET_TILE_INFO_MEMBER(1, tile, color, 0);
5453}
5554
56static TILE_GET_INFO( get_back_tile_info )
55TILE_GET_INFO_MEMBER(goal92_state::get_back_tile_info)
5756{
58   goal92_state *state = machine.driver_data<goal92_state>();
59   int tile = state->m_bg_data[tile_index];
57   int tile = m_bg_data[tile_index];
6058   int color = (tile >> 12) & 0xf;
6159
6260   tile &= 0xfff;
6361
64   SET_TILE_INFO(2, tile, color, 0);
62   SET_TILE_INFO_MEMBER(2, tile, color, 0);
6563}
6664
67static TILE_GET_INFO( get_fore_tile_info )
65TILE_GET_INFO_MEMBER(goal92_state::get_fore_tile_info)
6866{
69   goal92_state *state = machine.driver_data<goal92_state>();
70   int tile = state->m_fg_data[tile_index];
67   int tile = m_fg_data[tile_index];
7168   int color = (tile >> 12) & 0xf;
7269   int region;
7370
7471   tile &= 0xfff;
7572
76   if(state->m_fg_bank & 0xff)
73   if(m_fg_bank & 0xff)
7774   {
7875      region = 3;
7976      tile |= 0x1000;
r17673r17674
8481      tile |= 0x2000;
8582   }
8683
87   SET_TILE_INFO(region, tile, color, 0);
84   SET_TILE_INFO_MEMBER(region, tile, color, 0);
8885}
8986
9087static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int pri )
r17673r17674
135132VIDEO_START( goal92 )
136133{
137134   goal92_state *state = machine.driver_data<goal92_state>();
138   state->m_bg_layer = tilemap_create(machine, get_back_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
139   state->m_fg_layer = tilemap_create(machine, get_fore_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
140   state->m_tx_layer = tilemap_create(machine, get_text_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
135   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);
136   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);
137   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);
141138
142139   state->m_buffered_spriteram = auto_alloc_array(machine, UINT16, 0x400 * 2);
143140   state_save_register_global_pointer(machine, state->m_buffered_spriteram, 0x400 * 2);
trunk/src/mame/video/1942.c
r17673r17674
8989
9090***************************************************************************/
9191
92static TILE_GET_INFO( get_fg_tile_info )
92TILE_GET_INFO_MEMBER(_1942_state::get_fg_tile_info)
9393{
94   _1942_state *state = machine.driver_data<_1942_state>();
9594   int code, color;
9695
97   code = state->m_fg_videoram[tile_index];
98   color = state->m_fg_videoram[tile_index + 0x400];
99   SET_TILE_INFO(
96   code = m_fg_videoram[tile_index];
97   color = m_fg_videoram[tile_index + 0x400];
98   SET_TILE_INFO_MEMBER(
10099         0,
101100         code + ((color & 0x80) << 1),
102101         color & 0x3f,
103102         0);
104103}
105104
106static TILE_GET_INFO( get_bg_tile_info )
105TILE_GET_INFO_MEMBER(_1942_state::get_bg_tile_info)
107106{
108   _1942_state *state = machine.driver_data<_1942_state>();
109107   int code, color;
110108
111109   tile_index = (tile_index & 0x0f) | ((tile_index & 0x01f0) << 1);
112110
113   code = state->m_bg_videoram[tile_index];
114   color = state->m_bg_videoram[tile_index + 0x10];
115   SET_TILE_INFO(
111   code = m_bg_videoram[tile_index];
112   color = m_bg_videoram[tile_index + 0x10];
113   SET_TILE_INFO_MEMBER(
116114         1,
117115         code + ((color & 0x80) << 1),
118         (color & 0x1f) + (0x20 * state->m_palette_bank),
116         (color & 0x1f) + (0x20 * m_palette_bank),
119117         TILE_FLIPYX((color & 0x60) >> 5));
120118}
121119
r17673r17674
128126VIDEO_START( 1942 )
129127{
130128   _1942_state *state = machine.driver_data<_1942_state>();
131   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
132   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 16);
129   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);
130   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);
133131
134132   state->m_fg_tilemap->set_transparent_pen(0);
135133}
trunk/src/mame/video/poolshrk.c
r17673r17674
1010
1111
1212
13static TILE_GET_INFO( get_tile_info )
13TILE_GET_INFO_MEMBER(poolshrk_state::get_tile_info)
1414{
15   poolshrk_state *state = machine.driver_data<poolshrk_state>();
16   SET_TILE_INFO(1, state->m_playfield_ram[tile_index] & 0x3f, 0, 0);
15   SET_TILE_INFO_MEMBER(1, m_playfield_ram[tile_index] & 0x3f, 0, 0);
1716}
1817
1918
2019VIDEO_START( poolshrk )
2120{
2221   poolshrk_state *state = machine.driver_data<poolshrk_state>();
23   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS,
22   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(poolshrk_state::get_tile_info),state), TILEMAP_SCAN_ROWS,
2423       8, 8, 32, 32);
2524
2625   state->m_bg_tilemap->set_transparent_pen(0);
trunk/src/mame/video/raiden.c
r17673r17674
2323   m_tx_layer->mark_tile_dirty(offset);
2424}
2525
26static TILE_GET_INFO( get_back_tile_info )
26TILE_GET_INFO_MEMBER(raiden_state::get_back_tile_info)
2727{
28   raiden_state *state = machine.driver_data<raiden_state>();
29   int tile=state->m_back_data[tile_index];
28   int tile=m_back_data[tile_index];
3029   int color=tile >> 12;
3130
3231   tile=tile&0xfff;
3332
34   SET_TILE_INFO(
33   SET_TILE_INFO_MEMBER(
3534         1,
3635         tile,
3736         color,
3837         0);
3938}
4039
41static TILE_GET_INFO( get_fore_tile_info )
40TILE_GET_INFO_MEMBER(raiden_state::get_fore_tile_info)
4241{
43   raiden_state *state = machine.driver_data<raiden_state>();
44   int tile=state->m_fore_data[tile_index];
42   int tile=m_fore_data[tile_index];
4543   int color=tile >> 12;
4644
4745   tile=tile&0xfff;
4846
49   SET_TILE_INFO(
47   SET_TILE_INFO_MEMBER(
5048         2,
5149         tile,
5250         color,
5351         0);
5452}
5553
56static TILE_GET_INFO( get_text_tile_info )
54TILE_GET_INFO_MEMBER(raiden_state::get_text_tile_info)
5755{
58   raiden_state *state = machine.driver_data<raiden_state>();
59   UINT16 *videoram = state->m_videoram;
56   UINT16 *videoram = m_videoram;
6057   int tiledata = videoram[tile_index];
6158   int tile = (tiledata & 0xff) | ((tiledata >> 6) & 0x300);
6259   int color = (tiledata >> 8) & 0x0f;
6360
64   SET_TILE_INFO(
61   SET_TILE_INFO_MEMBER(
6562         0,
6663         tile,
6764         color,
r17673r17674
7168VIDEO_START( raiden )
7269{
7370   raiden_state *state = machine.driver_data<raiden_state>();
74   state->m_bg_layer = tilemap_create(machine, get_back_tile_info,TILEMAP_SCAN_COLS,     16,16,32,32);
75   state->m_fg_layer = tilemap_create(machine, get_fore_tile_info,TILEMAP_SCAN_COLS,16,16,32,32);
76   state->m_tx_layer = tilemap_create(machine, get_text_tile_info,TILEMAP_SCAN_COLS,8,8,32,32);
71   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);
72   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);
73   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);
7774   state->m_alternate=0;
7875
7976   state->m_fg_layer->set_transparent_pen(15);
r17673r17674
8380VIDEO_START( raidena )
8481{
8582   raiden_state *state = machine.driver_data<raiden_state>();
86   state->m_bg_layer = tilemap_create(machine, get_back_tile_info,TILEMAP_SCAN_COLS,     16,16,32,32);
87   state->m_fg_layer = tilemap_create(machine, get_fore_tile_info,TILEMAP_SCAN_COLS,16,16,32,32);
88   state->m_tx_layer = tilemap_create(machine, get_text_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
83   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);
84   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);
85   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);
8986   state->m_alternate=1;
9087
9188   state->m_fg_layer->set_transparent_pen(15);
trunk/src/mame/video/bloodbro.c
r17673r17674
1414
1515***************************************************************************/
1616
17static TILE_GET_INFO( get_bg_tile_info )
17TILE_GET_INFO_MEMBER(bloodbro_state::get_bg_tile_info)
1818{
19   bloodbro_state *state = machine.driver_data<bloodbro_state>();
20   int code = state->m_bgvideoram[tile_index];
21   SET_TILE_INFO(
19   int code = m_bgvideoram[tile_index];
20   SET_TILE_INFO_MEMBER(
2221         1,
2322         code & 0xfff,
2423         (code >> 12),
2524         0);
2625}
2726
28static TILE_GET_INFO( get_fg_tile_info )
27TILE_GET_INFO_MEMBER(bloodbro_state::get_fg_tile_info)
2928{
30   bloodbro_state *state = machine.driver_data<bloodbro_state>();
31   int code = state->m_fgvideoram[tile_index];
32   SET_TILE_INFO(
29   int code = m_fgvideoram[tile_index];
30   SET_TILE_INFO_MEMBER(
3331         2,
3432         (code & 0xfff)+0x1000,
3533         (code >> 12),
3634         0);
3735}
3836
39static TILE_GET_INFO( get_tx_tile_info )
37TILE_GET_INFO_MEMBER(bloodbro_state::get_tx_tile_info)
4038{
41   bloodbro_state *state = machine.driver_data<bloodbro_state>();
42   int code = state->m_txvideoram[tile_index];
43   SET_TILE_INFO(
39   int code = m_txvideoram[tile_index];
40   SET_TILE_INFO_MEMBER(
4441         0,
4542         code & 0xfff,
4643         code >> 12,
r17673r17674
5855VIDEO_START( bloodbro )
5956{
6057   bloodbro_state *state = machine.driver_data<bloodbro_state>();
61   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS,     16,16,32,16);
62   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,16,16,32,16);
63   state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info,TILEMAP_SCAN_ROWS, 8, 8,32,32);
58   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);
59   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);
60   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);
6461
6562   state->m_fg_tilemap->set_transparent_pen(15);
6663   state->m_tx_tilemap->set_transparent_pen(15);
trunk/src/mame/video/galaxia.c
r17673r17674
6060   palette_set_color_rgb(machine, BULLET_PEN, pal1bit(1), pal1bit(1), pal1bit(0));
6161}
6262
63static TILE_GET_INFO( get_galaxia_bg_tile_info )
63TILE_GET_INFO_MEMBER(galaxia_state::get_galaxia_bg_tile_info)
6464{
65   galaxia_state *state = machine.driver_data<galaxia_state>();
66   UINT8 code = state->m_video_ram[tile_index] & 0x7f; // d7 unused
67   UINT8 color = state->m_color_ram[tile_index] & 3; // highest bits unused
65   UINT8 code = m_video_ram[tile_index] & 0x7f; // d7 unused
66   UINT8 color = m_color_ram[tile_index] & 3; // highest bits unused
6867
69   SET_TILE_INFO(0, code, color, 0);
68   SET_TILE_INFO_MEMBER(0, code, color, 0);
7069}
7170
72static TILE_GET_INFO( get_astrowar_bg_tile_info )
71TILE_GET_INFO_MEMBER(galaxia_state::get_astrowar_bg_tile_info)
7372{
74   galaxia_state *state = machine.driver_data<galaxia_state>();
75   UINT8 code = state->m_video_ram[tile_index];
76   UINT8 color = state->m_color_ram[tile_index] & 7; // highest bits unused
73   UINT8 code = m_video_ram[tile_index];
74   UINT8 color = m_color_ram[tile_index] & 7; // highest bits unused
7775
78   SET_TILE_INFO(0, code, color, 0);
76   SET_TILE_INFO_MEMBER(0, code, color, 0);
7977}
8078
8179static void init_common( running_machine &machine )
r17673r17674
8987   galaxia_state *state = machine.driver_data<galaxia_state>();
9088   init_common(machine);
9189
92   state->m_bg_tilemap = tilemap_create(machine, get_galaxia_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
90   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);
9391   state->m_bg_tilemap->set_transparent_pen(0);
9492   state->m_bg_tilemap->set_scroll_cols(8);
9593
r17673r17674
10098   galaxia_state *state = machine.driver_data<galaxia_state>();
10199   init_common(machine);
102100
103   state->m_bg_tilemap = tilemap_create(machine, get_astrowar_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
101   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);
104102   state->m_bg_tilemap->set_transparent_pen(0);
105103   state->m_bg_tilemap->set_scroll_cols(8);
106104   state->m_bg_tilemap->set_scrolldx(8, 8);
trunk/src/mame/video/fromanc2.c
r17673r17674
2626   SET_TILE_INFO(layer, tile, color, 0);
2727}
2828
29static TILE_GET_INFO( fromanc2_get_v0_l0_tile_info ) { fromanc2_get_tile_info(machine, tileinfo, tile_index, 0, 0); }
30static TILE_GET_INFO( fromanc2_get_v0_l1_tile_info ) { fromanc2_get_tile_info(machine, tileinfo, tile_index, 0, 1); }
31static TILE_GET_INFO( fromanc2_get_v0_l2_tile_info ) { fromanc2_get_tile_info(machine, tileinfo, tile_index, 0, 2); }
32static TILE_GET_INFO( fromanc2_get_v0_l3_tile_info ) { fromanc2_get_tile_info(machine, tileinfo, tile_index, 0, 3); }
33static TILE_GET_INFO( fromanc2_get_v1_l0_tile_info ) { fromanc2_get_tile_info(machine, tileinfo, tile_index, 1, 0); }
34static TILE_GET_INFO( fromanc2_get_v1_l1_tile_info ) { fromanc2_get_tile_info(machine, tileinfo, tile_index, 1, 1); }
35static TILE_GET_INFO( fromanc2_get_v1_l2_tile_info ) { fromanc2_get_tile_info(machine, tileinfo, tile_index, 1, 2); }
36static TILE_GET_INFO( fromanc2_get_v1_l3_tile_info ) { fromanc2_get_tile_info(machine, tileinfo, tile_index, 1, 3); }
29TILE_GET_INFO_MEMBER(fromanc2_state::fromanc2_get_v0_l0_tile_info){ fromanc2_get_tile_info(machine(), tileinfo, tile_index, 0, 0); }
30TILE_GET_INFO_MEMBER(fromanc2_state::fromanc2_get_v0_l1_tile_info){ fromanc2_get_tile_info(machine(), tileinfo, tile_index, 0, 1); }
31TILE_GET_INFO_MEMBER(fromanc2_state::fromanc2_get_v0_l2_tile_info){ fromanc2_get_tile_info(machine(), tileinfo, tile_index, 0, 2); }
32TILE_GET_INFO_MEMBER(fromanc2_state::fromanc2_get_v0_l3_tile_info){ fromanc2_get_tile_info(machine(), tileinfo, tile_index, 0, 3); }
33TILE_GET_INFO_MEMBER(fromanc2_state::fromanc2_get_v1_l0_tile_info){ fromanc2_get_tile_info(machine(), tileinfo, tile_index, 1, 0); }
34TILE_GET_INFO_MEMBER(fromanc2_state::fromanc2_get_v1_l1_tile_info){ fromanc2_get_tile_info(machine(), tileinfo, tile_index, 1, 1); }
35TILE_GET_INFO_MEMBER(fromanc2_state::fromanc2_get_v1_l2_tile_info){ fromanc2_get_tile_info(machine(), tileinfo, tile_index, 1, 2); }
36TILE_GET_INFO_MEMBER(fromanc2_state::fromanc2_get_v1_l3_tile_info){ fromanc2_get_tile_info(machine(), tileinfo, tile_index, 1, 3); }
3737
3838
3939INLINE void fromancr_get_tile_info( running_machine &machine, tile_data &tileinfo, int tile_index, int vram, int layer )
r17673r17674
4747   SET_TILE_INFO(layer, tile, color, 0);
4848}
4949
50static TILE_GET_INFO( fromancr_get_v0_l0_tile_info ) { fromancr_get_tile_info(machine, tileinfo, tile_index, 0, 0); }
51static TILE_GET_INFO( fromancr_get_v0_l1_tile_info ) { fromancr_get_tile_info(machine, tileinfo, tile_index, 0, 1); }
52static TILE_GET_INFO( fromancr_get_v0_l2_tile_info ) { fromancr_get_tile_info(machine, tileinfo, tile_index, 0, 2); }
53static TILE_GET_INFO( fromancr_get_v1_l0_tile_info ) { fromancr_get_tile_info(machine, tileinfo, tile_index, 1, 0); }
54static TILE_GET_INFO( fromancr_get_v1_l1_tile_info ) { fromancr_get_tile_info(machine, tileinfo, tile_index, 1, 1); }
55static TILE_GET_INFO( fromancr_get_v1_l2_tile_info ) { fromancr_get_tile_info(machine, tileinfo, tile_index, 1, 2); }
50TILE_GET_INFO_MEMBER(fromanc2_state::fromancr_get_v0_l0_tile_info){ fromancr_get_tile_info(machine(), tileinfo, tile_index, 0, 0); }
51TILE_GET_INFO_MEMBER(fromanc2_state::fromancr_get_v0_l1_tile_info){ fromancr_get_tile_info(machine(), tileinfo, tile_index, 0, 1); }
52TILE_GET_INFO_MEMBER(fromanc2_state::fromancr_get_v0_l2_tile_info){ fromancr_get_tile_info(machine(), tileinfo, tile_index, 0, 2); }
53TILE_GET_INFO_MEMBER(fromanc2_state::fromancr_get_v1_l0_tile_info){ fromancr_get_tile_info(machine(), tileinfo, tile_index, 1, 0); }
54TILE_GET_INFO_MEMBER(fromanc2_state::fromancr_get_v1_l1_tile_info){ fromancr_get_tile_info(machine(), tileinfo, tile_index, 1, 1); }
55TILE_GET_INFO_MEMBER(fromanc2_state::fromancr_get_v1_l2_tile_info){ fromancr_get_tile_info(machine(), tileinfo, tile_index, 1, 2); }
5656
5757
5858/******************************************************************************
r17673r17674
383383{
384384   fromanc2_state *state = machine.driver_data<fromanc2_state>();
385385
386   state->m_tilemap[0][0] = tilemap_create(machine, fromanc2_get_v0_l0_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
387   state->m_tilemap[0][1] = tilemap_create(machine, fromanc2_get_v0_l1_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
388   state->m_tilemap[0][2] = tilemap_create(machine, fromanc2_get_v0_l2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
389   state->m_tilemap[0][3] = tilemap_create(machine, fromanc2_get_v0_l3_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
390   state->m_tilemap[1][0] = tilemap_create(machine, fromanc2_get_v1_l0_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
391   state->m_tilemap[1][1] = tilemap_create(machine, fromanc2_get_v1_l1_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
392   state->m_tilemap[1][2] = tilemap_create(machine, fromanc2_get_v1_l2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
393   state->m_tilemap[1][3] = tilemap_create(machine, fromanc2_get_v1_l3_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
386   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);
387   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);
388   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);
389   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);
390   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);
391   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);
392   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);
393   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);
394394
395395   state->m_tilemap[0][1]->set_transparent_pen(0x000);
396396   state->m_tilemap[0][2]->set_transparent_pen(0x000);
r17673r17674
433433{
434434   fromanc2_state *state = machine.driver_data<fromanc2_state>();
435435
436   state->m_tilemap[0][0] = tilemap_create(machine, fromancr_get_v0_l0_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
437   state->m_tilemap[0][1] = tilemap_create(machine, fromancr_get_v0_l1_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
438   state->m_tilemap[0][2] = tilemap_create(machine, fromancr_get_v0_l2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
436   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);
437   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);
438   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);
439439   state->m_tilemap[0][3] = 0;
440   state->m_tilemap[1][0] = tilemap_create(machine, fromancr_get_v1_l0_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
441   state->m_tilemap[1][1] = tilemap_create(machine, fromancr_get_v1_l1_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
442   state->m_tilemap[1][2] = tilemap_create(machine, fromancr_get_v1_l2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
440   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);
441   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);
442   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);
443443   state->m_tilemap[1][3] = 0;
444444
445445   state->m_tilemap[0][1]->set_transparent_pen(0x0ff);
r17673r17674
478478{
479479   fromanc2_state *state = machine.driver_data<fromanc2_state>();
480480
481   state->m_tilemap[0][0] = tilemap_create(machine, fromancr_get_v0_l0_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
482   state->m_tilemap[0][1] = tilemap_create(machine, fromancr_get_v0_l1_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
483   state->m_tilemap[0][2] = tilemap_create(machine, fromancr_get_v0_l2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
481   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);
482   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);
483   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);
484484   state->m_tilemap[0][3] = 0;
485   state->m_tilemap[1][0] = tilemap_create(machine, fromancr_get_v1_l0_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
486   state->m_tilemap[1][1] = tilemap_create(machine, fromancr_get_v1_l1_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
487   state->m_tilemap[1][2] = tilemap_create(machine, fromancr_get_v1_l2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 256, 64);
485   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);
486   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);
487   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);
488488   state->m_tilemap[1][3] = 0;
489489
490490   state->m_tilemap[0][1]->set_transparent_pen(0x000);
trunk/src/mame/video/bombjack.c
r17673r17674
4040   }
4141}
4242
43static TILE_GET_INFO( get_bg_tile_info )
43TILE_GET_INFO_MEMBER(bombjack_state::get_bg_tile_info)
4444{
45   bombjack_state *state = machine.driver_data<bombjack_state>();
46   UINT8 *tilerom = state->memregion("gfx4")->base();
45   UINT8 *tilerom = memregion("gfx4")->base();
4746
48   int offs = (state->m_background_image & 0x07) * 0x200 + tile_index;
49   int code = (state->m_background_image & 0x10) ? tilerom[offs] : 0;
47   int offs = (m_background_image & 0x07) * 0x200 + tile_index;
48   int code = (m_background_image & 0x10) ? tilerom[offs] : 0;
5049   int attr = tilerom[offs + 0x100];
5150   int color = attr & 0x0f;
5251   int flags = (attr & 0x80) ? TILE_FLIPY : 0;
5352
54   SET_TILE_INFO(1, code, color, flags);
53   SET_TILE_INFO_MEMBER(1, code, color, flags);
5554}
5655
57static TILE_GET_INFO( get_fg_tile_info )
56TILE_GET_INFO_MEMBER(bombjack_state::get_fg_tile_info)
5857{
59   bombjack_state *state = machine.driver_data<bombjack_state>();
60   int code = state->m_videoram[tile_index] + 16 * (state->m_colorram[tile_index] & 0x10);
61   int color = state->m_colorram[tile_index] & 0x0f;
58   int code = m_videoram[tile_index] + 16 * (m_colorram[tile_index] & 0x10);
59   int color = m_colorram[tile_index] & 0x0f;
6260
63   SET_TILE_INFO(0, code, color, 0);
61   SET_TILE_INFO_MEMBER(0, code, color, 0);
6462}
6563
6664VIDEO_START( bombjack )
6765{
6866   bombjack_state *state = machine.driver_data<bombjack_state>();
69   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
70   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
67   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);
68   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);
7169
7270   state->m_fg_tilemap->set_transparent_pen(0);
7371}
trunk/src/mame/video/trucocl.c
r17673r17674
5757   m_bg_tilemap->mark_tile_dirty(offset);
5858}
5959
60static TILE_GET_INFO( get_bg_tile_info )
60TILE_GET_INFO_MEMBER(trucocl_state::get_bg_tile_info)
6161{
62   trucocl_state *state = machine.driver_data<trucocl_state>();
63   int gfxsel = state->m_colorram[tile_index] & 1;
64   int bank = ( ( state->m_colorram[tile_index] >> 2 ) & 0x07 );
65   int code = state->m_videoram[tile_index];
66   int colour = (state->m_colorram[tile_index] & 2) >> 1;
62   int gfxsel = m_colorram[tile_index] & 1;
63   int bank = ( ( m_colorram[tile_index] >> 2 ) & 0x07 );
64   int code = m_videoram[tile_index];
65   int colour = (m_colorram[tile_index] & 2) >> 1;
6766
6867   code |= ( bank & 1 ) << 10;
6968   code |= ( bank & 2 ) << 8;
7069   code += ( bank & 4 ) << 6;
7170
72   SET_TILE_INFO(gfxsel,code,colour,0);
71   SET_TILE_INFO_MEMBER(gfxsel,code,colour,0);
7372}
7473
7574VIDEO_START( trucocl )
7675{
7776   trucocl_state *state = machine.driver_data<trucocl_state>();
78   state->m_bg_tilemap = tilemap_create( machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 32, 32 );
77   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 );
7978}
8079
8180SCREEN_UPDATE_IND16( trucocl )
trunk/src/mame/video/rallyx.c
r17673r17674
216216***************************************************************************/
217217
218218/* the video RAM has space for 32x32 tiles and is only partially used for the radar */
219static TILEMAP_MAPPER( fg_tilemap_scan )
219TILEMAP_MAPPER_MEMBER(rallyx_state::fg_tilemap_scan)
220220{
221221   return col + (row << 5);
222222}
r17673r17674
234234         TILE_FLIPYX(attr >> 6) ^ TILE_FLIPX);
235235}
236236
237static TILE_GET_INFO( rallyx_bg_get_tile_info )
237TILE_GET_INFO_MEMBER(rallyx_state::rallyx_bg_get_tile_info)
238238{
239   rallyx_get_tile_info(machine, tileinfo, tile_index, 0x400);
239   rallyx_get_tile_info(machine(), tileinfo, tile_index, 0x400);
240240}
241241
242static TILE_GET_INFO( rallyx_fg_get_tile_info )
242TILE_GET_INFO_MEMBER(rallyx_state::rallyx_fg_get_tile_info)
243243{
244   rallyx_get_tile_info(machine, tileinfo, tile_index, 0x000);
244   rallyx_get_tile_info(machine(), tileinfo, tile_index, 0x000);
245245}
246246
247247
r17673r17674
259259         (attr & 0x80) ? (TILE_FLIPX | TILE_FLIPY) : 0);
260260}
261261
262static TILE_GET_INFO( locomotn_bg_get_tile_info )
262TILE_GET_INFO_MEMBER(rallyx_state::locomotn_bg_get_tile_info)
263263{
264   locomotn_get_tile_info(machine, tileinfo, tile_index, 0x400);
264   locomotn_get_tile_info(machine(), tileinfo, tile_index, 0x400);
265265}
266266
267static TILE_GET_INFO( locomotn_fg_get_tile_info )
267TILE_GET_INFO_MEMBER(rallyx_state::locomotn_fg_get_tile_info)
268268{
269   locomotn_get_tile_info(machine, tileinfo, tile_index, 0x000);
269   locomotn_get_tile_info(machine(), tileinfo, tile_index, 0x000);
270270}
271271
272272
r17673r17674
343343{
344344   rallyx_state *state = machine.driver_data<rallyx_state>();
345345
346   state->m_bg_tilemap = tilemap_create(machine, rallyx_bg_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
347   state->m_fg_tilemap = tilemap_create(machine, rallyx_fg_get_tile_info, fg_tilemap_scan, 8, 8, 8, 32);
346   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);
347   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);
348348
349349   /* the scrolling tilemap is slightly misplaced in Rally X */
350350   state->m_bg_tilemap->set_scrolldx(3, 3);
r17673r17674
359359{
360360   rallyx_state *state = machine.driver_data<rallyx_state>();
361361
362   state->m_bg_tilemap = tilemap_create(machine, rallyx_bg_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
363   state->m_fg_tilemap = tilemap_create(machine, rallyx_fg_get_tile_info, fg_tilemap_scan, 8, 8, 8, 32);
362   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);
363   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);
364364
365365   state->m_spriteram_base = 0x14;
366366
r17673r17674
373373{
374374   rallyx_state *state = machine.driver_data<rallyx_state>();
375375
376   state->m_bg_tilemap = tilemap_create(machine, locomotn_bg_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
377   state->m_fg_tilemap = tilemap_create(machine, locomotn_fg_get_tile_info, fg_tilemap_scan, 8, 8, 8, 32);
376   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);
377   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);
378378
379379   /* handle reduced visible area in some games */
380380   if (machine.primary_screen->visible_area().max_x == 32 * 8 - 1)
r17673r17674
394394{
395395   rallyx_state *state = machine.driver_data<rallyx_state>();
396396
397   state->m_bg_tilemap = tilemap_create(machine, locomotn_bg_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
398   state->m_fg_tilemap = tilemap_create(machine, locomotn_fg_get_tile_info, fg_tilemap_scan, 8, 8, 8, 32);
397   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);
398   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);
399399
400400   /* handle reduced visible area in some games */
401401   if (machine.primary_screen->visible_area().max_x == 32 * 8 - 1)
trunk/src/mame/video/unico.c
r17673r17674
8888***************************************************************************/
8989
9090
91static TILE_GET_INFO( get_tile_info )
91TILE_GET_INFO_MEMBER(unico_state::get_tile_info)
9292{
9393   UINT16 *vram = (UINT16 *)param;
9494   UINT16 code = vram[2 * tile_index + 0 ];
9595   UINT16 attr = vram[2 * tile_index + 1 ];
96   SET_TILE_INFO(1, code, attr & 0x1f, TILE_FLIPYX( attr >> 5 ));
96   SET_TILE_INFO_MEMBER(1, code, attr & 0x1f, TILE_FLIPYX( attr >> 5 ));
9797}
9898
99static TILE_GET_INFO( get_tile_info32 )
99TILE_GET_INFO_MEMBER(unico_state::get_tile_info32)
100100{
101101   UINT32 *vram = (UINT32 *)param;
102102   UINT16 code = vram[tile_index] >> 16;
103103   UINT16 attr = vram[tile_index] & 0xff;
104   SET_TILE_INFO(1, code, attr & 0x1f, TILE_FLIPYX( attr >> 5 ));
104   SET_TILE_INFO_MEMBER(1, code, attr & 0x1f, TILE_FLIPYX( attr >> 5 ));
105105}
106106
107107WRITE16_MEMBER(unico_state::unico_vram_w)
r17673r17674
134134VIDEO_START( unico )
135135{
136136   unico_state *state = machine.driver_data<unico_state>();
137   state->m_tilemap[0] = tilemap_create(   machine, get_tile_info,TILEMAP_SCAN_ROWS,
137   state->m_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(unico_state::get_tile_info),state),TILEMAP_SCAN_ROWS,
138138                           16,16,   0x40, 0x40);
139139
140   state->m_tilemap[1] = tilemap_create(   machine, get_tile_info,TILEMAP_SCAN_ROWS,
140   state->m_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(unico_state::get_tile_info),state),TILEMAP_SCAN_ROWS,
141141                           16,16,   0x40, 0x40);
142142
143   state->m_tilemap[2] = tilemap_create(   machine, get_tile_info,TILEMAP_SCAN_ROWS,
143   state->m_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(unico_state::get_tile_info),state),TILEMAP_SCAN_ROWS,
144144                           16,16,   0x40, 0x40);
145145
146146   state->m_tilemap[0]->set_user_data(&state->m_vram[0x8000/2]);
r17673r17674
166166VIDEO_START( zeropnt2 )
167167{
168168   unico_state *state = machine.driver_data<unico_state>();
169   state->m_tilemap[0] = tilemap_create(   machine, get_tile_info32,TILEMAP_SCAN_ROWS,
169   state->m_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(unico_state::get_tile_info32),state),TILEMAP_SCAN_ROWS,
170170                           16,16,   0x40, 0x40);
171171
172   state->m_tilemap[1] = tilemap_create(   machine, get_tile_info32,TILEMAP_SCAN_ROWS,
172   state->m_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(unico_state::get_tile_info32),state),TILEMAP_SCAN_ROWS,
173173                           16,16,   0x40, 0x40);
174174
175   state->m_tilemap[2] = tilemap_create(   machine, get_tile_info32,TILEMAP_SCAN_ROWS,
175   state->m_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(unico_state::get_tile_info32),state),TILEMAP_SCAN_ROWS,
176176                           16,16,   0x40, 0x40);
177177
178178   state->m_tilemap[0]->set_user_data(&state->m_vram32[0x8000/4]);
trunk/src/mame/video/gcpinbal.c
r17673r17674
55/*******************************************************************/
66
77
8static TILE_GET_INFO( get_bg0_tile_info )
8TILE_GET_INFO_MEMBER(gcpinbal_state::get_bg0_tile_info)
99{
10   gcpinbal_state *state = machine.driver_data<gcpinbal_state>();
11   UINT16 tilenum = state->m_tilemapram[0 + tile_index * 2];
12   UINT16 attr    = state->m_tilemapram[1 + tile_index * 2];
10   UINT16 tilenum = m_tilemapram[0 + tile_index * 2];
11   UINT16 attr    = m_tilemapram[1 + tile_index * 2];
1312
14   SET_TILE_INFO(
13   SET_TILE_INFO_MEMBER(
1514         1,
16         (tilenum & 0xfff) + state->m_bg0_gfxset,
15         (tilenum & 0xfff) + m_bg0_gfxset,
1716         (attr & 0x1f),
1817         TILE_FLIPYX( (attr & 0x300) >> 8));
1918}
2019
21static TILE_GET_INFO( get_bg1_tile_info )
20TILE_GET_INFO_MEMBER(gcpinbal_state::get_bg1_tile_info)
2221{
23   gcpinbal_state *state = machine.driver_data<gcpinbal_state>();
24   UINT16 tilenum = state->m_tilemapram[0x800 + tile_index * 2];
25   UINT16 attr    = state->m_tilemapram[0x801 + tile_index * 2];
22   UINT16 tilenum = m_tilemapram[0x800 + tile_index * 2];
23   UINT16 attr    = m_tilemapram[0x801 + tile_index * 2];
2624
27   SET_TILE_INFO(
25   SET_TILE_INFO_MEMBER(
2826         1,
29         (tilenum & 0xfff) + 0x2000 + state->m_bg1_gfxset,
27         (tilenum & 0xfff) + 0x2000 + m_bg1_gfxset,
3028         (attr & 0x1f) + 0x30,
3129         TILE_FLIPYX( (attr & 0x300) >> 8));
3230}
3331
34static TILE_GET_INFO( get_fg_tile_info )
32TILE_GET_INFO_MEMBER(gcpinbal_state::get_fg_tile_info)
3533{
36   gcpinbal_state *state = machine.driver_data<gcpinbal_state>();
37   UINT16 tilenum = state->m_tilemapram[0x1000 + tile_index];
34   UINT16 tilenum = m_tilemapram[0x1000 + tile_index];
3835
39   SET_TILE_INFO(
36   SET_TILE_INFO_MEMBER(
4037         2,
4138         (tilenum & 0xfff),
4239         (tilenum >> 12) | 0x70,
r17673r17674
4946   int xoffs = 0;
5047   int yoffs = 0;
5148
52   state->m_tilemap[0] = tilemap_create(machine, get_bg0_tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
53   state->m_tilemap[1] = tilemap_create(machine, get_bg1_tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
54   state->m_tilemap[2] = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,8,8,64,64);
49   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);
50   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);
51   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);
5552
5653   state->m_tilemap[0]->set_transparent_pen(0);
5754   state->m_tilemap[1]->set_transparent_pen(0);
trunk/src/mame/video/realbrk.c
r17673r17674
6868
6969***************************************************************************/
7070
71static TILE_GET_INFO( get_tile_info_0 )
71TILE_GET_INFO_MEMBER(realbrk_state::get_tile_info_0)
7272{
73   realbrk_state *state = machine.driver_data<realbrk_state>();
74   UINT16 attr = state->m_vram_0[tile_index * 2 + 0];
75   UINT16 code = state->m_vram_0[tile_index * 2 + 1];
76   SET_TILE_INFO(
73   UINT16 attr = m_vram_0[tile_index * 2 + 0];
74   UINT16 code = m_vram_0[tile_index * 2 + 1];
75   SET_TILE_INFO_MEMBER(
7776         0,
7877         code,
7978         attr & 0x7f,
8079         TILE_FLIPYX( attr >> 14 ));
8180}
8281
83static TILE_GET_INFO( get_tile_info_1 )
82TILE_GET_INFO_MEMBER(realbrk_state::get_tile_info_1)
8483{
85   realbrk_state *state = machine.driver_data<realbrk_state>();
86   UINT16 attr = state->m_vram_1[tile_index * 2 + 0];
87   UINT16 code = state->m_vram_1[tile_index * 2 + 1];
88   SET_TILE_INFO(
84   UINT16 attr = m_vram_1[tile_index * 2 + 0];
85   UINT16 code = m_vram_1[tile_index * 2 + 1];
86   SET_TILE_INFO_MEMBER(
8987         0,
9088         code,
9189         attr & 0x7f,
r17673r17674
118116
119117***************************************************************************/
120118
121static TILE_GET_INFO( get_tile_info_2 )
119TILE_GET_INFO_MEMBER(realbrk_state::get_tile_info_2)
122120{
123   realbrk_state *state = machine.driver_data<realbrk_state>();
124   UINT16 code = state->m_vram_2[tile_index];
125   SET_TILE_INFO(
121   UINT16 code = m_vram_2[tile_index];
122   SET_TILE_INFO_MEMBER(
126123         1,
127124         code & 0x0fff,
128         ((code & 0xf000) >> 12) | ((state->m_vregs[0xa/2] & 0x7f) << 4),
125         ((code & 0xf000) >> 12) | ((m_vregs[0xa/2] & 0x7f) << 4),
129126         0);
130127}
131128
r17673r17674
149146{
150147   realbrk_state *state = machine.driver_data<realbrk_state>();
151148   /* Backgrounds */
152   state->m_tilemap_0 = tilemap_create(machine, get_tile_info_0, TILEMAP_SCAN_ROWS, 16, 16, 0x40, 0x20);
153   state->m_tilemap_1 = tilemap_create(machine, get_tile_info_1, TILEMAP_SCAN_ROWS, 16, 16, 0x40, 0x20);
149   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);
150   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);
154151
155152   /* Text */
156   state->m_tilemap_2 = tilemap_create(machine, get_tile_info_2, TILEMAP_SCAN_ROWS,  8,  8, 0x40, 0x20);
153   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);
157154
158155   state->m_tilemap_0->set_transparent_pen(0);
159156   state->m_tilemap_1->set_transparent_pen(0);
trunk/src/mame/video/carjmbre.c
r17673r17674
8383
8484
8585
86static TILE_GET_INFO( get_carjmbre_tile_info )
86TILE_GET_INFO_MEMBER(carjmbre_state::get_carjmbre_tile_info)
8787{
88   carjmbre_state *state = machine.driver_data<carjmbre_state>();
89   UINT32 tile_number = state->m_videoram[tile_index] & 0xff;
90   UINT8 attr = state->m_videoram[tile_index + 0x400];
88   UINT32 tile_number = m_videoram[tile_index] & 0xff;
89   UINT8 attr = m_videoram[tile_index + 0x400];
9190   tile_number += (attr & 0x80) << 1; /* bank */
9291
93   SET_TILE_INFO(
92   SET_TILE_INFO_MEMBER(
9493         0,
9594         tile_number,
9695         attr & 0xf,
r17673r17674
101100{
102101   carjmbre_state *state = machine.driver_data<carjmbre_state>();
103102
104   state->m_cj_tilemap = tilemap_create(machine, get_carjmbre_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
103   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);
105104   state->save_item(NAME(state->m_flipscreen));
106105   state->save_item(NAME(state->m_bgcolor));
107106}
trunk/src/mame/video/gatron.c
r17673r17674
2828   m_bg_tilemap->mark_tile_dirty(offset);
2929}
3030
31static TILE_GET_INFO( get_bg_tile_info )
31TILE_GET_INFO_MEMBER(gatron_state::get_bg_tile_info)
3232{
33   gatron_state *state = machine.driver_data<gatron_state>();
34   UINT8 *videoram = state->m_videoram;
33   UINT8 *videoram = m_videoram;
3534/*  - bits -
3635    7654 3210
3736    xxxx xxxx   tiles code.
r17673r17674
4140
4241   int code = videoram[tile_index];
4342
44   SET_TILE_INFO(0, code, 0, 0);
43   SET_TILE_INFO_MEMBER(0, code, 0, 0);
4544}
4645
4746VIDEO_START( gat )
4847{
4948   gatron_state *state = machine.driver_data<gatron_state>();
50   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 8, 16, 48, 16);
49   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);
5150}
5251
5352SCREEN_UPDATE_IND16( gat )
trunk/src/mame/video/flower.c
r17673r17674
118118
119119}
120120
121static TILE_GET_INFO( get_bg0_tile_info )
121TILE_GET_INFO_MEMBER(flower_state::get_bg0_tile_info)
122122{
123   flower_state *state = machine.driver_data<flower_state>();
124   int code = state->m_bg0ram[tile_index];
125   int color = state->m_bg0ram[tile_index+0x100];
123   int code = m_bg0ram[tile_index];
124   int color = m_bg0ram[tile_index+0x100];
126125   /* Todo - may be tile flip bits? */
127126
128   SET_TILE_INFO(2, code, color>>4, 0);
127   SET_TILE_INFO_MEMBER(2, code, color>>4, 0);
129128}
130129
131static TILE_GET_INFO( get_bg1_tile_info )
130TILE_GET_INFO_MEMBER(flower_state::get_bg1_tile_info)
132131{
133   flower_state *state = machine.driver_data<flower_state>();
134   int code = state->m_bg1ram[tile_index];
135   int color = state->m_bg1ram[tile_index+0x100];
132   int code = m_bg1ram[tile_index];
133   int color = m_bg1ram[tile_index+0x100];
136134   /* Todo - may be tile flip bits? */
137135
138   SET_TILE_INFO(2, code, color>>4, 0);
136   SET_TILE_INFO_MEMBER(2, code, color>>4, 0);
139137}
140138
141static TILE_GET_INFO( get_text_tile_info )
139TILE_GET_INFO_MEMBER(flower_state::get_text_tile_info)
142140{
143   flower_state *state = machine.driver_data<flower_state>();
144   int code = state->m_textram[tile_index];
145   int color = state->m_textram[tile_index+0x400];
141   int code = m_textram[tile_index];
142   int color = m_textram[tile_index+0x400];
146143   /* Todo - may be tile flip bits? */
147144
148   SET_TILE_INFO(0, code, color>>2, 0);
145   SET_TILE_INFO_MEMBER(0, code, color>>2, 0);
149146}
150147
151148VIDEO_START(flower)
152149{
153150   flower_state *state = machine.driver_data<flower_state>();
154   state->m_bg0_tilemap        = tilemap_create(machine, get_bg0_tile_info, TILEMAP_SCAN_ROWS,16,16,16,16);
155   state->m_bg1_tilemap        = tilemap_create(machine, get_bg1_tile_info, TILEMAP_SCAN_ROWS,16,16,16,16);
156   state->m_text_tilemap       = tilemap_create(machine, get_text_tile_info,TILEMAP_SCAN_ROWS, 8, 8,32,32);
157   state->m_text_right_tilemap = tilemap_create(machine, get_text_tile_info,TILEMAP_SCAN_COLS, 8, 8, 2,32);
151   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);
152   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);
153   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);
154   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);
158155
159156   state->m_bg1_tilemap->set_transparent_pen(15);
160157   state->m_text_tilemap->set_transparent_pen(3);
trunk/src/mame/video/xain.c
r17673r17674
4040
4141***************************************************************************/
4242
43static TILEMAP_MAPPER( back_scan )
43TILEMAP_MAPPER_MEMBER(xain_state::back_scan)
4444{
4545   /* logical (col,row) -> memory offset */
4646   return (col & 0x0f) + ((row & 0x0f) << 4) + ((col & 0x10) << 4) + ((row & 0x10) << 5);
4747}
4848
49static TILE_GET_INFO( get_bgram0_tile_info )
49TILE_GET_INFO_MEMBER(xain_state::get_bgram0_tile_info)
5050{
51   xain_state *state = machine.driver_data<xain_state>();
52   int attr = state->m_bgram0[tile_index | 0x400];
53   SET_TILE_INFO(
51   int attr = m_bgram0[tile_index | 0x400];
52   SET_TILE_INFO_MEMBER(
5453         2,
55         state->m_bgram0[tile_index] | ((attr & 7) << 8),
54         m_bgram0[tile_index] | ((attr & 7) << 8),
5655         (attr & 0x70) >> 4,
5756         (attr & 0x80) ? TILE_FLIPX : 0);
5857}
5958
60static TILE_GET_INFO( get_bgram1_tile_info )
59TILE_GET_INFO_MEMBER(xain_state::get_bgram1_tile_info)
6160{
62   xain_state *state = machine.driver_data<xain_state>();
63   int attr = state->m_bgram1[tile_index | 0x400];
64   SET_TILE_INFO(
61   int attr = m_bgram1[tile_index | 0x400];
62   SET_TILE_INFO_MEMBER(
6563         1,
66         state->m_bgram1[tile_index] | ((attr & 7) << 8),
64         m_bgram1[tile_index] | ((attr & 7) << 8),
6765         (attr & 0x70) >> 4,
6866         (attr & 0x80) ? TILE_FLIPX : 0);
6967}
7068
71static TILE_GET_INFO( get_char_tile_info )
69TILE_GET_INFO_MEMBER(xain_state::get_char_tile_info)
7270{
73   xain_state *state = machine.driver_data<xain_state>();
74   int attr = state->m_charram[tile_index | 0x400];
75   SET_TILE_INFO(
71   int attr = m_charram[tile_index | 0x400];
72   SET_TILE_INFO_MEMBER(
7673         0,
77         state->m_charram[tile_index] | ((attr & 3) << 8),
74         m_charram[tile_index] | ((attr & 3) << 8),
7875         (attr & 0xe0) >> 5,
7976         0);
8077}
r17673r17674
8986VIDEO_START( xain )
9087{
9188   xain_state *state = machine.driver_data<xain_state>();
92   state->m_bgram0_tilemap = tilemap_create(machine, get_bgram0_tile_info,back_scan,    16,16,32,32);
93   state->m_bgram1_tilemap = tilemap_create(machine, get_bgram1_tile_info,back_scan,    16,16,32,32);
94   state->m_char_tilemap = tilemap_create(machine, get_char_tile_info,TILEMAP_SCAN_ROWS, 8, 8,32,32);
89   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);
90   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);
91   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);
9592
9693   state->m_bgram0_tilemap->set_transparent_pen(0);
9794   state->m_bgram1_tilemap->set_transparent_pen(0);
trunk/src/mame/video/gundealr.c
r17673r17674
1616
1717***************************************************************************/
1818
19static TILE_GET_INFO( get_bg_tile_info )
19TILE_GET_INFO_MEMBER(gundealr_state::get_bg_tile_info)
2020{
21   gundealr_state *state = machine.driver_data<gundealr_state>();
22   UINT8 attr = state->m_bg_videoram[2 * tile_index + 1];
23   SET_TILE_INFO(
21   UINT8 attr = m_bg_videoram[2 * tile_index + 1];
22   SET_TILE_INFO_MEMBER(
2423         0,
25         state->m_bg_videoram[2 * tile_index] + ((attr & 0x07) << 8),
24         m_bg_videoram[2 * tile_index] + ((attr & 0x07) << 8),
2625         (attr & 0xf0) >> 4,
2726         0);
2827}
2928
30static TILEMAP_MAPPER( gundealr_scan )
29TILEMAP_MAPPER_MEMBER(gundealr_state::gundealr_scan)
3130{
3231   /* logical (col,row) -> memory offset */
3332   return (row & 0x0f) + ((col & 0x3f) << 4) + ((row & 0x10) << 6);
3433}
3534
36static TILE_GET_INFO( get_fg_tile_info )
35TILE_GET_INFO_MEMBER(gundealr_state::get_fg_tile_info)
3736{
38   gundealr_state *state = machine.driver_data<gundealr_state>();
39   UINT8 attr = state->m_fg_videoram[2 * tile_index + 1];
40   SET_TILE_INFO(
37   UINT8 attr = m_fg_videoram[2 * tile_index + 1];
38   SET_TILE_INFO_MEMBER(
4139         1,
42         state->m_fg_videoram[2 * tile_index] + ((attr & 0x03) << 8),
40         m_fg_videoram[2 * tile_index] + ((attr & 0x03) << 8),
4341         (attr & 0xf0) >> 4,
4442         0);
4543}
r17673r17674
5553VIDEO_START( gundealr )
5654{
5755   gundealr_state *state = machine.driver_data<gundealr_state>();
58   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
59   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, gundealr_scan, 16, 16, 64, 32);
56   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);
57   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);
6058
6159   state->m_fg_tilemap->set_transparent_pen(15);
6260}
trunk/src/mame/video/mrdo.c
r17673r17674
134134
135135***************************************************************************/
136136
137static TILE_GET_INFO( get_bg_tile_info )
137TILE_GET_INFO_MEMBER(mrdo_state::get_bg_tile_info)
138138{
139   mrdo_state *state = machine.driver_data<mrdo_state>();
140   UINT8 attr = state->m_bgvideoram[tile_index];
141   SET_TILE_INFO(
139   UINT8 attr = m_bgvideoram[tile_index];
140   SET_TILE_INFO_MEMBER(
142141         1,
143         state->m_bgvideoram[tile_index + 0x400] + ((attr & 0x80) << 1),
142         m_bgvideoram[tile_index + 0x400] + ((attr & 0x80) << 1),
144143         attr & 0x3f,
145144         (attr & 0x40) ? TILE_FORCE_LAYER0 : 0);
146145}
147146
148static TILE_GET_INFO( get_fg_tile_info )
147TILE_GET_INFO_MEMBER(mrdo_state::get_fg_tile_info)
149148{
150   mrdo_state *state = machine.driver_data<mrdo_state>();
151   UINT8 attr = state->m_fgvideoram[tile_index];
152   SET_TILE_INFO(
149   UINT8 attr = m_fgvideoram[tile_index];
150   SET_TILE_INFO_MEMBER(
153151         0,
154         state->m_fgvideoram[tile_index+0x400] + ((attr & 0x80) << 1),
152         m_fgvideoram[tile_index+0x400] + ((attr & 0x80) << 1),
155153         attr & 0x3f,
156154         (attr & 0x40) ? TILE_FORCE_LAYER0 : 0);
157155}
r17673r17674
168166{
169167   mrdo_state *state = machine.driver_data<mrdo_state>();
170168
171   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
172   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
169   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);
170   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);
173171
174172   state->m_bg_tilemap->set_transparent_pen(0);
175173   state->m_fg_tilemap->set_transparent_pen(0);
trunk/src/mame/video/namcos1.c
r17673r17674
7272   tileinfo.mask_data = &state->m_tilemap_maskdata[code << 3];
7373}
7474
75static TILE_GET_INFO( bg_get_info0 )
75TILE_GET_INFO_MEMBER(namcos1_state::bg_get_info0)
7676{
77   namcos1_state *state = machine.driver_data<namcos1_state>();
78   bg_get_info(machine,tileinfo,tile_index,&state->m_videoram[0x0000]);
77   bg_get_info(machine(),tileinfo,tile_index,&m_videoram[0x0000]);
7978}
8079
81static TILE_GET_INFO( bg_get_info1 )
80TILE_GET_INFO_MEMBER(namcos1_state::bg_get_info1)
8281{
83   namcos1_state *state = machine.driver_data<namcos1_state>();
84   bg_get_info(machine,tileinfo,tile_index,&state->m_videoram[0x2000]);
82   bg_get_info(machine(),tileinfo,tile_index,&m_videoram[0x2000]);
8583}
8684
87static TILE_GET_INFO( bg_get_info2 )
85TILE_GET_INFO_MEMBER(namcos1_state::bg_get_info2)
8886{
89   namcos1_state *state = machine.driver_data<namcos1_state>();
90   bg_get_info(machine,tileinfo,tile_index,&state->m_videoram[0x4000]);
87   bg_get_info(machine(),tileinfo,tile_index,&m_videoram[0x4000]);
9188}
9289
93static TILE_GET_INFO( bg_get_info3 )
90TILE_GET_INFO_MEMBER(namcos1_state::bg_get_info3)
9491{
95   namcos1_state *state = machine.driver_data<namcos1_state>();
96   bg_get_info(machine,tileinfo,tile_index,&state->m_videoram[0x6000]);
92   bg_get_info(machine(),tileinfo,tile_index,&m_videoram[0x6000]);
9793}
9894
99static TILE_GET_INFO( fg_get_info4 )
95TILE_GET_INFO_MEMBER(namcos1_state::fg_get_info4)
10096{
101   namcos1_state *state = machine.driver_data<namcos1_state>();
102   fg_get_info(machine,tileinfo,tile_index,&state->m_videoram[0x7010]);
97   fg_get_info(machine(),tileinfo,tile_index,&m_videoram[0x7010]);
10398}
10499
105static TILE_GET_INFO( fg_get_info5 )
100TILE_GET_INFO_MEMBER(namcos1_state::fg_get_info5)
106101{
107   namcos1_state *state = machine.driver_data<namcos1_state>();
108   fg_get_info(machine,tileinfo,tile_index,&state->m_videoram[0x7810]);
102   fg_get_info(machine(),tileinfo,tile_index,&m_videoram[0x7810]);
109103}
110104
111105
r17673r17674
128122   state->m_spriteram = auto_alloc_array(machine, UINT8, 0x1000);
129123
130124   /* initialize playfields */
131   state->m_bg_tilemap[0] = tilemap_create(machine, bg_get_info0,TILEMAP_SCAN_ROWS,8,8,64,64);
132   state->m_bg_tilemap[1] = tilemap_create(machine, bg_get_info1,TILEMAP_SCAN_ROWS,8,8,64,64);
133   state->m_bg_tilemap[2] = tilemap_create(machine, bg_get_info2,TILEMAP_SCAN_ROWS,8,8,64,64);
134   state->m_bg_tilemap[3] = tilemap_create(machine, bg_get_info3,TILEMAP_SCAN_ROWS,8,8,64,32);
135   state->m_bg_tilemap[4] = tilemap_create(machine, fg_get_info4,TILEMAP_SCAN_ROWS,8,8,36,28);
136   state->m_bg_tilemap[5] = tilemap_create(machine, fg_get_info5,TILEMAP_SCAN_ROWS,8,8,36,28);
125   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);
126   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);
127   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);
128   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);
129   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);
130   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);
137131
138132   state->m_bg_tilemap[4]->set_scrolldx(73,512-73);
139133   state->m_bg_tilemap[5]->set_scrolldx(73,512-73);
trunk/src/mame/video/m62.c
r17673r17674
409409   }
410410}
411411
412static 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 )
412static 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 )
413413{
414414   m62_state *state = machine.driver_data<m62_state>();
415   state->m_bg_tilemap = tilemap_create(machine, tile_get_info, TILEMAP_SCAN_ROWS,  x1, y1, x2, y2);
415   state->m_bg_tilemap = &machine.tilemap().create(tile_get_info, TILEMAP_SCAN_ROWS,  x1, y1, x2, y2);
416416
417417   register_savestate(machine);
418418
r17673r17674
423423      state->m_bg_tilemap->set_scroll_cols(cols);
424424}
425425
426static 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 )
426static 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 )
427427{
428428   m62_state *state = machine.driver_data<m62_state>();
429   state->m_fg_tilemap = tilemap_create(machine, tile_get_info, TILEMAP_SCAN_ROWS,  x1, y1, x2, y2);
429   state->m_fg_tilemap = &machine.tilemap().create(tile_get_info, TILEMAP_SCAN_ROWS,  x1, y1, x2, y2);
430430
431431   if (rows != 0)
432432      state->m_fg_tilemap->set_scroll_rows(rows);
r17673r17674
441441   m_bg_tilemap->mark_tile_dirty(offset & 0x7ff);
442442}
443443
444static TILE_GET_INFO( get_kungfum_bg_tile_info )
444TILE_GET_INFO_MEMBER(m62_state::get_kungfum_bg_tile_info)
445445{
446   m62_state *state = machine.driver_data<m62_state>();
447446   int code;
448447   int color;
449448   int flags;
450   code = state->m_m62_tileram[tile_index];
451   color = state->m_m62_tileram[tile_index + 0x800];
449   code = m_m62_tileram[tile_index];
450   color = m_m62_tileram[tile_index + 0x800];
452451   flags = 0;
453452   if ((color & 0x20))
454453   {
455454      flags |= TILE_FLIPX;
456455   }
457   SET_TILE_INFO(0, code | ((color & 0xc0)<< 2), color & 0x1f, flags);
456   SET_TILE_INFO_MEMBER(0, code | ((color & 0xc0)<< 2), color & 0x1f, flags);
458457
459458   /* is the following right? */
460459   if ((tile_index / 64) < 6 || ((color & 0x1f) >> 1) > 0x0c)
r17673r17674
465464
466465VIDEO_START( kungfum )
467466{
468   m62_start(machine, get_kungfum_bg_tile_info, 32, 0, 8, 8, 64, 32);
467   m62_state *state = machine.driver_data<m62_state>();
468   m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_kungfum_bg_tile_info),state), 32, 0, 8, 8, 64, 32);
469469}
470470
471471SCREEN_UPDATE_IND16( kungfum )
r17673r17674
487487}
488488
489489
490static TILE_GET_INFO( get_ldrun_bg_tile_info )
490TILE_GET_INFO_MEMBER(m62_state::get_ldrun_bg_tile_info)
491491{
492   m62_state *state = machine.driver_data<m62_state>();
493492
494493   int code;
495494   int color;
496495   int flags;
497   code = state->m_m62_tileram[tile_index << 1];
498   color = state->m_m62_tileram[(tile_index << 1) | 1];
496   code = m_m62_tileram[tile_index << 1];
497   color = m_m62_tileram[(tile_index << 1) | 1];
499498   flags = 0;
500499   if ((color & 0x20))
501500   {
502501      flags |= TILE_FLIPX;
503502   }
504   SET_TILE_INFO(0, code | ((color & 0xc0) << 2), color & 0x1f, flags);
503   SET_TILE_INFO_MEMBER(0, code | ((color & 0xc0) << 2), color & 0x1f, flags);
505504   if (((color & 0x1f) >> 1) >= 0x0c)
506505      tileinfo.group = 1;
507506   else
r17673r17674
512511{
513512   m62_state *state = machine.driver_data<m62_state>();
514513
515   m62_start(machine, get_ldrun_bg_tile_info, 1, 1, 8, 8, 64, 32);
514   m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_ldrun_bg_tile_info),state), 1, 1, 8, 8, 64, 32);
516515   state->m_bg_tilemap->set_transmask(0, 0xffff, 0x0000);   /* split type 0 is totally transparent in front half */
517516   state->m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe);   /* split type 1 has pen 0 transparent in front half */
518517}
r17673r17674
530529   return 0;
531530}
532531
533static TILE_GET_INFO( get_ldrun2_bg_tile_info )
532TILE_GET_INFO_MEMBER(m62_state::get_ldrun2_bg_tile_info)
534533{
535   m62_state *state = machine.driver_data<m62_state>();
536534   int code;
537535   int color;
538536   int flags;
539   code = state->m_m62_tileram[tile_index << 1];
540   color = state->m_m62_tileram[(tile_index << 1) | 1];
537   code = m_m62_tileram[tile_index << 1];
538   color = m_m62_tileram[(tile_index << 1) | 1];
541539   flags = 0;
542540   if ((color & 0x20))
543541   {
544542      flags |= TILE_FLIPX;
545543   }
546   SET_TILE_INFO(0, code | ((color & 0xc0) << 2), color & 0x1f, flags);
544   SET_TILE_INFO_MEMBER(0, code | ((color & 0xc0) << 2), color & 0x1f, flags);
547545   if (((color & 0x1f) >> 1) >= 0x04)
548546      tileinfo.group = 1;
549547   else
r17673r17674
553551VIDEO_START( ldrun2 )
554552{
555553   m62_state *state = machine.driver_data<m62_state>();
556   m62_start(machine, get_ldrun2_bg_tile_info, 1, 1, 8, 8, 64, 32);
554   m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_ldrun2_bg_tile_info),state), 1, 1, 8, 8, 64, 32);
557555   state->m_bg_tilemap->set_transmask(0, 0xffff, 0x0000);   /* split type 0 is totally transparent in front half */
558556   state->m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe);   /* split type 1 has pen 0 transparent in front half */
559557}
r17673r17674
586584}
587585
588586
589static TILE_GET_INFO( get_battroad_bg_tile_info )
587TILE_GET_INFO_MEMBER(m62_state::get_battroad_bg_tile_info)
590588{
591   m62_state *state = machine.driver_data<m62_state>();
592589   int code;
593590   int color;
594591   int flags;
595   code = state->m_m62_tileram[tile_index << 1];
596   color = state->m_m62_tileram[(tile_index << 1) | 1];
592   code = m_m62_tileram[tile_index << 1];
593   color = m_m62_tileram[(tile_index << 1) | 1];
597594   flags = 0;
598595   if ((color & 0x20))
599596   {
600597      flags |= TILE_FLIPX;
601598   }
602   SET_TILE_INFO(0, code | ((color & 0x40) << 3) | ((color & 0x10) << 4), color & 0x0f, flags);
599   SET_TILE_INFO_MEMBER(0, code | ((color & 0x40) << 3) | ((color & 0x10) << 4), color & 0x0f, flags);
603600   if (((color & 0x1f) >> 1) >= 0x04)
604601      tileinfo.group = 1;
605602   else
606603      tileinfo.group = 0;
607604}
608605
609static TILE_GET_INFO( get_battroad_fg_tile_info )
606TILE_GET_INFO_MEMBER(m62_state::get_battroad_fg_tile_info)
610607{
611   m62_state *state = machine.driver_data<m62_state>();
612608   int code;
613609   int color;
614   code = state->m_m62_textram[tile_index << 1];
615   color = state->m_m62_textram[(tile_index << 1) | 1];
616   SET_TILE_INFO(2, code | ((color & 0x40) << 3) | ((color & 0x10) << 4), color & 0x0f, 0);
610   code = m_m62_textram[tile_index << 1];
611   color = m_m62_textram[(tile_index << 1) | 1];
612   SET_TILE_INFO_MEMBER(2, code | ((color & 0x40) << 3) | ((color & 0x10) << 4), color & 0x0f, 0);
617613}
618614
619615VIDEO_START( battroad )
620616{
621617   m62_state *state = machine.driver_data<m62_state>();
622   m62_start(machine, get_battroad_bg_tile_info, 1, 1, 8, 8, 64, 32);
623   m62_textlayer(machine, get_battroad_fg_tile_info, 1, 1, 8, 8, 32, 32);
618   m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_battroad_bg_tile_info),state), 1, 1, 8, 8, 64, 32);
619   m62_textlayer(machine, tilemap_get_info_delegate(FUNC(m62_state::get_battroad_fg_tile_info),state), 1, 1, 8, 8, 32, 32);
624620   state->m_bg_tilemap->set_transmask(0, 0xffff, 0x0000);   /* split type 0 is totally transparent in front half */
625621   state->m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe);   /* split type 1 has pen 0 transparent in front half */
626622}
r17673r17674
645641
646642/* almost identical but scrolling background, more characters, */
647643/* no char x flip, and more sprites */
648static TILE_GET_INFO( get_ldrun4_bg_tile_info )
644TILE_GET_INFO_MEMBER(m62_state::get_ldrun4_bg_tile_info)
649645{
650   m62_state *state = machine.driver_data<m62_state>();
651646   int code;
652647   int color;
653   code = state->m_m62_tileram[tile_index << 1];
654   color = state->m_m62_tileram[(tile_index << 1) | 1];
655   SET_TILE_INFO(0, code | ((color & 0xc0) << 2) | ((color & 0x20) << 5), color & 0x1f, 0);
648   code = m_m62_tileram[tile_index << 1];
649   color = m_m62_tileram[(tile_index << 1) | 1];
650   SET_TILE_INFO_MEMBER(0, code | ((color & 0xc0) << 2) | ((color & 0x20) << 5), color & 0x1f, 0);
656651}
657652
658653VIDEO_START( ldrun4 )
659654{
660   m62_start(machine, get_ldrun4_bg_tile_info, 1, 0, 8, 8, 64, 32);
655   m62_state *state = machine.driver_data<m62_state>();
656   m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_ldrun4_bg_tile_info),state), 1, 0, 8, 8, 64, 32);
661657}
662658
663659SCREEN_UPDATE_IND16( ldrun4 )
r17673r17674
671667}
672668
673669
674static TILE_GET_INFO( get_lotlot_bg_tile_info )
670TILE_GET_INFO_MEMBER(m62_state::get_lotlot_bg_tile_info)
675671{
676   m62_state *state = machine.driver_data<m62_state>();
677672   int code;
678673   int color;
679674   int flags;
680   code = state->m_m62_tileram[tile_index << 1];
681   color = state->m_m62_tileram[(tile_index << 1) | 1];
675   code = m_m62_tileram[tile_index << 1];
676   color = m_m62_tileram[(tile_index << 1) | 1];
682677   flags = 0;
683678   if ((color & 0x20))
684679   {
685680      flags |= TILE_FLIPX;
686681   }
687   SET_TILE_INFO(0, code | ((color & 0xc0) << 2), color & 0x1f, flags);
682   SET_TILE_INFO_MEMBER(0, code | ((color & 0xc0) << 2), color & 0x1f, flags);
688683}
689684
690static TILE_GET_INFO( get_lotlot_fg_tile_info )
685TILE_GET_INFO_MEMBER(m62_state::get_lotlot_fg_tile_info)
691686{
692   m62_state *state = machine.driver_data<m62_state>();
693687   int code;
694688   int color;
695   code = state->m_m62_textram[tile_index << 1];
696   color = state->m_m62_textram[(tile_index << 1) | 1];
697   SET_TILE_INFO(2, code | ((color & 0xc0) << 2), color & 0x1f, 0);
689   code = m_m62_textram[tile_index << 1];
690   color = m_m62_textram[(tile_index << 1) | 1];
691   SET_TILE_INFO_MEMBER(2, code | ((color & 0xc0) << 2), color & 0x1f, 0);
698692}
699693
700694VIDEO_START( lotlot )
701695{
702   m62_start(machine, get_lotlot_bg_tile_info, 1, 1, 12, 10, 32, 64);
703   m62_textlayer(machine, get_lotlot_fg_tile_info, 1, 1, 12, 10, 32, 64);
696   m62_state *state = machine.driver_data<m62_state>();
697   m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_lotlot_bg_tile_info),state), 1, 1, 12, 10, 32, 64);
698   m62_textlayer(machine, tilemap_get_info_delegate(FUNC(m62_state::get_lotlot_fg_tile_info),state), 1, 1, 12, 10, 32, 64);
704699}
705700
706701SCREEN_UPDATE_IND16( lotlot )
r17673r17674
738733   }
739734}
740735
741static TILE_GET_INFO( get_kidniki_bg_tile_info )
736TILE_GET_INFO_MEMBER(m62_state::get_kidniki_bg_tile_info)
742737{
743   m62_state *state = machine.driver_data<m62_state>();
744738   int code;
745739   int color;
746   code = state->m_m62_tileram[tile_index << 1];
747   color = state->m_m62_tileram[(tile_index << 1) | 1];
748   SET_TILE_INFO(0, code | ((color & 0xe0) << 3) | (state->m_kidniki_background_bank << 11), color & 0x1f, 0);
740   code = m_m62_tileram[tile_index << 1];
741   color = m_m62_tileram[(tile_index << 1) | 1];
742   SET_TILE_INFO_MEMBER(0, code | ((color & 0xe0) << 3) | (m_kidniki_background_bank << 11), color & 0x1f, 0);
749743   tileinfo.group = ((color & 0xe0) == 0xe0) ? 1 : 0;
750744}
751745
752static TILE_GET_INFO( get_kidniki_fg_tile_info )
746TILE_GET_INFO_MEMBER(m62_state::get_kidniki_fg_tile_info)
753747{
754   m62_state *state = machine.driver_data<m62_state>();
755748   int code;
756749   int color;
757   code = state->m_m62_textram[tile_index << 1];
758   color = state->m_m62_textram[(tile_index << 1) | 1];
759   SET_TILE_INFO(2, code | ( ( color & 0xc0 ) << 2 ), color & 0x1f, 0);
750   code = m_m62_textram[tile_index << 1];
751   color = m_m62_textram[(tile_index << 1) | 1];
752   SET_TILE_INFO_MEMBER(2, code | ( ( color & 0xc0 ) << 2 ), color & 0x1f, 0);
760753}
761754
762755VIDEO_START( kidniki )
763756{
764757   m62_state *state = machine.driver_data<m62_state>();
765758
766   state->m_bg_tilemap = tilemap_create(machine, get_kidniki_bg_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 64, 32);
759   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);
767760   state->m_bg_tilemap->set_transmask(0, 0xffff, 0x0000);   /* split type 0 is totally transparent in front half */
768761   state->m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe);   /* split type 1 has pen 0 transparent in front half */
769762
770763   register_savestate(machine);
771764
772   m62_textlayer(machine, get_kidniki_fg_tile_info, 1, 1, 12, 8, 32, 64);
765   m62_textlayer(machine, tilemap_get_info_delegate(FUNC(m62_state::get_kidniki_fg_tile_info),state), 1, 1, 12, 8, 32, 64);
773766}
774767
775768SCREEN_UPDATE_IND16( kidniki )
r17673r17674
798791   }
799792}
800793
801static TILE_GET_INFO( get_spelunkr_bg_tile_info )
794TILE_GET_INFO_MEMBER(m62_state::get_spelunkr_bg_tile_info)
802795{
803   m62_state *state = machine.driver_data<m62_state>();
804796   int code;
805797   int color;
806   code = state->m_m62_tileram[tile_index << 1];
807   color = state->m_m62_tileram[(tile_index << 1) | 1];
808   SET_TILE_INFO(0, code | ((color & 0x10) << 4) | ((color & 0x20) << 6) | ((color & 0xc0) << 3), (color & 0x0f) | (state->m_spelunkr_palbank << 4), 0);
798   code = m_m62_tileram[tile_index << 1];
799   color = m_m62_tileram[(tile_index << 1) | 1];
800   SET_TILE_INFO_MEMBER(0, code | ((color & 0x10) << 4) | ((color & 0x20) << 6) | ((color & 0xc0) << 3), (color & 0x0f) | (m_spelunkr_palbank << 4), 0);
809801}
810802
811static TILE_GET_INFO( get_spelunkr_fg_tile_info )
803TILE_GET_INFO_MEMBER(m62_state::get_spelunkr_fg_tile_info)
812804{
813   m62_state *state = machine.driver_data<m62_state>();
814805   int code;
815806   int color;
816   code = state->m_m62_textram[tile_index << 1];
817   color = state->m_m62_textram[(tile_index << 1) | 1];
807   code = m_m62_textram[tile_index << 1];
808   color = m_m62_textram[(tile_index << 1) | 1];
818809   if (color & 0xe0) popmessage("fg tilemap %x %x", tile_index, color & 0xe0);
819   SET_TILE_INFO(2, code | ((color & 0x10) << 4), (color & 0x0f) | (state->m_spelunkr_palbank << 4), 0);
810   SET_TILE_INFO_MEMBER(2, code | ((color & 0x10) << 4), (color & 0x0f) | (m_spelunkr_palbank << 4), 0);
820811}
821812
822813VIDEO_START( spelunkr )
823814{
824   m62_start(machine, get_spelunkr_bg_tile_info, 1, 1, 8, 8, 64, 64);
825   m62_textlayer(machine, get_spelunkr_fg_tile_info, 1, 1, 12, 8, 32, 32);
815   m62_state *state = machine.driver_data<m62_state>();
816   m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_spelunkr_bg_tile_info),state), 1, 1, 8, 8, 64, 64);
817   m62_textlayer(machine, tilemap_get_info_delegate(FUNC(m62_state::get_spelunkr_fg_tile_info),state), 1, 1, 12, 8, 32, 32);
826818}
827819
828820SCREEN_UPDATE_IND16( spelunkr )
r17673r17674
853845   }
854846}
855847
856static TILE_GET_INFO( get_spelunk2_bg_tile_info )
848TILE_GET_INFO_MEMBER(m62_state::get_spelunk2_bg_tile_info)
857849{
858   m62_state *state = machine.driver_data<m62_state>();
859850   int code;
860851   int color;
861   code = state->m_m62_tileram[tile_index << 1];
862   color = state->m_m62_tileram[(tile_index << 1) | 1];
863   SET_TILE_INFO( 0, code | ((color & 0xf0) << 4), (color & 0x0f) | (state->m_spelunkr_palbank << 4), 0 );
852   code = m_m62_tileram[tile_index << 1];
853   color = m_m62_tileram[(tile_index << 1) | 1];
854   SET_TILE_INFO_MEMBER( 0, code | ((color & 0xf0) << 4), (color & 0x0f) | (m_spelunkr_palbank << 4), 0 );
864855}
865856
866857VIDEO_START( spelunk2 )
867858{
868   m62_start(machine, get_spelunk2_bg_tile_info, 1, 1, 8, 8, 64, 64);
869   m62_textlayer(machine, get_spelunkr_fg_tile_info, 1, 1, 12, 8, 32, 32);
859   m62_state *state = machine.driver_data<m62_state>();
860   m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_spelunk2_bg_tile_info),state), 1, 1, 8, 8, 64, 64);
861   m62_textlayer(machine, tilemap_get_info_delegate(FUNC(m62_state::get_spelunkr_fg_tile_info),state), 1, 1, 12, 8, 32, 32);
870862}
871863
872864SCREEN_UPDATE_IND16( spelunk2 )
r17673r17674
885877}
886878
887879
888static TILE_GET_INFO( get_youjyudn_bg_tile_info )
880TILE_GET_INFO_MEMBER(m62_state::get_youjyudn_bg_tile_info)
889881{
890   m62_state *state = machine.driver_data<m62_state>();
891882   int code;
892883   int color;
893   code = state->m_m62_tileram[tile_index << 1];
894   color = state->m_m62_tileram[(tile_index << 1) | 1];
895   SET_TILE_INFO( 0, code | ((color & 0x60) << 3), color & 0x1f, 0);
884   code = m_m62_tileram[tile_index << 1];
885   color = m_m62_tileram[(tile_index << 1) | 1];
886   SET_TILE_INFO_MEMBER( 0, code | ((color & 0x60) << 3), color & 0x1f, 0);
896887   if (((color & 0x1f) >> 1) >= 0x08)
897888      tileinfo.group = 1;
898889   else
899890      tileinfo.group = 0;
900891}
901892
902static TILE_GET_INFO( get_youjyudn_fg_tile_info )
893TILE_GET_INFO_MEMBER(m62_state::get_youjyudn_fg_tile_info)
903894{
904   m62_state *state = machine.driver_data<m62_state>();
905895   int code;
906896   int color;
907   code = state->m_m62_textram[tile_index << 1];
908   color = state->m_m62_textram[(tile_index << 1) | 1];
909   SET_TILE_INFO(2, code | ((color & 0xc0) << 2), (color & 0x0f), 0);
897   code = m_m62_textram[tile_index << 1];
898   color = m_m62_textram[(tile_index << 1) | 1];
899   SET_TILE_INFO_MEMBER(2, code | ((color & 0xc0) << 2), (color & 0x0f), 0);
910900}
911901
912902VIDEO_START( youjyudn )
913903{
914904   m62_state *state = machine.driver_data<m62_state>();
915   m62_start(machine, get_youjyudn_bg_tile_info, 1, 0, 8, 16, 64, 16);
916   m62_textlayer(machine, get_youjyudn_fg_tile_info, 1, 1, 12, 8, 32, 32);
905   m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_youjyudn_bg_tile_info),state), 1, 0, 8, 16, 64, 16);
906   m62_textlayer(machine, tilemap_get_info_delegate(FUNC(m62_state::get_youjyudn_fg_tile_info),state), 1, 1, 12, 8, 32, 32);
917907   state->m_bg_tilemap->set_transmask(0, 0xffff, 0x0000);   /* split type 0 is totally transparent in front half */
918908   state->m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe);   /* split type 1 has pen 0 transparent in front half */
919909}
r17673r17674
939929   m_scrollram[offset] = data;
940930}
941931
942static TILE_GET_INFO( get_horizon_bg_tile_info )
932TILE_GET_INFO_MEMBER(m62_state::get_horizon_bg_tile_info)
943933{
944   m62_state *state = machine.driver_data<m62_state>();
945934   int code;
946935   int color;
947   code = state->m_m62_tileram[tile_index << 1];
948   color = state->m_m62_tileram[(tile_index << 1) | 1];
949   SET_TILE_INFO(0, code | ((color & 0xc0) << 2) | ((color & 0x20) << 5), color & 0x1f, 0);
936   code = m_m62_tileram[tile_index << 1];
937   color = m_m62_tileram[(tile_index << 1) | 1];
938   SET_TILE_INFO_MEMBER(0, code | ((color & 0xc0) << 2) | ((color & 0x20) << 5), color & 0x1f, 0);
950939
951940   if (((color & 0x1f) >> 1) >= 0x08)
952941      tileinfo.group = 1;
r17673r17674
957946VIDEO_START( horizon )
958947{
959948   m62_state *state = machine.driver_data<m62_state>();
960   m62_start(machine, get_horizon_bg_tile_info, 32, 0, 8, 8, 64, 32);
949   m62_start(machine, tilemap_get_info_delegate(FUNC(m62_state::get_horizon_bg_tile_info),state), 32, 0, 8, 8, 64, 32);
961950   state->m_bg_tilemap->set_transmask(0, 0xffff, 0x0000);   /* split type 0 is totally transparent in front half */
962951   state->m_bg_tilemap->set_transmask(1, 0x0001, 0xfffe);   /* split type 1 has pen 0 transparent in front half */
963952}
trunk/src/mame/video/toki.c
r17673r17674
3232   COMBINE_DATA(&m_scrollram16[offset]);
3333}
3434
35static TILE_GET_INFO( get_text_tile_info )
35TILE_GET_INFO_MEMBER(toki_state::get_text_tile_info)
3636{
37   toki_state *state = machine.driver_data<toki_state>();
38   UINT16 *videoram = state->m_videoram;
37   UINT16 *videoram = m_videoram;
3938   int tile = videoram[tile_index];
4039   int color = (tile >> 12) & 0xf;
4140
4241   tile &= 0xfff;
4342
44   SET_TILE_INFO(
43   SET_TILE_INFO_MEMBER(
4544         0,
4645         tile,
4746         color,
4847         0);
4948}
5049
51static TILE_GET_INFO( get_back_tile_info )
50TILE_GET_INFO_MEMBER(toki_state::get_back_tile_info)
5251{
53   toki_state *state = machine.driver_data<toki_state>();
54   int tile = state->m_background1_videoram16[tile_index];
52   int tile = m_background1_videoram16[tile_index];
5553   int color = (tile >> 12) & 0xf;
5654
5755   tile &= 0xfff;
5856
59   SET_TILE_INFO(
57   SET_TILE_INFO_MEMBER(
6058         2,
6159         tile,
6260         color,
6361         0);
6462}
6563
66static TILE_GET_INFO( get_fore_tile_info )
64TILE_GET_INFO_MEMBER(toki_state::get_fore_tile_info)
6765{
68   toki_state *state = machine.driver_data<toki_state>();
69   int tile = state->m_background2_videoram16[tile_index];
66   int tile = m_background2_videoram16[tile_index];
7067   int color = (tile >> 12) & 0xf;
7168
7269   tile &= 0xfff;
7370
74   SET_TILE_INFO(
71   SET_TILE_INFO_MEMBER(
7572         3,
7673         tile,
7774         color,
r17673r17674
8885VIDEO_START( toki )
8986{
9087   toki_state *state = machine.driver_data<toki_state>();
91   state->m_text_layer       = tilemap_create(machine, get_text_tile_info,TILEMAP_SCAN_ROWS,  8,8,32,32);
92   state->m_background_layer = tilemap_create(machine, get_back_tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
93   state->m_foreground_layer = tilemap_create(machine, get_fore_tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
88   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);
89   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);
90   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);
9491
9592   state->m_text_layer->set_transparent_pen(15);
9693   state->m_background_layer->set_transparent_pen(15);
trunk/src/mame/video/pass.c
r17673r17674
55
66/* background tilemap stuff */
77
8static TILE_GET_INFO( get_pass_bg_tile_info )
8TILE_GET_INFO_MEMBER(pass_state::get_pass_bg_tile_info)
99{
10   pass_state *state = machine.driver_data<pass_state>();
1110   int tileno, fx;
1211
13   tileno = state->m_bg_videoram[tile_index] & 0x1fff;
14   fx = (state->m_bg_videoram[tile_index] & 0xc000) >> 14;
15   SET_TILE_INFO(1, tileno, 0, TILE_FLIPYX(fx));
12   tileno = m_bg_videoram[tile_index] & 0x1fff;
13   fx = (m_bg_videoram[tile_index] & 0xc000) >> 14;
14   SET_TILE_INFO_MEMBER(1, tileno, 0, TILE_FLIPYX(fx));
1615
1716}
1817
r17673r17674
2524
2625/* foreground 'sprites' tilemap stuff */
2726
28static TILE_GET_INFO( get_pass_fg_tile_info )
27TILE_GET_INFO_MEMBER(pass_state::get_pass_fg_tile_info)
2928{
30   pass_state *state = machine.driver_data<pass_state>();
3129   int tileno, flip;
3230
33   tileno = state->m_fg_videoram[tile_index] & 0x3fff;
34   flip = (state->m_fg_videoram[tile_index] & 0xc000) >>14;
31   tileno = m_fg_videoram[tile_index] & 0x3fff;
32   flip = (m_fg_videoram[tile_index] & 0xc000) >>14;
3533
36   SET_TILE_INFO(0, tileno, 0, TILE_FLIPYX(flip));
34   SET_TILE_INFO_MEMBER(0, tileno, 0, TILE_FLIPYX(flip));
3735
3836}
3937
r17673r17674
4947{
5048   pass_state *state = machine.driver_data<pass_state>();
5149
52   state->m_bg_tilemap = tilemap_create(machine, get_pass_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8,  64, 32);
53   state->m_fg_tilemap = tilemap_create(machine, get_pass_fg_tile_info, TILEMAP_SCAN_ROWS, 4, 4, 128, 64);
50   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);
51   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);
5452
5553   state->m_fg_tilemap->set_transparent_pen(255);
5654}
trunk/src/mame/video/40love.c
r17673r17674
6262    offset 1    xxxx xxxx   x scroll (8 LSB bits)
6363*/
6464
65static TILE_GET_INFO( get_bg_tile_info )
65TILE_GET_INFO_MEMBER(fortyl_state::get_bg_tile_info)
6666{
67   fortyl_state *state = machine.driver_data<fortyl_state>();
68   int tile_number = state->m_videoram[tile_index];
69   int tile_attrib = state->m_colorram[(tile_index / 64) * 2];
67   int tile_number = m_videoram[tile_index];
68   int tile_attrib = m_colorram[(tile_index / 64) * 2];
7069   int tile_h_bank = (tile_attrib & 0x40) << 3;   /* 0x40->0x200 */
7170   int tile_l_bank = (tile_attrib & 0x18) << 3;   /* 0x10->0x80, 0x08->0x40 */
7271
r17673r17674
7574      code = (code & 0x3f) | tile_l_bank | 0x100;
7675   code |= tile_h_bank;
7776
78   SET_TILE_INFO(   0,
77   SET_TILE_INFO_MEMBER(   0,
7978         code,
8079         tile_attrib & 0x07,
8180         0);
r17673r17674
110109   state->m_tmp_bitmap1 = auto_bitmap_ind16_alloc(machine, 256, 256);
111110   state->m_tmp_bitmap2 = auto_bitmap_ind16_alloc(machine, 256, 256);
112111
113   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
112   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);
114113
115114   state->m_xoffset = 128;   // this never changes
116115
trunk/src/mame/video/renegade.c
r17673r17674
3838   m_scrollx = (m_scrollx & 0xff) | (data << 8);
3939}
4040
41static TILE_GET_INFO( get_bg_tilemap_info )
41TILE_GET_INFO_MEMBER(renegade_state::get_bg_tilemap_info)
4242{
43   renegade_state *state = machine.driver_data<renegade_state>();
44   UINT8 *videoram = state->m_videoram;
43   UINT8 *videoram = m_videoram;
4544   const UINT8 *source = &videoram[tile_index];
4645   UINT8 attributes = source[0x400]; /* CCC??BBB */
47   SET_TILE_INFO(
46   SET_TILE_INFO_MEMBER(
4847      1 + (attributes & 0x7),
4948      source[0],
5049      attributes >> 5,
5150      0);
5251}
5352
54static TILE_GET_INFO( get_fg_tilemap_info )
53TILE_GET_INFO_MEMBER(renegade_state::get_fg_tilemap_info)
5554{
56   renegade_state *state = machine.driver_data<renegade_state>();
57   const UINT8 *source = &state->m_videoram2[tile_index];
55   const UINT8 *source = &m_videoram2[tile_index];
5856   UINT8 attributes = source[0x400];
59   SET_TILE_INFO(
57   SET_TILE_INFO_MEMBER(
6058      0,
6159      (attributes & 3) * 256 + source[0],
6260      attributes >> 6,
r17673r17674
6664VIDEO_START( renegade )
6765{
6866   renegade_state *state = machine.driver_data<renegade_state>();
69   state->m_bg_tilemap = tilemap_create(machine, get_bg_tilemap_info, TILEMAP_SCAN_ROWS,      16, 16, 64, 16);
70   state->m_fg_tilemap = tilemap_create(machine, get_fg_tilemap_info, TILEMAP_SCAN_ROWS,   8, 8, 32, 32);
67   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);
68   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);
7169
7270   state->m_fg_tilemap->set_transparent_pen(0);
7371   state->m_bg_tilemap->set_scrolldx(256, 0);
trunk/src/mame/video/galaga.c
r17673r17674
391391***************************************************************************/
392392
393393/* convert from 32x32 to 36x28 */
394static TILEMAP_MAPPER( tilemap_scan )
394TILEMAP_MAPPER_MEMBER(galaga_state::tilemap_scan)
395395{
396396   int offs;
397397
r17673r17674
406406}
407407
408408
409static TILE_GET_INFO( get_tile_info )
409TILE_GET_INFO_MEMBER(galaga_state::get_tile_info)
410410{
411411   /* the hardware has two character sets, one normal and one x-flipped. When
412412       screen is flipped, character y flip is done by the hardware inverting the
413413       timing signals, while x flip is done by selecting the 2nd character set.
414414       We reproduce this here, but since the tilemap system automatically flips
415415       characters when screen is flipped, we have to flip them back. */
416   galaga_state *state =  machine.driver_data<galaga_state>();
417    int color = state->m_videoram[tile_index + 0x400] & 0x3f;
418   SET_TILE_INFO(
416    int color = m_videoram[tile_index + 0x400] & 0x3f;
417   SET_TILE_INFO_MEMBER(
419418         0,
420         (state->m_videoram[tile_index] & 0x7f) | (state->flip_screen() ? 0x80 : 0) | (state->m_galaga_gfxbank << 8),
419         (m_videoram[tile_index] & 0x7f) | (flip_screen() ? 0x80 : 0) | (m_galaga_gfxbank << 8),
421420         color,
422         state->flip_screen() ? TILE_FLIPX : 0);
421         flip_screen() ? TILE_FLIPX : 0);
423422   tileinfo.group = color;
424423}
425424
r17673r17674
434433VIDEO_START( galaga )
435434{
436435   galaga_state *state =  machine.driver_data<galaga_state>();
437   state->m_fg_tilemap = tilemap_create(machine, get_tile_info,tilemap_scan,8,8,36,28);
436   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);
438437   colortable_configure_tilemap_groups(machine.colortable, state->m_fg_tilemap, machine.gfx[0], 0x1f);
439438
440439   state->m_galaga_gfxbank = 0;
trunk/src/mame/video/lasso.c
r17673r17674
122122
123123***************************************************************************/
124124
125static TILE_GET_INFO( lasso_get_bg_tile_info )
125TILE_GET_INFO_MEMBER(lasso_state::lasso_get_bg_tile_info)
126126{
127   lasso_state *state = machine.driver_data<lasso_state>();
128   int code = state->m_videoram[tile_index];
129   int color = state->m_colorram[tile_index];
127   int code = m_videoram[tile_index];
128   int color = m_colorram[tile_index];
130129
131   SET_TILE_INFO(0,
132              code + ((UINT16)state->m_gfxbank << 8),
130   SET_TILE_INFO_MEMBER(0,
131              code + ((UINT16)m_gfxbank << 8),
133132              color & 0x0f,
134133              0);
135134}
136135
137static TILE_GET_INFO( wwjgtin_get_track_tile_info )
136TILE_GET_INFO_MEMBER(lasso_state::wwjgtin_get_track_tile_info)
138137{
139   UINT8 *ROM = machine.root_device().memregion("user1")->base();
138   UINT8 *ROM = machine().root_device().memregion("user1")->base();
140139   int code = ROM[tile_index];
141140   int color = ROM[tile_index + 0x2000];
142141
143   SET_TILE_INFO(2,
142   SET_TILE_INFO_MEMBER(2,
144143              code,
145144              color & 0x0f,
146145              0);
147146}
148147
149static TILE_GET_INFO( pinbo_get_bg_tile_info )
148TILE_GET_INFO_MEMBER(lasso_state::pinbo_get_bg_tile_info)
150149{
151   lasso_state *state = machine.driver_data<lasso_state>();
152   int code  = state->m_videoram[tile_index];
153   int color = state->m_colorram[tile_index];
150   int code  = m_videoram[tile_index];
151   int color = m_colorram[tile_index];
154152
155   SET_TILE_INFO(0,
153   SET_TILE_INFO_MEMBER(0,
156154              code + ((color & 0x30) << 4),
157155              color & 0x0f,
158156              0);
r17673r17674
170168   lasso_state *state = machine.driver_data<lasso_state>();
171169
172170   /* create tilemap */
173   state->m_bg_tilemap = tilemap_create(machine, lasso_get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
171   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);
174172
175173   state->m_bg_tilemap->set_transparent_pen(0);
176174}
r17673r17674
180178   lasso_state *state = machine.driver_data<lasso_state>();
181179
182180   /* create tilemaps */
183   state->m_bg_tilemap =    tilemap_create(machine, lasso_get_bg_tile_info,      TILEMAP_SCAN_ROWS,  8,  8,  32, 32);
184   state->m_track_tilemap = tilemap_create(machine, wwjgtin_get_track_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 128, 64);
181   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);
182   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);
185183
186184   state->m_bg_tilemap->set_transparent_pen(0);
187185}
r17673r17674
191189   lasso_state *state = machine.driver_data<lasso_state>();
192190
193191   /* create tilemap */
194   state->m_bg_tilemap = tilemap_create(machine, pinbo_get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
192   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);
195193
196194   state->m_bg_tilemap->set_transparent_pen(0);
197195}
trunk/src/mame/video/psychic5.c
r17673r17674
198198  Callbacks for the tilemap code
199199***************************************************************************/
200200
201static TILE_GET_INFO( get_bg_tile_info )
201TILE_GET_INFO_MEMBER(psychic5_state::get_bg_tile_info)
202202{
203   psychic5_state *state = machine.driver_data<psychic5_state>();
204203   int offs = tile_index << 1;
205   int attr = state->m_bg_videoram[offs + 1];
206   int code = state->m_bg_videoram[offs] | ((attr & 0xc0) << 2);
204   int attr = m_bg_videoram[offs + 1];
205   int code = m_bg_videoram[offs] | ((attr & 0xc0) << 2);
207206   int color = attr & 0x0f;
208207   int flags = TILE_FLIPYX((attr & 0x30) >> 4);
209208
210   SET_TILE_INFO(1, code, color, flags);
209   SET_TILE_INFO_MEMBER(1, code, color, flags);
211210}
212211
213static TILE_GET_INFO( get_fg_tile_info )
212TILE_GET_INFO_MEMBER(psychic5_state::get_fg_tile_info)
214213{
215   psychic5_state *state = machine.driver_data<psychic5_state>();
216214   int offs = tile_index << 1;
217   int attr = state->m_fg_videoram[offs + 1];
218   int code = state->m_fg_videoram[offs] | ((attr & 0xc0) << 2);
215   int attr = m_fg_videoram[offs + 1];
216   int code = m_fg_videoram[offs] | ((attr & 0xc0) << 2);
219217   int color = attr & 0x0f;
220218   int flags = TILE_FLIPYX((attr & 0x30) >> 4);
221219
222   SET_TILE_INFO(2, code, color, flags);
220   SET_TILE_INFO_MEMBER(2, code, color, flags);
223221}
224222
225223
r17673r17674
231229{
232230   psychic5_state *state = machine.driver_data<psychic5_state>();
233231   /*                          info              offset             w   h  col  row */
234   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 64, 32);
235   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS,  8,  8, 32, 32);
232   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);
233   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);
236234
237235   state->m_fg_tilemap->set_transparent_pen(15);
238236
r17673r17674
255253{
256254   psychic5_state *state = machine.driver_data<psychic5_state>();
257255   /*                          info              offset             w   h   col  row */
258   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 128, 32);
259   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS,  8,  8,  32, 32);
256   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);
257   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);
260258
261259   state->m_fg_tilemap->set_transparent_pen(15);
262260
trunk/src/mame/video/ginganin.c
r17673r17674
7474#define BG_NX  (16*32)
7575#define BG_NY  (16*2)
7676
77static TILE_GET_INFO( get_bg_tile_info )
77TILE_GET_INFO_MEMBER(ginganin_state::get_bg_tile_info)
7878{
79   UINT8 *gfx = machine.root_device().memregion("gfx5")->base();
79   UINT8 *gfx = machine().root_device().memregion("gfx5")->base();
8080   int code = gfx[2 * tile_index + 0] * 256 + gfx[2 * tile_index + 1];
81   SET_TILE_INFO(
81   SET_TILE_INFO_MEMBER(
8282         BG_GFX,
8383         code,
8484         code >> 12,
r17673r17674
9292#define FG_NX  (16*16)
9393#define FG_NY  (16*2)
9494
95static TILE_GET_INFO( get_fg_tile_info )
95TILE_GET_INFO_MEMBER(ginganin_state::get_fg_tile_info)
9696{
97   ginganin_state *state = machine.driver_data<ginganin_state>();
98   UINT16 code = state->m_fgram[tile_index];
99   SET_TILE_INFO(
97   UINT16 code = m_fgram[tile_index];
98   SET_TILE_INFO_MEMBER(
10099         FG_GFX,
101100         code,
102101         code >> 12,
r17673r17674
116115#define TXT_NX   (32)
117116#define TXT_NY   (32)
118117
119static TILE_GET_INFO( get_txt_tile_info )
118TILE_GET_INFO_MEMBER(ginganin_state::get_txt_tile_info)
120119{
121   ginganin_state *state = machine.driver_data<ginganin_state>();
122   UINT16 code = state->m_txtram[tile_index];
123   SET_TILE_INFO(
120   UINT16 code = m_txtram[tile_index];
121   SET_TILE_INFO_MEMBER(
124122         TXT_GFX,
125123         code,
126124         code >> 12,
r17673r17674
137135VIDEO_START( ginganin )
138136{
139137   ginganin_state *state = machine.driver_data<ginganin_state>();
140   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, BG_NX, BG_NY);
141   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS, 16, 16, FG_NX, FG_NY);
142   state->m_tx_tilemap = tilemap_create(machine, get_txt_tile_info, TILEMAP_SCAN_ROWS, 8, 8, TXT_NX, TXT_NY);
138   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);
139   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);
140   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);
143141
144142   state->m_fg_tilemap->set_transparent_pen(15);
145143   state->m_tx_tilemap->set_transparent_pen(15);
trunk/src/mame/video/tail2nos.c
r17673r17674
1111
1212***************************************************************************/
1313
14static TILE_GET_INFO( get_tile_info )
14TILE_GET_INFO_MEMBER(tail2nos_state::get_tile_info)
1515{
16   tail2nos_state *state = machine.driver_data<tail2nos_state>();
17   UINT16 code = state->m_bgvideoram[tile_index];
18   SET_TILE_INFO(
16   UINT16 code = m_bgvideoram[tile_index];
17   SET_TILE_INFO_MEMBER(
1918         0,
20         (code & 0x1fff) + (state->m_charbank << 13),
21         ((code & 0xe000) >> 13) + state->m_charpalette * 16,
19         (code & 0x1fff) + (m_charbank << 13),
20         ((code & 0xe000) >> 13) + m_charpalette * 16,
2221         0);
2322}
2423
r17673r17674
5857{
5958   tail2nos_state *state = machine.driver_data<tail2nos_state>();
6059
61   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
60   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);
6261
6362   state->m_bg_tilemap->set_transparent_pen(15);
6463
trunk/src/mame/video/mrjong.c
r17673r17674
9090   }
9191}
9292
93static TILE_GET_INFO( get_bg_tile_info )
93TILE_GET_INFO_MEMBER(mrjong_state::get_bg_tile_info)
9494{
95   mrjong_state *state = machine.driver_data<mrjong_state>();
96   int code = state->m_videoram[tile_index] | ((state->m_colorram[tile_index] & 0x20) << 3);
97   int color = state->m_colorram[tile_index] & 0x1f;
98   int flags = ((state->m_colorram[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((state->m_colorram[tile_index] & 0x80) ? TILE_FLIPY : 0);
95   int code = m_videoram[tile_index] | ((m_colorram[tile_index] & 0x20) << 3);
96   int color = m_colorram[tile_index] & 0x1f;
97   int flags = ((m_colorram[tile_index] & 0x40) ? TILE_FLIPX : 0) | ((m_colorram[tile_index] & 0x80) ? TILE_FLIPY : 0);
9998
100   SET_TILE_INFO(0, code, color, flags);
99   SET_TILE_INFO_MEMBER(0, code, color, flags);
101100}
102101
103102VIDEO_START( mrjong )
104103{
105104   mrjong_state *state = machine.driver_data<mrjong_state>();
106   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS_FLIP_XY, 8, 8, 32, 32);
105   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);
107106}
108107
109108/*
trunk/src/mame/video/xyonix.c
r17673r17674
3131}
3232
3333
34static TILE_GET_INFO( get_xyonix_tile_info )
34TILE_GET_INFO_MEMBER(xyonix_state::get_xyonix_tile_info)
3535{
36   xyonix_state *state = machine.driver_data<xyonix_state>();
3736   int tileno;
38   int attr = state->m_vidram[tile_index+0x1000+1];
37   int attr = m_vidram[tile_index+0x1000+1];
3938
40   tileno = (state->m_vidram[tile_index+1] << 0) | ((attr & 0x0f) << 8);
39   tileno = (m_vidram[tile_index+1] << 0) | ((attr & 0x0f) << 8);
4140
42   SET_TILE_INFO(0,tileno,attr >> 4,0);
41   SET_TILE_INFO_MEMBER(0,tileno,attr >> 4,0);
4342}
4443
4544WRITE8_MEMBER(xyonix_state::xyonix_vidram_w)
r17673r17674
5352{
5453   xyonix_state *state = machine.driver_data<xyonix_state>();
5554
56   state->m_tilemap = tilemap_create(machine, get_xyonix_tile_info, TILEMAP_SCAN_ROWS, 4, 8, 80, 32);
55   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);
5756}
5857
5958SCREEN_UPDATE_IND16(xyonix)
trunk/src/mame/video/1943.c
r17673r17674
165165   m_obj_on = data & 0x40;
166166}
167167
168static TILE_GET_INFO( c1943_get_bg2_tile_info )
168TILE_GET_INFO_MEMBER(_1943_state::c1943_get_bg2_tile_info)
169169{
170   UINT8 *tilerom = machine.root_device().memregion("gfx5")->base() + 0x8000;
170   UINT8 *tilerom = machine().root_device().memregion("gfx5")->base() + 0x8000;
171171
172172   int offs = tile_index * 2;
173173   int attr = tilerom[offs + 1];
r17673r17674
175175   int color = (attr & 0x3c) >> 2;
176176   int flags = TILE_FLIPYX((attr & 0xc0) >> 6);
177177
178   SET_TILE_INFO(2, code, color, flags);
178   SET_TILE_INFO_MEMBER(2, code, color, flags);
179179}
180180
181static TILE_GET_INFO( c1943_get_bg_tile_info )
181TILE_GET_INFO_MEMBER(_1943_state::c1943_get_bg_tile_info)
182182{
183   UINT8 *tilerom = machine.root_device().memregion("gfx5")->base();
183   UINT8 *tilerom = machine().root_device().memregion("gfx5")->base();
184184
185185   int offs = tile_index * 2;
186186   int attr = tilerom[offs + 1];
r17673r17674
189189   int flags = TILE_FLIPYX((attr & 0xc0) >> 6);
190190
191191   tileinfo.group = color;
192   SET_TILE_INFO(1, code, color, flags);
192   SET_TILE_INFO_MEMBER(1, code, color, flags);
193193}
194194
195static TILE_GET_INFO( c1943_get_fg_tile_info )
195TILE_GET_INFO_MEMBER(_1943_state::c1943_get_fg_tile_info)
196196{
197   _1943_state *state = machine.driver_data<_1943_state>();
198   int attr = state->m_colorram[tile_index];
199   int code = state->m_videoram[tile_index] + ((attr & 0xe0) << 3);
197   int attr = m_colorram[tile_index];
198   int code = m_videoram[tile_index] + ((attr & 0xe0) << 3);
200199   int color = attr & 0x1f;
201200
202   SET_TILE_INFO(0, code, color, 0);
201   SET_TILE_INFO_MEMBER(0, code, color, 0);
203202}
204203
205204VIDEO_START( 1943 )
206205{
207206   _1943_state *state = machine.driver_data<_1943_state>();
208   state->m_bg2_tilemap = tilemap_create(machine, c1943_get_bg2_tile_info, TILEMAP_SCAN_COLS, 32, 32, 2048, 8);
209   state->m_bg_tilemap = tilemap_create(machine, c1943_get_bg_tile_info, TILEMAP_SCAN_COLS, 32, 32, 2048, 8);
210   state->m_fg_tilemap = tilemap_create(machine, c1943_get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
207   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);
208   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);
209   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);
211210
212211   colortable_configure_tilemap_groups(machine.colortable, state->m_bg_tilemap, machine.gfx[1], 0x0f);
213212   state->m_fg_tilemap->set_transparent_pen(0);
trunk/src/mame/video/lucky74.c
r17673r17674
196196}
197197
198198
199static TILE_GET_INFO( get_fg_tile_info )
199TILE_GET_INFO_MEMBER(lucky74_state::get_fg_tile_info)
200200{
201   lucky74_state *state = machine.driver_data<lucky74_state>();
202201/*  - bits -
203202    7654 3210
204203    ---- xxxx   tiles color.
205204    xxxx ----   tiles page offset.
206205*/
207206   int bank = 0;
208   int attr = state->m_fg_colorram[tile_index];
209   int code = state->m_fg_videoram[tile_index] + ((attr & 0xf0) << 4);
207   int attr = m_fg_colorram[tile_index];
208   int code = m_fg_videoram[tile_index] + ((attr & 0xf0) << 4);
210209   int color = (attr & 0x0f);
211210
212   SET_TILE_INFO(bank, code, color, 0);
211   SET_TILE_INFO_MEMBER(bank, code, color, 0);
213212}
214213
215static TILE_GET_INFO( get_bg_tile_info )
214TILE_GET_INFO_MEMBER(lucky74_state::get_bg_tile_info)
216215{
217   lucky74_state *state = machine.driver_data<lucky74_state>();
218216/*  - bits -
219217    7654 3210
220218    ---- xxxx   tiles color.
221219    xxxx ----   tiles page offset.
222220*/
223221   int bank = 1;
224   int attr = state->m_bg_colorram[tile_index];
225   int code = state->m_bg_videoram[tile_index] + ((attr & 0xf0) << 4);
222   int attr = m_bg_colorram[tile_index];
223   int code = m_bg_videoram[tile_index] + ((attr & 0xf0) << 4);
226224   int color = (attr & 0x0f);
227225
228   SET_TILE_INFO(bank, code, color, 0);
226   SET_TILE_INFO_MEMBER(bank, code, color, 0);
229227}
230228
231229
232230VIDEO_START( lucky74 )
233231{
234232   lucky74_state *state = machine.driver_data<lucky74_state>();
235   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
236   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
233   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);
234   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);
237235
238236   state->m_fg_tilemap->set_transparent_pen(0);
239237}
trunk/src/mame/video/pacland.c
r17673r17674
157157
158158***************************************************************************/
159159
160static TILE_GET_INFO( get_bg_tile_info )
160TILE_GET_INFO_MEMBER(pacland_state::get_bg_tile_info)
161161{
162   pacland_state *state = machine.driver_data<pacland_state>();
163162   int offs = tile_index * 2;
164   int attr = state->m_videoram2[offs + 1];
165   int code = state->m_videoram2[offs] + ((attr & 0x01) << 8);
163   int attr = m_videoram2[offs + 1];
164   int code = m_videoram2[offs] + ((attr & 0x01) << 8);
166165   int color = ((attr & 0x3e) >> 1) + ((code & 0x1c0) >> 1);
167166   int flags = TILE_FLIPYX(attr >> 6);
168167
169   SET_TILE_INFO(1, code, color, flags);
168   SET_TILE_INFO_MEMBER(1, code, color, flags);
170169}
171170
172static TILE_GET_INFO( get_fg_tile_info )
171TILE_GET_INFO_MEMBER(pacland_state::get_fg_tile_info)
173172{
174   pacland_state *state = machine.driver_data<pacland_state>();
175173   int offs = tile_index * 2;
176   int attr = state->m_videoram[offs + 1];
177   int code = state->m_videoram[offs] + ((attr & 0x01) << 8);
174   int attr = m_videoram[offs + 1];
175   int code = m_videoram[offs] + ((attr & 0x01) << 8);
178176   int color = ((attr & 0x1e) >> 1) + ((code & 0x1e0) >> 1);
179177   int flags = TILE_FLIPYX(attr >> 6);
180178
181179   tileinfo.category = (attr & 0x20) ? 1 : 0;
182180   tileinfo.group = color;
183181
184   SET_TILE_INFO(0, code, color, flags);
182   SET_TILE_INFO_MEMBER(0, code, color, flags);
185183}
186184
187185
r17673r17674
200198   machine.primary_screen->register_screen_bitmap(state->m_fg_bitmap);
201199   state->m_fg_bitmap.fill(0xffff);
202200
203   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
204   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
201   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);
202   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);
205203
206204   state->m_fg_tilemap->set_scroll_rows(32);
207205
trunk/src/mame/video/popper.c
r17673r17674
114114   }
115115}
116116
117static TILE_GET_INFO( get_popper_p123_tile_info )
117TILE_GET_INFO_MEMBER(popper_state::get_popper_p123_tile_info)
118118{
119   popper_state *state = machine.driver_data<popper_state>();
120   UINT32 tile_number = state->m_videoram[tile_index];
121   UINT8 attr = state->m_attribram[tile_index];
122   tile_number += state->m_gfx_bank << 8;
119   UINT32 tile_number = m_videoram[tile_index];
120   UINT8 attr = m_attribram[tile_index];
121   tile_number += m_gfx_bank << 8;
123122
124   SET_TILE_INFO(
123   SET_TILE_INFO_MEMBER(
125124         0,
126125         tile_number,
127126         (attr & 0xf),
r17673r17674
129128   tileinfo.group = (attr & 0x80) >> 7;
130129}
131130
132static TILE_GET_INFO( get_popper_p0_tile_info )
131TILE_GET_INFO_MEMBER(popper_state::get_popper_p0_tile_info)
133132{
134   popper_state *state = machine.driver_data<popper_state>();
135   UINT32 tile_number = state->m_videoram[tile_index];
136   UINT8 attr = state->m_attribram[tile_index];
137   tile_number += state->m_gfx_bank << 8;
133   UINT32 tile_number = m_videoram[tile_index];
134   UINT8 attr = m_attribram[tile_index];
135   tile_number += m_gfx_bank << 8;
138136
139137   //pen 0 only in front if colour set as well
140138   tileinfo.group = (attr & 0x70) ? ((attr & 0x80) >> 7) : 0;
141139
142   SET_TILE_INFO(
140   SET_TILE_INFO_MEMBER(
143141         0,
144142         tile_number,
145143         ((attr & 0x70) >> 4) + 8,
146144         0);
147145}
148146
149static TILE_GET_INFO( get_popper_ol_p123_tile_info )
147TILE_GET_INFO_MEMBER(popper_state::get_popper_ol_p123_tile_info)
150148{
151   popper_state *state = machine.driver_data<popper_state>();
152   UINT32 tile_number = state->m_ol_videoram[tile_index];
153   UINT8 attr  = state->m_ol_attribram[tile_index];
154   tile_number += state->m_gfx_bank << 8;
149   UINT32 tile_number = m_ol_videoram[tile_index];
150   UINT8 attr  = m_ol_attribram[tile_index];
151   tile_number += m_gfx_bank << 8;
155152
156   SET_TILE_INFO(
153   SET_TILE_INFO_MEMBER(
157154         0,
158155         tile_number,
159156         (attr & 0xf),
r17673r17674
161158   tileinfo.group = (attr & 0x80) >> 7;
162159}
163160
164static TILE_GET_INFO( get_popper_ol_p0_tile_info )
161TILE_GET_INFO_MEMBER(popper_state::get_popper_ol_p0_tile_info)
165162{
166   popper_state *state = machine.driver_data<popper_state>();
167   UINT32 tile_number = state->m_ol_videoram[tile_index];
168   UINT8 attr = state->m_ol_attribram[tile_index];
169   tile_number += state->m_gfx_bank << 8;
163   UINT32 tile_number = m_ol_videoram[tile_index];
164   UINT8 attr = m_ol_attribram[tile_index];
165   tile_number += m_gfx_bank << 8;
170166
171167   //pen 0 only in front if colour set as well
172168   tileinfo.group = (attr & 0x70) ? ((attr & 0x80) >> 7) : 0;
173169
174   SET_TILE_INFO(
170   SET_TILE_INFO_MEMBER(
175171         0,
176172         tile_number,
177173         ((attr & 0x70) >> 4) + 8,
r17673r17674
181177VIDEO_START( popper )
182178{
183179   popper_state *state = machine.driver_data<popper_state>();
184   state->m_p123_tilemap    = tilemap_create(machine, get_popper_p123_tile_info,    TILEMAP_SCAN_COLS, 8, 8, 33, 32 );
185   state->m_p0_tilemap      = tilemap_create(machine, get_popper_p0_tile_info,      TILEMAP_SCAN_COLS, 8, 8, 33, 32);
186   state->m_ol_p123_tilemap = tilemap_create(machine, get_popper_ol_p123_tile_info, TILEMAP_SCAN_COLS, 8, 8, 2, 32);
187   state->m_ol_p0_tilemap   = tilemap_create(machine, get_popper_ol_p0_tile_info,   TILEMAP_SCAN_COLS, 8, 8, 2, 32);
180   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 );
181   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);
182   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);
183   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);
188184
189185   state->m_p123_tilemap->set_transmask(0, 0x0f, 0x01);
190186   state->m_p123_tilemap->set_transmask(1, 0x01, 0x0f);
trunk/src/mame/video/ladyfrog.c
r17673r17674
1919   return m_spriteram[offset];
2020}
2121
22static TILE_GET_INFO( get_tile_info )
22TILE_GET_INFO_MEMBER(ladyfrog_state::get_tile_info)
2323{
24   ladyfrog_state *state = machine.driver_data<ladyfrog_state>();
25   int pal = state->m_videoram[tile_index * 2 + 1] & 0x0f;
26   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);
27   SET_TILE_INFO(
24   int pal = m_videoram[tile_index * 2 + 1] & 0x0f;
25   int tile = m_videoram[tile_index * 2] + ((m_videoram[tile_index * 2 + 1] & 0xc0) << 2)+ ((m_videoram[tile_index * 2 + 1] & 0x30) << 6);
26   SET_TILE_INFO_MEMBER(
2827         0,
29         tile + 0x1000 * state->m_tilebank,
28         tile + 0x1000 * m_tilebank,
3029         pal,TILE_FLIPY
3130         );
3231}
r17673r17674
133132   ladyfrog_state *state = machine.driver_data<ladyfrog_state>();
134133
135134   state->m_spriteram = auto_alloc_array(machine, UINT8, 160);
136   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
135   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);
137136
138137   state->m_generic_paletteram_8.allocate(0x200);
139138   state->m_generic_paletteram2_8.allocate(0x200);
trunk/src/mame/video/sidearms.c
r17673r17674
9393}
9494
9595
96static TILE_GET_INFO( get_sidearms_bg_tile_info )
96TILE_GET_INFO_MEMBER(sidearms_state::get_sidearms_bg_tile_info)
9797{
98   sidearms_state *state = machine.driver_data<sidearms_state>();
9998   int code, attr, color, flags;
10099
101   code = state->m_tilerom[tile_index];
102   attr = state->m_tilerom[tile_index + 1];
100   code = m_tilerom[tile_index];
101   attr = m_tilerom[tile_index + 1];
103102   code |= attr<<8 & 0x100;
104103   color = attr>>3 & 0x1f;
105104   flags = attr>>1 & 0x03;
106105
107   SET_TILE_INFO(1, code, color, flags);
106   SET_TILE_INFO_MEMBER(1, code, color, flags);
108107}
109108
110static TILE_GET_INFO( get_philko_bg_tile_info )
109TILE_GET_INFO_MEMBER(sidearms_state::get_philko_bg_tile_info)
111110{
112   sidearms_state *state = machine.driver_data<sidearms_state>();
113111   int code, attr, color, flags;
114112
115   code = state->m_tilerom[tile_index];
116   attr = state->m_tilerom[tile_index + 1];
113   code = m_tilerom[tile_index];
114   attr = m_tilerom[tile_index + 1];
117115   code |= (((attr>>6 & 0x02) | (attr & 0x01)) * 0x100);
118116   color = attr>>3 & 0x0f;
119117   flags = attr>>1 & 0x03;
120118
121   SET_TILE_INFO(1, code, color, flags);
119   SET_TILE_INFO_MEMBER(1, code, color, flags);
122120}
123121
124static TILE_GET_INFO( get_fg_tile_info )
122TILE_GET_INFO_MEMBER(sidearms_state::get_fg_tile_info)
125123{
126   sidearms_state *state = machine.driver_data<sidearms_state>();
127   int attr = state->m_colorram[tile_index];
128   int code = state->m_videoram[tile_index] + (attr<<2 & 0x300);
124   int attr = m_colorram[tile_index];
125   int code = m_videoram[tile_index] + (attr<<2 & 0x300);
129126   int color = attr & 0x3f;
130127
131   SET_TILE_INFO(0, code, color, 0);
128   SET_TILE_INFO_MEMBER(0, code, color, 0);
132129}
133130
134static TILEMAP_MAPPER( sidearms_tilemap_scan )
131TILEMAP_MAPPER_MEMBER(sidearms_state::sidearms_tilemap_scan)
135132{
136133   /* logical (col,row) -> memory offset */
137134   int offset = ((row << 7) + col) << 1;
r17673r17674
147144
148145   if (!state->m_gameid)
149146   {
150      state->m_bg_tilemap = tilemap_create(machine, get_sidearms_bg_tile_info, sidearms_tilemap_scan,
147      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),
151148          32, 32, 128, 128);
152149
153150      state->m_bg_tilemap->set_transparent_pen(15);
154151   }
155152   else
156153   {
157      state->m_bg_tilemap = tilemap_create(machine, get_philko_bg_tile_info, sidearms_tilemap_scan, 32, 32, 128, 128);
154      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);
158155   }
159156
160   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,
157   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sidearms_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,
161158       8, 8, 64, 64);
162159
163160   state->m_fg_tilemap->set_transparent_pen(3);
trunk/src/mame/video/djboy.c
r17673r17674
1717   m_scrolly = data;
1818}
1919
20static TILE_GET_INFO( get_bg_tile_info )
20TILE_GET_INFO_MEMBER(djboy_state::get_bg_tile_info)
2121{
22   djboy_state *state = machine.driver_data<djboy_state>();
23   UINT8 attr = state->m_videoram[tile_index + 0x800];
24   int code = state->m_videoram[tile_index] + (attr & 0xf) * 256;
22   UINT8 attr = m_videoram[tile_index + 0x800];
23   int code = m_videoram[tile_index] + (attr & 0xf) * 256;
2524   int color = attr >> 4;
2625
2726   if (color & 8)
2827      code |= 0x1000;
2928
30   SET_TILE_INFO(1, code, color, 0);   /* no flip */
29   SET_TILE_INFO_MEMBER(1, code, color, 0);   /* no flip */
3130}
3231
3332WRITE8_MEMBER(djboy_state::djboy_videoram_w)
r17673r17674
4039VIDEO_START( djboy )
4140{
4241   djboy_state *state = machine.driver_data<djboy_state>();
43   state->m_background = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
42   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);
4443}
4544
4645WRITE8_MEMBER(djboy_state::djboy_paletteram_w)
trunk/src/mame/video/jack.c
r17673r17674
3939   flip_screen_set(offset);
4040}
4141
42static TILE_GET_INFO( get_bg_tile_info )
42TILE_GET_INFO_MEMBER(jack_state::get_bg_tile_info)
4343{
44   jack_state *state = machine.driver_data<jack_state>();
45   int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 0x18) << 5);
46   int color = state->m_colorram[tile_index] & 0x07;
44   int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x18) << 5);
45   int color = m_colorram[tile_index] & 0x07;
4746
48   // striv: state->m_colorram[tile_index] & 0x80 ???
47   // striv: m_colorram[tile_index] & 0x80 ???
4948
50   SET_TILE_INFO(0, code, color, 0);
49   SET_TILE_INFO_MEMBER(0, code, color, 0);
5150}
5251
53static TILEMAP_MAPPER( tilemap_scan_cols_flipy )
52TILEMAP_MAPPER_MEMBER(jack_state::tilemap_scan_cols_flipy)
5453{
5554   /* logical (col,row) -> memory offset */
5655   return (col * num_rows) + (num_rows - 1 - row);
r17673r17674
5958VIDEO_START( jack )
6059{
6160   jack_state *state = machine.driver_data<jack_state>();
62   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_cols_flipy, 8, 8, 32, 32);
61   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);
6362}
6463
6564static void jack_draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
r17673r17674
133132   }
134133}
135134
136static TILE_GET_INFO( joinem_get_bg_tile_info )
135TILE_GET_INFO_MEMBER(jack_state::joinem_get_bg_tile_info)
137136{
138   jack_state *state = machine.driver_data<jack_state>();
139   int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 0x03) << 8);
140   int color = (state->m_colorram[tile_index] & 0x38) >> 3;
137   int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x03) << 8);
138   int color = (m_colorram[tile_index] & 0x38) >> 3;
141139
142   SET_TILE_INFO(0, code, color, 0);
140   SET_TILE_INFO_MEMBER(0, code, color, 0);
143141}
144142
145143VIDEO_START( joinem )
146144{
147145   jack_state *state = machine.driver_data<jack_state>();
148   state->m_bg_tilemap = tilemap_create(machine, joinem_get_bg_tile_info, tilemap_scan_cols_flipy, 8, 8, 32, 32);
146   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);
149147}
150148
151149static void joinem_draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
trunk/src/mame/video/dogfgt.c
r17673r17674
4949
5050***************************************************************************/
5151
52static TILE_GET_INFO( get_tile_info )
52TILE_GET_INFO_MEMBER(dogfgt_state::get_tile_info)
5353{
54   dogfgt_state *state = machine.driver_data<dogfgt_state>();
55   SET_TILE_INFO(
54   SET_TILE_INFO_MEMBER(
5655         0,
57         state->m_bgvideoram[tile_index],
58         state->m_bgvideoram[tile_index + 0x400] & 0x03,
56         m_bgvideoram[tile_index],
57         m_bgvideoram[tile_index + 0x400] & 0x03,
5958         0);
6059}
6160
r17673r17674
6968VIDEO_START( dogfgt )
7069{
7170   dogfgt_state *state = machine.driver_data<dogfgt_state>();
72   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
71   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);
7372
7473   state->m_bitmapram = auto_alloc_array(machine, UINT8, BITMAPRAM_SIZE);
7574   state->save_pointer(NAME(state->m_bitmapram), BITMAPRAM_SIZE);
trunk/src/mame/video/kingobox.c
r17673r17674
174174   }
175175}
176176
177static TILE_GET_INFO( get_bg_tile_info )
177TILE_GET_INFO_MEMBER(kingofb_state::get_bg_tile_info)
178178{
179   kingofb_state *state = machine.driver_data<kingofb_state>();
180   int attr = state->m_colorram[tile_index];
179   int attr = m_colorram[tile_index];
181180   int bank = ((attr & 0x04) >> 2) + 2;
182   int code = (tile_index / 16) ? state->m_videoram[tile_index] + ((attr & 0x03) << 8) : 0;
183   int color = ((attr & 0x70) >> 4) + 8 * state->m_palette_bank;
181   int code = (tile_index / 16) ? m_videoram[tile_index] + ((attr & 0x03) << 8) : 0;
182   int color = ((attr & 0x70) >> 4) + 8 * m_palette_bank;
184183
185   SET_TILE_INFO(bank, code, color, 0);
184   SET_TILE_INFO_MEMBER(bank, code, color, 0);
186185}
187186
188static TILE_GET_INFO( get_fg_tile_info )
187TILE_GET_INFO_MEMBER(kingofb_state::get_fg_tile_info)
189188{
190   kingofb_state *state = machine.driver_data<kingofb_state>();
191   int attr = state->m_colorram2[tile_index];
189   int attr = m_colorram2[tile_index];
192190   int bank = (attr & 0x02) >> 1;
193   int code = state->m_videoram2[tile_index] + ((attr & 0x01) << 8);
191   int code = m_videoram2[tile_index] + ((attr & 0x01) << 8);
194192   int color = (attr & 0x38) >> 3;
195193
196   SET_TILE_INFO(bank, code, color, 0);
194   SET_TILE_INFO_MEMBER(bank, code, color, 0);
197195}
198196
199197VIDEO_START( kingofb )
200198{
201199   kingofb_state *state = machine.driver_data<kingofb_state>();
202   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS_FLIP_Y, 16, 16, 16, 16);
203   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS_FLIP_Y,  8,  8, 32, 32);
200   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);
201   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);
204202
205203   state->m_fg_tilemap->set_transparent_pen(0);
206204}
r17673r17674
256254
257255/* Ring King */
258256
259static TILE_GET_INFO( ringking_get_bg_tile_info )
257TILE_GET_INFO_MEMBER(kingofb_state::ringking_get_bg_tile_info)
260258{
261   kingofb_state *state = machine.driver_data<kingofb_state>();
262   int code = (tile_index / 16) ? state->m_videoram[tile_index] : 0;
263   int color = ((state->m_colorram[tile_index] & 0x70) >> 4) + 8 * state->m_palette_bank;
259   int code = (tile_index / 16) ? m_videoram[tile_index] : 0;
260   int color = ((m_colorram[tile_index] & 0x70) >> 4) + 8 * m_palette_bank;
264261
265   SET_TILE_INFO(4, code, color, 0);
262   SET_TILE_INFO_MEMBER(4, code, color, 0);
266263}
267264
268265VIDEO_START( ringking )
269266{
270267   kingofb_state *state = machine.driver_data<kingofb_state>();
271   state->m_bg_tilemap = tilemap_create(machine, ringking_get_bg_tile_info, TILEMAP_SCAN_COLS_FLIP_Y, 16, 16, 16, 16);
272   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS_FLIP_Y, 8, 8, 32, 32);
268   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);
269   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);
273270
274271   state->m_fg_tilemap->set_transparent_pen(0);
275272}
trunk/src/mame/video/galivan.c
r17673r17674
120120
121121***************************************************************************/
122122
123static TILE_GET_INFO( get_bg_tile_info )
123TILE_GET_INFO_MEMBER(galivan_state::get_bg_tile_info)
124124{
125   UINT8 *BGROM = machine.root_device().memregion("gfx4")->base();
125   UINT8 *BGROM = machine().root_device().memregion("gfx4")->base();
126126   int attr = BGROM[tile_index + 0x4000];
127127   int code = BGROM[tile_index] | ((attr & 0x03) << 8);
128   SET_TILE_INFO(
128   SET_TILE_INFO_MEMBER(
129129         1,
130130         code,
131131         (attr & 0x78) >> 3,      /* seems correct */
132132         0);
133133}
134134
135static TILE_GET_INFO( get_tx_tile_info )
135TILE_GET_INFO_MEMBER(galivan_state::get_tx_tile_info)
136136{
137   galivan_state *state = machine.driver_data<galivan_state>();
138   int attr = state->m_videoram[tile_index + 0x400];
139   int code = state->m_videoram[tile_index] | ((attr & 0x01) << 8);
140   SET_TILE_INFO(
137   int attr = m_videoram[tile_index + 0x400];
138   int code = m_videoram[tile_index] | ((attr & 0x01) << 8);
139   SET_TILE_INFO_MEMBER(
141140         0,
142141         code,
143142         (attr & 0xe0) >> 5,      /* not sure */
r17673r17674
145144   tileinfo.category = attr & 8 ? 0 : 1;   /* seems correct */
146145}
147146
148static TILE_GET_INFO( ninjemak_get_bg_tile_info )
147TILE_GET_INFO_MEMBER(galivan_state::ninjemak_get_bg_tile_info)
149148{
150   UINT8 *BGROM = machine.root_device().memregion("gfx4")->base();
149   UINT8 *BGROM = machine().root_device().memregion("gfx4")->base();
151150   int attr = BGROM[tile_index + 0x4000];
152151   int code = BGROM[tile_index] | ((attr & 0x03) << 8);
153   SET_TILE_INFO(
152   SET_TILE_INFO_MEMBER(
154153         1,
155154         code,
156155         ((attr & 0x60) >> 3) | ((attr & 0x0c) >> 2),   /* seems correct */
157156         0);
158157}
159158
160static TILE_GET_INFO( ninjemak_get_tx_tile_info )
159TILE_GET_INFO_MEMBER(galivan_state::ninjemak_get_tx_tile_info)
161160{
162   galivan_state *state = machine.driver_data<galivan_state>();
163   int attr = state->m_videoram[tile_index + 0x400];
164   int code = state->m_videoram[tile_index] | ((attr & 0x03) << 8);
161   int attr = m_videoram[tile_index + 0x400];
162   int code = m_videoram[tile_index] | ((attr & 0x03) << 8);
165163
166164   if(tile_index < 0x12) /* don't draw the NB1414M4 params! TODO: could be a better fix */
167165      code = attr = 0x01;
168166
169   SET_TILE_INFO(
167   SET_TILE_INFO_MEMBER(
170168         0,
171169         code,
172170         (attr & 0x1c) >> 2,      /* seems correct ? */
r17673r17674
185183{
186184   galivan_state *state = machine.driver_data<galivan_state>();
187185
188   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 128, 128);
189   state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
186   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);
187   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);
190188
191189   state->m_tx_tilemap->set_transparent_pen(15);
192190}
r17673r17674
195193{
196194   galivan_state *state = machine.driver_data<galivan_state>();
197195
198   state->m_bg_tilemap = tilemap_create(machine, ninjemak_get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 512, 32);
199   state->m_tx_tilemap = tilemap_create(machine, ninjemak_get_tx_tile_info, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
196   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);
197   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);
200198
201199   state->m_tx_tilemap->set_transparent_pen(15);
202200}
trunk/src/mame/video/tsamurai.c
r17673r17674
1212
1313***************************************************************************/
1414
15static TILE_GET_INFO( get_bg_tile_info )
15TILE_GET_INFO_MEMBER(tsamurai_state::get_bg_tile_info)
1616{
17   tsamurai_state *state = machine.driver_data<tsamurai_state>();
18   UINT8 attributes = state->m_bg_videoram[2*tile_index+1];
19   int tile_number = state->m_bg_videoram[2*tile_index];
17   UINT8 attributes = m_bg_videoram[2*tile_index+1];
18   int tile_number = m_bg_videoram[2*tile_index];
2019   tile_number += (( attributes & 0xc0 ) >> 6 ) * 256;    /* legacy */
2120   tile_number += (( attributes & 0x20 ) >> 5 ) * 1024; /* Mission 660 add-on*/
22   SET_TILE_INFO(
21   SET_TILE_INFO_MEMBER(
2322         0,
2423         tile_number,
2524         attributes & 0x1f,
2625         0);
2726}
2827
29static TILE_GET_INFO( get_fg_tile_info )
28TILE_GET_INFO_MEMBER(tsamurai_state::get_fg_tile_info)
3029{
31   tsamurai_state *state = machine.driver_data<tsamurai_state>();
32   int tile_number = state->m_videoram[tile_index];
33   if (state->m_textbank1 & 0x01) tile_number += 256; /* legacy */
34   if (state->m_textbank2 & 0x01) tile_number += 512; /* Mission 660 add-on */
35   SET_TILE_INFO(
30   int tile_number = m_videoram[tile_index];
31   if (m_textbank1 & 0x01) tile_number += 256; /* legacy */
32   if (m_textbank2 & 0x01) tile_number += 512; /* Mission 660 add-on */
33   SET_TILE_INFO_MEMBER(
3634         1,
3735         tile_number,
38         state->m_colorram[((tile_index&0x1f)*2)+1] & 0x1f,
36         m_colorram[((tile_index&0x1f)*2)+1] & 0x1f,
3937         0);
4038}
4139
r17673r17674
4947VIDEO_START( tsamurai )
5048{
5149   tsamurai_state *state = machine.driver_data<tsamurai_state>();
52   state->m_background = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
53   state->m_foreground = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
50   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);
51   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);
5452
5553   state->m_background->set_transparent_pen(0);
5654   state->m_foreground->set_transparent_pen(0);
r17673r17674
234232}
235233
236234
237static TILE_GET_INFO( get_vsgongf_tile_info )
235TILE_GET_INFO_MEMBER(tsamurai_state::get_vsgongf_tile_info)
238236{
239   tsamurai_state *state = machine.driver_data<tsamurai_state>();
240   int tile_number = state->m_videoram[tile_index];
241   int color = state->m_vsgongf_color&0x1f;
242   if( state->m_textbank1 ) tile_number += 0x100;
243   SET_TILE_INFO(
237   int tile_number = m_videoram[tile_index];
238   int color = m_vsgongf_color&0x1f;
239   if( m_textbank1 ) tile_number += 0x100;
240   SET_TILE_INFO_MEMBER(
244241         1,
245242         tile_number,
246243         color,
r17673r17674
250247VIDEO_START( vsgongf )
251248{
252249   tsamurai_state *state = machine.driver_data<tsamurai_state>();
253   state->m_foreground = tilemap_create(machine, get_vsgongf_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
250   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);
254251}
255252
256253SCREEN_UPDATE_IND16( vsgongf )
trunk/src/mame/video/canyon.c
r17673r17674
1515}
1616
1717
18static TILE_GET_INFO( get_bg_tile_info )
18TILE_GET_INFO_MEMBER(canyon_state::get_bg_tile_info)
1919{
20   canyon_state *state = machine.driver_data<canyon_state>();
21   UINT8 code = state->m_videoram[tile_index];
20   UINT8 code = m_videoram[tile_index];
2221
23   SET_TILE_INFO(0, code & 0x3f, code >> 7, 0);
22   SET_TILE_INFO_MEMBER(0, code & 0x3f, code >> 7, 0);
2423}
2524
2625
r17673r17674
2827{
2928   canyon_state *state = machine.driver_data<canyon_state>();
3029
31   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
30   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);
3231}
3332
3433
trunk/src/mame/video/splash.c
r17673r17674
3838      0  | xxxx---- -------- | color
3939*/
4040
41static TILE_GET_INFO( get_tile_info_splash_tilemap0 )
41TILE_GET_INFO_MEMBER(splash_state::get_tile_info_splash_tilemap0)
4242{
43   splash_state *state = machine.driver_data<splash_state>();
44   int data = state->m_videoram[tile_index];
43   int data = m_videoram[tile_index];
4544   int attr = data >> 8;
4645   int code = data & 0xff;
4746
48   SET_TILE_INFO(
47   SET_TILE_INFO_MEMBER(
4948         0,
5049         code + ((0x20 + (attr & 0x0f)) << 8),
5150         (attr & 0xf0) >> 4,
5251         0);
5352}
5453
55static TILE_GET_INFO( get_tile_info_splash_tilemap1 )
54TILE_GET_INFO_MEMBER(splash_state::get_tile_info_splash_tilemap1)
5655{
57   splash_state *state = machine.driver_data<splash_state>();
58   int data = state->m_videoram[(0x1000/2) + tile_index];
56   int data = m_videoram[(0x1000/2) + tile_index];
5957   int attr = data >> 8;
6058   int code = data & 0xff;
6159
62   SET_TILE_INFO(
60   SET_TILE_INFO_MEMBER(
6361         1,
6462         (code >> 2) + ((0x30 + (attr & 0x0f)) << 6),
6563         (attr & 0xf0) >> 4,
r17673r17674
171169{
172170   splash_state *state = machine.driver_data<splash_state>();
173171
174   state->m_bg_tilemap[0] = tilemap_create(machine, get_tile_info_splash_tilemap0, TILEMAP_SCAN_ROWS,  8,  8, 64, 32);
175   state->m_bg_tilemap[1] = tilemap_create(machine, get_tile_info_splash_tilemap1, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
172   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);
173   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);
176174
177175   state->m_bg_tilemap[0]->set_transparent_pen(0);
178176   state->m_bg_tilemap[1]->set_transparent_pen(0);
trunk/src/mame/video/f1gp.c
r17673r17674
1212
1313***************************************************************************/
1414
15static TILE_GET_INFO( f1gp_get_roz_tile_info )
15TILE_GET_INFO_MEMBER(f1gp_state::f1gp_get_roz_tile_info)
1616{
17   f1gp_state *state = machine.driver_data<f1gp_state>();
18   int code = state->m_rozvideoram[tile_index];
17   int code = m_rozvideoram[tile_index];
1918
20   SET_TILE_INFO(3, code & 0x7ff, code >> 12, 0);
19   SET_TILE_INFO_MEMBER(3, code & 0x7ff, code >> 12, 0);
2120}
2221
23static TILE_GET_INFO( f1gp2_get_roz_tile_info )
22TILE_GET_INFO_MEMBER(f1gp_state::f1gp2_get_roz_tile_info)
2423{
25   f1gp_state *state = machine.driver_data<f1gp_state>();
26   int code = state->m_rozvideoram[tile_index];
24   int code = m_rozvideoram[tile_index];
2725
28   SET_TILE_INFO(2, (code & 0x7ff) + (state->m_roz_bank << 11), code >> 12, 0);
26   SET_TILE_INFO_MEMBER(2, (code & 0x7ff) + (m_roz_bank << 11), code >> 12, 0);
2927}
3028
31static TILE_GET_INFO( get_fg_tile_info )
29TILE_GET_INFO_MEMBER(f1gp_state::get_fg_tile_info)
3230{
33   f1gp_state *state = machine.driver_data<f1gp_state>();
34   int code = state->m_fgvideoram[tile_index];
31   int code = m_fgvideoram[tile_index];
3532
36   SET_TILE_INFO(0, code & 0x7fff, 0, (code & 0x8000) ? TILE_FLIPY : 0);
33   SET_TILE_INFO_MEMBER(0, code & 0x7fff, 0, (code & 0x8000) ? TILE_FLIPY : 0);
3734}
3835
3936
r17673r17674
4744{
4845   f1gp_state *state = machine.driver_data<f1gp_state>();
4946
50   state->m_roz_tilemap = tilemap_create(machine, f1gp_get_roz_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
51   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
47   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);
48   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);
5249
5350   state->m_fg_tilemap->set_transparent_pen(0xff);
5451
r17673r17674
6360{
6461   f1gp_state *state = machine.driver_data<f1gp_state>();
6562
66   state->m_roz_tilemap = tilemap_create(machine, f1gp_get_roz_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
67   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
63   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);
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);
6865
6966   state->m_fg_tilemap->set_transparent_pen(0xff);
7067
r17673r17674
7875{
7976   f1gp_state *state = machine.driver_data<f1gp_state>();
8077
81   state->m_roz_tilemap = tilemap_create(machine, f1gp2_get_roz_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
82   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
78   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);
79   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);
8380
8481   state->m_fg_tilemap->set_transparent_pen(0xff);
8582   state->m_roz_tilemap->set_transparent_pen(0x0f);
trunk/src/mame/video/lvcards.c
r17673r17674
9494   m_bg_tilemap->mark_tile_dirty(offset);
9595}
9696
97static TILE_GET_INFO( get_bg_tile_info )
97TILE_GET_INFO_MEMBER(lvcards_state::get_bg_tile_info)
9898{
99   lvcards_state *state = machine.driver_data<lvcards_state>();
100   int attr = state->m_colorram[tile_index];
101   int code = state->m_videoram[tile_index] + ((attr & 0x30) << 4) + ((attr & 0x80) << 3);
99   int attr = m_colorram[tile_index];
100   int code = m_videoram[tile_index] + ((attr & 0x30) << 4) + ((attr & 0x80) << 3);
102101   int color = attr & 0x0f;
103102   int flags = (attr & 0x40) ? TILE_FLIPX : 0;
104103
105   SET_TILE_INFO(0, code, color, flags);
104   SET_TILE_INFO_MEMBER(0, code, color, flags);
106105}
107106
108107VIDEO_START( lvcards )
109108{
110109   lvcards_state *state = machine.driver_data<lvcards_state>();
111   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
110   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(lvcards_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
112111       8, 8, 32, 32);
113112}
114113
trunk/src/mame/video/tecmosys.c
r17673r17674
88#include "includes/tecmosys.h"
99
1010
11static TILE_GET_INFO( get_bg0tile_info )
11TILE_GET_INFO_MEMBER(tecmosys_state::get_bg0tile_info)
1212{
13   tecmosys_state *state = machine.driver_data<tecmosys_state>();
1413
15   SET_TILE_INFO(
14   SET_TILE_INFO_MEMBER(
1615         1,
17         state->m_bg0tilemap_ram[2*tile_index+1],
18         (state->m_bg0tilemap_ram[2*tile_index]&0x3f),
19         TILE_FLIPYX((state->m_bg0tilemap_ram[2*tile_index]&0xc0)>>6));
16         m_bg0tilemap_ram[2*tile_index+1],
17         (m_bg0tilemap_ram[2*tile_index]&0x3f),
18         TILE_FLIPYX((m_bg0tilemap_ram[2*tile_index]&0xc0)>>6));
2019}
2120
22static TILE_GET_INFO( get_bg1tile_info )
21TILE_GET_INFO_MEMBER(tecmosys_state::get_bg1tile_info)
2322{
24   tecmosys_state *state = machine.driver_data<tecmosys_state>();
2523
26   SET_TILE_INFO(
24   SET_TILE_INFO_MEMBER(
2725         2,
28         state->m_bg1tilemap_ram[2*tile_index+1],
29         (state->m_bg1tilemap_ram[2*tile_index]&0x3f),
30         TILE_FLIPYX((state->m_bg1tilemap_ram[2*tile_index]&0xc0)>>6));
26         m_bg1tilemap_ram[2*tile_index+1],
27         (m_bg1tilemap_ram[2*tile_index]&0x3f),
28         TILE_FLIPYX((m_bg1tilemap_ram[2*tile_index]&0xc0)>>6));
3129}
3230
33static TILE_GET_INFO( get_bg2tile_info )
31TILE_GET_INFO_MEMBER(tecmosys_state::get_bg2tile_info)
3432{
35   tecmosys_state *state = machine.driver_data<tecmosys_state>();
3633
37   SET_TILE_INFO(
34   SET_TILE_INFO_MEMBER(
3835         3,
39         state->m_bg2tilemap_ram[2*tile_index+1],
40         (state->m_bg2tilemap_ram[2*tile_index]&0x3f),
41         TILE_FLIPYX((state->m_bg2tilemap_ram[2*tile_index]&0xc0)>>6));
36         m_bg2tilemap_ram[2*tile_index+1],
37         (m_bg2tilemap_ram[2*tile_index]&0x3f),
38         TILE_FLIPYX((m_bg2tilemap_ram[2*tile_index]&0xc0)>>6));
4239}
4340
44static TILE_GET_INFO( get_fg_tile_info )
41TILE_GET_INFO_MEMBER(tecmosys_state::get_fg_tile_info)
4542{
46   tecmosys_state *state = machine.driver_data<tecmosys_state>();
4743
48   SET_TILE_INFO(
44   SET_TILE_INFO_MEMBER(
4945         0,
50         state->m_fgtilemap_ram[2*tile_index+1],
51         (state->m_fgtilemap_ram[2*tile_index]&0x3f),
52         TILE_FLIPYX((state->m_fgtilemap_ram[2*tile_index]&0xc0)>>6));
46         m_fgtilemap_ram[2*tile_index+1],
47         (m_fgtilemap_ram[2*tile_index]&0x3f),
48         TILE_FLIPYX((m_fgtilemap_ram[2*tile_index]&0xc0)>>6));
5349}
5450
5551
r17673r17674
345341   state->m_tmp_tilemap_renderbitmap.fill(0x0000);
346342
347343
348   state->m_txt_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,8,8,32*2,32*2);
344   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);
349345   state->m_txt_tilemap->set_transparent_pen(0);
350346
351   state->m_bg0tilemap = tilemap_create(machine, get_bg0tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
347   state->m_bg0tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmosys_state::get_bg0tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
352348   state->m_bg0tilemap->set_transparent_pen(0);
353349
354   state->m_bg1tilemap = tilemap_create(machine, get_bg1tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
350   state->m_bg1tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmosys_state::get_bg1tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
355351   state->m_bg1tilemap->set_transparent_pen(0);
356352
357   state->m_bg2tilemap = tilemap_create(machine, get_bg2tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
353   state->m_bg2tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tecmosys_state::get_bg2tile_info),state),TILEMAP_SCAN_ROWS,16,16,32,32);
358354   state->m_bg2tilemap->set_transparent_pen(0);
359355}
trunk/src/mame/video/snk6502.c
r17673r17674
156156}
157157
158158
159static TILE_GET_INFO( get_bg_tile_info )
159TILE_GET_INFO_MEMBER(snk6502_state::get_bg_tile_info)
160160{
161   snk6502_state *state = machine.driver_data<snk6502_state>();
162   int code = state->m_videoram[tile_index] + 256 * state->m_charbank;
163   int color = (state->m_colorram[tile_index] & 0x38) >> 3;
161   int code = m_videoram[tile_index] + 256 * m_charbank;
162   int color = (m_colorram[tile_index] & 0x38) >> 3;
164163
165   SET_TILE_INFO(1, code, color, 0);
164   SET_TILE_INFO_MEMBER(1, code, color, 0);
166165}
167166
168static TILE_GET_INFO( get_fg_tile_info )
167TILE_GET_INFO_MEMBER(snk6502_state::get_fg_tile_info)
169168{
170   snk6502_state *state = machine.driver_data<snk6502_state>();
171   int code = state->m_videoram2[tile_index];
172   int color = state->m_colorram[tile_index] & 0x07;
169   int code = m_videoram2[tile_index];
170   int color = m_colorram[tile_index] & 0x07;
173171
174   SET_TILE_INFO(0, code, color, 0);
172   SET_TILE_INFO_MEMBER(0, code, color, 0);
175173}
176174
177175VIDEO_START( snk6502 )
178176{
179177   snk6502_state *state = machine.driver_data<snk6502_state>();
180178
181   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
182   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
179   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);
180   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);
183181
184182   state->m_fg_tilemap->set_transparent_pen(0);
185183
r17673r17674
293291   }
294292}
295293
296static TILE_GET_INFO( satansat_get_bg_tile_info )
294TILE_GET_INFO_MEMBER(snk6502_state::satansat_get_bg_tile_info)
297295{
298   snk6502_state *state = machine.driver_data<snk6502_state>();
299   int code = state->m_videoram[tile_index];
300   int color = (state->m_colorram[tile_index] & 0x0c) >> 2;
296   int code = m_videoram[tile_index];
297   int color = (m_colorram[tile_index] & 0x0c) >> 2;
301298
302   SET_TILE_INFO(1, code, color, 0);
299   SET_TILE_INFO_MEMBER(1, code, color, 0);
303300}
304301
305static TILE_GET_INFO( satansat_get_fg_tile_info )
302TILE_GET_INFO_MEMBER(snk6502_state::satansat_get_fg_tile_info)
306303{
307   snk6502_state *state = machine.driver_data<snk6502_state>();
308   int code = state->m_videoram2[tile_index];
309   int color = state->m_colorram[tile_index] & 0x03;
304   int code = m_videoram2[tile_index];
305   int color = m_colorram[tile_index] & 0x03;
310306
311   SET_TILE_INFO(0, code, color, 0);
307   SET_TILE_INFO_MEMBER(0, code, color, 0);
312308}
313309
314310VIDEO_START( satansat )
315311{
316312   snk6502_state *state = machine.driver_data<snk6502_state>();
317313
318   state->m_bg_tilemap = tilemap_create(machine, satansat_get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
319   state->m_fg_tilemap = tilemap_create(machine, satansat_get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
314   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);
315   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);
320316
321317   state->m_fg_tilemap->set_transparent_pen(0);
322318
trunk/src/mame/video/pingpong.c
r17673r17674
9595   m_bg_tilemap->mark_tile_dirty(offset);
9696}
9797
98static TILE_GET_INFO( get_bg_tile_info )
98TILE_GET_INFO_MEMBER(pingpong_state::get_bg_tile_info)
9999{
100   pingpong_state *state = machine.driver_data<pingpong_state>();
101   int attr = state->m_colorram[tile_index];
102   int code = state->m_videoram[tile_index] + ((attr & 0x20) << 3);
100   int attr = m_colorram[tile_index];
101   int code = m_videoram[tile_index] + ((attr & 0x20) << 3);
103102   int color = attr & 0x1f;
104103   int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);
105104
106   SET_TILE_INFO(0, code, color, flags);
105   SET_TILE_INFO_MEMBER(0, code, color, flags);
107106}
108107
109108VIDEO_START( pingpong )
110109{
111110   pingpong_state *state = machine.driver_data<pingpong_state>();
112   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
111   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);
113112}
114113
115114static void draw_sprites(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
trunk/src/mame/video/ssrj.c
r17673r17674
1010   m_tilemap1->mark_tile_dirty(offset>>1);
1111}
1212
13static TILE_GET_INFO( get_tile_info1 )
13TILE_GET_INFO_MEMBER(ssrj_state::get_tile_info1)
1414{
15   ssrj_state *state = machine.driver_data<ssrj_state>();
1615   int code;
17   code = state->m_vram1[tile_index<<1] + (state->m_vram1[(tile_index<<1)+1]<<8);
18   SET_TILE_INFO(
16   code = m_vram1[tile_index<<1] + (m_vram1[(tile_index<<1)+1]<<8);
17   SET_TILE_INFO_MEMBER(
1918      0,
2019      code&0x3ff,
2120      (code>>12)&0x3,
r17673r17674
3130   m_tilemap2->mark_tile_dirty(offset>>1);
3231}
3332
34static TILE_GET_INFO( get_tile_info2 )
33TILE_GET_INFO_MEMBER(ssrj_state::get_tile_info2)
3534{
36   ssrj_state *state = machine.driver_data<ssrj_state>();
3735   int code;
38   code = state->m_vram2[tile_index<<1] + (state->m_vram2[(tile_index<<1)+1]<<8);
39   SET_TILE_INFO(
36   code = m_vram2[tile_index<<1] + (m_vram2[(tile_index<<1)+1]<<8);
37   SET_TILE_INFO_MEMBER(
4038      0,
4139      code&0x3ff,
4240      ((code>>12)&0x3)+4,
r17673r17674
5250   m_tilemap4->mark_tile_dirty(offset>>1);
5351}
5452
55static TILE_GET_INFO( get_tile_info4 )
53TILE_GET_INFO_MEMBER(ssrj_state::get_tile_info4)
5654{
57   ssrj_state *state = machine.driver_data<ssrj_state>();
5855   int code;
59   code = state->m_vram4[tile_index<<1] + (state->m_vram4[(tile_index<<1)+1]<<8);
60   SET_TILE_INFO(
56   code = m_vram4[tile_index<<1] + (m_vram4[(tile_index<<1)+1]<<8);
57   SET_TILE_INFO_MEMBER(
6158      0,
6259      code&0x3ff,
6360      ((code>>12)&0x3)+12,
r17673r17674
223220{
224221   ssrj_state *state = machine.driver_data<ssrj_state>();
225222
226   state->m_tilemap1 = tilemap_create(machine, get_tile_info1, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
227   state->m_tilemap2 = tilemap_create(machine, get_tile_info2, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
228   state->m_tilemap4 = tilemap_create(machine, get_tile_info4, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
223   state->m_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ssrj_state::get_tile_info1),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
224   state->m_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ssrj_state::get_tile_info2),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
225   state->m_tilemap4 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ssrj_state::get_tile_info4),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
229226   state->m_tilemap2->set_transparent_pen(0);
230227   state->m_tilemap4->set_transparent_pen(0);
231228
trunk/src/mame/video/blstroid.c
r17673r17674
1717 *
1818 *************************************/
1919
20static TILE_GET_INFO( get_playfield_tile_info )
20TILE_GET_INFO_MEMBER(blstroid_state::get_playfield_tile_info)
2121{
22   blstroid_state *state = machine.driver_data<blstroid_state>();
23   UINT16 data = state->m_playfield[tile_index];
22   UINT16 data = m_playfield[tile_index];
2423   int code = data & 0x1fff;
2524   int color = (data >> 13) & 0x07;
26   SET_TILE_INFO(0, code, color, 0);
25   SET_TILE_INFO_MEMBER(0, code, color, 0);
2726}
2827
2928
r17673r17674
7574   blstroid_state *state = machine.driver_data<blstroid_state>();
7675
7776   /* initialize the playfield */
78   state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_ROWS,  16,8, 64,64);
77   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);
7978
8079   /* initialize the motion objects */
8180   atarimo_init(machine, 0, &modesc);
trunk/src/mame/video/gotya.c
r17673r17674
9090   }
9191}
9292
93static TILE_GET_INFO( get_bg_tile_info )
93TILE_GET_INFO_MEMBER(gotya_state::get_bg_tile_info)
9494{
95   gotya_state *state = machine.driver_data<gotya_state>();
96   int code = state->m_videoram[tile_index];
97   int color = state->m_colorram[tile_index] & 0x0f;
95   int code = m_videoram[tile_index];
96   int color = m_colorram[tile_index] & 0x0f;
9897
99   SET_TILE_INFO(0, code, color, 0);
98   SET_TILE_INFO_MEMBER(0, code, color, 0);
10099}
101100
102static TILEMAP_MAPPER( tilemap_scan_rows_thehand )
101TILEMAP_MAPPER_MEMBER(gotya_state::tilemap_scan_rows_thehand)
103102{
104103   /* logical (col,row) -> memory offset */
105104   row = 31 - row;
r17673r17674
110109VIDEO_START( gotya )
111110{
112111   gotya_state *state = machine.driver_data<gotya_state>();
113   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, tilemap_scan_rows_thehand, 8, 8, 64, 32);
112   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);
114113}
115114
116115static void draw_status_row( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect, int sx, int col )
trunk/src/mame/video/tatsumi.c
r17673r17674
159159
160160/********************************************************************/
161161
162static TILE_GET_INFO( get_text_tile_info )
162TILE_GET_INFO_MEMBER(tatsumi_state::get_text_tile_info)
163163{
164   tatsumi_state *state = machine.driver_data<tatsumi_state>();
165   UINT16 *videoram = state->m_videoram;
164   UINT16 *videoram = m_videoram;
166165   int tile = videoram[tile_index];
167   SET_TILE_INFO(
166   SET_TILE_INFO_MEMBER(
168167         1,
169168         tile & 0xfff,
170169         tile >> 12,
171170         0);
172171}
173172
174static TILE_GET_INFO( get_tile_info_bigfight_0 )
173TILE_GET_INFO_MEMBER(tatsumi_state::get_tile_info_bigfight_0)
175174{
176   tatsumi_state *state = machine.driver_data<tatsumi_state>();
177   int tile=state->m_cyclwarr_videoram0[(tile_index+0x400)%0x8000];
178   int bank = (state->m_bigfight_a40000[0] >> (((tile&0xc00)>>10)*4))&0xf;
179   SET_TILE_INFO(1,(tile&0x3ff)+(bank<<10),(tile>>12)&0xf,0);
175   int tile=m_cyclwarr_videoram0[(tile_index+0x400)%0x8000];
176   int bank = (m_bigfight_a40000[0] >> (((tile&0xc00)>>10)*4))&0xf;
177   SET_TILE_INFO_MEMBER(1,(tile&0x3ff)+(bank<<10),(tile>>12)&0xf,0);
180178}
181179
182static TILE_GET_INFO( get_tile_info_bigfight_1 )
180TILE_GET_INFO_MEMBER(tatsumi_state::get_tile_info_bigfight_1)
183181{
184   tatsumi_state *state = machine.driver_data<tatsumi_state>();
185   int tile=state->m_cyclwarr_videoram1[(tile_index+0x400)%0x8000];
186   int bank = (state->m_bigfight_a40000[0] >> (((tile&0xc00)>>10)*4))&0xf;
187   SET_TILE_INFO(1,(tile&0x3ff)+(bank<<10),(tile>>12)&0xf,0);
182   int tile=m_cyclwarr_videoram1[(tile_index+0x400)%0x8000];
183   int bank = (m_bigfight_a40000[0] >> (((tile&0xc00)>>10)*4))&0xf;
184   SET_TILE_INFO_MEMBER(1,(tile&0x3ff)+(bank<<10),(tile>>12)&0xf,0);
188185}
189186
190187/********************************************************************/
r17673r17674
192189VIDEO_START( apache3 )
193190{
194191   tatsumi_state *state = machine.driver_data<tatsumi_state>();
195   state->m_tx_layer = tilemap_create(machine, get_text_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
192   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);
196193   state->m_shadow_pen_array = auto_alloc_array_clear(machine, UINT8, 8192);
197194   state->m_temp_bitmap.allocate(512, 512);
198195   state->m_apache3_road_x_ram = auto_alloc_array(machine, UINT8, 512);
r17673r17674
203200VIDEO_START( roundup5 )
204201{
205202   tatsumi_state *state = machine.driver_data<tatsumi_state>();
206   state->m_tx_layer = tilemap_create(machine, get_text_tile_info,TILEMAP_SCAN_ROWS,8,8,128,64);
203   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);
207204   state->m_shadow_pen_array = auto_alloc_array_clear(machine, UINT8, 8192);
208205   state->m_roundup5_vram = auto_alloc_array(machine, UINT16, (0x48000 * 4)/2);
209206
r17673r17674
215212VIDEO_START( cyclwarr )
216213{
217214   tatsumi_state *state = machine.driver_data<tatsumi_state>();
218   state->m_layer0 = tilemap_create(machine, get_tile_info_bigfight_0,TILEMAP_SCAN_ROWS,8,8,64,512);
219   //state->m_layer1 = tilemap_create(machine, get_tile_info_bigfight_0,TILEMAP_SCAN_ROWS,8,8,64,512);
220   state->m_layer1 = tilemap_create(machine, get_tile_info_bigfight_0,TILEMAP_SCAN_ROWS,8,8,128,256);
221   state->m_layer2 = tilemap_create(machine, get_tile_info_bigfight_1,TILEMAP_SCAN_ROWS,8,8,64,512);
222   state->m_layer3 = tilemap_create(machine, get_tile_info_bigfight_1,TILEMAP_SCAN_ROWS,8,8,64,512);
215   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);
216   //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);
217   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);
218   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);
219   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);
223220
224221   state->m_shadow_pen_array = auto_alloc_array_clear(machine, UINT8, 8192);
225222}
r17673r17674
227224VIDEO_START( bigfight )
228225{
229226   tatsumi_state *state = machine.driver_data<tatsumi_state>();
230   state->m_layer0 = tilemap_create(machine, get_tile_info_bigfight_0,TILEMAP_SCAN_ROWS,8,8,128,256);
231   state->m_layer1 = tilemap_create(machine, get_tile_info_bigfight_0,TILEMAP_SCAN_ROWS,8,8,128,256);
232   state->m_layer2 = tilemap_create(machine, get_tile_info_bigfight_1,TILEMAP_SCAN_ROWS,8,8,128,256);
233   state->m_layer3 = tilemap_create(machine, get_tile_info_bigfight_1,TILEMAP_SCAN_ROWS,8,8,128,256);
227   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);
228   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);
229   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);
230   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);
234231
235232   state->m_shadow_pen_array = auto_alloc_array_clear(machine, UINT8, 8192);
236233}
trunk/src/mame/video/blmbycar.c
r17673r17674
7070#define DIM_NX      (0x40)
7171#define DIM_NY      (0x20)
7272
73static TILE_GET_INFO( get_tile_info_0 )
73TILE_GET_INFO_MEMBER(blmbycar_state::get_tile_info_0)
7474{
75   blmbycar_state *state = machine.driver_data<blmbycar_state>();
76   UINT16 code = state->m_vram_0[tile_index * 2 + 0];
77   UINT16 attr = state->m_vram_0[tile_index * 2 + 1];
78   SET_TILE_INFO(
75   UINT16 code = m_vram_0[tile_index * 2 + 0];
76   UINT16 attr = m_vram_0[tile_index * 2 + 1];
77   SET_TILE_INFO_MEMBER(
7978         0,
8079         code,
8180         attr & 0x1f,
r17673r17674
8483   tileinfo.category = (attr >> 5) & 1;
8584}
8685
87static TILE_GET_INFO( get_tile_info_1 )
86TILE_GET_INFO_MEMBER(blmbycar_state::get_tile_info_1)
8887{
89   blmbycar_state *state = machine.driver_data<blmbycar_state>();
90   UINT16 code = state->m_vram_1[tile_index * 2 + 0];
91   UINT16 attr = state->m_vram_1[tile_index * 2 + 1];
92   SET_TILE_INFO(
88   UINT16 code = m_vram_1[tile_index * 2 + 0];
89   UINT16 attr = m_vram_1[tile_index * 2 + 1];
90   SET_TILE_INFO_MEMBER(
9391         0,
9492         code,
9593         attr & 0x1f,
r17673r17674
124122{
125123   blmbycar_state *state = machine.driver_data<blmbycar_state>();
126124
127   state->m_tilemap_0 = tilemap_create(machine, get_tile_info_0, TILEMAP_SCAN_ROWS, 16, 16, DIM_NX, DIM_NY );
128   state->m_tilemap_1 = tilemap_create(machine, get_tile_info_1, TILEMAP_SCAN_ROWS, 16, 16, DIM_NX, DIM_NY );
125   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 );
126   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 );
129127
130128   state->m_tilemap_0->set_scroll_rows(1);
131129   state->m_tilemap_0->set_scroll_cols(1);
trunk/src/mame/video/retofinv.c
r17673r17674
6262***************************************************************************/
6363
6464/* convert from 32x32 to 36x28 */
65static TILEMAP_MAPPER( tilemap_scan )
65TILEMAP_MAPPER_MEMBER(retofinv_state::tilemap_scan)
6666{
6767   row += 2;
6868   col -= 2;
r17673r17674
7272      return (row << 5) + col;
7373}
7474
75static TILE_GET_INFO( bg_get_tile_info )
75TILE_GET_INFO_MEMBER(retofinv_state::bg_get_tile_info)
7676{
77   retofinv_state *state = machine.driver_data<retofinv_state>();
78   SET_TILE_INFO(
77   SET_TILE_INFO_MEMBER(
7978         2,
80         state->m_bg_videoram[tile_index] + 256 * state->m_bg_bank,
81         state->m_bg_videoram[0x400 + tile_index] & 0x3f,
79         m_bg_videoram[tile_index] + 256 * m_bg_bank,
80         m_bg_videoram[0x400 + tile_index] & 0x3f,
8281         0);
8382}
8483
85static TILE_GET_INFO( fg_get_tile_info )
84TILE_GET_INFO_MEMBER(retofinv_state::fg_get_tile_info)
8685{
87   retofinv_state *state = machine.driver_data<retofinv_state>();
88   int color = state->m_fg_videoram[0x400 + tile_index];
86   int color = m_fg_videoram[0x400 + tile_index];
8987
9088   tileinfo.group = color;
9189
92   SET_TILE_INFO(
90   SET_TILE_INFO_MEMBER(
9391         0,
94         state->m_fg_videoram[tile_index] + 256 * state->m_fg_bank,
92         m_fg_videoram[tile_index] + 256 * m_fg_bank,
9593         color,
9694         0);
9795}
r17673r17674
107105VIDEO_START( retofinv )
108106{
109107   retofinv_state *state = machine.driver_data<retofinv_state>();
110   state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info,tilemap_scan,8,8,36,28);
111   state->m_fg_tilemap = tilemap_create(machine, fg_get_tile_info,tilemap_scan,8,8,36,28);
108   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);
109   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);
112110
113111   colortable_configure_tilemap_groups(machine.colortable, state->m_fg_tilemap, machine.gfx[0], 0);
114112}
trunk/src/mame/video/meadows.c
r17673r17674
1818 *
1919 *************************************/
2020
21static TILE_GET_INFO( get_tile_info )
21TILE_GET_INFO_MEMBER(meadows_state::get_tile_info)
2222{
23   meadows_state *state = machine.driver_data<meadows_state>();
24   UINT8 *videoram = state->m_videoram;
25   SET_TILE_INFO(0, videoram[tile_index] & 0x7f, 0, 0);
23   UINT8 *videoram = m_videoram;
24   SET_TILE_INFO_MEMBER(0, videoram[tile_index] & 0x7f, 0, 0);
2625}
2726
2827
r17673r17674
3635VIDEO_START( meadows )
3736{
3837   meadows_state *state = machine.driver_data<meadows_state>();
39   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS,  8,8, 32,30);
38   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);
4039}
4140
4241
trunk/src/mame/video/bogeyman.c
r17673r17674
7070   paletteram_BBGGGRRR_byte_w(space, offset, ~data);
7171}
7272
73static TILE_GET_INFO( get_bg_tile_info )
73TILE_GET_INFO_MEMBER(bogeyman_state::get_bg_tile_info)
7474{
75   bogeyman_state *state = machine.driver_data<bogeyman_state>();
76   int attr = state->m_colorram[tile_index];
77   int gfxbank = ((((attr & 0x01) << 8) + state->m_videoram[tile_index]) / 0x80) + 3;
78   int code = state->m_videoram[tile_index] & 0x7f;
75   int attr = m_colorram[tile_index];
76   int gfxbank = ((((attr & 0x01) << 8) + m_videoram[tile_index]) / 0x80) + 3;
77   int code = m_videoram[tile_index] & 0x7f;
7978   int color = (attr >> 1) & 0x07;
8079
81   SET_TILE_INFO(gfxbank, code, color, 0);
80   SET_TILE_INFO_MEMBER(gfxbank, code, color, 0);
8281}
8382
84static TILE_GET_INFO( get_fg_tile_info )
83TILE_GET_INFO_MEMBER(bogeyman_state::get_fg_tile_info)
8584{
86   bogeyman_state *state = machine.driver_data<bogeyman_state>();
87   int attr = state->m_colorram2[tile_index];
88   int tile = state->m_videoram2[tile_index] | ((attr & 0x03) << 8);
85   int attr = m_colorram2[tile_index];
86   int tile = m_videoram2[tile_index] | ((attr & 0x03) << 8);
8987   int gfxbank = tile / 0x200;
9088   int code = tile & 0x1ff;
9189
92   SET_TILE_INFO(gfxbank, code, state->m_colbank, 0);
90   SET_TILE_INFO_MEMBER(gfxbank, code, m_colbank, 0);
9391}
9492
9593VIDEO_START( bogeyman )
9694{
9795   bogeyman_state *state = machine.driver_data<bogeyman_state>();
98   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
99   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
96   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);
97   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);
10098
10199   state->m_fg_tilemap->set_transparent_pen(0);
102100}
trunk/src/mame/video/m72.c
r17673r17674
5757}
5858
5959
60static TILE_GET_INFO( m72_get_bg_tile_info )
60TILE_GET_INFO_MEMBER(m72_state::m72_get_bg_tile_info)
6161{
62   m72_state *state = machine.driver_data<m72_state>();
63   m72_get_tile_info(machine,tileinfo,tile_index,state->m_videoram2,2);
62   m72_get_tile_info(machine(),tileinfo,tile_index,m_videoram2,2);
6463}
6564
66static TILE_GET_INFO( m72_get_fg_tile_info )
65TILE_GET_INFO_MEMBER(m72_state::m72_get_fg_tile_info)
6766{
68   m72_state *state = machine.driver_data<m72_state>();
69   m72_get_tile_info(machine,tileinfo,tile_index,state->m_videoram1,1);
67   m72_get_tile_info(machine(),tileinfo,tile_index,m_videoram1,1);
7068}
7169
72static TILE_GET_INFO( hharry_get_bg_tile_info )
70TILE_GET_INFO_MEMBER(m72_state::hharry_get_bg_tile_info)
7371{
74   m72_state *state = machine.driver_data<m72_state>();
75   m72_get_tile_info(machine,tileinfo,tile_index,state->m_videoram2,1);
72   m72_get_tile_info(machine(),tileinfo,tile_index,m_videoram2,1);
7673}
7774
78static TILE_GET_INFO( rtype2_get_bg_tile_info )
75TILE_GET_INFO_MEMBER(m72_state::rtype2_get_bg_tile_info)
7976{
80   m72_state *state = machine.driver_data<m72_state>();
81   rtype2_get_tile_info(machine,tileinfo,tile_index,state->m_videoram2,1);
77   rtype2_get_tile_info(machine(),tileinfo,tile_index,m_videoram2,1);
8278}
8379
84static TILE_GET_INFO( rtype2_get_fg_tile_info )
80TILE_GET_INFO_MEMBER(m72_state::rtype2_get_fg_tile_info)
8581{
86   m72_state *state = machine.driver_data<m72_state>();
87   rtype2_get_tile_info(machine,tileinfo,tile_index,state->m_videoram1,1);
82   rtype2_get_tile_info(machine(),tileinfo,tile_index,m_videoram1,1);
8883}
8984
9085
91static TILEMAP_MAPPER( majtitle_scan_rows )
86TILEMAP_MAPPER_MEMBER(m72_state::majtitle_scan_rows)
9287{
9388   /* logical (col,row) -> memory offset */
9489   return row*256 + col;
r17673r17674
117112VIDEO_START( m72 )
118113{
119114   m72_state *state = machine.driver_data<m72_state>();
120   state->m_bg_tilemap = tilemap_create(machine, m72_get_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
121   state->m_fg_tilemap = tilemap_create(machine, m72_get_fg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
115   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);
116   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);
122117
123118   state->m_buffered_spriteram = auto_alloc_array(machine, UINT16, state->m_spriteram.bytes()/2);
124119
r17673r17674
157152VIDEO_START( rtype2 )
158153{
159154   m72_state *state = machine.driver_data<m72_state>();
160   state->m_bg_tilemap = tilemap_create(machine, rtype2_get_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
161   state->m_fg_tilemap = tilemap_create(machine, rtype2_get_fg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
155   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);
156   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);
162157
163158   state->m_buffered_spriteram = auto_alloc_array(machine, UINT16, state->m_spriteram.bytes()/2);
164159
r17673r17674
205200   m72_state *state = machine.driver_data<m72_state>();
206201// The tilemap can be 256x64, but seems to be used at 128x64 (scroll wraparound).
207202// The layout ramains 256x64, the right half is just not displayed.
208//  state->m_bg_tilemap = tilemap_create(machine, rtype2_get_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,256,64);
209   state->m_bg_tilemap = tilemap_create(machine, rtype2_get_bg_tile_info,majtitle_scan_rows,8,8,128,64);
210   state->m_fg_tilemap = tilemap_create(machine, rtype2_get_fg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
203//  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);
204   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);
205   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);
211206
212207   state->m_buffered_spriteram = auto_alloc_array(machine, UINT16, state->m_spriteram.bytes()/2);
213208
r17673r17674
233228VIDEO_START( hharry )
234229{
235230   m72_state *state = machine.driver_data<m72_state>();
236   state->m_bg_tilemap = tilemap_create(machine, hharry_get_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
237   state->m_fg_tilemap = tilemap_create(machine, m72_get_fg_tile_info,   TILEMAP_SCAN_ROWS,8,8,64,64);
231   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);
232   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);
238233
239234   state->m_buffered_spriteram = auto_alloc_array(machine, UINT16, state->m_spriteram.bytes()/2);
240235
trunk/src/mame/video/ohmygod.c
r17673r17674
77
88***************************************************************************/
99
10static TILE_GET_INFO( get_tile_info )
10TILE_GET_INFO_MEMBER(ohmygod_state::get_tile_info)
1111{
12   ohmygod_state *state = machine.driver_data<ohmygod_state>();
13   UINT16 code = state->m_videoram[2 * tile_index + 1];
14   UINT16 attr = state->m_videoram[2 * tile_index];
15   SET_TILE_INFO(
12   UINT16 code = m_videoram[2 * tile_index + 1];
13   UINT16 attr = m_videoram[2 * tile_index];
14   SET_TILE_INFO_MEMBER(
1615         0,
1716         code,
1817         (attr & 0x0f00) >> 8,
r17673r17674
3029VIDEO_START( ohmygod )
3130{
3231   ohmygod_state *state = machine.driver_data<ohmygod_state>();
33   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
32   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);
3433}
3534
3635
trunk/src/mame/video/pokechmp.c
r17673r17674
2020   }
2121}
2222
23static TILE_GET_INFO( get_bg_tile_info )
23TILE_GET_INFO_MEMBER(pokechmp_state::get_bg_tile_info)
2424{
25   pokechmp_state *state = machine.driver_data<pokechmp_state>();
26   UINT8 *videoram = state->m_videoram;
25   UINT8 *videoram = m_videoram;
2726   int code = videoram[tile_index*2+1] + ((videoram[tile_index*2] & 0x3f) << 8);
2827   int color = videoram[tile_index*2] >> 6;
2928
30   SET_TILE_INFO(0, code, color, 0);
29   SET_TILE_INFO_MEMBER(0, code, color, 0);
3130}
3231
3332VIDEO_START( pokechmp )
3433{
3534   pokechmp_state *state = machine.driver_data<pokechmp_state>();
36   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
35   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pokechmp_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
3736       8, 8, 32, 32);
3837}
3938
trunk/src/mame/video/snk68.c
r17673r17674
2222
2323***************************************************************************/
2424
25static TILE_GET_INFO( get_pow_tile_info )
25TILE_GET_INFO_MEMBER(snk68_state::get_pow_tile_info)
2626{
27   snk68_state *state = machine.driver_data<snk68_state>();
28   int tile = state->m_fg_tile_offset + (state->m_pow_fg_videoram[2*tile_index] & 0xff);
29   int color = state->m_pow_fg_videoram[2*tile_index+1] & 0x07;
27   int tile = m_fg_tile_offset + (m_pow_fg_videoram[2*tile_index] & 0xff);
28   int color = m_pow_fg_videoram[2*tile_index+1] & 0x07;
3029
31   SET_TILE_INFO(0, tile, color, 0);
30   SET_TILE_INFO_MEMBER(0, tile, color, 0);
3231}
3332
34static TILE_GET_INFO( get_searchar_tile_info )
33TILE_GET_INFO_MEMBER(snk68_state::get_searchar_tile_info)
3534{
36   snk68_state *state = machine.driver_data<snk68_state>();
37   int data = state->m_pow_fg_videoram[2*tile_index];
35   int data = m_pow_fg_videoram[2*tile_index];
3836   int tile = data & 0x7ff;
3937   int color = (data & 0x7000) >> 12;
4038
4139   // used in the ikari3 intro
4240   int flags = (data & 0x8000) ? TILE_FORCE_LAYER0 : 0;
4341
44   SET_TILE_INFO(0, tile, color, flags);
42   SET_TILE_INFO_MEMBER(0, tile, color, flags);
4543}
4644
4745/***************************************************************************
r17673r17674
6462{
6563   snk68_state *state = machine.driver_data<snk68_state>();
6664
67   state->m_fg_tilemap = tilemap_create(machine, get_pow_tile_info, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
65   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);
6866   state->m_fg_tile_offset = 0;
6967
7068   common_video_start(machine);
r17673r17674
7472{
7573   snk68_state *state = machine.driver_data<snk68_state>();
7674
77   state->m_fg_tilemap = tilemap_create(machine, get_searchar_tile_info, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
75   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);
7876
7977   common_video_start(machine);
8078}
trunk/src/mame/video/aeroboto.c
r17673r17674
2121
2222***************************************************************************/
2323
24static TILE_GET_INFO( get_tile_info )
24TILE_GET_INFO_MEMBER(aeroboto_state::get_tile_info)
2525{
26   aeroboto_state *state = machine.driver_data<aeroboto_state>();
27   UINT8 code = state->m_videoram[tile_index];
28   SET_TILE_INFO(
26   UINT8 code = m_videoram[tile_index];
27   SET_TILE_INFO_MEMBER(
2928         0,
30         code + (state->m_charbank << 8),
31         state->m_tilecolor[code],
32         (state->m_tilecolor[code] >= 0x33) ? 0 : TILE_FORCE_LAYER0);
29         code + (m_charbank << 8),
30         m_tilecolor[code],
31         (m_tilecolor[code] >= 0x33) ? 0 : TILE_FORCE_LAYER0);
3332}
3433// transparency should only affect tiles with color 0x33 or higher
3534
r17673r17674
4443{
4544   aeroboto_state *state = machine.driver_data<aeroboto_state>();
4645
47   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 64);
46   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);
4847   state->m_bg_tilemap->set_transparent_pen(0);
4948   state->m_bg_tilemap->set_scroll_rows(64);
5049
trunk/src/mame/video/madalien.c
r17673r17674
7171}
7272
7373
74static TILEMAP_MAPPER( scan_mode0 )
74TILEMAP_MAPPER_MEMBER(madalien_state::scan_mode0)
7575{
7676   return scan_helper(col, row, 0);
7777}
78static TILEMAP_MAPPER( scan_mode1 )
78TILEMAP_MAPPER_MEMBER(madalien_state::scan_mode1)
7979{
8080   return scan_helper(col, row, 1);
8181}
82static TILEMAP_MAPPER( scan_mode2 )
82TILEMAP_MAPPER_MEMBER(madalien_state::scan_mode2)
8383{
8484   return scan_helper(col, row, BIT(col, 4) ? 1 : 0);
8585}
86static TILEMAP_MAPPER( scan_mode3 )
86TILEMAP_MAPPER_MEMBER(madalien_state::scan_mode3)
8787{
8888   return scan_helper(col, row, BIT(col, 4) ? 0 : 1);
8989}
9090
9191
92static TILE_GET_INFO( get_tile_info_BG_1 )
92TILE_GET_INFO_MEMBER(madalien_state::get_tile_info_BG_1)
9393{
94   madalien_state *state = machine.driver_data<madalien_state>();
95   UINT8 *map = state->memregion("user1")->base() + ((*state->m_video_flags & 0x08) << 6);
94   UINT8 *map = memregion("user1")->base() + ((*m_video_flags & 0x08) << 6);
9695
97   SET_TILE_INFO(1, map[tile_index], BIT(*state->m_video_flags, 2) ? 2 : 0, 0);
96   SET_TILE_INFO_MEMBER(1, map[tile_index], BIT(*m_video_flags, 2) ? 2 : 0, 0);
9897}
9998
10099
101static TILE_GET_INFO( get_tile_info_BG_2 )
100TILE_GET_INFO_MEMBER(madalien_state::get_tile_info_BG_2)
102101{
103   madalien_state *state = machine.driver_data<madalien_state>();
104   UINT8 *map = state->memregion("user1")->base() + ((*state->m_video_flags & 0x08) << 6) + 0x80;
102   UINT8 *map = memregion("user1")->base() + ((*m_video_flags & 0x08) << 6) + 0x80;
105103
106   SET_TILE_INFO(1, map[tile_index], BIT(*state->m_video_flags, 2) ? 2 : 0, 0);
104   SET_TILE_INFO_MEMBER(1, map[tile_index], BIT(*m_video_flags, 2) ? 2 : 0, 0);
107105}
108106
109107
110static TILE_GET_INFO( get_tile_info_FG )
108TILE_GET_INFO_MEMBER(madalien_state::get_tile_info_FG)
111109{
112   madalien_state *state = machine.driver_data<madalien_state>();
113   SET_TILE_INFO(0, state->m_videoram[tile_index], 0, 0);
110   SET_TILE_INFO_MEMBER(0, m_videoram[tile_index], 0, 0);
114111}
115112
116113WRITE8_MEMBER(madalien_state::madalien_videoram_w)
r17673r17674
125122   madalien_state *state = machine.driver_data<madalien_state>();
126123   int i;
127124
128   static const tilemap_mapper_func scan_functions[4] =
125   static const tilemap_mapper_delegate scan_functions[4] =
129126   {
130      scan_mode0, scan_mode1, scan_mode2, scan_mode3
127      tilemap_mapper_delegate(FUNC(madalien_state::scan_mode0),state),
128      tilemap_mapper_delegate(FUNC(madalien_state::scan_mode1),state),
129      tilemap_mapper_delegate(FUNC(madalien_state::scan_mode2),state),
130      tilemap_mapper_delegate(FUNC(madalien_state::scan_mode3),state)
131131   };
132132
133133   static const int tilemap_cols[4] =
r17673r17674
135135      16, 16, 32, 32
136136   };
137137
138   state->m_tilemap_fg = tilemap_create(machine, get_tile_info_FG, TILEMAP_SCAN_COLS_FLIP_X, 8, 8, 32, 32);
138   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);
139139   state->m_tilemap_fg->set_transparent_pen(0);
140140   state->m_tilemap_fg->set_scrolldx(0, 0x50);
141141   state->m_tilemap_fg->set_scrolldy(0, 0x20);
142142
143143   for (i = 0; i < 4; i++)
144144   {
145      state->m_tilemap_edge1[i] = tilemap_create(machine, get_tile_info_BG_1, scan_functions[i], 16, 16, tilemap_cols[i], 8);
145      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);
146146      state->m_tilemap_edge1[i]->set_scrolldx(0, 0x50);
147147      state->m_tilemap_edge1[i]->set_scrolldy(0, 0x20);
148148
149      state->m_tilemap_edge2[i] = tilemap_create(machine, get_tile_info_BG_2, scan_functions[i], 16, 16, tilemap_cols[i], 8);
149      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);
150150      state->m_tilemap_edge2[i]->set_scrolldx(0, 0x50);
151151      state->m_tilemap_edge2[i]->set_scrolldy(0, machine.primary_screen->height() - 256);
152152   }
trunk/src/mame/video/firetrap.c
r17673r17674
7272
7373***************************************************************************/
7474
75static TILEMAP_MAPPER( get_fg_memory_offset )
75TILEMAP_MAPPER_MEMBER(firetrap_state::get_fg_memory_offset)
7676{
7777   return (row ^ 0x1f) + (col << 5);
7878}
7979
80static TILEMAP_MAPPER( get_bg_memory_offset )
80TILEMAP_MAPPER_MEMBER(firetrap_state::get_bg_memory_offset)
8181{
8282   return ((row & 0x0f) ^ 0x0f) | ((col & 0x0f) << 4) |
8383         /* hole at bit 8 */
8484         ((row & 0x10) << 5) | ((col & 0x10) << 6);
8585}
8686
87static TILE_GET_INFO( get_fg_tile_info )
87TILE_GET_INFO_MEMBER(firetrap_state::get_fg_tile_info)
8888{
89   firetrap_state *state = machine.driver_data<firetrap_state>();
90   int code = state->m_fgvideoram[tile_index];
91   int color = state->m_fgvideoram[tile_index + 0x400];
92   SET_TILE_INFO(
89   int code = m_fgvideoram[tile_index];
90   int color = m_fgvideoram[tile_index + 0x400];
91   SET_TILE_INFO_MEMBER(
9392         0,
9493         code | ((color & 0x01) << 8),
9594         color >> 4,
r17673r17674
107106         TILE_FLIPXY((color & 0x0c) >> 2));
108107}
109108
110static TILE_GET_INFO( get_bg1_tile_info )
109TILE_GET_INFO_MEMBER(firetrap_state::get_bg1_tile_info)
111110{
112   firetrap_state *state = machine.driver_data<firetrap_state>();
113   get_bg_tile_info(machine, tileinfo, tile_index, state->m_bg1videoram, 1);
111   get_bg_tile_info(machine(), tileinfo, tile_index, m_bg1videoram, 1);
114112}
115113
116static TILE_GET_INFO( get_bg2_tile_info )
114TILE_GET_INFO_MEMBER(firetrap_state::get_bg2_tile_info)
117115{
118   firetrap_state *state = machine.driver_data<firetrap_state>();
119   get_bg_tile_info(machine, tileinfo, tile_index, state->m_bg2videoram, 2);
116   get_bg_tile_info(machine(), tileinfo, tile_index, m_bg2videoram, 2);
120117}
121118
122119
r17673r17674
129126VIDEO_START( firetrap )
130127{
131128   firetrap_state *state = machine.driver_data<firetrap_state>();
132   state->m_fg_tilemap  = tilemap_create(machine, get_fg_tile_info, get_fg_memory_offset, 8, 8, 32, 32);
133   state->m_bg1_tilemap = tilemap_create(machine, get_bg1_tile_info, get_bg_memory_offset, 16, 16, 32, 32);
134   state->m_bg2_tilemap = tilemap_create(machine, get_bg2_tile_info, get_bg_memory_offset, 16, 16, 32, 32);
129   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);
130   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);
131   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);
135132
136133   state->m_fg_tilemap->set_transparent_pen(0);
137134   state->m_bg1_tilemap->set_transparent_pen(0);
trunk/src/mame/video/thedeep.c
r17673r17674
3838
3939***************************************************************************/
4040
41static TILEMAP_MAPPER( tilemap_scan_rows_back )
41TILEMAP_MAPPER_MEMBER(thedeep_state::tilemap_scan_rows_back)
4242{
4343   return (col & 0x0f) + ((col & 0x10) << 5) + (row << 4);
4444}
4545
46static TILE_GET_INFO( get_tile_info_0 )
46TILE_GET_INFO_MEMBER(thedeep_state::get_tile_info_0)
4747{
48   thedeep_state *state = machine.driver_data<thedeep_state>();
49   UINT8 code   =   state->m_vram_0[ tile_index * 2 + 0 ];
50   UINT8 color   =   state->m_vram_0[ tile_index * 2 + 1 ];
51   SET_TILE_INFO(
48   UINT8 code   =   m_vram_0[ tile_index * 2 + 0 ];
49   UINT8 color   =   m_vram_0[ tile_index * 2 + 1 ];
50   SET_TILE_INFO_MEMBER(
5251         1,
5352         code + (color << 8),
5453         (color & 0xf0) >> 4,
5554         TILE_FLIPX   );   // why?
5655}
5756
58static TILE_GET_INFO( get_tile_info_1 )
57TILE_GET_INFO_MEMBER(thedeep_state::get_tile_info_1)
5958{
60   thedeep_state *state = machine.driver_data<thedeep_state>();
61   UINT8 code   =   state->m_vram_1[ tile_index * 2 + 0 ];
62   UINT8 color   =   state->m_vram_1[ tile_index * 2 + 1 ];
63   SET_TILE_INFO(
59   UINT8 code   =   m_vram_1[ tile_index * 2 + 0 ];
60   UINT8 color   =   m_vram_1[ tile_index * 2 + 1 ];
61   SET_TILE_INFO_MEMBER(
6462         2,
6563         code + (color << 8),
6664         (color & 0xf0) >> 4,
r17673r17674
103101VIDEO_START( thedeep )
104102{
105103   thedeep_state *state = machine.driver_data<thedeep_state>();
106   state->m_tilemap_0  = tilemap_create(machine, get_tile_info_0,tilemap_scan_rows_back,16,16,0x20,0x20);
107   state->m_tilemap_1  = tilemap_create(machine, get_tile_info_1,TILEMAP_SCAN_ROWS,8,8,0x20,0x20);
104   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);
105   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);
108106
109107   state->m_tilemap_0->set_transparent_pen(0 );
110108   state->m_tilemap_1->set_transparent_pen(0 );
trunk/src/mame/video/oneshot.c
r17673r17674
55
66
77/* bg tilemap */
8static TILE_GET_INFO( get_oneshot_bg_tile_info )
8TILE_GET_INFO_MEMBER(oneshot_state::get_oneshot_bg_tile_info)
99{
10   oneshot_state *state = machine.driver_data<oneshot_state>();
11   int tileno = state->m_bg_videoram[tile_index * 2 + 1];
10   int tileno = m_bg_videoram[tile_index * 2 + 1];
1211
13   SET_TILE_INFO(0, tileno, 0, 0);
12   SET_TILE_INFO_MEMBER(0, tileno, 0, 0);
1413}
1514
1615WRITE16_MEMBER(oneshot_state::oneshot_bg_videoram_w)
r17673r17674
2019}
2120
2221/* mid tilemap */
23static TILE_GET_INFO( get_oneshot_mid_tile_info )
22TILE_GET_INFO_MEMBER(oneshot_state::get_oneshot_mid_tile_info)
2423{
25   oneshot_state *state = machine.driver_data<oneshot_state>();
26   int tileno = state->m_mid_videoram[tile_index * 2 + 1];
24   int tileno = m_mid_videoram[tile_index * 2 + 1];
2725
28   SET_TILE_INFO(0, tileno, 2, 0);
26   SET_TILE_INFO_MEMBER(0, tileno, 2, 0);
2927}
3028
3129WRITE16_MEMBER(oneshot_state::oneshot_mid_videoram_w)
r17673r17674
3634
3735
3836/* fg tilemap */
39static TILE_GET_INFO( get_oneshot_fg_tile_info )
37TILE_GET_INFO_MEMBER(oneshot_state::get_oneshot_fg_tile_info)
4038{
41   oneshot_state *state = machine.driver_data<oneshot_state>();
42   int tileno = state->m_fg_videoram[tile_index * 2 + 1];
39   int tileno = m_fg_videoram[tile_index * 2 + 1];
4340
44   SET_TILE_INFO(0, tileno, 3, 0);
41   SET_TILE_INFO_MEMBER(0, tileno, 3, 0);
4542}
4643
4744WRITE16_MEMBER(oneshot_state::oneshot_fg_videoram_w)
r17673r17674
5451{
5552   oneshot_state *state = machine.driver_data<oneshot_state>();
5653
57   state->m_bg_tilemap =  tilemap_create(machine, get_oneshot_bg_tile_info,  TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
58   state->m_mid_tilemap = tilemap_create(machine, get_oneshot_mid_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
59   state->m_fg_tilemap =  tilemap_create(machine, get_oneshot_fg_tile_info,  TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
54   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);
55   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);
56   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);
6057
6158   state->m_bg_tilemap->set_transparent_pen(0);
6259   state->m_mid_tilemap->set_transparent_pen(0);
trunk/src/mame/video/stlforce.c
r17673r17674
55
66/* background, appears to be the bottom layer */
77
8static TILE_GET_INFO( get_stlforce_bg_tile_info )
8TILE_GET_INFO_MEMBER(stlforce_state::get_stlforce_bg_tile_info)
99{
10   stlforce_state *state = machine.driver_data<stlforce_state>();
1110   int tileno,colour;
1211
13   tileno = state->m_bg_videoram[tile_index] & 0x0fff;
14   colour = state->m_bg_videoram[tile_index] & 0xe000;
12   tileno = m_bg_videoram[tile_index] & 0x0fff;
13   colour = m_bg_videoram[tile_index] & 0xe000;
1514   colour = colour >> 13;
16   SET_TILE_INFO(0,tileno,colour,0);
15   SET_TILE_INFO_MEMBER(0,tileno,colour,0);
1716}
1817
1918WRITE16_MEMBER(stlforce_state::stlforce_bg_videoram_w)
r17673r17674
2524
2625/* middle layer, low */
2726
28static TILE_GET_INFO( get_stlforce_mlow_tile_info )
27TILE_GET_INFO_MEMBER(stlforce_state::get_stlforce_mlow_tile_info)
2928{
30   stlforce_state *state = machine.driver_data<stlforce_state>();
3129   int tileno,colour;
3230
33   tileno = state->m_mlow_videoram[tile_index] & 0x0fff;
34   colour = state->m_mlow_videoram[tile_index] & 0xe000;
31   tileno = m_mlow_videoram[tile_index] & 0x0fff;
32   colour = m_mlow_videoram[tile_index] & 0xe000;
3533   colour = colour >> 13;
3634   colour += 8;
3735   tileno += 0x1000;
3836
39   SET_TILE_INFO(0,tileno,colour,0);
37   SET_TILE_INFO_MEMBER(0,tileno,colour,0);
4038}
4139
4240WRITE16_MEMBER(stlforce_state::stlforce_mlow_videoram_w)
r17673r17674
4846
4947/* middle layer, high */
5048
51static TILE_GET_INFO( get_stlforce_mhigh_tile_info )
49TILE_GET_INFO_MEMBER(stlforce_state::get_stlforce_mhigh_tile_info)
5250{
53   stlforce_state *state = machine.driver_data<stlforce_state>();
5451   int tileno,colour;
5552
56   tileno = state->m_mhigh_videoram[tile_index] & 0x0fff;
57   colour = state->m_mhigh_videoram[tile_index] & 0xe000;
53   tileno = m_mhigh_videoram[tile_index] & 0x0fff;
54   colour = m_mhigh_videoram[tile_index] & 0xe000;
5855   colour = colour >> 13;
5956   colour += 16;
6057   tileno += 0x2000;
6158
62   SET_TILE_INFO(0,tileno,colour,0);
59   SET_TILE_INFO_MEMBER(0,tileno,colour,0);
6360}
6461
6562WRITE16_MEMBER(stlforce_state::stlforce_mhigh_videoram_w)
r17673r17674
7168
7269/* text layer, appears to be the top layer */
7370
74static TILE_GET_INFO( get_stlforce_tx_tile_info )
71TILE_GET_INFO_MEMBER(stlforce_state::get_stlforce_tx_tile_info)
7572{
76   stlforce_state *state = machine.driver_data<stlforce_state>();
7773   int tileno,colour;
7874
79   tileno = state->m_tx_videoram[tile_index] & 0x0fff;
80   colour = state->m_tx_videoram[tile_index] & 0xe000;
75   tileno = m_tx_videoram[tile_index] & 0x0fff;
76   colour = m_tx_videoram[tile_index] & 0xe000;
8177   colour = colour >> 13;
8278
8379   tileno += 0xc000;
8480
8581   colour += 24;
86   SET_TILE_INFO(1,tileno,colour,0);
82   SET_TILE_INFO_MEMBER(1,tileno,colour,0);
8783}
8884
8985WRITE16_MEMBER(stlforce_state::stlforce_tx_videoram_w)
r17673r17674
184180{
185181   stlforce_state *state = machine.driver_data<stlforce_state>();
186182
187   state->m_bg_tilemap    = tilemap_create(machine, get_stlforce_bg_tile_info,   TILEMAP_SCAN_COLS,      16,16,64,16);
188   state->m_mlow_tilemap  = tilemap_create(machine, get_stlforce_mlow_tile_info, TILEMAP_SCAN_COLS, 16,16,64,16);
189   state->m_mhigh_tilemap = tilemap_create(machine, get_stlforce_mhigh_tile_info,TILEMAP_SCAN_COLS, 16,16,64,16);
190   state->m_tx_tilemap    = tilemap_create(machine, get_stlforce_tx_tile_info,   TILEMAP_SCAN_ROWS,  8, 8,64,32);
183   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);
184   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);
185   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);
186   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);
191187
192188   state->m_mlow_tilemap->set_transparent_pen(0);
193189   state->m_mhigh_tilemap->set_transparent_pen(0);
trunk/src/mame/video/amspdwy.c
r17673r17674
4242
4343***************************************************************************/
4444
45static TILE_GET_INFO( get_tile_info )
45TILE_GET_INFO_MEMBER(amspdwy_state::get_tile_info)
4646{
47   amspdwy_state *state = machine.driver_data<amspdwy_state>();
48   UINT8 code = state->m_videoram[tile_index];
49   UINT8 color = state->m_colorram[tile_index];
50   SET_TILE_INFO(
47   UINT8 code = m_videoram[tile_index];
48   UINT8 color = m_colorram[tile_index];
49   SET_TILE_INFO_MEMBER(
5150         0,
5251         code + ((color & 0x18)<<5),
5352         color & 0x07,
r17673r17674
6867
6968
7069/* logical (col,row) -> memory offset */
71static TILEMAP_MAPPER( tilemap_scan_cols_back )
70TILEMAP_MAPPER_MEMBER(amspdwy_state::tilemap_scan_cols_back)
7271{
7372   return col * num_rows + (num_rows - row - 1);
7473}
r17673r17674
7776VIDEO_START( amspdwy )
7877{
7978   amspdwy_state *state = machine.driver_data<amspdwy_state>();
80   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, tilemap_scan_cols_back, 8, 8, 0x20, 0x20);
79   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);
8180}
8281
8382
trunk/src/mame/video/atarig1.c
r17673r17674
1616 *
1717 *************************************/
1818
19static TILE_GET_INFO( get_alpha_tile_info )
19TILE_GET_INFO_MEMBER(atarig1_state::get_alpha_tile_info)
2020{
21   atarig1_state *state = machine.driver_data<atarig1_state>();
22   UINT16 data = state->m_alpha[tile_index];
21   UINT16 data = m_alpha[tile_index];
2322   int code = data & 0xfff;
2423   int color = (data >> 12) & 0x0f;
2524   int opaque = data & 0x8000;
26   SET_TILE_INFO(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
25   SET_TILE_INFO_MEMBER(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
2726}
2827
2928
30static TILE_GET_INFO( get_playfield_tile_info )
29TILE_GET_INFO_MEMBER(atarig1_state::get_playfield_tile_info)
3130{
32   atarig1_state *state = machine.driver_data<atarig1_state>();
33   UINT16 data = state->m_playfield[tile_index];
34   int code = (state->m_playfield_tile_bank << 12) | (data & 0xfff);
31   UINT16 data = m_playfield[tile_index];
32   int code = (m_playfield_tile_bank << 12) | (data & 0xfff);
3533   int color = (data >> 12) & 7;
36   SET_TILE_INFO(0, code, color, (data >> 15) & 1);
34   SET_TILE_INFO_MEMBER(0, code, color, (data >> 15) & 1);
3735}
3836
3937
r17673r17674
5250   atarigen_blend_gfx(machine, 0, 2, 0x0f, 0x10);
5351
5452   /* initialize the playfield */
55   state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_ROWS,  8,8, 64,64);
53   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);
5654
5755   /* initialize the motion objects */
5856   state->m_rle = machine.device("rle");
5957
6058   /* initialize the alphanumerics */
61   state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS,  8,8, 64,32);
59   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);
6260   state->m_alpha_tilemap->set_transparent_pen(0);
6361
6462   /* reset statics */
trunk/src/mame/video/toobin.c
r17673r17674
1717 *
1818 *************************************/
1919
20static TILE_GET_INFO( get_alpha_tile_info )
20TILE_GET_INFO_MEMBER(toobin_state::get_alpha_tile_info)
2121{
22   toobin_state *state = machine.driver_data<toobin_state>();
23   UINT16 data = state->m_alpha[tile_index];
22   UINT16 data = m_alpha[tile_index];
2423   int code = data & 0x3ff;
2524   int color = (data >> 12) & 0x0f;
26   SET_TILE_INFO(2, code, color, (data >> 10) & 1);
25   SET_TILE_INFO_MEMBER(2, code, color, (data >> 10) & 1);
2726}
2827
2928
30static TILE_GET_INFO( get_playfield_tile_info )
29TILE_GET_INFO_MEMBER(toobin_state::get_playfield_tile_info)
3130{
32   toobin_state *state = machine.driver_data<toobin_state>();
33   UINT16 data1 = state->m_playfield[tile_index * 2];
34   UINT16 data2 = state->m_playfield[tile_index * 2 + 1];
31   UINT16 data1 = m_playfield[tile_index * 2];
32   UINT16 data2 = m_playfield[tile_index * 2 + 1];
3533   int code = data2 & 0x3fff;
3634   int color = data1 & 0x0f;
37   SET_TILE_INFO(0, code, color, TILE_FLIPYX(data2 >> 14));
35   SET_TILE_INFO_MEMBER(0, code, color, TILE_FLIPYX(data2 >> 14));
3836   tileinfo.category = (data1 >> 4) & 3;
3937}
4038
r17673r17674
8785   toobin_state *state = machine.driver_data<toobin_state>();
8886
8987   /* initialize the playfield */
90   state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_ROWS,  8,8, 128,64);
88   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);
9189
9290   /* initialize the motion objects */
9391   atarimo_init(machine, 0, &modesc);
9492
9593   /* initialize the alphanumerics */
96   state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS,  8,8, 64,48);
94   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);
9795   state->m_alpha_tilemap->set_transparent_pen(0);
9896
9997   /* allocate a playfield bitmap for rendering */
trunk/src/mame/video/srumbler.c
r17673r17674
1616
1717***************************************************************************/
1818
19static TILE_GET_INFO( get_fg_tile_info )
19TILE_GET_INFO_MEMBER(srumbler_state::get_fg_tile_info)
2020{
21   srumbler_state *state = machine.driver_data<srumbler_state>();
22   UINT8 attr = state->m_foregroundram[2*tile_index];
23   SET_TILE_INFO(
21   UINT8 attr = m_foregroundram[2*tile_index];
22   SET_TILE_INFO_MEMBER(
2423         0,
25         state->m_foregroundram[2*tile_index + 1] + ((attr & 0x03) << 8),
24         m_foregroundram[2*tile_index + 1] + ((attr & 0x03) << 8),
2625         (attr & 0x3c) >> 2,
2726         (attr & 0x40) ? TILE_FORCE_LAYER0 : 0);
2827}
2928
30static TILE_GET_INFO( get_bg_tile_info )
29TILE_GET_INFO_MEMBER(srumbler_state::get_bg_tile_info)
3130{
32   srumbler_state *state = machine.driver_data<srumbler_state>();
33   UINT8 attr = state->m_backgroundram[2*tile_index];
34   SET_TILE_INFO(
31   UINT8 attr = m_backgroundram[2*tile_index];
32   SET_TILE_INFO_MEMBER(
3533         1,
36         state->m_backgroundram[2*tile_index + 1] + ((attr & 0x07) << 8),
34         m_backgroundram[2*tile_index + 1] + ((attr & 0x07) << 8),
3735         (attr & 0xe0) >> 5,
3836         ((attr & 0x08) ? TILE_FLIPY : 0));
3937   tileinfo.group = (attr & 0x10) >> 4;
r17673r17674
5048VIDEO_START( srumbler )
5149{
5250   srumbler_state *state = machine.driver_data<srumbler_state>();
53   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_COLS,8,8,64,32);
54   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_COLS,    16,16,64,64);
51   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);
52   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);
5553
5654   state->m_fg_tilemap->set_transparent_pen(3);
5755
trunk/src/mame/video/legionna.c
r17673r17674
5454   m_text_layer->mark_tile_dirty(offset);
5555}
5656
57static TILE_GET_INFO( get_back_tile_info )
57TILE_GET_INFO_MEMBER(legionna_state::get_back_tile_info)
5858{
59   legionna_state *state = machine.driver_data<legionna_state>();
60   int tile=state->m_back_data[tile_index];
59   int tile=m_back_data[tile_index];
6160   int color=(tile>>12)&0xf;
6261
6362   tile &= 0xfff;
64   tile |= state->m_back_gfx_bank;      /* Heatbrl uses banking */
63   tile |= m_back_gfx_bank;      /* Heatbrl uses banking */
6564
66   SET_TILE_INFO(1,tile,color,0);
65   SET_TILE_INFO_MEMBER(1,tile,color,0);
6766}
6867
69static TILE_GET_INFO( get_mid_tile_info )
68TILE_GET_INFO_MEMBER(legionna_state::get_mid_tile_info)
7069{
71   legionna_state *state = machine.driver_data<legionna_state>();
72   int tile=state->m_mid_data[tile_index];
70   int tile=m_mid_data[tile_index];
7371   int color=(tile>>12)&0xf;
7472
7573   tile &= 0xfff;
7674
77   SET_TILE_INFO(5,tile,color,0);
75   SET_TILE_INFO_MEMBER(5,tile,color,0);
7876}
7977
80static TILE_GET_INFO( get_mid_tile_info_denji )
78TILE_GET_INFO_MEMBER(legionna_state::get_mid_tile_info_denji)
8179{
82   legionna_state *state = machine.driver_data<legionna_state>();
83   int tile=state->m_mid_data[tile_index];
80   int tile=m_mid_data[tile_index];
8481   int color=(tile>>12)&0xf;
8582
8683   tile &= 0xfff;
87   tile |= state->m_mid_gfx_bank;
84   tile |= m_mid_gfx_bank;
8885
89   SET_TILE_INFO(5,tile,color,0);
86   SET_TILE_INFO_MEMBER(5,tile,color,0);
9087}
9188
92static TILE_GET_INFO( get_mid_tile_info_cupsoc )
89TILE_GET_INFO_MEMBER(legionna_state::get_mid_tile_info_cupsoc)
9390{
94   legionna_state *state = machine.driver_data<legionna_state>();
95   int tile=state->m_mid_data[tile_index];
91   int tile=m_mid_data[tile_index];
9692   int color=(tile>>12)&0xf;
9793
9894   tile &= 0xfff;
r17673r17674
10096   tile |= 0x1000;
10197   color += 0x10;
10298
103   SET_TILE_INFO(1,tile,color,0);
99   SET_TILE_INFO_MEMBER(1,tile,color,0);
104100}
105101
106static TILE_GET_INFO( get_fore_tile_info )   /* this is giving bad tiles... */
102TILE_GET_INFO_MEMBER(legionna_state::get_fore_tile_info)/* this is giving bad tiles... */
107103{
108   legionna_state *state = machine.driver_data<legionna_state>();
109   int tile=state->m_fore_data[tile_index];
104   int tile=m_fore_data[tile_index];
110105   int color=(tile>>12)&0xf;
111106
112107   // legionnaire tile numbers / gfx set wrong, see screen after coin insertion
113108   tile &= 0xfff;
114109
115   SET_TILE_INFO(4,tile,color,0);
110   SET_TILE_INFO_MEMBER(4,tile,color,0);
116111}
117112
118static TILE_GET_INFO( get_fore_tile_info_denji )
113TILE_GET_INFO_MEMBER(legionna_state::get_fore_tile_info_denji)
119114{
120   legionna_state *state = machine.driver_data<legionna_state>();
121   int tile=state->m_fore_data[tile_index];
115   int tile=m_fore_data[tile_index];
122116   int color=(tile>>12)&0xf;
123117
124118   tile &= 0xfff;
125   tile |= state->m_fore_gfx_bank;
119   tile |= m_fore_gfx_bank;
126120
127   SET_TILE_INFO(4,tile,color,0);
121   SET_TILE_INFO_MEMBER(4,tile,color,0);
128122}
129123
130static TILE_GET_INFO( get_text_tile_info )
124TILE_GET_INFO_MEMBER(legionna_state::get_text_tile_info)
131125{
132   legionna_state *state = machine.driver_data<legionna_state>();
133   int tile = state->m_textram[tile_index];
126   int tile = m_textram[tile_index];
134127   int color=(tile>>12)&0xf;
135128
136129   tile &= 0xfff;
137130
138   SET_TILE_INFO(0,tile,color,0);
131   SET_TILE_INFO_MEMBER(0,tile,color,0);
139132}
140133
141134VIDEO_START( legionna )
142135{
143136   legionna_state *state = machine.driver_data<legionna_state>();
144   state->m_background_layer = tilemap_create(machine, get_back_tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
145   state->m_foreground_layer = tilemap_create(machine, get_fore_tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
146   state->m_midground_layer =  tilemap_create(machine, get_mid_tile_info, TILEMAP_SCAN_ROWS,16,16,32,32);
147   state->m_text_layer =       tilemap_create(machine, get_text_tile_info,TILEMAP_SCAN_ROWS,  8,8,64,32);
137   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);
138   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);
139   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);
140   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);
148141
149142   state->m_scrollram16 = auto_alloc_array(machine, UINT16, 0x60/2);
150143   state->m_sprite_xoffs = 0;
r17673r17674
162155VIDEO_START( denjinmk )
163156{
164157   legionna_state *state = machine.driver_data<legionna_state>();
165   state->m_background_layer = tilemap_create(machine, get_back_tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
166   state->m_foreground_layer = tilemap_create(machine, get_fore_tile_info_denji,TILEMAP_SCAN_ROWS,16,16,32,32);
167   state->m_midground_layer =  tilemap_create(machine, get_mid_tile_info_denji, TILEMAP_SCAN_ROWS,16,16,32,32);
168   state->m_text_layer =       tilemap_create(machine, get_text_tile_info,TILEMAP_SCAN_ROWS,  8,8,64,32);
158   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);
159   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);
160   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);
161   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);
169162
170163   state->m_scrollram16 = auto_alloc_array(machine, UINT16, 0x60/2);
171164   state->m_sprite_xoffs = 0;
r17673r17674
183176VIDEO_START( cupsoc )
184177{
185178   legionna_state *state = machine.driver_data<legionna_state>();
186   state->m_background_layer = tilemap_create(machine, get_back_tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
187   state->m_foreground_layer = tilemap_create(machine, get_fore_tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
188   state->m_midground_layer =  tilemap_create(machine, get_mid_tile_info_cupsoc, TILEMAP_SCAN_ROWS,16,16,32,32);
189   state->m_text_layer =       tilemap_create(machine, get_text_tile_info,TILEMAP_SCAN_ROWS,  8,8,64,32);
179   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);
180   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);
181   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);
182   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);
190183
191184   state->m_scrollram16 = auto_alloc_array(machine, UINT16, 0x60/2);
192185   state->m_sprite_xoffs = 0;
trunk/src/mame/video/mcr68.c
r17673r17674
1818 *
1919 *************************************/
2020
21static TILE_GET_INFO( get_bg_tile_info )
21TILE_GET_INFO_MEMBER(mcr68_state::get_bg_tile_info)
2222{
23   mcr68_state *state = machine.driver_data<mcr68_state>();
24   UINT16 *videoram = state->m_videoram;
23   UINT16 *videoram = m_videoram;
2524   int data = LOW_BYTE(videoram[tile_index * 2]) | (LOW_BYTE(videoram[tile_index * 2 + 1]) << 8);
2625   int code = (data & 0x3ff) | ((data >> 4) & 0xc00);
2726   int color = (~data >> 12) & 3;
28   SET_TILE_INFO(0, code, color, TILE_FLIPYX((data >> 10) & 3));
29   if (machine.gfx[0]->elements() < 0x1000)
27   SET_TILE_INFO_MEMBER(0, code, color, TILE_FLIPYX((data >> 10) & 3));
28   if (machine().gfx[0]->elements() < 0x1000)
3029      tileinfo.category = (data >> 15) & 1;
3130}
3231
3332
34static TILE_GET_INFO( zwackery_get_bg_tile_info )
33TILE_GET_INFO_MEMBER(mcr68_state::zwackery_get_bg_tile_info)
3534{
36   mcr68_state *state = machine.driver_data<mcr68_state>();
37   UINT16 *videoram = state->m_videoram;
35   UINT16 *videoram = m_videoram;
3836   int data = videoram[tile_index];
3937   int color = (data >> 13) & 7;
40   SET_TILE_INFO(0, data & 0x3ff, color, TILE_FLIPYX((data >> 11) & 3));
38   SET_TILE_INFO_MEMBER(0, data & 0x3ff, color, TILE_FLIPYX((data >> 11) & 3));
4139}
4240
4341
44static TILE_GET_INFO( zwackery_get_fg_tile_info )
42TILE_GET_INFO_MEMBER(mcr68_state::zwackery_get_fg_tile_info)
4543{
46   mcr68_state *state = machine.driver_data<mcr68_state>();
47   UINT16 *videoram = state->m_videoram;
44   UINT16 *videoram = m_videoram;
4845   int data = videoram[tile_index];
4946   int color = (data >> 13) & 7;
50   SET_TILE_INFO(2, data & 0x3ff, color, TILE_FLIPYX((data >> 11) & 3));
47   SET_TILE_INFO_MEMBER(2, data & 0x3ff, color, TILE_FLIPYX((data >> 11) & 3));
5148   tileinfo.category = (color != 0);
5249}
5350
r17673r17674
6360{
6461   mcr68_state *state = machine.driver_data<mcr68_state>();
6562   /* initialize the background tilemap */
66   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,  16,16, 32,32);
63   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);
6764   state->m_bg_tilemap->set_transparent_pen(0);
6865}
6966
r17673r17674
7976   int code, y, x;
8077
8178   /* initialize the background tilemap */
82   state->m_bg_tilemap = tilemap_create(machine, zwackery_get_bg_tile_info, TILEMAP_SCAN_ROWS,  16,16, 32,32);
79   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);
8380
8481   /* initialize the foreground tilemap */
85   state->m_fg_tilemap = tilemap_create(machine, zwackery_get_fg_tile_info, TILEMAP_SCAN_ROWS,  16,16, 32,32);
82   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);
8683   state->m_fg_tilemap->set_transparent_pen(0);
8784
8885   /* allocate memory for the assembled gfx data */
trunk/src/mame/video/pbaction.c
r17673r17674
4848   flip_screen_set(data & 0x01);
4949}
5050
51static TILE_GET_INFO( get_bg_tile_info )
51TILE_GET_INFO_MEMBER(pbaction_state::get_bg_tile_info)
5252{
53   pbaction_state *state = machine.driver_data<pbaction_state>();
54   int attr = state->m_colorram[tile_index];
55   int code = state->m_videoram[tile_index] + 0x10 * (attr & 0x70);
53   int attr = m_colorram[tile_index];
54   int code = m_videoram[tile_index] + 0x10 * (attr & 0x70);
5655   int color = attr & 0x07;
5756   int flags = (attr & 0x80) ? TILE_FLIPY : 0;
5857
59   SET_TILE_INFO(1, code, color, flags);
58   SET_TILE_INFO_MEMBER(1, code, color, flags);
6059}
6160
62static TILE_GET_INFO( get_fg_tile_info )
61TILE_GET_INFO_MEMBER(pbaction_state::get_fg_tile_info)
6362{
64   pbaction_state *state = machine.driver_data<pbaction_state>();
65   int attr = state->m_colorram2[tile_index];
66   int code = state->m_videoram2[tile_index] + 0x10 * (attr & 0x30);
63   int attr = m_colorram2[tile_index];
64   int code = m_videoram2[tile_index] + 0x10 * (attr & 0x30);
6765   int color = attr & 0x0f;
6866   int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);
6967
70   SET_TILE_INFO(0, code, color, flags);
68   SET_TILE_INFO_MEMBER(0, code, color, flags);
7169}
7270
7371VIDEO_START( pbaction )
7472{
7573   pbaction_state *state = machine.driver_data<pbaction_state>();
76   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
77   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
74   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);
75   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);
7876
7977   state->m_fg_tilemap->set_transparent_pen(0);
8078}
trunk/src/mame/video/funworld.c
r17673r17674
164164    xxxx -xxx   tiles color (background).
165165*/
166166
167static TILE_GET_INFO( get_bg_tile_info )
167TILE_GET_INFO_MEMBER(funworld_state::get_bg_tile_info)
168168{
169   funworld_state *state = machine.driver_data<funworld_state>();
170169/*  - bits -
171170    7654 3210
172171    xxxx ----   tiles color.
173172    ---- xxxx   unused.
174173*/
175174   int offs = tile_index;
176   int attr = state->m_videoram[offs] + (state->m_colorram[offs] << 8);
175   int attr = m_videoram[offs] + (m_colorram[offs] << 8);
177176   int code = attr & 0xfff;
178   int color = state->m_colorram[offs] >> 4;   // 4 bits for color.
177   int color = m_colorram[offs] >> 4;   // 4 bits for color.
179178
180   SET_TILE_INFO(0, code, color, 0);
179   SET_TILE_INFO_MEMBER(0, code, color, 0);
181180}
182181
183182
184183VIDEO_START(funworld)
185184{
186185   funworld_state *state = machine.driver_data<funworld_state>();
187   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 4, 8, 96, 29);
186   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);
188187}
189188
190189VIDEO_START(magicrd2)
191190{
192191   funworld_state *state = machine.driver_data<funworld_state>();
193   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 4, 8, 112, 34);
192   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);
194193}
195194
196195
trunk/src/mame/video/gsword.c
r17673r17674
142142   m_bg_tilemap->set_scrolly(0, data);
143143}
144144
145static TILE_GET_INFO( get_bg_tile_info )
145TILE_GET_INFO_MEMBER(gsword_state::get_bg_tile_info)
146146{
147   gsword_state *state = machine.driver_data<gsword_state>();
148   UINT8 *videoram = state->m_videoram;
149   int code = videoram[tile_index] + ((state->m_charbank & 0x03) << 8);
150   int color = ((code & 0x3c0) >> 6) + 16 * state->m_charpalbank;
151   int flags = state->m_flipscreen ? (TILE_FLIPX | TILE_FLIPY) : 0;
147   UINT8 *videoram = m_videoram;
148   int code = videoram[tile_index] + ((m_charbank & 0x03) << 8);
149   int color = ((code & 0x3c0) >> 6) + 16 * m_charpalbank;
150   int flags = m_flipscreen ? (TILE_FLIPX | TILE_FLIPY) : 0;
152151
153   SET_TILE_INFO(0, code, color, flags);
152   SET_TILE_INFO_MEMBER(0, code, color, flags);
154153}
155154
156155VIDEO_START( gsword )
157156{
158157   gsword_state *state = machine.driver_data<gsword_state>();
159   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
158   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gsword_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
160159       8, 8, 32, 64);
161160}
162161
trunk/src/mame/video/mario.c
r17673r17674
125125   }
126126}
127127
128static TILE_GET_INFO( get_bg_tile_info )
128TILE_GET_INFO_MEMBER(mario_state::get_bg_tile_info)
129129{
130   mario_state   *state = machine.driver_data<mario_state>();
131   int code = state->m_videoram[tile_index] + 256 * state->m_gfx_bank;
130   int code = m_videoram[tile_index] + 256 * m_gfx_bank;
132131   int color;
133132
134   color =  ((state->m_videoram[tile_index] >> 2) & 0x38) | 0x40 | (state->m_palette_bank<<7) | (state->m_monitor<<8);
133   color =  ((m_videoram[tile_index] >> 2) & 0x38) | 0x40 | (m_palette_bank<<7) | (m_monitor<<8);
135134   color = color >> 2;
136   SET_TILE_INFO(0, code, color, 0);
135   SET_TILE_INFO_MEMBER(0, code, color, 0);
137136}
138137
139138VIDEO_START( mario )
140139{
141140   mario_state   *state = machine.driver_data<mario_state>();
142141
143   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
142   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mario_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
144143       8, 8, 32, 32);
145144
146145   state->m_gfx_bank = 0;
trunk/src/mame/video/atarifb.c
r17673r17674
2727}
2828
2929
30static TILE_GET_INFO( alpha1_get_tile_info )
30TILE_GET_INFO_MEMBER(atarifb_state::alpha1_get_tile_info)
3131{
32   atarifb_state *state = machine.driver_data<atarifb_state>();
33   get_tile_info_common(machine, tileinfo, tile_index, state->m_alphap1_videoram);
32   get_tile_info_common(machine(), tileinfo, tile_index, m_alphap1_videoram);
3433}
3534
3635
37static TILE_GET_INFO( alpha2_get_tile_info )
36TILE_GET_INFO_MEMBER(atarifb_state::alpha2_get_tile_info)
3837{
39   atarifb_state *state = machine.driver_data<atarifb_state>();
40   get_tile_info_common(machine, tileinfo, tile_index, state->m_alphap2_videoram);
38   get_tile_info_common(machine(), tileinfo, tile_index, m_alphap2_videoram);
4139}
4240
4341
44static TILE_GET_INFO( field_get_tile_info )
42TILE_GET_INFO_MEMBER(atarifb_state::field_get_tile_info)
4543{
46   atarifb_state *state = machine.driver_data<atarifb_state>();
47   int code = state->m_field_videoram[tile_index] & 0x3f;
48   int flipyx = state->m_field_videoram[tile_index] >> 6;
44   int code = m_field_videoram[tile_index] & 0x3f;
45   int flipyx = m_field_videoram[tile_index] >> 6;
4946
50   SET_TILE_INFO(1, code, 0, TILE_FLIPYX(flipyx));
47   SET_TILE_INFO_MEMBER(1, code, 0, TILE_FLIPYX(flipyx));
5148}
5249
5350
r17673r17674
9491{
9592   atarifb_state *state = machine.driver_data<atarifb_state>();
9693
97   state->m_alpha1_tilemap = tilemap_create(machine, alpha1_get_tile_info, TILEMAP_SCAN_COLS, 8, 8, 3, 32);
98   state->m_alpha2_tilemap = tilemap_create(machine, alpha2_get_tile_info, TILEMAP_SCAN_COLS, 8, 8, 3, 32);
99   state->m_field_tilemap  = tilemap_create(machine, field_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
94   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);
95   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);
96   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);
10097}
10198
10299
trunk/src/mame/video/silkroad.c
r17673r17674
5555}
5656
5757
58static TILE_GET_INFO( get_fg_tile_info )
58TILE_GET_INFO_MEMBER(silkroad_state::get_fg_tile_info)
5959{
60   silkroad_state *state = machine.driver_data<silkroad_state>();
61   int code = ((state->m_vidram[tile_index] & 0xffff0000) >> 16 );
62   int color = ((state->m_vidram[tile_index] & 0x000001f));
63   int flipx =  ((state->m_vidram[tile_index] & 0x0000080) >> 7);
60   int code = ((m_vidram[tile_index] & 0xffff0000) >> 16 );
61   int color = ((m_vidram[tile_index] & 0x000001f));
62   int flipx =  ((m_vidram[tile_index] & 0x0000080) >> 7);
6463
6564   code += 0x18000;
6665
67   SET_TILE_INFO(
66   SET_TILE_INFO_MEMBER(
6867         0,
6968         code,
7069         color,
r17673r17674
8079   m_fg_tilemap->mark_tile_dirty(offset);
8180}
8281
83static TILE_GET_INFO( get_fg2_tile_info )
82TILE_GET_INFO_MEMBER(silkroad_state::get_fg2_tile_info)
8483{
85   silkroad_state *state = machine.driver_data<silkroad_state>();
86   int code = ((state->m_vidram2[tile_index] & 0xffff0000) >> 16 );
87   int color = ((state->m_vidram2[tile_index] & 0x000001f));
88   int flipx =  ((state->m_vidram2[tile_index] & 0x0000080) >> 7);
84   int code = ((m_vidram2[tile_index] & 0xffff0000) >> 16 );
85   int color = ((m_vidram2[tile_index] & 0x000001f));
86   int flipx =  ((m_vidram2[tile_index] & 0x0000080) >> 7);
8987   code += 0x18000;
90   SET_TILE_INFO(
88   SET_TILE_INFO_MEMBER(
9189         0,
9290         code,
9391         color,
r17673r17674
103101   m_fg2_tilemap->mark_tile_dirty(offset);
104102}
105103
106static TILE_GET_INFO( get_fg3_tile_info )
104TILE_GET_INFO_MEMBER(silkroad_state::get_fg3_tile_info)
107105{
108   silkroad_state *state = machine.driver_data<silkroad_state>();
109   int code = ((state->m_vidram3[tile_index] & 0xffff0000) >> 16 );
110   int color = ((state->m_vidram3[tile_index] & 0x000001f));
111   int flipx =  ((state->m_vidram3[tile_index] & 0x0000080) >> 7);
106   int code = ((m_vidram3[tile_index] & 0xffff0000) >> 16 );
107   int color = ((m_vidram3[tile_index] & 0x000001f));
108   int flipx =  ((m_vidram3[tile_index] & 0x0000080) >> 7);
112109   code += 0x18000;
113   SET_TILE_INFO(
110   SET_TILE_INFO_MEMBER(
114111         0,
115112         code,
116113         color,
r17673r17674
129126VIDEO_START(silkroad)
130127{
131128   silkroad_state *state = machine.driver_data<silkroad_state>();
132   state->m_fg_tilemap  = tilemap_create(machine, get_fg_tile_info,  TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
133   state->m_fg2_tilemap = tilemap_create(machine, get_fg2_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
134   state->m_fg3_tilemap = tilemap_create(machine, get_fg3_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
129   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);
130   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);
131   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);
135132
136133   state->m_fg_tilemap->set_transparent_pen(0);
137134   state->m_fg2_tilemap->set_transparent_pen(0);
trunk/src/mame/video/videopin.c
r17673r17674
1111
1212
1313
14static TILEMAP_MAPPER( get_memory_offset )
14TILEMAP_MAPPER_MEMBER(videopin_state::get_memory_offset)
1515{
1616   return num_rows * ((col + 16) % 48) + row;
1717}
1818
1919
20static TILE_GET_INFO( get_tile_info )
20TILE_GET_INFO_MEMBER(videopin_state::get_tile_info)
2121{
22   videopin_state *state = machine.driver_data<videopin_state>();
23   UINT8 code = state->m_video_ram[tile_index];
22   UINT8 code = m_video_ram[tile_index];
2423
25   SET_TILE_INFO(0, code, 0, (code & 0x40) ? TILE_FLIPY : 0);
24   SET_TILE_INFO_MEMBER(0, code, 0, (code & 0x40) ? TILE_FLIPY : 0);
2625}
2726
2827
2928VIDEO_START( videopin )
3029{
3130   videopin_state *state = machine.driver_data<videopin_state>();
32   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, get_memory_offset,  8, 8, 48, 32);
31   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);
3332}
3433
3534
trunk/src/mame/video/tecmo16.c
r17673r17674
1414
1515/******************************************************************************/
1616
17static TILE_GET_INFO( fg_get_tile_info )
17TILE_GET_INFO_MEMBER(tecmo16_state::fg_get_tile_info)
1818{
19   tecmo16_state *state = machine.driver_data<tecmo16_state>();
20   int tile = state->m_videoram[tile_index] & 0x1fff;
21   int color = state->m_colorram[tile_index] & 0x0f;
19   int tile = m_videoram[tile_index] & 0x1fff;
20   int color = m_colorram[tile_index] & 0x0f;
2221
2322   /* bit 4 controls blending */
24   tileinfo.category = (state->m_colorram[tile_index] & 0x10) >> 4;
23   tileinfo.category = (m_colorram[tile_index] & 0x10) >> 4;
2524
26   SET_TILE_INFO(
25   SET_TILE_INFO_MEMBER(
2726         1,
2827         tile,
2928         color | (tileinfo.category ? 0x70 : 0x00),
3029         0);
3130}
3231
33static TILE_GET_INFO( bg_get_tile_info )
32TILE_GET_INFO_MEMBER(tecmo16_state::bg_get_tile_info)
3433{
35   tecmo16_state *state = machine.driver_data<tecmo16_state>();
36   int tile = state->m_videoram2[tile_index] & 0x1fff;
37   int color = (state->m_colorram2[tile_index] & 0x0f)+0x10;
34   int tile = m_videoram2[tile_index] & 0x1fff;
35   int color = (m_colorram2[tile_index] & 0x0f)+0x10;
3836
39   SET_TILE_INFO(
37   SET_TILE_INFO_MEMBER(
4038         1,
4139         tile,
4240         color,
4341         0);
4442}
4543
46static TILE_GET_INFO( tx_get_tile_info )
44TILE_GET_INFO_MEMBER(tecmo16_state::tx_get_tile_info)
4745{
48   tecmo16_state *state = machine.driver_data<tecmo16_state>();
49   int tile = state->m_charram[tile_index];
50   SET_TILE_INFO(
46   int tile = m_charram[tile_index];
47   SET_TILE_INFO_MEMBER(
5148         0,
5249         tile & 0x0fff,
5350         tile >> 12,
r17673r17674
6764   /* set up sprites */
6865   machine.primary_screen->register_screen_bitmap(state->m_sprite_bitmap);
6966
70   state->m_fg_tilemap = tilemap_create(machine, fg_get_tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
71   state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info,TILEMAP_SCAN_ROWS,16,16,32,32);
72   state->m_tx_tilemap = tilemap_create(machine, tx_get_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,32);
67   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);
68   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);
69   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);
7370
7471   state->m_fg_tilemap->set_transparent_pen(0);
7572   state->m_bg_tilemap->set_transparent_pen(0);
r17673r17674
9188   /* set up sprites */
9289   machine.primary_screen->register_screen_bitmap(state->m_sprite_bitmap);
9390
94   state->m_fg_tilemap = tilemap_create(machine, fg_get_tile_info,TILEMAP_SCAN_ROWS,16,16,64,32);
95   state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info,TILEMAP_SCAN_ROWS,16,16,64,32);
96   state->m_tx_tilemap = tilemap_create(machine, tx_get_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,32);
91   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);
92   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);
93   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);
9794
9895   state->m_fg_tilemap->set_transparent_pen(0);
9996   state->m_bg_tilemap->set_transparent_pen(0);
r17673r17674
113110   /* set up sprites */
114111   machine.primary_screen->register_screen_bitmap(state->m_sprite_bitmap);
115112
116   state->m_fg_tilemap = tilemap_create(machine, fg_get_tile_info,TILEMAP_SCAN_ROWS,16,16,64,32);
117   state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info,TILEMAP_SCAN_ROWS,16,16,64,32);
118   state->m_tx_tilemap = tilemap_create(machine, tx_get_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,32);
113   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);
114   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);
115   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);
119116
120117   state->m_fg_tilemap->set_transparent_pen(0);
121118   state->m_bg_tilemap->set_transparent_pen(0);
trunk/src/mame/video/exprraid.c
r17673r17674
4242   m_bg_tilemap->set_scrolly(0, data);
4343}
4444
45static TILE_GET_INFO( get_bg_tile_info )
45TILE_GET_INFO_MEMBER(exprraid_state::get_bg_tile_info)
4646{
47   exprraid_state *state = machine.driver_data<exprraid_state>();
48   UINT8 *tilerom = state->memregion("gfx4")->base();
47   UINT8 *tilerom = memregion("gfx4")->base();
4948
5049   int data, attr, bank, code, color, flags;
5150   int quadrant = 0, offs;
r17673r17674
5655   if (sx >= 16) quadrant++;
5756   if (sy >= 16) quadrant += 2;
5857
59   offs = (sy % 16) * 16 + (sx % 16) + (state->m_bg_index[quadrant] & 0x3f) * 0x100;
58   offs = (sy % 16) * 16 + (sx % 16) + (m_bg_index[quadrant] & 0x3f) * 0x100;
6059
6160   data = tilerom[offs];
6261   attr = tilerom[offs + 0x4000];
r17673r17674
6766
6867   tileinfo.category = ((attr & 0x80) ? 1 : 0);
6968
70   SET_TILE_INFO(bank, code, color, flags);
69   SET_TILE_INFO_MEMBER(bank, code, color, flags);
7170}
7271
73static TILE_GET_INFO( get_fg_tile_info )
72TILE_GET_INFO_MEMBER(exprraid_state::get_fg_tile_info)
7473{
75   exprraid_state *state = machine.driver_data<exprraid_state>();
76   int attr = state->m_colorram[tile_index];
77   int code = state->m_videoram[tile_index] + ((attr & 0x07) << 8);
74   int attr = m_colorram[tile_index];
75   int code = m_videoram[tile_index] + ((attr & 0x07) << 8);
7876   int color = (attr & 0x10) >> 4;
7977
80   SET_TILE_INFO(0, code, color, 0);
78   SET_TILE_INFO_MEMBER(0, code, color, 0);
8179}
8280
8381VIDEO_START( exprraid )
8482{
8583   exprraid_state *state = machine.driver_data<exprraid_state>();
8684
87   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
88   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
85   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);
86   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);
8987
9088   state->m_bg_tilemap->set_scroll_rows(2);
9189   state->m_fg_tilemap->set_transparent_pen(0);
trunk/src/mame/video/runaway.c
r17673r17674
4949}
5050
5151
52static TILE_GET_INFO( runaway_get_tile_info )
52TILE_GET_INFO_MEMBER(runaway_state::runaway_get_tile_info)
5353{
54   runaway_state *state = machine.driver_data<runaway_state>();
55   UINT8 code = state->m_video_ram[tile_index];
54   UINT8 code = m_video_ram[tile_index];
5655
57   SET_TILE_INFO(0, ((code & 0x3f) << 1) | ((code & 0x40) >> 6) | (state->m_tile_bank << 7), 0, (code & 0x80) ? TILE_FLIPY : 0);
56   SET_TILE_INFO_MEMBER(0, ((code & 0x3f) << 1) | ((code & 0x40) >> 6) | (m_tile_bank << 7), 0, (code & 0x80) ? TILE_FLIPY : 0);
5857}
5958
6059
61static TILE_GET_INFO( qwak_get_tile_info )
60TILE_GET_INFO_MEMBER(runaway_state::qwak_get_tile_info)
6261{
63   runaway_state *state = machine.driver_data<runaway_state>();
64   UINT8 code = state->m_video_ram[tile_index];
62   UINT8 code = m_video_ram[tile_index];
6563
66   SET_TILE_INFO(0, ((code & 0x7f) << 1) | ((code & 0x80) >> 7), 0, 0);
64   SET_TILE_INFO_MEMBER(0, ((code & 0x7f) << 1) | ((code & 0x80) >> 7), 0, 0);
6765}
6866
6967
r17673r17674
7169VIDEO_START( runaway )
7270{
7371   runaway_state *state = machine.driver_data<runaway_state>();
74   state->m_bg_tilemap = tilemap_create(machine, runaway_get_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 32, 30);
72   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);
7573
7674   state->save_item(NAME(state->m_tile_bank));
7775}
r17673r17674
8078VIDEO_START( qwak )
8179{
8280   runaway_state *state = machine.driver_data<runaway_state>();
83   state->m_bg_tilemap = tilemap_create(machine, qwak_get_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 32, 30);
81   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);
8482
8583   state->save_item(NAME(state->m_tile_bank));
8684}
trunk/src/mame/video/toypop.c
r17673r17674
7878***************************************************************************/
7979
8080/* convert from 32x32 to 36x28 */
81static TILEMAP_MAPPER( tilemap_scan )
81TILEMAP_MAPPER_MEMBER(toypop_state::tilemap_scan)
8282{
8383   int offs;
8484
r17673r17674
9292   return offs;
9393}
9494
95static TILE_GET_INFO( get_tile_info )
95TILE_GET_INFO_MEMBER(toypop_state::get_tile_info)
9696{
97   toypop_state *state = machine.driver_data<toypop_state>();
98   UINT8 attr = state->m_videoram[tile_index + 0x400];
99   SET_TILE_INFO(
97   UINT8 attr = m_videoram[tile_index + 0x400];
98   SET_TILE_INFO_MEMBER(
10099         0,
101         state->m_videoram[tile_index],
102         (attr & 0x3f) + 0x40 * state->m_palettebank,
100         m_videoram[tile_index],
101         (attr & 0x3f) + 0x40 * m_palettebank,
103102         0);
104103}
105104
r17673r17674
114113VIDEO_START( toypop )
115114{
116115   toypop_state *state = machine.driver_data<toypop_state>();
117   state->m_bg_tilemap = tilemap_create(machine,get_tile_info,tilemap_scan,8,8,36,28);
116   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);
118117
119118   state->m_bg_tilemap->set_transparent_pen(0);
120119}
trunk/src/mame/video/tumbleb.c
r17673r17674
121121
122122/******************************************************************************/
123123
124static TILEMAP_MAPPER( tumblep_scan )
124TILEMAP_MAPPER_MEMBER(tumbleb_state::tumblep_scan)
125125{
126126   /* logical (col,row) -> memory offset */
127127   return (col & 0x1f) + ((row & 0x1f) << 5) + ((col & 0x60) << 5);
r17673r17674
139139         0);
140140}
141141
142static 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); }
143static 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); }
142TILE_GET_INFO_MEMBER(tumbleb_state::get_bg1_tile_info){ get_bg_tile_info(machine(), tileinfo, tile_index, 2, m_pf1_data); }
143TILE_GET_INFO_MEMBER(tumbleb_state::get_bg2_tile_info){ get_bg_tile_info(machine(), tileinfo, tile_index, 1, m_pf2_data); }
144144
145static TILE_GET_INFO( get_fg_tile_info )
145TILE_GET_INFO_MEMBER(tumbleb_state::get_fg_tile_info)
146146{
147   tumbleb_state *state = machine.driver_data<tumbleb_state>();
148   int data = state->m_pf1_data[tile_index];
147   int data = m_pf1_data[tile_index];
149148
150   SET_TILE_INFO(
149   SET_TILE_INFO_MEMBER(
151150         0,
152         (data & 0x0fff) | state->m_tilebank,
151         (data & 0x0fff) | m_tilebank,
153152         data >> 12,
154153         0);
155154}
r17673r17674
166165         0);
167166}
168167
169static 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); }
170static 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); }
168TILE_GET_INFO_MEMBER(tumbleb_state::get_fncywld_bg1_tile_info){ get_fncywld_bg_tile_info(machine(), tileinfo, tile_index, 2, m_pf1_data); }
169TILE_GET_INFO_MEMBER(tumbleb_state::get_fncywld_bg2_tile_info){ get_fncywld_bg_tile_info(machine(), tileinfo, tile_index, 1, m_pf2_data); }
171170
172static TILE_GET_INFO( get_fncywld_fg_tile_info )
171TILE_GET_INFO_MEMBER(tumbleb_state::get_fncywld_fg_tile_info)
173172{
174   tumbleb_state *state = machine.driver_data<tumbleb_state>();
175   int data = state->m_pf1_data[tile_index * 2];
176   int attr = state->m_pf1_data[tile_index * 2 + 1];
173   int data = m_pf1_data[tile_index * 2];
174   int attr = m_pf1_data[tile_index * 2 + 1];
177175
178   SET_TILE_INFO(
176   SET_TILE_INFO_MEMBER(
179177         0,
180178         data & 0x1fff,
181179         attr & 0x1f,
r17673r17674
208206}
209207
210208
211static 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); }
212static 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); }
209TILE_GET_INFO_MEMBER(tumbleb_state::pangpang_get_bg1_tile_info){ pangpang_get_bg_tile_info(machine(), tileinfo, tile_index, 2, m_pf1_data); }
210TILE_GET_INFO_MEMBER(tumbleb_state::pangpang_get_bg2_tile_info){ pangpang_get_bg2x_tile_info(machine(), tileinfo, tile_index, 1, m_pf2_data); }
213211
214static TILE_GET_INFO( pangpang_get_fg_tile_info )
212TILE_GET_INFO_MEMBER(tumbleb_state::pangpang_get_fg_tile_info)
215213{
216   tumbleb_state *state = machine.driver_data<tumbleb_state>();
217   int data = state->m_pf1_data[tile_index * 2 + 1];
218   int attr = state->m_pf1_data[tile_index * 2];
214   int data = m_pf1_data[tile_index * 2 + 1];
215   int attr = m_pf1_data[tile_index * 2];
219216
220   SET_TILE_INFO(
217   SET_TILE_INFO_MEMBER(
221218         0,
222219         data & 0x1fff,
223220         (attr >> 12)& 0x1f,
r17673r17674
240237{
241238   tumbleb_state *state = machine.driver_data<tumbleb_state>();
242239
243   state->m_pf1_tilemap =     tilemap_create(machine, pangpang_get_fg_tile_info,  TILEMAP_SCAN_ROWS, 8,  8, 64, 32);
244   state->m_pf1_alt_tilemap = tilemap_create(machine, pangpang_get_bg1_tile_info, tumblep_scan,     16, 16, 64, 32);
245   state->m_pf2_tilemap =     tilemap_create(machine, pangpang_get_bg2_tile_info, tumblep_scan,     16, 16, 64, 32);
240   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);
241   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);
242   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);
246243
247244   state->m_pf1_tilemap->set_transparent_pen(0);
248245   state->m_pf1_alt_tilemap->set_transparent_pen(0);
r17673r17674
255252{
256253   tumbleb_state *state = machine.driver_data<tumbleb_state>();
257254
258   state->m_pf1_tilemap =     tilemap_create(machine, get_fg_tile_info,  TILEMAP_SCAN_ROWS, 8,  8, 64, 32);
259   state->m_pf1_alt_tilemap = tilemap_create(machine, get_bg1_tile_info, tumblep_scan,     16, 16, 64, 32);
260   state->m_pf2_tilemap =     tilemap_create(machine, get_bg2_tile_info, tumblep_scan,     16, 16, 64, 32);
255   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);
256   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);
257   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);
261258
262259   state->m_pf1_tilemap->set_transparent_pen(0);
263260   state->m_pf1_alt_tilemap->set_transparent_pen(0);
r17673r17674
269266{
270267   tumbleb_state *state = machine.driver_data<tumbleb_state>();
271268
272   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
273   state->m_pf1_alt_tilemap = tilemap_create(machine, get_bg1_tile_info, tumblep_scan,     16, 16, 64, 32);
274   state->m_pf2_tilemap =     tilemap_create(machine, get_bg2_tile_info, tumblep_scan,     16, 16, 64, 32);
269   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
270   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);
271   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);
275272
276273   state->m_pf1_tilemap->set_transparent_pen(0);
277274   state->m_pf1_alt_tilemap->set_transparent_pen(0);
r17673r17674
283280{
284281   tumbleb_state *state = machine.driver_data<tumbleb_state>();
285282
286   state->m_pf1_tilemap =     tilemap_create(machine, get_fncywld_fg_tile_info,  TILEMAP_SCAN_ROWS, 8,  8, 64, 32);
287   state->m_pf1_alt_tilemap = tilemap_create(machine, get_fncywld_bg1_tile_info, tumblep_scan,     16, 16, 64, 32);
288   state->m_pf2_tilemap =     tilemap_create(machine, get_fncywld_bg2_tile_info, tumblep_scan,     16, 16, 64, 32);
283   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);
284   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);
285   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);
289286
290287   state->m_pf1_tilemap->set_transparent_pen(15);
291288   state->m_pf1_alt_tilemap->set_transparent_pen(15);
r17673r17674
298295{
299296   tumbleb_state *state = machine.driver_data<tumbleb_state>();
300297
301   state->m_pf1_tilemap =     tilemap_create(machine, get_fg_tile_info,  TILEMAP_SCAN_ROWS, 8,  8, 64, 32);
302   state->m_pf1_alt_tilemap = tilemap_create(machine, get_bg1_tile_info, tumblep_scan,     16, 16, 64, 32);
303   state->m_pf2_tilemap =     tilemap_create(machine, get_bg2_tile_info, tumblep_scan,     16, 16, 64, 32);
298   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);
299   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);
300   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);
304301
305302   state->m_pf1_alt_tilemap->set_transparent_pen(0);
306303
trunk/src/mame/video/kchamp.c
r17673r17674
4242   flip_screen_set(data & 0x01);
4343}
4444
45static TILE_GET_INFO( get_bg_tile_info )
45TILE_GET_INFO_MEMBER(kchamp_state::get_bg_tile_info)
4646{
47   kchamp_state *state = machine.driver_data<kchamp_state>();
48   int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 7) << 8);
49   int color = (state->m_colorram[tile_index] >> 3) & 0x1f;
47   int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 7) << 8);
48   int color = (m_colorram[tile_index] >> 3) & 0x1f;
5049
51   SET_TILE_INFO(0, code, color, 0);
50   SET_TILE_INFO_MEMBER(0, code, color, 0);
5251}
5352
5453VIDEO_START( kchamp )
5554{
5655   kchamp_state *state = machine.driver_data<kchamp_state>();
57   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
56   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);
5857}
5958
6059/*
trunk/src/mame/video/ultratnk.c
r17673r17674
3434}
3535
3636
37static TILE_GET_INFO( ultratnk_tile_info )
37TILE_GET_INFO_MEMBER(ultratnk_state::ultratnk_tile_info)
3838{
39   ultratnk_state *state = machine.driver_data<ultratnk_state>();
40   UINT8 *videoram = state->m_videoram;
39   UINT8 *videoram = m_videoram;
4140   UINT8 code = videoram[tile_index];
4241
4342   if (code & 0x20)
44      SET_TILE_INFO(0, code, code >> 6, 0);
43      SET_TILE_INFO_MEMBER(0, code, code >> 6, 0);
4544   else
46      SET_TILE_INFO(0, code, 4, 0);
45      SET_TILE_INFO_MEMBER(0, code, 4, 0);
4746}
4847
4948
r17673r17674
5251   ultratnk_state *state = machine.driver_data<ultratnk_state>();
5352   machine.primary_screen->register_screen_bitmap(state->m_helper);
5453
55   state->m_playfield = tilemap_create(machine, ultratnk_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
54   state->m_playfield = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ultratnk_state::ultratnk_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
5655}
5756
5857
trunk/src/mame/video/m90.c
r17673r17674
7878         tileinfo.category = (color & 0x30) ? 1 : 0;
7979}
8080
81static TILE_GET_INFO( get_pf1_tile_info ) { get_tile_info(machine,tileinfo,tile_index,0,0x3); }
82static TILE_GET_INFO( get_pf1w_tile_info ) { get_tile_info(machine,tileinfo,tile_index,0,0x2); }
83static TILE_GET_INFO( get_pf2_tile_info ) { get_tile_info(machine,tileinfo,tile_index,1,0x3); }
84static TILE_GET_INFO( get_pf2w_tile_info ) { get_tile_info(machine,tileinfo,tile_index,1,0x2); }
81TILE_GET_INFO_MEMBER(m90_state::get_pf1_tile_info){ get_tile_info(machine(),tileinfo,tile_index,0,0x3); }
82TILE_GET_INFO_MEMBER(m90_state::get_pf1w_tile_info){ get_tile_info(machine(),tileinfo,tile_index,0,0x2); }
83TILE_GET_INFO_MEMBER(m90_state::get_pf2_tile_info){ get_tile_info(machine(),tileinfo,tile_index,1,0x3); }
84TILE_GET_INFO_MEMBER(m90_state::get_pf2w_tile_info){ get_tile_info(machine(),tileinfo,tile_index,1,0x2); }
8585
86static TILE_GET_INFO( bomblord_get_pf1_tile_info ) { bomblord_get_tile_info(machine,tileinfo,tile_index,0); }
87static TILE_GET_INFO( bomblord_get_pf1w_tile_info ) { bomblord_get_tile_info(machine,tileinfo,tile_index,0); }
88static TILE_GET_INFO( bomblord_get_pf2_tile_info ) { bomblord_get_tile_info(machine,tileinfo,tile_index,2); }
89static TILE_GET_INFO( bomblord_get_pf2w_tile_info ) { bomblord_get_tile_info(machine,tileinfo,tile_index,2); }
86TILE_GET_INFO_MEMBER(m90_state::bomblord_get_pf1_tile_info){ bomblord_get_tile_info(machine(),tileinfo,tile_index,0); }
87TILE_GET_INFO_MEMBER(m90_state::bomblord_get_pf1w_tile_info){ bomblord_get_tile_info(machine(),tileinfo,tile_index,0); }
88TILE_GET_INFO_MEMBER(m90_state::bomblord_get_pf2_tile_info){ bomblord_get_tile_info(machine(),tileinfo,tile_index,2); }
89TILE_GET_INFO_MEMBER(m90_state::bomblord_get_pf2w_tile_info){ bomblord_get_tile_info(machine(),tileinfo,tile_index,2); }
9090
91static TILE_GET_INFO( dynablsb_get_pf1_tile_info ) { dynablsb_get_tile_info(machine,tileinfo,tile_index,0); }
92static TILE_GET_INFO( dynablsb_get_pf1w_tile_info ) { dynablsb_get_tile_info(machine,tileinfo,tile_index,0); }
93static TILE_GET_INFO( dynablsb_get_pf2_tile_info ) { dynablsb_get_tile_info(machine,tileinfo,tile_index,2); }
94static TILE_GET_INFO( dynablsb_get_pf2w_tile_info ) { dynablsb_get_tile_info(machine,tileinfo,tile_index,2); }
91TILE_GET_INFO_MEMBER(m90_state::dynablsb_get_pf1_tile_info){ dynablsb_get_tile_info(machine(),tileinfo,tile_index,0); }
92TILE_GET_INFO_MEMBER(m90_state::dynablsb_get_pf1w_tile_info){ dynablsb_get_tile_info(machine(),tileinfo,tile_index,0); }
93TILE_GET_INFO_MEMBER(m90_state::dynablsb_get_pf2_tile_info){ dynablsb_get_tile_info(machine(),tileinfo,tile_index,2); }
94TILE_GET_INFO_MEMBER(m90_state::dynablsb_get_pf2w_tile_info){ dynablsb_get_tile_info(machine(),tileinfo,tile_index,2); }
9595
9696VIDEO_START( m90 )
9797{
9898   m90_state *state = machine.driver_data<m90_state>();
99   state->m_pf1_layer =      tilemap_create(machine, get_pf1_tile_info, TILEMAP_SCAN_ROWS,8,8,64,64);
100   state->m_pf1_wide_layer = tilemap_create(machine, get_pf1w_tile_info,TILEMAP_SCAN_ROWS,8,8,128,64);
101   state->m_pf2_layer =      tilemap_create(machine, get_pf2_tile_info, TILEMAP_SCAN_ROWS,8,8,64,64);
102   state->m_pf2_wide_layer = tilemap_create(machine, get_pf2w_tile_info,TILEMAP_SCAN_ROWS,8,8,128,64);
99   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);
100   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);
101   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);
102   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);
103103
104104   state->m_pf1_layer->set_transparent_pen(0);
105105   state->m_pf1_wide_layer->set_transparent_pen(0);
r17673r17674
112112VIDEO_START( bomblord )
113113{
114114   m90_state *state = machine.driver_data<m90_state>();
115   state->m_pf1_layer =      tilemap_create(machine, bomblord_get_pf1_tile_info, TILEMAP_SCAN_ROWS,8,8,64,64);
116   state->m_pf1_wide_layer = tilemap_create(machine, bomblord_get_pf1w_tile_info,TILEMAP_SCAN_ROWS,8,8,128,64);
117   state->m_pf2_layer =      tilemap_create(machine, bomblord_get_pf2_tile_info, TILEMAP_SCAN_ROWS,8,8,64,64);
118   state->m_pf2_wide_layer = tilemap_create(machine, bomblord_get_pf2w_tile_info,TILEMAP_SCAN_ROWS,8,8,128,64);
115   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);
116   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);
117   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);
118   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);
119119
120120   state->m_pf2_layer->set_transparent_pen(0);
121121   state->m_pf2_wide_layer->set_transparent_pen(0);
r17673r17674
128128VIDEO_START( dynablsb )
129129{
130130   m90_state *state = machine.driver_data<m90_state>();
131   state->m_pf1_layer =      tilemap_create(machine, dynablsb_get_pf1_tile_info, TILEMAP_SCAN_ROWS,8,8,64,64);
132   state->m_pf1_wide_layer = tilemap_create(machine, dynablsb_get_pf1w_tile_info,TILEMAP_SCAN_ROWS,8,8,128,64);
133   state->m_pf2_layer =      tilemap_create(machine, dynablsb_get_pf2_tile_info, TILEMAP_SCAN_ROWS,8,8,64,64);
134   state->m_pf2_wide_layer = tilemap_create(machine, dynablsb_get_pf2w_tile_info,TILEMAP_SCAN_ROWS,8,8,128,64);
131   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);
132   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);
133   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);
134   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);
135135
136136   state->m_pf2_layer->set_transparent_pen(0);
137137   state->m_pf2_wide_layer->set_transparent_pen(0);
trunk/src/mame/video/scotrsht.c
r17673r17674
7979}
8080
8181
82static TILE_GET_INFO( scotrsht_get_bg_tile_info )
82TILE_GET_INFO_MEMBER(scotrsht_state::scotrsht_get_bg_tile_info)
8383{
84   scotrsht_state *state = machine.driver_data<scotrsht_state>();
85   int attr = state->m_colorram[tile_index];
86   int code = state->m_videoram[tile_index] + (state->m_charbank << 9) + ((attr & 0x40) << 2);
87   int color = (attr & 0x0f) + state->m_palette_bank * 16;
84   int attr = m_colorram[tile_index];
85   int code = m_videoram[tile_index] + (m_charbank << 9) + ((attr & 0x40) << 2);
86   int color = (attr & 0x0f) + m_palette_bank * 16;
8887   int flag = 0;
8988
9089   if(attr & 0x10)   flag |= TILE_FLIPX;
r17673r17674
9291
9392   // data & 0x80 -> tile priority?
9493
95   SET_TILE_INFO(0, code, color, flag);
94   SET_TILE_INFO_MEMBER(0, code, color, flag);
9695}
9796
9897/* Same as Jailbreak + palette bank */
r17673r17674
130129{
131130   scotrsht_state *state = machine.driver_data<scotrsht_state>();
132131
133   state->m_bg_tilemap = tilemap_create(machine, scotrsht_get_bg_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 64, 32);
132   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);
134133
135134   state->m_bg_tilemap->set_scroll_cols(64);
136135}
trunk/src/mame/video/phoenix.c
r17673r17674
136136
137137***************************************************************************/
138138
139static TILE_GET_INFO( get_fg_tile_info )
139TILE_GET_INFO_MEMBER(phoenix_state::get_fg_tile_info)
140140{
141   phoenix_state *state = machine.driver_data<phoenix_state>();
142141   int code, col;
143142
144   code = state->m_videoram_pg[state->m_videoram_pg_index][tile_index];
143   code = m_videoram_pg[m_videoram_pg_index][tile_index];
145144   col = (code >> 5);
146   col = col | 0x08 | (state->m_palette_bank << 4);
147   SET_TILE_INFO(
145   col = col | 0x08 | (m_palette_bank << 4);
146   SET_TILE_INFO_MEMBER(
148147         1,
149148         code,
150149         col,
151150         0);
152151}
153152
154static TILE_GET_INFO( get_bg_tile_info )
153TILE_GET_INFO_MEMBER(phoenix_state::get_bg_tile_info)
155154{
156   phoenix_state *state = machine.driver_data<phoenix_state>();
157155   int code, col;
158156
159   code = state->m_videoram_pg[state->m_videoram_pg_index][tile_index + 0x800];
157   code = m_videoram_pg[m_videoram_pg_index][tile_index + 0x800];
160158   col = (code >> 5);
161   col = col | 0x00 | (state->m_palette_bank << 4);
162   SET_TILE_INFO(
159   col = col | 0x00 | (m_palette_bank << 4);
160   SET_TILE_INFO_MEMBER(
163161         0,
164162         code,
165163         col,
r17673r17674
186184   state->m_palette_bank = 0;
187185   state->m_cocktail_mode = 0;
188186
189   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
190   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
187   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);
188   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);
191189
192190   state->m_fg_tilemap->set_transparent_pen(0);
193191
trunk/src/mame/video/superqix.c
r17673r17674
1818
1919***************************************************************************/
2020
21static TILE_GET_INFO( pb_get_bg_tile_info )
21TILE_GET_INFO_MEMBER(superqix_state::pb_get_bg_tile_info)
2222{
23   superqix_state *state = machine.driver_data<superqix_state>();
24   int attr = state->m_videoram[tile_index + 0x400];
25   int code = state->m_videoram[tile_index] + 256 * (attr & 0x7);
23   int attr = m_videoram[tile_index + 0x400];
24   int code = m_videoram[tile_index] + 256 * (attr & 0x7);
2625   int color = (attr & 0xf0) >> 4;
27   SET_TILE_INFO(0, code, color, 0);
26   SET_TILE_INFO_MEMBER(0, code, color, 0);
2827}
2928
30static TILE_GET_INFO( sqix_get_bg_tile_info )
29TILE_GET_INFO_MEMBER(superqix_state::sqix_get_bg_tile_info)
3130{
32   superqix_state *state = machine.driver_data<superqix_state>();
33   int attr = state->m_videoram[tile_index + 0x400];
31   int attr = m_videoram[tile_index + 0x400];
3432   int bank = (attr & 0x04) ? 0 : 1;
35   int code = state->m_videoram[tile_index] + 256 * (attr & 0x03);
33   int code = m_videoram[tile_index] + 256 * (attr & 0x03);
3634   int color = (attr & 0xf0) >> 4;
3735
38   if (bank) code += 1024 * state->m_gfxbank;
36   if (bank) code += 1024 * m_gfxbank;
3937
40   SET_TILE_INFO(bank, code, color, 0);
38   SET_TILE_INFO_MEMBER(bank, code, color, 0);
4139   tileinfo.group = (attr & 0x08) >> 3;
4240}
4341
r17673r17674
5250VIDEO_START( pbillian )
5351{
5452   superqix_state *state = machine.driver_data<superqix_state>();
55   state->m_bg_tilemap = tilemap_create(machine, pb_get_bg_tile_info, TILEMAP_SCAN_ROWS,  8, 8,32,32);
53   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);
5654}
5755
5856VIDEO_START( superqix )
r17673r17674
6058   superqix_state *state = machine.driver_data<superqix_state>();
6159   state->m_fg_bitmap[0] = auto_bitmap_ind16_alloc(machine, 256, 256);
6260   state->m_fg_bitmap[1] = auto_bitmap_ind16_alloc(machine, 256, 256);
63   state->m_bg_tilemap = tilemap_create(machine, sqix_get_bg_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 32, 32);
61   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);
6462
6563   state->m_bg_tilemap->set_transmask(0,0xffff,0x0000); /* split type 0 is totally transparent in front half */
6664   state->m_bg_tilemap->set_transmask(1,0x0001,0xfffe); /* split type 1 has pen 0 transparent in front half */
trunk/src/mame/video/markham.c
r17673r17674
5555   }
5656}
5757
58static TILE_GET_INFO( get_bg_tile_info )
58TILE_GET_INFO_MEMBER(markham_state::get_bg_tile_info)
5959{
60   markham_state *state = machine.driver_data<markham_state>();
61   int attr = state->m_videoram[tile_index * 2];
62   int code = state->m_videoram[(tile_index * 2) + 1] + ((attr & 0x60) << 3);
60   int attr = m_videoram[tile_index * 2];
61   int code = m_videoram[(tile_index * 2) + 1] + ((attr & 0x60) << 3);
6362   int color = (attr & 0x1f) | ((attr & 0x80) >> 2);
6463
65   SET_TILE_INFO(0, code, color, 0);
64   SET_TILE_INFO_MEMBER(0, code, color, 0);
6665}
6766
6867VIDEO_START( markham )
6968{
7069   markham_state *state = machine.driver_data<markham_state>();
71   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
70   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);
7271
7372   state->m_bg_tilemap->set_scroll_rows(32);
7473}
trunk/src/mame/video/msisaac.c
r17673r17674
1212
1313***************************************************************************/
1414
15static TILE_GET_INFO( get_fg_tile_info )
15TILE_GET_INFO_MEMBER(msisaac_state::get_fg_tile_info)
1616{
17   msisaac_state *state = machine.driver_data<msisaac_state>();
18   int tile_number = state->m_videoram[tile_index];
19   SET_TILE_INFO( 0,
17   int tile_number = m_videoram[tile_index];
18   SET_TILE_INFO_MEMBER( 0,
2019         tile_number,
2120         0x10,
2221         0);
2322}
2423
25static TILE_GET_INFO( get_bg_tile_info )
24TILE_GET_INFO_MEMBER(msisaac_state::get_bg_tile_info)
2625{
27   msisaac_state *state = machine.driver_data<msisaac_state>();
28   int tile_number = state->m_videoram2[tile_index];
29   SET_TILE_INFO( 1,
26   int tile_number = m_videoram2[tile_index];
27   SET_TILE_INFO_MEMBER( 1,
3028         0x100 + tile_number,
3129         0x30,
3230         0);
3331}
3432
35static TILE_GET_INFO( get_bg2_tile_info )
33TILE_GET_INFO_MEMBER(msisaac_state::get_bg2_tile_info)
3634{
37   msisaac_state *state = machine.driver_data<msisaac_state>();
38   int tile_number = state->m_videoram3[tile_index];
35   int tile_number = m_videoram3[tile_index];
3936
4037   /* graphics 0 or 1 */
41   int gfx_b = (state->m_bg2_textbank >> 3) & 1;
38   int gfx_b = (m_bg2_textbank >> 3) & 1;
4239
43   SET_TILE_INFO( gfx_b,
40   SET_TILE_INFO_MEMBER( gfx_b,
4441         tile_number,
4542         0x20,
4643         0);
r17673r17674
5552VIDEO_START( msisaac )
5653{
5754   msisaac_state *state = machine.driver_data<msisaac_state>();
58   state->m_bg_tilemap  = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
59   state->m_bg2_tilemap = tilemap_create(machine, get_bg2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
60   state->m_fg_tilemap  = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
55   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);
56   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);
57   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);
6158
6259   state->m_bg2_tilemap->set_transparent_pen(0);
6360   state->m_fg_tilemap->set_transparent_pen(0);
trunk/src/mame/video/playch10.c
r17673r17674
7979   ppu_irq            /* irq */
8080};
8181
82static TILE_GET_INFO( get_bg_tile_info )
82TILE_GET_INFO_MEMBER(playch10_state::get_bg_tile_info)
8383{
84   playch10_state *state = machine.driver_data<playch10_state>();
85   UINT8 *videoram = state->m_videoram;
84   UINT8 *videoram = m_videoram;
8685   int offs = tile_index * 2;
8786   int code = videoram[offs] + ((videoram[offs + 1] & 0x07) << 8);
8887   int color = (videoram[offs + 1] >> 3) & 0x1f;
8988
90   SET_TILE_INFO(0, code, color, 0);
89   SET_TILE_INFO_MEMBER(0, code, color, 0);
9190}
9291
9392VIDEO_START( playch10 )
r17673r17674
9695   const UINT8 *bios = state->memregion("maincpu")->base();
9796   state->m_pc10_bios = (bios[3] == 0x2a) ? 1 : 2;
9897
99   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
98   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playch10_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
10099       8, 8, 32, 32);
101100}
102101
r17673r17674
106105   const UINT8 *bios = state->memregion("maincpu")->base();
107106   state->m_pc10_bios = (bios[3] == 0x2a) ? 1 : 2;
108107
109   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
108   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(playch10_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
110109       8, 8, 32, 32);
111110}
112111
trunk/src/mame/video/dday.c
r17673r17674
153153
154154***************************************************************************/
155155
156static TILE_GET_INFO( get_bg_tile_info )
156TILE_GET_INFO_MEMBER(dday_state::get_bg_tile_info)
157157{
158   dday_state *state = machine.driver_data<dday_state>();
159158   int code;
160159
161   code = state->m_bgvideoram[tile_index];
162   SET_TILE_INFO(0, code, code >> 5, 0);
160   code = m_bgvideoram[tile_index];
161   SET_TILE_INFO_MEMBER(0, code, code >> 5, 0);
163162}
164163
165static TILE_GET_INFO( get_fg_tile_info )
164TILE_GET_INFO_MEMBER(dday_state::get_fg_tile_info)
166165{
167   dday_state *state = machine.driver_data<dday_state>();
168166   int code, flipx;
169167
170   flipx = state->m_colorram[tile_index & 0x03e0] & 0x01;
171   code = state->m_fgvideoram[flipx ? tile_index ^ 0x1f : tile_index];
172   SET_TILE_INFO(2, code, code >> 5, flipx ? TILE_FLIPX : 0);
168   flipx = m_colorram[tile_index & 0x03e0] & 0x01;
169   code = m_fgvideoram[flipx ? tile_index ^ 0x1f : tile_index];
170   SET_TILE_INFO_MEMBER(2, code, code >> 5, flipx ? TILE_FLIPX : 0);
173171}
174172
175static TILE_GET_INFO( get_text_tile_info )
173TILE_GET_INFO_MEMBER(dday_state::get_text_tile_info)
176174{
177   dday_state *state = machine.driver_data<dday_state>();
178175   int code;
179176
180   code = state->m_textvideoram[tile_index];
181   SET_TILE_INFO(1, code, code >> 5, 0);
177   code = m_textvideoram[tile_index];
178   SET_TILE_INFO_MEMBER(1, code, code >> 5, 0);
182179}
183180
184static TILE_GET_INFO( get_sl_tile_info )
181TILE_GET_INFO_MEMBER(dday_state::get_sl_tile_info)
185182{
186   dday_state *state = machine.driver_data<dday_state>();
187183   int code, sl_flipx, flipx;
188184   UINT8* sl_map;
189185
190   sl_map = &state->memregion("user1")->base()[(state->m_sl_image & 0x07) * 0x0200];
186   sl_map = &memregion("user1")->base()[(m_sl_image & 0x07) * 0x0200];
191187
192188   flipx = (tile_index >> 4) & 0x01;
193   sl_flipx = (state->m_sl_image >> 3) & 0x01;
189   sl_flipx = (m_sl_image >> 3) & 0x01;
194190
195191   /* bit 4 is really a flip indicator.  Need to shift bits 5-9 to the right by 1 */
196192   tile_index = ((tile_index & 0x03e0) >> 1) | (tile_index & 0x0f);
r17673r17674
201197      /* no mirroring, draw dark spot */
202198      code = 1;
203199
204   SET_TILE_INFO(3, code & 0x3f, 0, flipx ? TILE_FLIPX : 0);
200   SET_TILE_INFO_MEMBER(3, code & 0x3f, 0, flipx ? TILE_FLIPX : 0);
205201}
206202
207203
r17673r17674
214210VIDEO_START( dday )
215211{
216212   dday_state *state = machine.driver_data<dday_state>();
217   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
218   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
219   state->m_text_tilemap = tilemap_create(machine, get_text_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
220   state->m_sl_tilemap = tilemap_create(machine, get_sl_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
213   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);
214   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);
215   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);
216   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);
221217
222218   machine.primary_screen->register_screen_bitmap(state->m_main_bitmap);
223219
trunk/src/mame/video/cyberbal.c
r17673r17674
2020 *
2121 *************************************/
2222
23static TILE_GET_INFO( get_alpha_tile_info )
23TILE_GET_INFO_MEMBER(cyberbal_state::get_alpha_tile_info)
2424{
25   cyberbal_state *state = machine.driver_data<cyberbal_state>();
26   UINT16 data = state->m_alpha[tile_index];
25   UINT16 data = m_alpha[tile_index];
2726   int code = data & 0xfff;
2827   int color = (data >> 12) & 0x07;
29   SET_TILE_INFO(2, code, color, (data >> 15) & 1);
28   SET_TILE_INFO_MEMBER(2, code, color, (data >> 15) & 1);
3029}
3130
3231
33static TILE_GET_INFO( get_alpha2_tile_info )
32TILE_GET_INFO_MEMBER(cyberbal_state::get_alpha2_tile_info)
3433{
35   cyberbal_state *state = machine.driver_data<cyberbal_state>();
36   UINT16 data = state->m_alpha2[tile_index];
34   UINT16 data = m_alpha2[tile_index];
3735   int code = data & 0xfff;
3836   int color = (data >> 12) & 0x07;
39   SET_TILE_INFO(2, code, 0x80 | color, (data >> 15) & 1);
37   SET_TILE_INFO_MEMBER(2, code, 0x80 | color, (data >> 15) & 1);
4038}
4139
4240
43static TILE_GET_INFO( get_playfield_tile_info )
41TILE_GET_INFO_MEMBER(cyberbal_state::get_playfield_tile_info)
4442{
45   cyberbal_state *state = machine.driver_data<cyberbal_state>();
46   UINT16 data = state->m_playfield[tile_index];
43   UINT16 data = m_playfield[tile_index];
4744   int code = data & 0x1fff;
4845   int color = (data >> 11) & 0x0f;
49   SET_TILE_INFO(0, code, color, (data >> 15) & 1);
46   SET_TILE_INFO_MEMBER(0, code, color, (data >> 15) & 1);
5047}
5148
5249
53static TILE_GET_INFO( get_playfield2_tile_info )
50TILE_GET_INFO_MEMBER(cyberbal_state::get_playfield2_tile_info)
5451{
55   cyberbal_state *state = machine.driver_data<cyberbal_state>();
56   UINT16 data = state->m_playfield2[tile_index];
52   UINT16 data = m_playfield2[tile_index];
5753   int code = data & 0x1fff;
5854   int color = (data >> 11) & 0x0f;
59   SET_TILE_INFO(0, code, 0x80 | color, (data >> 15) & 1);
55   SET_TILE_INFO_MEMBER(0, code, 0x80 | color, (data >> 15) & 1);
6056}
6157
6258
r17673r17674
145141   cyberbal_state *state = machine.driver_data<cyberbal_state>();
146142
147143   /* initialize the playfield */
148   state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_ROWS,  16,8, 64,64);
144   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);
149145
150146   /* initialize the motion objects */
151147   atarimo_init(machine, 0, &mo0desc);
152148   atarimo_set_slipram(0, &state->m_current_slip[0]);
153149
154150   /* initialize the alphanumerics */
155   state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS,  16,8, 64,32);
151   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);
156152   state->m_alpha_tilemap->set_transparent_pen(0);
157153
158154   /* allocate the second screen if necessary */
159155   if (screens == 2)
160156   {
161157      /* initialize the playfield */
162      state->m_playfield2_tilemap = tilemap_create(machine, get_playfield2_tile_info, TILEMAP_SCAN_ROWS,  16,8, 64,64);
158      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);
163159      state->m_playfield2_tilemap->set_scrollx(0, 0);
164160
165161      /* initialize the motion objects */
r17673r17674
167163      atarimo_set_slipram(1, &state->m_current_slip[1]);
168164
169165      /* initialize the alphanumerics */
170      state->m_alpha2_tilemap = tilemap_create(machine, get_alpha2_tile_info, TILEMAP_SCAN_ROWS,  16,8, 64,32);
166      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);
171167      state->m_alpha2_tilemap->set_scrollx(0, 0);
172168      state->m_alpha2_tilemap->set_transparent_pen(0);
173169   }
trunk/src/mame/video/lockon.c
r17673r17674
139139   m_tilemap->mark_tile_dirty(offset);
140140}
141141
142static TILE_GET_INFO( get_lockon_tile_info )
142TILE_GET_INFO_MEMBER(lockon_state::get_lockon_tile_info)
143143{
144   lockon_state *state = machine.driver_data<lockon_state>();
145   UINT32 tileno = state->m_char_ram[tile_index] & 0x03ff;
146   UINT32 col = (state->m_char_ram[tile_index] >> 10) & 0x3f;
144   UINT32 tileno = m_char_ram[tile_index] & 0x03ff;
145   UINT32 col = (m_char_ram[tile_index] >> 10) & 0x3f;
147146
148147   col = (col & 0x1f) + (col & 0x20 ? 64 : 0);
149   SET_TILE_INFO(0, tileno, col, 0);
148   SET_TILE_INFO_MEMBER(0, tileno, col, 0);
150149}
151150
152151
r17673r17674
900899{
901900   lockon_state *state = machine.driver_data<lockon_state>();
902901
903   state->m_tilemap = tilemap_create(machine, get_lockon_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
902   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);
904903   state->m_tilemap->set_transparent_pen(0);
905904
906905   /* Allocate the two frame buffers for rotation */
trunk/src/mame/video/mappy.c
r17673r17674
235235***************************************************************************/
236236
237237/* convert from 32x32 to 36x28 */
238static TILEMAP_MAPPER( superpac_tilemap_scan )
238TILEMAP_MAPPER_MEMBER(mappy_state::superpac_tilemap_scan)
239239{
240240   int offs;
241241
r17673r17674
250250}
251251
252252/* tilemap is a composition of a 32x60 scrolling portion and two 2x28 fixed portions on the sides */
253static TILEMAP_MAPPER( mappy_tilemap_scan )
253TILEMAP_MAPPER_MEMBER(mappy_state::mappy_tilemap_scan)
254254{
255255   int offs;
256256
r17673r17674
271271   return offs;
272272}
273273
274static TILE_GET_INFO( superpac_get_tile_info )
274TILE_GET_INFO_MEMBER(mappy_state::superpac_get_tile_info)
275275{
276   mappy_state *state = machine.driver_data<mappy_state>();
277   UINT8 attr = state->m_videoram[tile_index + 0x400];
276   UINT8 attr = m_videoram[tile_index + 0x400];
278277
279278   tileinfo.category = (attr & 0x40) >> 6;
280279   tileinfo.group = attr & 0x3f;
281   SET_TILE_INFO(
280   SET_TILE_INFO_MEMBER(
282281         0,
283         state->m_videoram[tile_index],
282         m_videoram[tile_index],
284283         attr & 0x3f,
285284         0);
286285}
287286
288static TILE_GET_INFO( phozon_get_tile_info )
287TILE_GET_INFO_MEMBER(mappy_state::phozon_get_tile_info)
289288{
290   mappy_state *state = machine.driver_data<mappy_state>();
291   UINT8 attr = state->m_videoram[tile_index + 0x400];
289   UINT8 attr = m_videoram[tile_index + 0x400];
292290
293291   tileinfo.category = (attr & 0x40) >> 6;
294292   tileinfo.group = attr & 0x3f;
295   SET_TILE_INFO(
293   SET_TILE_INFO_MEMBER(
296294         0,
297         state->m_videoram[tile_index] + ((attr & 0x80) << 1),
295         m_videoram[tile_index] + ((attr & 0x80) << 1),
298296         attr & 0x3f,
299297         0);
300298}
301299
302static TILE_GET_INFO( mappy_get_tile_info )
300TILE_GET_INFO_MEMBER(mappy_state::mappy_get_tile_info)
303301{
304   mappy_state *state = machine.driver_data<mappy_state>();
305   UINT8 attr = state->m_videoram[tile_index + 0x800];
302   UINT8 attr = m_videoram[tile_index + 0x800];
306303
307304   tileinfo.category = (attr & 0x40) >> 6;
308305   tileinfo.group = attr & 0x3f;
309   SET_TILE_INFO(
306   SET_TILE_INFO_MEMBER(
310307         0,
311         state->m_videoram[tile_index],
308         m_videoram[tile_index],
312309         attr & 0x3f,
313310         0);
314311}
r17673r17674
325322{
326323   mappy_state *state = machine.driver_data<mappy_state>();
327324
328   state->m_bg_tilemap = tilemap_create(machine, superpac_get_tile_info,superpac_tilemap_scan,8,8,36,28);
325   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);
329326   machine.primary_screen->register_screen_bitmap(state->m_sprite_bitmap);
330327
331328   colortable_configure_tilemap_groups(machine.colortable, state->m_bg_tilemap, machine.gfx[0], 31);
r17673r17674
335332{
336333   mappy_state *state = machine.driver_data<mappy_state>();
337334
338   state->m_bg_tilemap = tilemap_create(machine, phozon_get_tile_info,superpac_tilemap_scan,8,8,36,28);
335   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);
339336
340337   colortable_configure_tilemap_groups(machine.colortable, state->m_bg_tilemap, machine.gfx[0], 15);
341338
r17673r17674
346343{
347344   mappy_state *state = machine.driver_data<mappy_state>();
348345
349   state->m_bg_tilemap = tilemap_create(machine, mappy_get_tile_info,mappy_tilemap_scan,8,8,36,60);
346   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);
350347
351348   colortable_configure_tilemap_groups(machine.colortable, state->m_bg_tilemap, machine.gfx[0], 31);
352349   state->m_bg_tilemap->set_scroll_cols(36);
trunk/src/mame/video/tigeroad.c
r17673r17674
109109   }
110110}
111111
112static TILE_GET_INFO( get_bg_tile_info )
112TILE_GET_INFO_MEMBER(tigeroad_state::get_bg_tile_info)
113113{
114   tigeroad_state *state = machine.driver_data<tigeroad_state>();
115   UINT8 *tilerom = state->memregion("gfx4")->base();
114   UINT8 *tilerom = memregion("gfx4")->base();
116115
117116   int data = tilerom[tile_index];
118117   int attr = tilerom[tile_index + 1];
119   int code = data + ((attr & 0xc0) << 2) + (state->m_bgcharbank << 10);
118   int code = data + ((attr & 0xc0) << 2) + (m_bgcharbank << 10);
120119   int color = attr & 0x0f;
121120   int flags = (attr & 0x20) ? TILE_FLIPX : 0;
122121
123   SET_TILE_INFO(1, code, color, flags);
122   SET_TILE_INFO_MEMBER(1, code, color, flags);
124123   tileinfo.group = (attr & 0x10) ? 1 : 0;
125124}
126125
127static TILE_GET_INFO( get_fg_tile_info )
126TILE_GET_INFO_MEMBER(tigeroad_state::get_fg_tile_info)
128127{
129   tigeroad_state *state = machine.driver_data<tigeroad_state>();
130   UINT16 *videoram = state->m_videoram;
128   UINT16 *videoram = m_videoram;
131129   int data = videoram[tile_index];
132130   int attr = data >> 8;
133131   int code = (data & 0xff) + ((attr & 0xc0) << 2) + ((attr & 0x20) << 5);
134132   int color = attr & 0x0f;
135133   int flags = (attr & 0x10) ? TILE_FLIPY : 0;
136134
137   SET_TILE_INFO(0, code, color, flags);
135   SET_TILE_INFO_MEMBER(0, code, color, flags);
138136}
139137
140static TILEMAP_MAPPER( tigeroad_tilemap_scan )
138TILEMAP_MAPPER_MEMBER(tigeroad_state::tigeroad_tilemap_scan)
141139{
142140   /* logical (col,row) -> memory offset */
143141   return 2 * (col % 8) + 16 * ((127 - row) % 8) + 128 * (col / 8) + 2048 * ((127 - row) / 8);
r17673r17674
146144VIDEO_START( tigeroad )
147145{
148146   tigeroad_state *state = machine.driver_data<tigeroad_state>();
149   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, tigeroad_tilemap_scan,
147   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),
150148       32, 32, 128, 128);
151149
152   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,
150   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tigeroad_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,
153151       8, 8, 32, 32);
154152
155153   state->m_bg_tilemap->set_transmask(0, 0xffff, 0);
trunk/src/mame/video/segas32.c
r17673r17674
221221 *
222222 *************************************/
223223
224static TILE_GET_INFO( get_tile_info );
224
225225static void sprite_erase_buffer(segas32_state *state);
226226static void sprite_swap_buffers(segas32_state *state);
227227static void sprite_render_list(running_machine &machine);
r17673r17674
252252   {
253253      struct cache_entry *entry = auto_alloc(machine, struct cache_entry);
254254
255      entry->tmap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS,  16,16, 32,16);
255      entry->tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(segas32_state::get_tile_info),state), TILEMAP_SCAN_ROWS,  16,16, 32,16);
256256      entry->page = 0xff;
257257      entry->bank = 0;
258258      entry->next = state->m_cache_head;
r17673r17674
747747 *
748748 *************************************/
749749
750static TILE_GET_INFO( get_tile_info )
750TILE_GET_INFO_MEMBER(segas32_state::get_tile_info)
751751{
752   segas32_state *state = machine.driver_data<segas32_state>();
753752   struct cache_entry *entry = (struct cache_entry *)param;
754   UINT16 data = state->m_system32_videoram[(entry->page & 0x7f) * 0x200 + tile_index];
755   SET_TILE_INFO(0, (entry->bank << 13) + (data & 0x1fff), (data >> 4) & 0x1ff, (data >> 14) & 3);
753   UINT16 data = m_system32_videoram[(entry->page & 0x7f) * 0x200 + tile_index];
754   SET_TILE_INFO_MEMBER(0, (entry->bank << 13) + (data & 0x1fff), (data >> 4) & 0x1ff, (data >> 14) & 3);
756755}
757756
758757
trunk/src/mame/video/badlands.c
r17673r17674
1616 *
1717 *************************************/
1818
19static TILE_GET_INFO( get_playfield_tile_info )
19TILE_GET_INFO_MEMBER(badlands_state::get_playfield_tile_info)
2020{
21   badlands_state *state = machine.driver_data<badlands_state>();
22   UINT16 data = state->m_playfield[tile_index];
23   int code = (data & 0x1fff) + ((data & 0x1000) ? (state->m_playfield_tile_bank << 12) : 0);
21   UINT16 data = m_playfield[tile_index];
22   int code = (data & 0x1fff) + ((data & 0x1000) ? (m_playfield_tile_bank << 12) : 0);
2423   int color = (data >> 13) & 0x07;
25   SET_TILE_INFO(0, code, color, 0);
24   SET_TILE_INFO_MEMBER(0, code, color, 0);
2625}
2726
2827
r17673r17674
7473   badlands_state *state = machine.driver_data<badlands_state>();
7574
7675   /* initialize the playfield */
77   state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_ROWS,  8,8, 64,32);
76   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);
7877
7978   /* initialize the motion objects */
8079   atarimo_init(machine, 0, &modesc);
trunk/src/mame/video/slapfght.c
r17673r17674
1616
1717***************************************************************************/
1818
19static TILE_GET_INFO( get_pf_tile_info )   /* For Performan only */
19TILE_GET_INFO_MEMBER(slapfght_state::get_pf_tile_info)/* For Performan only */
2020{
21   slapfght_state *state = machine.driver_data<slapfght_state>();
2221   int tile,color;
2322
24   tile=state->m_slapfight_videoram[tile_index] + ((state->m_slapfight_colorram[tile_index] & 0x03) << 8);
25   color=(state->m_slapfight_colorram[tile_index] >> 3) & 0x0f;
26   SET_TILE_INFO(
23   tile=m_slapfight_videoram[tile_index] + ((m_slapfight_colorram[tile_index] & 0x03) << 8);
24   color=(m_slapfight_colorram[tile_index] >> 3) & 0x0f;
25   SET_TILE_INFO_MEMBER(
2726         0,
2827         tile,
2928         color,
3029         0);
3130}
3231
33static TILE_GET_INFO( get_pf1_tile_info )
32TILE_GET_INFO_MEMBER(slapfght_state::get_pf1_tile_info)
3433{
35   slapfght_state *state = machine.driver_data<slapfght_state>();
3634   int tile,color;
3735
38   tile=state->m_slapfight_videoram[tile_index] + ((state->m_slapfight_colorram[tile_index] & 0x0f) << 8);
39   color=(state->m_slapfight_colorram[tile_index] & 0xf0) >> 4;
36   tile=m_slapfight_videoram[tile_index] + ((m_slapfight_colorram[tile_index] & 0x0f) << 8);
37   color=(m_slapfight_colorram[tile_index] & 0xf0) >> 4;
4038
41   SET_TILE_INFO(
39   SET_TILE_INFO_MEMBER(
4240         1,
4341         tile,
4442         color,
4543         0);
4644}
4745
48static TILE_GET_INFO( get_fix_tile_info )
46TILE_GET_INFO_MEMBER(slapfght_state::get_fix_tile_info)
4947{
50   slapfght_state *state = machine.driver_data<slapfght_state>();
5148   int tile,color;
5249
53   tile=state->m_slapfight_fixvideoram[tile_index] + ((state->m_slapfight_fixcolorram[tile_index] & 0x03) << 8);
54   color=(state->m_slapfight_fixcolorram[tile_index] & 0xfc) >> 2;
50   tile=m_slapfight_fixvideoram[tile_index] + ((m_slapfight_fixcolorram[tile_index] & 0x03) << 8);
51   color=(m_slapfight_fixcolorram[tile_index] & 0xfc) >> 2;
5552
56   SET_TILE_INFO(
53   SET_TILE_INFO_MEMBER(
5754         0,
5855         tile,
5956         color,
r17673r17674
7067VIDEO_START( perfrman )
7168{
7269   slapfght_state *state = machine.driver_data<slapfght_state>();
73   state->m_pf1_tilemap = tilemap_create(machine, get_pf_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
70   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);
7471
7572   state->m_pf1_tilemap->set_transparent_pen(0);
7673}
r17673r17674
7875VIDEO_START( slapfight )
7976{
8077   slapfght_state *state = machine.driver_data<slapfght_state>();
81   state->m_pf1_tilemap = tilemap_create(machine, get_pf1_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
82   state->m_fix_tilemap = tilemap_create(machine, get_fix_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
78   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);
79   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);
8380
8481   state->m_fix_tilemap->set_transparent_pen(0);
8582}
trunk/src/mame/video/quizdna.c
r17673r17674
1313#include "includes/quizdna.h"
1414
1515
16static TILE_GET_INFO( get_bg_tile_info )
16TILE_GET_INFO_MEMBER(quizdna_state::get_bg_tile_info)
1717{
18   quizdna_state *state = machine.driver_data<quizdna_state>();
19   int code = state->m_bg_ram[tile_index*2] + state->m_bg_ram[tile_index*2+1]*0x100 ;
20   int col = state->m_bg_ram[tile_index*2+0x1000] & 0x7f;
18   int code = m_bg_ram[tile_index*2] + m_bg_ram[tile_index*2+1]*0x100 ;
19   int col = m_bg_ram[tile_index*2+0x1000] & 0x7f;
2120
2221   if (code>0x7fff)
2322      code &= 0x83ff;
2423
25   SET_TILE_INFO(1, code, col, 0);
24   SET_TILE_INFO_MEMBER(1, code, col, 0);
2625}
2726
28static TILE_GET_INFO( get_fg_tile_info )
27TILE_GET_INFO_MEMBER(quizdna_state::get_fg_tile_info)
2928{
30   quizdna_state *state = machine.driver_data<quizdna_state>();
3129   int code,col,x,y;
32   UINT8 *FG = state->memregion("user1")->base();
30   UINT8 *FG = memregion("user1")->base();
3331
3432   x = tile_index & 0x1f;
3533   y = FG[(tile_index >> 5) & 0x1f] & 0x3f;
r17673r17674
3735
3836   y >>= 1;
3937
40   col = state->m_fg_ram[x*2 + y*0x40 + 1];
41   code += (state->m_fg_ram[x*2 + y*0x40] + (col & 0x1f) * 0x100) * 2;
38   col = m_fg_ram[x*2 + y*0x40 + 1];
39   code += (m_fg_ram[x*2 + y*0x40] + (col & 0x1f) * 0x100) * 2;
4240   col >>= 5;
4341   col = (col & 3) | ((col & 4) << 1);
4442
45   SET_TILE_INFO(0, code, col, 0);
43   SET_TILE_INFO_MEMBER(0, code, col, 0);
4644}
4745
4846
r17673r17674
5755   state->m_bg_ram = auto_alloc_array(machine, UINT8, 0x2000);
5856   state->m_fg_ram = auto_alloc_array(machine, UINT8, 0x1000);
5957
60   state->m_bg_tilemap = tilemap_create( machine, get_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32 );
61   state->m_fg_tilemap = tilemap_create( machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,16,8,32,32 );
58   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 );
59   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 );
6260
6361   state->m_fg_tilemap->set_transparent_pen(0 );
6462}
trunk/src/mame/video/offtwall.c
r17673r17674
1616 *
1717 *************************************/
1818
19static TILE_GET_INFO( get_playfield_tile_info )
19TILE_GET_INFO_MEMBER(offtwall_state::get_playfield_tile_info)
2020{
21   offtwall_state *state = machine.driver_data<offtwall_state>();
22   UINT16 data1 = state->m_playfield[tile_index];
23   UINT16 data2 = state->m_playfield_upper[tile_index] >> 8;
21   UINT16 data1 = m_playfield[tile_index];
22   UINT16 data2 = m_playfield_upper[tile_index] >> 8;
2423   int code = data1 & 0x7fff;
2524   int color = 0x10 + (data2 & 0x0f);
26   SET_TILE_INFO(0, code, color, (data1 >> 15) & 1);
25   SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
2726}
2827
2928
r17673r17674
7574   offtwall_state *state = machine.driver_data<offtwall_state>();
7675
7776   /* initialize the playfield */
78   state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_COLS,  8,8, 64,64);
77   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);
7978
8079   /* initialize the motion objects */
8180   atarimo_init(machine, 0, &modesc);
trunk/src/mame/video/equites.c
r17673r17674
6262 *
6363 *************************************/
6464
65static TILE_GET_INFO( equites_fg_info )
65TILE_GET_INFO_MEMBER(equites_state::equites_fg_info)
6666{
67   equites_state *state = machine.driver_data<equites_state>();
68   int tile = state->m_fg_videoram[2 * tile_index];
69   int color = state->m_fg_videoram[2 * tile_index + 1] & 0x1f;
67   int tile = m_fg_videoram[2 * tile_index];
68   int color = m_fg_videoram[2 * tile_index + 1] & 0x1f;
7069
71   SET_TILE_INFO(0, tile, color, 0);
70   SET_TILE_INFO_MEMBER(0, tile, color, 0);
7271   if (color & 0x10)
7372      tileinfo.flags |= TILE_FORCE_LAYER0;
7473}
7574
76static TILE_GET_INFO( splndrbt_fg_info )
75TILE_GET_INFO_MEMBER(equites_state::splndrbt_fg_info)
7776{
78   equites_state *state = machine.driver_data<equites_state>();
79   int tile = state->m_fg_videoram[2 * tile_index] + (state->m_fg_char_bank << 8);
80   int color = state->m_fg_videoram[2 * tile_index + 1] & 0x3f;
77   int tile = m_fg_videoram[2 * tile_index] + (m_fg_char_bank << 8);
78   int color = m_fg_videoram[2 * tile_index + 1] & 0x3f;
8179
82   SET_TILE_INFO(0, tile, color, 0);
80   SET_TILE_INFO_MEMBER(0, tile, color, 0);
8381   if (color & 0x10)
8482      tileinfo.flags |= TILE_FORCE_LAYER0;
8583}
8684
87static TILE_GET_INFO( equites_bg_info )
85TILE_GET_INFO_MEMBER(equites_state::equites_bg_info)
8886{
89   equites_state *state = machine.driver_data<equites_state>();
90   int data = state->m_bg_videoram[tile_index];
87   int data = m_bg_videoram[tile_index];
9188   int tile = data & 0x1ff;
9289   int color = (data & 0xf000) >> 12;
9390   int fxy = (data & 0x0600) >> 9;
9491
95   SET_TILE_INFO(1, tile, color, TILE_FLIPXY(fxy));
92   SET_TILE_INFO_MEMBER(1, tile, color, TILE_FLIPXY(fxy));
9693}
9794
98static TILE_GET_INFO( splndrbt_bg_info )
95TILE_GET_INFO_MEMBER(equites_state::splndrbt_bg_info)
9996{
100   equites_state *state = machine.driver_data<equites_state>();
101   int data = state->m_bg_videoram[tile_index];
97   int data = m_bg_videoram[tile_index];
10298   int tile = data & 0x1ff;
10399   int color = (data & 0xf800) >> 11;
104100   int fxy = (data & 0x0600) >> 9;
105101
106   SET_TILE_INFO(1, tile, color, TILE_FLIPXY(fxy));
102   SET_TILE_INFO_MEMBER(1, tile, color, TILE_FLIPXY(fxy));
107103   tileinfo.group = color;
108104}
109105
r17673r17674
121117   state->m_fg_videoram = auto_alloc_array(machine, UINT8, 0x800);
122118   state->save_pointer(NAME(state->m_fg_videoram), 0x800);
123119
124   state->m_fg_tilemap = tilemap_create(machine, equites_fg_info, TILEMAP_SCAN_COLS,  8, 8, 32, 32);
120   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);
125121   state->m_fg_tilemap->set_transparent_pen(0);
126122
127   state->m_bg_tilemap = tilemap_create(machine, equites_bg_info, TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
123   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);
128124   state->m_bg_tilemap->set_transparent_pen(0);
129125   state->m_bg_tilemap->set_scrolldx(0, -10);
130126}
r17673r17674
137133   state->m_fg_videoram = auto_alloc_array(machine, UINT8, 0x800);
138134   state->save_pointer(NAME(state->m_fg_videoram), 0x800);
139135
140   state->m_fg_tilemap = tilemap_create(machine, splndrbt_fg_info, TILEMAP_SCAN_COLS,  8, 8, 32, 32);
136   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);
141137   state->m_fg_tilemap->set_transparent_pen(0);
142138   state->m_fg_tilemap->set_scrolldx(8, -8);
143139
144   state->m_bg_tilemap = tilemap_create(machine, splndrbt_bg_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
140   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);
145141   colortable_configure_tilemap_groups(machine.colortable, state->m_bg_tilemap, machine.gfx[1], 0x10);
146142}
147143
trunk/src/mame/video/mystwarr.c
r17673r17674
140140
141141
142142
143static TILE_GET_INFO( get_gai_936_tile_info )
143TILE_GET_INFO_MEMBER(mystwarr_state::get_gai_936_tile_info)
144144{
145   mystwarr_state *state = machine.driver_data<mystwarr_state>();
146145   int tileno, colour;
147   UINT8 *ROM = state->memregion("gfx4")->base();
146   UINT8 *ROM = memregion("gfx4")->base();
148147   UINT8 *dat1 = ROM, *dat2 = ROM + 0x20000, *dat3 = ROM + 0x60000;
149148
150149   tileno = dat3[tile_index] | ((dat2[tile_index]&0x3f)<<8);
r17673r17674
156155
157156   if (dat2[tile_index] & 0x80) colour |= 0x10;
158157
159   colour |= state->m_sub1_colorbase << 4;
158   colour |= m_sub1_colorbase << 4;
160159
161   SET_TILE_INFO(0, tileno, colour, 0);
160   SET_TILE_INFO_MEMBER(0, tileno, colour, 0);
162161}
163162
164163VIDEO_START(gaiapols)
r17673r17674
185184   K053936_wraparound_enable(0, 1);
186185   K053936GP_set_offset(0, -10,  0); // floor tiles in demo loop2 (Elaine vs. boss)
187186
188   state->m_ult_936_tilemap = tilemap_create(machine, get_gai_936_tile_info, TILEMAP_SCAN_ROWS,  16, 16, 512, 512);
187   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);
189188   state->m_ult_936_tilemap->set_transparent_pen(0);
190189}
191190
192static TILE_GET_INFO( get_ult_936_tile_info )
191TILE_GET_INFO_MEMBER(mystwarr_state::get_ult_936_tile_info)
193192{
194   mystwarr_state *state = machine.driver_data<mystwarr_state>();
195193   int tileno, colour;
196   UINT8 *ROM = state->memregion("gfx4")->base();
194   UINT8 *ROM = memregion("gfx4")->base();
197195   UINT8 *dat1 = ROM, *dat2 = ROM + 0x40000;
198196
199197   tileno = dat2[tile_index] | ((dat1[tile_index]&0x1f)<<8);
200198
201   colour = state->m_sub1_colorbase;
199   colour = m_sub1_colorbase;
202200
203   SET_TILE_INFO(0, tileno, colour, (dat1[tile_index]&0x40) ? TILE_FLIPX : 0);
201   SET_TILE_INFO_MEMBER(0, tileno, colour, (dat1[tile_index]&0x40) ? TILE_FLIPX : 0);
204202}
205203
206204VIDEO_START(dadandrn)
r17673r17674
229227   K053936_wraparound_enable(0, 1);
230228   K053936GP_set_offset(0, -8, 0); // Brainy's laser
231229
232   state->m_ult_936_tilemap = tilemap_create(machine, get_ult_936_tile_info, TILEMAP_SCAN_ROWS,  16, 16, 512, 512);
230   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);
233231   state->m_ult_936_tilemap->set_transparent_pen(0);
234232}
235233
trunk/src/mame/video/fromance.c
r17673r17674
3030   SET_TILE_INFO(layer, tile, color, 0);
3131}
3232
33static TILE_GET_INFO( get_fromance_bg_tile_info ) { get_fromance_tile_info(machine, tileinfo, tile_index, 0); }
34static TILE_GET_INFO( get_fromance_fg_tile_info ) { get_fromance_tile_info(machine, tileinfo, tile_index, 1); }
33TILE_GET_INFO_MEMBER(fromance_state::get_fromance_bg_tile_info){ get_fromance_tile_info(machine(), tileinfo, tile_index, 0); }
34TILE_GET_INFO_MEMBER(fromance_state::get_fromance_fg_tile_info){ get_fromance_tile_info(machine(), tileinfo, tile_index, 1); }
3535
3636
3737INLINE void get_nekkyoku_tile_info( running_machine &machine, tile_data &tileinfo, int tile_index, int layer )
r17673r17674
4444   SET_TILE_INFO(layer, tile, color, 0);
4545}
4646
47static TILE_GET_INFO( get_nekkyoku_bg_tile_info ) { get_nekkyoku_tile_info(machine, tileinfo, tile_index, 0); }
48static TILE_GET_INFO( get_nekkyoku_fg_tile_info ) { get_nekkyoku_tile_info(machine, tileinfo, tile_index, 1); }
47TILE_GET_INFO_MEMBER(fromance_state::get_nekkyoku_bg_tile_info){ get_nekkyoku_tile_info(machine(), tileinfo, tile_index, 0); }
48TILE_GET_INFO_MEMBER(fromance_state::get_nekkyoku_fg_tile_info){ get_nekkyoku_tile_info(machine(), tileinfo, tile_index, 1); }
4949
5050
5151
r17673r17674
9494   fromance_state *state = machine.driver_data<fromance_state>();
9595
9696   /* allocate tilemaps */
97   state->m_bg_tilemap = tilemap_create(machine, get_fromance_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
98   state->m_fg_tilemap = tilemap_create(machine, get_fromance_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
97   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);
98   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);
9999
100100   init_common(machine);
101101}
r17673r17674
105105   fromance_state *state = machine.driver_data<fromance_state>();
106106
107107   /* allocate tilemaps */
108   state->m_bg_tilemap = tilemap_create(machine, get_nekkyoku_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
109   state->m_fg_tilemap = tilemap_create(machine, get_nekkyoku_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 4, 64, 64);
108   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);
109   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);
110110
111111   init_common(machine);
112112}
trunk/src/mame/video/skykid.c
r17673r17674
5757***************************************************************************/
5858
5959/* convert from 32x32 to 36x28 */
60static TILEMAP_MAPPER( tx_tilemap_scan )
60TILEMAP_MAPPER_MEMBER(skykid_state::tx_tilemap_scan)
6161{
6262   int offs;
6363
r17673r17674
7171   return offs;
7272}
7373
74static TILE_GET_INFO( tx_get_tile_info )
74TILE_GET_INFO_MEMBER(skykid_state::tx_get_tile_info)
7575{
76   skykid_state *state = machine.driver_data<skykid_state>();
77   int code = state->m_textram[tile_index];
78   int attr = state->m_textram[tile_index + 0x400];
76   int code = m_textram[tile_index];
77   int attr = m_textram[tile_index + 0x400];
7978   tileinfo.category = code >> 4 & 0xf;
8079
8180   /* the hardware has two character sets, one normal and one flipped. When
8281       screen is flipped, character flip is done by selecting the 2nd character set.
8382       We reproduce this here, but since the tilemap system automatically flips
8483       characters when screen is flipped, we have to flip them back. */
85   SET_TILE_INFO(
84   SET_TILE_INFO_MEMBER(
8685         0,
87         code | (state->flip_screen() ? 0x100 : 0),
86         code | (flip_screen() ? 0x100 : 0),
8887         attr & 0x3f,
89         state->flip_screen() ? (TILE_FLIPY | TILE_FLIPX) : 0);
88         flip_screen() ? (TILE_FLIPY | TILE_FLIPX) : 0);
9089}
9190
9291
93static TILE_GET_INFO( bg_get_tile_info )
92TILE_GET_INFO_MEMBER(skykid_state::bg_get_tile_info)
9493{
95   skykid_state *state = machine.driver_data<skykid_state>();
96   int code = state->m_videoram[tile_index];
97   int attr = state->m_videoram[tile_index+0x800];
94   int code = m_videoram[tile_index];
95   int attr = m_videoram[tile_index+0x800];
9896
99   SET_TILE_INFO(
97   SET_TILE_INFO_MEMBER(
10098         1,
10199         code + ((attr & 0x01) << 8),
102100         ((attr & 0x7e) >> 1) | ((attr & 0x01) << 6),
r17673r17674
114112VIDEO_START( skykid )
115113{
116114   skykid_state *state = machine.driver_data<skykid_state>();
117   state->m_tx_tilemap = tilemap_create(machine, tx_get_tile_info,tx_tilemap_scan,  8,8,36,28);
118   state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info,TILEMAP_SCAN_ROWS,     8,8,64,32);
115   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);
116   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);
119117
120118   state->m_tx_tilemap->set_transparent_pen(0);
121119
trunk/src/mame/video/klax.c
r17673r17674
1616 *
1717 *************************************/
1818
19static TILE_GET_INFO( get_playfield_tile_info )
19TILE_GET_INFO_MEMBER(klax_state::get_playfield_tile_info)
2020{
21   klax_state *state = machine.driver_data<klax_state>();
22   UINT16 data1 = state->m_playfield[tile_index];
23   UINT16 data2 = state->m_playfield_upper[tile_index] >> 8;
21   UINT16 data1 = m_playfield[tile_index];
22   UINT16 data2 = m_playfield_upper[tile_index] >> 8;
2423   int code = data1 & 0x1fff;
2524   int color = data2 & 0x0f;
26   SET_TILE_INFO(0, code, color, (data1 >> 15) & 1);
25   SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
2726}
2827
2928
r17673r17674
7574   klax_state *state = machine.driver_data<klax_state>();
7675
7776   /* initialize the playfield */
78   state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_COLS,  8,8, 64,32);
77   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);
7978
8079   /* initialize the motion objects */
8180   atarimo_init(machine, 0, &modesc);
trunk/src/mame/video/quizpani.c
r17673r17674
88#include "includes/quizpani.h"
99
1010
11static TILEMAP_MAPPER( bg_scan )
11TILEMAP_MAPPER_MEMBER(quizpani_state::bg_scan)
1212{
1313   /* logical (col,row) -> memory offset */
1414   return (row & 0x0f) + ((col & 0xff) << 4) + ((row & 0x70) << 8);
1515}
1616
17static TILE_GET_INFO( bg_tile_info )
17TILE_GET_INFO_MEMBER(quizpani_state::bg_tile_info)
1818{
19   quizpani_state *state = machine.driver_data<quizpani_state>();
20   int code = state->m_bg_videoram[tile_index];
19   int code = m_bg_videoram[tile_index];
2120
22   SET_TILE_INFO(
21   SET_TILE_INFO_MEMBER(
2322         1,
24         (code & 0xfff) + (0x1000 * state->m_bgbank),
23         (code & 0xfff) + (0x1000 * m_bgbank),
2524         code >> 12,
2625         0);
2726}
2827
29static TILE_GET_INFO( txt_tile_info )
28TILE_GET_INFO_MEMBER(quizpani_state::txt_tile_info)
3029{
31   quizpani_state *state = machine.driver_data<quizpani_state>();
32   int code = state->m_txt_videoram[tile_index];
30   int code = m_txt_videoram[tile_index];
3331
34   SET_TILE_INFO(
32   SET_TILE_INFO_MEMBER(
3533         0,
36         (code & 0xfff) + (0x1000 * state->m_txtbank),
34         (code & 0xfff) + (0x1000 * m_txtbank),
3735         code >> 12,
3836         0);
3937}
r17673r17674
7169VIDEO_START( quizpani )
7270{
7371   quizpani_state *state = machine.driver_data<quizpani_state>();
74   state->m_bg_tilemap  = tilemap_create(machine, bg_tile_info, bg_scan,16,16,256,32);
75   state->m_txt_tilemap = tilemap_create(machine, txt_tile_info,bg_scan,16,16,256,32);
72   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);
73   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);
7674   state->m_txt_tilemap->set_transparent_pen(15);
7775}
7876
trunk/src/mame/video/gomoku.c
r17673r17674
5454
5555******************************************************************************/
5656
57static TILE_GET_INFO( get_fg_tile_info )
57TILE_GET_INFO_MEMBER(gomoku_state::get_fg_tile_info)
5858{
59   gomoku_state *state = machine.driver_data<gomoku_state>();
60   int code = (state->m_videoram[tile_index]);
61   int attr = (state->m_colorram[tile_index]);
59   int code = (m_videoram[tile_index]);
60   int attr = (m_colorram[tile_index]);
6261   int color = (attr& 0x0f);
6362   int flipyx = (attr & 0xc0) >> 6;
6463
65   SET_TILE_INFO(
64   SET_TILE_INFO_MEMBER(
6665         0,
6766         code,
6867         color,
r17673r17674
115114
116115   machine.primary_screen->register_screen_bitmap(state->m_bg_bitmap);
117116
118   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,8,8,32, 32);
117   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);
119118
120119   state->m_fg_tilemap->set_transparent_pen(0);
121120
trunk/src/mame/video/firetrk.c
r17673r17674
121121}
122122
123123
124static TILE_GET_INFO( firetrk_get_tile_info1 )
124TILE_GET_INFO_MEMBER(firetrk_state::firetrk_get_tile_info1)
125125{
126   firetrk_state *state = machine.driver_data<firetrk_state>();
127   int code = state->m_playfield_ram[tile_index] & 0x3f;
128   int color = (state->m_playfield_ram[tile_index] >> 6) & 0x03;
126   int code = m_playfield_ram[tile_index] & 0x3f;
127   int color = (m_playfield_ram[tile_index] >> 6) & 0x03;
129128
130   if (*state->m_blink && (code >= 0x04) && (code <= 0x0b))
129   if (*m_blink && (code >= 0x04) && (code <= 0x0b))
131130      color = 0;
132131
133   if (state->m_flash)
132   if (m_flash)
134133      color = color | 0x04;
135134
136   SET_TILE_INFO(1, code, color, 0);
135   SET_TILE_INFO_MEMBER(1, code, color, 0);
137136}
138137
139138
140static TILE_GET_INFO( superbug_get_tile_info1 )
139TILE_GET_INFO_MEMBER(firetrk_state::superbug_get_tile_info1)
141140{
142   firetrk_state *state = machine.driver_data<firetrk_state>();
143   int code = state->m_playfield_ram[tile_index] & 0x3f;
144   int color = (state->m_playfield_ram[tile_index] >> 6) & 0x03;
141   int code = m_playfield_ram[tile_index] & 0x3f;
142   int color = (m_playfield_ram[tile_index] >> 6) & 0x03;
145143
146   if (*state->m_blink && (code >= 0x08) && (code <= 0x0f))
144   if (*m_blink && (code >= 0x08) && (code <= 0x0f))
147145      color = 0;
148146
149   if (state->m_flash)
147   if (m_flash)
150148      color = color | 0x04;
151149
152   SET_TILE_INFO(1, code, color, 0);
150   SET_TILE_INFO_MEMBER(1, code, color, 0);
153151}
154152
155153
156static TILE_GET_INFO( montecar_get_tile_info1 )
154TILE_GET_INFO_MEMBER(firetrk_state::montecar_get_tile_info1)
157155{
158   firetrk_state *state = machine.driver_data<firetrk_state>();
159   int code = state->m_playfield_ram[tile_index] & 0x3f;
160   int color = (state->m_playfield_ram[tile_index] >> 6) & 0x03;
156   int code = m_playfield_ram[tile_index] & 0x3f;
157   int color = (m_playfield_ram[tile_index] >> 6) & 0x03;
161158
162   if (state->m_flash)
159   if (m_flash)
163160      color = color | 0x04;
164161
165   SET_TILE_INFO(1, code, color, 0);
162   SET_TILE_INFO_MEMBER(1, code, color, 0);
166163}
167164
168165
169static TILE_GET_INFO( firetrk_get_tile_info2 )
166TILE_GET_INFO_MEMBER(firetrk_state::firetrk_get_tile_info2)
170167{
171   firetrk_state *state = machine.driver_data<firetrk_state>();
172   UINT8 code = state->m_playfield_ram[tile_index] & 0x3f;
168   UINT8 code = m_playfield_ram[tile_index] & 0x3f;
173169   int color = 0;
174170
175171   /* palette 1 for crash and palette 2 for skid */
r17673r17674
179175   if ((code & 0x3c) == 0x0c)
180176      color = 2;   /* palette 0, 2 */
181177
182   SET_TILE_INFO(2, code, color, 0);
178   SET_TILE_INFO_MEMBER(2, code, color, 0);
183179}
184180
185181
186static TILE_GET_INFO( superbug_get_tile_info2 )
182TILE_GET_INFO_MEMBER(firetrk_state::superbug_get_tile_info2)
187183{
188   firetrk_state *state = machine.driver_data<firetrk_state>();
189   UINT8 code = state->m_playfield_ram[tile_index] & 0x3f;
184   UINT8 code = m_playfield_ram[tile_index] & 0x3f;
190185   int color = 0;
191186
192187   /* palette 1 for crash and palette 2 for skid */
r17673r17674
196191   if ((code & 0x38) == 0x00)
197192      color = 2;   /* palette 0, 2 */
198193
199   SET_TILE_INFO(2, code, color, 0);
194   SET_TILE_INFO_MEMBER(2, code, color, 0);
200195}
201196
202197
203static TILE_GET_INFO( montecar_get_tile_info2 )
198TILE_GET_INFO_MEMBER(firetrk_state::montecar_get_tile_info2)
204199{
205   firetrk_state *state = machine.driver_data<firetrk_state>();
206   UINT8 code = state->m_playfield_ram[tile_index];
200   UINT8 code = m_playfield_ram[tile_index];
207201   int color = 0;
208202
209203   /* palette 1 for crash and palette 2 for skid */
r17673r17674
219213   if ((code & 0x30) == 0x30)
220214      color = 0;   /* palette 0, 0 */
221215
222   SET_TILE_INFO(2, code & 0x3f, color, 0);
216   SET_TILE_INFO_MEMBER(2, code & 0x3f, color, 0);
223217}
224218
225219
r17673r17674
229223   machine.primary_screen->register_screen_bitmap(state->m_helper1);
230224   machine.primary_screen->register_screen_bitmap(state->m_helper2);
231225
232   state->m_tilemap1 = tilemap_create(machine, firetrk_get_tile_info1, TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
233   state->m_tilemap2 = tilemap_create(machine, firetrk_get_tile_info2, TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
226   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);
227   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);
234228}
235229
236230
r17673r17674
240234   machine.primary_screen->register_screen_bitmap(state->m_helper1);
241235   machine.primary_screen->register_screen_bitmap(state->m_helper2);
242236
243   state->m_tilemap1 = tilemap_create(machine, superbug_get_tile_info1, TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
244   state->m_tilemap2 = tilemap_create(machine, superbug_get_tile_info2, TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
237   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);
238   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);
245239}
246240
247241
r17673r17674
251245   machine.primary_screen->register_screen_bitmap(state->m_helper1);
252246   machine.primary_screen->register_screen_bitmap(state->m_helper2);
253247
254   state->m_tilemap1 = tilemap_create(machine, montecar_get_tile_info1, TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
255   state->m_tilemap2 = tilemap_create(machine, montecar_get_tile_info2, TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
248   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);
249   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);
256250}
257251
258252
trunk/src/mame/video/m57.c
r17673r17674
110110 *
111111 *************************************/
112112
113static TILE_GET_INFO( get_tile_info )
113TILE_GET_INFO_MEMBER(m57_state::get_tile_info)
114114{
115   m57_state *state = machine.driver_data<m57_state>();
116115
117   UINT8 attr = state->m_videoram[tile_index * 2 + 0];
118   UINT16 code = state->m_videoram[tile_index * 2 + 1] | ((attr & 0xc0) << 2);
116   UINT8 attr = m_videoram[tile_index * 2 + 0];
117   UINT16 code = m_videoram[tile_index * 2 + 1] | ((attr & 0xc0) << 2);
119118
120   SET_TILE_INFO(0, code, attr & 0x0f, TILE_FLIPXY(attr >> 4));
119   SET_TILE_INFO_MEMBER(0, code, attr & 0x0f, TILE_FLIPXY(attr >> 4));
121120}
122121
123122
r17673r17674
145144{
146145   m57_state *state = machine.driver_data<m57_state>();
147146
148   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 32, 32);
147   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);
149148   state->m_bg_tilemap->set_scroll_rows(256);
150149
151150   state->save_item(NAME(state->m_flipscreen));
trunk/src/mame/video/mustache.c
r17673r17674
7676   m_bg_tilemap->set_scrollx(3, 0x100);
7777}
7878
79static TILE_GET_INFO( get_bg_tile_info )
79TILE_GET_INFO_MEMBER(mustache_state::get_bg_tile_info)
8080{
81   mustache_state *state = machine.driver_data<mustache_state>();
82   UINT8 *videoram = state->m_videoram;
81   UINT8 *videoram = m_videoram;
8382   int attr = videoram[2 * tile_index + 1];
84   int code = videoram[2 * tile_index] + ((attr & 0x60) << 3) + ((state->m_control_byte & 0x08) << 7);
83   int code = videoram[2 * tile_index] + ((attr & 0x60) << 3) + ((m_control_byte & 0x08) << 7);
8584   int color = attr & 0x0f;
8685
87   SET_TILE_INFO(0, code, color, ((attr & 0x10) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0)   );
86   SET_TILE_INFO_MEMBER(0, code, color, ((attr & 0x10) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0)   );
8887
8988
9089}
r17673r17674
9291VIDEO_START( mustache )
9392{
9493   mustache_state *state = machine.driver_data<mustache_state>();
95   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS_FLIP_X,
94   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mustache_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS_FLIP_X,
9695       8, 8, 64, 32);
9796
9897   state->m_bg_tilemap->set_scroll_rows(4);
trunk/src/mame/video/snookr10.c
r17673r17674
9494   }
9595}
9696
97static TILE_GET_INFO( get_bg_tile_info )
97TILE_GET_INFO_MEMBER(snookr10_state::get_bg_tile_info)
9898{
99   snookr10_state *state = machine.driver_data<snookr10_state>();
10099/*  - bits -
101100    7654 3210
102101    xxxx ----   tiles color.
103102    ---- xxxx   seems unused.
104103*/
105104   int offs = tile_index;
106   int attr = state->m_videoram[offs] + (state->m_colorram[offs] << 8);
105   int attr = m_videoram[offs] + (m_colorram[offs] << 8);
107106   int code = attr & 0xfff;
108   int color = state->m_colorram[offs] >> 4;
107   int color = m_colorram[offs] >> 4;
109108
110   SET_TILE_INFO(0, code, color, 0);
109   SET_TILE_INFO_MEMBER(0, code, color, 0);
111110}
112111
113112
r17673r17674
158157   }
159158}
160159
161static TILE_GET_INFO( apple10_get_bg_tile_info )
160TILE_GET_INFO_MEMBER(snookr10_state::apple10_get_bg_tile_info)
162161{
163   snookr10_state *state = machine.driver_data<snookr10_state>();
164162/*  - bits -
165163    7654 3210
166164    xxxx ----   tiles color.
167165    ---- xxxx   seems unused.
168166*/
169167   int offs = tile_index;
170   int attr = state->m_videoram[offs] + (state->m_colorram[offs] << 8);
168   int attr = m_videoram[offs] + (m_colorram[offs] << 8);
171169   int code = BITSWAP16((attr & 0xfff),15,14,13,12,8,9,10,11,0,1,2,3,4,5,6,7);   /* encrypted tile matrix */
172   int color = state->m_colorram[offs] >> 4;
170   int color = m_colorram[offs] >> 4;
173171
174   SET_TILE_INFO(0, code, color, 0);
172   SET_TILE_INFO_MEMBER(0, code, color, 0);
175173}
176174
177175
178176VIDEO_START( snookr10 )
179177{
180178   snookr10_state *state = machine.driver_data<snookr10_state>();
181   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 4, 8, 128, 30);
179   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);
182180}
183181
184182VIDEO_START( apple10 )
185183{
186184   snookr10_state *state = machine.driver_data<snookr10_state>();
187   state->m_bg_tilemap = tilemap_create(machine, apple10_get_bg_tile_info, TILEMAP_SCAN_ROWS, 4, 8, 128, 30);
185   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);
188186}
189187
190188SCREEN_UPDATE_IND16( snookr10 )
trunk/src/mame/video/sprcros2.c
r17673r17674
8989   m_bgtilemap->set_scrolly(0, data);
9090}
9191
92static TILE_GET_INFO( get_sprcros2_bgtile_info )
92TILE_GET_INFO_MEMBER(sprcros2_state::get_sprcros2_bgtile_info)
9393{
94   sprcros2_state *state = machine.driver_data<sprcros2_state>();
95   UINT32 tile_number = state->m_bgvideoram[tile_index];
96   UINT8 attr = state->m_bgvideoram[tile_index + 0x400];
94   UINT32 tile_number = m_bgvideoram[tile_index];
95   UINT8 attr = m_bgvideoram[tile_index + 0x400];
9796
9897   //attr
9998   //76543210
r17673r17674
103102
104103   tile_number += (attr&0x07)<<8;
105104
106   SET_TILE_INFO(
105   SET_TILE_INFO_MEMBER(
107106         0,
108107         tile_number,
109108         (attr&0xf0)>>4,
110109         (attr&0x08)?TILE_FLIPX:0);
111110}
112111
113static TILE_GET_INFO( get_sprcros2_fgtile_info )
112TILE_GET_INFO_MEMBER(sprcros2_state::get_sprcros2_fgtile_info)
114113{
115   sprcros2_state *state = machine.driver_data<sprcros2_state>();
116   UINT32 tile_number = state->m_fgvideoram[tile_index];
117   UINT8 attr = state->m_fgvideoram[tile_index + 0x400];
114   UINT32 tile_number = m_fgvideoram[tile_index];
115   UINT8 attr = m_fgvideoram[tile_index + 0x400];
118116   int color = (attr&0xfc)>>2;
119117
120118   tileinfo.group = color;
r17673r17674
126124
127125   tile_number += (attr&0x03)<<8;
128126
129   SET_TILE_INFO(
127   SET_TILE_INFO_MEMBER(
130128         2,
131129         tile_number,
132130         color,
r17673r17674
137135{
138136   sprcros2_state *state = machine.driver_data<sprcros2_state>();
139137
140   state->m_bgtilemap = tilemap_create(machine, get_sprcros2_bgtile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
141   state->m_fgtilemap = tilemap_create(machine, get_sprcros2_fgtile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
138   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);
139   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);
142140
143141   colortable_configure_tilemap_groups(machine.colortable, state->m_fgtilemap, machine.gfx[2], 0);
144142}
trunk/src/mame/video/konamigx.c
r17673r17674
18121812
18131813
18141814/* Run and Gun 2 / Rushing Heroes */
1815static TILE_GET_INFO( get_gx_psac_tile_info )
1815TILE_GET_INFO_MEMBER(konamigx_state::get_gx_psac_tile_info)
18161816{
18171817   int tileno, colour, col, flip = 0;
18181818   if (tile_index&1)
r17673r17674
18341834
18351835   colour = (psac_colorbase << 4) + col;
18361836
1837   SET_TILE_INFO(0, tileno, colour, TILE_FLIPYX(flip));
1837   SET_TILE_INFO_MEMBER(0, tileno, colour, TILE_FLIPYX(flip));
18381838}
18391839
18401840UINT32* konamigx_type3_psac2_bank;
r17673r17674
18601860
18611861
18621862/* Soccer Superstars (tile and flip bits now TRUSTED) */
1863 static TILE_GET_INFO( get_gx_psac3_tile_info )
1863TILE_GET_INFO_MEMBER(konamigx_state::get_gx_psac3_tile_info)
18641864 {
18651865   int tileno, colour, flip;
1866   UINT8 *tmap = machine.root_device().memregion("gfx4")->base();
1866   UINT8 *tmap = machine().root_device().memregion("gfx4")->base();
18671867
18681868   int base_index = tile_index;
18691869
r17673r17674
18781878   if (tmap[(base_index*2)+1] & 0x20) flip |= TILE_FLIPY;
18791879   if (tmap[(base_index*2)+1] & 0x10) flip |= TILE_FLIPX;
18801880
1881   SET_TILE_INFO(0, tileno, colour, flip);
1881   SET_TILE_INFO_MEMBER(0, tileno, colour, flip);
18821882 }
18831883
1884 static TILE_GET_INFO( get_gx_psac3_alt_tile_info )
1884TILE_GET_INFO_MEMBER(konamigx_state::get_gx_psac3_alt_tile_info)
18851885 {
18861886   int tileno, colour, flip;
1887   UINT8 *tmap = machine.root_device().memregion("gfx4")->base()+0x20000;
1887   UINT8 *tmap = machine().root_device().memregion("gfx4")->base()+0x20000;
18881888
18891889   int base_index = tile_index;
18901890
r17673r17674
18991899   if (tmap[(base_index*2)+1] & 0x20) flip |= TILE_FLIPY;
19001900   if (tmap[(base_index*2)+1] & 0x10) flip |= TILE_FLIPX;
19011901
1902   SET_TILE_INFO(0, tileno, colour, flip);
1902   SET_TILE_INFO_MEMBER(0, tileno, colour, flip);
19031903 }
19041904
19051905
19061906/* PSAC4 */
19071907/* these tilemaps are weird in both format and content, one of them
19081908   doesn't really look like it should be displayed? - it's height data */
1909static TILE_GET_INFO( get_gx_psac1a_tile_info )
1909TILE_GET_INFO_MEMBER(konamigx_state::get_gx_psac1a_tile_info)
19101910{
19111911   int tileno, colour, flipx,flipy;
19121912   int flip;
r17673r17674
19251925   if (flipx) flip |= TILE_FLIPX;
19261926   if (flipy) flip |= TILE_FLIPY;
19271927
1928   SET_TILE_INFO(1, tileno, colour, flip);
1928   SET_TILE_INFO_MEMBER(1, tileno, colour, flip);
19291929}
19301930
1931static TILE_GET_INFO( get_gx_psac1b_tile_info )
1931TILE_GET_INFO_MEMBER(konamigx_state::get_gx_psac1b_tile_info)
19321932{
19331933   int tileno, colour, flipx,flipy;
19341934   int flip;
r17673r17674
19471947   if (flipx) flip |= TILE_FLIPX;
19481948   if (flipy) flip |= TILE_FLIPY;
19491949
1950   SET_TILE_INFO(0, tileno, colour, flip);
1950   SET_TILE_INFO_MEMBER(0, tileno, colour, flip);
19511951}
19521952
19531953static void konamigx_type2_tile_callback(running_machine &machine, int layer, int *code, int *color, int *flags)
r17673r17674
21442144
21452145VIDEO_START(konamigx_type3)
21462146{
2147   konamigx_state *state = machine.driver_data<konamigx_state>();
21472148   int width = machine.primary_screen->width();
21482149   int height = machine.primary_screen->height();
21492150
r17673r17674
21552156
21562157   _gxcommoninitnosprites(machine);
21572158
2158   gx_psac_tilemap = tilemap_create(machine, get_gx_psac3_tile_info, TILEMAP_SCAN_COLS,  16, 16, 256, 256);
2159   gx_psac_tilemap_alt = tilemap_create(machine, get_gx_psac3_alt_tile_info, TILEMAP_SCAN_COLS,  16, 16, 256, 256);
2159   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);
2160   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);
21602161
21612162   gx_rozenable = 0;
21622163   gx_specialrozenable = 2;
r17673r17674
21832184
21842185VIDEO_START(konamigx_type4)
21852186{
2187   konamigx_state *state = machine.driver_data<konamigx_state>();
21862188   int width = machine.primary_screen->width();
21872189   int height = machine.primary_screen->height();
21882190
r17673r17674
21942196
21952197   _gxcommoninitnosprites(machine);
21962198
2197   gx_psac_tilemap = tilemap_create(machine, get_gx_psac_tile_info, TILEMAP_SCAN_COLS,  16, 16, 128, 128);
2199   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);
21982200   gx_rozenable = 0;
21992201   gx_specialrozenable = 3;
22002202
r17673r17674
22142216
22152217VIDEO_START(konamigx_type4_vsn)
22162218{
2219   konamigx_state *state = machine.driver_data<konamigx_state>();
22172220   int width = machine.primary_screen->width();
22182221   int height = machine.primary_screen->height();
22192222
r17673r17674
22252228
22262229   _gxcommoninitnosprites(machine);
22272230
2228   gx_psac_tilemap = tilemap_create(machine, get_gx_psac_tile_info, TILEMAP_SCAN_COLS,  16, 16, 128, 128);
2231   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);
22292232   gx_rozenable = 0;
22302233   gx_specialrozenable = 3;
22312234
r17673r17674
22442247
22452248VIDEO_START(konamigx_type4_sd2)
22462249{
2250   konamigx_state *state = machine.driver_data<konamigx_state>();
22472251   int width = machine.primary_screen->width();
22482252   int height = machine.primary_screen->height();
22492253
r17673r17674
22552259
22562260   _gxcommoninitnosprites(machine);
22572261
2258   gx_psac_tilemap = tilemap_create(machine, get_gx_psac_tile_info, TILEMAP_SCAN_COLS,  16, 16, 128, 128);
2262   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);
22592263   gx_rozenable = 0;
22602264   gx_specialrozenable = 3;
22612265
r17673r17674
22942298
22952299VIDEO_START(opengolf)
22962300{
2301   konamigx_state *state = machine.driver_data<konamigx_state>();
22972302   K056832_vh_start(machine, "gfx1", K056832_BPP_5, 0, NULL, konamigx_type2_tile_callback, 0);
22982303   K055673_vh_start(machine, "gfx2", K055673_LAYOUT_GX6, -53, -23, konamigx_type2_sprite_callback);
22992304
r17673r17674
23042309   K056832_set_LayerOffset(2,  2+1, 0);
23052310   K056832_set_LayerOffset(3,  3+1, 0);
23062311
2307   gx_psac_tilemap = tilemap_create(machine, get_gx_psac1a_tile_info, TILEMAP_SCAN_COLS,  16, 16, 128, 128);
2308   gx_psac_tilemap2 = tilemap_create(machine, get_gx_psac1b_tile_info, TILEMAP_SCAN_COLS,  16, 16, 128, 128);
2312   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);
2313   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);
23092314
23102315   // transparency will be handled manually in post-processing
23112316   //gx_psac_tilemap->set_transparent_pen(0);
r17673r17674
23322337
23332338VIDEO_START(racinfrc)
23342339{
2340   konamigx_state *state = machine.driver_data<konamigx_state>();
23352341   K056832_vh_start(machine, "gfx1", K056832_BPP_6, 0, NULL, konamigx_type2_tile_callback, 0);
23362342   K055673_vh_start(machine, "gfx2", K055673_LAYOUT_GX, -53, -23, konamigx_type2_sprite_callback);
23372343
r17673r17674
23422348   K056832_set_LayerOffset(2,  2+1, 0);
23432349   K056832_set_LayerOffset(3,  3+1, 0);
23442350
2345   gx_psac_tilemap = tilemap_create(machine, get_gx_psac1a_tile_info, TILEMAP_SCAN_COLS,  16, 16, 128, 128);
2346   gx_psac_tilemap2 = tilemap_create(machine, get_gx_psac1b_tile_info, TILEMAP_SCAN_COLS,  16, 16, 128, 128);
2351   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);
2352   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);
23472353
23482354   // transparency will be handled manually in post-processing
23492355   //gx_psac_tilemap->set_transparent_pen(0);
trunk/src/mame/video/thunderj.c
r17673r17674
1717 *
1818 *************************************/
1919
20static TILE_GET_INFO( get_alpha_tile_info )
20TILE_GET_INFO_MEMBER(thunderj_state::get_alpha_tile_info)
2121{
22   thunderj_state *state = machine.driver_data<thunderj_state>();
23   UINT16 data = state->m_alpha[tile_index];
24   int code = ((data & 0x200) ? (state->m_alpha_tile_bank * 0x200) : 0) + (data & 0x1ff);
22   UINT16 data = m_alpha[tile_index];
23   int code = ((data & 0x200) ? (m_alpha_tile_bank * 0x200) : 0) + (data & 0x1ff);
2524   int color = ((data >> 10) & 0x0f) | ((data >> 9) & 0x20);
2625   int opaque = data & 0x8000;
27   SET_TILE_INFO(2, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
26   SET_TILE_INFO_MEMBER(2, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
2827}
2928
3029
31static TILE_GET_INFO( get_playfield_tile_info )
30TILE_GET_INFO_MEMBER(thunderj_state::get_playfield_tile_info)
3231{
33   thunderj_state *state = machine.driver_data<thunderj_state>();
34   UINT16 data1 = state->m_playfield[tile_index];
35   UINT16 data2 = state->m_playfield_upper[tile_index] & 0xff;
32   UINT16 data1 = m_playfield[tile_index];
33   UINT16 data2 = m_playfield_upper[tile_index] & 0xff;
3634   int code = data1 & 0x7fff;
3735   int color = 0x10 + (data2 & 0x0f);
38   SET_TILE_INFO(0, code, color, (data1 >> 15) & 1);
36   SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
3937   tileinfo.category = (data2 >> 4) & 3;
4038}
4139
4240
43static TILE_GET_INFO( get_playfield2_tile_info )
41TILE_GET_INFO_MEMBER(thunderj_state::get_playfield2_tile_info)
4442{
45   thunderj_state *state = machine.driver_data<thunderj_state>();
46   UINT16 data1 = state->m_playfield2[tile_index];
47   UINT16 data2 = state->m_playfield_upper[tile_index] >> 8;
43   UINT16 data1 = m_playfield2[tile_index];
44   UINT16 data2 = m_playfield_upper[tile_index] >> 8;
4845   int code = data1 & 0x7fff;
4946   int color = data2 & 0x0f;
50   SET_TILE_INFO(0, code, color, (data1 >> 15) & 1);
47   SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
5148   tileinfo.category = (data2 >> 4) & 3;
5249}
5350
r17673r17674
10097   thunderj_state *state = machine.driver_data<thunderj_state>();
10198
10299   /* initialize the playfield */
103   state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_COLS,  8,8, 64,64);
100   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);
104101
105102   /* initialize the second playfield */
106   state->m_playfield2_tilemap = tilemap_create(machine, get_playfield2_tile_info, TILEMAP_SCAN_COLS,  8,8, 64,64);
103   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);
107104   state->m_playfield2_tilemap->set_transparent_pen(0);
108105
109106   /* initialize the motion objects */
110107   atarimo_init(machine, 0, &modesc);
111108
112109   /* initialize the alphanumerics */
113   state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS,  8,8, 64,32);
110   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);
114111   state->m_alpha_tilemap->set_transparent_pen(0);
115112}
116113
trunk/src/mame/video/ladybug.c
r17673r17674
187187   redclash_set_stars_speed(machine(), (data & 0x07) - 1);
188188}
189189
190static TILE_GET_INFO( get_bg_tile_info )
190TILE_GET_INFO_MEMBER(ladybug_state::get_bg_tile_info)
191191{
192   ladybug_state *state = machine.driver_data<ladybug_state>();
193   int code = state->m_videoram[tile_index] + 32 * (state->m_colorram[tile_index] & 0x08);
194   int color = state->m_colorram[tile_index] & 0x07;
192   int code = m_videoram[tile_index] + 32 * (m_colorram[tile_index] & 0x08);
193   int color = m_colorram[tile_index] & 0x07;
195194
196   SET_TILE_INFO(0, code, color, 0);
195   SET_TILE_INFO_MEMBER(0, code, color, 0);
197196}
198197
199static TILE_GET_INFO( get_grid_tile_info )
198TILE_GET_INFO_MEMBER(ladybug_state::get_grid_tile_info)
200199{
201200   if (tile_index < 512)
202      SET_TILE_INFO(3, tile_index, 0, 0);
201      SET_TILE_INFO_MEMBER(3, tile_index, 0, 0);
203202   else
204203   {
205204      int temp = tile_index / 32;
206205      tile_index = (31 - temp) * 32 + (tile_index % 32);
207      SET_TILE_INFO(4, tile_index, 0, 0);
206      SET_TILE_INFO_MEMBER(4, tile_index, 0, 0);
208207   }
209208}
210209
r17673r17674
212211{
213212   ladybug_state *state = machine.driver_data<ladybug_state>();
214213
215   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
214   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);
216215   state->m_bg_tilemap->set_scroll_rows(32);
217216   state->m_bg_tilemap->set_transparent_pen(0);
218217}
r17673r17674
221220{
222221   ladybug_state *state = machine.driver_data<ladybug_state>();
223222
224   state->m_grid_tilemap = tilemap_create(machine, get_grid_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
223   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);
225224   state->m_grid_tilemap->set_scroll_rows(32);
226225   state->m_grid_tilemap->set_transparent_pen(0);
227226
228   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
227   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);
229228   state->m_bg_tilemap->set_scroll_rows(32);
230229   state->m_bg_tilemap->set_transparent_pen(0);
231230}
trunk/src/mame/video/blueprnt.c
r17673r17674
7272   }
7373}
7474
75static TILE_GET_INFO( get_bg_tile_info )
75TILE_GET_INFO_MEMBER(blueprnt_state::get_bg_tile_info)
7676{
77   blueprnt_state *state = machine.driver_data<blueprnt_state>();
78   int attr = state->m_colorram[tile_index];
79   int code = state->m_videoram[tile_index] + 256 * state->m_gfx_bank;
77   int attr = m_colorram[tile_index];
78   int code = m_videoram[tile_index] + 256 * m_gfx_bank;
8079   int color = attr & 0x7f;
8180
8281   tileinfo.category = (attr & 0x80) ? 1 : 0;
8382
84   SET_TILE_INFO(0, code, color, 0);
83   SET_TILE_INFO_MEMBER(0, code, color, 0);
8584}
8685
8786VIDEO_START( blueprnt )
8887{
8988   blueprnt_state *state = machine.driver_data<blueprnt_state>();
9089
91   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS_FLIP_X, 8, 8, 32, 32);
90   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);
9291   state->m_bg_tilemap->set_transparent_pen(0);
9392   state->m_bg_tilemap->set_scroll_cols(32);
9493
trunk/src/mame/video/combatsc.c
r17673r17674
113113
114114***************************************************************************/
115115
116static TILE_GET_INFO( get_tile_info0 )
116TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info0)
117117{
118   combatsc_state *state = machine.driver_data<combatsc_state>();
119   UINT8 ctrl_6 = k007121_ctrlram_r(state->m_k007121_1, 6);
120   UINT8 attributes = state->m_page[0][tile_index];
121   int bank = 4 * ((state->m_vreg & 0x0f) - 1);
118   UINT8 ctrl_6 = k007121_ctrlram_r(m_k007121_1, 6);
119   UINT8 attributes = m_page[0][tile_index];
120   int bank = 4 * ((m_vreg & 0x0f) - 1);
122121   int number, color;
123122
124123   if (bank < 0)
r17673r17674
138137
139138   color = ((ctrl_6 & 0x10) * 2 + 16) + (attributes & 0x0f);
140139
141   number = state->m_page[0][tile_index + 0x400] + 256 * bank;
140   number = m_page[0][tile_index + 0x400] + 256 * bank;
142141
143   SET_TILE_INFO(
142   SET_TILE_INFO_MEMBER(
144143         0,
145144         number,
146145         color,
r17673r17674
148147   tileinfo.category = (attributes & 0x40) >> 6;
149148}
150149
151static TILE_GET_INFO( get_tile_info1 )
150TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info1)
152151{
153   combatsc_state *state = machine.driver_data<combatsc_state>();
154   UINT8 ctrl_6 = k007121_ctrlram_r(state->m_k007121_2, 6);
155   UINT8 attributes = state->m_page[1][tile_index];
156   int bank = 4 * ((state->m_vreg >> 4) - 1);
152   UINT8 ctrl_6 = k007121_ctrlram_r(m_k007121_2, 6);
153   UINT8 attributes = m_page[1][tile_index];
154   int bank = 4 * ((m_vreg >> 4) - 1);
157155   int number, color;
158156
159157   if (bank < 0)
r17673r17674
173171
174172   color = ((ctrl_6 & 0x10) * 2 + 16 + 4 * 16) + (attributes & 0x0f);
175173
176   number = state->m_page[1][tile_index + 0x400] + 256 * bank;
174   number = m_page[1][tile_index + 0x400] + 256 * bank;
177175
178   SET_TILE_INFO(
176   SET_TILE_INFO_MEMBER(
179177         1,
180178         number,
181179         color,
r17673r17674
183181   tileinfo.category = (attributes & 0x40) >> 6;
184182}
185183
186static TILE_GET_INFO( get_text_info )
184TILE_GET_INFO_MEMBER(combatsc_state::get_text_info)
187185{
188   combatsc_state *state = machine.driver_data<combatsc_state>();
189   UINT8 attributes = state->m_page[0][tile_index + 0x800];
190   int number = state->m_page[0][tile_index + 0xc00];
186   UINT8 attributes = m_page[0][tile_index + 0x800];
187   int number = m_page[0][tile_index + 0xc00];
191188   int color = 16 + (attributes & 0x0f);
192189
193   SET_TILE_INFO(
190   SET_TILE_INFO_MEMBER(
194191         0,
195192         number,
196193         color,
r17673r17674
198195}
199196
200197
201static TILE_GET_INFO( get_tile_info0_bootleg )
198TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info0_bootleg)
202199{
203   combatsc_state *state = machine.driver_data<combatsc_state>();
204   UINT8 attributes = state->m_page[0][tile_index];
205   int bank = 4 * ((state->m_vreg & 0x0f) - 1);
200   UINT8 attributes = m_page[0][tile_index];
201   int bank = 4 * ((m_vreg & 0x0f) - 1);
206202   int number, pal, color;
207203
208204   if (bank < 0)
r17673r17674
222218
223219   pal = (bank == 0 || bank >= 0x1c || (attributes & 0x40)) ? 1 : 3;
224220   color = pal*16;// + (attributes & 0x0f);
225   number = state->m_page[0][tile_index + 0x400] + 256 * bank;
221   number = m_page[0][tile_index + 0x400] + 256 * bank;
226222
227   SET_TILE_INFO(
223   SET_TILE_INFO_MEMBER(
228224         0,
229225         number,
230226         color,
231227         0);
232228}
233229
234static TILE_GET_INFO( get_tile_info1_bootleg )
230TILE_GET_INFO_MEMBER(combatsc_state::get_tile_info1_bootleg)
235231{
236   combatsc_state *state = machine.driver_data<combatsc_state>();
237   UINT8 attributes = state->m_page[1][tile_index];
238   int bank = 4*((state->m_vreg >> 4) - 1);
232   UINT8 attributes = m_page[1][tile_index];
233   int bank = 4*((m_vreg >> 4) - 1);
239234   int number, pal, color;
240235
241236   if (bank < 0)
r17673r17674
255250
256251   pal = (bank == 0 || bank >= 0x1c || (attributes & 0x40)) ? 5 : 7;
257252   color = pal * 16;// + (attributes & 0x0f);
258   number = state->m_page[1][tile_index + 0x400] + 256 * bank;
253   number = m_page[1][tile_index + 0x400] + 256 * bank;
259254
260   SET_TILE_INFO(
255   SET_TILE_INFO_MEMBER(
261256         1,
262257         number,
263258         color,
264259         0);
265260}
266261
267static TILE_GET_INFO( get_text_info_bootleg )
262TILE_GET_INFO_MEMBER(combatsc_state::get_text_info_bootleg)
268263{
269   combatsc_state *state = machine.driver_data<combatsc_state>();
270//  UINT8 attributes = state->m_page[0][tile_index + 0x800];
271   int number = state->m_page[0][tile_index + 0xc00];
264//  UINT8 attributes = m_page[0][tile_index + 0x800];
265   int number = m_page[0][tile_index + 0xc00];
272266   int color = 16;// + (attributes & 0x0f);
273267
274   SET_TILE_INFO(
268   SET_TILE_INFO_MEMBER(
275269         1,
276270         number,
277271         color,
r17673r17674
288282{
289283   combatsc_state *state = machine.driver_data<combatsc_state>();
290284
291   state->m_bg_tilemap[0] = tilemap_create(machine, get_tile_info0, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
292   state->m_bg_tilemap[1] = tilemap_create(machine, get_tile_info1, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
293   state->m_textlayer =  tilemap_create(machine, get_text_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
285   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);
286   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);
287   state->m_textlayer =  &machine.tilemap().create(tilemap_get_info_delegate(FUNC(combatsc_state::get_text_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
294288
295289   state->m_spriteram[0] = auto_alloc_array_clear(machine, UINT8, 0x800);
296290   state->m_spriteram[1] = auto_alloc_array_clear(machine, UINT8, 0x800);
r17673r17674
309303{
310304   combatsc_state *state = machine.driver_data<combatsc_state>();
311305
312   state->m_bg_tilemap[0] = tilemap_create(machine, get_tile_info0_bootleg, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
313   state->m_bg_tilemap[1] = tilemap_create(machine, get_tile_info1_bootleg, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
314   state->m_textlayer = tilemap_create(machine, get_text_info_bootleg, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
306   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);
307   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);
308   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);
315309
316310   state->m_spriteram[0] = auto_alloc_array_clear(machine, UINT8, 0x800);
317311   state->m_spriteram[1] = auto_alloc_array_clear(machine, UINT8, 0x800);
trunk/src/mame/video/gotcha.c
r17673r17674
88
99***************************************************************************/
1010
11static TILEMAP_MAPPER( gotcha_tilemap_scan )
11TILEMAP_MAPPER_MEMBER(gotcha_state::gotcha_tilemap_scan)
1212{
1313   return (col & 0x1f) | (row << 5) | ((col & 0x20) << 5);
1414}
r17673r17674
2222   SET_TILE_INFO(0, code, (data >> 12) + color_offs, 0);
2323}
2424
25static TILE_GET_INFO( fg_get_tile_info )
25TILE_GET_INFO_MEMBER(gotcha_state::fg_get_tile_info)
2626{
27   gotcha_state *state = machine.driver_data<gotcha_state>();
28   get_tile_info(machine, tileinfo, tile_index, state->m_fgvideoram, 0);
27   get_tile_info(machine(), tileinfo, tile_index, m_fgvideoram, 0);
2928}
3029
31static TILE_GET_INFO( bg_get_tile_info )
30TILE_GET_INFO_MEMBER(gotcha_state::bg_get_tile_info)
3231{
33   gotcha_state *state = machine.driver_data<gotcha_state>();
34   get_tile_info(machine, tileinfo, tile_index, state->m_bgvideoram, 16);
32   get_tile_info(machine(), tileinfo, tile_index, m_bgvideoram, 16);
3533}
3634
3735
r17673r17674
4543VIDEO_START( gotcha )
4644{
4745   gotcha_state *state = machine.driver_data<gotcha_state>();
48   state->m_fg_tilemap = tilemap_create(machine, fg_get_tile_info, gotcha_tilemap_scan, 16, 16, 64, 32);
49   state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info, gotcha_tilemap_scan, 16, 16, 64, 32);
46   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);
47   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);
5048
5149   state->m_fg_tilemap->set_transparent_pen(0);
5250
trunk/src/mame/video/starshp1.c
r17673r17674
4545}
4646
4747
48static TILE_GET_INFO( get_tile_info )
48TILE_GET_INFO_MEMBER(starshp1_state::get_tile_info)
4949{
50   starshp1_state *state = machine.driver_data<starshp1_state>();
51   UINT8 code = state->m_playfield_ram[tile_index];
50   UINT8 code = m_playfield_ram[tile_index];
5251
53   SET_TILE_INFO(0, code & 0x3f, 0, 0);
52   SET_TILE_INFO_MEMBER(0, code & 0x3f, 0, 0);
5453}
5554
5655
r17673r17674
6160
6261   int i;
6362
64   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS,  16, 8, 32, 32);
63   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);
6564
6665   state->m_bg_tilemap->set_transparent_pen(0);
6766
trunk/src/mame/video/pandoras.c
r17673r17674
8888
8989***************************************************************************/
9090
91static TILE_GET_INFO( get_tile_info0 )
91TILE_GET_INFO_MEMBER(pandoras_state::get_tile_info0)
9292{
93   pandoras_state *state = machine.driver_data<pandoras_state>();
94   UINT8 attr = state->m_colorram[tile_index];
95   SET_TILE_INFO(
93   UINT8 attr = m_colorram[tile_index];
94   SET_TILE_INFO_MEMBER(
9695         1,
97         state->m_videoram[tile_index] + ((attr & 0x10) << 4),
96         m_videoram[tile_index] + ((attr & 0x10) << 4),
9897         attr & 0x0f,
9998         TILE_FLIPYX((attr & 0xc0) >> 6));
10099   tileinfo.category = (attr & 0x20) >> 5;
r17673r17674
109108VIDEO_START( pandoras )
110109{
111110   pandoras_state *state = machine.driver_data<pandoras_state>();
112   state->m_layer0 = tilemap_create(machine, get_tile_info0, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
111   state->m_layer0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pandoras_state::get_tile_info0),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
113112
114113   state->save_item(NAME(state->m_flipscreen));
115114}
trunk/src/mame/video/bigstrkb.c
r17673r17674
4848
4949/* Tilemaps */
5050
51static TILEMAP_MAPPER( bsb_bg_scan )
51TILEMAP_MAPPER_MEMBER(bigstrkb_state::bsb_bg_scan)
5252{
5353   int offset;
5454
r17673r17674
5959   return offset;
6060}
6161
62static TILE_GET_INFO( get_bsb_tile_info )
62TILE_GET_INFO_MEMBER(bigstrkb_state::get_bsb_tile_info)
6363{
64   bigstrkb_state *state = machine.driver_data<bigstrkb_state>();
6564   int tileno,col;
6665
67   tileno = state->m_videoram[tile_index] & 0x0fff;
68   col=   state->m_videoram[tile_index] & 0xf000;
66   tileno = m_videoram[tile_index] & 0x0fff;
67   col=   m_videoram[tile_index] & 0xf000;
6968
70   SET_TILE_INFO(0,tileno,col>>12,0);
69   SET_TILE_INFO_MEMBER(0,tileno,col>>12,0);
7170}
7271
7372WRITE16_MEMBER(bigstrkb_state::bsb_videoram_w)
r17673r17674
7675   m_tilemap->mark_tile_dirty(offset);
7776}
7877
79static TILE_GET_INFO( get_bsb_tile2_info )
78TILE_GET_INFO_MEMBER(bigstrkb_state::get_bsb_tile2_info)
8079{
81   bigstrkb_state *state = machine.driver_data<bigstrkb_state>();
8280   int tileno,col;
8381
84   tileno = state->m_videoram2[tile_index] & 0x0fff;
85   col=   state->m_videoram2[tile_index] & 0xf000;
82   tileno = m_videoram2[tile_index] & 0x0fff;
83   col=   m_videoram2[tile_index] & 0xf000;
8684
87   SET_TILE_INFO(1,tileno,col>>12,0);
85   SET_TILE_INFO_MEMBER(1,tileno,col>>12,0);
8886}
8987
9088WRITE16_MEMBER(bigstrkb_state::bsb_videoram2_w)
r17673r17674
9492}
9593
9694
97static TILE_GET_INFO( get_bsb_tile3_info )
95TILE_GET_INFO_MEMBER(bigstrkb_state::get_bsb_tile3_info)
9896{
99   bigstrkb_state *state = machine.driver_data<bigstrkb_state>();
10097   int tileno,col;
10198
102   tileno = state->m_videoram3[tile_index] & 0x0fff;
103   col=   state->m_videoram3[tile_index] & 0xf000;
99   tileno = m_videoram3[tile_index] & 0x0fff;
100   col=   m_videoram3[tile_index] & 0xf000;
104101
105   SET_TILE_INFO(1,tileno+0x2000,(col>>12)+(0x100/16),0);
102   SET_TILE_INFO_MEMBER(1,tileno+0x2000,(col>>12)+(0x100/16),0);
106103}
107104
108105WRITE16_MEMBER(bigstrkb_state::bsb_videoram3_w)
r17673r17674
116113VIDEO_START(bigstrkb)
117114{
118115   bigstrkb_state *state = machine.driver_data<bigstrkb_state>();
119   state->m_tilemap = tilemap_create(machine, get_bsb_tile_info,TILEMAP_SCAN_COLS, 8, 8,64,32);
120   state->m_tilemap2 = tilemap_create(machine, get_bsb_tile2_info,bsb_bg_scan, 16, 16,128,64);
121   state->m_tilemap3 = tilemap_create(machine, get_bsb_tile3_info,bsb_bg_scan, 16, 16,128,64);
116   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);
117   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);
118   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);
122119
123120   state->m_tilemap->set_transparent_pen(15);
124121   //state->m_tilemap2->set_transparent_pen(15);
trunk/src/mame/video/gberet.c
r17673r17674
105105   m_spritebank = data;
106106}
107107
108static TILE_GET_INFO( get_bg_tile_info )
108TILE_GET_INFO_MEMBER(gberet_state::get_bg_tile_info)
109109{
110   gberet_state *state = machine.driver_data<gberet_state>();
111   int attr = state->m_colorram[tile_index];
112   int code = state->m_videoram[tile_index] + ((attr & 0x40) << 2);
110   int attr = m_colorram[tile_index];
111   int code = m_videoram[tile_index] + ((attr & 0x40) << 2);
113112   int color = attr & 0x0f;
114113   int flags = TILE_FLIPYX((attr & 0x30) >> 4);
115114
116115   tileinfo.group = color;
117116   tileinfo.category = (attr & 0x80) >> 7;
118117
119   SET_TILE_INFO(0, code, color, flags);
118   SET_TILE_INFO_MEMBER(0, code, color, flags);
120119}
121120
122121VIDEO_START( gberet )
123122{
124123   gberet_state *state = machine.driver_data<gberet_state>();
125124
126   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
125   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);
127126   colortable_configure_tilemap_groups(machine.colortable, state->m_bg_tilemap, machine.gfx[0], 0x10);
128127   state->m_bg_tilemap->set_scroll_rows(32);
129128}
trunk/src/mame/video/stfight.c
r17673r17674
8989
9090***************************************************************************/
9191
92static TILEMAP_MAPPER( fg_scan )
92TILEMAP_MAPPER_MEMBER(stfight_state::fg_scan)
9393{
9494   /* logical (col,row) -> memory offset */
9595   return (col & 0x0f) + ((row & 0x0f) << 4) + ((col & 0x70) << 4) + ((row & 0xf0) << 7);
9696}
9797
98static TILE_GET_INFO( get_fg_tile_info )
98TILE_GET_INFO_MEMBER(stfight_state::get_fg_tile_info)
9999{
100   UINT8   *fgMap = machine.root_device().memregion("gfx5")->base();
100   UINT8   *fgMap = machine().root_device().memregion("gfx5")->base();
101101   int attr,tile_base;
102102
103103   attr = fgMap[0x8000+tile_index];
104104   tile_base = ((attr & 0x80) << 2) | ((attr & 0x20) << 3);
105105
106   SET_TILE_INFO(
106   SET_TILE_INFO_MEMBER(
107107         1,
108108         tile_base + fgMap[tile_index],
109109         attr & 0x07,
110110         0);
111111}
112112
113static TILEMAP_MAPPER( bg_scan )
113TILEMAP_MAPPER_MEMBER(stfight_state::bg_scan)
114114{
115115   /* logical (col,row) -> memory offset */
116116   return ((col & 0x0e) >> 1) + ((row & 0x0f) << 3) + ((col & 0x70) << 3) +
r17673r17674
118118         ((row & 0x60) << 8);
119119}
120120
121static TILE_GET_INFO( get_bg_tile_info )
121TILE_GET_INFO_MEMBER(stfight_state::get_bg_tile_info)
122122{
123   UINT8   *bgMap = machine.root_device().memregion("gfx6")->base();
123   UINT8   *bgMap = machine().root_device().memregion("gfx6")->base();
124124   int attr,tile_bank,tile_base;
125125
126126   attr = bgMap[0x8000+tile_index];
127127   tile_bank = (attr & 0x20) >> 5;
128128   tile_base = (attr & 0x80) << 1;
129129
130   SET_TILE_INFO(
130   SET_TILE_INFO_MEMBER(
131131         2+tile_bank,
132132         tile_base + bgMap[tile_index],
133133         attr & 0x07,
134134         0);
135135}
136136
137static TILE_GET_INFO( get_tx_tile_info )
137TILE_GET_INFO_MEMBER(stfight_state::get_tx_tile_info)
138138{
139   stfight_state *state = machine.driver_data<stfight_state>();
140   UINT8 attr = state->m_text_attr_ram[tile_index];
139   UINT8 attr = m_text_attr_ram[tile_index];
141140   int color = attr & 0x0f;
142141
143142   tileinfo.group = color;
144143
145   SET_TILE_INFO(
144   SET_TILE_INFO_MEMBER(
146145         0,
147         state->m_text_char_ram[tile_index] + ((attr & 0x80) << 1),
146         m_text_char_ram[tile_index] + ((attr & 0x80) << 1),
148147         attr & 0x0f,
149148         TILE_FLIPYX((attr & 0x60) >> 5));
150149}
r17673r17674
159158VIDEO_START( stfight )
160159{
161160   stfight_state *state = machine.driver_data<stfight_state>();
162   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,bg_scan,     16,16,128,256);
163   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,fg_scan,16,16,128,256);
164   state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info,TILEMAP_SCAN_ROWS, 8,8,32,32);
161   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);
162   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);
163   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);
165164
166165   state->m_fg_tilemap->set_transparent_pen(0x0f);
167166   colortable_configure_tilemap_groups(machine.colortable, state->m_tx_tilemap, machine.gfx[0], 0xcf);
trunk/src/mame/video/gottlieb.c
r17673r17674
121121 *
122122 *************************************/
123123
124static TILE_GET_INFO( get_bg_tile_info )
124TILE_GET_INFO_MEMBER(gottlieb_state::get_bg_tile_info)
125125{
126   gottlieb_state *state = machine.driver_data<gottlieb_state>();
127   UINT8 *videoram = state->m_videoram;
126   UINT8 *videoram = m_videoram;
128127   int code = videoram[tile_index];
129128   if ((code & 0x80) == 0)
130      SET_TILE_INFO(state->m_gfxcharlo, code, 0, 0);
129      SET_TILE_INFO_MEMBER(m_gfxcharlo, code, 0, 0);
131130   else
132      SET_TILE_INFO(state->m_gfxcharhi, code, 0, 0);
131      SET_TILE_INFO_MEMBER(m_gfxcharhi, code, 0, 0);
133132}
134133
135static TILE_GET_INFO( get_screwloo_bg_tile_info )
134TILE_GET_INFO_MEMBER(gottlieb_state::get_screwloo_bg_tile_info)
136135{
137   gottlieb_state *state = machine.driver_data<gottlieb_state>();
138   UINT8 *videoram = state->m_videoram;
136   UINT8 *videoram = m_videoram;
139137   int code = videoram[tile_index];
140138   if ((code & 0xc0) == 0)
141      SET_TILE_INFO(state->m_gfxcharlo, code, 0, 0);
139      SET_TILE_INFO_MEMBER(m_gfxcharlo, code, 0, 0);
142140   else
143      SET_TILE_INFO(state->m_gfxcharhi, code, 0, 0);
141      SET_TILE_INFO_MEMBER(m_gfxcharhi, code, 0, 0);
144142}
145143
146144
r17673r17674
159157   state->m_transparent0 = FALSE;
160158
161159   /* configure the background tilemap */
162   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
160   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);
163161   state->m_bg_tilemap->set_transparent_pen(0);
164162   state->m_bg_tilemap->set_scrolldx(0, 318 - 256);
165163
r17673r17674
186184   state->m_transparent0 = FALSE;
187185
188186   /* configure the background tilemap */
189   state->m_bg_tilemap = tilemap_create(machine, get_screwloo_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
187   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);
190188   state->m_bg_tilemap->set_transparent_pen(0);
191189   state->m_bg_tilemap->set_scrolldx(0, 318 - 256);
192190
trunk/src/mame/video/ddragon.c
r17673r17674
5050
5151***************************************************************************/
5252
53static TILEMAP_MAPPER( background_scan )
53TILEMAP_MAPPER_MEMBER(ddragon_state::background_scan)
5454{
5555   /* logical (col,row) -> memory offset */
5656   return (col & 0x0f) + ((row & 0x0f) << 4) + ((col & 0x10) << 4) + ((row & 0x10) << 5);
5757}
5858
59static TILE_GET_INFO( get_bg_tile_info )
59TILE_GET_INFO_MEMBER(ddragon_state::get_bg_tile_info)
6060{
61   ddragon_state *state = machine.driver_data<ddragon_state>();
62   UINT8 attr = state->m_bgvideoram[2 * tile_index];
63   SET_TILE_INFO(
61   UINT8 attr = m_bgvideoram[2 * tile_index];
62   SET_TILE_INFO_MEMBER(
6463         2,
65         state->m_bgvideoram[2 * tile_index+1] + ((attr & 0x07) << 8),
64         m_bgvideoram[2 * tile_index+1] + ((attr & 0x07) << 8),
6665         (attr >> 3) & 0x07,
6766         TILE_FLIPYX((attr & 0xc0) >> 6));
6867}
6968
70static TILE_GET_INFO( get_fg_tile_info )
69TILE_GET_INFO_MEMBER(ddragon_state::get_fg_tile_info)
7170{
72   ddragon_state *state = machine.driver_data<ddragon_state>();
73   UINT8 attr = state->m_fgvideoram[2 * tile_index];
74   SET_TILE_INFO(
71   UINT8 attr = m_fgvideoram[2 * tile_index];
72   SET_TILE_INFO_MEMBER(
7573         0,
76         state->m_fgvideoram[2 * tile_index + 1] + ((attr & 0x07) << 8),
74         m_fgvideoram[2 * tile_index + 1] + ((attr & 0x07) << 8),
7775         attr >> 5,
7876         0);
7977}
8078
81static TILE_GET_INFO( get_fg_16color_tile_info )
79TILE_GET_INFO_MEMBER(ddragon_state::get_fg_16color_tile_info)
8280{
83   ddragon_state *state = machine.driver_data<ddragon_state>();
84   UINT8 attr = state->m_fgvideoram[2 * tile_index];
85   SET_TILE_INFO(
81   UINT8 attr = m_fgvideoram[2 * tile_index];
82   SET_TILE_INFO_MEMBER(
8683         0,
87         state->m_fgvideoram[2 * tile_index+1] + ((attr & 0x0f) << 8),
84         m_fgvideoram[2 * tile_index+1] + ((attr & 0x0f) << 8),
8885         attr >> 4,
8986         0);
9087}
r17673r17674
10097{
10198   ddragon_state *state = machine.driver_data<ddragon_state>();
10299
103   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, background_scan, 16, 16, 32, 32);
104   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
100   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);
101   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);
105102
106103   state->m_fg_tilemap->set_transparent_pen(0);
107104   state->m_fg_tilemap->set_scrolldx(0, 384 - 256);
r17673r17674
114111{
115112   ddragon_state *state = machine.driver_data<ddragon_state>();
116113
117   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,background_scan, 16, 16, 32, 32);
118   state->m_fg_tilemap = tilemap_create(machine, get_fg_16color_tile_info,TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
114   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);
115   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);
119116
120117   state->m_fg_tilemap->set_transparent_pen(0);
121118   state->m_fg_tilemap->set_scrolldy(-8, -8);
trunk/src/mame/video/homedata.c
r17673r17674
425425   SET_TILE_INFO( 1, code, color, state->m_flipscreen );
426426}
427427
428static TILE_GET_INFO( mrokumei_get_info0_0 )
428TILE_GET_INFO_MEMBER(homedata_state::mrokumei_get_info0_0)
429429{
430   homedata_state *state = machine.driver_data<homedata_state>();
431   mrokumei_info0( machine, tileinfo, tile_index, 0,  state->m_blitter_bank & 0x03 );
430   mrokumei_info0( machine(), tileinfo, tile_index, 0,  m_blitter_bank & 0x03 );
432431}
433432
434static TILE_GET_INFO( mrokumei_get_info1_0 )
433TILE_GET_INFO_MEMBER(homedata_state::mrokumei_get_info1_0)
435434{
436   homedata_state *state = machine.driver_data<homedata_state>();
437   mrokumei_info0( machine, tileinfo, tile_index, 1,  state->m_blitter_bank & 0x03 );
435   mrokumei_info0( machine(), tileinfo, tile_index, 1,  m_blitter_bank & 0x03 );
438436}
439437
440static TILE_GET_INFO( mrokumei_get_info0_1 )
438TILE_GET_INFO_MEMBER(homedata_state::mrokumei_get_info0_1)
441439{
442   homedata_state *state = machine.driver_data<homedata_state>();
443   mrokumei_info1( machine, tileinfo, tile_index, 0, (state->m_blitter_bank & 0x38) >> 3 );
440   mrokumei_info1( machine(), tileinfo, tile_index, 0, (m_blitter_bank & 0x38) >> 3 );
444441}
445442
446static TILE_GET_INFO( mrokumei_get_info1_1 )
443TILE_GET_INFO_MEMBER(homedata_state::mrokumei_get_info1_1)
447444{
448   homedata_state *state = machine.driver_data<homedata_state>();
449   mrokumei_info1( machine, tileinfo, tile_index, 1, (state->m_blitter_bank & 0x38) >> 3 );
445   mrokumei_info1( machine(), tileinfo, tile_index, 1, (m_blitter_bank & 0x38) >> 3 );
450446}
451447
452448
r17673r17674
472468     *      xxxx.x---   layer#0
473469     *      ----.-xxx   layer#2
474470     */
475static TILE_GET_INFO( reikaids_get_info0_0 )
471TILE_GET_INFO_MEMBER(homedata_state::reikaids_get_info0_0)
476472{
477   homedata_state *state = machine.driver_data<homedata_state>();
478   reikaids_info(machine, tileinfo, tile_index, 0, 0,  (state->m_gfx_bank[1] >> 3));
473   reikaids_info(machine(), tileinfo, tile_index, 0, 0,  (m_gfx_bank[1] >> 3));
479474}
480475
481static TILE_GET_INFO( reikaids_get_info1_0 )
476TILE_GET_INFO_MEMBER(homedata_state::reikaids_get_info1_0)
482477{
483   homedata_state *state = machine.driver_data<homedata_state>();
484   reikaids_info(machine, tileinfo, tile_index, 1, 0,  (state->m_gfx_bank[1] >> 3));
478   reikaids_info(machine(), tileinfo, tile_index, 1, 0,  (m_gfx_bank[1] >> 3));
485479}
486480
487static TILE_GET_INFO( reikaids_get_info0_1 )
481TILE_GET_INFO_MEMBER(homedata_state::reikaids_get_info0_1)
488482{
489   homedata_state *state = machine.driver_data<homedata_state>();
490   reikaids_info(machine, tileinfo, tile_index, 0, 1, ((state->m_gfx_bank[0] & 0x78) >> 3));
483   reikaids_info(machine(), tileinfo, tile_index, 0, 1, ((m_gfx_bank[0] & 0x78) >> 3));
491484}
492485
493static TILE_GET_INFO( reikaids_get_info1_1 )
486TILE_GET_INFO_MEMBER(homedata_state::reikaids_get_info1_1)
494487{
495   homedata_state *state = machine.driver_data<homedata_state>();
496   reikaids_info(machine, tileinfo, tile_index, 1, 1, ((state->m_gfx_bank[0] & 0x78) >> 3));
488   reikaids_info(machine(), tileinfo, tile_index, 1, 1, ((m_gfx_bank[0] & 0x78) >> 3));
497489}
498490
499static TILE_GET_INFO( reikaids_get_info0_2 )
491TILE_GET_INFO_MEMBER(homedata_state::reikaids_get_info0_2)
500492{
501   homedata_state *state = machine.driver_data<homedata_state>();
502   reikaids_info(machine, tileinfo, tile_index, 0, 2,  (state->m_gfx_bank[1] & 0x7));
493   reikaids_info(machine(), tileinfo, tile_index, 0, 2,  (m_gfx_bank[1] & 0x7));
503494}
504495
505static TILE_GET_INFO( reikaids_get_info1_2 )
496TILE_GET_INFO_MEMBER(homedata_state::reikaids_get_info1_2)
506497{
507   homedata_state *state = machine.driver_data<homedata_state>();
508   reikaids_info(machine, tileinfo, tile_index, 1, 2,  (state->m_gfx_bank[1] & 0x7));
498   reikaids_info(machine(), tileinfo, tile_index, 1, 2,  (m_gfx_bank[1] & 0x7));
509499}
510500
511static TILE_GET_INFO( reikaids_get_info0_3 )
501TILE_GET_INFO_MEMBER(homedata_state::reikaids_get_info0_3)
512502{
513   homedata_state *state = machine.driver_data<homedata_state>();
514   reikaids_info(machine, tileinfo, tile_index, 0, 3,  (state->m_gfx_bank[0] & 0x7));
503   reikaids_info(machine(), tileinfo, tile_index, 0, 3,  (m_gfx_bank[0] & 0x7));
515504}
516505
517static TILE_GET_INFO( reikaids_get_info1_3 )
506TILE_GET_INFO_MEMBER(homedata_state::reikaids_get_info1_3)
518507{
519   homedata_state *state = machine.driver_data<homedata_state>();
520   reikaids_info(machine, tileinfo, tile_index, 1, 3,  (state->m_gfx_bank[0] & 0x7));
508   reikaids_info(machine(), tileinfo, tile_index, 1, 3,  (m_gfx_bank[0] & 0x7));
521509}
522510
523511
r17673r17674
532520   SET_TILE_INFO(layer, code, color, state->m_flipscreen);
533521}
534522
535static TILE_GET_INFO( pteacher_get_info0_0 )
523TILE_GET_INFO_MEMBER(homedata_state::pteacher_get_info0_0)
536524{
537   homedata_state *state = machine.driver_data<homedata_state>();
538   pteacher_info(machine, tileinfo, tile_index, 0, 0, state->m_gfx_bank[0] & 0x0f);
525   pteacher_info(machine(), tileinfo, tile_index, 0, 0, m_gfx_bank[0] & 0x0f);
539526}
540527
541static TILE_GET_INFO( pteacher_get_info1_0 )
528TILE_GET_INFO_MEMBER(homedata_state::pteacher_get_info1_0)
542529{
543   homedata_state *state = machine.driver_data<homedata_state>();
544   pteacher_info(machine, tileinfo, tile_index, 1, 0, state->m_gfx_bank[0] & 0x0f);
530   pteacher_info(machine(), tileinfo, tile_index, 1, 0, m_gfx_bank[0] & 0x0f);
545531}
546532
547static TILE_GET_INFO( pteacher_get_info0_1 )
533TILE_GET_INFO_MEMBER(homedata_state::pteacher_get_info0_1)
548534{
549   homedata_state *state = machine.driver_data<homedata_state>();
550   pteacher_info(machine, tileinfo, tile_index, 0, 1, state->m_gfx_bank[0] >> 4);
535   pteacher_info(machine(), tileinfo, tile_index, 0, 1, m_gfx_bank[0] >> 4);
551536}
552537
553static TILE_GET_INFO( pteacher_get_info1_1 )
538TILE_GET_INFO_MEMBER(homedata_state::pteacher_get_info1_1)
554539{
555   homedata_state *state = machine.driver_data<homedata_state>();
556   pteacher_info(machine, tileinfo, tile_index, 1, 1, state->m_gfx_bank[0] >> 4);
540   pteacher_info(machine(), tileinfo, tile_index, 1, 1, m_gfx_bank[0] >> 4);
557541}
558542
559543
r17673r17674
568552   SET_TILE_INFO(2 * layer + gfxset, code, color, state->m_flipscreen);
569553}
570554
571static TILE_GET_INFO( lemnangl_get_info0_0 )
555TILE_GET_INFO_MEMBER(homedata_state::lemnangl_get_info0_0)
572556{
573   homedata_state *state = machine.driver_data<homedata_state>();
574   lemnangl_info( machine, tileinfo, tile_index, 0, 0,  state->m_blitter_bank & 1, state->m_gfx_bank[0] & 0x0f );
557   lemnangl_info( machine(), tileinfo, tile_index, 0, 0,  m_blitter_bank & 1, m_gfx_bank[0] & 0x0f );
575558}
576559
577static TILE_GET_INFO( lemnangl_get_info1_0 )
560TILE_GET_INFO_MEMBER(homedata_state::lemnangl_get_info1_0)
578561{
579   homedata_state *state = machine.driver_data<homedata_state>();
580   lemnangl_info( machine, tileinfo, tile_index, 1, 0,  state->m_blitter_bank & 1, state->m_gfx_bank[0] & 0x0f );
562   lemnangl_info( machine(), tileinfo, tile_index, 1, 0,  m_blitter_bank & 1, m_gfx_bank[0] & 0x0f );
581563}
582564
583565
584static TILE_GET_INFO( lemnangl_get_info0_1 )
566TILE_GET_INFO_MEMBER(homedata_state::lemnangl_get_info0_1)
585567{
586   homedata_state *state = machine.driver_data<homedata_state>();
587   lemnangl_info( machine, tileinfo, tile_index, 0, 1, (state->m_blitter_bank & 2) >> 1, state->m_gfx_bank[0] >> 4 );
568   lemnangl_info( machine(), tileinfo, tile_index, 0, 1, (m_blitter_bank & 2) >> 1, m_gfx_bank[0] >> 4 );
588569}
589570
590static TILE_GET_INFO( lemnangl_get_info1_1 )
571TILE_GET_INFO_MEMBER(homedata_state::lemnangl_get_info1_1)
591572{
592   homedata_state *state = machine.driver_data<homedata_state>();
593   lemnangl_info( machine, tileinfo, tile_index, 1, 1, (state->m_blitter_bank & 2) >> 1, state->m_gfx_bank[0] >> 4 );
573   lemnangl_info( machine(), tileinfo, tile_index, 1, 1, (m_blitter_bank & 2) >> 1, m_gfx_bank[0] >> 4 );
594574}
595575
596576
r17673r17674
615595   SET_TILE_INFO( 1, code, color, state->m_flipscreen );
616596}
617597
618static TILE_GET_INFO( mirderby_get_info0_0 )
598TILE_GET_INFO_MEMBER(homedata_state::mirderby_get_info0_0)
619599{
620//  homedata_state *state = machine.driver_data<homedata_state>();
621   mirderby_info0( machine, tileinfo, tile_index, 0, 0);// state->m_blitter_bank & 0x03 );
600   mirderby_info0( machine(), tileinfo, tile_index, 0, 0);// m_blitter_bank & 0x03 );
622601}
623602
624static TILE_GET_INFO( mirderby_get_info1_0 )
603TILE_GET_INFO_MEMBER(homedata_state::mirderby_get_info1_0)
625604{
626//  homedata_state *state = machine.driver_data<homedata_state>();
627   mirderby_info0( machine, tileinfo, tile_index, 1, 0);// state->m_blitter_bank & 0x03 );
605   mirderby_info0( machine(), tileinfo, tile_index, 1, 0);// m_blitter_bank & 0x03 );
628606}
629607
630static TILE_GET_INFO( mirderby_get_info0_1 )
608TILE_GET_INFO_MEMBER(homedata_state::mirderby_get_info0_1)
631609{
632//  homedata_state *state = machine.driver_data<homedata_state>();
633   mirderby_info1( machine, tileinfo, tile_index, 0, 0);//(state->m_blitter_bank & 0x38) >> 3 );
610   mirderby_info1( machine(), tileinfo, tile_index, 0, 0);//(m_blitter_bank & 0x38) >> 3 );
634611}
635612
636static TILE_GET_INFO( mirderby_get_info1_1 )
613TILE_GET_INFO_MEMBER(homedata_state::mirderby_get_info1_1)
637614{
638//  homedata_state *state = machine.driver_data<homedata_state>();
639   mirderby_info1( machine, tileinfo, tile_index, 1, 0);//(state->m_blitter_bank & 0x38) >> 3 );
615   mirderby_info1( machine(), tileinfo, tile_index, 1, 0);//(m_blitter_bank & 0x38) >> 3 );
640616}
641617
642618
r17673r17674
650626VIDEO_START( mrokumei )
651627{
652628   homedata_state *state = machine.driver_data<homedata_state>();
653   state->m_bg_tilemap[0][0] = tilemap_create( machine, mrokumei_get_info0_0, TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
654   state->m_bg_tilemap[0][1] = tilemap_create( machine, mrokumei_get_info0_1, TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
655   state->m_bg_tilemap[1][0] = tilemap_create( machine, mrokumei_get_info1_0, TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
656   state->m_bg_tilemap[1][1] = tilemap_create( machine, mrokumei_get_info1_1, TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
629   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 );
630   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 );
631   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 );
632   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 );
657633
658634   state->m_bg_tilemap[0][1]->set_transparent_pen(0);
659635   state->m_bg_tilemap[1][1]->set_transparent_pen(0);
r17673r17674
662638VIDEO_START( reikaids )
663639{
664640   homedata_state *state = machine.driver_data<homedata_state>();
665   state->m_bg_tilemap[0][0] = tilemap_create(machine, reikaids_get_info0_0, TILEMAP_SCAN_ROWS,  8, 8, 32, 32);
666   state->m_bg_tilemap[0][1] = tilemap_create(machine, reikaids_get_info0_1, TILEMAP_SCAN_ROWS,  8, 8, 32, 32);
667   state->m_bg_tilemap[0][2] = tilemap_create(machine, reikaids_get_info0_2, TILEMAP_SCAN_ROWS,  8, 8, 32, 32);
668   state->m_bg_tilemap[0][3] = tilemap_create(machine, reikaids_get_info0_3, TILEMAP_SCAN_ROWS,  8, 8, 32, 32);
669   state->m_bg_tilemap[1][0] = tilemap_create(machine, reikaids_get_info1_0, TILEMAP_SCAN_ROWS,  8, 8, 32, 32);
670   state->m_bg_tilemap[1][1] = tilemap_create(machine, reikaids_get_info1_1, TILEMAP_SCAN_ROWS,  8, 8, 32, 32);
671   state->m_bg_tilemap[1][2] = tilemap_create(machine, reikaids_get_info1_2, TILEMAP_SCAN_ROWS,  8, 8, 32, 32);
672   state->m_bg_tilemap[1][3] = tilemap_create(machine, reikaids_get_info1_3, TILEMAP_SCAN_ROWS,  8, 8, 32, 32);
641   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);
642   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);
643   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);
644   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);
645   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);
646   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);
647   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);
648   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);
673649
674650   state->m_bg_tilemap[0][0]->set_transparent_pen(0xff);
675651   state->m_bg_tilemap[0][1]->set_transparent_pen(0xff);
r17673r17674
684660VIDEO_START( pteacher )
685661{
686662   homedata_state *state = machine.driver_data<homedata_state>();
687   state->m_bg_tilemap[0][0] = tilemap_create(machine, pteacher_get_info0_0, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
688   state->m_bg_tilemap[0][1] = tilemap_create(machine, pteacher_get_info0_1, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
689   state->m_bg_tilemap[1][0] = tilemap_create(machine, pteacher_get_info1_0, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
690   state->m_bg_tilemap[1][1] = tilemap_create(machine, pteacher_get_info1_1, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
663   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);
664   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);
665   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);
666   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);
691667
692668   state->m_bg_tilemap[0][1]->set_transparent_pen(0xff);
693669   state->m_bg_tilemap[1][1]->set_transparent_pen(0xff);
r17673r17674
696672VIDEO_START( lemnangl )
697673{
698674   homedata_state *state = machine.driver_data<homedata_state>();
699   state->m_bg_tilemap[0][0] = tilemap_create(machine, lemnangl_get_info0_0, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
700   state->m_bg_tilemap[0][1] = tilemap_create(machine, lemnangl_get_info0_1, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
701   state->m_bg_tilemap[1][0] = tilemap_create(machine, lemnangl_get_info1_0, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
702   state->m_bg_tilemap[1][1] = tilemap_create(machine, lemnangl_get_info1_1, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
675   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);
676   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);
677   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);
678   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);
703679
704680   state->m_bg_tilemap[0][1]->set_transparent_pen(0x0f);
705681   state->m_bg_tilemap[1][1]->set_transparent_pen(0x0f);
r17673r17674
708684VIDEO_START( mirderby )
709685{
710686   homedata_state *state = machine.driver_data<homedata_state>();
711   state->m_bg_tilemap[0][0] = tilemap_create( machine, mirderby_get_info0_0, TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
712   state->m_bg_tilemap[0][1] = tilemap_create( machine, mirderby_get_info0_1, TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
713   state->m_bg_tilemap[1][0] = tilemap_create( machine, mirderby_get_info1_0, TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
714   state->m_bg_tilemap[1][1] = tilemap_create( machine, mirderby_get_info1_1, TILEMAP_SCAN_ROWS, 8, 8, 64, 32 );
687   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 );
688   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 );
689   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 );
690   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 );
715691
716692   state->m_bg_tilemap[0][1]->set_transparent_pen(0);
717693   state->m_bg_tilemap[1][1]->set_transparent_pen(0);
trunk/src/mame/video/xxmissio.c
r17673r17674
5050
5151/****************************************************************************/
5252
53static TILE_GET_INFO( get_bg_tile_info )
53TILE_GET_INFO_MEMBER(xxmissio_state::get_bg_tile_info)
5454{
55   xxmissio_state *state = machine.driver_data<xxmissio_state>();
56   int code = ((state->m_bgram[0x400 | tile_index] & 0xc0) << 2) | state->m_bgram[0x000 | tile_index];
57   int color =  state->m_bgram[0x400 | tile_index] & 0x0f;
55   int code = ((m_bgram[0x400 | tile_index] & 0xc0) << 2) | m_bgram[0x000 | tile_index];
56   int color =  m_bgram[0x400 | tile_index] & 0x0f;
5857
59   SET_TILE_INFO(2, code, color, 0);
58   SET_TILE_INFO_MEMBER(2, code, color, 0);
6059}
6160
62static TILE_GET_INFO( get_fg_tile_info )
61TILE_GET_INFO_MEMBER(xxmissio_state::get_fg_tile_info)
6362{
64   xxmissio_state *state = machine.driver_data<xxmissio_state>();
65   int code = state->m_fgram[0x000 | tile_index];
66   int color = state->m_fgram[0x400 | tile_index] & 0x07;
63   int code = m_fgram[0x000 | tile_index];
64   int color = m_fgram[0x400 | tile_index] & 0x07;
6765
68   SET_TILE_INFO(0, code, color, 0);
66   SET_TILE_INFO_MEMBER(0, code, color, 0);
6967}
7068
7169VIDEO_START( xxmissio )
7270{
7371   xxmissio_state *state = machine.driver_data<xxmissio_state>();
74   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
75   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
72   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);
73   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);
7674
7775   state->m_bg_tilemap->set_scroll_cols(1);
7876   state->m_bg_tilemap->set_scroll_rows(1);
trunk/src/mame/video/mugsmash.c
r17673r17674
5959   }
6060}
6161
62static TILE_GET_INFO( get_mugsmash_tile_info1 )
62TILE_GET_INFO_MEMBER(mugsmash_state::get_mugsmash_tile_info1)
6363{
6464
6565   /* fF-- cccc  nnnn nnnn */
r17673r17674
7070       f = flip-Y
7171    */
7272
73   mugsmash_state *state = machine.driver_data<mugsmash_state>();
7473   int tileno, colour, fx;
7574
76   tileno = state->m_videoram1[tile_index * 2 + 1];
77   colour = state->m_videoram1[tile_index * 2] & 0x000f;
78   fx = (state->m_videoram1[tile_index * 2] & 0xc0) >> 6;
75   tileno = m_videoram1[tile_index * 2 + 1];
76   colour = m_videoram1[tile_index * 2] & 0x000f;
77   fx = (m_videoram1[tile_index * 2] & 0xc0) >> 6;
7978
80   SET_TILE_INFO(1, tileno, colour, TILE_FLIPYX(fx));
79   SET_TILE_INFO_MEMBER(1, tileno, colour, TILE_FLIPYX(fx));
8180}
8281
8382WRITE16_MEMBER(mugsmash_state::mugsmash_videoram1_w)
r17673r17674
8786   m_tilemap1->mark_tile_dirty(offset / 2);
8887}
8988
90static TILE_GET_INFO( get_mugsmash_tile_info2 )
89TILE_GET_INFO_MEMBER(mugsmash_state::get_mugsmash_tile_info2)
9190{
9291
9392   /* fF-- cccc  nnnn nnnn */
r17673r17674
9897       f = flip-Y
9998    */
10099
101   mugsmash_state *state = machine.driver_data<mugsmash_state>();
102100   int tileno, colour, fx;
103101
104   tileno = state->m_videoram2[tile_index * 2 + 1];
105   colour = state->m_videoram2[tile_index * 2] & 0x000f;
106   fx = (state->m_videoram2[tile_index * 2] & 0xc0) >> 6;
102   tileno = m_videoram2[tile_index * 2 + 1];
103   colour = m_videoram2[tile_index * 2] & 0x000f;
104   fx = (m_videoram2[tile_index * 2] & 0xc0) >> 6;
107105
108   SET_TILE_INFO(1, tileno, 16 + colour, TILE_FLIPYX(fx));
106   SET_TILE_INFO_MEMBER(1, tileno, 16 + colour, TILE_FLIPYX(fx));
109107}
110108
111109WRITE16_MEMBER(mugsmash_state::mugsmash_videoram2_w)
r17673r17674
142140{
143141   mugsmash_state *state = machine.driver_data<mugsmash_state>();
144142
145   state->m_tilemap1 = tilemap_create(machine, get_mugsmash_tile_info1, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
143   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);
146144   state->m_tilemap1->set_transparent_pen(0);
147145
148   state->m_tilemap2 = tilemap_create(machine, get_mugsmash_tile_info2, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
146   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);
149147}
150148
151149SCREEN_UPDATE_IND16( mugsmash )
trunk/src/mame/video/hng64.c
r17673r17674
529529// pppppppp ff--atttt tttttttt tttttttt
530530#define HNG64_GET_TILE_INFO                                                    \
531531{                                                                              \
532   hng64_state *state = machine.driver_data<hng64_state>();                 \
533   UINT16 tilemapinfo = (state->m_videoregs[reg]>>shift)&0xffff;                 \
532   UINT16 tilemapinfo = (m_videoregs[reg]>>shift)&0xffff;                 \
534533   int tileno,pal, flip;                                                      \
535534                                                                               \
536   tileno = state->m_videoram[tile_index+(offset/4)];                            \
535   tileno = m_videoram[tile_index+(offset/4)];                            \
537536                                                                               \
538537   pal = (tileno&0xff000000)>>24;                                             \
539538   flip =(tileno&0x00c00000)>>22;                                             \
540539                                                                               \
541540   if (tileno&0x200000)                                                       \
542541   {                                                                          \
543      tileno = (tileno & state->m_videoregs[0x0b]) | state->m_videoregs[0x0c];     \
542      tileno = (tileno & m_videoregs[0x0b]) | m_videoregs[0x0c];     \
544543   }                                                                          \
545544                                                                               \
546545   tileno &= 0x1fffff;                                                        \
r17673r17674
549548   {                                                                          \
550549      if (tilemapinfo&0x400)                                                 \
551550      {                                                                      \
552         SET_TILE_INFO(1,tileno>>1,pal>>4,TILE_FLIPYX(flip));               \
551         SET_TILE_INFO_MEMBER(1,tileno>>1,pal>>4,TILE_FLIPYX(flip));               \
553552      }                                                                      \
554553      else                                                                   \
555554      {                                                                      \
556         SET_TILE_INFO(0,tileno, pal,TILE_FLIPYX(flip));                    \
555         SET_TILE_INFO_MEMBER(0,tileno, pal,TILE_FLIPYX(flip));                    \
557556      }                                                                      \
558557   }                                                                          \
559558   else                                                                       \
560559   {                                                                          \
561560      if (tilemapinfo&0x400)                                                 \
562561      {                                                                      \
563         SET_TILE_INFO(3,tileno>>3,pal>>4,TILE_FLIPYX(flip));               \
562         SET_TILE_INFO_MEMBER(3,tileno>>3,pal>>4,TILE_FLIPYX(flip));               \
564563      }                                                                      \
565564      else                                                                   \
566565      {                                                                      \
567         SET_TILE_INFO(2,tileno>>2, pal,TILE_FLIPYX(flip));                 \
566         SET_TILE_INFO_MEMBER(2,tileno>>2, pal,TILE_FLIPYX(flip));                 \
568567      }                                                                      \
569568   }                                                                          \
570569}                                                                              \
571570                                                                              \
572571
573static TILE_GET_INFO( get_hng64_tile0_8x8_info )
572TILE_GET_INFO_MEMBER(hng64_state::get_hng64_tile0_8x8_info)
574573{
575574   int offset = 0x00000;
576575   int size = 0;
r17673r17674
580579   HNG64_GET_TILE_INFO
581580}
582581
583static TILE_GET_INFO( get_hng64_tile0_16x16_info )
582TILE_GET_INFO_MEMBER(hng64_state::get_hng64_tile0_16x16_info)
584583{
585584   int offset = 0x00000;
586585   int size = 1;
r17673r17674
590589   HNG64_GET_TILE_INFO
591590}
592591
593static TILE_GET_INFO( get_hng64_tile1_8x8_info )
592TILE_GET_INFO_MEMBER(hng64_state::get_hng64_tile1_8x8_info)
594593{
595594   int offset = 0x10000;
596595   int size = 0;
r17673r17674
600599   HNG64_GET_TILE_INFO
601600}
602601
603static TILE_GET_INFO( get_hng64_tile1_16x16_info )
602TILE_GET_INFO_MEMBER(hng64_state::get_hng64_tile1_16x16_info)
604603{
605604   int offset = 0x10000;
606605   int size = 1;
r17673r17674
610609   HNG64_GET_TILE_INFO
611610}
612611
613static TILE_GET_INFO( get_hng64_tile2_8x8_info )
612TILE_GET_INFO_MEMBER(hng64_state::get_hng64_tile2_8x8_info)
614613{
615614   int offset = 0x20000;
616615   int size = 0;
r17673r17674
620619   HNG64_GET_TILE_INFO
621620}
622621
623static TILE_GET_INFO( get_hng64_tile2_16x16_info )
622TILE_GET_INFO_MEMBER(hng64_state::get_hng64_tile2_16x16_info)
624623{
625624   int offset = 0x20000;
626625   int size = 1;
r17673r17674
630629   HNG64_GET_TILE_INFO
631630}
632631
633static TILE_GET_INFO( get_hng64_tile3_8x8_info )
632TILE_GET_INFO_MEMBER(hng64_state::get_hng64_tile3_8x8_info)
634633{
635634   int offset = 0x30000;
636635   int size = 0;
r17673r17674
640639   HNG64_GET_TILE_INFO
641640}
642641
643static TILE_GET_INFO( get_hng64_tile3_16x16_info )
642TILE_GET_INFO_MEMBER(hng64_state::get_hng64_tile3_16x16_info)
644643{
645644   int offset = 0x30000;
646645   int size = 1;
r17673r17674
16581657   state->m_old_tileflags2 = -1;
16591658   state->m_old_tileflags3 = -1;
16601659
1661   state->m_tilemap0_8x8       = tilemap_create(machine, get_hng64_tile0_8x8_info,   TILEMAP_SCAN_ROWS,  8,   8, 128, 128); /* 128x128x4 = 0x10000 */
1662   state->m_tilemap0_16x16     = tilemap_create(machine, get_hng64_tile0_16x16_info, TILEMAP_SCAN_ROWS,  16, 16, 128, 128); /* 128x128x4 = 0x10000 */
1663   state->m_tilemap0_16x16_alt = tilemap_create(machine, get_hng64_tile0_16x16_info, TILEMAP_SCAN_ROWS,  16, 16, 256,  64); /* 128x128x4 = 0x10000 */
1660   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 */
1661   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 */
1662   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 */
16641663
1665   state->m_tilemap1_8x8       = tilemap_create(machine, get_hng64_tile1_8x8_info,   TILEMAP_SCAN_ROWS,  8,   8, 128, 128); /* 128x128x4 = 0x10000 */
1666   state->m_tilemap1_16x16     = tilemap_create(machine, get_hng64_tile1_16x16_info, TILEMAP_SCAN_ROWS,  16, 16, 128, 128); /* 128x128x4 = 0x10000 */
1667   state->m_tilemap1_16x16_alt = tilemap_create(machine, get_hng64_tile1_16x16_info, TILEMAP_SCAN_ROWS,  16, 16, 256,  64); /* 128x128x4 = 0x10000 */
1664   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 */
1665   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 */
1666   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 */
16681667
1669   state->m_tilemap2_8x8       = tilemap_create(machine, get_hng64_tile2_8x8_info,   TILEMAP_SCAN_ROWS,  8,   8, 128, 128); /* 128x128x4 = 0x10000 */
1670   state->m_tilemap2_16x16     = tilemap_create(machine, get_hng64_tile2_16x16_info, TILEMAP_SCAN_ROWS,  16, 16, 128, 128); /* 128x128x4 = 0x10000 */
1671   state->m_tilemap2_16x16_alt = tilemap_create(machine, get_hng64_tile2_16x16_info, TILEMAP_SCAN_ROWS,  16, 16, 256,  64); /* 128x128x4 = 0x10000 */
1668   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 */
1669   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 */
1670   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 */
16721671
1673   state->m_tilemap3_8x8       = tilemap_create(machine, get_hng64_tile3_8x8_info,   TILEMAP_SCAN_ROWS,  8,   8, 128, 128); /* 128x128x4 = 0x10000 */
1674   state->m_tilemap3_16x16     = tilemap_create(machine, get_hng64_tile3_16x16_info, TILEMAP_SCAN_ROWS,  16, 16, 128, 128); /* 128x128x4 = 0x10000 */
1675   state->m_tilemap3_16x16_alt = tilemap_create(machine, get_hng64_tile3_16x16_info, TILEMAP_SCAN_ROWS,  16, 16, 256,  64); /* 128x128x4 = 0x10000 */
1672   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 */
1673   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 */
1674   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 */
16761675
16771676   state->m_tilemap0_8x8->set_transparent_pen(0);
16781677   state->m_tilemap0_16x16->set_transparent_pen(0);
trunk/src/mame/video/solomon.c
r17673r17674
3838   }
3939}
4040
41static TILE_GET_INFO( get_bg_tile_info )
41TILE_GET_INFO_MEMBER(solomon_state::get_bg_tile_info)
4242{
43   solomon_state *state = machine.driver_data<solomon_state>();
44   int attr = state->m_colorram2[tile_index];
45   int code = state->m_videoram2[tile_index] + 256 * (attr & 0x07);
43   int attr = m_colorram2[tile_index];
44   int code = m_videoram2[tile_index] + 256 * (attr & 0x07);
4645   int color = ((attr & 0x70) >> 4);
4746   int flags = ((attr & 0x80) ? TILE_FLIPX : 0) | ((attr & 0x08) ? TILE_FLIPY : 0);
4847
49   SET_TILE_INFO(1, code, color, flags);
48   SET_TILE_INFO_MEMBER(1, code, color, flags);
5049}
5150
52static TILE_GET_INFO( get_fg_tile_info )
51TILE_GET_INFO_MEMBER(solomon_state::get_fg_tile_info)
5352{
54   solomon_state *state = machine.driver_data<solomon_state>();
55   int attr = state->m_colorram[tile_index];
56   int code = state->m_videoram[tile_index] + 256 * (attr & 0x07);
53   int attr = m_colorram[tile_index];
54   int code = m_videoram[tile_index] + 256 * (attr & 0x07);
5755   int color = (attr & 0x70) >> 4;
5856
59   SET_TILE_INFO(0, code, color, 0);
57   SET_TILE_INFO_MEMBER(0, code, color, 0);
6058}
6159
6260VIDEO_START( solomon )
6361{
6462   solomon_state *state = machine.driver_data<solomon_state>();
6563
66   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
64   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(solomon_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
6765       8, 8, 32, 32);
6866
69   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,
67   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(solomon_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,
7068       8, 8, 32, 32);
7169
7270   state->m_fg_tilemap->set_transparent_pen(0);
trunk/src/mame/video/gladiatr.c
r17673r17674
1414
1515***************************************************************************/
1616
17static TILE_GET_INFO( bg_get_tile_info )
17TILE_GET_INFO_MEMBER(gladiatr_state::bg_get_tile_info)
1818{
19   gladiatr_state *state = machine.driver_data<gladiatr_state>();
20   UINT8 attr = state->m_colorram[tile_index];
19   UINT8 attr = m_colorram[tile_index];
2120
22   SET_TILE_INFO(
21   SET_TILE_INFO_MEMBER(
2322         1,
24         state->m_videoram[tile_index] + ((attr & 0x07) << 8) + (state->m_bg_tile_bank << 11),
23         m_videoram[tile_index] + ((attr & 0x07) << 8) + (m_bg_tile_bank << 11),
2524         (attr >> 3) ^ 0x1f,
2625         0);
2726}
2827
29static TILE_GET_INFO( fg_get_tile_info )
28TILE_GET_INFO_MEMBER(gladiatr_state::fg_get_tile_info)
3029{
31   gladiatr_state *state = machine.driver_data<gladiatr_state>();
32   SET_TILE_INFO(
30   SET_TILE_INFO_MEMBER(
3331         0,
34         state->m_textram[tile_index] + (state->m_fg_tile_bank << 8),
32         m_textram[tile_index] + (m_fg_tile_bank << 8),
3533         0,
3634         0);
3735}
r17673r17674
4745VIDEO_START( ppking )
4846{
4947   gladiatr_state *state = machine.driver_data<gladiatr_state>();
50   state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,64);
51   state->m_fg_tilemap = tilemap_create(machine, fg_get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,64);
48   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);
49   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);
5250
5351   state->m_fg_tilemap->set_transparent_pen(0);
5452
r17673r17674
6058VIDEO_START( gladiatr )
6159{
6260   gladiatr_state *state = machine.driver_data<gladiatr_state>();
63   state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
64   state->m_fg_tilemap = tilemap_create(machine, fg_get_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
61   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);
62   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);
6563
6664   state->m_fg_tilemap->set_transparent_pen(0);
6765
trunk/src/mame/video/macrossp.c
r17673r17674
1515}
1616
1717
18static TILE_GET_INFO( get_macrossp_scra_tile_info )
18TILE_GET_INFO_MEMBER(macrossp_state::get_macrossp_scra_tile_info)
1919{
20   macrossp_state *state = machine.driver_data<macrossp_state>();
2120   UINT32 attr, tileno, color;
2221
23   attr = state->m_scra_videoram[tile_index];
22   attr = m_scra_videoram[tile_index];
2423   tileno = attr & 0x0000ffff;
2524
26   switch (state->m_scra_videoregs[0] & 0x00000c00)
25   switch (m_scra_videoregs[0] & 0x00000c00)
2726   {
2827      case 0x00000800:
2928         color = (attr & 0x000e0000) >> 15;
r17673r17674
3433         break;
3534
3635      default:
37         color = machine.rand() & 7;
36         color = machine().rand() & 7;
3837         break;
3938   }
4039
41   SET_TILE_INFO(1, tileno, color, TILE_FLIPYX((attr & 0xc0000000) >> 30));
40   SET_TILE_INFO_MEMBER(1, tileno, color, TILE_FLIPYX((attr & 0xc0000000) >> 30));
4241}
4342
4443/*** SCR B LAYER ***/
r17673r17674
5251}
5352
5453
55static TILE_GET_INFO( get_macrossp_scrb_tile_info )
54TILE_GET_INFO_MEMBER(macrossp_state::get_macrossp_scrb_tile_info)
5655{
57   macrossp_state *state = machine.driver_data<macrossp_state>();
5856   UINT32 attr, tileno, color;
5957
60   attr = state->m_scrb_videoram[tile_index];
58   attr = m_scrb_videoram[tile_index];
6159   tileno = attr & 0x0000ffff;
6260
63   switch (state->m_scrb_videoregs[0] & 0x00000c00)
61   switch (m_scrb_videoregs[0] & 0x00000c00)
6462   {
6563      case 0x00000800:
6664         color = (attr & 0x000e0000) >> 15;
r17673r17674
7169         break;
7270
7371      default:
74         color = machine.rand() & 7;
72         color = machine().rand() & 7;
7573         break;
7674   }
7775
78   SET_TILE_INFO(2, tileno, color, TILE_FLIPYX((attr & 0xc0000000) >> 30));
76   SET_TILE_INFO_MEMBER(2, tileno, color, TILE_FLIPYX((attr & 0xc0000000) >> 30));
7977}
8078
8179/*** SCR C LAYER ***/
r17673r17674
8987}
9088
9189
92static TILE_GET_INFO( get_macrossp_scrc_tile_info )
90TILE_GET_INFO_MEMBER(macrossp_state::get_macrossp_scrc_tile_info)
9391{
94   macrossp_state *state = machine.driver_data<macrossp_state>();
9592   UINT32 attr, tileno, color;
9693
97   attr = state->m_scrc_videoram[tile_index];
94   attr = m_scrc_videoram[tile_index];
9895   tileno = attr & 0x0000ffff;
9996
100   switch (state->m_scrc_videoregs[0] & 0x00000c00)
97   switch (m_scrc_videoregs[0] & 0x00000c00)
10198   {
10299      case 0x00000800:
103100         color = (attr & 0x000e0000) >> 15;
r17673r17674
108105         break;
109106
110107      default:
111         color = machine.rand() & 7;
108         color = machine().rand() & 7;
112109         break;
113110   }
114111
115   SET_TILE_INFO(3, tileno, color, TILE_FLIPYX((attr & 0xc0000000) >> 30));
112   SET_TILE_INFO_MEMBER(3, tileno, color, TILE_FLIPYX((attr & 0xc0000000) >> 30));
116113}
117114
118115/*** TEXT LAYER ***/
r17673r17674
126123}
127124
128125
129static TILE_GET_INFO( get_macrossp_text_tile_info )
126TILE_GET_INFO_MEMBER(macrossp_state::get_macrossp_text_tile_info)
130127{
131   macrossp_state *state = machine.driver_data<macrossp_state>();
132128   UINT32 tileno, colour;
133129
134   tileno = state->m_text_videoram[tile_index] & 0x0000ffff;
135   colour = (state->m_text_videoram[tile_index] & 0x00fe0000) >> 17;
130   tileno = m_text_videoram[tile_index] & 0x0000ffff;
131   colour = (m_text_videoram[tile_index] & 0x00fe0000) >> 17;
136132
137   SET_TILE_INFO(4, tileno, colour, 0);
133   SET_TILE_INFO_MEMBER(4, tileno, colour, 0);
138134}
139135
140136
r17673r17674
148144   state->m_spriteram_old = auto_alloc_array_clear(machine, UINT32, state->m_spriteram.bytes() / 4);
149145   state->m_spriteram_old2 = auto_alloc_array_clear(machine, UINT32, state->m_spriteram.bytes() / 4);
150146
151   state->m_text_tilemap = tilemap_create(machine, get_macrossp_text_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
152   state->m_scra_tilemap = tilemap_create(machine, get_macrossp_scra_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
153   state->m_scrb_tilemap = tilemap_create(machine, get_macrossp_scrb_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
154   state->m_scrc_tilemap = tilemap_create(machine, get_macrossp_scrc_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
147   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);
148   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);
149   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);
150   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);
155151
156152   state->m_text_tilemap->set_transparent_pen(0);
157153   state->m_scra_tilemap->set_transparent_pen(0);
trunk/src/mame/video/goindol.c
r17673r17674
1515
1616***************************************************************************/
1717
18static TILE_GET_INFO( get_fg_tile_info )
18TILE_GET_INFO_MEMBER(goindol_state::get_fg_tile_info)
1919{
20   goindol_state *state = machine.driver_data<goindol_state>();
21   int code = state->m_fg_videoram[2 * tile_index + 1];
22   int attr = state->m_fg_videoram[2 * tile_index];
23   SET_TILE_INFO(
20   int code = m_fg_videoram[2 * tile_index + 1];
21   int attr = m_fg_videoram[2 * tile_index];
22   SET_TILE_INFO_MEMBER(
2423         0,
25         code | ((attr & 0x7) << 8) | (state->m_char_bank << 11),
24         code | ((attr & 0x7) << 8) | (m_char_bank << 11),
2625         (attr & 0xf8) >> 3,
2726         0);
2827}
2928
30static TILE_GET_INFO( get_bg_tile_info )
29TILE_GET_INFO_MEMBER(goindol_state::get_bg_tile_info)
3130{
32   goindol_state *state = machine.driver_data<goindol_state>();
33   int code = state->m_bg_videoram[2 * tile_index + 1];
34   int attr = state->m_bg_videoram[2 * tile_index];
35   SET_TILE_INFO(
31   int code = m_bg_videoram[2 * tile_index + 1];
32   int attr = m_bg_videoram[2 * tile_index];
33   SET_TILE_INFO_MEMBER(
3634         1,
37         code | ((attr & 0x7) << 8) | (state->m_char_bank << 11),
35         code | ((attr & 0x7) << 8) | (m_char_bank << 11),
3836         (attr & 0xf8) >> 3,
3937         0);
4038}
r17673r17674
5048VIDEO_START( goindol )
5149{
5250   goindol_state *state = machine.driver_data<goindol_state>();
53   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
54   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
51   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);
52   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);
5553
5654   state->m_fg_tilemap->set_transparent_pen(0);
5755}
trunk/src/mame/video/taito_l.c
r17673r17674
77
88***************************************************************************/
99
10static TILE_GET_INFO( get_bg18_tile_info )
10TILE_GET_INFO_MEMBER(taitol_state::get_bg18_tile_info)
1111{
12   taitol_state *state = machine.driver_data<taitol_state>();
13   int attr = state->m_rambanks[2 * tile_index + 0x8000 + 1];
14   int code = state->m_rambanks[2 * tile_index + 0x8000]
12   int attr = m_rambanks[2 * tile_index + 0x8000 + 1];
13   int code = m_rambanks[2 * tile_index + 0x8000]
1514         | ((attr & 0x03) << 8)
16         | ((state->m_bankc[(attr & 0xc) >> 2]) << 10)
17         | (state->m_horshoes_gfxbank << 12);
15         | ((m_bankc[(attr & 0xc) >> 2]) << 10)
16         | (m_horshoes_gfxbank << 12);
1817
19   SET_TILE_INFO(
18   SET_TILE_INFO_MEMBER(
2019         0,
2120         code,
2221         (attr & 0xf0) >> 4,
2322         0);
2423}
2524
26static TILE_GET_INFO( get_bg19_tile_info )
25TILE_GET_INFO_MEMBER(taitol_state::get_bg19_tile_info)
2726{
28   taitol_state *state = machine.driver_data<taitol_state>();
29   int attr = state->m_rambanks[2 * tile_index + 0x9000 + 1];
30   int code = state->m_rambanks[2 * tile_index + 0x9000]
27   int attr = m_rambanks[2 * tile_index + 0x9000 + 1];
28   int code = m_rambanks[2 * tile_index + 0x9000]
3129         | ((attr & 0x03) << 8)
32         | ((state->m_bankc[(attr & 0xc) >> 2]) << 10)
33         | (state->m_horshoes_gfxbank << 12);
30         | ((m_bankc[(attr & 0xc) >> 2]) << 10)
31         | (m_horshoes_gfxbank << 12);
3432
35   SET_TILE_INFO(
33   SET_TILE_INFO_MEMBER(
3634         0,
3735         code,
3836         (attr & 0xf0) >> 4,
3937         0);
4038}
4139
42static TILE_GET_INFO( get_ch1a_tile_info )
40TILE_GET_INFO_MEMBER(taitol_state::get_ch1a_tile_info)
4341{
44   taitol_state *state = machine.driver_data<taitol_state>();
45   int attr = state->m_rambanks[2 * tile_index + 0xa000 + 1];
46   int code = state->m_rambanks[2 * tile_index + 0xa000] | ((attr & 0x01) << 8) | ((attr & 0x04) << 7);
42   int attr = m_rambanks[2 * tile_index + 0xa000 + 1];
43   int code = m_rambanks[2 * tile_index + 0xa000] | ((attr & 0x01) << 8) | ((attr & 0x04) << 7);
4744
48   SET_TILE_INFO(
45   SET_TILE_INFO_MEMBER(
4946         2,
5047         code,
5148         (attr & 0xf0) >> 4,
r17673r17674
6562   taitol_state *state = machine.driver_data<taitol_state>();
6663   int i;
6764
68   state->m_bg18_tilemap = tilemap_create(machine, get_bg18_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
69   state->m_bg19_tilemap = tilemap_create(machine, get_bg19_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
70   state->m_ch1a_tilemap = tilemap_create(machine, get_ch1a_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
65   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);
66   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);
67   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);
7168
7269   state->m_bg18_tilemap->set_transparent_pen(0);
7370   state->m_ch1a_tilemap->set_transparent_pen(0);
trunk/src/mame/video/gyruss.c
r17673r17674
9999}
100100
101101
102static TILE_GET_INFO( gyruss_get_tile_info )
102TILE_GET_INFO_MEMBER(gyruss_state::gyruss_get_tile_info)
103103{
104   gyruss_state *state = machine.driver_data<gyruss_state>();
105   int code = ((state->m_colorram[tile_index] & 0x20) << 3) | state->m_videoram[tile_index];
106   int color = state->m_colorram[tile_index] & 0x0f;
107   int flags = TILE_FLIPYX(state->m_colorram[tile_index] >> 6);
104   int code = ((m_colorram[tile_index] & 0x20) << 3) | m_videoram[tile_index];
105   int color = m_colorram[tile_index] & 0x0f;
106   int flags = TILE_FLIPYX(m_colorram[tile_index] >> 6);
108107
109   tileinfo.group = (state->m_colorram[tile_index] & 0x10) ? 0 : 1;
108   tileinfo.group = (m_colorram[tile_index] & 0x10) ? 0 : 1;
110109
111   SET_TILE_INFO(2, code, color, flags);
110   SET_TILE_INFO_MEMBER(2, code, color, flags);
112111}
113112
114113
115114VIDEO_START( gyruss )
116115{
117116   gyruss_state *state = machine.driver_data<gyruss_state>();
118   state->m_tilemap = tilemap_create(machine, gyruss_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
117   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);
119118   state->m_tilemap->set_transmask(0, 0x00, 0);   /* opaque */
120119   state->m_tilemap->set_transmask(1, 0x0f, 0);  /* transparent */
121120}
trunk/src/mame/video/fastlane.c
r17673r17674
4747
4848***************************************************************************/
4949
50static TILE_GET_INFO( get_tile_info0 )
50TILE_GET_INFO_MEMBER(fastlane_state::get_tile_info0)
5151{
52   fastlane_state *state = machine.driver_data<fastlane_state>();
53   UINT8 ctrl_3 = k007121_ctrlram_r(state->m_k007121, 3);
54   UINT8 ctrl_4 = k007121_ctrlram_r(state->m_k007121, 4);
55   UINT8 ctrl_5 = k007121_ctrlram_r(state->m_k007121, 5);
56   int attr = state->m_videoram1[tile_index];
57   int code = state->m_videoram1[tile_index + 0x400];
52   UINT8 ctrl_3 = k007121_ctrlram_r(m_k007121, 3);
53   UINT8 ctrl_4 = k007121_ctrlram_r(m_k007121, 4);
54   UINT8 ctrl_5 = k007121_ctrlram_r(m_k007121, 5);
55   int attr = m_videoram1[tile_index];
56   int code = m_videoram1[tile_index + 0x400];
5857   int bit0 = (ctrl_5 >> 0) & 0x03;
5958   int bit1 = (ctrl_5 >> 2) & 0x03;
6059   int bit2 = (ctrl_5 >> 4) & 0x03;
r17673r17674
6968
7069   bank = (bank & ~(mask << 1)) | ((ctrl_4 & mask) << 1);
7170
72   SET_TILE_INFO(
71   SET_TILE_INFO_MEMBER(
7372         0,
7473         code+bank*256,
7574         1 + 64 * (attr & 0x0f),
7675         0);
7776}
7877
79static TILE_GET_INFO( get_tile_info1 )
78TILE_GET_INFO_MEMBER(fastlane_state::get_tile_info1)
8079{
81   fastlane_state *state = machine.driver_data<fastlane_state>();
82   UINT8 ctrl_3 = k007121_ctrlram_r(state->m_k007121, 3);
83   UINT8 ctrl_4 = k007121_ctrlram_r(state->m_k007121, 4);
84   UINT8 ctrl_5 = k007121_ctrlram_r(state->m_k007121, 5);
85   int attr = state->m_videoram2[tile_index];
86   int code = state->m_videoram2[tile_index + 0x400];
80   UINT8 ctrl_3 = k007121_ctrlram_r(m_k007121, 3);
81   UINT8 ctrl_4 = k007121_ctrlram_r(m_k007121, 4);
82   UINT8 ctrl_5 = k007121_ctrlram_r(m_k007121, 5);
83   int attr = m_videoram2[tile_index];
84   int code = m_videoram2[tile_index + 0x400];
8785   int bit0 = (ctrl_5 >> 0) & 0x03;
8886   int bit1 = (ctrl_5 >> 2) & 0x03;
8987   int bit2 = (ctrl_5 >> 4) & 0x03;
r17673r17674
9896
9997   bank = (bank & ~(mask << 1)) | ((ctrl_4 & mask) << 1);
10098
101   SET_TILE_INFO(
99   SET_TILE_INFO_MEMBER(
102100         0,
103101         code+bank*256,
104102         0 + 64 * (attr & 0x0f),
r17673r17674
115113{
116114   fastlane_state *state = machine.driver_data<fastlane_state>();
117115
118   state->m_layer0 = tilemap_create(machine, get_tile_info0, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
119   state->m_layer1 = tilemap_create(machine, get_tile_info1, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
116   state->m_layer0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fastlane_state::get_tile_info0),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
117   state->m_layer1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(fastlane_state::get_tile_info1),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
120118
121119   state->m_layer0->set_scroll_rows(32);
122120
trunk/src/mame/video/cabal.c
r17673r17674
99#include "emu.h"
1010#include "includes/cabal.h"
1111
12static TILE_GET_INFO( get_back_tile_info )
12TILE_GET_INFO_MEMBER(cabal_state::get_back_tile_info)
1313{
14   cabal_state *state = machine.driver_data<cabal_state>();
1514
16   int tile = state->m_videoram[tile_index];
15   int tile = m_videoram[tile_index];
1716   int color = (tile>>12)&0xf;
1817
1918   tile &= 0xfff;
2019
21   SET_TILE_INFO(
20   SET_TILE_INFO_MEMBER(
2221         1,
2322         tile,
2423         color,
2524         0);
2625}
2726
28static TILE_GET_INFO( get_text_tile_info )
27TILE_GET_INFO_MEMBER(cabal_state::get_text_tile_info)
2928{
30   cabal_state *state = machine.driver_data<cabal_state>();
3129
32   int tile = state->m_colorram[tile_index];
30   int tile = m_colorram[tile_index];
3331   int color = (tile>>10);
3432
3533   tile &= 0x3ff;
3634
37   SET_TILE_INFO(
35   SET_TILE_INFO_MEMBER(
3836         0,
3937         tile,
4038         color,
r17673r17674
4644{
4745   cabal_state *state = machine.driver_data<cabal_state>();
4846
49   state->m_background_layer = tilemap_create(machine, get_back_tile_info,TILEMAP_SCAN_ROWS,16,16,16,16);
50   state->m_text_layer       = tilemap_create(machine, get_text_tile_info,TILEMAP_SCAN_ROWS,  8,8,32,32);
47   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);
48   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);
5149
5250   state->m_text_layer->set_transparent_pen(3);
5351   state->m_background_layer->set_transparent_pen(15);
trunk/src/mame/video/suprloco.c
r17673r17674
7575
7676***************************************************************************/
7777
78static TILE_GET_INFO( get_tile_info )
78TILE_GET_INFO_MEMBER(suprloco_state::get_tile_info)
7979{
80   suprloco_state *state = machine.driver_data<suprloco_state>();
81   UINT8 attr = state->m_videoram[2*tile_index+1];
82   SET_TILE_INFO(
80   UINT8 attr = m_videoram[2*tile_index+1];
81   SET_TILE_INFO_MEMBER(
8382         0,
84         state->m_videoram[2*tile_index] | ((attr & 0x03) << 8),
83         m_videoram[2*tile_index] | ((attr & 0x03) << 8),
8584         (attr & 0x1c) >> 2,
8685         0);
8786   tileinfo.category = (attr & 0x20) >> 5;
r17673r17674
9897VIDEO_START( suprloco )
9998{
10099   suprloco_state *state = machine.driver_data<suprloco_state>();
101   state->m_bg_tilemap = tilemap_create(machine, get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
100   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);
102101
103102   state->m_bg_tilemap->set_scroll_rows(32);
104103}
trunk/src/mame/video/m92.c
r17673r17674
136136
137137/*****************************************************************************/
138138
139static TILE_GET_INFO( get_pf_tile_info )
139TILE_GET_INFO_MEMBER(m92_state::get_pf_tile_info)
140140{
141   m92_state *state = machine.driver_data<m92_state>();
142141   pf_layer_info *layer = (pf_layer_info *)param;
143142   int tile, attrib;
144143   tile_index = 2 * tile_index + layer->vram_base;
145144
146   attrib = state->m_vram_data[tile_index + 1];
147   tile = state->m_vram_data[tile_index] + ((attrib & 0x8000) << 1);
145   attrib = m_vram_data[tile_index + 1];
146   tile = m_vram_data[tile_index] + ((attrib & 0x8000) << 1);
148147
149   SET_TILE_INFO(
148   SET_TILE_INFO_MEMBER(
150149         0,
151150         tile,
152151         attrib & 0x7f,
r17673r17674
249248      pf_layer_info *layer = &state->m_pf_layer[laynum];
250249
251250      /* allocate two tilemaps per layer, one normal, one wide */
252      layer->tmap = tilemap_create(machine, get_pf_tile_info, TILEMAP_SCAN_ROWS,  8,8, 64,64);
253      layer->wide_tmap = tilemap_create(machine, get_pf_tile_info, TILEMAP_SCAN_ROWS,  8,8, 128,64);
251      layer->tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m92_state::get_pf_tile_info),state), TILEMAP_SCAN_ROWS,  8,8, 64,64);
252      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);
254253
255254      /* set the user data for each one to point to the layer */
256255      layer->tmap->set_user_data(&state->m_pf_layer[laynum]);
trunk/src/mame/video/m58.c
r17673r17674
144144 *
145145 *************************************/
146146
147static TILE_GET_INFO( yard_get_bg_tile_info )
147TILE_GET_INFO_MEMBER(m58_state::yard_get_bg_tile_info)
148148{
149   m58_state *state = machine.driver_data<m58_state>();
150149
151150   int offs = tile_index * 2;
152   int attr = state->m_videoram[offs + 1];
153   int code = state->m_videoram[offs] + ((attr & 0xc0) << 2);
151   int attr = m_videoram[offs + 1];
152   int code = m_videoram[offs] + ((attr & 0xc0) << 2);
154153   int color = attr & 0x1f;
155154   int flags = (attr & 0x20) ? TILE_FLIPX : 0;
156155
157   SET_TILE_INFO(0, code, color, flags);
156   SET_TILE_INFO_MEMBER(0, code, color, flags);
158157}
159158
160159
161static TILEMAP_MAPPER( yard_tilemap_scan_rows )
160TILEMAP_MAPPER_MEMBER(m58_state::yard_tilemap_scan_rows)
162161{
163162   /* logical (col,row) -> memory offset */
164163   if (col >= 32)
r17673r17674
183182   int height = machine.primary_screen->height();
184183   const rectangle &visarea = machine.primary_screen->visible_area();
185184
186   state->m_bg_tilemap = tilemap_create(machine, yard_get_bg_tile_info, yard_tilemap_scan_rows,  8, 8, 64, 32);
185   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);
187186   state->m_bg_tilemap->set_scrolldx(visarea.min_x, width - (visarea.max_x + 1));
188187   state->m_bg_tilemap->set_scrolldy(visarea.min_y - 8, height + 16 - (visarea.max_y + 1));
189188
trunk/src/mame/video/fcombat.c
r17673r17674
88#include "includes/fcombat.h"
99
1010
11static TILE_GET_INFO( get_bg_tile_info )
11TILE_GET_INFO_MEMBER(fcombat_state::get_bg_tile_info)
1212{
1313   int tileno, palno;   //32*16 x 32
1414
1515   //palno = (tile_index - (tile_index / 32 * 16) * 32 * 16) / 32;
1616
17   tileno = machine.root_device().memregion("user1")->base()[tile_index];
18   palno = 0x18; //machine.root_device().memregion("user2")->base()[tile_index] >> 3;
19   SET_TILE_INFO(2, tileno, palno, 0);
17   tileno = machine().root_device().memregion("user1")->base()[tile_index];
18   palno = 0x18; //machine().root_device().memregion("user2")->base()[tile_index] >> 3;
19   SET_TILE_INFO_MEMBER(2, tileno, palno, 0);
2020}
2121
2222
r17673r17674
102102VIDEO_START( fcombat )
103103{
104104   fcombat_state *state = machine.driver_data<fcombat_state>();
105   state->m_bgmap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32 * 8 * 2, 32);
105   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);
106106}
107107
108108
trunk/src/mame/video/thoop2.c
r17673r17674
3636      1  | x------- -------- | flip y
3737*/
3838
39static TILE_GET_INFO( get_tile_info_thoop2_screen0 )
39TILE_GET_INFO_MEMBER(thoop2_state::get_tile_info_thoop2_screen0)
4040{
41   thoop2_state *state = machine.driver_data<thoop2_state>();
42   int data = state->m_videoram[tile_index << 1];
43   int data2 = state->m_videoram[(tile_index << 1) + 1];
41   int data = m_videoram[tile_index << 1];
42   int data2 = m_videoram[(tile_index << 1) + 1];
4443   int code = ((data & 0xfffc) >> 2) | ((data & 0x0003) << 14);
4544
4645   tileinfo.category = (data2 >> 6) & 0x03;
4746
48   SET_TILE_INFO(1, code, data2 & 0x3f, TILE_FLIPYX((data2 >> 14) & 0x03));
47   SET_TILE_INFO_MEMBER(1, code, data2 & 0x3f, TILE_FLIPYX((data2 >> 14) & 0x03));
4948}
5049
5150
52static TILE_GET_INFO( get_tile_info_thoop2_screen1 )
51TILE_GET_INFO_MEMBER(thoop2_state::get_tile_info_thoop2_screen1)
5352{
54   thoop2_state *state = machine.driver_data<thoop2_state>();
55   int data = state->m_videoram[(0x1000/2) + (tile_index << 1)];
56   int data2 = state->m_videoram[(0x1000/2) + (tile_index << 1) + 1];
53   int data = m_videoram[(0x1000/2) + (tile_index << 1)];
54   int data2 = m_videoram[(0x1000/2) + (tile_index << 1) + 1];
5755   int code = ((data & 0xfffc) >> 2) | ((data & 0x0003) << 14);
5856
5957   tileinfo.category = (data2 >> 6) & 0x03;
6058
61   SET_TILE_INFO(1, code, data2 & 0x3f, TILE_FLIPYX((data2 >> 14) & 0x03));
59   SET_TILE_INFO_MEMBER(1, code, data2 & 0x3f, TILE_FLIPYX((data2 >> 14) & 0x03));
6260}
6361
6462/***************************************************************************
r17673r17674
8482   thoop2_state *state = machine.driver_data<thoop2_state>();
8583   int i;
8684
87   state->m_pant[0] = tilemap_create(machine, get_tile_info_thoop2_screen0,TILEMAP_SCAN_ROWS,16,16,32,32);
88   state->m_pant[1] = tilemap_create(machine, get_tile_info_thoop2_screen1,TILEMAP_SCAN_ROWS,16,16,32,32);
85   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);
86   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);
8987
9088   state->m_pant[0]->set_transmask(0,0xff01,0x00ff); /* pens 1-7 opaque, pens 0, 8-15 transparent */
9189   state->m_pant[1]->set_transmask(0,0xff01,0x00ff); /* pens 1-7 opaque, pens 0, 8-15 transparent */
trunk/src/mame/video/wwfwfest.c
r17673r17674
4545/*******************************************************************************
4646 Tilemap Related Functions
4747*******************************************************************************/
48static TILE_GET_INFO( get_fg0_tile_info )
48TILE_GET_INFO_MEMBER(wwfwfest_state::get_fg0_tile_info)
4949{
50   wwfwfest_state *state = machine.driver_data<wwfwfest_state>();
5150   /*- FG0 RAM Format -**
5251
5352      4 bytes per tile
r17673r17674
6766   UINT16 *tilebase;
6867   int tileno;
6968   int colbank;
70   tilebase =  &state->m_fg0_videoram[tile_index*2];
69   tilebase =  &m_fg0_videoram[tile_index*2];
7170   tileno =  (tilebase[0] & 0x00ff) | ((tilebase[1] & 0x000f) << 8);
7271   colbank = (tilebase[1] & 0x00f0) >> 4;
73   SET_TILE_INFO(
72   SET_TILE_INFO_MEMBER(
7473         0,
7574         tileno,
7675         colbank,
7776         0);
7877}
7978
80static TILE_GET_INFO( get_bg0_tile_info )
79TILE_GET_INFO_MEMBER(wwfwfest_state::get_bg0_tile_info)
8180{
82   wwfwfest_state *state = machine.driver_data<wwfwfest_state>();
8381   /*- BG0 RAM Format -**
8482
8583      4 bytes per tile
r17673r17674
9896   UINT16 *tilebase;
9997   int tileno,colbank;
10098
101   tilebase =  &state->m_bg0_videoram[tile_index*2];
99   tilebase =  &m_bg0_videoram[tile_index*2];
102100   tileno =  (tilebase[1] & 0x0fff);
103101   colbank = (tilebase[0] & 0x000f);
104   SET_TILE_INFO(
102   SET_TILE_INFO_MEMBER(
105103         2,
106104         tileno,
107105         colbank,
108106         TILE_FLIPYX((tilebase[0] & 0x00c0) >> 6));
109107}
110108
111static TILE_GET_INFO( get_bg1_tile_info )
109TILE_GET_INFO_MEMBER(wwfwfest_state::get_bg1_tile_info)
112110{
113   wwfwfest_state *state = machine.driver_data<wwfwfest_state>();
114111   /*- BG1 RAM Format -**
115112
116113      2 bytes per tile
r17673r17674
125122   UINT16 *tilebase;
126123   int tileno;
127124   int colbank;
128   tilebase =  &state->m_bg1_videoram[tile_index];
125   tilebase =  &m_bg1_videoram[tile_index];
129126   tileno =  (tilebase[0] & 0x0fff);
130127   colbank = (tilebase[0] & 0xf000) >> 12;
131   SET_TILE_INFO(
128   SET_TILE_INFO_MEMBER(
132129         3,
133130         tileno,
134131         colbank,
r17673r17674
231228    state_save_register_global(machine, state->m_bg1_scrollx);
232229    state_save_register_global(machine, state->m_bg1_scrolly);
233230
234   state->m_fg0_tilemap = tilemap_create(machine, get_fg0_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,32);
235   state->m_bg1_tilemap = tilemap_create(machine, get_bg1_tile_info,TILEMAP_SCAN_ROWS, 16, 16,32,32);
236   state->m_bg0_tilemap = tilemap_create(machine, get_bg0_tile_info,TILEMAP_SCAN_ROWS, 16, 16,32,32);
231   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);
232   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);
233   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);
237234
238235   state->m_fg0_tilemap->set_transparent_pen(0);
239236   state->m_bg1_tilemap->set_transparent_pen(0);
trunk/src/mame/video/marineb.c
r17673r17674
4545
4646***************************************************************************/
4747
48static TILE_GET_INFO( get_tile_info )
48TILE_GET_INFO_MEMBER(marineb_state::get_tile_info)
4949{
50   marineb_state *state = machine.driver_data<marineb_state>();
5150
52   UINT8 code = state->m_videoram[tile_index];
53   UINT8 col = state->m_colorram[tile_index];
51   UINT8 code = m_videoram[tile_index];
52   UINT8 col = m_colorram[tile_index];
5453
55   SET_TILE_INFO(0,
54   SET_TILE_INFO_MEMBER(0,
5655              code | ((col & 0xc0) << 2),
57              (col & 0x0f) | (state->m_palette_bank << 4),
56              (col & 0x0f) | (m_palette_bank << 4),
5857              TILE_FLIPXY((col >> 4) & 0x03));
5958}
6059
r17673r17674
7069{
7170   marineb_state *state = machine.driver_data<marineb_state>();
7271
73   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
72   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);
7473   state->m_bg_tilemap->set_scroll_cols(32);
7574
7675   state->save_item(NAME(state->m_palette_bank));
trunk/src/mame/video/timeplt.c
r17673r17674
9090 *
9191 *************************************/
9292
93static TILE_GET_INFO( get_tile_info )
93TILE_GET_INFO_MEMBER(timeplt_state::get_tile_info)
9494{
95   timeplt_state *state = machine.driver_data<timeplt_state>();
96   int attr = state->m_colorram[tile_index];
97   int code = state->m_videoram[tile_index] + 8 * (attr & 0x20);
95   int attr = m_colorram[tile_index];
96   int code = m_videoram[tile_index] + 8 * (attr & 0x20);
9897   int color = attr & 0x1f;
9998   int flags = TILE_FLIPYX(attr >> 6);
10099
101100   tileinfo.category = (attr & 0x10) >> 4;
102   SET_TILE_INFO(0, code, color, flags);
101   SET_TILE_INFO_MEMBER(0, code, color, flags);
103102}
104103
105static TILE_GET_INFO( get_chkun_tile_info )
104TILE_GET_INFO_MEMBER(timeplt_state::get_chkun_tile_info)
106105{
107   timeplt_state *state = machine.driver_data<timeplt_state>();
108   int attr = state->m_colorram[tile_index];
109   int code = state->m_videoram[tile_index] + ((attr & 0x60) << 3);
106   int attr = m_colorram[tile_index];
107   int code = m_videoram[tile_index] + ((attr & 0x60) << 3);
110108   int color = attr & 0x1f;
111109   int flags = 0;//TILE_FLIPYX(attr >> 6);
112110
113111   tileinfo.category = (attr & 0x80) >> 7;
114   SET_TILE_INFO(0, code, color, flags);
112   SET_TILE_INFO_MEMBER(0, code, color, flags);
115113}
116114
117115
r17673r17674
125123VIDEO_START( timeplt )
126124{
127125   timeplt_state *state = machine.driver_data<timeplt_state>();
128   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
126   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);
129127}
130128
131129VIDEO_START( chkun )
132130{
133131   timeplt_state *state = machine.driver_data<timeplt_state>();
134   state->m_bg_tilemap = tilemap_create(machine, get_chkun_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
132   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);
135133}
136134
137135
trunk/src/mame/video/atarigx2.c
r17673r17674
3131 *
3232 *************************************/
3333
34static TILE_GET_INFO( get_alpha_tile_info )
34TILE_GET_INFO_MEMBER(atarigx2_state::get_alpha_tile_info)
3535{
36   atarigx2_state *state = machine.driver_data<atarigx2_state>();
37   UINT16 data = state->m_alpha32[tile_index / 2] >> (16 * (~tile_index & 1));
36   UINT16 data = m_alpha32[tile_index / 2] >> (16 * (~tile_index & 1));
3837   int code = data & 0xfff;
3938   int color = (data >> 12) & 0x0f;
4039   int opaque = data & 0x8000;
41   SET_TILE_INFO(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
40   SET_TILE_INFO_MEMBER(1, code, color, opaque ? TILE_FORCE_LAYER0 : 0);
4241}
4342
4443
45static TILE_GET_INFO( get_playfield_tile_info )
44TILE_GET_INFO_MEMBER(atarigx2_state::get_playfield_tile_info)
4645{
47   atarigx2_state *state = machine.driver_data<atarigx2_state>();
48   UINT16 data = state->m_playfield32[tile_index / 2] >> (16 * (~tile_index & 1));
49   int code = (state->m_playfield_tile_bank << 12) | (data & 0xfff);
50   int color = (state->m_playfield_base >> 5) + ((state->m_playfield_color_bank << 3) & 0x18) + ((data >> 12) & 7);
51   SET_TILE_INFO(0, code, color, (data >> 15) & 1);
52   tileinfo.category = (state->m_playfield_color_bank >> 2) & 7;
46   UINT16 data = m_playfield32[tile_index / 2] >> (16 * (~tile_index & 1));
47   int code = (m_playfield_tile_bank << 12) | (data & 0xfff);
48   int color = (m_playfield_base >> 5) + ((m_playfield_color_bank << 3) & 0x18) + ((data >> 12) & 7);
49   SET_TILE_INFO_MEMBER(0, code, color, (data >> 15) & 1);
50   tileinfo.category = (m_playfield_color_bank >> 2) & 7;
5351}
5452
5553
56static TILEMAP_MAPPER( atarigx2_playfield_scan )
54TILEMAP_MAPPER_MEMBER(atarigx2_state::atarigx2_playfield_scan)
5755{
5856   int bank = 1 - (col / (num_cols / 2));
5957   return bank * (num_rows * num_cols / 2) + row * (num_cols / 2) + (col % (num_cols / 2));
r17673r17674
7573   atarigen_blend_gfx(machine, 0, 2, 0x0f, 0x30);
7674
7775   /* initialize the playfield */
78   state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, atarigx2_playfield_scan,  8,8, 128,64);
76   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);
7977
8078   /* initialize the motion objects */
8179   state->m_rle = machine.device("rle");
8280
8381   /* initialize the alphanumerics */
84   state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS,  8,8, 64,32);
82   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);
8583   state->m_alpha_tilemap->set_transparent_pen(0);
8684
8785   /* save states */
trunk/src/mame/video/fuukifg2.c
r17673r17674
5252   SET_TILE_INFO(1 + _N_, code, attr & 0x3f, TILE_FLIPYX((attr >> 6) & 3));
5353}
5454
55static TILE_GET_INFO( get_tile_info_0 ) { get_tile_info(machine, tileinfo, tile_index, 0); }
56static TILE_GET_INFO( get_tile_info_1 ) { get_tile_info(machine, tileinfo, tile_index, 1); }
57static TILE_GET_INFO( get_tile_info_2 ) { get_tile_info(machine, tileinfo, tile_index, 2); }
58static TILE_GET_INFO( get_tile_info_3 ) { get_tile_info(machine, tileinfo, tile_index, 3); }
55TILE_GET_INFO_MEMBER(fuuki16_state::get_tile_info_0){ get_tile_info(machine(), tileinfo, tile_index, 0); }
56TILE_GET_INFO_MEMBER(fuuki16_state::get_tile_info_1){ get_tile_info(machine(), tileinfo, tile_index, 1); }
57TILE_GET_INFO_MEMBER(fuuki16_state::get_tile_info_2){ get_tile_info(machine(), tileinfo, tile_index, 2); }
58TILE_GET_INFO_MEMBER(fuuki16_state::get_tile_info_3){ get_tile_info(machine(), tileinfo, tile_index, 3); }
5959
6060INLINE void fuuki16_vram_w(address_space *space, offs_t offset, UINT16 data, UINT16 mem_mask, int _N_)
6161{
r17673r17674
9595VIDEO_START( fuuki16 )
9696{
9797   fuuki16_state *state = machine.driver_data<fuuki16_state>();
98   state->m_tilemap[0] = tilemap_create(machine, get_tile_info_0, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
99   state->m_tilemap[1] = tilemap_create(machine, get_tile_info_1, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
100   state->m_tilemap[2] = tilemap_create(machine, get_tile_info_2, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
101   state->m_tilemap[3] = tilemap_create(machine, get_tile_info_3, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
98   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);
99   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);
100   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);
101   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);
102102
103103   state->m_tilemap[0]->set_transparent_pen(0x0f);   // 4 bits
104104   state->m_tilemap[1]->set_transparent_pen(0xff);   // 8 bits
trunk/src/mame/video/vulgus.c
r17673r17674
7777
7878***************************************************************************/
7979
80static TILE_GET_INFO( get_fg_tile_info )
80TILE_GET_INFO_MEMBER(vulgus_state::get_fg_tile_info)
8181{
82   vulgus_state *state = machine.driver_data<vulgus_state>();
8382   int code, color;
8483
85   code = state->m_fgvideoram[tile_index];
86   color = state->m_fgvideoram[tile_index + 0x400];
87   SET_TILE_INFO(
84   code = m_fgvideoram[tile_index];
85   color = m_fgvideoram[tile_index + 0x400];
86   SET_TILE_INFO_MEMBER(
8887         0,
8988         code + ((color & 0x80) << 1),
9089         color & 0x3f,
r17673r17674
9291   tileinfo.group = color & 0x3f;
9392}
9493
95static TILE_GET_INFO( get_bg_tile_info )
94TILE_GET_INFO_MEMBER(vulgus_state::get_bg_tile_info)
9695{
97   vulgus_state *state = machine.driver_data<vulgus_state>();
9896   int code, color;
9997
100   code = state->m_bgvideoram[tile_index];
101   color = state->m_bgvideoram[tile_index + 0x400];
102   SET_TILE_INFO(
98   code = m_bgvideoram[tile_index];
99   color = m_bgvideoram[tile_index + 0x400];
100   SET_TILE_INFO_MEMBER(
103101         1,
104102         code + ((color & 0x80) << 1),
105         (color & 0x1f) + (0x20 * state->m_palette_bank),
103         (color & 0x1f) + (0x20 * m_palette_bank),
106104         TILE_FLIPYX((color & 0x60) >> 5));
107105}
108106
r17673r17674
116114VIDEO_START( vulgus )
117115{
118116   vulgus_state *state = machine.driver_data<vulgus_state>();
119   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS, 8, 8,32,32);
120   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_COLS,16,16,32,32);
117   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);
118   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);
121119
122120   colortable_configure_tilemap_groups(machine.colortable, state->m_fg_tilemap, machine.gfx[0], 47);
123121}
trunk/src/mame/video/sderby.c
r17673r17674
33
44/* BG Layer */
55
6static TILE_GET_INFO( get_sderby_tile_info )
6TILE_GET_INFO_MEMBER(sderby_state::get_sderby_tile_info)
77{
8   sderby_state *state = machine.driver_data<sderby_state>();
98   int tileno,colour;
109
11   tileno = state->m_videoram[tile_index*2];
12   colour = state->m_videoram[tile_index*2+1] & 0x0f;
10   tileno = m_videoram[tile_index*2];
11   colour = m_videoram[tile_index*2+1] & 0x0f;
1312
14   SET_TILE_INFO(1,tileno,colour,0);
13   SET_TILE_INFO_MEMBER(1,tileno,colour,0);
1514}
1615
1716WRITE16_MEMBER(sderby_state::sderby_videoram_w)
r17673r17674
2322
2423/* MD Layer */
2524
26static TILE_GET_INFO( get_sderby_md_tile_info )
25TILE_GET_INFO_MEMBER(sderby_state::get_sderby_md_tile_info)
2726{
28   sderby_state *state = machine.driver_data<sderby_state>();
2927   int tileno,colour;
3028
31   tileno = state->m_md_videoram[tile_index*2];
32   colour = state->m_md_videoram[tile_index*2+1] & 0x0f;
29   tileno = m_md_videoram[tile_index*2];
30   colour = m_md_videoram[tile_index*2+1] & 0x0f;
3331
34   SET_TILE_INFO(1,tileno,colour+16,0);
32   SET_TILE_INFO_MEMBER(1,tileno,colour+16,0);
3533}
3634
3735WRITE16_MEMBER(sderby_state::sderby_md_videoram_w)
r17673r17674
4341
4442/* FG Layer */
4543
46static TILE_GET_INFO( get_sderby_fg_tile_info )
44TILE_GET_INFO_MEMBER(sderby_state::get_sderby_fg_tile_info)
4745{
48   sderby_state *state = machine.driver_data<sderby_state>();
4946   int tileno,colour;
5047
51   tileno = state->m_fg_videoram[tile_index*2];
52   colour = state->m_fg_videoram[tile_index*2+1] & 0x0f;
48   tileno = m_fg_videoram[tile_index*2];
49   colour = m_fg_videoram[tile_index*2+1] & 0x0f;
5350
54   SET_TILE_INFO(0,tileno,colour+32,0);
51   SET_TILE_INFO_MEMBER(0,tileno,colour+32,0);
5552}
5653
5754WRITE16_MEMBER(sderby_state::sderby_fg_videoram_w)
r17673r17674
9693{
9794   sderby_state *state = machine.driver_data<sderby_state>();
9895
99   state->m_tilemap = tilemap_create(machine, get_sderby_tile_info,TILEMAP_SCAN_ROWS, 16, 16,32,32);
100   state->m_md_tilemap = tilemap_create(machine, get_sderby_md_tile_info,TILEMAP_SCAN_ROWS, 16, 16,32,32);
96   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);
97   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);
10198
10299   state->m_md_tilemap->set_transparent_pen(0);
103100
104   state->m_fg_tilemap = tilemap_create(machine, get_sderby_fg_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,32);
101   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);
105102   state->m_fg_tilemap->set_transparent_pen(0);
106103}
107104
trunk/src/mame/video/circus.c
r17673r17674
2727   m_clown_y = 240 - data;
2828}
2929
30static TILE_GET_INFO( get_bg_tile_info )
30TILE_GET_INFO_MEMBER(circus_state::get_bg_tile_info)
3131{
32   circus_state *state = machine.driver_data<circus_state>();
33   int code = state->m_videoram[tile_index];
32   int code = m_videoram[tile_index];
3433
35   SET_TILE_INFO(0, code, 0, 0);
34   SET_TILE_INFO_MEMBER(0, code, 0, 0);
3635}
3736
3837VIDEO_START( circus )
3938{
4039   circus_state *state = machine.driver_data<circus_state>();
41   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
40   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);
4241}
4342
4443static void draw_line( bitmap_ind16 &bitmap, const rectangle &cliprect, int x1, int y1, int x2, int y2, int dotted )
trunk/src/mame/video/zac2650.c
r17673r17674
111111   return Checksum;
112112}
113113
114static TILE_GET_INFO( get_bg_tile_info )
114TILE_GET_INFO_MEMBER(zac2650_state::get_bg_tile_info)
115115{
116   zac2650_state *state = machine.driver_data<zac2650_state>();
117   UINT8 *videoram = state->m_videoram;
116   UINT8 *videoram = m_videoram;
118117   int code = videoram[tile_index];
119118
120   SET_TILE_INFO(0, code, 0, 0);
119   SET_TILE_INFO_MEMBER(0, code, 0, 0);
121120}
122121
123122VIDEO_START( tinvader )
124123{
125124   zac2650_state *state = machine.driver_data<zac2650_state>();
126   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
125   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(zac2650_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
127126       24, 24, 32, 32);
128127
129128   machine.primary_screen->register_screen_bitmap(state->m_bitmap);
trunk/src/mame/video/vastar.c
r17673r17674
1616
1717***************************************************************************/
1818
19static TILE_GET_INFO( get_fg_tile_info )
19TILE_GET_INFO_MEMBER(vastar_state::get_fg_tile_info)
2020{
21   vastar_state *state = machine.driver_data<vastar_state>();
22   UINT8 *videoram = state->m_fgvideoram;
21   UINT8 *videoram = m_fgvideoram;
2322   int code, color;
2423
2524   code = videoram[tile_index + 0x800] | (videoram[tile_index + 0x400] << 8);
2625   color = videoram[tile_index];
27   SET_TILE_INFO(
26   SET_TILE_INFO_MEMBER(
2827         0,
2928         code,
3029         color & 0x3f,
3130         0);
3231}
3332
34static TILE_GET_INFO( get_bg1_tile_info )
33TILE_GET_INFO_MEMBER(vastar_state::get_bg1_tile_info)
3534{
36   vastar_state *state = machine.driver_data<vastar_state>();
37   UINT8 *videoram = state->m_bg1videoram;
35   UINT8 *videoram = m_bg1videoram;
3836   int code, color;
3937
4038   code = videoram[tile_index + 0x800] | (videoram[tile_index] << 8);
4139   color = videoram[tile_index + 0xc00];
42   SET_TILE_INFO(
40   SET_TILE_INFO_MEMBER(
4341         4,
4442         code,
4543         color & 0x3f,
4644         0);
4745}
4846
49static TILE_GET_INFO( get_bg2_tile_info )
47TILE_GET_INFO_MEMBER(vastar_state::get_bg2_tile_info)
5048{
51   vastar_state *state = machine.driver_data<vastar_state>();
52   UINT8 *videoram = state->m_bg2videoram;
49   UINT8 *videoram = m_bg2videoram;
5350   int code, color;
5451
5552   code = videoram[tile_index + 0x800] | (videoram[tile_index] << 8);
5653   color = videoram[tile_index + 0xc00];
57   SET_TILE_INFO(
54   SET_TILE_INFO_MEMBER(
5855         3,
5956         code,
6057         color & 0x3f,
r17673r17674
7269{
7370   vastar_state *state = machine.driver_data<vastar_state>();
7471
75   state->m_fg_tilemap  = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,8,8,32,32);
76   state->m_bg1_tilemap = tilemap_create(machine, get_bg1_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
77   state->m_bg2_tilemap = tilemap_create(machine, get_bg2_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
72   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);
73   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);
74   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);
7875
7976   state->m_fg_tilemap->set_transparent_pen(0);
8077   state->m_bg1_tilemap->set_transparent_pen(0);
trunk/src/mame/video/taotaido.c
r17673r17674
159159   m_bg_tilemap->mark_tile_dirty(offset);
160160}
161161
162static TILE_GET_INFO( taotaido_bg_tile_info )
162TILE_GET_INFO_MEMBER(taotaido_state::taotaido_bg_tile_info)
163163{
164   taotaido_state *state = machine.driver_data<taotaido_state>();
165   int code = state->m_bgram[tile_index]&0x01ff;
166   int bank = (state->m_bgram[tile_index]&0x0e00)>>9;
167   int col  = (state->m_bgram[tile_index]&0xf000)>>12;
164   int code = m_bgram[tile_index]&0x01ff;
165   int bank = (m_bgram[tile_index]&0x0e00)>>9;
166   int col  = (m_bgram[tile_index]&0xf000)>>12;
168167
169   code |= state->m_video_bank_select[bank]*0x200;
168   code |= m_video_bank_select[bank]*0x200;
170169
171   SET_TILE_INFO(
170   SET_TILE_INFO_MEMBER(
172171         1,
173172         code,
174173         col,
175174         0);
176175}
177176
178static TILEMAP_MAPPER( taotaido_tilemap_scan_rows )
177TILEMAP_MAPPER_MEMBER(taotaido_state::taotaido_tilemap_scan_rows)
179178{
180179   /* logical (col,row) -> memory offset */
181180   return row*0x40 + (col&0x3f) + ((col&0x40)<<6);
r17673r17674
184183VIDEO_START(taotaido)
185184{
186185   taotaido_state *state = machine.driver_data<taotaido_state>();
187   state->m_bg_tilemap = tilemap_create(machine, taotaido_bg_tile_info,taotaido_tilemap_scan_rows,     16,16,128,64);
186   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);
188187
189188   state->m_spriteram_old = auto_alloc_array(machine, UINT16, 0x2000/2);
190189   state->m_spriteram_older = auto_alloc_array(machine, UINT16, 0x2000/2);
trunk/src/mame/video/relief.c
r17673r17674
1717 *
1818 *************************************/
1919
20static TILE_GET_INFO( get_playfield_tile_info )
20TILE_GET_INFO_MEMBER(relief_state::get_playfield_tile_info)
2121{
22   relief_state *state = machine.driver_data<relief_state>();
23   UINT16 data1 = state->m_playfield[tile_index];
24   UINT16 data2 = state->m_playfield_upper[tile_index] & 0xff;
22   UINT16 data1 = m_playfield[tile_index];
23   UINT16 data2 = m_playfield_upper[tile_index] & 0xff;
2524   int code = data1 & 0x7fff;
2625   int color = 0x20 + (data2 & 0x0f);
27   SET_TILE_INFO(0, code, color, (data1 >> 15) & 1);
26   SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
2827}
2928
3029
31static TILE_GET_INFO( get_playfield2_tile_info )
30TILE_GET_INFO_MEMBER(relief_state::get_playfield2_tile_info)
3231{
33   relief_state *state = machine.driver_data<relief_state>();
34   UINT16 data1 = state->m_playfield2[tile_index];
35   UINT16 data2 = state->m_playfield_upper[tile_index] >> 8;
32   UINT16 data1 = m_playfield2[tile_index];
33   UINT16 data2 = m_playfield_upper[tile_index] >> 8;
3634   int code = data1 & 0x7fff;
3735   int color = data2 & 0x0f;
38   SET_TILE_INFO(0, code, color, (data1 >> 15) & 1);
36   SET_TILE_INFO_MEMBER(0, code, color, (data1 >> 15) & 1);
3937}
4038
4139
r17673r17674
9088   machine.gfx[1]->set_granularity(16);
9189
9290   /* initialize the playfield */
93   state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, TILEMAP_SCAN_COLS,  8,8, 64,64);
91   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);
9492
9593   /* initialize the second playfield */
96   state->m_playfield2_tilemap = tilemap_create(machine, get_playfield2_tile_info, TILEMAP_SCAN_COLS,  8,8, 64,64);
94   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);
9795   state->m_playfield2_tilemap->set_transparent_pen(0);
9896
9997   /* initialize the motion objects */
trunk/src/mame/video/taito_f3.c
r17673r17674
420420   tileinfo.pen_mask = (extra_planes << 4) | 0x0f;
421421}
422422
423static TILE_GET_INFO( get_tile_info1 )
423TILE_GET_INFO_MEMBER(taito_f3_state::get_tile_info1)
424424{
425   taito_f3_state *state = machine.driver_data<taito_f3_state>();
426   get_tile_info(machine,tileinfo,tile_index,state->m_f3_pf_data_1);
425   get_tile_info(machine(),tileinfo,tile_index,m_f3_pf_data_1);
427426}
428427
429static TILE_GET_INFO( get_tile_info2 )
428TILE_GET_INFO_MEMBER(taito_f3_state::get_tile_info2)
430429{
431   taito_f3_state *state = machine.driver_data<taito_f3_state>();
432   get_tile_info(machine,tileinfo,tile_index,state->m_f3_pf_data_2);
430   get_tile_info(machine(),tileinfo,tile_index,m_f3_pf_data_2);
433431}
434432
435static TILE_GET_INFO( get_tile_info3 )
433TILE_GET_INFO_MEMBER(taito_f3_state::get_tile_info3)
436434{
437   taito_f3_state *state = machine.driver_data<taito_f3_state>();
438   get_tile_info(machine,tileinfo,tile_index,state->m_f3_pf_data_3);
435   get_tile_info(machine(),tileinfo,tile_index,m_f3_pf_data_3);
439436}
440437
441static TILE_GET_INFO( get_tile_info4 )
438TILE_GET_INFO_MEMBER(taito_f3_state::get_tile_info4)
442439{
443   taito_f3_state *state = machine.driver_data<taito_f3_state>();
444   get_tile_info(machine,tileinfo,tile_index,state->m_f3_pf_data_4);
440   get_tile_info(machine(),tileinfo,tile_index,m_f3_pf_data_4);
445441}
446442
447static TILE_GET_INFO( get_tile_info5 )
443TILE_GET_INFO_MEMBER(taito_f3_state::get_tile_info5)
448444{
449   taito_f3_state *state = machine.driver_data<taito_f3_state>();
450   get_tile_info(machine,tileinfo,tile_index,state->m_f3_pf_data_5);
445   get_tile_info(machine(),tileinfo,tile_index,m_f3_pf_data_5);
451446}
452447
453static TILE_GET_INFO( get_tile_info6 )
448TILE_GET_INFO_MEMBER(taito_f3_state::get_tile_info6)
454449{
455   taito_f3_state *state = machine.driver_data<taito_f3_state>();
456   get_tile_info(machine,tileinfo,tile_index,state->m_f3_pf_data_6);
450   get_tile_info(machine(),tileinfo,tile_index,m_f3_pf_data_6);
457451}
458452
459static TILE_GET_INFO( get_tile_info7 )
453TILE_GET_INFO_MEMBER(taito_f3_state::get_tile_info7)
460454{
461   taito_f3_state *state = machine.driver_data<taito_f3_state>();
462   get_tile_info(machine,tileinfo,tile_index,state->m_f3_pf_data_7);
455   get_tile_info(machine(),tileinfo,tile_index,m_f3_pf_data_7);
463456}
464457
465static TILE_GET_INFO( get_tile_info8 )
458TILE_GET_INFO_MEMBER(taito_f3_state::get_tile_info8)
466459{
467   taito_f3_state *state = machine.driver_data<taito_f3_state>();
468   get_tile_info(machine,tileinfo,tile_index,state->m_f3_pf_data_8);
460   get_tile_info(machine(),tileinfo,tile_index,m_f3_pf_data_8);
469461}
470462
471463
472static TILE_GET_INFO( get_tile_info_vram )
464TILE_GET_INFO_MEMBER(taito_f3_state::get_tile_info_vram)
473465{
474   taito_f3_state *state = machine.driver_data<taito_f3_state>();
475466   int vram_tile;
476467   int flags=0;
477468
478   vram_tile = (state->m_videoram[tile_index]&0xffff);
469   vram_tile = (m_videoram[tile_index]&0xffff);
479470
480471   if (vram_tile&0x0100) flags|=TILE_FLIPX;
481472   if (vram_tile&0x8000) flags|=TILE_FLIPY;
482473
483   SET_TILE_INFO(
474   SET_TILE_INFO_MEMBER(
484475         0,
485476         vram_tile&0xff,
486477         (vram_tile>>9)&0x3f,
487478         flags);
488479}
489480
490static TILE_GET_INFO( get_tile_info_pixel )
481TILE_GET_INFO_MEMBER(taito_f3_state::get_tile_info_pixel)
491482{
492   taito_f3_state *state = machine.driver_data<taito_f3_state>();
493483   int vram_tile,col_off;
494484   int flags=0;
495   int y_offs=(state->m_f3_control_1[5]&0x1ff);
496   if (state->m_flipscreen) y_offs+=0x100;
485   int y_offs=(m_f3_control_1[5]&0x1ff);
486   if (m_flipscreen) y_offs+=0x100;
497487
498488   /* Colour is shared with VRAM layer */
499489   if ((((tile_index%32)*8 + y_offs)&0x1ff)>0xff)
r17673r17674
501491   else
502492      col_off=((tile_index%32)*0x40)+((tile_index&0xfe0)>>5);
503493
504   vram_tile = (state->m_videoram[col_off]&0xffff);
494   vram_tile = (m_videoram[col_off]&0xffff);
505495
506496   if (vram_tile&0x0100) flags|=TILE_FLIPX;
507497   if (vram_tile&0x8000) flags|=TILE_FLIPY;
508498
509   SET_TILE_INFO(
499   SET_TILE_INFO_MEMBER(
510500         3,
511501         tile_index,
512502         (vram_tile>>9)&0x3f,
r17673r17674
588578   state->m_spriteram =    auto_alloc_array_clear(machine, UINT16, 0x10000/2);
589579
590580   if (state->m_f3_game_config->extend) {
591      state->m_pf1_tilemap = tilemap_create(machine, get_tile_info1,TILEMAP_SCAN_ROWS,16,16,64,32);
592      state->m_pf2_tilemap = tilemap_create(machine, get_tile_info2,TILEMAP_SCAN_ROWS,16,16,64,32);
593      state->m_pf3_tilemap = tilemap_create(machine, get_tile_info3,TILEMAP_SCAN_ROWS,16,16,64,32);
594      state->m_pf4_tilemap = tilemap_create(machine, get_tile_info4,TILEMAP_SCAN_ROWS,16,16,64,32);
581      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);
582      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);
583      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);
584      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);
595585
596586      state->m_f3_pf_data_1=state->m_f3_pf_data+(0x0000/2);
597587      state->m_f3_pf_data_2=state->m_f3_pf_data+(0x2000/2);
r17673r17674
609599
610600
611601   } else {
612      state->m_pf1_tilemap = tilemap_create(machine, get_tile_info1,TILEMAP_SCAN_ROWS,16,16,32,32);
613      state->m_pf2_tilemap = tilemap_create(machine, get_tile_info2,TILEMAP_SCAN_ROWS,16,16,32,32);
614      state->m_pf3_tilemap = tilemap_create(machine, get_tile_info3,TILEMAP_SCAN_ROWS,16,16,32,32);
615      state->m_pf4_tilemap = tilemap_create(machine, get_tile_info4,TILEMAP_SCAN_ROWS,16,16,32,32);
616      state->m_pf5_tilemap = tilemap_create(machine, get_tile_info5,TILEMAP_SCAN_ROWS,16,16,32,32);
617      state->m_pf6_tilemap = tilemap_create(machine, get_tile_info6,TILEMAP_SCAN_ROWS,16,16,32,32);
618      state->m_pf7_tilemap = tilemap_create(machine, get_tile_info7,TILEMAP_SCAN_ROWS,16,16,32,32);
619      state->m_pf8_tilemap = tilemap_create(machine, get_tile_info8,TILEMAP_SCAN_ROWS,16,16,32,32);
602      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);
603      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);
604      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);
605      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);
606      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);
607      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);
608      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);
609      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);
620610
621611      state->m_f3_pf_data_1=state->m_f3_pf_data+(0x0000/2);
622612      state->m_f3_pf_data_2=state->m_f3_pf_data+(0x1000/2);
r17673r17674
644634   state->m_spriteram16_buffered = auto_alloc_array(machine, UINT16, 0x10000/2);
645635   state->m_spritelist = auto_alloc_array(machine, struct tempsprite, 0x400);
646636   state->m_sprite_end = state->m_spritelist;
647   state->m_vram_layer = tilemap_create(machine, get_tile_info_vram,TILEMAP_SCAN_ROWS,8,8,64,64);
648   state->m_pixel_layer = tilemap_create(machine, get_tile_info_pixel,TILEMAP_SCAN_COLS,8,8,64,32);
637   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);
638   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);
649639   state->m_pf_line_inf = auto_alloc_array(machine, struct f3_playfield_line_inf, 5);
650640   state->m_sa_line_inf = auto_alloc_array(machine, struct f3_spritealpha_line_inf, 1);
651641   machine.primary_screen->register_screen_bitmap(state->m_pri_alp_bitmap);
trunk/src/mame/video/gaelco2.c
r17673r17674
101101
102102***************************************************************************/
103103
104static TILE_GET_INFO( get_tile_info_gaelco2_screen0 )
104TILE_GET_INFO_MEMBER(gaelco2_state::get_tile_info_gaelco2_screen0)
105105{
106   gaelco2_state *state = machine.driver_data<gaelco2_state>();
107   int data = state->m_videoram[(((state->m_vregs[0] >> 9) & 0x07)*0x2000/2) + (tile_index << 1)];
108   int data2 = state->m_videoram[(((state->m_vregs[0] >> 9) & 0x07)*0x2000/2) + ((tile_index << 1) + 1)];
106   int data = m_videoram[(((m_vregs[0] >> 9) & 0x07)*0x2000/2) + (tile_index << 1)];
107   int data2 = m_videoram[(((m_vregs[0] >> 9) & 0x07)*0x2000/2) + ((tile_index << 1) + 1)];
109108   int code = ((data & 0x07) << 16) | (data2 & 0xffff);
110109
111   SET_TILE_INFO(0, code, ((data >> 9) & 0x7f), TILE_FLIPXY((data >> 6) & 0x03));
110   SET_TILE_INFO_MEMBER(0, code, ((data >> 9) & 0x7f), TILE_FLIPXY((data >> 6) & 0x03));
112111}
113112
114static TILE_GET_INFO( get_tile_info_gaelco2_screen1 )
113TILE_GET_INFO_MEMBER(gaelco2_state::get_tile_info_gaelco2_screen1)
115114{
116   gaelco2_state *state = machine.driver_data<gaelco2_state>();
117   int data = state->m_videoram[(((state->m_vregs[1] >> 9) & 0x07)*0x2000/2) + (tile_index << 1)];
118   int data2 = state->m_videoram[(((state->m_vregs[1] >> 9) & 0x07)*0x2000/2) + ((tile_index << 1) + 1)];
115   int data = m_videoram[(((m_vregs[1] >> 9) & 0x07)*0x2000/2) + (tile_index << 1)];
116   int data2 = m_videoram[(((m_vregs[1] >> 9) & 0x07)*0x2000/2) + ((tile_index << 1) + 1)];
119117   int code = ((data & 0x07) << 16) | (data2 & 0xffff);
120118
121   SET_TILE_INFO(0, code, ((data >> 9) & 0x7f), TILE_FLIPXY((data >> 6) & 0x03));
119   SET_TILE_INFO_MEMBER(0, code, ((data >> 9) & 0x7f), TILE_FLIPXY((data >> 6) & 0x03));
122120}
123121
124122
r17673r17674
144142
145143***************************************************************************/
146144
147static TILE_GET_INFO( get_tile_info_gaelco2_screen0_dual )
145TILE_GET_INFO_MEMBER(gaelco2_state::get_tile_info_gaelco2_screen0_dual)
148146{
149   gaelco2_state *state = machine.driver_data<gaelco2_state>();
150   int data = state->m_videoram[(((state->m_vregs[0] >> 9) & 0x07)*0x2000/2) + (tile_index << 1)];
151   int data2 = state->m_videoram[(((state->m_vregs[0] >> 9) & 0x07)*0x2000/2) + ((tile_index << 1) + 1)];
147   int data = m_videoram[(((m_vregs[0] >> 9) & 0x07)*0x2000/2) + (tile_index << 1)];
148   int data2 = m_videoram[(((m_vregs[0] >> 9) & 0x07)*0x2000/2) + ((tile_index << 1) + 1)];
152149   int code = ((data & 0x07) << 16) | (data2 & 0xffff);
153150
154   SET_TILE_INFO(0, code, ((data >> 9) & 0x3f), TILE_FLIPXY((data >> 6) & 0x03));
151   SET_TILE_INFO_MEMBER(0, code, ((data >> 9) & 0x3f), TILE_FLIPXY((data >> 6) & 0x03));
155152}
156153
157static TILE_GET_INFO( get_tile_info_gaelco2_screen1_dual )
154TILE_GET_INFO_MEMBER(gaelco2_state::get_tile_info_gaelco2_screen1_dual)
158155{
159   gaelco2_state *state = machine.driver_data<gaelco2_state>();
160   int data = state->m_videoram[(((state->m_vregs[1] >> 9) & 0x07)*0x2000/2) + (tile_index << 1)];
161   int data2 = state->m_videoram[(((state->m_vregs[1] >> 9) & 0x07)*0x2000/2) + ((tile_index << 1) + 1)];
156   int data = m_videoram[(((m_vregs[1] >> 9) & 0x07)*0x2000/2) + (tile_index << 1)];
157   int data2 = m_videoram[(((m_vregs[1] >> 9) & 0x07)*0x2000/2) + ((tile_index << 1) + 1)];
162158   int code = ((data & 0x07) << 16) | (data2 & 0xffff);
163159
164   SET_TILE_INFO(0, code, 0x40 + ((data >> 9) & 0x3f), TILE_FLIPXY((data >> 6) & 0x03));
160   SET_TILE_INFO_MEMBER(0, code, 0x40 + ((data >> 9) & 0x3f), TILE_FLIPXY((data >> 6) & 0x03));
165161}
166162
167163
r17673r17674
266262   state->m_videoram = state->m_spriteram->live();
267263
268264   /* create tilemaps */
269   state->m_pant[0] = tilemap_create(machine, get_tile_info_gaelco2_screen0,TILEMAP_SCAN_ROWS,16,16,64,32);
270   state->m_pant[1] = tilemap_create(machine, get_tile_info_gaelco2_screen1,TILEMAP_SCAN_ROWS,16,16,64,32);
265   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);
266   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);
271267
272268   /* set tilemap properties */
273269   state->m_pant[0]->set_transparent_pen(0);
r17673r17674
287283   state->m_videoram = state->m_spriteram->live();
288284
289285   /* create tilemaps */
290   state->m_pant[0] = tilemap_create(machine, get_tile_info_gaelco2_screen0_dual,TILEMAP_SCAN_ROWS,16,16,64,32);
291   state->m_pant[1] = tilemap_create(machine, get_tile_info_gaelco2_screen1_dual,TILEMAP_SCAN_ROWS,16,16,64,32);
286   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);
287   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);
292288
293289   /* set tilemap properties */
294290   state->m_pant[0]->set_transparent_pen(0);
trunk/src/mame/video/homerun.c
r17673r17674
4343   palette_set_color(machine(), offset, MAKE_RGB(r,g,b));
4444}
4545
46static TILE_GET_INFO( get_homerun_tile_info )
46TILE_GET_INFO_MEMBER(homerun_state::get_homerun_tile_info)
4747{
48   homerun_state *state = machine.driver_data<homerun_state>();
49   int tileno = (state->m_videoram[tile_index]) + ((state->m_videoram[tile_index + 0x1000] & 0x38) << 5) + ((state->m_gfx_ctrl & 1) << 11);
50   int palno = (state->m_videoram[tile_index + 0x1000] & 0x07);
48   int tileno = (m_videoram[tile_index]) + ((m_videoram[tile_index + 0x1000] & 0x38) << 5) + ((m_gfx_ctrl & 1) << 11);
49   int palno = (m_videoram[tile_index + 0x1000] & 0x07);
5150
52   SET_TILE_INFO(0, tileno, palno, 0);
51   SET_TILE_INFO_MEMBER(0, tileno, palno, 0);
5352}
5453
5554VIDEO_START( homerun )
5655{
5756   homerun_state *state = machine.driver_data<homerun_state>();
58   state->m_tilemap = tilemap_create(machine, get_homerun_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
57   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);
5958}
6059
6160static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
trunk/src/mame/video/baraduke.c
r17673r17674
5858***************************************************************************/
5959
6060/* convert from 32x32 to 36x28 */
61static TILEMAP_MAPPER( tx_tilemap_scan )
61TILEMAP_MAPPER_MEMBER(baraduke_state::tx_tilemap_scan)
6262{
6363   int offs;
6464
r17673r17674
7272   return offs;
7373}
7474
75static TILE_GET_INFO( tx_get_tile_info )
75TILE_GET_INFO_MEMBER(baraduke_state::tx_get_tile_info)
7676{
77   baraduke_state *state = machine.driver_data<baraduke_state>();
78   SET_TILE_INFO(
77   SET_TILE_INFO_MEMBER(
7978         0,
80         state->m_textram[tile_index],
81         (state->m_textram[tile_index+0x400] << 2) & 0x1ff,
79         m_textram[tile_index],
80         (m_textram[tile_index+0x400] << 2) & 0x1ff,
8281         0);
8382}
8483
85static TILE_GET_INFO( get_tile_info0 )
84TILE_GET_INFO_MEMBER(baraduke_state::get_tile_info0)
8685{
87   baraduke_state *state = machine.driver_data<baraduke_state>();
88   int code = state->m_videoram[2*tile_index];
89   int attr = state->m_videoram[2*tile_index + 1];
86   int code = m_videoram[2*tile_index];
87   int attr = m_videoram[2*tile_index + 1];
9088
91   SET_TILE_INFO(
89   SET_TILE_INFO_MEMBER(
9290         1,
9391         code + ((attr & 0x03) << 8),
9492         attr,
9593         0);
9694}
9795
98static TILE_GET_INFO( get_tile_info1 )
96TILE_GET_INFO_MEMBER(baraduke_state::get_tile_info1)
9997{
100   baraduke_state *state = machine.driver_data<baraduke_state>();
101   int code = state->m_videoram[0x1000 + 2*tile_index];
102   int attr = state->m_videoram[0x1000 + 2*tile_index + 1];
98   int code = m_videoram[0x1000 + 2*tile_index];
99   int attr = m_videoram[0x1000 + 2*tile_index + 1];
103100
104   SET_TILE_INFO(
101   SET_TILE_INFO_MEMBER(
105102         2,
106103         code + ((attr & 0x03) << 8),
107104         attr,
r17673r17674
119116VIDEO_START( baraduke )
120117{
121118   baraduke_state *state = machine.driver_data<baraduke_state>();
122   state->m_tx_tilemap = tilemap_create(machine, tx_get_tile_info,tx_tilemap_scan,8,8,36,28);
123   state->m_bg_tilemap[0] = tilemap_create(machine, get_tile_info0,TILEMAP_SCAN_ROWS,8,8,64,32);
124   state->m_bg_tilemap[1] = tilemap_create(machine, get_tile_info1,TILEMAP_SCAN_ROWS,8,8,64,32);
119   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);
120   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);
121   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);
125122
126123   state->m_tx_tilemap->set_transparent_pen(3);
127124   state->m_bg_tilemap[0]->set_transparent_pen(7);
trunk/src/mame/video/champbas.c
r17673r17674
129129
130130
131131
132static TILE_GET_INFO( champbas_get_bg_tile_info )
132TILE_GET_INFO_MEMBER(champbas_state::champbas_get_bg_tile_info)
133133{
134   champbas_state *state = machine.driver_data<champbas_state>();
135   int code = state->m_bg_videoram[tile_index] | (state->m_gfx_bank << 8);
136   int color = (state->m_bg_videoram[tile_index + 0x400] & 0x1f) | 0x20;
134   int code = m_bg_videoram[tile_index] | (m_gfx_bank << 8);
135   int color = (m_bg_videoram[tile_index + 0x400] & 0x1f) | 0x20;
137136
138   SET_TILE_INFO(0, code, color, 0);
137   SET_TILE_INFO_MEMBER(0, code, color, 0);
139138}
140139
141static TILE_GET_INFO( exctsccr_get_bg_tile_info )
140TILE_GET_INFO_MEMBER(champbas_state::exctsccr_get_bg_tile_info)
142141{
143   champbas_state *state = machine.driver_data<champbas_state>();
144   int code = state->m_bg_videoram[tile_index] | (state->m_gfx_bank << 8);
145   int color = state->m_bg_videoram[tile_index + 0x400] & 0x0f;
142   int code = m_bg_videoram[tile_index] | (m_gfx_bank << 8);
143   int color = m_bg_videoram[tile_index + 0x400] & 0x0f;
146144
147   SET_TILE_INFO(0, code, color, 0);
145   SET_TILE_INFO_MEMBER(0, code, color, 0);
148146}
149147
150148
r17673r17674
152150VIDEO_START( champbas )
153151{
154152   champbas_state *state = machine.driver_data<champbas_state>();
155   state->m_bg_tilemap = tilemap_create(machine, champbas_get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
153   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);
156154}
157155
158156VIDEO_START( exctsccr )
159157{
160158   champbas_state *state = machine.driver_data<champbas_state>();
161   state->m_bg_tilemap = tilemap_create(machine, exctsccr_get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
159   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);
162160}
163161
164162
trunk/src/mame/video/ssozumo.c
r17673r17674
113113   flip_screen_set(data & 0x80);
114114}
115115
116static TILE_GET_INFO( get_bg_tile_info )
116TILE_GET_INFO_MEMBER(ssozumo_state::get_bg_tile_info)
117117{
118   ssozumo_state *state = machine.driver_data<ssozumo_state>();
119   int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 0x08) << 5);
120   int color = (state->m_colorram[tile_index] & 0x30) >> 4;
118   int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 0x08) << 5);
119   int color = (m_colorram[tile_index] & 0x30) >> 4;
121120   int flags = ((tile_index % 32) >= 16) ? TILE_FLIPY : 0;
122121
123   SET_TILE_INFO(1, code, color, flags);
122   SET_TILE_INFO_MEMBER(1, code, color, flags);
124123}
125124
126static TILE_GET_INFO( get_fg_tile_info )
125TILE_GET_INFO_MEMBER(ssozumo_state::get_fg_tile_info)
127126{
128   ssozumo_state *state = machine.driver_data<ssozumo_state>();
129   int code = state->m_videoram2[tile_index] + 256 * (state->m_colorram2[tile_index] & 0x07);
130   int color = (state->m_colorram2[tile_index] & 0x30) >> 4;
127   int code = m_videoram2[tile_index] + 256 * (m_colorram2[tile_index] & 0x07);
128   int color = (m_colorram2[tile_index] & 0x30) >> 4;
131129
132   SET_TILE_INFO(0, code, color, 0);
130   SET_TILE_INFO_MEMBER(0, code, color, 0);
133131}
134132
135133VIDEO_START( ssozumo )
136134{
137135   ssozumo_state *state = machine.driver_data<ssozumo_state>();
138136
139   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS_FLIP_X,
137   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ssozumo_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS_FLIP_X,
140138       16, 16, 16, 32);
141139
142   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS_FLIP_X,
140   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ssozumo_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS_FLIP_X,
143141       8, 8, 32, 32);
144142
145143   state->m_fg_tilemap->set_transparent_pen(0);
trunk/src/mame/video/mcr.c
r17673r17674
2626    Byte 0:
2727        pppppppp = picture index
2828 */
29static TILE_GET_INFO( mcr_90009_get_tile_info )
29TILE_GET_INFO_MEMBER(mcr_state::mcr_90009_get_tile_info)
3030{
31   mcr_state *state = machine.driver_data<mcr_state>();
32   UINT8 *videoram = state->m_videoram;
33   SET_TILE_INFO(0, videoram[tile_index], 0, 0);
31   UINT8 *videoram = m_videoram;
32   SET_TILE_INFO_MEMBER(0, videoram[tile_index], 0, 0);
3433
3534   /* sprite color base is constant 0x10 */
3635   tileinfo.category = 1;
r17673r17674
5049        ------x- = X flip
5150        -------p = picture index (high 1 bit)
5251 */
53static TILE_GET_INFO( mcr_90010_get_tile_info )
52TILE_GET_INFO_MEMBER(mcr_state::mcr_90010_get_tile_info)
5453{
55   mcr_state *state = machine.driver_data<mcr_state>();
56   UINT8 *videoram = state->m_videoram;
54   UINT8 *videoram = m_videoram;
5755   int data = videoram[tile_index * 2] | (videoram[tile_index * 2 + 1] << 8);
5856   int code = data & 0x1ff;
5957   int color = (data >> 11) & 3;
60   SET_TILE_INFO(0, code, color, TILE_FLIPYX((data >> 9) & 3));
58   SET_TILE_INFO_MEMBER(0, code, color, TILE_FLIPYX((data >> 9) & 3));
6159
6260   /* sprite color base comes from the top 2 bits */
6361   tileinfo.category = (data >> 14) & 3;
r17673r17674
7775        -----x-- = X flip
7876        ------pp = picture index (high 2 bits)
7977 */
80static TILE_GET_INFO( mcr_91490_get_tile_info )
78TILE_GET_INFO_MEMBER(mcr_state::mcr_91490_get_tile_info)
8179{
82   mcr_state *state = machine.driver_data<mcr_state>();
83   UINT8 *videoram = state->m_videoram;
80   UINT8 *videoram = m_videoram;
8481   int data = videoram[tile_index * 2] | (videoram[tile_index * 2 + 1] << 8);
8582   int code = data & 0x3ff;
8683   int color = (data >> 12) & 3;
87   SET_TILE_INFO(0, code, color, TILE_FLIPYX((data >> 10) & 3));
84   SET_TILE_INFO_MEMBER(0, code, color, TILE_FLIPYX((data >> 10) & 3));
8885
8986   /* sprite color base might come from the top 2 bits */
9087   tileinfo.category = (data >> 14) & 3;
r17673r17674
10097
10198VIDEO_START( mcr )
10299{
100   mcr_state *state = machine.driver_data<mcr_state>();
103101   /* the tilemap callback is based on the CPU board */
104102   switch (mcr_cpu_board)
105103   {
106104      case 90009:
107         bg_tilemap = tilemap_create(machine, mcr_90009_get_tile_info, TILEMAP_SCAN_ROWS,  16,16, 32,30);
105         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);
108106         break;
109107
110108      case 90010:
111         bg_tilemap = tilemap_create(machine, mcr_90010_get_tile_info, TILEMAP_SCAN_ROWS,  16,16, 32,30);
109         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);
112110         break;
113111
114112      case 91475:
115         bg_tilemap = tilemap_create(machine, mcr_90010_get_tile_info, TILEMAP_SCAN_ROWS,  16,16, 32,30);
113         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);
116114         break;
117115
118116      case 91490:
119         bg_tilemap = tilemap_create(machine, mcr_91490_get_tile_info, TILEMAP_SCAN_ROWS,  16,16, 32,30);
117         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);
120118         break;
121119
122120      default:
trunk/src/mame/video/m107.c
r17673r17674
4242
4343/*****************************************************************************/
4444
45static TILE_GET_INFO( get_pf_tile_info )
45TILE_GET_INFO_MEMBER(m107_state::get_pf_tile_info)
4646{
47   m107_state *state = machine.driver_data<m107_state>();
4847   pf_layer_info *layer = (pf_layer_info *)param;
4948   int tile, attrib;
5049   tile_index = 2 * tile_index + layer->vram_base;
5150
52   attrib = state->m_vram_data[tile_index + 1];
53   tile = state->m_vram_data[tile_index] + ((attrib & 0x1000) << 4);
51   attrib = m_vram_data[tile_index + 1];
52   tile = m_vram_data[tile_index] + ((attrib & 0x1000) << 4);
5453
55   SET_TILE_INFO(
54   SET_TILE_INFO_MEMBER(
5655         0,
5756         tile,
5857         attrib & 0x7f,
r17673r17674
129128      pf_layer_info *layer = &state->m_pf_layer[laynum];
130129
131130      /* allocate a tilemaps per layer */
132      layer->tmap = tilemap_create(machine, get_pf_tile_info, TILEMAP_SCAN_ROWS,  8,8, 64,64);
131      layer->tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m107_state::get_pf_tile_info),state), TILEMAP_SCAN_ROWS,  8,8, 64,64);
133132
134133      /* set the user data to point to the layer */
135134      layer->tmap->set_user_data(&state->m_pf_layer[laynum]);
trunk/src/mame/video/twin16.c
r17673r17674
471471   }
472472}
473473
474static TILE_GET_INFO( get_text_tile_info )
474TILE_GET_INFO_MEMBER(twin16_state::get_text_tile_info)
475475{
476   twin16_state *state = machine.driver_data<twin16_state>();
477   const UINT16 *source = state->m_text_ram;
476   const UINT16 *source = m_text_ram;
478477   int attr = source[tile_index];
479478   /* fedcba9876543210
480479       -x-------------- yflip
r17673r17674
489488   if (attr&0x2000) flags|=TILE_FLIPX;
490489   if (attr&0x4000) flags|=TILE_FLIPY;
491490
492   SET_TILE_INFO(0, code, color, flags);
491   SET_TILE_INFO_MEMBER(0, code, color, flags);
493492}
494493
495494VIDEO_START( twin16 )
496495{
497496   twin16_state *state = machine.driver_data<twin16_state>();
498   state->m_text_tilemap = tilemap_create(machine, get_text_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
497   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);
499498   state->m_text_tilemap->set_transparent_pen(0);
500499
501500   palette_set_shadow_factor(machine,0.4); // screenshots estimate
trunk/src/mame/video/arkanoid.c
r17673r17674
149149   /* bit 6 - 7 unknown */
150150}
151151
152static TILE_GET_INFO( get_bg_tile_info )
152TILE_GET_INFO_MEMBER(arkanoid_state::get_bg_tile_info)
153153{
154   arkanoid_state *state = machine.driver_data<arkanoid_state>();
155154   int offs = tile_index * 2;
156   int code = state->m_videoram[offs + 1] + ((state->m_videoram[offs] & 0x07) << 8) + 2048 * state->m_gfxbank;
157   int color = ((state->m_videoram[offs] & 0xf8) >> 3) + 32 * state->m_palettebank;
155   int code = m_videoram[offs + 1] + ((m_videoram[offs] & 0x07) << 8) + 2048 * m_gfxbank;
156   int color = ((m_videoram[offs] & 0xf8) >> 3) + 32 * m_palettebank;
158157
159   SET_TILE_INFO(0, code, color, 0);
158   SET_TILE_INFO_MEMBER(0, code, color, 0);
160159}
161160
162161VIDEO_START( arkanoid )
163162{
164163   arkanoid_state *state = machine.driver_data<arkanoid_state>();
165164
166   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
165   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);
167166}
168167
169168static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
trunk/src/mame/video/megasys1.c
r17673r17674
335335            3                2 x 16     2 x 4
336336*/
337337
338static TILEMAP_MAPPER( megasys1_scan_8x8 )
338TILEMAP_MAPPER_MEMBER(megasys1_state::megasys1_scan_8x8)
339339{
340340   return (col * TILES_PER_PAGE_Y) +
341341         (row / TILES_PER_PAGE_Y) * TILES_PER_PAGE * (num_cols / TILES_PER_PAGE_X) +
342342         (row % TILES_PER_PAGE_Y);
343343}
344344
345static TILEMAP_MAPPER( megasys1_scan_16x16 )
345TILEMAP_MAPPER_MEMBER(megasys1_state::megasys1_scan_16x16)
346346{
347347   return ( ((col / 2) * (TILES_PER_PAGE_Y / 2)) +
348348          ((row / 2) / (TILES_PER_PAGE_Y / 2)) * (TILES_PER_PAGE / 4) * (num_cols / TILES_PER_PAGE_X) +
349349          ((row / 2) % (TILES_PER_PAGE_Y / 2)) )*4 + (row&1) + (col&1)*2;
350350}
351351
352static TILE_GET_INFO( megasys1_get_scroll_tile_info_8x8 )
352TILE_GET_INFO_MEMBER(megasys1_state::megasys1_get_scroll_tile_info_8x8)
353353{
354   megasys1_state *state = machine.driver_data<megasys1_state>();
355354   int tmap = (FPTR)param;
356   UINT16 code = state->m_scrollram[tmap][tile_index];
357   SET_TILE_INFO(tmap, (code & 0xfff) * state->m_8x8_scroll_factor[tmap], code >> (16 - state->m_bits_per_color_code), 0);
355   UINT16 code = m_scrollram[tmap][tile_index];
356   SET_TILE_INFO_MEMBER(tmap, (code & 0xfff) * m_8x8_scroll_factor[tmap], code >> (16 - m_bits_per_color_code), 0);
358357}
359358
360static TILE_GET_INFO( megasys1_get_scroll_tile_info_16x16 )
359TILE_GET_INFO_MEMBER(megasys1_state::megasys1_get_scroll_tile_info_16x16)
361360{
362   megasys1_state *state = machine.driver_data<megasys1_state>();
363361   int tmap = (FPTR)param;
364   UINT16 code = state->m_scrollram[tmap][tile_index/4];
365   SET_TILE_INFO(tmap, (code & 0xfff) * state->m_16x16_scroll_factor[tmap] + (tile_index & 3), code >> (16 - state->m_bits_per_color_code), 0);
362   UINT16 code = m_scrollram[tmap][tile_index/4];
363   SET_TILE_INFO_MEMBER(tmap, (code & 0xfff) * m_16x16_scroll_factor[tmap] + (tile_index & 3), code >> (16 - m_bits_per_color_code), 0);
366364}
367365
368366static void create_tilemaps(running_machine &machine)
r17673r17674
373371   for (layer = 0; layer < 3; layer++)
374372   {
375373      /* 16x16 tilemaps */
376      state->m_tilemap[layer][0][0] = tilemap_create(machine, megasys1_get_scroll_tile_info_16x16, megasys1_scan_16x16,
374      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),
377375                         8,8, TILES_PER_PAGE_X * 16, TILES_PER_PAGE_Y * 2);
378      state->m_tilemap[layer][0][1] = tilemap_create(machine, megasys1_get_scroll_tile_info_16x16, megasys1_scan_16x16,
376      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),
379377                         8,8, TILES_PER_PAGE_X * 8, TILES_PER_PAGE_Y * 4);
380      state->m_tilemap[layer][0][2] = tilemap_create(machine, megasys1_get_scroll_tile_info_16x16, megasys1_scan_16x16,
378      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),
381379                         8,8, TILES_PER_PAGE_X * 4, TILES_PER_PAGE_Y * 8);
382      state->m_tilemap[layer][0][3] = tilemap_create(machine, megasys1_get_scroll_tile_info_16x16, megasys1_scan_16x16,
380      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),
383381                         8,8, TILES_PER_PAGE_X * 2, TILES_PER_PAGE_Y * 16);
384382
385383      /* 8x8 tilemaps */
386      state->m_tilemap[layer][1][0] = tilemap_create(machine, megasys1_get_scroll_tile_info_8x8, megasys1_scan_8x8,
384      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),
387385                         8,8, TILES_PER_PAGE_X * 8, TILES_PER_PAGE_Y * 1);
388      state->m_tilemap[layer][1][1] = tilemap_create(machine, megasys1_get_scroll_tile_info_8x8, megasys1_scan_8x8,
386      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),
389387                         8,8, TILES_PER_PAGE_X * 4, TILES_PER_PAGE_Y * 2);
390      state->m_tilemap[layer][1][2] = tilemap_create(machine, megasys1_get_scroll_tile_info_8x8, megasys1_scan_8x8,
388      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),
391389                         8,8, TILES_PER_PAGE_X * 4, TILES_PER_PAGE_Y * 2);
392      state->m_tilemap[layer][1][3] = tilemap_create(machine, megasys1_get_scroll_tile_info_8x8, megasys1_scan_8x8,
390      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),
393391                         8,8, TILES_PER_PAGE_X * 2, TILES_PER_PAGE_Y * 4);
394392
395393      /* set user data and transparency */
trunk/src/mame/video/crshrace.c
r17673r17674
99
1010***************************************************************************/
1111
12static TILE_GET_INFO( get_tile_info1 )
12TILE_GET_INFO_MEMBER(crshrace_state::get_tile_info1)
1313{
14   crshrace_state *state = machine.driver_data<crshrace_state>();
15   int code = state->m_videoram1[tile_index];
14   int code = m_videoram1[tile_index];
1615
17   SET_TILE_INFO(1, (code & 0xfff) + (state->m_roz_bank << 12), code >> 12, 0);
16   SET_TILE_INFO_MEMBER(1, (code & 0xfff) + (m_roz_bank << 12), code >> 12, 0);
1817}
1918
20static TILE_GET_INFO( get_tile_info2 )
19TILE_GET_INFO_MEMBER(crshrace_state::get_tile_info2)
2120{
22   crshrace_state *state = machine.driver_data<crshrace_state>();
23   int code = state->m_videoram2[tile_index];
21   int code = m_videoram2[tile_index];
2422
25   SET_TILE_INFO(0, code, 0, 0);
23   SET_TILE_INFO_MEMBER(0, code, 0, 0);
2624}
2725
2826
r17673r17674
3634{
3735   crshrace_state *state = machine.driver_data<crshrace_state>();
3836
39   state->m_tilemap1 = tilemap_create(machine, get_tile_info1, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
40   state->m_tilemap2 = tilemap_create(machine, get_tile_info2, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
37   state->m_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(crshrace_state::get_tile_info1),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
38   state->m_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(crshrace_state::get_tile_info2),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
4139
4240   state->m_tilemap1->set_transparent_pen(0x0f);
4341   state->m_tilemap2->set_transparent_pen(0xff);
trunk/src/mame/video/airbustr.c
r17673r17674
8989   m_fg_tilemap->set_scrollx(0, ((m_highbits << 8) & 0x100) + m_fg_scrollx);
9090}
9191
92static TILE_GET_INFO( get_fg_tile_info )
92TILE_GET_INFO_MEMBER(airbustr_state::get_fg_tile_info)
9393{
94   airbustr_state *state = machine.driver_data<airbustr_state>();
95   int attr = state->m_colorram2[tile_index];
96   int code = state->m_videoram2[tile_index] + ((attr & 0x0f) << 8);
94   int attr = m_colorram2[tile_index];
95   int code = m_videoram2[tile_index] + ((attr & 0x0f) << 8);
9796   int color = attr >> 4;
9897
99   SET_TILE_INFO(0, code, color, 0);
98   SET_TILE_INFO_MEMBER(0, code, color, 0);
10099}
101100
102static TILE_GET_INFO( get_bg_tile_info )
101TILE_GET_INFO_MEMBER(airbustr_state::get_bg_tile_info)
103102{
104   airbustr_state *state = machine.driver_data<airbustr_state>();
105   int attr = state->m_colorram[tile_index];
106   int code = state->m_videoram[tile_index] + ((attr & 0x0f) << 8);
103   int attr = m_colorram[tile_index];
104   int code = m_videoram[tile_index] + ((attr & 0x0f) << 8);
107105   int color = (attr >> 4) + 16;
108106
109   SET_TILE_INFO(0, code, color, 0);
107   SET_TILE_INFO_MEMBER(0, code, color, 0);
110108}
111109
112110VIDEO_START( airbustr )
113111{
114112   airbustr_state *state = machine.driver_data<airbustr_state>();
115113
116   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
117   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
114   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);
115   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);
118116
119117   machine.primary_screen->register_screen_bitmap(state->m_sprites_bitmap);
120118   state->m_fg_tilemap->set_transparent_pen(0);
trunk/src/mame/video/pacman.c
r17673r17674
119119   }
120120}
121121
122static TILEMAP_MAPPER( pacman_scan_rows )
122TILEMAP_MAPPER_MEMBER(pacman_state::pacman_scan_rows)
123123{
124124   int offs;
125125
r17673r17674
133133   return offs;
134134}
135135
136static TILE_GET_INFO( pacman_get_tile_info )
136TILE_GET_INFO_MEMBER(pacman_state::pacman_get_tile_info)
137137{
138   pacman_state *state = machine.driver_data<pacman_state>();
139   int code = state->m_videoram[tile_index] | (state->m_charbank << 8);
140   int attr = (state->m_colorram[tile_index] & 0x1f) | (state->m_colortablebank << 5) | (state->m_palettebank << 6 );
138   int code = m_videoram[tile_index] | (m_charbank << 8);
139   int attr = (m_colorram[tile_index] & 0x1f) | (m_colortablebank << 5) | (m_palettebank << 6 );
141140
142   SET_TILE_INFO(0,code,attr,0);
141   SET_TILE_INFO_MEMBER(0,code,attr,0);
143142}
144143
145144/***************************************************************************
r17673r17674
177176   /* one pixel to the left to get a more correct placement */
178177   state->m_xoffsethack = 1;
179178
180   state->m_bg_tilemap = tilemap_create( machine, pacman_get_tile_info, pacman_scan_rows,  8, 8, 36, 28 );
179   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 );
181180
182181   state->m_bg_tilemap->set_scrolldx(0, 384 - 288 );
183182   state->m_bg_tilemap->set_scrolldy(0, 264 - 224 );
r17673r17674
333332   state->m_inv_spr = 0;
334333   state->m_xoffsethack = 0;
335334
336   state->m_bg_tilemap = tilemap_create( machine, pacman_get_tile_info, pacman_scan_rows,  8, 8, 36, 28 );
335   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 );
337336
338337   state->m_bg_tilemap->set_scrolldx(0, 384 - 288 );
339338   state->m_bg_tilemap->set_scrolldy(0, 264 - 224 );
r17673r17674
374373
375374**************************************************************************/
376375
377static TILE_GET_INFO( s2650_get_tile_info )
376TILE_GET_INFO_MEMBER(pacman_state::s2650_get_tile_info)
378377{
379   pacman_state *state = machine.driver_data<pacman_state>();
380378   int colbank, code, attr;
381379
382   colbank = state->m_s2650games_tileram[tile_index & 0x1f] & 0x3;
380   colbank = m_s2650games_tileram[tile_index & 0x1f] & 0x3;
383381
384   code = state->m_videoram[tile_index] + (colbank << 8);
385   attr = state->m_colorram[tile_index & 0x1f];
382   code = m_videoram[tile_index] + (colbank << 8);
383   attr = m_colorram[tile_index & 0x1f];
386384
387   SET_TILE_INFO(0,code,attr & 0x1f,0);
385   SET_TILE_INFO_MEMBER(0,code,attr & 0x1f,0);
388386}
389387
390388VIDEO_START( s2650games )
r17673r17674
401399   state->m_inv_spr = 0;
402400   state->m_xoffsethack = 1;
403401
404   state->m_bg_tilemap = tilemap_create( machine, s2650_get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32 );
402   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 );
405403
406404   state->m_bg_tilemap->set_scroll_cols(32);
407405}
r17673r17674
5014992018 - 2045 = column 1 attr (28 rows)
502500*/
503501
504static TILEMAP_MAPPER( jrpacman_scan_rows )
502TILEMAP_MAPPER_MEMBER(pacman_state::jrpacman_scan_rows)
505503{
506504   int offs;
507505
r17673r17674
516514   return offs;
517515}
518516
519static TILE_GET_INFO( jrpacman_get_tile_info )
517TILE_GET_INFO_MEMBER(pacman_state::jrpacman_get_tile_info)
520518{
521   pacman_state *state = machine.driver_data<pacman_state>();
522519   int color_index, code, attr;
523520   if( tile_index < 1792 )
524521   {
r17673r17674
529526      color_index = tile_index + 0x80;
530527   }
531528
532   code = state->m_videoram[tile_index] | (state->m_charbank << 8);
533   attr = (state->m_videoram[color_index] & 0x1f) | (state->m_colortablebank << 5) | (state->m_palettebank << 6 );
529   code = m_videoram[tile_index] | (m_charbank << 8);
530   attr = (m_videoram[color_index] & 0x1f) | (m_colortablebank << 5) | (m_palettebank << 6 );
534531
535   SET_TILE_INFO(0,code,attr,0);
532   SET_TILE_INFO_MEMBER(0,code,attr,0);
536533}
537534
538535static void jrpacman_mark_tile_dirty( running_machine &machine, int offset )
r17673r17674
573570   state->m_inv_spr = 0;
574571   state->m_xoffsethack = 1;
575572
576   state->m_bg_tilemap = tilemap_create( machine, jrpacman_get_tile_info,jrpacman_scan_rows,8,8,36,54 );
573   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 );
577574
578575   state->m_bg_tilemap->set_transparent_pen(0 );
579576   state->m_bg_tilemap->set_scroll_cols(36 );
trunk/src/mame/video/clshroad.c
r17673r17674
104104
105105***************************************************************************/
106106
107static TILE_GET_INFO( get_tile_info_0a )
107TILE_GET_INFO_MEMBER(clshroad_state::get_tile_info_0a)
108108{
109   clshroad_state *state = machine.driver_data<clshroad_state>();
110109   UINT8 code;
111110   tile_index = (tile_index & 0x1f) + (tile_index & ~0x1f)*2;
112   code   =   state->m_vram_0[ tile_index * 2 + 0x40 ];
113//  color   =   state->m_vram_0[ tile_index * 2 + 0x41 ];
114   SET_TILE_INFO(
111   code   =   m_vram_0[ tile_index * 2 + 0x40 ];
112//  color   =   m_vram_0[ tile_index * 2 + 0x41 ];
113   SET_TILE_INFO_MEMBER(
115114         1,
116115         code,
117116         0,
118117         0);
119118}
120119
121static TILE_GET_INFO( get_tile_info_0b )
120TILE_GET_INFO_MEMBER(clshroad_state::get_tile_info_0b)
122121{
123   clshroad_state *state = machine.driver_data<clshroad_state>();
124122   UINT8 code;
125123   tile_index = (tile_index & 0x1f) + (tile_index & ~0x1f)*2;
126   code   =   state->m_vram_0[ tile_index * 2 + 0x00 ];
127//  color   =   state->m_vram_0[ tile_index * 2 + 0x01 ];
128   SET_TILE_INFO(
124   code   =   m_vram_0[ tile_index * 2 + 0x00 ];
125//  color   =   m_vram_0[ tile_index * 2 + 0x01 ];
126   SET_TILE_INFO_MEMBER(
129127         1,
130128         code,
131129         0,
r17673r17674
160158***************************************************************************/
161159
162160/* logical (col,row) -> memory offset */
163static TILEMAP_MAPPER( tilemap_scan_rows_extra )
161TILEMAP_MAPPER_MEMBER(clshroad_state::tilemap_scan_rows_extra)
164162{
165163   // The leftmost columns come from the bottom rows
166164   if (col <= 0x01)   return row + (col + 0x1e) * 0x20;
r17673r17674
176174   return (col-2) + row * 0x20;
177175}
178176
179static TILE_GET_INFO( get_tile_info_fb1 )
177TILE_GET_INFO_MEMBER(clshroad_state::get_tile_info_fb1)
180178{
181   clshroad_state *state = machine.driver_data<clshroad_state>();
182   UINT8 code   =   state->m_vram_1[ tile_index + 0x000 ];
183   UINT8 color   =   state->m_vram_1[ tile_index + 0x400 ] & 0x3f;
179   UINT8 code   =   m_vram_1[ tile_index + 0x000 ];
180   UINT8 color   =   m_vram_1[ tile_index + 0x400 ] & 0x3f;
184181   tileinfo.group = color;
185   SET_TILE_INFO(
182   SET_TILE_INFO_MEMBER(
186183         2,
187184         code,
188185         color,
189186         0);
190187}
191188
192static TILE_GET_INFO( get_tile_info_1 )
189TILE_GET_INFO_MEMBER(clshroad_state::get_tile_info_1)
193190{
194   clshroad_state *state = machine.driver_data<clshroad_state>();
195   UINT8 code   =   state->m_vram_1[ tile_index + 0x000 ];
196   UINT8 color   =   state->m_vram_1[ tile_index + 0x400 ];
197   SET_TILE_INFO(
191   UINT8 code   =   m_vram_1[ tile_index + 0x000 ];
192   UINT8 color   =   m_vram_1[ tile_index + 0x400 ];
193   SET_TILE_INFO_MEMBER(
198194         2,
199195         code + ((color & 0xf0)<<4),
200196         color & 0x0f,
r17673r17674
212208{
213209   clshroad_state *state = machine.driver_data<clshroad_state>();
214210   /* These 2 use the graphics and scroll value */
215   state->m_tilemap_0a = tilemap_create(machine, get_tile_info_0a,TILEMAP_SCAN_ROWS,16,16,0x20,0x10);
216   state->m_tilemap_0b = tilemap_create(machine, get_tile_info_0b,TILEMAP_SCAN_ROWS,16,16,0x20,0x10);
211   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);
212   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);
217213   /* Text (No scrolling) */
218   state->m_tilemap_1  = tilemap_create(machine, get_tile_info_fb1,tilemap_scan_rows_extra,8,8,0x24,0x20);
214   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);
219215
220216   state->m_tilemap_0a->set_scroll_rows(1);
221217   state->m_tilemap_0b->set_scroll_rows(1);
r17673r17674
236232{
237233   clshroad_state *state = machine.driver_data<clshroad_state>();
238234   /* These 2 use the graphics and scroll value */
239   state->m_tilemap_0a = tilemap_create(machine, get_tile_info_0a,TILEMAP_SCAN_ROWS,16,16,0x20,0x10);
240   state->m_tilemap_0b = tilemap_create(machine, get_tile_info_0b,TILEMAP_SCAN_ROWS,16,16,0x20,0x10);
235   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);
236   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);
241237   /* Text (No scrolling) */
242   state->m_tilemap_1  = tilemap_create(machine, get_tile_info_1,tilemap_scan_rows_extra,8,8,0x24,0x20);
238   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);
243239
244240   state->m_tilemap_0a->set_scroll_rows(1);
245241   state->m_tilemap_0b->set_scroll_rows(1);
trunk/src/mame/video/bwing.c
r17673r17674
170170//****************************************************************************
171171// Initializations
172172
173static TILE_GET_INFO( get_fgtileinfo )
173TILE_GET_INFO_MEMBER(bwing_state::get_fgtileinfo)
174174{
175   bwing_state *state = machine.driver_data<bwing_state>();
176   tileinfo.pen_data = machine.gfx[2]->get_data(state->m_fgdata[tile_index] & (BW_NTILES - 1));
177   tileinfo.palette_base = machine.gfx[2]->colorbase() + ((state->m_fgdata[tile_index] >> 7) << 3);
175   tileinfo.pen_data = machine().gfx[2]->get_data(m_fgdata[tile_index] & (BW_NTILES - 1));
176   tileinfo.palette_base = machine().gfx[2]->colorbase() + ((m_fgdata[tile_index] >> 7) << 3);
178177}
179178
180static TILE_GET_INFO( get_bgtileinfo )
179TILE_GET_INFO_MEMBER(bwing_state::get_bgtileinfo)
181180{
182   bwing_state *state = machine.driver_data<bwing_state>();
183   tileinfo.pen_data = machine.gfx[3]->get_data(state->m_bgdata[tile_index] & (BW_NTILES - 1));
184   tileinfo.palette_base = machine.gfx[3]->colorbase() + ((state->m_bgdata[tile_index] >> 7) << 3);
181   tileinfo.pen_data = machine().gfx[3]->get_data(m_bgdata[tile_index] & (BW_NTILES - 1));
182   tileinfo.palette_base = machine().gfx[3]->colorbase() + ((m_bgdata[tile_index] >> 7) << 3);
185183}
186184
187static TILE_GET_INFO( get_charinfo )
185TILE_GET_INFO_MEMBER(bwing_state::get_charinfo)
188186{
189   bwing_state *state = machine.driver_data<bwing_state>();
190   SET_TILE_INFO(0, state->m_videoram[tile_index], 0, 0);
187   SET_TILE_INFO_MEMBER(0, m_videoram[tile_index], 0, 0);
191188}
192189
193static TILEMAP_MAPPER( bwing_scan_cols )
190TILEMAP_MAPPER_MEMBER(bwing_state::bwing_scan_cols)
194191{
195192   return ((col << 6) + row);
196193}
r17673r17674
202199//   UINT32 *dwptr;
203200   int i;
204201
205   state->m_charmap = tilemap_create(machine, get_charinfo, TILEMAP_SCAN_COLS, 8, 8, 32, 32);
206   state->m_fgmap = tilemap_create(machine, get_fgtileinfo, bwing_scan_cols, 16, 16, 64, 64);
207   state->m_bgmap = tilemap_create(machine, get_bgtileinfo, bwing_scan_cols, 16, 16, 64, 64);
202   state->m_charmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bwing_state::get_charinfo),state), TILEMAP_SCAN_COLS, 8, 8, 32, 32);
203   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);
204   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);
208205
209206   state->m_charmap->set_transparent_pen(0);
210207   state->m_fgmap->set_transparent_pen(0);
trunk/src/mame/video/sf.c
r17673r17674
77
88***************************************************************************/
99
10static TILE_GET_INFO( get_bg_tile_info )
10TILE_GET_INFO_MEMBER(sf_state::get_bg_tile_info)
1111{
12   UINT8 *base = machine.root_device().memregion("gfx5")->base() + 2 * tile_index;
12   UINT8 *base = machine().root_device().memregion("gfx5")->base() + 2 * tile_index;
1313   int attr = base[0x10000];
1414   int color = base[0];
1515   int code = (base[0x10000 + 1] << 8) | base[1];
16   SET_TILE_INFO(
16   SET_TILE_INFO_MEMBER(
1717         0,
1818         code,
1919         color,
2020         TILE_FLIPYX(attr & 3));
2121}
2222
23static TILE_GET_INFO( get_fg_tile_info )
23TILE_GET_INFO_MEMBER(sf_state::get_fg_tile_info)
2424{
25   UINT8 *base = machine.root_device().memregion("gfx5")->base() + 0x20000 + 2 * tile_index;
25   UINT8 *base = machine().root_device().memregion("gfx5")->base() + 0x20000 + 2 * tile_index;
2626   int attr = base[0x10000];
2727   int color = base[0];
2828   int code = (base[0x10000 + 1] << 8) | base[1];
29   SET_TILE_INFO(
29   SET_TILE_INFO_MEMBER(
3030         1,
3131         code,
3232         color,
3333         TILE_FLIPYX(attr & 3));
3434}
3535
36static TILE_GET_INFO( get_tx_tile_info )
36TILE_GET_INFO_MEMBER(sf_state::get_tx_tile_info)
3737{
38   sf_state *state = machine.driver_data<sf_state>();
39   int code = state->m_videoram[tile_index];
40   SET_TILE_INFO(
38   int code = m_videoram[tile_index];
39   SET_TILE_INFO_MEMBER(
4140         3,
4241         code & 0x3ff,
4342         code>>12,
r17673r17674
5655{
5756   sf_state *state = machine.driver_data<sf_state>();
5857
59   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 2048, 16);
60   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 2048, 16);
61   state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
58   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);
59   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);
60   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);
6261
6362   state->m_fg_tilemap->set_transparent_pen(15);
6463   state->m_tx_tilemap->set_transparent_pen(3);
trunk/src/mame/video/cave.c
r17673r17674
269269   }
270270}
271271
272static TILE_GET_INFO( sailormn_get_tile_info_2 )
272TILE_GET_INFO_MEMBER(cave_state::sailormn_get_tile_info_2)
273273{
274   cave_state *state = machine.driver_data<cave_state>();
275274   UINT32 code, color, pri;
276275
277   if (state->m_tiledim[2])
276   if (m_tiledim[2])
278277   {
279278      UINT32 tile;
280279      tile  = (tile_index % (512 / 8)) / 2 + ((tile_index / (512 / 8)) / 2) * (512 / 16);
281      code  = (state->m_vram[2][tile * 2 + 0x0000 / 2] << 16) + state->m_vram[2][tile * 2 + 0x0002 / 2];
280      code  = (m_vram[2][tile * 2 + 0x0000 / 2] << 16) + m_vram[2][tile * 2 + 0x0002 / 2];
282281
283282      color = (code & 0x3f000000) >> (32 - 8);
284283      pri   = (code & 0xc0000000) >> (32 - 2);
r17673r17674
289288   }
290289   else
291290   {
292      code  = (state->m_vram[2][tile_index * 2 + 0x4000 / 2] << 16) + state->m_vram[2][tile_index * 2 + 0x4002 / 2];
291      code  = (m_vram[2][tile_index * 2 + 0x4000 / 2] << 16) + m_vram[2][tile_index * 2 + 0x4002 / 2];
293292
294293      color = (code & 0x3f000000) >> (32 - 8);
295294      pri   = (code & 0xc0000000) >> (32 - 2);
296295      code  = (code & 0x00ffffff);
297      if ((code < 0x10000) && (state->m_sailormn_tilebank))
296      if ((code < 0x10000) && (m_sailormn_tilebank))
298297         code += 0x40000;
299298   }
300299
301   SET_TILE_INFO( 2, code, color, 0 );
300   SET_TILE_INFO_MEMBER( 2, code, color, 0 );
302301   tileinfo.category = pri;
303302}
304303
r17673r17674
347346}
348347
349348
350static TILE_GET_INFO( get_tile_info_0 )   { get_tile_info(machine, tileinfo, tile_index, 0); }
351static TILE_GET_INFO( get_tile_info_1 )   { get_tile_info(machine, tileinfo, tile_index, 1); }
352static TILE_GET_INFO( get_tile_info_2 )   { get_tile_info(machine, tileinfo, tile_index, 2); }
353static TILE_GET_INFO( get_tile_info_3 )   { get_tile_info(machine, tileinfo, tile_index, 3); }
349TILE_GET_INFO_MEMBER(cave_state::get_tile_info_0){ get_tile_info(machine(), tileinfo, tile_index, 0); }
350TILE_GET_INFO_MEMBER(cave_state::get_tile_info_1){ get_tile_info(machine(), tileinfo, tile_index, 1); }
351TILE_GET_INFO_MEMBER(cave_state::get_tile_info_2){ get_tile_info(machine(), tileinfo, tile_index, 2); }
352TILE_GET_INFO_MEMBER(cave_state::get_tile_info_3){ get_tile_info(machine(), tileinfo, tile_index, 3); }
354353
355354WRITE16_MEMBER(cave_state::cave_vram_0_w){ vram_w(&space, offset, data, mem_mask, 0); }
356355WRITE16_MEMBER(cave_state::cave_vram_1_w){ vram_w(&space, offset, data, mem_mask, 1); }
r17673r17674
398397   switch (num)
399398   {
400399      case 4:
401         state->m_tilemap[3] = tilemap_create(machine, get_tile_info_3, TILEMAP_SCAN_ROWS, 8, 8, 512 / 8, 512 / 8);
400         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);
402401         state->m_tilemap[3]->set_transparent_pen(0);
403402         state->m_tilemap[3]->set_scroll_rows(1);
404403         state->m_tilemap[3]->set_scroll_cols(1);
r17673r17674
406405         state->save_item(NAME(state->m_old_tiledim[3]));
407406
408407      case 3:
409         state->m_tilemap[2] = tilemap_create(machine, get_tile_info_2, TILEMAP_SCAN_ROWS, 8, 8, 512 / 8, 512 / 8);
408         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);
410409         state->m_tilemap[2]->set_transparent_pen(0);
411410         state->m_tilemap[2]->set_scroll_rows(1);
412411         state->m_tilemap[2]->set_scroll_cols(1);
r17673r17674
414413         state->save_item(NAME(state->m_old_tiledim[2]));
415414
416415      case 2:
417         state->m_tilemap[1] = tilemap_create(machine, get_tile_info_1, TILEMAP_SCAN_ROWS, 8, 8, 512 / 8, 512 / 8);
416         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);
418417         state->m_tilemap[1]->set_transparent_pen(0);
419418         state->m_tilemap[1]->set_scroll_rows(1);
420419         state->m_tilemap[1]->set_scroll_cols(1);
r17673r17674
422421         state->save_item(NAME(state->m_old_tiledim[1]));
423422
424423      case 1:
425         state->m_tilemap[0] = tilemap_create(machine, get_tile_info_0, TILEMAP_SCAN_ROWS, 8, 8, 512 / 8, 512 / 8);
424         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);
426425         state->m_tilemap[0]->set_transparent_pen(0);
427426         state->m_tilemap[0]->set_scroll_rows(1);
428427         state->m_tilemap[0]->set_scroll_cols(1);
r17673r17674
472471   cave_vh_start(machine, 2);
473472
474473   /* Layer 2 (8x8) needs to be handled differently */
475   state->m_tilemap[2] = tilemap_create(machine, sailormn_get_tile_info_2, TILEMAP_SCAN_ROWS, 8, 8, 512 / 8, 512 / 8 );
474   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 );
476475
477476   state->m_tilemap[2]->set_transparent_pen(0);
478477   state->m_tilemap[2]->set_scroll_rows(1);
trunk/src/mame/video/dooyong.c
r17673r17674
261261   SET_TILE_INFO(graphics, code, color, flags);
262262}
263263
264static TILE_GET_INFO( get_bg_tile_info )
264TILE_GET_INFO_MEMBER(dooyong_state::get_bg_tile_info)
265265{
266   dooyong_state *state = machine.driver_data<dooyong_state>();
267   if (state->m_bg_tilerom2 != NULL)
268      rshark_get_tile_info(machine, tileinfo, tile_index, state->m_bg_tilerom, state->m_bg_tilerom2, state->m_bgscroll8, state->m_bg_gfx);
266   if (m_bg_tilerom2 != NULL)
267      rshark_get_tile_info(machine(), tileinfo, tile_index, m_bg_tilerom, m_bg_tilerom2, m_bgscroll8, m_bg_gfx);
269268   else
270      lastday_get_tile_info(machine, tileinfo, tile_index, state->m_bg_tilerom, state->m_bgscroll8, state->m_bg_gfx);
269      lastday_get_tile_info(machine(), tileinfo, tile_index, m_bg_tilerom, m_bgscroll8, m_bg_gfx);
271270}
272271
273static TILE_GET_INFO( get_bg2_tile_info )
272TILE_GET_INFO_MEMBER(dooyong_state::get_bg2_tile_info)
274273{
275   dooyong_state *state = machine.driver_data<dooyong_state>();
276   if (state->m_bg2_tilerom2 != NULL)
277      rshark_get_tile_info(machine, tileinfo, tile_index, state->m_bg2_tilerom, state->m_bg2_tilerom2, state->m_bg2scroll8, state->m_bg2_gfx);
274   if (m_bg2_tilerom2 != NULL)
275      rshark_get_tile_info(machine(), tileinfo, tile_index, m_bg2_tilerom, m_bg2_tilerom2, m_bg2scroll8, m_bg2_gfx);
278276   else
279      lastday_get_tile_info(machine, tileinfo, tile_index, state->m_bg2_tilerom, state->m_bg2scroll8, state->m_bg2_gfx);
277      lastday_get_tile_info(machine(), tileinfo, tile_index, m_bg2_tilerom, m_bg2scroll8, m_bg2_gfx);
280278}
281279
282static TILE_GET_INFO( get_fg_tile_info )
280TILE_GET_INFO_MEMBER(dooyong_state::get_fg_tile_info)
283281{
284   dooyong_state *state = machine.driver_data<dooyong_state>();
285   if (state->m_fg_tilerom2 != NULL)
286      rshark_get_tile_info(machine, tileinfo, tile_index, state->m_fg_tilerom, state->m_fg_tilerom2, state->m_fgscroll8, state->m_fg_gfx);
282   if (m_fg_tilerom2 != NULL)
283      rshark_get_tile_info(machine(), tileinfo, tile_index, m_fg_tilerom, m_fg_tilerom2, m_fgscroll8, m_fg_gfx);
287284   else
288      lastday_get_tile_info(machine, tileinfo, tile_index, state->m_fg_tilerom, state->m_fgscroll8, state->m_fg_gfx);
285      lastday_get_tile_info(machine(), tileinfo, tile_index, m_fg_tilerom, m_fgscroll8, m_fg_gfx);
289286}
290287
291static TILE_GET_INFO( get_fg2_tile_info )
288TILE_GET_INFO_MEMBER(dooyong_state::get_fg2_tile_info)
292289{
293   dooyong_state *state = machine.driver_data<dooyong_state>();
294   if (state->m_fg2_tilerom2 != NULL)
295      rshark_get_tile_info(machine, tileinfo, tile_index, state->m_fg2_tilerom, state->m_fg2_tilerom2, state->m_fg2scroll8, state->m_fg2_gfx);
290   if (m_fg2_tilerom2 != NULL)
291      rshark_get_tile_info(machine(), tileinfo, tile_index, m_fg2_tilerom, m_fg2_tilerom2, m_fg2scroll8, m_fg2_gfx);
296292   else
297      lastday_get_tile_info(machine, tileinfo, tile_index, state->m_fg2_tilerom, state->m_fg2scroll8, state->m_fg2_gfx);
293      lastday_get_tile_info(machine(), tileinfo, tile_index, m_fg2_tilerom, m_fg2scroll8, m_fg2_gfx);
298294}
299295
300296/* flytiger uses some palette banking technique or something maybe a trash protection */
301297
302static TILE_GET_INFO( flytiger_get_fg_tile_info )
298TILE_GET_INFO_MEMBER(dooyong_state::flytiger_get_fg_tile_info)
303299{
304   dooyong_state *state = machine.driver_data<dooyong_state>();
305   const UINT8 *tilerom = state->m_fg_tilerom;
300   const UINT8 *tilerom = m_fg_tilerom;
306301
307   int offs = (tile_index + (state->m_fgscroll8[1] << 6)) * 2;
302   int offs = (tile_index + (m_fgscroll8[1] << 6)) * 2;
308303   int attr = tilerom[offs];
309304   int code = tilerom[offs + 1] | ((attr & 0x01) << 8) | ((attr & 0x80) << 2);
310305   int color = (attr & 0x78) >> 3;
311306   int flags = ((attr & 0x02) ? TILE_FLIPX : 0) | ((attr & 0x04) ? TILE_FLIPY : 0);
312307
313   SET_TILE_INFO(state->m_fg_gfx, code, color, flags);
308   SET_TILE_INFO_MEMBER(m_fg_gfx, code, color, flags);
314309}
315310
316static TILE_GET_INFO( get_tx_tile_info )
311TILE_GET_INFO_MEMBER(dooyong_state::get_tx_tile_info)
317312{
318   dooyong_state *state = machine.driver_data<dooyong_state>();
319313   /* Each tile takes two bytes of memory:
320314                     MSB   LSB
321315       [offs + 0x00] cccc cccc    (bits 7-0 of gfx code)
r17673r17674
323317       c = gfx code
324318       C = color code */
325319   int offs, attr, code, color;
326   if (state->m_tx_tilemap_mode == 0)
320   if (m_tx_tilemap_mode == 0)
327321   {   /* lastday/gulfstrm/pollux/flytiger */
328322      offs = tile_index;
329      attr = state->m_txvideoram[offs | 0x0800];
323      attr = m_txvideoram[offs | 0x0800];
330324   }
331325   else
332326   {   /* bluehawk/primella */
333327      offs = tile_index * 2;
334      attr = state->m_txvideoram[offs + 1];
328      attr = m_txvideoram[offs + 1];
335329   }
336   code = state->m_txvideoram[offs] | ((attr & 0x0f) << 8);
330   code = m_txvideoram[offs] | ((attr & 0x0f) << 8);
337331   color = (attr & 0xf0) >> 4;
338332
339   SET_TILE_INFO(0, code, color, 0);
333   SET_TILE_INFO_MEMBER(0, code, color, 0);
340334}
341335
342336
r17673r17674
638632   state->m_tx_tilemap_mode = 0;
639633
640634   /* Create tilemaps */
641   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS,
635   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
642636       32, 32, 32, 8);
643   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS,
637   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS,
644638       32, 32, 32, 8);
645   state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_COLS,
639   state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_tx_tile_info),state), TILEMAP_SCAN_COLS,
646640       8, 8, 64, 32);
647641
648642   /* Configure tilemap transparency */
r17673r17674
678672   state->m_tx_tilemap_mode = 0;
679673
680674   /* Create tilemaps */
681   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS,
675   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
682676       32, 32, 32, 8);
683   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS,
677   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS,
684678       32, 32, 32, 8);
685   state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_COLS,
679   state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_tx_tile_info),state), TILEMAP_SCAN_COLS,
686680       8, 8, 64, 32);
687681
688682   /* Configure tilemap transparency */
r17673r17674
717711   state->m_tx_tilemap_mode = 0;
718712
719713   /* Create tilemaps */
720   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS,
714   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
721715       32, 32, 32, 8);
722   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS,
716   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS,
723717       32, 32, 32, 8);
724   state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_COLS,
718   state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_tx_tile_info),state), TILEMAP_SCAN_COLS,
725719       8, 8, 64, 32);
726720
727721   /* Configure tilemap transparency */
r17673r17674
756750   state->m_tx_tilemap_mode = 1;
757751
758752   /* Create tilemaps */
759   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS,
753   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
760754       32, 32, 32, 8);
761   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS,
755   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS,
762756       32, 32, 32, 8);
763   state->m_fg2_tilemap = tilemap_create(machine, get_fg2_tile_info, TILEMAP_SCAN_COLS,
757   state->m_fg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg2_tile_info),state), TILEMAP_SCAN_COLS,
764758       32, 32, 32, 8);
765   state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_COLS,
759   state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_tx_tile_info),state), TILEMAP_SCAN_COLS,
766760       8, 8, 64, 32);
767761
768762   /* Configure tilemap transparency */
r17673r17674
794788   state->m_tx_tilemap_mode = 0;
795789
796790   /* Create tilemaps */
797   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS,
791   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
798792       32, 32, 32, 8);
799   state->m_fg_tilemap = tilemap_create(machine, flytiger_get_fg_tile_info, TILEMAP_SCAN_COLS,
793   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::flytiger_get_fg_tile_info),state), TILEMAP_SCAN_COLS,
800794       32, 32, 32, 8);
801   state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_COLS,
795   state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_tx_tile_info),state), TILEMAP_SCAN_COLS,
802796       8, 8, 64, 32);
803797
804798   /* Configure tilemap transparency */
r17673r17674
830824   state->m_tx_tilemap_mode = 1;
831825
832826   /* Create tilemaps */
833   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS,
827   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
834828       32, 32, 32, 8);
835   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS,
829   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS,
836830       32, 32, 32, 8);
837   state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_COLS,
831   state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_tx_tile_info),state), TILEMAP_SCAN_COLS,
838832       8, 8, 64, 32);
839833
840834   /* Configure tilemap transparency */
r17673r17674
870864   state->m_fg2_gfx = 1;
871865
872866   /* Create tilemaps */
873   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS,
867   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
874868       16, 16, 64, 32);
875   state->m_bg2_tilemap = tilemap_create(machine, get_bg2_tile_info, TILEMAP_SCAN_COLS,
869   state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg2_tile_info),state), TILEMAP_SCAN_COLS,
876870       16, 16, 64, 32);
877   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_COLS,
871   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg_tile_info),state), TILEMAP_SCAN_COLS,
878872       16, 16, 64, 32);
879   state->m_fg2_tilemap = tilemap_create(machine, get_fg2_tile_info, TILEMAP_SCAN_COLS,
873   state->m_fg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_fg2_tile_info),state), TILEMAP_SCAN_COLS,
880874       16, 16, 64, 32);
881875
882876   /* Configure tilemap transparency */
r17673r17674
905899   state->m_bg_gfx = 1;
906900
907901   /* Create tilemaps */
908   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS,
902   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dooyong_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS,
909903       32, 32, 32, 8);
910904   state->m_bg2_tilemap = state->m_fg_tilemap = state->m_fg2_tilemap = NULL;   /* Stop scroll handler from crashing on these */
911905
trunk/src/mame/video/williams.c
r17673r17674
105105
106106static void blitter_init(running_machine &machine, int blitter_config, const UINT8 *remap_prom);
107107static void create_palette_lookup(running_machine &machine);
108static TILE_GET_INFO( get_tile_info );
108
109109static int blitter_core(address_space *space, int sstart, int dstart, int w, int h, int data);
110110
111111
r17673r17674
157157   state->m_generic_paletteram_8.allocate(0x400 * 2);
158158
159159   /* create the tilemap */
160   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_COLS,  24,16, 128,16);
160   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);
161161   state->m_bg_tilemap->set_scrolldx(2, 0);
162162
163163   state_save_register(machine);
r17673r17674
375375 *
376376 *************************************/
377377
378static TILE_GET_INFO( get_tile_info )
378TILE_GET_INFO_MEMBER(williams_state::get_tile_info)
379379{
380   williams_state *state = machine.driver_data<williams_state>();
381   int mask = machine.gfx[0]->elements() - 1;
382   int data = state->m_williams2_tileram[tile_index];
380   int mask = machine().gfx[0]->elements() - 1;
381   int data = m_williams2_tileram[tile_index];
383382   int y = (tile_index >> 1) & 7;
384383   int color = 0;
385384
386   switch (state->m_williams2_tilemap_config)
385   switch (m_williams2_tilemap_config)
387386   {
388387      case WILLIAMS_TILEMAP_MYSTICM:
389388      {
r17673r17674
406405         break;
407406   }
408407
409   SET_TILE_INFO(0, data & mask, color, (data & ~mask) ? TILE_FLIPX : 0);
408   SET_TILE_INFO_MEMBER(0, data & mask, color, (data & ~mask) ? TILE_FLIPX : 0);
410409}
411410
412411
trunk/src/mame/video/brkthru.c
r17673r17674
7171
7272***************************************************************************/
7373
74static TILE_GET_INFO( get_bg_tile_info )
74TILE_GET_INFO_MEMBER(brkthru_state::get_bg_tile_info)
7575{
76   brkthru_state *state = machine.driver_data<brkthru_state>();
7776   /* BG RAM format
7877        0         1
7978        ---- -c-- ---- ---- = Color
8079        ---- --xx xxxx xxxx = Code
8180    */
8281
83   int code = (state->m_videoram[tile_index * 2] | ((state->m_videoram[tile_index * 2 + 1]) << 8)) & 0x3ff;
82   int code = (m_videoram[tile_index * 2] | ((m_videoram[tile_index * 2 + 1]) << 8)) & 0x3ff;
8483   int region = 1 + (code >> 7);
85   int colour = state->m_bgbasecolor + ((state->m_videoram[tile_index * 2 + 1] & 0x04) >> 2);
84   int colour = m_bgbasecolor + ((m_videoram[tile_index * 2 + 1] & 0x04) >> 2);
8685
87   SET_TILE_INFO(region, code & 0x7f, colour,0);
86   SET_TILE_INFO_MEMBER(region, code & 0x7f, colour,0);
8887}
8988
9089WRITE8_MEMBER(brkthru_state::brkthru_bgram_w)
r17673r17674
9594}
9695
9796
98static TILE_GET_INFO( get_fg_tile_info )
97TILE_GET_INFO_MEMBER(brkthru_state::get_fg_tile_info)
9998{
100   brkthru_state *state = machine.driver_data<brkthru_state>();
101   UINT8 code = state->m_fg_videoram[tile_index];
102   SET_TILE_INFO(0, code, 0, 0);
99   UINT8 code = m_fg_videoram[tile_index];
100   SET_TILE_INFO_MEMBER(0, code, 0, 0);
103101}
104102
105103WRITE8_MEMBER(brkthru_state::brkthru_fgram_w)
r17673r17674
113111{
114112   brkthru_state *state = machine.driver_data<brkthru_state>();
115113
116   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
117   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 16);
114   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);
115   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);
118116
119117   state->m_fg_tilemap->set_transparent_pen(0);
120118   state->m_bg_tilemap->set_transparent_pen(0);
trunk/src/mame/video/dec8.c
r17673r17674
280280/******************************************************************************/
281281
282282
283static TILE_GET_INFO( get_cobracom_fix_tile_info )
283TILE_GET_INFO_MEMBER(dec8_state::get_cobracom_fix_tile_info)
284284{
285   dec8_state *state = machine.driver_data<dec8_state>();
286285   int offs = tile_index << 1;
287   int tile = state->m_videoram[offs + 1] + (state->m_videoram[offs] << 8);
286   int tile = m_videoram[offs + 1] + (m_videoram[offs] << 8);
288287   int color = (tile & 0xe000) >> 13;
289288
290   SET_TILE_INFO(
289   SET_TILE_INFO_MEMBER(
291290         0,
292291         tile & 0xfff,
293292         color,
r17673r17674
297296VIDEO_START( cobracom )
298297{
299298   dec8_state *state = machine.driver_data<dec8_state>();
300   state->m_fix_tilemap = tilemap_create(machine, get_cobracom_fix_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
299   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);
301300
302301   state->m_fix_tilemap->set_transparent_pen(0);
303302
r17673r17674
318317   return 0;
319318}
320319
321static TILE_GET_INFO( get_ghostb_fix_tile_info )
320TILE_GET_INFO_MEMBER(dec8_state::get_ghostb_fix_tile_info)
322321{
323   dec8_state *state = machine.driver_data<dec8_state>();
324322   int offs = tile_index << 1;
325   int tile = state->m_videoram[offs + 1] + (state->m_videoram[offs] << 8);
323   int tile = m_videoram[offs + 1] + (m_videoram[offs] << 8);
326324   int color = (tile & 0xc00) >> 10;
327325
328   SET_TILE_INFO(
326   SET_TILE_INFO_MEMBER(
329327         0,
330328         tile & 0x3ff,
331329         color,
r17673r17674
335333VIDEO_START( ghostb )
336334{
337335   dec8_state *state = machine.driver_data<dec8_state>();
338   state->m_fix_tilemap = tilemap_create(machine, get_ghostb_fix_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
336   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);
339337   state->m_fix_tilemap->set_transparent_pen(0);
340338
341339   state->m_game_uses_priority = 0;
r17673r17674
357355   return 0;
358356}
359357
360static TILE_GET_INFO( get_oscar_fix_tile_info )
358TILE_GET_INFO_MEMBER(dec8_state::get_oscar_fix_tile_info)
361359{
362   dec8_state *state = machine.driver_data<dec8_state>();
363360   int offs = tile_index << 1;
364   int tile = state->m_videoram[offs + 1] + (state->m_videoram[offs] << 8);
361   int tile = m_videoram[offs + 1] + (m_videoram[offs] << 8);
365362   int color = (tile & 0xf000) >> 14;
366363
367   SET_TILE_INFO(
364   SET_TILE_INFO_MEMBER(
368365         0,
369366         tile&0xfff,
370367         color,
r17673r17674
374371VIDEO_START( oscar )
375372{
376373   dec8_state *state = machine.driver_data<dec8_state>();
377   state->m_fix_tilemap = tilemap_create(machine, get_oscar_fix_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
374   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);
378375
379376   state->m_fix_tilemap->set_transparent_pen(0);
380377
r17673r17674
412409   return 0;
413410}
414411
415static TILEMAP_MAPPER( lastmisn_scan_rows )
412TILEMAP_MAPPER_MEMBER(dec8_state::lastmisn_scan_rows)
416413{
417414   /* logical (col,row) -> memory offset */
418415   return ((col & 0x0f) + ((row & 0x0f) << 4)) + ((col & 0x10) << 4) + ((row & 0x10) << 5);
419416}
420417
421static TILE_GET_INFO( get_lastmisn_tile_info )
418TILE_GET_INFO_MEMBER(dec8_state::get_lastmisn_tile_info)
422419{
423   dec8_state *state = machine.driver_data<dec8_state>();
424420   int offs = tile_index * 2;
425   int tile = state->m_bg_data[offs + 1] + (state->m_bg_data[offs] << 8);
421   int tile = m_bg_data[offs + 1] + (m_bg_data[offs] << 8);
426422   int color = tile >> 12;
427423
428   if (color > 7 && state->m_game_uses_priority)
424   if (color > 7 && m_game_uses_priority)
429425      tileinfo.category = 1;
430426   else
431427      tileinfo.category = 0;
432428
433   SET_TILE_INFO(
429   SET_TILE_INFO_MEMBER(
434430         2,
435431         tile & 0xfff,
436432         color,
437433         0);
438434}
439435
440static TILE_GET_INFO( get_lastmisn_fix_tile_info )
436TILE_GET_INFO_MEMBER(dec8_state::get_lastmisn_fix_tile_info)
441437{
442   dec8_state *state = machine.driver_data<dec8_state>();
443438   int offs = tile_index << 1;
444   int tile = state->m_videoram[offs + 1] + (state->m_videoram[offs] << 8);
439   int tile = m_videoram[offs + 1] + (m_videoram[offs] << 8);
445440   int color = (tile & 0xc000) >> 14;
446441
447   SET_TILE_INFO(
442   SET_TILE_INFO_MEMBER(
448443         0,
449444         tile&0xfff,
450445         color,
r17673r17674
454449VIDEO_START( lastmisn )
455450{
456451   dec8_state *state = machine.driver_data<dec8_state>();
457   state->m_bg_tilemap = tilemap_create(machine, get_lastmisn_tile_info, lastmisn_scan_rows, 16, 16, 32, 32);
458   state->m_fix_tilemap = tilemap_create(machine, get_lastmisn_fix_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
452   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);
453   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);
459454
460455   state->m_fix_tilemap->set_transparent_pen(0);
461456   state->m_game_uses_priority = 0;
r17673r17674
464459VIDEO_START( shackled )
465460{
466461   dec8_state *state = machine.driver_data<dec8_state>();
467   state->m_bg_tilemap = tilemap_create(machine, get_lastmisn_tile_info, lastmisn_scan_rows, 16, 16, 32, 32);
468   state->m_fix_tilemap = tilemap_create(machine, get_lastmisn_fix_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
462   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);
463   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);
469464
470465   state->m_fix_tilemap->set_transparent_pen(0);
471466   state->m_bg_tilemap->set_transmask(0, 0x000f, 0xfff0); /* Bottom 12 pens */
r17673r17674
487482   return 0;
488483}
489484
490static TILE_GET_INFO( get_srdarwin_fix_tile_info )
485TILE_GET_INFO_MEMBER(dec8_state::get_srdarwin_fix_tile_info)
491486{
492   dec8_state *state = machine.driver_data<dec8_state>();
493   int tile = state->m_videoram[tile_index];
487   int tile = m_videoram[tile_index];
494488   int color = 0; /* ? */
495489
496490   if (color > 1)
r17673r17674
498492   else
499493      tileinfo.category = 0;
500494
501   SET_TILE_INFO(
495   SET_TILE_INFO_MEMBER(
502496         0,
503497         tile,
504498         color,
r17673r17674
506500}
507501
508502//AT: improved priority and fixed stage 4+ crashes caused by bank overflow
509static TILE_GET_INFO( get_srdarwin_tile_info )
503TILE_GET_INFO_MEMBER(dec8_state::get_srdarwin_tile_info)
510504{
511   dec8_state *state = machine.driver_data<dec8_state>();
512   int tile = state->m_bg_data[2 * tile_index + 1] + (state->m_bg_data[2 * tile_index] << 8);
505   int tile = m_bg_data[2 * tile_index + 1] + (m_bg_data[2 * tile_index] << 8);
513506   int color = tile >> 12 & 3;
514507   int bank;
515508
516509   tile = tile & 0x3ff;
517510   bank = (tile / 0x100) + 2;
518511
519   SET_TILE_INFO(
512   SET_TILE_INFO_MEMBER(
520513         bank,
521514         tile,
522515         color,
r17673r17674
527520VIDEO_START( srdarwin )
528521{
529522   dec8_state *state = machine.driver_data<dec8_state>();
530   state->m_bg_tilemap = tilemap_create(machine, get_srdarwin_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 16);
531   state->m_fix_tilemap = tilemap_create(machine, get_srdarwin_fix_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
523   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);
524   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);
532525
533526   state->m_fix_tilemap->set_transparent_pen(0);
534527   state->m_bg_tilemap->set_transmask(0, 0xffff, 0x0000); //* draw as background only
r17673r17674
566559   return 0;
567560}
568561
569static TILE_GET_INFO( get_gondo_fix_tile_info )
562TILE_GET_INFO_MEMBER(dec8_state::get_gondo_fix_tile_info)
570563{
571   dec8_state *state = machine.driver_data<dec8_state>();
572564   int offs = tile_index * 2;
573   int tile = state->m_videoram[offs + 1] + (state->m_videoram[offs] << 8);
565   int tile = m_videoram[offs + 1] + (m_videoram[offs] << 8);
574566   int color = (tile & 0x7000) >> 12;
575567
576   SET_TILE_INFO(
568   SET_TILE_INFO_MEMBER(
577569         0,
578570         tile&0xfff,
579571         color,
580572         0);
581573}
582574
583static TILE_GET_INFO( get_gondo_tile_info )
575TILE_GET_INFO_MEMBER(dec8_state::get_gondo_tile_info)
584576{
585   dec8_state *state = machine.driver_data<dec8_state>();
586577   int offs = tile_index * 2;
587   int tile = state->m_bg_data[offs + 1] + (state->m_bg_data[offs] << 8);
578   int tile = m_bg_data[offs + 1] + (m_bg_data[offs] << 8);
588579   int color = tile>> 12;
589580
590   if (color > 7 && state->m_game_uses_priority)
581   if (color > 7 && m_game_uses_priority)
591582      tileinfo.category = 1;
592583   else
593584      tileinfo.category = 0;
594585
595   SET_TILE_INFO(
586   SET_TILE_INFO_MEMBER(
596587         2,
597588         tile&0xfff,
598589         color,
r17673r17674
602593VIDEO_START( gondo )
603594{
604595   dec8_state *state = machine.driver_data<dec8_state>();
605   state->m_fix_tilemap = tilemap_create(machine, get_gondo_fix_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
606   state->m_bg_tilemap = tilemap_create(machine, get_gondo_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
596   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);
597   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);
607598
608599   state->m_fix_tilemap->set_transparent_pen(0);
609600   state->m_bg_tilemap->set_transmask(0, 0x00ff, 0xff00); /* Bottom 8 pens */
r17673r17674
613604VIDEO_START( garyoret )
614605{
615606   dec8_state *state = machine.driver_data<dec8_state>();
616   state->m_fix_tilemap = tilemap_create(machine, get_gondo_fix_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
617   state->m_bg_tilemap = tilemap_create(machine, get_gondo_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
607   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);
608   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);
618609
619610   state->m_fix_tilemap->set_transparent_pen(0);
620611   state->m_game_uses_priority = 1;
trunk/src/mame/video/fuukifg3.c
r17673r17674
5656   SET_TILE_INFO(1 + _N_, code, (attr & 0x3f) >> 4, TILE_FLIPYX((attr >> 6) & 3));
5757}
5858
59static TILE_GET_INFO( get_tile_info_0 ) { get_tile_info8bpp(machine, tileinfo, tile_index, 0); }
60static TILE_GET_INFO( get_tile_info_1 ) { get_tile_info8bpp(machine, tileinfo, tile_index, 1); }
59TILE_GET_INFO_MEMBER(fuuki32_state::get_tile_info_0){ get_tile_info8bpp(machine(), tileinfo, tile_index, 0); }
60TILE_GET_INFO_MEMBER(fuuki32_state::get_tile_info_1){ get_tile_info8bpp(machine(), tileinfo, tile_index, 1); }
6161
6262INLINE void get_tile_info4bpp(running_machine &machine, tile_data &tileinfo, tilemap_memory_index tile_index, int _N_)
6363{
r17673r17674
6767   SET_TILE_INFO(1 + _N_, code, attr & 0x3f, TILE_FLIPYX((attr >> 6) & 3));
6868}
6969
70static TILE_GET_INFO( get_tile_info_2 ) { get_tile_info4bpp(machine, tileinfo, tile_index, 2); }
71static TILE_GET_INFO( get_tile_info_3 ) { get_tile_info4bpp(machine, tileinfo, tile_index, 3); }
70TILE_GET_INFO_MEMBER(fuuki32_state::get_tile_info_2){ get_tile_info4bpp(machine(), tileinfo, tile_index, 2); }
71TILE_GET_INFO_MEMBER(fuuki32_state::get_tile_info_3){ get_tile_info4bpp(machine(), tileinfo, tile_index, 3); }
7272
7373INLINE void fuuki32_vram_w(address_space *space, offs_t offset, UINT32 data, UINT32 mem_mask, int _N_)
7474{
r17673r17674
100100   state->save_pointer(NAME(state->m_buf_spriteram), state->m_spriteram.bytes() / 4);
101101   state->save_pointer(NAME(state->m_buf_spriteram2), state->m_spriteram.bytes() / 4);
102102
103   state->m_tilemap[0] = tilemap_create(machine, get_tile_info_0, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
104   state->m_tilemap[1] = tilemap_create(machine, get_tile_info_1, TILEMAP_SCAN_ROWS, 16, 16, 64, 32);
105   state->m_tilemap[2] = tilemap_create(machine, get_tile_info_2, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
106   state->m_tilemap[3] = tilemap_create(machine, get_tile_info_3, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
103   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);
104   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);
105   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);
106   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);
107107
108108   state->m_tilemap[0]->set_transparent_pen(0xff);   // 8 bits
109109   state->m_tilemap[1]->set_transparent_pen(0xff);   // 8 bits
trunk/src/mame/video/tbowl.c
r17673r17674
88
99/* Foreground Layer (tx) Tilemap */
1010
11static TILE_GET_INFO( get_tx_tile_info )
11TILE_GET_INFO_MEMBER(tbowl_state::get_tx_tile_info)
1212{
13   tbowl_state *state = machine.driver_data<tbowl_state>();
1413   int tileno;
1514   int col;
1615
17   tileno = state->m_txvideoram[tile_index] | ((state->m_txvideoram[tile_index+0x800] & 0x07) << 8);
18   col = (state->m_txvideoram[tile_index+0x800] & 0xf0) >> 4;
16   tileno = m_txvideoram[tile_index] | ((m_txvideoram[tile_index+0x800] & 0x07) << 8);
17   col = (m_txvideoram[tile_index+0x800] & 0xf0) >> 4;
1918
20   SET_TILE_INFO(0,tileno,col,0);
19   SET_TILE_INFO_MEMBER(0,tileno,col,0);
2120}
2221
2322WRITE8_MEMBER(tbowl_state::tbowl_txvideoram_w)
r17673r17674
2827
2928/* Bottom BG Layer (bg) Tilemap */
3029
31static TILE_GET_INFO( get_bg_tile_info )
30TILE_GET_INFO_MEMBER(tbowl_state::get_bg_tile_info)
3231{
33   tbowl_state *state = machine.driver_data<tbowl_state>();
3432   int tileno;
3533   int col;
3634
37   tileno = state->m_bgvideoram[tile_index] | ((state->m_bgvideoram[tile_index+0x1000] & 0x0f) << 8);
38   col = (state->m_bgvideoram[tile_index+0x1000] & 0xf0) >> 4;
35   tileno = m_bgvideoram[tile_index] | ((m_bgvideoram[tile_index+0x1000] & 0x0f) << 8);
36   col = (m_bgvideoram[tile_index+0x1000] & 0xf0) >> 4;
3937
40   SET_TILE_INFO(1,tileno,col,0);
38   SET_TILE_INFO_MEMBER(1,tileno,col,0);
4139}
4240
4341WRITE8_MEMBER(tbowl_state::tbowl_bg2videoram_w)
r17673r17674
6866
6967/* Middle BG Layer (bg2) Tilemaps */
7068
71static TILE_GET_INFO( get_bg2_tile_info )
69TILE_GET_INFO_MEMBER(tbowl_state::get_bg2_tile_info)
7270{
73   tbowl_state *state = machine.driver_data<tbowl_state>();
7471   int tileno;
7572   int col;
7673
77   tileno = state->m_bg2videoram[tile_index] | ((state->m_bg2videoram[tile_index+0x1000] & 0x0f) << 8);
74   tileno = m_bg2videoram[tile_index] | ((m_bg2videoram[tile_index+0x1000] & 0x0f) << 8);
7875   tileno ^= 0x400;
79   col = (state->m_bg2videoram[tile_index+0x1000] & 0xf0) >> 4;
76   col = (m_bg2videoram[tile_index+0x1000] & 0xf0) >> 4;
8077
81   SET_TILE_INFO(2,tileno,col,0);
78   SET_TILE_INFO_MEMBER(2,tileno,col,0);
8279}
8380
8481WRITE8_MEMBER(tbowl_state::tbowl_bgvideoram_w)
r17673r17674
193190VIDEO_START( tbowl )
194191{
195192   tbowl_state *state = machine.driver_data<tbowl_state>();
196   state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,32);
197   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS, 16, 16,128,32);
198   state->m_bg2_tilemap = tilemap_create(machine, get_bg2_tile_info,TILEMAP_SCAN_ROWS, 16, 16,128,32);
193   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);
194   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);
195   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);
199196
200197   state->m_tx_tilemap->set_transparent_pen(0);
201198   state->m_bg_tilemap->set_transparent_pen(0);
trunk/src/mame/video/battlane.c
r17673r17674
9292   m_video_ctrl = data;
9393}
9494
95static TILE_GET_INFO( get_tile_info_bg )
95TILE_GET_INFO_MEMBER(battlane_state::get_tile_info_bg)
9696{
97   battlane_state *state = machine.driver_data<battlane_state>();
98   int code = state->m_tileram[tile_index];
99   int attr = state->m_tileram[tile_index + 0x400];
97   int code = m_tileram[tile_index];
98   int attr = m_tileram[tile_index + 0x400];
10099   int gfxn = (attr & 0x01) + 1;
101100   int color = (attr >> 1) & 0x03;
102101
103   SET_TILE_INFO(gfxn, code, color, 0);
102   SET_TILE_INFO_MEMBER(gfxn, code, color, 0);
104103}
105104
106static TILEMAP_MAPPER( battlane_tilemap_scan_rows_2x2 )
105TILEMAP_MAPPER_MEMBER(battlane_state::battlane_tilemap_scan_rows_2x2)
107106{
108107   /*
109108            Tilemap Memory Organization
r17673r17674
137136VIDEO_START( battlane )
138137{
139138   battlane_state *state = machine.driver_data<battlane_state>();
140   state->m_bg_tilemap = tilemap_create(machine, get_tile_info_bg, battlane_tilemap_scan_rows_2x2, 16, 16, 32, 32);
139   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);
141140   state->m_screen_bitmap.allocate(32 * 8, 32 * 8);
142141}
143142
trunk/src/mame/video/atarigt.c
r17673r17674
4242 *
4343 *************************************/
4444
45static TILE_GET_INFO( get_alpha_tile_info )
45TILE_GET_INFO_MEMBER(atarigt_state::get_alpha_tile_info)
4646{
47   atarigt_state *state = machine.driver_data<atarigt_state>();
48   UINT16 data = state->m_alpha32[tile_index / 2] >> (16 * (~tile_index & 1));
47   UINT16 data = m_alpha32[tile_index / 2] >> (16 * (~tile_index & 1));
4948   int code = data & 0xfff;
5049   int color = (data >> 12) & 0x0f;
51   SET_TILE_INFO(1, code, color, 0);
50   SET_TILE_INFO_MEMBER(1, code, color, 0);
5251}
5352
5453
55static TILE_GET_INFO( get_playfield_tile_info )
54TILE_GET_INFO_MEMBER(atarigt_state::get_playfield_tile_info)
5655{
57   atarigt_state *state = machine.driver_data<atarigt_state>();
58   UINT16 data = state->m_playfield32[tile_index / 2] >> (16 * (~tile_index & 1));
59   int code = (state->m_playfield_tile_bank << 12) | (data & 0xfff);
56   UINT16 data = m_playfield32[tile_index / 2] >> (16 * (~tile_index & 1));
57   int code = (m_playfield_tile_bank << 12) | (data & 0xfff);
6058   int color = (data >> 12) & 7;
61   SET_TILE_INFO(0, code, color, (data >> 15) & 1);
59   SET_TILE_INFO_MEMBER(0, code, color, (data >> 15) & 1);
6260}
6361
6462
65static TILEMAP_MAPPER( atarigt_playfield_scan )
63TILEMAP_MAPPER_MEMBER(atarigt_state::atarigt_playfield_scan)
6664{
6765   int bank = 1 - (col / (num_cols / 2));
6866   return bank * (num_rows * num_cols / 2) + row * (num_cols / 2) + (col % (num_cols / 2));
r17673r17674
8684   atarigen_blend_gfx(machine, 0, 2, 0x0f, 0x30);
8785
8886   /* initialize the playfield */
89   state->m_playfield_tilemap = tilemap_create(machine, get_playfield_tile_info, atarigt_playfield_scan,  8,8, 128,64);
87   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);
9088
9189   /* initialize the motion objects */
9290   state->m_rle = machine.device("rle");
9391
9492   /* initialize the alphanumerics */
95   state->m_alpha_tilemap = tilemap_create(machine, get_alpha_tile_info, TILEMAP_SCAN_ROWS,  8,8, 64,32);
93   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);
9694
9795   /* allocate temp bitmaps */
9896   width = machine.primary_screen->width();
trunk/src/mame/video/thepit.c
r17673r17674
9595
9696***************************************************************************/
9797
98static TILE_GET_INFO( solid_get_tile_info )
98TILE_GET_INFO_MEMBER(thepit_state::solid_get_tile_info)
9999{
100   thepit_state *state = machine.driver_data<thepit_state>();
101   UINT8 back_color = (state->m_colorram[tile_index] & 0x70) >> 4;
102   int priority = (back_color != 0) && ((state->m_colorram[tile_index] & 0x80) == 0);
103   tileinfo.pen_data = state->m_dummy_tile;
100   UINT8 back_color = (m_colorram[tile_index] & 0x70) >> 4;
101   int priority = (back_color != 0) && ((m_colorram[tile_index] & 0x80) == 0);
102   tileinfo.pen_data = m_dummy_tile;
104103   tileinfo.palette_base = back_color + 32;
105104   tileinfo.category = priority;
106105}
107106
108107
109static TILE_GET_INFO( get_tile_info )
108TILE_GET_INFO_MEMBER(thepit_state::get_tile_info)
110109{
111   thepit_state *state = machine.driver_data<thepit_state>();
112   UINT8 fore_color = state->m_colorram[tile_index] % machine.gfx[0]->colors();
113   UINT8 code = state->m_videoram[tile_index];
114   SET_TILE_INFO(2 * state->m_graphics_bank, code, fore_color, 0);
110   UINT8 fore_color = m_colorram[tile_index] % machine().gfx[0]->colors();
111   UINT8 code = m_videoram[tile_index];
112   SET_TILE_INFO_MEMBER(2 * m_graphics_bank, code, fore_color, 0);
115113}
116114
117115
r17673r17674
125123VIDEO_START( thepit )
126124{
127125   thepit_state *state = machine.driver_data<thepit_state>();
128   state->m_solid_tilemap = tilemap_create(machine, solid_get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
126   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);
129127
130   state->m_tilemap = tilemap_create(machine, get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
128   state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(thepit_state::get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
131129   state->m_tilemap->set_transparent_pen(0);
132130
133131   state->m_solid_tilemap->set_scroll_cols(32);
trunk/src/mame/video/rpunch.c
r17673r17674
2121 *
2222 *************************************/
2323
24static TILE_GET_INFO( get_bg0_tile_info )
24TILE_GET_INFO_MEMBER(rpunch_state::get_bg0_tile_info)
2525{
26   rpunch_state *state = machine.driver_data<rpunch_state>();
27   UINT16 *videoram = state->m_videoram;
26   UINT16 *videoram = m_videoram;
2827   int data = videoram[tile_index];
2928   int code;
30   if (state->m_videoflags & 0x0400)   code = (data & 0x0fff) | 0x2000;
29   if (m_videoflags & 0x0400)   code = (data & 0x0fff) | 0x2000;
3130   else                  code = (data & 0x1fff);
3231
33   SET_TILE_INFO(
32   SET_TILE_INFO_MEMBER(
3433         0,
3534         code,
36         ((state->m_videoflags & 0x0010) >> 1) | ((data >> 13) & 7),
35         ((m_videoflags & 0x0010) >> 1) | ((data >> 13) & 7),
3736         0);
3837}
3938
40static TILE_GET_INFO( get_bg1_tile_info )
39TILE_GET_INFO_MEMBER(rpunch_state::get_bg1_tile_info)
4140{
42   rpunch_state *state = machine.driver_data<rpunch_state>();
43   UINT16 *videoram = state->m_videoram;
41   UINT16 *videoram = m_videoram;
4442   int data = videoram[0x2000 / 2 + tile_index];
4543   int code;
46   if (state->m_videoflags & 0x0800)   code = (data & 0x0fff) | 0x2000;
44   if (m_videoflags & 0x0800)   code = (data & 0x0fff) | 0x2000;
4745   else                  code = (data & 0x1fff);
4846
49   SET_TILE_INFO(
47   SET_TILE_INFO_MEMBER(
5048         1,
5149         code,
52         ((state->m_videoflags & 0x0020) >> 2) | ((data >> 13) & 7),
50         ((m_videoflags & 0x0020) >> 2) | ((data >> 13) & 7),
5351         0);
5452}
5553
r17673r17674
7371{
7472   rpunch_state *state = machine.driver_data<rpunch_state>();
7573   /* allocate tilemaps for the backgrounds */
76   state->m_background[0] = tilemap_create(machine, get_bg0_tile_info,TILEMAP_SCAN_COLS,8,8,64,64);
77   state->m_background[1] = tilemap_create(machine, get_bg1_tile_info,TILEMAP_SCAN_COLS,8,8,64,64);
74   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);
75   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);
7876
7977   /* configure the tilemaps */
8078   state->m_background[1]->set_transparent_pen(15);
trunk/src/mame/video/triplhnt.c
r17673r17674
88#include "includes/triplhnt.h"
99
1010
11static TILE_GET_INFO( get_tile_info )
11TILE_GET_INFO_MEMBER(triplhnt_state::get_tile_info)
1212{
13   triplhnt_state *state = machine.driver_data<triplhnt_state>();
14   int code = state->m_playfield_ram[tile_index] & 0x3f;
13   int code = m_playfield_ram[tile_index] & 0x3f;
1514
16   SET_TILE_INFO(2, code, code == 0x3f ? 1 : 0, 0);
15   SET_TILE_INFO_MEMBER(2, code, code == 0x3f ? 1 : 0, 0);
1716}
1817
1918
r17673r17674
2221   triplhnt_state *state = machine.driver_data<triplhnt_state>();
2322   machine.primary_screen->register_screen_bitmap(state->m_helper);
2423
25   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
24   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);
2625}
2726
2827
trunk/src/mame/video/pooyan.c
r17673r17674
9696 *
9797 *************************************/
9898
99static TILE_GET_INFO( get_bg_tile_info )
99TILE_GET_INFO_MEMBER(pooyan_state::get_bg_tile_info)
100100{
101   pooyan_state *state = machine.driver_data<pooyan_state>();
102   int attr = state->m_colorram[tile_index];
103   int code = state->m_videoram[tile_index];
101   int attr = m_colorram[tile_index];
102   int code = m_videoram[tile_index];
104103   int color = attr & 0x0f;
105104   int flags = TILE_FLIPYX(attr >> 6);
106105
107   SET_TILE_INFO(0, code, color, flags);
106   SET_TILE_INFO_MEMBER(0, code, color, flags);
108107}
109108
110109
r17673r17674
118117VIDEO_START( pooyan )
119118{
120119   pooyan_state *state = machine.driver_data<pooyan_state>();
121   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
120   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);
122121}
123122
124123
trunk/src/mame/video/sidepckt.c
r17673r17674
4242
4343***************************************************************************/
4444
45static TILE_GET_INFO( get_tile_info )
45TILE_GET_INFO_MEMBER(sidepckt_state::get_tile_info)
4646{
47   sidepckt_state *state = machine.driver_data<sidepckt_state>();
48   UINT8 attr = state->m_colorram[tile_index];
49   SET_TILE_INFO(
47   UINT8 attr = m_colorram[tile_index];
48   SET_TILE_INFO_MEMBER(
5049         0,
51         state->m_videoram[tile_index] + ((attr & 0x07) << 8),
50         m_videoram[tile_index] + ((attr & 0x07) << 8),
5251         ((attr & 0x10) >> 3) | ((attr & 0x20) >> 5),
5352         TILE_FLIPX);
5453   tileinfo.group = (attr & 0x80) >> 7;
r17673r17674
6564VIDEO_START( sidepckt )
6665{
6766   sidepckt_state *state = machine.driver_data<sidepckt_state>();
68   state->m_bg_tilemap = tilemap_create(machine, get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
67   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);
6968
7069   state->m_bg_tilemap->set_transmask(0,0xff,0x00); /* split type 0 is totally transparent in front half */
7170   state->m_bg_tilemap->set_transmask(1,0x01,0xfe); /* split type 1 has pen 0 transparent in front half */
trunk/src/mame/video/pirates.c
r17673r17674
66
77/* tilemaps */
88
9static TILE_GET_INFO( get_tx_tile_info )
9TILE_GET_INFO_MEMBER(pirates_state::get_tx_tile_info)
1010{
11   pirates_state *state = machine.driver_data<pirates_state>();
12   int code = state->m_tx_tileram[tile_index*2];
13   int colr = state->m_tx_tileram[tile_index*2+1];
11   int code = m_tx_tileram[tile_index*2];
12   int colr = m_tx_tileram[tile_index*2+1];
1413
15   SET_TILE_INFO(0,code,colr,0);
14   SET_TILE_INFO_MEMBER(0,code,colr,0);
1615}
1716
18static TILE_GET_INFO( get_fg_tile_info )
17TILE_GET_INFO_MEMBER(pirates_state::get_fg_tile_info)
1918{
20   pirates_state *state = machine.driver_data<pirates_state>();
21   int code = state->m_fg_tileram[tile_index*2];
22   int colr = state->m_fg_tileram[tile_index*2+1]+0x80;
19   int code = m_fg_tileram[tile_index*2];
20   int colr = m_fg_tileram[tile_index*2+1]+0x80;
2321
24   SET_TILE_INFO(0,code,colr,0);
22   SET_TILE_INFO_MEMBER(0,code,colr,0);
2523}
2624
27static TILE_GET_INFO( get_bg_tile_info )
25TILE_GET_INFO_MEMBER(pirates_state::get_bg_tile_info)
2826{
29   pirates_state *state = machine.driver_data<pirates_state>();
30   int code = state->m_bg_tileram[tile_index*2];
31   int colr = state->m_bg_tileram[tile_index*2+1]+ 0x100;
27   int code = m_bg_tileram[tile_index*2];
28   int colr = m_bg_tileram[tile_index*2+1]+ 0x100;
3229
33   SET_TILE_INFO(0,code,colr,0);
30   SET_TILE_INFO_MEMBER(0,code,colr,0);
3431}
3532
3633
r17673r17674
3936VIDEO_START(pirates)
4037{
4138   pirates_state *state = machine.driver_data<pirates_state>();
42   state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info,TILEMAP_SCAN_COLS,8,8,36,32);
39   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);
4340
4441   /* Not sure how big they can be, Pirates uses only 32 columns, Genix 44 */
45   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_COLS,8,8,64,32);
46   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_COLS,     8,8,64,32);
42   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);
43   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);
4744
4845   state->m_tx_tilemap->set_transparent_pen(0);
4946   state->m_fg_tilemap->set_transparent_pen(0);
trunk/src/mame/video/tankbatt.c
r17673r17674
6666   m_bg_tilemap->mark_tile_dirty(offset);
6767}
6868
69static TILE_GET_INFO( get_bg_tile_info )
69TILE_GET_INFO_MEMBER(tankbatt_state::get_bg_tile_info)
7070{
71   tankbatt_state *state = machine.driver_data<tankbatt_state>();
72   UINT8 *videoram = state->m_videoram;
71   UINT8 *videoram = m_videoram;
7372   int code = videoram[tile_index];
7473   int color = videoram[tile_index] | 0x01;
7574
76   SET_TILE_INFO(0, code, color, 0);
75   SET_TILE_INFO_MEMBER(0, code, color, 0);
7776}
7877
7978VIDEO_START( tankbatt )
8079{
8180   tankbatt_state *state = machine.driver_data<tankbatt_state>();
82   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
81   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);
8382}
8483
8584static void draw_bullets(running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect)
trunk/src/mame/video/wrally.c
r17673r17674
3434      1  | xxx----- -------- | not used?
3535*/
3636
37static TILE_GET_INFO( get_tile_info_wrally_screen0 )
37TILE_GET_INFO_MEMBER(wrally_state::get_tile_info_wrally_screen0)
3838{
39   wrally_state *state = machine.driver_data<wrally_state>();
40   int data = state->m_videoram[tile_index << 1];
41   int data2 = state->m_videoram[(tile_index << 1) + 1];
39   int data = m_videoram[tile_index << 1];
40   int data2 = m_videoram[(tile_index << 1) + 1];
4241   int code = data & 0x3fff;
4342
4443   tileinfo.category = (data2 >> 5) & 0x01;
4544
46   SET_TILE_INFO(0, code, data2 & 0x1f, TILE_FLIPYX((data2 >> 6) & 0x03));
45   SET_TILE_INFO_MEMBER(0, code, data2 & 0x1f, TILE_FLIPYX((data2 >> 6) & 0x03));
4746}
4847
49static TILE_GET_INFO( get_tile_info_wrally_screen1 )
48TILE_GET_INFO_MEMBER(wrally_state::get_tile_info_wrally_screen1)
5049{
51   wrally_state *state = machine.driver_data<wrally_state>();
52   int data = state->m_videoram[(0x2000/2) + (tile_index << 1)];
53   int data2 = state->m_videoram[(0x2000/2) + (tile_index << 1) + 1];
50   int data = m_videoram[(0x2000/2) + (tile_index << 1)];
51   int data2 = m_videoram[(0x2000/2) + (tile_index << 1) + 1];
5452   int code = data & 0x3fff;
5553
5654   tileinfo.category = (data2 >> 5) & 0x01;
5755
58   SET_TILE_INFO(0, code, data2 & 0x1f, TILE_FLIPYX((data2 >> 6) & 0x03));
56   SET_TILE_INFO_MEMBER(0, code, data2 & 0x1f, TILE_FLIPYX((data2 >> 6) & 0x03));
5957}
6058
6159/***************************************************************************
r17673r17674
6765VIDEO_START( wrally )
6866{
6967   wrally_state *state = machine.driver_data<wrally_state>();
70   state->m_pant[0] = tilemap_create(machine, get_tile_info_wrally_screen0,TILEMAP_SCAN_ROWS,16,16,64,32);
71   state->m_pant[1] = tilemap_create(machine, get_tile_info_wrally_screen1,TILEMAP_SCAN_ROWS,16,16,64,32);
68   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);
69   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);
7270
7371   state->m_pant[0]->set_transmask(0,0xff01,0x00ff); /* this layer is split in two (pens 1..7, pens 8-15) */
7472   state->m_pant[1]->set_transparent_pen(0);
trunk/src/mame/video/mosaic.c
r17673r17674
1515
1616***************************************************************************/
1717
18static TILE_GET_INFO( get_fg_tile_info )
18TILE_GET_INFO_MEMBER(mosaic_state::get_fg_tile_info)
1919{
20   mosaic_state *state = machine.driver_data<mosaic_state>();
2120   tile_index *= 2;
22   SET_TILE_INFO(
21   SET_TILE_INFO_MEMBER(
2322         0,
24         state->m_fgvideoram[tile_index] + (state->m_fgvideoram[tile_index+1] << 8),
23         m_fgvideoram[tile_index] + (m_fgvideoram[tile_index+1] << 8),
2524         0,
2625         0);
2726}
2827
29static TILE_GET_INFO( get_bg_tile_info )
28TILE_GET_INFO_MEMBER(mosaic_state::get_bg_tile_info)
3029{
31   mosaic_state *state = machine.driver_data<mosaic_state>();
3230   tile_index *= 2;
33   SET_TILE_INFO(
31   SET_TILE_INFO_MEMBER(
3432         1,
35         state->m_bgvideoram[tile_index] + (state->m_bgvideoram[tile_index+1] << 8),
33         m_bgvideoram[tile_index] + (m_bgvideoram[tile_index+1] << 8),
3634         0,
3735         0);
3836}
r17673r17674
4947{
5048   mosaic_state *state = machine.driver_data<mosaic_state>();
5149
52   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
53   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
50   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);
51   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);
5452
5553   state->m_fg_tilemap->set_transparent_pen(0xff);
5654}
trunk/src/mame/video/crospang.c
r17673r17674
8888   m_bg_layer->mark_tile_dirty(offset);
8989}
9090
91static TILE_GET_INFO( get_bg_tile_info )
91TILE_GET_INFO_MEMBER(crospang_state::get_bg_tile_info)
9292{
93   crospang_state *state = machine.driver_data<crospang_state>();
94   int data  = state->m_bg_videoram[tile_index];
93   int data  = m_bg_videoram[tile_index];
9594   int tile  = data & 0xfff;
9695   int color = (data >> 12) & 0x0f;
9796
98   SET_TILE_INFO(1, tile + state->m_bestri_tilebank * 0x1000, color + 0x20, 0);
97   SET_TILE_INFO_MEMBER(1, tile + m_bestri_tilebank * 0x1000, color + 0x20, 0);
9998}
10099
101static TILE_GET_INFO( get_fg_tile_info )
100TILE_GET_INFO_MEMBER(crospang_state::get_fg_tile_info)
102101{
103   crospang_state *state = machine.driver_data<crospang_state>();
104   int data  = state->m_fg_videoram[tile_index];
102   int data  = m_fg_videoram[tile_index];
105103   int tile  = data & 0xfff;
106104   int color = (data >> 12) & 0x0f;
107105
108   SET_TILE_INFO(1, tile + state->m_bestri_tilebank * 0x1000, color + 0x10, 0);
106   SET_TILE_INFO_MEMBER(1, tile + m_bestri_tilebank * 0x1000, color + 0x10, 0);
109107}
110108
111109
112110VIDEO_START( crospang )
113111{
114112   crospang_state *state = machine.driver_data<crospang_state>();
115   state->m_bg_layer = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
116   state->m_fg_layer = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
113   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);
114   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);
117115
118116   state->m_fg_layer->set_transparent_pen(0);
119117}
trunk/src/mame/video/darkmist.c
r17673r17674
1111#define DISPLAY_TXT      16
1212
1313
14static TILE_GET_INFO( get_bgtile_info )
14TILE_GET_INFO_MEMBER(darkmist_state::get_bgtile_info)
1515{
1616   int code,attr,pal;
1717
18   code=machine.root_device().memregion("user1")->base()[tile_index]; /* TTTTTTTT */
19   attr=machine.root_device().memregion("user2")->base()[tile_index]; /* -PPP--TT - FIXED BITS (0xxx00xx) */
18   code=machine().root_device().memregion("user1")->base()[tile_index]; /* TTTTTTTT */
19   attr=machine().root_device().memregion("user2")->base()[tile_index]; /* -PPP--TT - FIXED BITS (0xxx00xx) */
2020   code+=(attr&3)<<8;
2121   pal=(attr>>4);
2222
23   SET_TILE_INFO(
23   SET_TILE_INFO_MEMBER(
2424      1,
2525        code,
2626        pal,
2727        0);
2828}
2929
30static TILE_GET_INFO( get_fgtile_info )
30TILE_GET_INFO_MEMBER(darkmist_state::get_fgtile_info)
3131{
3232   int code,attr,pal;
3333
34   code=machine.root_device().memregion("user3")->base()[tile_index]; /* TTTTTTTT */
35   attr=machine.root_device().memregion("user4")->base()[tile_index]; /* -PPP--TT - FIXED BITS (0xxx00xx) */
34   code=machine().root_device().memregion("user3")->base()[tile_index]; /* TTTTTTTT */
35   attr=machine().root_device().memregion("user4")->base()[tile_index]; /* -PPP--TT - FIXED BITS (0xxx00xx) */
3636   pal=attr>>4;
3737
3838   code+=(attr&3)<<8;
r17673r17674
4141
4242   pal+=16;
4343
44   SET_TILE_INFO(
44   SET_TILE_INFO_MEMBER(
4545      1,
4646        code,
4747        pal,
4848        0);
4949}
5050
51static TILE_GET_INFO( get_txttile_info )
51TILE_GET_INFO_MEMBER(darkmist_state::get_txttile_info)
5252{
53   darkmist_state *state = machine.driver_data<darkmist_state>();
54   UINT8 *videoram = state->m_videoram;
53   UINT8 *videoram = m_videoram;
5554   int code,attr,pal;
5655
5756   code=videoram[tile_index];
r17673r17674
6261
6362   pal+=48;
6463
65   SET_TILE_INFO(
64   SET_TILE_INFO_MEMBER(
6665      0,
6766        code,
6867        pal,
r17673r17674
122121VIDEO_START(darkmist)
123122{
124123   darkmist_state *state = machine.driver_data<darkmist_state>();
125   state->m_bgtilemap = tilemap_create( machine, get_bgtile_info,TILEMAP_SCAN_ROWS,16,16,512,64 );
126   state->m_fgtilemap = tilemap_create( machine, get_fgtile_info,TILEMAP_SCAN_ROWS,16,16,64,256 );
127   state->m_txtilemap = tilemap_create( machine, get_txttile_info,TILEMAP_SCAN_ROWS,8,8,32,32 );
124   state->m_bgtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(darkmist_state::get_bgtile_info),state),TILEMAP_SCAN_ROWS,16,16,512,64 );
125   state->m_fgtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(darkmist_state::get_fgtile_info),state),TILEMAP_SCAN_ROWS,16,16,64,256 );
126   state->m_txtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(darkmist_state::get_txttile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32 );
128127   state->m_fgtilemap->set_transparent_pen(0);
129128   state->m_txtilemap->set_transparent_pen(0);
130129}
trunk/src/mame/video/shisen.c
r17673r17674
4141   palette_set_color_rgb(machine(), offset, pal5bit(m_paletteram[offset + 0x000]), pal5bit(m_paletteram[offset + 0x100]), pal5bit(m_paletteram[offset + 0x200]));
4242}
4343
44static TILE_GET_INFO( get_bg_tile_info )
44TILE_GET_INFO_MEMBER(shisen_state::get_bg_tile_info)
4545{
46   shisen_state *state = machine.driver_data<shisen_state>();
4746   int offs = tile_index * 2;
48   int code = state->m_videoram[offs] + ((state->m_videoram[offs + 1] & 0x0f) << 8) + (state->m_gfxbank << 12);
49   int color = (state->m_videoram[offs + 1] & 0xf0) >> 4;
47   int code = m_videoram[offs] + ((m_videoram[offs + 1] & 0x0f) << 8) + (m_gfxbank << 12);
48   int color = (m_videoram[offs + 1] & 0xf0) >> 4;
5049
51   SET_TILE_INFO(0, code, color, 0);
50   SET_TILE_INFO_MEMBER(0, code, color, 0);
5251}
5352
5453VIDEO_START( sichuan2 )
5554{
5655   shisen_state *state = machine.driver_data<shisen_state>();
5756
58   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
57   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(shisen_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
5958       8, 8, 64, 32);
6059}
6160
trunk/src/mame/video/nmk16.c
r17673r17674
2626#define PAGES_PER_TMAP_X   (0x10)
2727#define PAGES_PER_TMAP_Y   (0x02)
2828
29static TILEMAP_MAPPER( afega_tilemap_scan_pages )
29TILEMAP_MAPPER_MEMBER(nmk16_state::afega_tilemap_scan_pages)
3030{
3131   return   (row / TILES_PER_PAGE_Y) * TILES_PER_PAGE_X * TILES_PER_PAGE_Y * PAGES_PER_TMAP_X +
3232         (row % TILES_PER_PAGE_Y) +
r17673r17674
3535         (col % TILES_PER_PAGE_X) * TILES_PER_PAGE_Y;
3636}
3737
38static TILE_GET_INFO( macross_get_bg0_tile_info )
38TILE_GET_INFO_MEMBER(nmk16_state::macross_get_bg0_tile_info)
3939{
40   nmk16_state *state = machine.driver_data<nmk16_state>();
41   int code = state->m_nmk_bgvideoram0[tile_index];
42   SET_TILE_INFO(1,(code & 0xfff) + (state->m_bgbank << 12),code >> 12,0);
40   int code = m_nmk_bgvideoram0[tile_index];
41   SET_TILE_INFO_MEMBER(1,(code & 0xfff) + (m_bgbank << 12),code >> 12,0);
4342}
4443
45static TILE_GET_INFO( macross_get_bg1_tile_info )
44TILE_GET_INFO_MEMBER(nmk16_state::macross_get_bg1_tile_info)
4645{
47   nmk16_state *state = machine.driver_data<nmk16_state>();
48   int code = state->m_nmk_bgvideoram1[tile_index];
49   SET_TILE_INFO(1,(code & 0xfff) + (state->m_bgbank << 12),code >> 12,0);
46   int code = m_nmk_bgvideoram1[tile_index];
47   SET_TILE_INFO_MEMBER(1,(code & 0xfff) + (m_bgbank << 12),code >> 12,0);
5048}
5149
52static TILE_GET_INFO( macross_get_bg2_tile_info )
50TILE_GET_INFO_MEMBER(nmk16_state::macross_get_bg2_tile_info)
5351{
54   nmk16_state *state = machine.driver_data<nmk16_state>();
55   int code = state->m_nmk_bgvideoram2[tile_index];
56   SET_TILE_INFO(1,(code & 0xfff) + (state->m_bgbank << 12),code >> 12,0);
52   int code = m_nmk_bgvideoram2[tile_index];
53   SET_TILE_INFO_MEMBER(1,(code & 0xfff) + (m_bgbank << 12),code >> 12,0);
5754}
5855
59static TILE_GET_INFO( macross_get_bg3_tile_info )
56TILE_GET_INFO_MEMBER(nmk16_state::macross_get_bg3_tile_info)
6057{
61   nmk16_state *state = machine.driver_data<nmk16_state>();
62   int code = state->m_nmk_bgvideoram3[tile_index];
63   SET_TILE_INFO(1,(code & 0xfff) + (state->m_bgbank << 12),code >> 12,0);
58   int code = m_nmk_bgvideoram3[tile_index];
59   SET_TILE_INFO_MEMBER(1,(code & 0xfff) + (m_bgbank << 12),code >> 12,0);
6460}
6561
6662
67static TILE_GET_INFO( strahl_get_fg_tile_info )
63TILE_GET_INFO_MEMBER(nmk16_state::strahl_get_fg_tile_info)
6864{
69   nmk16_state *state = machine.driver_data<nmk16_state>();
70   int code = state->m_nmk_fgvideoram[tile_index];
71   SET_TILE_INFO(
65   int code = m_nmk_fgvideoram[tile_index];
66   SET_TILE_INFO_MEMBER(
7267         3,
7368         (code & 0xfff),
7469         code >> 12,
7570         0);
7671}
7772
78static TILE_GET_INFO( macross_get_tx_tile_info )
73TILE_GET_INFO_MEMBER(nmk16_state::macross_get_tx_tile_info)
7974{
80   nmk16_state *state = machine.driver_data<nmk16_state>();
81   int code = state->m_nmk_txvideoram[tile_index];
82   SET_TILE_INFO(
75   int code = m_nmk_txvideoram[tile_index];
76   SET_TILE_INFO_MEMBER(
8377         0,
8478         code & 0xfff,
8579         code >> 12,
8680         0);
8781}
8882
89static TILE_GET_INFO( bjtwin_get_bg_tile_info )
83TILE_GET_INFO_MEMBER(nmk16_state::bjtwin_get_bg_tile_info)
9084{
91   nmk16_state *state = machine.driver_data<nmk16_state>();
92   int code = state->m_nmk_bgvideoram0[tile_index];
85   int code = m_nmk_bgvideoram0[tile_index];
9386   int bank = (code & 0x800) ? 1 : 0;
94   SET_TILE_INFO(
87   SET_TILE_INFO_MEMBER(
9588         bank,
96         (code & 0x7ff) + ((bank) ? (state->m_bgbank << 11) : 0),
89         (code & 0x7ff) + ((bank) ? (m_bgbank << 11) : 0),
9790         code >> 12,
9891         0);
9992}
10093
101static TILE_GET_INFO( get_tile_info_0_8bit )
94TILE_GET_INFO_MEMBER(nmk16_state::get_tile_info_0_8bit)
10295{
103   nmk16_state *state = machine.driver_data<nmk16_state>();
104   UINT16 code = state->m_nmk_bgvideoram0[tile_index];
105   SET_TILE_INFO(
96   UINT16 code = m_nmk_bgvideoram0[tile_index];
97   SET_TILE_INFO_MEMBER(
10698         1,
10799         code,
108100         0,
r17673r17674
131123VIDEO_START( bioship )
132124{
133125   nmk16_state *state = machine.driver_data<nmk16_state>();
134   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);
135   state->m_tx_tilemap = tilemap_create(machine, macross_get_tx_tile_info,TILEMAP_SCAN_COLS,8,8,32,32);
126   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);
127   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);
136128
137129   state->m_bg_tilemap0->set_transparent_pen(15);
138130   state->m_tx_tilemap->set_transparent_pen(15);
r17673r17674
147139VIDEO_START( strahl )
148140{
149141   nmk16_state *state = machine.driver_data<nmk16_state>();
150   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);
151   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);
152   state->m_tx_tilemap = tilemap_create(machine, macross_get_tx_tile_info,TILEMAP_SCAN_COLS,8,8,32,32);
142   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);
143   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);
144   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);
153145
154146   state->m_fg_tilemap->set_transparent_pen(15);
155147   state->m_tx_tilemap->set_transparent_pen(15);
r17673r17674
160152VIDEO_START( macross )
161153{
162154   nmk16_state *state = machine.driver_data<nmk16_state>();
163   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);
164   state->m_tx_tilemap = tilemap_create(machine, macross_get_tx_tile_info,TILEMAP_SCAN_COLS,8,8,32,32);
155   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);
156   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);
165157
166158   state->m_tx_tilemap->set_transparent_pen(15);
167159
r17673r17674
171163VIDEO_START( gunnail )
172164{
173165   nmk16_state *state = machine.driver_data<nmk16_state>();
174   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);
175   state->m_tx_tilemap = tilemap_create(machine, macross_get_tx_tile_info,TILEMAP_SCAN_COLS,8,8,64,32);
166   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);
167   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);
176168
177169   state->m_tx_tilemap->set_transparent_pen(15);
178170   state->m_bg_tilemap0->set_scroll_rows(512);
r17673r17674
186178VIDEO_START( macross2 )
187179{
188180   nmk16_state *state = machine.driver_data<nmk16_state>();
189   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);
190   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);
191   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);
192   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);
181   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);
182   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);
183   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);
184   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);
193185
194   state->m_tx_tilemap = tilemap_create(machine, macross_get_tx_tile_info,TILEMAP_SCAN_COLS,8,8,64,32);
186   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);
195187
196188   state->m_tx_tilemap->set_transparent_pen(15);
197189
r17673r17674
210202VIDEO_START( bjtwin )
211203{
212204   nmk16_state *state = machine.driver_data<nmk16_state>();
213   state->m_bg_tilemap0 = tilemap_create(machine, bjtwin_get_bg_tile_info,TILEMAP_SCAN_COLS,8,8,64,32);
205   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);
214206
215207   nmk16_video_init(machine);
216208   state->m_videoshift = 64;   /* 384x224 screen, leftmost 64 pixels have to be retrieved */
r17673r17674
902894   state->m_spriteram_old = auto_alloc_array_clear(machine, UINT16, 0x1000/2);
903895   state->m_spriteram_old2 = auto_alloc_array_clear(machine, UINT16, 0x1000/2);
904896
905   state->m_bg_tilemap0 = tilemap_create(   machine, macross_get_bg0_tile_info, afega_tilemap_scan_pages,
906
897   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),
907898                        16,16,
908899                        TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
909900
910   state->m_tx_tilemap = tilemap_create(   machine, macross_get_tx_tile_info, TILEMAP_SCAN_COLS,
911
901   state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),state), TILEMAP_SCAN_COLS,
912902                        8,8,
913903                        32,32);
914904
r17673r17674
923913   state->m_spriteram_old2 = auto_alloc_array_clear(machine, UINT16, 0x1000/2);
924914
925915
926   state->m_bg_tilemap0 = tilemap_create(   machine, get_tile_info_0_8bit, afega_tilemap_scan_pages,
927
916   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),
928917                        16,16,
929918                        TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
930919
931   state->m_tx_tilemap = tilemap_create(   machine, macross_get_tx_tile_info, TILEMAP_SCAN_COLS,
932
920   state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),state), TILEMAP_SCAN_COLS,
933921                        8,8,
934922                        32,32);
935923
r17673r17674
944932   state->m_spriteram_old2 = auto_alloc_array_clear(machine, UINT16, 0x1000/2);
945933
946934
947   state->m_bg_tilemap0 = tilemap_create(   machine, get_tile_info_0_8bit, afega_tilemap_scan_pages,
948
935   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),
949936                        16,16,
950937                        TILES_PER_PAGE_X*PAGES_PER_TMAP_X,TILES_PER_PAGE_Y*PAGES_PER_TMAP_Y);
951938
952   state->m_tx_tilemap = tilemap_create(   machine, macross_get_tx_tile_info, TILEMAP_SCAN_COLS,
953
939   state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmk16_state::macross_get_tx_tile_info),state), TILEMAP_SCAN_COLS,
954940                        8,8,
955941                        32,32);
956942
trunk/src/mame/video/nitedrvr.c
r17673r17674
2323      watchdog_reset_w(space, 0, 0);
2424}
2525
26static TILE_GET_INFO( get_bg_tile_info )
26TILE_GET_INFO_MEMBER(nitedrvr_state::get_bg_tile_info)
2727{
28   nitedrvr_state *state = machine.driver_data<nitedrvr_state>();
29   int code = state->m_videoram[tile_index] & 0x3f;
28   int code = m_videoram[tile_index] & 0x3f;
3029
31   SET_TILE_INFO(0, code, 0, 0);
30   SET_TILE_INFO_MEMBER(0, code, 0, 0);
3231}
3332
3433
r17673r17674
3635VIDEO_START( nitedrvr )
3736{
3837   nitedrvr_state *state = machine.driver_data<nitedrvr_state>();
39   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
38   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);
4039}
4140
4241static void draw_box( bitmap_ind16 &bitmap, int bx, int by, int ex, int ey )
trunk/src/mame/drivers/laserbat.c
r17673r17674
478478   GFXDECODE_ENTRY( "gfx2", 0x0000, sprites_layout,   0,   8 )   /* Sprites   */
479479GFXDECODE_END
480480
481static TILE_GET_INFO( get_tile_info )
481TILE_GET_INFO_MEMBER(laserbat_state::get_tile_info)
482482{
483   laserbat_state *state = machine.driver_data<laserbat_state>();
484483
485484   // wrong color index!
486   SET_TILE_INFO(0, state->m_videoram[tile_index], state->m_colorram[tile_index] & 0x7f, 0);
485   SET_TILE_INFO_MEMBER(0, m_videoram[tile_index], m_colorram[tile_index] & 0x7f, 0);
487486}
488487
489488static VIDEO_START( laserbat )
490489{
491490   laserbat_state *state = machine.driver_data<laserbat_state>();
492491
493   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
492   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);
494493
495494   state->save_item(NAME(state->m_videoram));
496495   state->save_item(NAME(state->m_colorram));
trunk/src/mame/drivers/hitme.c
r17673r17674
2828 *
2929 *************************************/
3030
31static TILE_GET_INFO( get_hitme_tile_info )
31TILE_GET_INFO_MEMBER(hitme_state::get_hitme_tile_info)
3232{
33   hitme_state *state = machine.driver_data<hitme_state>();
3433
3534   /* the code is the low 6 bits */
36   UINT8 code = state->m_videoram[tile_index] & 0x3f;
37   SET_TILE_INFO(0, code, 0, 0);
35   UINT8 code = m_videoram[tile_index] & 0x3f;
36   SET_TILE_INFO_MEMBER(0, code, 0, 0);
3837}
3938
4039
r17673r17674
5756static VIDEO_START( hitme )
5857{
5958   hitme_state *state = machine.driver_data<hitme_state>();
60   state->m_tilemap = tilemap_create(machine, get_hitme_tile_info, TILEMAP_SCAN_ROWS, 8, 10, 40, 19);
59   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);
6160}
6261
6362
6463static VIDEO_START( barricad )
6564{
6665   hitme_state *state = machine.driver_data<hitme_state>();
67   state->m_tilemap = tilemap_create(machine, get_hitme_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 24);
66   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);
6867}
6968
7069
trunk/src/mame/drivers/raiden2.c
r17673r17674
820820
821821/* TILEMAP RELATED (move to video file) */
822822
823static TILE_GET_INFO( get_back_tile_info )
823TILE_GET_INFO_MEMBER(raiden2_state::get_back_tile_info)
824824{
825   raiden2_state *state = machine.driver_data<raiden2_state>();
826   int tile = state->back_data[tile_index];
825   int tile = back_data[tile_index];
827826   int color = (tile >> 12) | (0 << 4);
828827
829   tile = (tile & 0xfff) | (state->bg_bank << 12);
828   tile = (tile & 0xfff) | (bg_bank << 12);
830829
831   SET_TILE_INFO(1,tile+0x0000,color,0);
830   SET_TILE_INFO_MEMBER(1,tile+0x0000,color,0);
832831}
833832
834static TILE_GET_INFO( get_mid_tile_info )
833TILE_GET_INFO_MEMBER(raiden2_state::get_mid_tile_info)
835834{
836   raiden2_state *state = machine.driver_data<raiden2_state>();
837   int tile = state->mid_data[tile_index];
835   int tile = mid_data[tile_index];
838836   int color = (tile >> 12) | (2 << 4);
839837
840   tile = (tile & 0xfff) | (state->mid_bank << 12);
838   tile = (tile & 0xfff) | (mid_bank << 12);
841839
842   SET_TILE_INFO(1,tile,color,0);
840   SET_TILE_INFO_MEMBER(1,tile,color,0);
843841}
844842
845static TILE_GET_INFO( get_fore_tile_info )
843TILE_GET_INFO_MEMBER(raiden2_state::get_fore_tile_info)
846844{
847   raiden2_state *state = machine.driver_data<raiden2_state>();
848   int tile = state->fore_data[tile_index];
845   int tile = fore_data[tile_index];
849846   int color = (tile >> 12) | (1 << 4);
850847
851   tile = (tile & 0xfff) | (state->fg_bank << 12);
848   tile = (tile & 0xfff) | (fg_bank << 12);
852849
853   SET_TILE_INFO(1,tile,color,0);
850   SET_TILE_INFO_MEMBER(1,tile,color,0);
854851}
855852
856static TILE_GET_INFO( get_text_tile_info )
853TILE_GET_INFO_MEMBER(raiden2_state::get_text_tile_info)
857854{
858   raiden2_state *state = machine.driver_data<raiden2_state>();
859   int tile = state->text_data[tile_index];
855   int tile = text_data[tile_index];
860856   int color = (tile>>12)&0xf;
861857
862858   tile &= 0xfff;
863859
864   SET_TILE_INFO(0,tile,color,0);
860   SET_TILE_INFO_MEMBER(0,tile,color,0);
865861}
866862
867863/* VIDEO START (move to video file) */
r17673r17674
870866static VIDEO_START( raiden2 )
871867{
872868   raiden2_state *state = machine.driver_data<raiden2_state>();
873   state->text_layer       = tilemap_create(machine, get_text_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 64,32 );
874   state->background_layer = tilemap_create(machine, get_back_tile_info, TILEMAP_SCAN_ROWS, 16,16, 32,32 );
875   state->midground_layer  = tilemap_create(machine, get_mid_tile_info,  TILEMAP_SCAN_ROWS, 16,16, 32,32 );
876   state->foreground_layer = tilemap_create(machine, get_fore_tile_info, TILEMAP_SCAN_ROWS, 16,16, 32,32 );
869   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 );
870   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 );
871   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 );
872   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 );
877873
878874   state->midground_layer->set_transparent_pen(15);
879875   state->foreground_layer->set_transparent_pen(15);

Previous 199869 Revisions Next


© 1997-2024 The MAME Team