Previous 199869 Revisions Next

r17673 Thursday 6th September, 2012 at 10:15:51 UTC by Miodrag Milanović
TILE/TILEMAP modernization part 1 (no whatsnew)
[src/mame/drivers]1945kiii.c 5clown.c acommand.c albazg.c avt.c bestleag.c blackt96.c blitz.c bnstars.c cabaret.c calorie.c caswin.c cb2001.c cball.c chanbara.c chance32.c cntsteer.c coinmstr.c cshooter.c cultures.c cybertnk.c d9final.c dacholer.c ddayjlc.c ddealer.c dmndrby.c dreamwld.c drtomy.c drw80pkr.c dunhuang.c dynadice.c egghunt.c ettrivia.c firefox.c flyball.c galaxi.c goldnpkr.c good.c gstream.c hvyunit.c igs009.c igs017.c igs_m027.c igspoker.c jackie.c jalmah.c jclub2.c jokrwild.c jollyjgr.c jubilee.c kingdrby.c koftball.c koikoi.c limenko.c looping.c ltcasino.c luckgrln.c m14.c m63.c magic10.c magicfly.c majorpkr.c marinedt.c mayumi.c mgolf.c midas.c mil4000.c miniboy7.c mogura.c mole.c multfish.c mwarr.c namcos23.c nmg5.c nsmpoker.c olibochu.c onetwo.c panicr.c peplus.c pipeline.c pkscram.c ppmast93.c pturn.c pzletime.c quizpun2.c quizshow.c r2dx_v33.c rabbit.c rmhaihai.c safarir.c sbowling.c sbrkout.c sfbonus.c silvmil.c skyarmy.c skylncr.c spoker.c spool99.c sshot.c statriv2.c subsino.c subsino2.c superdq.c superwng.c suprgolf.c tattack.c tmspoker.c trvmadns.c umipoker.c videopkr.c vmetal.c vroulet.c wallc.c warpsped.c wink.c witch.c
[src/mess/drivers]clcd.c supracan.c

trunk/src/mame/drivers/mgolf.c
r17672r17673
3333   DECLARE_READ8_MEMBER(mgolf_dial_r);
3434   DECLARE_READ8_MEMBER(mgolf_misc_r);
3535   DECLARE_WRITE8_MEMBER(mgolf_wram_w);
36   TILE_GET_INFO_MEMBER(get_tile_info);
3637};
3738
3839
39static TILE_GET_INFO( get_tile_info )
40TILE_GET_INFO_MEMBER(mgolf_state::get_tile_info)
4041{
41   mgolf_state *state = machine.driver_data<mgolf_state>();
42   UINT8 code = state->m_video_ram[tile_index];
42   UINT8 code = m_video_ram[tile_index];
4343
44   SET_TILE_INFO(0, code, code >> 7, 0);
44   SET_TILE_INFO_MEMBER(0, code, code >> 7, 0);
4545}
4646
4747
r17672r17673
5555static VIDEO_START( mgolf )
5656{
5757   mgolf_state *state = machine.driver_data<mgolf_state>();
58   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
58   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mgolf_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
5959}
6060
6161
trunk/src/mame/drivers/coinmstr.c
r17672r17673
5353   DECLARE_WRITE8_MEMBER(question_w);
5454   DECLARE_READ8_MEMBER(ff_r);
5555   DECLARE_DRIVER_INIT(coinmstr);
56   TILE_GET_INFO_MEMBER(get_bg_tile_info);
5657};
5758
5859
r17672r17673
899900GFXDECODE_END
900901
901902
902static TILE_GET_INFO( get_bg_tile_info )
903TILE_GET_INFO_MEMBER(coinmstr_state::get_bg_tile_info)
903904{
904   coinmstr_state *state = machine.driver_data<coinmstr_state>();
905   UINT8 *videoram = state->m_videoram;
905   UINT8 *videoram = m_videoram;
906906   int tile = videoram[tile_index + 0x0240];
907907   int color = tile_index;
908908
909   tile |= (state->m_attr_ram1[tile_index + 0x0240] & 0x80) << 1;
910   tile |= (state->m_attr_ram2[tile_index + 0x0240] & 0x80) << 2;
909   tile |= (m_attr_ram1[tile_index + 0x0240] & 0x80) << 1;
910   tile |= (m_attr_ram2[tile_index + 0x0240] & 0x80) << 2;
911911
912   tile |= (state->m_attr_ram3[tile_index + 0x0240] & 0x03) << (6+4);
912   tile |= (m_attr_ram3[tile_index + 0x0240] & 0x03) << (6+4);
913913
914   SET_TILE_INFO(0, tile, color, 0);
914   SET_TILE_INFO_MEMBER(0, tile, color, 0);
915915}
916916
917917static VIDEO_START( coinmstr )
918918{
919919   coinmstr_state *state = machine.driver_data<coinmstr_state>();
920   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 46, 32);
920   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(coinmstr_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 46, 32);
921921}
922922
923923static SCREEN_UPDATE_IND16( coinmstr )
trunk/src/mame/drivers/cntsteer.c
r17672r17673
8181   DECLARE_WRITE8_MEMBER(nmimask_w);
8282   DECLARE_INPUT_CHANGED_MEMBER(coin_inserted);
8383   DECLARE_DRIVER_INIT(zerotrgt);
84   TILE_GET_INFO_MEMBER(get_bg_tile_info);
85   TILE_GET_INFO_MEMBER(get_fg_tile_info);
8486};
8587
8688
r17672r17673
112114   }
113115}
114116
115static TILE_GET_INFO( get_bg_tile_info )
117TILE_GET_INFO_MEMBER(cntsteer_state::get_bg_tile_info)
116118{
117   cntsteer_state *state = machine.driver_data<cntsteer_state>();
118   int code = state->m_videoram2[tile_index];
119   int code = m_videoram2[tile_index];
119120
120   SET_TILE_INFO(2, code + state->m_bg_bank, state->m_bg_color_bank, 0);
121   SET_TILE_INFO_MEMBER(2, code + m_bg_bank, m_bg_color_bank, 0);
121122}
122123
123static TILE_GET_INFO( get_fg_tile_info )
124TILE_GET_INFO_MEMBER(cntsteer_state::get_fg_tile_info)
124125{
125   cntsteer_state *state = machine.driver_data<cntsteer_state>();
126   int code = state->m_videoram[tile_index];
127   int attr = state->m_colorram[tile_index];
126   int code = m_videoram[tile_index];
127   int attr = m_colorram[tile_index];
128128
129129   code |= (attr & 0x01) << 8;
130130
131   SET_TILE_INFO(0, code, 0x30 + ((attr & 0x78) >> 3), 0);
131   SET_TILE_INFO_MEMBER(0, code, 0x30 + ((attr & 0x78) >> 3), 0);
132132}
133133
134134static VIDEO_START( cntsteer )
135135{
136136   cntsteer_state *state = machine.driver_data<cntsteer_state>();
137   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS, 16, 16, 64, 64);
138   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS_FLIP_X, 8, 8, 32, 32);
137   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cntsteer_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 64, 64);
138   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cntsteer_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS_FLIP_X, 8, 8, 32, 32);
139139
140140   state->m_fg_tilemap->set_transparent_pen(0);
141141
r17672r17673
145145static VIDEO_START( zerotrgt )
146146{
147147   cntsteer_state *state = machine.driver_data<cntsteer_state>();
148   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
149   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS_FLIP_X, 8, 8, 32, 32);
148   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cntsteer_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
149   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cntsteer_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS_FLIP_X, 8, 8, 32, 32);
150150
151151   state->m_fg_tilemap->set_transparent_pen(0);
152152
trunk/src/mame/drivers/mwarr.c
r17672r17673
9292   DECLARE_WRITE16_MEMBER(sprites_commands_w);
9393   DECLARE_WRITE16_MEMBER(mwarr_brightness_w);
9494   DECLARE_WRITE16_MEMBER(oki1_bank_w);
95   TILE_GET_INFO_MEMBER(get_bg_tile_info);
96   TILE_GET_INFO_MEMBER(get_mlow_tile_info);
97   TILE_GET_INFO_MEMBER(get_mhigh_tile_info);
98   TILE_GET_INFO_MEMBER(get_tx_tile_info);
9599};
96100
97101
r17672r17673
351355 *
352356 *************************************/
353357
354static TILE_GET_INFO( get_bg_tile_info )
358TILE_GET_INFO_MEMBER(mwarr_state::get_bg_tile_info)
355359{
356   mwarr_state *state = machine.driver_data<mwarr_state>();
357   int tileno = state->m_bg_videoram[tile_index] & 0x1fff;
358   int colour = (state->m_bg_videoram[tile_index] & 0xe000) >> 13;
360   int tileno = m_bg_videoram[tile_index] & 0x1fff;
361   int colour = (m_bg_videoram[tile_index] & 0xe000) >> 13;
359362
360   SET_TILE_INFO(4, tileno, colour, 0);
363   SET_TILE_INFO_MEMBER(4, tileno, colour, 0);
361364}
362365
363static TILE_GET_INFO( get_mlow_tile_info )
366TILE_GET_INFO_MEMBER(mwarr_state::get_mlow_tile_info)
364367{
365   mwarr_state *state = machine.driver_data<mwarr_state>();
366   int tileno = state->m_mlow_videoram[tile_index] & 0x1fff;
367   int colour = (state->m_mlow_videoram[tile_index] & 0xe000) >> 13;
368   int tileno = m_mlow_videoram[tile_index] & 0x1fff;
369   int colour = (m_mlow_videoram[tile_index] & 0xe000) >> 13;
368370
369   SET_TILE_INFO(3, tileno, colour, 0);
371   SET_TILE_INFO_MEMBER(3, tileno, colour, 0);
370372}
371373
372static TILE_GET_INFO( get_mhigh_tile_info )
374TILE_GET_INFO_MEMBER(mwarr_state::get_mhigh_tile_info)
373375{
374   mwarr_state *state = machine.driver_data<mwarr_state>();
375   int tileno = state->m_mhigh_videoram[tile_index] & 0x1fff;
376   int colour = (state->m_mhigh_videoram[tile_index] & 0xe000) >> 13;
376   int tileno = m_mhigh_videoram[tile_index] & 0x1fff;
377   int colour = (m_mhigh_videoram[tile_index] & 0xe000) >> 13;
377378
378   SET_TILE_INFO(2, tileno, colour, 0);
379   SET_TILE_INFO_MEMBER(2, tileno, colour, 0);
379380}
380381
381static TILE_GET_INFO( get_tx_tile_info )
382TILE_GET_INFO_MEMBER(mwarr_state::get_tx_tile_info)
382383{
383   mwarr_state *state = machine.driver_data<mwarr_state>();
384   int tileno = state->m_tx_videoram[tile_index] & 0x1fff;
385   int colour = (state->m_tx_videoram[tile_index] & 0xe000) >> 13;
384   int tileno = m_tx_videoram[tile_index] & 0x1fff;
385   int colour = (m_tx_videoram[tile_index] & 0xe000) >> 13;
386386
387   SET_TILE_INFO(1, tileno, colour, 0);
387   SET_TILE_INFO_MEMBER(1, tileno, colour, 0);
388388}
389389
390390static VIDEO_START( mwarr )
391391{
392392   mwarr_state *state = machine.driver_data<mwarr_state>();
393393
394   state->m_bg_tilemap    = tilemap_create(machine, get_bg_tile_info,    TILEMAP_SCAN_COLS, 16, 16, 64, 16);
395   state->m_mlow_tilemap  = tilemap_create(machine, get_mlow_tile_info,  TILEMAP_SCAN_COLS, 16, 16, 64, 16);
396   state->m_mhigh_tilemap = tilemap_create(machine, get_mhigh_tile_info, TILEMAP_SCAN_COLS, 16, 16, 64, 16);
397   state->m_tx_tilemap    = tilemap_create(machine, get_tx_tile_info,    TILEMAP_SCAN_ROWS,  8,  8, 64, 32);
394   state->m_bg_tilemap    = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mwarr_state::get_bg_tile_info),state),    TILEMAP_SCAN_COLS, 16, 16, 64, 16);
395   state->m_mlow_tilemap  = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mwarr_state::get_mlow_tile_info),state),  TILEMAP_SCAN_COLS, 16, 16, 64, 16);
396   state->m_mhigh_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mwarr_state::get_mhigh_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 64, 16);
397   state->m_tx_tilemap    = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mwarr_state::get_tx_tile_info),state),    TILEMAP_SCAN_ROWS,  8,  8, 64, 32);
398398
399399   state->m_mlow_tilemap->set_transparent_pen(0);
400400   state->m_mhigh_tilemap->set_transparent_pen(0);
trunk/src/mame/drivers/vroulet.c
r17672r17673
6060   DECLARE_WRITE8_MEMBER(ppi8255_a_w);
6161   DECLARE_WRITE8_MEMBER(ppi8255_b_w);
6262   DECLARE_WRITE8_MEMBER(ppi8255_c_w);
63   TILE_GET_INFO_MEMBER(get_bg_tile_info);
6364};
6465
6566
r17672r17673
9899   m_bg_tilemap->mark_tile_dirty(offset);
99100}
100101
101static TILE_GET_INFO( get_bg_tile_info )
102TILE_GET_INFO_MEMBER(vroulet_state::get_bg_tile_info)
102103{
103   vroulet_state *state = machine.driver_data<vroulet_state>();
104   int attr = state->m_colorram[tile_index];
105   int code = state->m_videoram[tile_index] + ((attr & 0xc0) << 2);
104   int attr = m_colorram[tile_index];
105   int code = m_videoram[tile_index] + ((attr & 0xc0) << 2);
106106   int color = attr & 0x1f;
107107
108   SET_TILE_INFO(0, code, color, 0);
108   SET_TILE_INFO_MEMBER(0, code, color, 0);
109109}
110110
111111static VIDEO_START(vroulet)
112112{
113113   vroulet_state *state = machine.driver_data<vroulet_state>();
114   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
114   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(vroulet_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
115115      8, 8, 32, 32);
116116}
117117
trunk/src/mame/drivers/cultures.c
r17672r17673
5050   DECLARE_WRITE8_MEMBER(bg0_videoram_w);
5151   DECLARE_WRITE8_MEMBER(misc_w);
5252   DECLARE_WRITE8_MEMBER(bg_bank_w);
53   TILE_GET_INFO_MEMBER(get_bg1_tile_info);
54   TILE_GET_INFO_MEMBER(get_bg2_tile_info);
55   TILE_GET_INFO_MEMBER(get_bg0_tile_info);
5356};
5457
5558
5659
57static TILE_GET_INFO( get_bg1_tile_info )
60TILE_GET_INFO_MEMBER(cultures_state::get_bg1_tile_info)
5861{
59   cultures_state *state = machine.driver_data<cultures_state>();
60   UINT8 *region = state->memregion("gfx3")->base() + 0x200000 + 0x80000 * state->m_bg1_bank;
62   UINT8 *region = memregion("gfx3")->base() + 0x200000 + 0x80000 * m_bg1_bank;
6163   int code = region[tile_index * 2] + (region[tile_index * 2 + 1] << 8);
62   SET_TILE_INFO(2, code, code >> 12, 0);
64   SET_TILE_INFO_MEMBER(2, code, code >> 12, 0);
6365}
6466
65static TILE_GET_INFO( get_bg2_tile_info )
67TILE_GET_INFO_MEMBER(cultures_state::get_bg2_tile_info)
6668{
67   cultures_state *state = machine.driver_data<cultures_state>();
68   UINT8 *region = state->memregion("gfx2")->base() + 0x200000 + 0x80000 * state->m_bg2_bank;
69   UINT8 *region = memregion("gfx2")->base() + 0x200000 + 0x80000 * m_bg2_bank;
6970   int code = region[tile_index * 2] + (region[tile_index * 2 + 1] << 8);
70   SET_TILE_INFO(1, code, code >> 12, 0);
71   SET_TILE_INFO_MEMBER(1, code, code >> 12, 0);
7172}
7273
73static TILE_GET_INFO( get_bg0_tile_info )
74TILE_GET_INFO_MEMBER(cultures_state::get_bg0_tile_info)
7475{
75   cultures_state *state = machine.driver_data<cultures_state>();
76   int code = state->m_bg0_videoram[tile_index * 2] + (state->m_bg0_videoram[tile_index * 2 + 1] << 8);
77   SET_TILE_INFO(0, code, code >> 12, 0);
76   int code = m_bg0_videoram[tile_index * 2] + (m_bg0_videoram[tile_index * 2 + 1] << 8);
77   SET_TILE_INFO_MEMBER(0, code, code >> 12, 0);
7878}
7979
8080static VIDEO_START( cultures )
8181{
8282   cultures_state *state = machine.driver_data<cultures_state>();
83   state->m_bg0_tilemap = tilemap_create(machine, get_bg0_tile_info,TILEMAP_SCAN_ROWS, 8, 8, 64, 128);
84   state->m_bg1_tilemap = tilemap_create(machine, get_bg1_tile_info,TILEMAP_SCAN_ROWS, 8, 8, 512, 512);
85   state->m_bg2_tilemap = tilemap_create(machine, get_bg2_tile_info,TILEMAP_SCAN_ROWS, 8, 8, 512, 512);
83   state->m_bg0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cultures_state::get_bg0_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8, 64, 128);
84   state->m_bg1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cultures_state::get_bg1_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8, 512, 512);
85   state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cultures_state::get_bg2_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8, 512, 512);
8686
8787   state->m_bg1_tilemap->set_transparent_pen(0);
8888   state->m_bg0_tilemap->set_transparent_pen(0);
trunk/src/mame/drivers/5clown.c
r17672r17673
483483   DECLARE_READ8_MEMBER(pia1_b_r);
484484   DECLARE_WRITE8_MEMBER(fclown_ay8910_w);
485485   DECLARE_DRIVER_INIT(fclown);
486   TILE_GET_INFO_MEMBER(get_fclown_tile_info);
486487};
487488
488489
r17672r17673
507508}
508509
509510
510static TILE_GET_INFO( get_fclown_tile_info )
511TILE_GET_INFO_MEMBER(_5clown_state::get_fclown_tile_info)
511512{
512   _5clown_state *state = machine.driver_data<_5clown_state>();
513513
514514/*  - bits -
515515    7654 3210
r17672r17673
520520    x--- ----   Extra color for 7's.
521521*/
522522
523   int attr = state->m_colorram[tile_index];
524   int code = ((attr & 0x01) << 8) | ((attr & 0x40) << 2) | state->m_videoram[tile_index];   /* bit 8 for extended char set */
523   int attr = m_colorram[tile_index];
524   int code = ((attr & 0x01) << 8) | ((attr & 0x40) << 2) | m_videoram[tile_index];   /* bit 8 for extended char set */
525525   int bank = (attr & 0x02) >> 1;                                       /* bit 1 switch the gfx banks */
526526   int color = (attr & 0x3c) >> 2 | ((attr & 0x80) >> 3);                     /* bits 2-3-4-5-7 for color */
527527
528   SET_TILE_INFO(bank, code, color, 0);
528   SET_TILE_INFO_MEMBER(bank, code, color, 0);
529529}
530530
531531
532532static VIDEO_START(fclown)
533533{
534534   _5clown_state *state = machine.driver_data<_5clown_state>();
535   state->m_bg_tilemap = tilemap_create(machine, get_fclown_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
535   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(_5clown_state::get_fclown_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
536536}
537537
538538
trunk/src/mame/drivers/drw80pkr.c
r17672r17673
6666   DECLARE_READ8_MEMBER(bus_r);
6767   DECLARE_READ8_MEMBER(drw80pkr_io_r);
6868   DECLARE_DRIVER_INIT(drw80pkr);
69   TILE_GET_INFO_MEMBER(get_bg_tile_info);
6970};
7071
7172
r17672r17673
323324* Video/Character functions *
324325****************************/
325326
326static TILE_GET_INFO( get_bg_tile_info )
327TILE_GET_INFO_MEMBER(drw80pkr_state::get_bg_tile_info)
327328{
328   drw80pkr_state *state = machine.driver_data<drw80pkr_state>();
329   int color = state->m_color_ram[tile_index];
330   int code = state->m_video_ram[tile_index];
329   int color = m_color_ram[tile_index];
330   int code = m_video_ram[tile_index];
331331
332   SET_TILE_INFO(0, code, color, 0);
332   SET_TILE_INFO_MEMBER(0, code, color, 0);
333333}
334334
335335static VIDEO_START( drw80pkr )
336336{
337337   drw80pkr_state *state = machine.driver_data<drw80pkr_state>();
338   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 24, 27);
338   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(drw80pkr_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 24, 27);
339339}
340340
341341static SCREEN_UPDATE_IND16( drw80pkr )
trunk/src/mame/drivers/superdq.c
r17672r17673
4646   DECLARE_WRITE8_MEMBER(superdq_io_w);
4747   DECLARE_READ8_MEMBER(superdq_ld_r);
4848   DECLARE_WRITE8_MEMBER(superdq_ld_w);
49   TILE_GET_INFO_MEMBER(get_tile_info);
4950};
5051
51static TILE_GET_INFO( get_tile_info )
52TILE_GET_INFO_MEMBER(superdq_state::get_tile_info)
5253{
53   superdq_state *state = machine.driver_data<superdq_state>();
54   int tile = state->m_videoram[tile_index];
54   int tile = m_videoram[tile_index];
5555
56   SET_TILE_INFO(0, tile, state->m_color_bank, 0);
56   SET_TILE_INFO_MEMBER(0, tile, m_color_bank, 0);
5757}
5858
5959static VIDEO_START( superdq )
6060{
6161   superdq_state *state = machine.driver_data<superdq_state>();
6262
63   state->m_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
63   state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(superdq_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
6464}
6565
6666static SCREEN_UPDATE_RGB32( superdq )
trunk/src/mame/drivers/bestleag.c
r17672r17673
4646   DECLARE_WRITE16_MEMBER(bestleag_bgram_w);
4747   DECLARE_WRITE16_MEMBER(bestleag_fgram_w);
4848   DECLARE_WRITE16_MEMBER(oki_bank_w);
49   TILE_GET_INFO_MEMBER(get_tx_tile_info);
50   TILE_GET_INFO_MEMBER(get_bg_tile_info);
51   TILE_GET_INFO_MEMBER(get_fg_tile_info);
52   TILEMAP_MAPPER_MEMBER(bsb_bg_scan);
4953};
5054
5155
5256/* Video Handling */
5357
5458
55static TILE_GET_INFO( get_tx_tile_info )
59TILE_GET_INFO_MEMBER(bestleag_state::get_tx_tile_info)
5660{
57   bestleag_state *state = machine.driver_data<bestleag_state>();
58   int code = state->m_txram[tile_index];
61   int code = m_txram[tile_index];
5962
60   SET_TILE_INFO(
63   SET_TILE_INFO_MEMBER(
6164         0,
6265         (code & 0x0fff)|0x8000,
6366         (code & 0xf000) >> 12,
6467         0);
6568}
6669
67static TILE_GET_INFO( get_bg_tile_info )
70TILE_GET_INFO_MEMBER(bestleag_state::get_bg_tile_info)
6871{
69   bestleag_state *state = machine.driver_data<bestleag_state>();
70   int code = state->m_bgram[tile_index];
72   int code = m_bgram[tile_index];
7173
72   SET_TILE_INFO(
74   SET_TILE_INFO_MEMBER(
7375         1,
7476         (code & 0x0fff),
7577         (code & 0xf000) >> 12,
7678         0);
7779}
7880
79static TILE_GET_INFO( get_fg_tile_info )
81TILE_GET_INFO_MEMBER(bestleag_state::get_fg_tile_info)
8082{
81   bestleag_state *state = machine.driver_data<bestleag_state>();
82   int code = state->m_fgram[tile_index];
83   int code = m_fgram[tile_index];
8384
84   SET_TILE_INFO(
85   SET_TILE_INFO_MEMBER(
8586         1,
8687         (code & 0x0fff)|0x1000,
8788         ((code & 0xf000) >> 12)|0x10,
8889         0);
8990}
9091
91static TILEMAP_MAPPER( bsb_bg_scan )
92TILEMAP_MAPPER_MEMBER(bestleag_state::bsb_bg_scan)
9293{
9394   int offset;
9495
r17672r17673
102103static VIDEO_START(bestleag)
103104{
104105   bestleag_state *state = machine.driver_data<bestleag_state>();
105   state->m_tx_tilemap = tilemap_create(machine, get_tx_tile_info,TILEMAP_SCAN_COLS,8,8,256, 32);
106   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,bsb_bg_scan,16,16,128, 64);
107   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,bsb_bg_scan,16,16,128, 64);
106   state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bestleag_state::get_tx_tile_info),state),TILEMAP_SCAN_COLS,8,8,256, 32);
107   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bestleag_state::get_bg_tile_info),state),tilemap_mapper_delegate(FUNC(bestleag_state::bsb_bg_scan),state),16,16,128, 64);
108   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bestleag_state::get_fg_tile_info),state),tilemap_mapper_delegate(FUNC(bestleag_state::bsb_bg_scan),state),16,16,128, 64);
108109
109110   state->m_tx_tilemap->set_transparent_pen(15);
110111   state->m_fg_tilemap->set_transparent_pen(15);
trunk/src/mame/drivers/cybertnk.c
r17672r17673
215215   DECLARE_WRITE8_MEMBER(cybertnk_irq_ack_w);
216216   DECLARE_WRITE8_MEMBER(cybertnk_cnt_w);
217217   DECLARE_DRIVER_INIT(cybertnk);
218   TILE_GET_INFO_MEMBER(get_tilemap0_tile_info);
219   TILE_GET_INFO_MEMBER(get_tilemap1_tile_info);
220   TILE_GET_INFO_MEMBER(get_tilemap2_tile_info);
218221};
219222
220223/* tile format
r17672r17673
228231
229232*/
230233
231static TILE_GET_INFO( get_tilemap0_tile_info )
234TILE_GET_INFO_MEMBER(cybertnk_state::get_tilemap0_tile_info)
232235{
233   cybertnk_state *state = machine.driver_data<cybertnk_state>();
234   int code = state->m_tilemap0_vram[tile_index];
236   int code = m_tilemap0_vram[tile_index];
235237   int pal = (code & 0xe000) >> 13;
236238   pal     |=(code & 0x1c00) >> 7;
237239
238   SET_TILE_INFO(
240   SET_TILE_INFO_MEMBER(
239241         0,
240242         code & 0x1fff,
241243         pal,
242244         0);
243245}
244246
245static TILE_GET_INFO( get_tilemap1_tile_info )
247TILE_GET_INFO_MEMBER(cybertnk_state::get_tilemap1_tile_info)
246248{
247   cybertnk_state *state = machine.driver_data<cybertnk_state>();
248   int code = state->m_tilemap1_vram[tile_index];
249   int code = m_tilemap1_vram[tile_index];
249250   int pal = (code & 0xe000) >> 13;
250251   pal     |=(code & 0x1c00) >> 7;
251252
252   SET_TILE_INFO(
253   SET_TILE_INFO_MEMBER(
253254         1,
254255         code & 0x1fff,
255256         pal,
256257         0);
257258}
258259
259static TILE_GET_INFO( get_tilemap2_tile_info )
260TILE_GET_INFO_MEMBER(cybertnk_state::get_tilemap2_tile_info)
260261{
261   cybertnk_state *state = machine.driver_data<cybertnk_state>();
262   int code = state->m_tilemap2_vram[tile_index];
262   int code = m_tilemap2_vram[tile_index];
263263   int pal = (code & 0xe000) >> 13;
264264   pal     |=(code & 0x1c00) >> 7;
265265
266   SET_TILE_INFO(
266   SET_TILE_INFO_MEMBER(
267267         2,
268268         code & 0x1fff,
269269         pal,
r17672r17673
273273static VIDEO_START( cybertnk )
274274{
275275   cybertnk_state *state = machine.driver_data<cybertnk_state>();
276   state->m_tilemap0_tilemap = tilemap_create(machine, get_tilemap0_tile_info,TILEMAP_SCAN_ROWS,8,8,128,32);
276   state->m_tilemap0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cybertnk_state::get_tilemap0_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,32);
277277   state->m_tilemap0_tilemap->set_transparent_pen(0);
278278
279   state->m_tilemap1_tilemap = tilemap_create(machine, get_tilemap1_tile_info,TILEMAP_SCAN_ROWS,8,8,128,32);
279   state->m_tilemap1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cybertnk_state::get_tilemap1_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,32);
280280   state->m_tilemap1_tilemap->set_transparent_pen(0);
281281
282   state->m_tilemap2_tilemap = tilemap_create(machine, get_tilemap2_tile_info,TILEMAP_SCAN_ROWS,8,8,128,32);
282   state->m_tilemap2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cybertnk_state::get_tilemap2_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,32);
283283   state->m_tilemap2_tilemap->set_transparent_pen(0);
284284}
285285
trunk/src/mame/drivers/pipeline.c
r17672r17673
9797   DECLARE_WRITE8_MEMBER(vidctrl_w);
9898   DECLARE_READ8_MEMBER(protection_r);
9999   DECLARE_WRITE8_MEMBER(protection_w);
100   TILE_GET_INFO_MEMBER(get_tile_info);
101   TILE_GET_INFO_MEMBER(get_tile_info2);
100102};
101103
102104
103static TILE_GET_INFO( get_tile_info )
105TILE_GET_INFO_MEMBER(pipeline_state::get_tile_info)
104106{
105   pipeline_state *state = machine.driver_data<pipeline_state>();
106   int code = state->m_vram2[tile_index]+state->m_vram2[tile_index+0x800]*256;
107   SET_TILE_INFO(
107   int code = m_vram2[tile_index]+m_vram2[tile_index+0x800]*256;
108   SET_TILE_INFO_MEMBER(
108109      0,
109110      code,
110111      0,
111112      0);
112113}
113114
114static TILE_GET_INFO( get_tile_info2 )
115TILE_GET_INFO_MEMBER(pipeline_state::get_tile_info2)
115116{
116   pipeline_state *state = machine.driver_data<pipeline_state>();
117   int code =state->m_vram1[tile_index]+((state->m_vram1[tile_index+0x800]>>4))*256;
118   int color=((state->m_vram1[tile_index+0x800])&0xf);
119   SET_TILE_INFO
117   int code =m_vram1[tile_index]+((m_vram1[tile_index+0x800]>>4))*256;
118   int color=((m_vram1[tile_index+0x800])&0xf);
119   SET_TILE_INFO_MEMBER
120120   (
121121      1,
122122      code,
r17672r17673
129129{
130130   pipeline_state *state = machine.driver_data<pipeline_state>();
131131   state->m_palram=auto_alloc_array(machine, UINT8, 0x1000);
132   state->m_tilemap1 = tilemap_create( machine, get_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32 );
133   state->m_tilemap2 = tilemap_create( machine, get_tile_info2,TILEMAP_SCAN_ROWS,8,8,64,32 );
132   state->m_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pipeline_state::get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32 );
133   state->m_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pipeline_state::get_tile_info2),state),TILEMAP_SCAN_ROWS,8,8,64,32 );
134134   state->m_tilemap2->set_transparent_pen(0);
135135}
136136
trunk/src/mame/drivers/chanbara.c
r17672r17673
8686   DECLARE_WRITE8_MEMBER(chanbara_ay_out_0_w);
8787   DECLARE_WRITE8_MEMBER(chanbara_ay_out_1_w);
8888   DECLARE_DRIVER_INIT(chanbara);
89   TILE_GET_INFO_MEMBER(get_bg_tile_info);
90   TILE_GET_INFO_MEMBER(get_bg2_tile_info);
8991};
9092
9193
r17672r17673
133135}
134136
135137
136static TILE_GET_INFO( get_bg_tile_info )
138TILE_GET_INFO_MEMBER(chanbara_state::get_bg_tile_info)
137139{
138   chanbara_state *state = machine.driver_data<chanbara_state>();
139   int code = state->m_videoram[tile_index] + ((state->m_colorram[tile_index] & 1) << 8);
140   int color = (state->m_colorram[tile_index] >> 1) & 0x1f;
140   int code = m_videoram[tile_index] + ((m_colorram[tile_index] & 1) << 8);
141   int color = (m_colorram[tile_index] >> 1) & 0x1f;
141142
142   SET_TILE_INFO(0, code, color, 0);
143   SET_TILE_INFO_MEMBER(0, code, color, 0);
143144}
144145
145static TILE_GET_INFO( get_bg2_tile_info )
146TILE_GET_INFO_MEMBER(chanbara_state::get_bg2_tile_info)
146147{
147   chanbara_state *state = machine.driver_data<chanbara_state>();
148   int code = state->m_videoram2[tile_index];
149   int color = (state->m_colorram2[tile_index] >> 1) & 0x1f;
148   int code = m_videoram2[tile_index];
149   int color = (m_colorram2[tile_index] >> 1) & 0x1f;
150150
151   SET_TILE_INFO(2, code, color, 0);
151   SET_TILE_INFO_MEMBER(2, code, color, 0);
152152}
153153
154154static VIDEO_START(chanbara )
155155{
156156   chanbara_state *state = machine.driver_data<chanbara_state>();
157   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,8, 8, 32, 32);
158   state->m_bg2_tilemap = tilemap_create(machine, get_bg2_tile_info, TILEMAP_SCAN_ROWS,16, 16, 16, 32);
157   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(chanbara_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,8, 8, 32, 32);
158   state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(chanbara_state::get_bg2_tile_info),state), TILEMAP_SCAN_ROWS,16, 16, 16, 32);
159159   state->m_bg_tilemap->set_transparent_pen(0);
160160}
161161
trunk/src/mame/drivers/m14.c
r17672r17673
8080   DECLARE_WRITE8_MEMBER(hopper_w);
8181   DECLARE_INPUT_CHANGED_MEMBER(left_coin_inserted);
8282   DECLARE_INPUT_CHANGED_MEMBER(right_coin_inserted);
83   TILE_GET_INFO_MEMBER(m14_get_tile_info);
8384};
8485
8586
r17672r17673
107108   }
108109}
109110
110static TILE_GET_INFO( m14_get_tile_info )
111TILE_GET_INFO_MEMBER(m14_state::m14_get_tile_info)
111112{
112   m14_state *state = machine.driver_data<m14_state>();
113113
114   int code = state->m_video_ram[tile_index];
115   int color = state->m_color_ram[tile_index] & 0x0f;
114   int code = m_video_ram[tile_index];
115   int color = m_color_ram[tile_index] & 0x0f;
116116
117117   /* colorram & 0xf0 used but unknown purpose*/
118118
119   SET_TILE_INFO(
119   SET_TILE_INFO_MEMBER(
120120         0,
121121         code,
122122         color,
r17672r17673
127127{
128128   m14_state *state = machine.driver_data<m14_state>();
129129
130   state->m_m14_tilemap = tilemap_create(machine, m14_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
130   state->m_m14_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m14_state::m14_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
131131}
132132
133133static SCREEN_UPDATE_IND16( m14 )
trunk/src/mame/drivers/nsmpoker.c
r17672r17673
7979   DECLARE_WRITE8_MEMBER(nsmpoker_colorram_w);
8080   DECLARE_WRITE8_MEMBER(debug_w);
8181   DECLARE_READ8_MEMBER(debug_r);
82   TILE_GET_INFO_MEMBER(get_bg_tile_info);
8283};
8384
8485
r17672r17673
101102}
102103
103104
104static TILE_GET_INFO( get_bg_tile_info )
105TILE_GET_INFO_MEMBER(nsmpoker_state::get_bg_tile_info)
105106{
106   nsmpoker_state *state = machine.driver_data<nsmpoker_state>();
107107/*  - bits -
108108    7654 3210
109109    ---- ----   bank select.
110110    ---- ----   color code.
111111    ---- ----   seems unused.
112112*/
113//  int attr = state->m_colorram[tile_index];
114   int code = state->m_videoram[tile_index];
113//  int attr = m_colorram[tile_index];
114   int code = m_videoram[tile_index];
115115//  int bank = (attr & 0x08) >> 3;
116116//  int color = (attr & 0x03);
117117
118   SET_TILE_INFO( 0 /* bank */, code, 0 /* color */, 0);
118   SET_TILE_INFO_MEMBER( 0 /* bank */, code, 0 /* color */, 0);
119119}
120120
121121
122122static VIDEO_START( nsmpoker )
123123{
124124   nsmpoker_state *state = machine.driver_data<nsmpoker_state>();
125   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
125   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nsmpoker_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
126126}
127127
128128
trunk/src/mame/drivers/majorpkr.c
r17672r17673
488488   DECLARE_WRITE8_MEMBER(lamps_b_w);
489489   DECLARE_WRITE8_MEMBER(pulses_w);
490490   DECLARE_DRIVER_INIT(majorpkr);
491   TILE_GET_INFO_MEMBER(bg_get_tile_info);
492   TILE_GET_INFO_MEMBER(fg_get_tile_info);
491493};
492494
493495
r17672r17673
495497*     Video Hardware     *
496498*************************/
497499
498static TILE_GET_INFO( bg_get_tile_info )
500TILE_GET_INFO_MEMBER(majorpkr_state::bg_get_tile_info)
499501{
500   majorpkr_state *state = machine.driver_data<majorpkr_state>();
501502
502   int code = state->m_videoram[0x800 + 2 * tile_index] + (state->m_videoram[0x800 + 2 * tile_index + 1] << 8);
503   int code = m_videoram[0x800 + 2 * tile_index] + (m_videoram[0x800 + 2 * tile_index + 1] << 8);
503504
504   SET_TILE_INFO(
505   SET_TILE_INFO_MEMBER(
505506         0,
506507         (code & 0x1fff),
507508         code >> 13,
508509         0);
509510}
510511
511static TILE_GET_INFO( fg_get_tile_info )
512TILE_GET_INFO_MEMBER(majorpkr_state::fg_get_tile_info)
512513{
513   majorpkr_state *state = machine.driver_data<majorpkr_state>();
514514
515   int code = state->m_videoram[2 * tile_index] + (state->m_videoram[2 * tile_index + 1] << 8);
515   int code = m_videoram[2 * tile_index] + (m_videoram[2 * tile_index + 1] << 8);
516516
517   SET_TILE_INFO(
517   SET_TILE_INFO_MEMBER(
518518         1,
519519         (code & 0x07ff),
520520         code >> 13,
r17672r17673
526526{
527527   majorpkr_state *state = machine.driver_data<majorpkr_state>();
528528
529   state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info, TILEMAP_SCAN_ROWS, 16, 8, 36, 28);
530   state->m_fg_tilemap = tilemap_create(machine, fg_get_tile_info, TILEMAP_SCAN_ROWS, 16, 8, 36, 28);
529   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(majorpkr_state::bg_get_tile_info),state), TILEMAP_SCAN_ROWS, 16, 8, 36, 28);
530   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(majorpkr_state::fg_get_tile_info),state), TILEMAP_SCAN_ROWS, 16, 8, 36, 28);
531531   state->m_fg_tilemap->set_transparent_pen(0);
532532
533533   state->m_generic_paletteram_8.allocate(4 * 0x800);
trunk/src/mame/drivers/sshot.c
r17672r17673
171171   DECLARE_WRITE8_MEMBER(supershot_vidram_w);
172172   DECLARE_WRITE8_MEMBER(supershot_output0_w);
173173   DECLARE_WRITE8_MEMBER(supershot_output1_w);
174   TILE_GET_INFO_MEMBER(get_supershot_text_tile_info);
174175};
175176
176177/*************************************
r17672r17673
179180 *
180181 *************************************/
181182
182static TILE_GET_INFO( get_supershot_text_tile_info )
183TILE_GET_INFO_MEMBER(supershot_state::get_supershot_text_tile_info)
183184{
184   supershot_state *state = machine.driver_data<supershot_state>();
185185
186   UINT8 code = state->m_videoram[tile_index];
187   SET_TILE_INFO(0, code, 0, 0);
186   UINT8 code = m_videoram[tile_index];
187   SET_TILE_INFO_MEMBER(0, code, 0, 0);
188188}
189189
190190static VIDEO_START( supershot )
191191{
192192   supershot_state *state = machine.driver_data<supershot_state>();
193   state->m_tilemap = tilemap_create(machine, get_supershot_text_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
193   state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supershot_state::get_supershot_text_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
194194}
195195
196196static SCREEN_UPDATE_IND16( supershot )
trunk/src/mame/drivers/gstream.c
r17672r17673
177177   DECLARE_CUSTOM_INPUT_MEMBER(gstream_mirror_service_r);
178178   DECLARE_CUSTOM_INPUT_MEMBER(gstream_mirror_r);
179179   DECLARE_DRIVER_INIT(gstream);
180   TILE_GET_INFO_MEMBER(get_gs1_tile_info);
181   TILE_GET_INFO_MEMBER(get_gs2_tile_info);
182   TILE_GET_INFO_MEMBER(get_gs3_tile_info);
180183};
181184
182185
r17672r17673
441444
442445
443446
444static TILE_GET_INFO( get_gs1_tile_info )
447TILE_GET_INFO_MEMBER(gstream_state::get_gs1_tile_info)
445448{
446   gstream_state *state = machine.driver_data<gstream_state>();
447   int tileno = (state->m_vram[tile_index + 0x000 / 4] & 0x0fff0000) >> 16;
448   int palette = (state->m_vram[tile_index + 0x000 / 4] & 0xc0000000) >> 30;
449   SET_TILE_INFO(0, tileno, palette + 0x10, 0);
449   int tileno = (m_vram[tile_index + 0x000 / 4] & 0x0fff0000) >> 16;
450   int palette = (m_vram[tile_index + 0x000 / 4] & 0xc0000000) >> 30;
451   SET_TILE_INFO_MEMBER(0, tileno, palette + 0x10, 0);
450452}
451453
452static TILE_GET_INFO( get_gs2_tile_info )
454TILE_GET_INFO_MEMBER(gstream_state::get_gs2_tile_info)
453455{
454   gstream_state *state = machine.driver_data<gstream_state>();
455   int tileno = (state->m_vram[tile_index + 0x400 / 4] & 0x0fff0000) >> 16;
456   int palette = (state->m_vram[tile_index + 0x400 / 4] & 0xc0000000) >> 30;
457   SET_TILE_INFO(0, tileno + 0x1000, palette + 0x14, 0);
456   int tileno = (m_vram[tile_index + 0x400 / 4] & 0x0fff0000) >> 16;
457   int palette = (m_vram[tile_index + 0x400 / 4] & 0xc0000000) >> 30;
458   SET_TILE_INFO_MEMBER(0, tileno + 0x1000, palette + 0x14, 0);
458459}
459460
460461
461static TILE_GET_INFO( get_gs3_tile_info )
462TILE_GET_INFO_MEMBER(gstream_state::get_gs3_tile_info)
462463{
463   gstream_state *state = machine.driver_data<gstream_state>();
464   int tileno = (state->m_vram[tile_index + 0x800 / 4] & 0x0fff0000) >> 16;
465   int palette = (state->m_vram[tile_index + 0x800 / 4] & 0xc0000000) >> 30;
466   SET_TILE_INFO(0, tileno + 0x2000, palette + 0x18, 0);
464   int tileno = (m_vram[tile_index + 0x800 / 4] & 0x0fff0000) >> 16;
465   int palette = (m_vram[tile_index + 0x800 / 4] & 0xc0000000) >> 30;
466   SET_TILE_INFO_MEMBER(0, tileno + 0x2000, palette + 0x18, 0);
467467}
468468
469469
470470static VIDEO_START(gstream)
471471{
472472   gstream_state *state = machine.driver_data<gstream_state>();
473   state->m_tilemap1 = tilemap_create(machine, get_gs1_tile_info, TILEMAP_SCAN_ROWS, 32, 32, 16, 16);
474   state->m_tilemap2 = tilemap_create(machine, get_gs2_tile_info, TILEMAP_SCAN_ROWS, 32, 32, 16, 16);
475   state->m_tilemap3 = tilemap_create(machine, get_gs3_tile_info, TILEMAP_SCAN_ROWS, 32, 32, 16, 16);
473   state->m_tilemap1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gstream_state::get_gs1_tile_info),state), TILEMAP_SCAN_ROWS, 32, 32, 16, 16);
474   state->m_tilemap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gstream_state::get_gs2_tile_info),state), TILEMAP_SCAN_ROWS, 32, 32, 16, 16);
475   state->m_tilemap3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(gstream_state::get_gs3_tile_info),state), TILEMAP_SCAN_ROWS, 32, 32, 16, 16);
476476
477477   state->m_tilemap1->set_transparent_pen(0);
478478   state->m_tilemap2->set_transparent_pen(0);
trunk/src/mame/drivers/igs017.c
r17672r17673
148148   DECLARE_DRIVER_INIT(tarzana);
149149   DECLARE_DRIVER_INIT(lhzb2a);
150150   DECLARE_DRIVER_INIT(mgdha);
151   TILE_GET_INFO_MEMBER(get_fg_tile_info);
152   TILE_GET_INFO_MEMBER(get_bg_tile_info);
151153};
152154
153155
r17672r17673
178180
179181#define COLOR(_X)   (((_X)>>2)&7)
180182
181static TILE_GET_INFO( get_fg_tile_info )
183TILE_GET_INFO_MEMBER(igs017_state::get_fg_tile_info)
182184{
183   igs017_state *state = machine.driver_data<igs017_state>();
184   int code = state->m_fg_videoram[tile_index*4+0] + (state->m_fg_videoram[tile_index*4+1] << 8);
185   int attr = state->m_fg_videoram[tile_index*4+2] + (state->m_fg_videoram[tile_index*4+3] << 8);
186   SET_TILE_INFO(0, code, COLOR(attr), TILE_FLIPXY( attr >> 5 ));
185   int code = m_fg_videoram[tile_index*4+0] + (m_fg_videoram[tile_index*4+1] << 8);
186   int attr = m_fg_videoram[tile_index*4+2] + (m_fg_videoram[tile_index*4+3] << 8);
187   SET_TILE_INFO_MEMBER(0, code, COLOR(attr), TILE_FLIPXY( attr >> 5 ));
187188}
188static TILE_GET_INFO( get_bg_tile_info )
189TILE_GET_INFO_MEMBER(igs017_state::get_bg_tile_info)
189190{
190   igs017_state *state = machine.driver_data<igs017_state>();
191   int code = state->m_bg_videoram[tile_index*4+0] + (state->m_bg_videoram[tile_index*4+1] << 8);
192   int attr = state->m_bg_videoram[tile_index*4+2] + (state->m_bg_videoram[tile_index*4+3] << 8);
193   SET_TILE_INFO(0, code, COLOR(attr)+8, TILE_FLIPXY( attr >> 5 ));
191   int code = m_bg_videoram[tile_index*4+0] + (m_bg_videoram[tile_index*4+1] << 8);
192   int attr = m_bg_videoram[tile_index*4+2] + (m_bg_videoram[tile_index*4+3] << 8);
193   SET_TILE_INFO_MEMBER(0, code, COLOR(attr)+8, TILE_FLIPXY( attr >> 5 ));
194194}
195195
196196WRITE8_MEMBER(igs017_state::fg_w)
r17672r17673
264264static VIDEO_START( igs017 )
265265{
266266   igs017_state *state = machine.driver_data<igs017_state>();
267   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
268   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
267   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs017_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
268   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs017_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
269269
270270   state->m_fg_tilemap->set_transparent_pen(0xf);
271271   state->m_bg_tilemap->set_transparent_pen(0xf);
trunk/src/mame/drivers/avt.c
r17672r17673
441441   UINT8 m_crtc_vreg[0x100],m_crtc_index;
442442
443443   DECLARE_WRITE8_MEMBER(debug_w);
444   TILE_GET_INFO_MEMBER(get_bg_tile_info);
444445};
445446
446447#define mc6845_h_char_total    (state->m_crtc_vreg[0])
r17672r17673
480481}
481482
482483
483static TILE_GET_INFO( get_bg_tile_info )
484TILE_GET_INFO_MEMBER(avt_state::get_bg_tile_info)
484485{
485   avt_state *state = machine.driver_data<avt_state>();
486486/*  - bits -
487487    7654 3210
488488    xxxx ----   color code.
489489    ---- xxxx   seems unused.
490490*/
491   int attr = state->m_colorram[tile_index];
492   int code = state->m_videoram[tile_index] | ((attr & 1) << 8);
491   int attr = m_colorram[tile_index];
492   int code = m_videoram[tile_index] | ((attr & 1) << 8);
493493   int color = (attr & 0xf0)>>4;
494494
495   SET_TILE_INFO( 0, code, color, 0);
495   SET_TILE_INFO_MEMBER( 0, code, color, 0);
496496}
497497
498498
499499static VIDEO_START( avt )
500500{
501501   avt_state *state = machine.driver_data<avt_state>();
502   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 28, 32);
502   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(avt_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 28, 32);
503503}
504504
505505
trunk/src/mame/drivers/mole.c
r17672r17673
6969   DECLARE_WRITE8_MEMBER(mole_tilebank_w);
7070   DECLARE_WRITE8_MEMBER(mole_flipscreen_w);
7171   DECLARE_READ8_MEMBER(mole_protection_r);
72   TILE_GET_INFO_MEMBER(get_bg_tile_info);
7273};
7374
7475
r17672r17673
8687      palette_set_color_rgb(machine, i, pal1bit(i >> 0), pal1bit(i >> 2), pal1bit(i >> 1));
8788}
8889
89static TILE_GET_INFO( get_bg_tile_info )
90TILE_GET_INFO_MEMBER(mole_state::get_bg_tile_info)
9091{
91   mole_state *state = machine.driver_data<mole_state>();
92   UINT16 code = state->m_tileram[tile_index];
92   UINT16 code = m_tileram[tile_index];
9393
94   SET_TILE_INFO((code & 0x200) ? 1 : 0, code & 0x1ff, 0, 0);
94   SET_TILE_INFO_MEMBER((code & 0x200) ? 1 : 0, code & 0x1ff, 0, 0);
9595}
9696
9797static VIDEO_START( mole )
9898{
9999   mole_state *state = machine.driver_data<mole_state>();
100100   memset(state->m_tileram, 0, sizeof(state->m_tileram));
101   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 40, 25);
101   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mole_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 40, 25);
102102
103103   state->save_item(NAME(state->m_tileram));
104104}
trunk/src/mame/drivers/dynadice.c
r17672r17673
6060   DECLARE_WRITE8_MEMBER(sound_data_w);
6161   DECLARE_WRITE8_MEMBER(sound_control_w);
6262   DECLARE_DRIVER_INIT(dynadice);
63   TILE_GET_INFO_MEMBER(get_tile_info);
6364};
6465
6566
r17672r17673
192193   GFXDECODE_ENTRY( "gfx2", 0, charlayout2,  0, 1 ) /* 3bpp */
193194GFXDECODE_END
194195
195static TILE_GET_INFO( get_tile_info )
196TILE_GET_INFO_MEMBER(dynadice_state::get_tile_info)
196197{
197   dynadice_state *state = machine.driver_data<dynadice_state>();
198   int code = state->m_videoram[tile_index];
199   SET_TILE_INFO(1, code, 0, 0);
198   int code = m_videoram[tile_index];
199   SET_TILE_INFO_MEMBER(1, code, 0, 0);
200200}
201201
202202static VIDEO_START( dynadice )
r17672r17673
204204   dynadice_state *state = machine.driver_data<dynadice_state>();
205205
206206   /* pacman - style videoram layout */
207   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
208   state->m_top_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_COLS, 8, 8, 2, 32);
207   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dynadice_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
208   state->m_top_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dynadice_state::get_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 2, 32);
209209   state->m_bg_tilemap->set_scrollx(0, -16);
210210}
211211
trunk/src/mame/drivers/skyarmy.c
r17672r17673
5050   DECLARE_WRITE8_MEMBER(skyarmy_videoram_w);
5151   DECLARE_WRITE8_MEMBER(skyarmy_colorram_w);
5252   DECLARE_WRITE8_MEMBER(nmi_enable_w);
53   TILE_GET_INFO_MEMBER(get_skyarmy_tile_info);
5354};
5455
5556WRITE8_MEMBER(skyarmy_state::skyarmy_flip_screen_x_w)
r17672r17673
6263   flip_screen_y_set(data & 0x01);
6364}
6465
65static TILE_GET_INFO( get_skyarmy_tile_info )
66TILE_GET_INFO_MEMBER(skyarmy_state::get_skyarmy_tile_info)
6667{
67   skyarmy_state *state = machine.driver_data<skyarmy_state>();
68   int code = state->m_videoram[tile_index];
69   int attr = BITSWAP8(state->m_colorram[tile_index], 7, 6, 5, 4, 3, 0, 1, 2) & 7;
68   int code = m_videoram[tile_index];
69   int attr = BITSWAP8(m_colorram[tile_index], 7, 6, 5, 4, 3, 0, 1, 2) & 7;
7070
71   SET_TILE_INFO( 0, code, attr, 0);
71   SET_TILE_INFO_MEMBER( 0, code, attr, 0);
7272}
7373
7474WRITE8_MEMBER(skyarmy_state::skyarmy_videoram_w)
r17672r17673
118118{
119119   skyarmy_state *state = machine.driver_data<skyarmy_state>();
120120
121   state->m_tilemap = tilemap_create(machine, get_skyarmy_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
121   state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skyarmy_state::get_skyarmy_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
122122   state->m_tilemap->set_scroll_cols(32);
123123}
124124
trunk/src/mame/drivers/suprgolf.c
r17672r17673
6565   DECLARE_WRITE8_MEMBER(suprgolf_writeA);
6666   DECLARE_WRITE8_MEMBER(suprgolf_writeB);
6767   DECLARE_DRIVER_INIT(suprgolf);
68   TILE_GET_INFO_MEMBER(get_tile_info);
6869};
6970
70static TILE_GET_INFO( get_tile_info )
71TILE_GET_INFO_MEMBER(suprgolf_state::get_tile_info)
7172{
72   suprgolf_state *state = machine.driver_data<suprgolf_state>();
73   int code = state->m_videoram[tile_index*2]+256*(state->m_videoram[tile_index*2+1]);
74   int color = state->m_videoram[tile_index*2+0x800] & 0x7f;
73   int code = m_videoram[tile_index*2]+256*(m_videoram[tile_index*2+1]);
74   int color = m_videoram[tile_index*2+0x800] & 0x7f;
7575
76   SET_TILE_INFO(
76   SET_TILE_INFO_MEMBER(
7777      0,
7878      code,
7979      color,
r17672r17673
8484{
8585   suprgolf_state *state = machine.driver_data<suprgolf_state>();
8686
87   state->m_tilemap = tilemap_create( machine, get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32 );
87   state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(suprgolf_state::get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32 );
8888   state->m_paletteram = auto_alloc_array(machine, UINT8, 0x1000);
8989   state->m_bg_vram = auto_alloc_array(machine, UINT8, 0x2000*0x20);
9090   state->m_bg_fb = auto_alloc_array(machine, UINT16, 0x2000*0x20);
trunk/src/mame/drivers/dmndrby.c
r17672r17673
7777   DECLARE_WRITE8_MEMBER(dderby_sound_w);
7878   DECLARE_READ8_MEMBER(input_r);
7979   DECLARE_WRITE8_MEMBER(output_w);
80   TILE_GET_INFO_MEMBER(get_dmndrby_tile_info);
8081};
8182
8283
r17672r17673
317318   GFXDECODE_ENTRY( "gfx3", 0, tiles16x16_layout, 16*16, 32 )
318319GFXDECODE_END
319320
320static TILE_GET_INFO( get_dmndrby_tile_info )
321TILE_GET_INFO_MEMBER(dmndrby_state::get_dmndrby_tile_info)
321322{
322   dmndrby_state *state = machine.driver_data<dmndrby_state>();
323   int code = state->m_racetrack_tilemap_rom[tile_index];
324   int attr = state->m_racetrack_tilemap_rom[tile_index+0x2000];
323   int code = m_racetrack_tilemap_rom[tile_index];
324   int attr = m_racetrack_tilemap_rom[tile_index+0x2000];
325325
326326   int col = attr&0x1f;
327327   int flipx = (attr&0x40)>>6;
328328
329329
330   SET_TILE_INFO(
330   SET_TILE_INFO_MEMBER(
331331         2,
332332         code,
333333         col,
r17672r17673
339339{
340340   dmndrby_state *state = machine.driver_data<dmndrby_state>();
341341   state->m_racetrack_tilemap_rom = state->memregion("user1")->base();
342   state->m_racetrack_tilemap = tilemap_create(machine,get_dmndrby_tile_info,TILEMAP_SCAN_ROWS,16,16, 16, 512);
342   state->m_racetrack_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dmndrby_state::get_dmndrby_tile_info),state),TILEMAP_SCAN_ROWS,16,16, 16, 512);
343343   state->m_racetrack_tilemap->mark_all_dirty();
344344
345345}
trunk/src/mame/drivers/magicfly.c
r17672r17673
433433   DECLARE_WRITE8_MEMBER(magicfly_colorram_w);
434434   DECLARE_READ8_MEMBER(mux_port_r);
435435   DECLARE_WRITE8_MEMBER(mux_port_w);
436   TILE_GET_INFO_MEMBER(get_magicfly_tile_info);
437   TILE_GET_INFO_MEMBER(get_7mezzo_tile_info);
436438};
437439
438440
r17672r17673
453455   m_bg_tilemap->mark_tile_dirty(offset);
454456}
455457
456static TILE_GET_INFO( get_magicfly_tile_info )
458TILE_GET_INFO_MEMBER(magicfly_state::get_magicfly_tile_info)
457459{
458   magicfly_state *state = machine.driver_data<magicfly_state>();
459460/*  - bits -
460461    7654 3210
461462    ---- -xxx   Tiles color.
r17672r17673
465466    x--- ----   Mirrored from bit 3. The code check this one to boot the game.
466467
467468*/
468   int attr = state->m_colorram[tile_index];
469   int code = state->m_videoram[tile_index];
469   int attr = m_colorram[tile_index];
470   int code = m_videoram[tile_index];
470471   int bank = (attr & 0x10) >> 4;   /* bit 4 switch the gfx banks */
471472   int color = attr & 0x07;         /* bits 0-2 for color */
472473
473474    /* Seems that bit 7 is mirrored from bit 3 to have a normal boot */
474475    /* Boot only check the first color RAM offset */
475476
476   state->m_colorram[0] = state->m_colorram[0] | ((state->m_colorram[0] & 0x08) << 4);   /* only for 1st offset */
477   //state->m_colorram[tile_index] = attr | ((attr & 0x08) << 4);         /* for the whole color RAM */
477   m_colorram[0] = m_colorram[0] | ((m_colorram[0] & 0x08) << 4);   /* only for 1st offset */
478   //m_colorram[tile_index] = attr | ((attr & 0x08) << 4);         /* for the whole color RAM */
478479
479   SET_TILE_INFO(bank, code, color, 0);
480   SET_TILE_INFO_MEMBER(bank, code, color, 0);
480481}
481482
482483static VIDEO_START(magicfly)
483484{
484485   magicfly_state *state = machine.driver_data<magicfly_state>();
485   state->m_bg_tilemap = tilemap_create(machine, get_magicfly_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 29);
486   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(magicfly_state::get_magicfly_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 29);
486487}
487488
488static TILE_GET_INFO( get_7mezzo_tile_info )
489TILE_GET_INFO_MEMBER(magicfly_state::get_7mezzo_tile_info)
489490{
490   magicfly_state *state = machine.driver_data<magicfly_state>();
491491/*  - bits -
492492    7654 3210
493493    ---- -xxx   Tiles color.
r17672r17673
497497    x--- ----   Mirrored from bit 2. The code check this one to boot the game.
498498
499499*/
500   int attr = state->m_colorram[tile_index];
501   int code = state->m_videoram[tile_index];
500   int attr = m_colorram[tile_index];
501   int code = m_videoram[tile_index];
502502   int bank = (attr & 0x10) >> 4;    /* bit 4 switch the gfx banks */
503503   int color = attr & 0x07;          /* bits 0-2 for color */
504504
505505    /* Seems that bit 7 is mirrored from bit 2 to have a normal boot */
506506    /* Boot only check the first color RAM offset */
507507
508   state->m_colorram[0] = state->m_colorram[0] | ((state->m_colorram[0] & 0x04) << 5);   /* only for 1st offset */
509   //state->m_colorram[tile_index] = attr | ((attr & 0x04) << 5);         /* for the whole color RAM */
508   m_colorram[0] = m_colorram[0] | ((m_colorram[0] & 0x04) << 5);   /* only for 1st offset */
509   //m_colorram[tile_index] = attr | ((attr & 0x04) << 5);         /* for the whole color RAM */
510510
511   SET_TILE_INFO(bank, code, color, 0);
511   SET_TILE_INFO_MEMBER(bank, code, color, 0);
512512}
513513
514514static VIDEO_START( 7mezzo )
515515{
516516   magicfly_state *state = machine.driver_data<magicfly_state>();
517   state->m_bg_tilemap = tilemap_create(machine, get_7mezzo_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 29);
517   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(magicfly_state::get_7mezzo_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 29);
518518}
519519
520520static SCREEN_UPDATE_IND16( magicfly )
trunk/src/mame/drivers/namcos23.c
r17672r17673
14301430   DECLARE_READ8_MEMBER(s23_gun_r);
14311431   DECLARE_READ8_MEMBER(iob_r);
14321432   DECLARE_DRIVER_INIT(ss23);
1433   TILE_GET_INFO_MEMBER(TextTilemapGetInfo);
14331434};
14341435
14351436
r17672r17673
14401441   return (pSource[0]<<((offs&1)*16))>>16;
14411442}
14421443
1443static TILE_GET_INFO( TextTilemapGetInfo )
1444TILE_GET_INFO_MEMBER(namcos23_state::TextTilemapGetInfo)
14441445{
1445   namcos23_state *state = machine.driver_data<namcos23_state>();
1446   UINT16 data = nthword( state->m_textram,tile_index );
1446   UINT16 data = nthword( m_textram,tile_index );
14471447  /**
14481448    * x---.----.----.---- blend
14491449    * xxxx.----.----.---- palette select
14501450    * ----.xx--.----.---- flip
14511451    * ----.--xx.xxxx.xxxx code
14521452    */
1453   SET_TILE_INFO( 0, data&0x03ff, data>>12, TILE_FLIPYX((data&0x0c00)>>10) );
1453   SET_TILE_INFO_MEMBER( 0, data&0x03ff, data>>12, TILE_FLIPYX((data&0x0c00)>>10) );
14541454} /* TextTilemapGetInfo */
14551455
14561456WRITE32_MEMBER(namcos23_state::namcos23_textram_w)
r17672r17673
23992399{
24002400   namcos23_state *state = machine.driver_data<namcos23_state>();
24012401   machine.gfx[0]->set_source(reinterpret_cast<UINT8 *>(state->m_charram.target()));
2402   state->m_bgtilemap = tilemap_create(machine, TextTilemapGetInfo, TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
2402   state->m_bgtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(namcos23_state::TextTilemapGetInfo),state), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
24032403   state->m_bgtilemap->set_transparent_pen(0xf);
24042404
24052405   // Gorgon's tilemap offset is 0, S23/SS23's is 860
trunk/src/mame/drivers/onetwo.c
r17672r17673
7272   DECLARE_WRITE8_MEMBER(onetwo_soundlatch_w);
7373   DECLARE_WRITE8_MEMBER(palette1_w);
7474   DECLARE_WRITE8_MEMBER(palette2_w);
75   TILE_GET_INFO_MEMBER(get_fg_tile_info);
7576};
7677
7778
r17672r17673
8283 *
8384 *************************************/
8485
85static TILE_GET_INFO( get_fg_tile_info )
86TILE_GET_INFO_MEMBER(onetwo_state::get_fg_tile_info)
8687{
87   onetwo_state *state = machine.driver_data<onetwo_state>();
88   int code = (state->m_fgram[tile_index * 2 + 1] << 8) | state->m_fgram[tile_index * 2];
89   int color = (state->m_fgram[tile_index * 2 + 1] & 0x80) >> 7;
88   int code = (m_fgram[tile_index * 2 + 1] << 8) | m_fgram[tile_index * 2];
89   int color = (m_fgram[tile_index * 2 + 1] & 0x80) >> 7;
9090
9191   code &= 0x7fff;
9292
93   SET_TILE_INFO(0, code, color, 0);
93   SET_TILE_INFO_MEMBER(0, code, color, 0);
9494}
9595
9696static VIDEO_START( onetwo )
9797{
9898   onetwo_state *state = machine.driver_data<onetwo_state>();
99   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
99   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(onetwo_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
100100}
101101
102102static SCREEN_UPDATE_IND16( onetwo )
trunk/src/mame/drivers/mayumi.c
r17672r17673
4141   DECLARE_WRITE8_MEMBER(input_sel_w);
4242   DECLARE_READ8_MEMBER(key_matrix_1p_r);
4343   DECLARE_READ8_MEMBER(key_matrix_2p_r);
44   TILE_GET_INFO_MEMBER(get_tile_info);
4445};
4546
4647
r17672r17673
5051 *
5152 *************************************/
5253
53static TILE_GET_INFO( get_tile_info )
54TILE_GET_INFO_MEMBER(mayumi_state::get_tile_info)
5455{
55   mayumi_state *state = machine.driver_data<mayumi_state>();
56   int code = state->m_videoram[tile_index] + (state->m_videoram[tile_index + 0x800] & 0x1f) * 0x100;
57   int col = (state->m_videoram[tile_index + 0x1000] >> 3) & 0x1f;
56   int code = m_videoram[tile_index] + (m_videoram[tile_index + 0x800] & 0x1f) * 0x100;
57   int col = (m_videoram[tile_index + 0x1000] >> 3) & 0x1f;
5858
59   SET_TILE_INFO(0, code, col, 0);
59   SET_TILE_INFO_MEMBER(0, code, col, 0);
6060}
6161
6262static VIDEO_START( mayumi )
6363{
6464   mayumi_state *state = machine.driver_data<mayumi_state>();
65   state->m_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
65   state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mayumi_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
6666}
6767
6868WRITE8_MEMBER(mayumi_state::mayumi_videoram_w)
trunk/src/mame/drivers/bnstars.c
r17672r17673
147147   DECLARE_READ32_MEMBER(bnstars3_r);
148148   DECLARE_WRITE32_MEMBER(bnstars1_mahjong_select_w);
149149   DECLARE_DRIVER_INIT(bnstars);
150   TILE_GET_INFO_MEMBER(get_ms32_tx0_tile_info);
151   TILE_GET_INFO_MEMBER(get_ms32_tx1_tile_info);
152   TILE_GET_INFO_MEMBER(get_ms32_bg0_tile_info);
153   TILE_GET_INFO_MEMBER(get_ms32_bg1_tile_info);
154   TILE_GET_INFO_MEMBER(get_ms32_roz0_tile_info);
155   TILE_GET_INFO_MEMBER(get_ms32_roz1_tile_info);
150156};
151157
152158
153159
154static TILE_GET_INFO( get_ms32_tx0_tile_info )
160TILE_GET_INFO_MEMBER(bnstars_state::get_ms32_tx0_tile_info)
155161{
156   bnstars_state *state = machine.driver_data<bnstars_state>();
157162   int tileno, colour;
158163
159   tileno = state->m_ms32_tx0_ram[tile_index *2+0] & 0x0000ffff;
160   colour = state->m_ms32_tx0_ram[tile_index *2+1] & 0x0000000f;
164   tileno = m_ms32_tx0_ram[tile_index *2+0] & 0x0000ffff;
165   colour = m_ms32_tx0_ram[tile_index *2+1] & 0x0000000f;
161166
162   SET_TILE_INFO(3,tileno,colour,0);
167   SET_TILE_INFO_MEMBER(3,tileno,colour,0);
163168}
164169
165static TILE_GET_INFO( get_ms32_tx1_tile_info )
170TILE_GET_INFO_MEMBER(bnstars_state::get_ms32_tx1_tile_info)
166171{
167   bnstars_state *state = machine.driver_data<bnstars_state>();
168172   int tileno, colour;
169173
170   tileno = state->m_ms32_tx1_ram[tile_index *2+0] & 0x0000ffff;
171   colour = state->m_ms32_tx1_ram[tile_index *2+1] & 0x0000000f;
174   tileno = m_ms32_tx1_ram[tile_index *2+0] & 0x0000ffff;
175   colour = m_ms32_tx1_ram[tile_index *2+1] & 0x0000000f;
172176
173   SET_TILE_INFO(7,tileno,colour,0);
177   SET_TILE_INFO_MEMBER(7,tileno,colour,0);
174178}
175179
176180WRITE32_MEMBER(bnstars_state::ms32_tx0_ram_w)
r17672r17673
187191
188192/* BG Layers */
189193
190static TILE_GET_INFO( get_ms32_bg0_tile_info )
194TILE_GET_INFO_MEMBER(bnstars_state::get_ms32_bg0_tile_info)
191195{
192   bnstars_state *state = machine.driver_data<bnstars_state>();
193196   int tileno,colour;
194197
195   tileno = state->m_ms32_bg0_ram[tile_index *2+0] & 0x0000ffff;
196   colour = state->m_ms32_bg0_ram[tile_index *2+1] & 0x0000000f;
198   tileno = m_ms32_bg0_ram[tile_index *2+0] & 0x0000ffff;
199   colour = m_ms32_bg0_ram[tile_index *2+1] & 0x0000000f;
197200
198   SET_TILE_INFO(2,tileno,colour,0);
201   SET_TILE_INFO_MEMBER(2,tileno,colour,0);
199202}
200203
201static TILE_GET_INFO( get_ms32_bg1_tile_info )
204TILE_GET_INFO_MEMBER(bnstars_state::get_ms32_bg1_tile_info)
202205{
203   bnstars_state *state = machine.driver_data<bnstars_state>();
204206   int tileno,colour;
205207
206   tileno = state->m_ms32_bg1_ram[tile_index *2+0] & 0x0000ffff;
207   colour = state->m_ms32_bg1_ram[tile_index *2+1] & 0x0000000f;
208   tileno = m_ms32_bg1_ram[tile_index *2+0] & 0x0000ffff;
209   colour = m_ms32_bg1_ram[tile_index *2+1] & 0x0000000f;
208210
209   SET_TILE_INFO(6,tileno,colour,0);
211   SET_TILE_INFO_MEMBER(6,tileno,colour,0);
210212}
211213
212214WRITE32_MEMBER(bnstars_state::ms32_bg0_ram_w)
r17672r17673
309311}
310312
311313
312static TILE_GET_INFO( get_ms32_roz0_tile_info )
314TILE_GET_INFO_MEMBER(bnstars_state::get_ms32_roz0_tile_info)
313315{
314   bnstars_state *state = machine.driver_data<bnstars_state>();
315316   int tileno,colour;
316317
317   tileno = state->m_ms32_roz0_ram[tile_index *2+0] & 0x0000ffff;
318   colour = state->m_ms32_roz0_ram[tile_index *2+1] & 0x0000000f;
318   tileno = m_ms32_roz0_ram[tile_index *2+0] & 0x0000ffff;
319   colour = m_ms32_roz0_ram[tile_index *2+1] & 0x0000000f;
319320
320   SET_TILE_INFO(1,tileno,colour,0);
321   SET_TILE_INFO_MEMBER(1,tileno,colour,0);
321322}
322323
323static TILE_GET_INFO( get_ms32_roz1_tile_info )
324TILE_GET_INFO_MEMBER(bnstars_state::get_ms32_roz1_tile_info)
324325{
325   bnstars_state *state = machine.driver_data<bnstars_state>();
326326   int tileno,colour;
327327
328   tileno = state->m_ms32_roz1_ram[tile_index *2+0] & 0x0000ffff;
329   colour = state->m_ms32_roz1_ram[tile_index *2+1] & 0x0000000f;
328   tileno = m_ms32_roz1_ram[tile_index *2+0] & 0x0000ffff;
329   colour = m_ms32_roz1_ram[tile_index *2+1] & 0x0000000f;
330330
331   SET_TILE_INFO(5,tileno,colour,0);
331   SET_TILE_INFO_MEMBER(5,tileno,colour,0);
332332}
333333
334334WRITE32_MEMBER(bnstars_state::ms32_roz0_ram_w)
r17672r17673
507507static VIDEO_START(bnstars)
508508{
509509   bnstars_state *state = machine.driver_data<bnstars_state>();
510   state->m_ms32_tx_tilemap[0] = tilemap_create(machine, get_ms32_tx0_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,64);
511   state->m_ms32_tx_tilemap[1] = tilemap_create(machine, get_ms32_tx1_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,64);
510   state->m_ms32_tx_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bnstars_state::get_ms32_tx0_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,64);
511   state->m_ms32_tx_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bnstars_state::get_ms32_tx1_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,64);
512512   state->m_ms32_tx_tilemap[0]->set_transparent_pen(0);
513513   state->m_ms32_tx_tilemap[1]->set_transparent_pen(0);
514514
515   state->m_ms32_bg_tilemap[0] = tilemap_create(machine, get_ms32_bg0_tile_info,TILEMAP_SCAN_ROWS,16,16,64,64);
516   state->m_ms32_bg_tilemap[1] = tilemap_create(machine, get_ms32_bg1_tile_info,TILEMAP_SCAN_ROWS,16,16,64,64);
515   state->m_ms32_bg_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bnstars_state::get_ms32_bg0_tile_info),state),TILEMAP_SCAN_ROWS,16,16,64,64);
516   state->m_ms32_bg_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bnstars_state::get_ms32_bg1_tile_info),state),TILEMAP_SCAN_ROWS,16,16,64,64);
517517   state->m_ms32_bg_tilemap[0]->set_transparent_pen(0);
518518   state->m_ms32_bg_tilemap[1]->set_transparent_pen(0);
519519
520   state->m_ms32_roz_tilemap[0] = tilemap_create(machine, get_ms32_roz0_tile_info,TILEMAP_SCAN_ROWS,16,16,128,128);
521   state->m_ms32_roz_tilemap[1] = tilemap_create(machine, get_ms32_roz1_tile_info,TILEMAP_SCAN_ROWS,16,16,128,128);
520   state->m_ms32_roz_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bnstars_state::get_ms32_roz0_tile_info),state),TILEMAP_SCAN_ROWS,16,16,128,128);
521   state->m_ms32_roz_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(bnstars_state::get_ms32_roz1_tile_info),state),TILEMAP_SCAN_ROWS,16,16,128,128);
522522   state->m_ms32_roz_tilemap[0]->set_transparent_pen(0);
523523   state->m_ms32_roz_tilemap[1]->set_transparent_pen(0);
524524
trunk/src/mame/drivers/vmetal.c
r17672r17673
116116   DECLARE_READ16_MEMBER(varia_dips_bit1_r);
117117   DECLARE_WRITE8_MEMBER(vmetal_control_w);
118118   DECLARE_WRITE8_MEMBER(vmetal_es8712_w);
119   TILE_GET_INFO_MEMBER(get_vmetal_texttilemap_tile_info);
120   TILE_GET_INFO_MEMBER(get_vmetal_mid1tilemap_tile_info);
121   TILE_GET_INFO_MEMBER(get_vmetal_mid2tilemap_tile_info);
119122};
120123
121124
r17672r17673
383386GFXDECODE_END
384387
385388
386static TILE_GET_INFO( get_vmetal_texttilemap_tile_info )
389TILE_GET_INFO_MEMBER(vmetal_state::get_vmetal_texttilemap_tile_info)
387390{
388   vmetal_state *state = machine.driver_data<vmetal_state>();
389391   UINT32 tile;
390   UINT16 color, data = state->m_texttileram[tile_index];
392   UINT16 color, data = m_texttileram[tile_index];
391393   int idx = ((data & 0x7fff) >> 4) * 2;
392   UINT32 lookup = (state->m_tlookup[idx] << 16) | state->m_tlookup[idx + 1];
394   UINT32 lookup = (m_tlookup[idx] << 16) | m_tlookup[idx + 1];
393395
394396   tile = (data & 0xf) | (lookup & 0x7fff0);
395397   color = ((lookup >> 20) & 0x1f) + 0xe0;
r17672r17673
397399   if (data & 0x8000)
398400      tile = 0;
399401
400   SET_TILE_INFO(1, tile, color, TILE_FLIPYX(0x0));
402   SET_TILE_INFO_MEMBER(1, tile, color, TILE_FLIPYX(0x0));
401403}
402404
403405
404static TILE_GET_INFO( get_vmetal_mid1tilemap_tile_info )
406TILE_GET_INFO_MEMBER(vmetal_state::get_vmetal_mid1tilemap_tile_info)
405407{
406   vmetal_state *state = machine.driver_data<vmetal_state>();
407   UINT16 tile, color, data = state->m_mid1tileram[tile_index];
408   UINT16 tile, color, data = m_mid1tileram[tile_index];
408409
409   get_vmetal_tlookup(machine, data, &tile, &color);
410   get_vmetal_tlookup(machine(), data, &tile, &color);
410411
411412   if (data & 0x8000)
412413      tile = 0;
413414
414   SET_TILE_INFO(0, tile, color, TILE_FLIPYX(0x0));
415   SET_TILE_INFO_MEMBER(0, tile, color, TILE_FLIPYX(0x0));
415416}
416417
417static TILE_GET_INFO( get_vmetal_mid2tilemap_tile_info )
418TILE_GET_INFO_MEMBER(vmetal_state::get_vmetal_mid2tilemap_tile_info)
418419{
419   vmetal_state *state = machine.driver_data<vmetal_state>();
420   UINT16 tile, color, data = state->m_mid2tileram[tile_index];
420   UINT16 tile, color, data = m_mid2tileram[tile_index];
421421
422   get_vmetal_tlookup(machine, data, &tile, &color);
422   get_vmetal_tlookup(machine(), data, &tile, &color);
423423
424424   if (data & 0x8000)
425425      tile = 0;
426426
427   SET_TILE_INFO(0, tile, color, TILE_FLIPYX(0x0));
427   SET_TILE_INFO_MEMBER(0, tile, color, TILE_FLIPYX(0x0));
428428}
429429
430430static void expand_gfx1(running_machine &machine)
r17672r17673
445445{
446446   vmetal_state *state = machine.driver_data<vmetal_state>();
447447
448   state->m_texttilemap = tilemap_create(machine, get_vmetal_texttilemap_tile_info, TILEMAP_SCAN_ROWS,  8,  8, 256, 256);
449   state->m_mid1tilemap = tilemap_create(machine, get_vmetal_mid1tilemap_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 256, 256);
450   state->m_mid2tilemap = tilemap_create(machine, get_vmetal_mid2tilemap_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 256, 256);
448   state->m_texttilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(vmetal_state::get_vmetal_texttilemap_tile_info),state), TILEMAP_SCAN_ROWS,  8,  8, 256, 256);
449   state->m_mid1tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(vmetal_state::get_vmetal_mid1tilemap_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 256, 256);
450   state->m_mid2tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(vmetal_state::get_vmetal_mid2tilemap_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 256, 256);
451451
452452   state->m_texttilemap->set_transparent_pen(15);
453453   state->m_mid1tilemap->set_transparent_pen(15);
trunk/src/mame/drivers/firefox.c
r17672r17673
9595   DECLARE_READ8_MEMBER(riot_porta_r);
9696   DECLARE_WRITE8_MEMBER(riot_porta_w);
9797   DECLARE_WRITE_LINE_MEMBER(riot_irq);
98   TILE_GET_INFO_MEMBER(bgtile_get_info);
9899};
99100
100101
r17672r17673
190191 *
191192 *************************************/
192193
193static TILE_GET_INFO( bgtile_get_info )
194TILE_GET_INFO_MEMBER(firefox_state::bgtile_get_info)
194195{
195   firefox_state *state = machine.driver_data<firefox_state>();
196   SET_TILE_INFO(0, state->m_tileram[tile_index], 0, 0);
196   SET_TILE_INFO_MEMBER(0, m_tileram[tile_index], 0, 0);
197197}
198198
199199
r17672r17673
207207static VIDEO_START( firefox )
208208{
209209   firefox_state *state = machine.driver_data<firefox_state>();
210   state->m_bgtiles = tilemap_create(machine, bgtile_get_info, TILEMAP_SCAN_ROWS, 8,8, 64,64);
210   state->m_bgtiles = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(firefox_state::bgtile_get_info),state), TILEMAP_SCAN_ROWS, 8,8, 64,64);
211211   state->m_bgtiles->set_transparent_pen(0);
212212   state->m_bgtiles->set_scrolldy(machine.primary_screen->visible_area().min_y, 0);
213213}
trunk/src/mame/drivers/caswin.c
r17672r17673
6565   DECLARE_READ8_MEMBER(vvillage_rng_r);
6666   DECLARE_WRITE8_MEMBER(vvillage_output_w);
6767   DECLARE_WRITE8_MEMBER(vvillage_lamps_w);
68   TILE_GET_INFO_MEMBER(get_sc0_tile_info);
6869};
6970
7071
7172
72static TILE_GET_INFO( get_sc0_tile_info )
73TILE_GET_INFO_MEMBER(caswin_state::get_sc0_tile_info)
7374{
74   caswin_state *state = machine.driver_data<caswin_state>();
75   int tile = (state->m_sc0_vram[tile_index] | ((state->m_sc0_attr[tile_index] & 0x70)<<4)) & 0x7ff;
76   int colour = state->m_sc0_attr[tile_index] & 0xf;
75   int tile = (m_sc0_vram[tile_index] | ((m_sc0_attr[tile_index] & 0x70)<<4)) & 0x7ff;
76   int colour = m_sc0_attr[tile_index] & 0xf;
7777
78   SET_TILE_INFO(
78   SET_TILE_INFO_MEMBER(
7979         0,
8080         tile,
8181         colour,
r17672r17673
8585static VIDEO_START(vvillage)
8686{
8787   caswin_state *state = machine.driver_data<caswin_state>();
88   state->m_sc0_tilemap = tilemap_create(machine, get_sc0_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
88   state->m_sc0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(caswin_state::get_sc0_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
8989}
9090
9191static SCREEN_UPDATE_IND16(vvillage)
trunk/src/mame/drivers/koftball.c
r17672r17673
6262   DECLARE_WRITE16_MEMBER(bmc_1_videoram_w);
6363   DECLARE_WRITE16_MEMBER(bmc_2_videoram_w);
6464   DECLARE_DRIVER_INIT(koftball);
65   TILE_GET_INFO_MEMBER(get_t1_tile_info);
66   TILE_GET_INFO_MEMBER(get_t2_tile_info);
6567};
6668
6769
68static TILE_GET_INFO( get_t1_tile_info )
70TILE_GET_INFO_MEMBER(koftball_state::get_t1_tile_info)
6971{
70   koftball_state *state = machine.driver_data<koftball_state>();
71   int data = state->m_bmc_1_videoram[tile_index];
72   SET_TILE_INFO(
72   int data = m_bmc_1_videoram[tile_index];
73   SET_TILE_INFO_MEMBER(
7374         0,
7475         data,
7576         0,
7677         0);
7778}
7879
79static TILE_GET_INFO( get_t2_tile_info )
80TILE_GET_INFO_MEMBER(koftball_state::get_t2_tile_info)
8081{
81   koftball_state *state = machine.driver_data<koftball_state>();
82   int data = state->m_bmc_2_videoram[tile_index];
83   SET_TILE_INFO(
82   int data = m_bmc_2_videoram[tile_index];
83   SET_TILE_INFO_MEMBER(
8484         0,
8585         data,
8686         0,
r17672r17673
9090static VIDEO_START( koftball )
9191{
9292   koftball_state *state = machine.driver_data<koftball_state>();
93   state->m_tilemap_1 = tilemap_create(machine, get_t1_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
94   state->m_tilemap_2 = tilemap_create(machine, get_t2_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
93   state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(koftball_state::get_t1_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
94   state->m_tilemap_2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(koftball_state::get_t2_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
9595
9696   state->m_tilemap_1->set_transparent_pen(0);
9797}
trunk/src/mame/drivers/igs_m027.c
r17672r17673
5555   DECLARE_DRIVER_INIT(hauntedh);
5656   DECLARE_DRIVER_INIT(bigd2);
5757   DECLARE_DRIVER_INIT(klxyj);
58   TILE_GET_INFO_MEMBER(get_tx_tilemap_tile_info);
59   TILE_GET_INFO_MEMBER(get_bg_tilemap_tile_info);
5860};
5961
6062
r17672r17673
125127   //logerror( "TX VIDEO RAM OFFSET %x ,data %x!\n",offset ,m_igs_tx_videoram[offset]);
126128}
127129
128static TILE_GET_INFO( get_tx_tilemap_tile_info )
130TILE_GET_INFO_MEMBER(igs_m027_state::get_tx_tilemap_tile_info)
129131{
130   igs_m027_state *state = machine.driver_data<igs_m027_state>();
131132   //ppppppppNNNNNNNN
132133   int tileno,colour;
133   tileno = state->m_igs_tx_videoram[tile_index] & 0xffff;
134   colour = (state->m_igs_tx_videoram[tile_index]>>0x10) & 0xffff;
134   tileno = m_igs_tx_videoram[tile_index] & 0xffff;
135   colour = (m_igs_tx_videoram[tile_index]>>0x10) & 0xffff;
135136
136   SET_TILE_INFO(0,tileno,colour,0);
137   SET_TILE_INFO_MEMBER(0,tileno,colour,0);
137138}
138139
139140/* BG Layer */
r17672r17673
145146   logerror("BG VIDEO RAM OFFSET %x ,data %x!\n",offset ,m_igs_bg_videoram[offset]);
146147}
147148
148static TILE_GET_INFO( get_bg_tilemap_tile_info )
149TILE_GET_INFO_MEMBER(igs_m027_state::get_bg_tilemap_tile_info)
149150{
150   igs_m027_state *state = machine.driver_data<igs_m027_state>();
151151   //ppppppppNNNNNNNN
152152   int tileno,colour;
153   tileno = state->m_igs_bg_videoram[tile_index] & 0xffff;
154   colour = (state->m_igs_bg_videoram[tile_index]>>0x10) & 0xffff;
153   tileno = m_igs_bg_videoram[tile_index] & 0xffff;
154   colour = (m_igs_bg_videoram[tile_index]>>0x10) & 0xffff;
155155
156   SET_TILE_INFO(0,tileno,colour,0);
156   SET_TILE_INFO_MEMBER(0,tileno,colour,0);
157157}
158158
159159
r17672r17673
173173static VIDEO_START(igs_majhong)
174174{
175175   igs_m027_state *state = machine.driver_data<igs_m027_state>();
176   state->m_igs_tx_tilemap= tilemap_create(machine, get_tx_tilemap_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,32);
176   state->m_igs_tx_tilemap= &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs_m027_state::get_tx_tilemap_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
177177   state->m_igs_tx_tilemap->set_transparent_pen(15);
178   state->m_igs_bg_tilemap= tilemap_create(machine, get_bg_tilemap_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,32);
179   //state->m_igs_bg_tilemap= tilemap_create(machine, get_bg_tilemap_tile_info,TILEMAP_SCAN_ROWS, 8, 8,64,32);
178   state->m_igs_bg_tilemap= &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs_m027_state::get_bg_tilemap_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
179   //state->m_igs_bg_tilemap= &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs_m027_state::get_bg_tilemap_tile_info),state),TILEMAP_SCAN_ROWS, 8, 8,64,32);
180180   //state->m_igs_bg_tilemap->set_transparent_pen(15);
181181   logerror("Video START OK!\n");
182182}
trunk/src/mame/drivers/subsino2.c
r17672r17673
159159   DECLARE_DRIVER_INIT(mtrain);
160160   DECLARE_DRIVER_INIT(saklove);
161161   DECLARE_DRIVER_INIT(xplan);
162   TILE_GET_INFO_MEMBER(ss9601_get_tile_info_0);
163   TILE_GET_INFO_MEMBER(ss9601_get_tile_info_1);
162164};
163165
164166
r17672r17673
182184}
183185
184186// Layer 0
185static TILE_GET_INFO( ss9601_get_tile_info_0 )
187TILE_GET_INFO_MEMBER(subsino2_state::ss9601_get_tile_info_0)
186188{
187   subsino2_state *state = machine.driver_data<subsino2_state>();
188   ss9601_get_tile_info(&state->m_layers[0], machine, tileinfo, tile_index, param);
189   ss9601_get_tile_info(&m_layers[0], machine(), tileinfo, tile_index, param);
189190}
190191
191192// Layer 1
192static TILE_GET_INFO( ss9601_get_tile_info_1 )
193TILE_GET_INFO_MEMBER(subsino2_state::ss9601_get_tile_info_1)
193194{
194   subsino2_state *state = machine.driver_data<subsino2_state>();
195   ss9601_get_tile_info(&state->m_layers[1], machine, tileinfo, tile_index, param);
195   ss9601_get_tile_info(&m_layers[1], machine(), tileinfo, tile_index, param);
196196}
197197
198198
r17672r17673
577577   {
578578      layer_t *l = &state->m_layers[i];
579579
580      l->tmap = tilemap_create(machine, i ? ss9601_get_tile_info_1 : ss9601_get_tile_info_0, TILEMAP_SCAN_ROWS, 8,8, 0x80,0x40);
580      l->tmap = &machine.tilemap().create(i ? tilemap_get_info_delegate(FUNC(subsino2_state::ss9601_get_tile_info_1),state) : tilemap_get_info_delegate(FUNC(subsino2_state::ss9601_get_tile_info_0),state), TILEMAP_SCAN_ROWS, 8,8, 0x80,0x40);
581581
582582      l->tmap->set_transparent_pen(0);
583583
trunk/src/mame/drivers/m63.c
r17672r17673
177177   DECLARE_WRITE8_MEMBER(nmi_mask_w);
178178   DECLARE_DRIVER_INIT(wilytowr);
179179   DECLARE_DRIVER_INIT(fghtbskt);
180   TILE_GET_INFO_MEMBER(get_bg_tile_info);
181   TILE_GET_INFO_MEMBER(get_fg_tile_info);
180182};
181183
182184
r17672r17673
284286}
285287
286288
287static TILE_GET_INFO( get_bg_tile_info )
289TILE_GET_INFO_MEMBER(m63_state::get_bg_tile_info)
288290{
289   m63_state *state = machine.driver_data<m63_state>();
290291
291   int attr = state->m_colorram[tile_index];
292   int code = state->m_videoram[tile_index] | ((attr & 0x30) << 4);
293   int color = (attr & 0x0f) + (state->m_pal_bank << 4);
292   int attr = m_colorram[tile_index];
293   int code = m_videoram[tile_index] | ((attr & 0x30) << 4);
294   int color = (attr & 0x0f) + (m_pal_bank << 4);
294295
295   SET_TILE_INFO(1, code, color, 0);
296   SET_TILE_INFO_MEMBER(1, code, color, 0);
296297}
297298
298static TILE_GET_INFO( get_fg_tile_info )
299TILE_GET_INFO_MEMBER(m63_state::get_fg_tile_info)
299300{
300   m63_state *state = machine.driver_data<m63_state>();
301301
302   int code = state->m_videoram2[tile_index];
302   int code = m_videoram2[tile_index];
303303
304   SET_TILE_INFO(0, code, 0, state->m_fg_flag);
304   SET_TILE_INFO_MEMBER(0, code, 0, m_fg_flag);
305305}
306306
307307static VIDEO_START( m63 )
308308{
309309   m63_state *state = machine.driver_data<m63_state>();
310310
311   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
312   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
311   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m63_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
312   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(m63_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
313313
314314   state->m_bg_tilemap->set_scroll_cols(32);
315315   state->m_fg_tilemap->set_transparent_pen(0);
trunk/src/mame/drivers/jclub2.c
r17672r17673
138138   DECLARE_WRITE32_MEMBER(darkhors_unk1_w);
139139   DECLARE_WRITE32_MEMBER(darkhors_eeprom_w);
140140   DECLARE_DRIVER_INIT(darkhors);
141   TILE_GET_INFO_MEMBER(get_tile_info_0);
142   TILE_GET_INFO_MEMBER(get_tile_info_1);
141143};
142144
143145
r17672r17673
155157static SCREEN_UPDATE_IND16( darkhors );
156158
157159
158static TILE_GET_INFO( get_tile_info_0 )
160TILE_GET_INFO_MEMBER(darkhors_state::get_tile_info_0)
159161{
160   darkhors_state *state = machine.driver_data<darkhors_state>();
161   UINT16 tile      =   state->m_tmapram[tile_index] >> 16;
162   UINT16 color   =   state->m_tmapram[tile_index] & 0xffff;
163   SET_TILE_INFO(0, tile/2, (color & 0x200) ? (color & 0x1ff) : ((color & 0x0ff) * 4) , 0);
162   UINT16 tile      =   m_tmapram[tile_index] >> 16;
163   UINT16 color   =   m_tmapram[tile_index] & 0xffff;
164   SET_TILE_INFO_MEMBER(0, tile/2, (color & 0x200) ? (color & 0x1ff) : ((color & 0x0ff) * 4) , 0);
164165}
165166
166static TILE_GET_INFO( get_tile_info_1 )
167TILE_GET_INFO_MEMBER(darkhors_state::get_tile_info_1)
167168{
168   darkhors_state *state = machine.driver_data<darkhors_state>();
169   UINT16 tile      =   state->m_tmapram2[tile_index] >> 16;
170   UINT16 color   =   state->m_tmapram2[tile_index] & 0xffff;
171   SET_TILE_INFO(0, tile/2, (color & 0x200) ? (color & 0x1ff) : ((color & 0x0ff) * 4) , 0);
169   UINT16 tile      =   m_tmapram2[tile_index] >> 16;
170   UINT16 color   =   m_tmapram2[tile_index] & 0xffff;
171   SET_TILE_INFO_MEMBER(0, tile/2, (color & 0x200) ? (color & 0x1ff) : ((color & 0x0ff) * 4) , 0);
172172}
173173
174174WRITE32_MEMBER(darkhors_state::darkhors_tmapram_w)
r17672r17673
220220static VIDEO_START( darkhors )
221221{
222222   darkhors_state *state = machine.driver_data<darkhors_state>();
223   state->m_tmap         =   tilemap_create(   machine, get_tile_info_0, TILEMAP_SCAN_ROWS,
224                                    16,16, 0x40,0x40   );
225
226   state->m_tmap2         =   tilemap_create(   machine, get_tile_info_1, TILEMAP_SCAN_ROWS,
227                                    16,16, 0x40,0x40   );
228
223   state->m_tmap =   &machine.tilemap().create(tilemap_get_info_delegate(FUNC(darkhors_state::get_tile_info_0),state), TILEMAP_SCAN_ROWS,16,16, 0x40,0x40);
224   state->m_tmap2= &machine.tilemap().create(tilemap_get_info_delegate(FUNC(darkhors_state::get_tile_info_1),state), TILEMAP_SCAN_ROWS,16,16, 0x40,0x40);
229225   state->m_tmap->set_transparent_pen(0);
230226   state->m_tmap2->set_transparent_pen(0);
231227
trunk/src/mame/drivers/rmhaihai.c
r17672r17673
5656   DECLARE_WRITE8_MEMBER(themj_rombank_w);
5757   DECLARE_WRITE8_MEMBER(adpcm_w);
5858   DECLARE_DRIVER_INIT(rmhaihai);
59   TILE_GET_INFO_MEMBER(get_bg_tile_info);
5960};
6061
6162
r17672r17673
7273   m_bg_tilemap->mark_tile_dirty(offset);
7374}
7475
75static TILE_GET_INFO( get_bg_tile_info )
76TILE_GET_INFO_MEMBER(rmhaihai_state::get_bg_tile_info)
7677{
77   rmhaihai_state *state = machine.driver_data<rmhaihai_state>();
78   int attr = state->m_colorram[tile_index];
79   int code = state->m_videoram[tile_index] + (state->m_gfxbank << 12) + ((attr & 0x07) << 8) + ((attr & 0x80) << 4);
80   int color = (state->m_gfxbank << 5) + (attr >> 3);
78   int attr = m_colorram[tile_index];
79   int code = m_videoram[tile_index] + (m_gfxbank << 12) + ((attr & 0x07) << 8) + ((attr & 0x80) << 4);
80   int color = (m_gfxbank << 5) + (attr >> 3);
8181
82   SET_TILE_INFO(0, code, color, 0);
82   SET_TILE_INFO_MEMBER(0, code, color, 0);
8383}
8484
8585static VIDEO_START( rmhaihai )
8686{
8787   rmhaihai_state *state = machine.driver_data<rmhaihai_state>();
88   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,
88   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rmhaihai_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,
8989      8, 8, 64, 32);
9090}
9191
trunk/src/mame/drivers/midas.c
r17672r17673
7676   DECLARE_WRITE16_MEMBER(hammer_led_w);
7777   DECLARE_WRITE16_MEMBER(midas_eeprom_w);
7878   DECLARE_DRIVER_INIT(livequiz);
79   TILE_GET_INFO_MEMBER(get_tile_info);
7980};
8081
8182
r17672r17673
8384static SCREEN_UPDATE_IND16( midas );
8485
8586
86static TILE_GET_INFO( get_tile_info )
87TILE_GET_INFO_MEMBER(midas_state::get_tile_info)
8788{
88   midas_state *state = machine.driver_data<midas_state>();
89   UINT16 code = state->m_gfxram[ tile_index + 0x7000 ];
90   SET_TILE_INFO(1, code & 0xfff, (code >> 12) & 0xf, TILE_FLIPXY( 0 ));
89   UINT16 code = m_gfxram[ tile_index + 0x7000 ];
90   SET_TILE_INFO_MEMBER(1, code & 0xfff, (code >> 12) & 0xf, TILE_FLIPXY( 0 ));
9191}
9292
9393static VIDEO_START( midas )
r17672r17673
9595   midas_state *state = machine.driver_data<midas_state>();
9696   state->m_gfxram = auto_alloc_array(machine, UINT16, 0x20000/2);
9797
98   state->m_tmap = tilemap_create(   machine, get_tile_info, TILEMAP_SCAN_COLS,
99                     8,8, 0x80,0x20   );
98   state->m_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(midas_state::get_tile_info),state), TILEMAP_SCAN_COLS,8,8,0x80,0x20);
10099
101100   state->m_tmap->set_transparent_pen(0);
102101}
trunk/src/mame/drivers/galaxi.c
r17672r17673
8686   DECLARE_WRITE16_MEMBER(galaxi_500004_w);
8787   DECLARE_CUSTOM_INPUT_MEMBER(ticket_r);
8888   DECLARE_CUSTOM_INPUT_MEMBER(hopper_r);
89   TILE_GET_INFO_MEMBER(get_bg1_tile_info);
90   TILE_GET_INFO_MEMBER(get_bg2_tile_info);
91   TILE_GET_INFO_MEMBER(get_bg3_tile_info);
92   TILE_GET_INFO_MEMBER(get_bg4_tile_info);
93   TILE_GET_INFO_MEMBER(get_fg_tile_info);
8994};
9095
9196
r17672r17673
9398                                Video Hardware
9499***************************************************************************/
95100
96static TILE_GET_INFO( get_bg1_tile_info )
101TILE_GET_INFO_MEMBER(galaxi_state::get_bg1_tile_info)
97102{
98   galaxi_state *state = machine.driver_data<galaxi_state>();
99   UINT16 code = state->m_bg1_ram[tile_index];
100   SET_TILE_INFO(0, code, 0x10 + (code >> 12), 0);
103   UINT16 code = m_bg1_ram[tile_index];
104   SET_TILE_INFO_MEMBER(0, code, 0x10 + (code >> 12), 0);
101105}
102106
103static TILE_GET_INFO( get_bg2_tile_info )
107TILE_GET_INFO_MEMBER(galaxi_state::get_bg2_tile_info)
104108{
105   galaxi_state *state = machine.driver_data<galaxi_state>();
106   UINT16 code = state->m_bg2_ram[tile_index];
107   SET_TILE_INFO(0, code, 0x10 + (code >> 12), 0);
109   UINT16 code = m_bg2_ram[tile_index];
110   SET_TILE_INFO_MEMBER(0, code, 0x10 + (code >> 12), 0);
108111}
109112
110static TILE_GET_INFO( get_bg3_tile_info )
113TILE_GET_INFO_MEMBER(galaxi_state::get_bg3_tile_info)
111114{
112   galaxi_state *state = machine.driver_data<galaxi_state>();
113   UINT16 code = state->m_bg3_ram[tile_index];
114   SET_TILE_INFO(0, code, (code >> 12), 0);
115   UINT16 code = m_bg3_ram[tile_index];
116   SET_TILE_INFO_MEMBER(0, code, (code >> 12), 0);
115117}
116118
117static TILE_GET_INFO( get_bg4_tile_info )
119TILE_GET_INFO_MEMBER(galaxi_state::get_bg4_tile_info)
118120{
119   galaxi_state *state = machine.driver_data<galaxi_state>();
120   UINT16 code = state->m_bg4_ram[tile_index];
121   SET_TILE_INFO(0, code, (code >> 12), 0);
121   UINT16 code = m_bg4_ram[tile_index];
122   SET_TILE_INFO_MEMBER(0, code, (code >> 12), 0);
122123}
123124
124static TILE_GET_INFO( get_fg_tile_info )
125TILE_GET_INFO_MEMBER(galaxi_state::get_fg_tile_info)
125126{
126   galaxi_state *state = machine.driver_data<galaxi_state>();
127   UINT16 code = state->m_fg_ram[tile_index];
128   SET_TILE_INFO(1, code, 0x20 + (code >> 12), 0);
127   UINT16 code = m_fg_ram[tile_index];
128   SET_TILE_INFO_MEMBER(1, code, 0x20 + (code >> 12), 0);
129129}
130130
131131WRITE16_MEMBER(galaxi_state::galaxi_bg1_w)
r17672r17673
162162{
163163   galaxi_state *state = machine.driver_data<galaxi_state>();
164164
165   state->m_bg1_tmap = tilemap_create(machine, get_bg1_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x10);
166   state->m_bg2_tmap = tilemap_create(machine, get_bg2_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x10);
167   state->m_bg3_tmap = tilemap_create(machine, get_bg3_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x10);
168   state->m_bg4_tmap = tilemap_create(machine, get_bg4_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x10);
165   state->m_bg1_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxi_state::get_bg1_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x10);
166   state->m_bg2_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxi_state::get_bg2_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x10);
167   state->m_bg3_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxi_state::get_bg3_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x10);
168   state->m_bg4_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxi_state::get_bg4_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 0x20, 0x10);
169169
170   state->m_fg_tmap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 0x40, 0x20);
170   state->m_fg_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(galaxi_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 0x40, 0x20);
171171
172172   state->m_bg1_tmap->set_transparent_pen(0);
173173   state->m_bg2_tmap->set_transparent_pen(0);
trunk/src/mame/drivers/cabaret.c
r17672r17673
5151   DECLARE_WRITE8_MEMBER(cabaret_nmi_and_coins_w);
5252   void show_out();
5353   DECLARE_DRIVER_INIT(cabaret);
54   TILE_GET_INFO_MEMBER(get_bg_tile_info);
55   TILE_GET_INFO_MEMBER(get_fg_tile_info);
5456};
5557
5658
r17672r17673
7476   m_bg_tilemap->mark_tile_dirty(offset);
7577}
7678
77static TILE_GET_INFO( get_bg_tile_info )
79TILE_GET_INFO_MEMBER(cabaret_state::get_bg_tile_info)
7880{
79   cabaret_state *state = machine.driver_data<cabaret_state>();
80   int code = state->m_bg_tile_ram[tile_index];
81   SET_TILE_INFO(1, code & 0xff, 0, 0);
81   int code = m_bg_tile_ram[tile_index];
82   SET_TILE_INFO_MEMBER(1, code & 0xff, 0, 0);
8283}
8384
84static TILE_GET_INFO( get_fg_tile_info )
85TILE_GET_INFO_MEMBER(cabaret_state::get_fg_tile_info)
8586{
86   cabaret_state *state = machine.driver_data<cabaret_state>();
87   int code = state->m_fg_tile_ram[tile_index] | (state->m_fg_color_ram[tile_index] << 8);
87   int code = m_fg_tile_ram[tile_index] | (m_fg_color_ram[tile_index] << 8);
8888   int tile = code & 0x1fff;
89   SET_TILE_INFO(0, code, tile != 0x1fff ? ((code >> 12) & 0xe) + 1 : 0, 0);
89   SET_TILE_INFO_MEMBER(0, code, tile != 0x1fff ? ((code >> 12) & 0xe) + 1 : 0, 0);
9090}
9191
9292WRITE8_MEMBER(cabaret_state::fg_tile_w)
r17672r17673
104104static VIDEO_START(cabaret)
105105{
106106   cabaret_state *state = machine.driver_data<cabaret_state>();
107   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,   8,  32,   64, 8);
108   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,   8,  8,   64, 32);
107   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cabaret_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,   8,  32,   64, 8);
108   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cabaret_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,   8,  8,   64, 32);
109109   state->m_fg_tilemap->set_transparent_pen(0);
110110   state->m_bg_tilemap->set_scroll_cols(64);
111111}
trunk/src/mame/drivers/olibochu.c
r17672r17673
8181   DECLARE_WRITE8_MEMBER(olibochu_colorram_w);
8282   DECLARE_WRITE8_MEMBER(olibochu_flipscreen_w);
8383   DECLARE_WRITE8_MEMBER(sound_command_w);
84   TILE_GET_INFO_MEMBER(get_bg_tile_info);
8485};
8586
8687
r17672r17673
146147   /* other bits are used, but unknown */
147148}
148149
149static TILE_GET_INFO( get_bg_tile_info )
150TILE_GET_INFO_MEMBER(olibochu_state::get_bg_tile_info)
150151{
151   olibochu_state *state = machine.driver_data<olibochu_state>();
152   int attr = state->m_colorram[tile_index];
153   int code = state->m_videoram[tile_index] + ((attr & 0x20) << 3);
152   int attr = m_colorram[tile_index];
153   int code = m_videoram[tile_index] + ((attr & 0x20) << 3);
154154   int color = (attr & 0x1f) + 0x20;
155155   int flags = ((attr & 0x40) ? TILE_FLIPX : 0) | ((attr & 0x80) ? TILE_FLIPY : 0);
156156
157   SET_TILE_INFO(0, code, color, flags);
157   SET_TILE_INFO_MEMBER(0, code, color, flags);
158158}
159159
160160static VIDEO_START( olibochu )
161161{
162162   olibochu_state *state = machine.driver_data<olibochu_state>();
163   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
163   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(olibochu_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
164164}
165165
166166static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
trunk/src/mame/drivers/kingdrby.c
r17672r17673
105105   DECLARE_READ8_MEMBER(key_matrix_r);
106106   DECLARE_READ8_MEMBER(sound_cmd_r);
107107   DECLARE_WRITE8_MEMBER(outportb_w);
108   TILE_GET_INFO_MEMBER(get_sc0_tile_info);
109   TILE_GET_INFO_MEMBER(get_sc1_tile_info);
108110};
109111
110112
r17672r17673
129131---- ---x tile bank
130132*/
131133
132static TILE_GET_INFO( get_sc0_tile_info )
134TILE_GET_INFO_MEMBER(kingdrby_state::get_sc0_tile_info)
133135{
134   kingdrby_state *state = machine.driver_data<kingdrby_state>();
135   int tile = state->m_vram[tile_index] | state->m_attr[tile_index]<<8;
136   int color = (state->m_attr[tile_index] & 0x06)>>1;
136   int tile = m_vram[tile_index] | m_attr[tile_index]<<8;
137   int color = (m_attr[tile_index] & 0x06)>>1;
137138
138139   tile&=0x1ff;
139140
140   SET_TILE_INFO(
141   SET_TILE_INFO_MEMBER(
141142         1,
142143         tile,
143144         color|0x40,
144145         0);
145146}
146147
147static TILE_GET_INFO( get_sc1_tile_info )
148TILE_GET_INFO_MEMBER(kingdrby_state::get_sc1_tile_info)
148149{
149   kingdrby_state *state = machine.driver_data<kingdrby_state>();
150   int tile = state->m_vram[tile_index] | state->m_attr[tile_index]<<8;
151   int color = (state->m_attr[tile_index] & 0x06)>>1;
150   int tile = m_vram[tile_index] | m_attr[tile_index]<<8;
151   int color = (m_attr[tile_index] & 0x06)>>1;
152152
153153   tile&=0x1ff;
154154   //original 0xc
155155   //0x13
156156   //
157157
158   SET_TILE_INFO(
158   SET_TILE_INFO_MEMBER(
159159         1,
160160         tile,
161161         color|0x40,
162162         0);
163163
164   tileinfo.category = (state->m_attr[tile_index] & 0x08)>>3;
164   tileinfo.category = (m_attr[tile_index] & 0x08)>>3;
165165}
166166
167167static VIDEO_START(kingdrby)
168168{
169169   kingdrby_state *state = machine.driver_data<kingdrby_state>();
170   state->m_sc0_tilemap = tilemap_create(machine, get_sc0_tile_info,TILEMAP_SCAN_ROWS,8,8,32,24);
171   state->m_sc1_tilemap = tilemap_create(machine, get_sc1_tile_info,TILEMAP_SCAN_ROWS,8,8,32,24);
172   state->m_sc0w_tilemap = tilemap_create(machine, get_sc0_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
170   state->m_sc0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kingdrby_state::get_sc0_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,24);
171   state->m_sc1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kingdrby_state::get_sc1_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,24);
172   state->m_sc0w_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(kingdrby_state::get_sc0_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
173173
174174   state->m_sc1_tilemap->set_transparent_pen(0);
175175}
trunk/src/mame/drivers/r2dx_v33.c
r17672r17673
5151   DECLARE_DRIVER_INIT(rdx_v33);
5252   DECLARE_DRIVER_INIT(nzerotea);
5353   DECLARE_DRIVER_INIT(zerotm2k);
54   TILE_GET_INFO_MEMBER(get_bg_tile_info);
55   TILE_GET_INFO_MEMBER(get_md_tile_info);
56   TILE_GET_INFO_MEMBER(get_fg_tile_info);
57   TILE_GET_INFO_MEMBER(get_tx_tile_info);
5458};
5559
5660
r17672r17673
5862static UINT16 *bg_vram,*md_vram,*fg_vram,*tx_vram;
5963static tilemap_t *bg_tilemap,*md_tilemap,*fg_tilemap,*tx_tilemap;
6064
61static TILE_GET_INFO( get_bg_tile_info )
65TILE_GET_INFO_MEMBER(r2dx_v33_state::get_bg_tile_info)
6266{
6367   int tile = bg_vram[tile_index];
6468   int color = (tile>>12)&0xf;
6569
6670   tile &= 0xfff;
6771
68   SET_TILE_INFO(1,tile + 0x0000,color,0);
72   SET_TILE_INFO_MEMBER(1,tile + 0x0000,color,0);
6973}
7074
71static TILE_GET_INFO( get_md_tile_info )
75TILE_GET_INFO_MEMBER(r2dx_v33_state::get_md_tile_info)
7276{
7377   int tile = md_vram[tile_index];
7478   int color = (tile>>12)&0xf;
7579
7680   tile &= 0xfff;
7781
78   SET_TILE_INFO(2,tile + 0x2000,color,0);
82   SET_TILE_INFO_MEMBER(2,tile + 0x2000,color,0);
7983}
8084
81static TILE_GET_INFO( get_fg_tile_info )
85TILE_GET_INFO_MEMBER(r2dx_v33_state::get_fg_tile_info)
8286{
8387   int tile = fg_vram[tile_index];
8488   int color = (tile>>12)&0xf;
8589
8690   tile &= 0xfff;
8791
88   SET_TILE_INFO(3,tile + 0x1000,color,0);
92   SET_TILE_INFO_MEMBER(3,tile + 0x1000,color,0);
8993}
9094
91static TILE_GET_INFO( get_tx_tile_info )
95TILE_GET_INFO_MEMBER(r2dx_v33_state::get_tx_tile_info)
9296{
9397   int tile = tx_vram[tile_index];
9498   int color = (tile>>12)&0xf;
9599
96100   tile &= 0xfff;
97101
98   SET_TILE_INFO(4,tile,color,0);
102   SET_TILE_INFO_MEMBER(4,tile,color,0);
99103}
100104
101105/* copied from Legionnaire */
r17672r17673
187191
188192static VIDEO_START( rdx_v33 )
189193{
190   bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,16,16,32,32);
191   md_tilemap = tilemap_create(machine, get_md_tile_info, TILEMAP_SCAN_ROWS,16,16,32,32);
192   fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,16,16,32,32);
193   tx_tilemap = tilemap_create(machine, get_tx_tile_info, TILEMAP_SCAN_ROWS,8, 8, 64,32);
194   r2dx_v33_state *state = machine.driver_data<r2dx_v33_state>();
195   bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(r2dx_v33_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,16,16,32,32);
196   md_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(r2dx_v33_state::get_md_tile_info),state), TILEMAP_SCAN_ROWS,16,16,32,32);
197   fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(r2dx_v33_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,16,16,32,32);
198   tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(r2dx_v33_state::get_tx_tile_info),state), TILEMAP_SCAN_ROWS,8, 8, 64,32);
194199
195200   bg_tilemap->set_transparent_pen(15);
196201   md_tilemap->set_transparent_pen(15);
trunk/src/mame/drivers/warpsped.c
r17672r17673
102102   DECLARE_WRITE8_MEMBER(warpspeed_hardware_w);
103103   DECLARE_WRITE8_MEMBER(warpspeed_vidram_w);
104104   DECLARE_DRIVER_INIT(warpspeed);
105   TILE_GET_INFO_MEMBER(get_warpspeed_text_tile_info);
106   TILE_GET_INFO_MEMBER(get_warpspeed_starfield_tile_info);
105107};
106108
107109WRITE8_MEMBER(warpspeed_state::warpspeed_hardware_w)
r17672r17673
109111   m_regs[offset] = data;
110112}
111113
112static TILE_GET_INFO( get_warpspeed_text_tile_info )
114TILE_GET_INFO_MEMBER(warpspeed_state::get_warpspeed_text_tile_info)
113115{
114   warpspeed_state *state = machine.driver_data<warpspeed_state>();
115116
116   UINT8 code = state->m_videoram[tile_index] & 0x3f;
117   SET_TILE_INFO(0, code, 0, 0);
117   UINT8 code = m_videoram[tile_index] & 0x3f;
118   SET_TILE_INFO_MEMBER(0, code, 0, 0);
118119}
119120
120static TILE_GET_INFO( get_warpspeed_starfield_tile_info )
121TILE_GET_INFO_MEMBER(warpspeed_state::get_warpspeed_starfield_tile_info)
121122{
122123   UINT8 code = 0x3f;
123124   if ( tile_index & 1 )
124125   {
125      code = machine.root_device().memregion("starfield")->base()[tile_index >> 1] & 0x3f;
126      code = machine().root_device().memregion("starfield")->base()[tile_index >> 1] & 0x3f;
126127   }
127   SET_TILE_INFO(1, code, 0, 0);
128   SET_TILE_INFO_MEMBER(1, code, 0, 0);
128129}
129130
130131WRITE8_MEMBER(warpspeed_state::warpspeed_vidram_w)
r17672r17673
137138static VIDEO_START( warpspeed )
138139{
139140   warpspeed_state *state = machine.driver_data<warpspeed_state>();
140   state->m_text_tilemap = tilemap_create(machine, get_warpspeed_text_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
141   state->m_text_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(warpspeed_state::get_warpspeed_text_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
141142   state->m_text_tilemap->set_transparent_pen(0);
142   state->m_starfield_tilemap = tilemap_create(machine, get_warpspeed_starfield_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
143   state->m_starfield_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(warpspeed_state::get_warpspeed_starfield_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
143144   state->m_starfield_tilemap->mark_all_dirty();
144145}
145146
trunk/src/mame/drivers/looping.c
r17672r17673
138138   DECLARE_WRITE8_MEMBER(ay_enable_w);
139139   DECLARE_WRITE8_MEMBER(speech_enable_w);
140140   DECLARE_DRIVER_INIT(looping);
141   TILE_GET_INFO_MEMBER(get_tile_info);
141142};
142143
143144
r17672r17673
195196 *
196197 *************************************/
197198
198static TILE_GET_INFO( get_tile_info )
199TILE_GET_INFO_MEMBER(looping_state::get_tile_info)
199200{
200   looping_state *state = machine.driver_data<looping_state>();
201   int tile_number = state->m_videoram[tile_index];
202   int color = state->m_colorram[(tile_index & 0x1f) * 2 + 1] & 0x07;
203   SET_TILE_INFO(0, tile_number, color, 0);
201   int tile_number = m_videoram[tile_index];
202   int color = m_colorram[(tile_index & 0x1f) * 2 + 1] & 0x07;
203   SET_TILE_INFO_MEMBER(0, tile_number, color, 0);
204204}
205205
206206
r17672r17673
208208{
209209   looping_state *state = machine.driver_data<looping_state>();
210210
211   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8,8, 32,32);
211   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(looping_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,32);
212212
213213   state->m_bg_tilemap->set_scroll_cols(0x20);
214214}
trunk/src/mame/drivers/1945kiii.c
r17672r17673
7474   DECLARE_WRITE16_MEMBER(k3_scrollx_w);
7575   DECLARE_WRITE16_MEMBER(k3_scrolly_w);
7676   DECLARE_WRITE16_MEMBER(k3_soundbanks_w);
77   TILE_GET_INFO_MEMBER(get_k3_bg_tile_info);
7778};
7879
7980
r17672r17673
8384   m_bg_tilemap->mark_tile_dirty(offset);
8485}
8586
86static TILE_GET_INFO( get_k3_bg_tile_info )
87TILE_GET_INFO_MEMBER(k3_state::get_k3_bg_tile_info)
8788{
88   k3_state *state = machine.driver_data<k3_state>();
89   int tileno = state->m_bgram[tile_index];
90   SET_TILE_INFO(1, tileno, 0, 0);
89   int tileno = m_bgram[tile_index];
90   SET_TILE_INFO_MEMBER(1, tileno, 0, 0);
9191}
9292
9393static VIDEO_START(k3)
9494{
9595   k3_state *state = machine.driver_data<k3_state>();
96   state->m_bg_tilemap = tilemap_create(machine, get_k3_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 64);
96   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(k3_state::get_k3_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 64);
9797}
9898
9999static void draw_sprites( running_machine &machine, bitmap_ind16 &bitmap, const rectangle &cliprect )
trunk/src/mame/drivers/statriv2.c
r17672r17673
104104   DECLARE_DRIVER_INIT(addr_lmhe);
105105   DECLARE_DRIVER_INIT(addr_xhl);
106106   DECLARE_DRIVER_INIT(laserdisc);
107   TILE_GET_INFO_MEMBER(horizontal_tile_info);
108   TILE_GET_INFO_MEMBER(vertical_tile_info);
107109};
108110
109111
r17672r17673
116118 *
117119 *************************************/
118120
119static TILE_GET_INFO( horizontal_tile_info )
121TILE_GET_INFO_MEMBER(statriv2_state::horizontal_tile_info)
120122{
121   statriv2_state *state = machine.driver_data<statriv2_state>();
122   UINT8 *videoram = state->m_videoram;
123   UINT8 *videoram = m_videoram;
123124   int code = videoram[0x400+tile_index];
124125   int attr = videoram[tile_index] & 0x3f;
125126
126   SET_TILE_INFO(0, code, attr, 0);
127   SET_TILE_INFO_MEMBER(0, code, attr, 0);
127128}
128129
129static TILE_GET_INFO( vertical_tile_info )
130TILE_GET_INFO_MEMBER(statriv2_state::vertical_tile_info)
130131{
131   statriv2_state *state = machine.driver_data<statriv2_state>();
132   UINT8 *videoram = state->m_videoram;
132   UINT8 *videoram = m_videoram;
133133   int code = videoram[0x400+tile_index];
134134   int attr = videoram[tile_index] & 0x3f;
135135
136   SET_TILE_INFO(0, ((code & 0x7f) << 1) | ((code & 0x80) >> 7), attr, 0);
136   SET_TILE_INFO_MEMBER(0, ((code & 0x7f) << 1) | ((code & 0x80) >> 7), attr, 0);
137137}
138138
139139
r17672r17673
158158static VIDEO_START( horizontal )
159159{
160160   statriv2_state *state = machine.driver_data<statriv2_state>();
161   state->m_tilemap = tilemap_create(machine, horizontal_tile_info ,TILEMAP_SCAN_ROWS, 8,15, 64,16);
161   state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(statriv2_state::horizontal_tile_info),state) ,TILEMAP_SCAN_ROWS, 8,15, 64,16);
162162}
163163
164164static VIDEO_START( vertical )
165165{
166166   statriv2_state *state = machine.driver_data<statriv2_state>();
167   state->m_tilemap = tilemap_create(machine, vertical_tile_info, TILEMAP_SCAN_ROWS, 8,8, 32,32);
167   state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(statriv2_state::vertical_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 32,32);
168168}
169169
170170
trunk/src/mame/drivers/d9final.c
r17672r17673
4242   DECLARE_WRITE8_MEMBER(sc0_cram);
4343   DECLARE_WRITE8_MEMBER(d9final_bank_w);
4444   DECLARE_READ8_MEMBER(prot_latch_r);
45   TILE_GET_INFO_MEMBER(get_sc0_tile_info);
4546};
4647
4748
4849
49static TILE_GET_INFO( get_sc0_tile_info )
50TILE_GET_INFO_MEMBER(d9final_state::get_sc0_tile_info)
5051{
51   d9final_state *state = machine.driver_data<d9final_state>();
52   int tile = ((state->m_hi_vram[tile_index] & 0x3f)<<8) | state->m_lo_vram[tile_index];
53   int color = state->m_cram[tile_index] & 0x3f;
52   int tile = ((m_hi_vram[tile_index] & 0x3f)<<8) | m_lo_vram[tile_index];
53   int color = m_cram[tile_index] & 0x3f;
5454
55   SET_TILE_INFO(
55   SET_TILE_INFO_MEMBER(
5656         0,
5757         tile,
5858         color,
r17672r17673
6262static VIDEO_START(d9final)
6363{
6464   d9final_state *state = machine.driver_data<d9final_state>();
65   state->m_sc0_tilemap = tilemap_create(machine, get_sc0_tile_info,TILEMAP_SCAN_ROWS,8,8,64,32);
65   state->m_sc0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(d9final_state::get_sc0_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,32);
6666}
6767
6868static SCREEN_UPDATE_IND16(d9final)
trunk/src/mame/drivers/acommand.c
r17672r17673
8888   DECLARE_READ16_MEMBER(ac_devices_r);
8989   DECLARE_WRITE16_MEMBER(ac_devices_w);
9090   DECLARE_WRITE16_MEMBER(ac_unk2_w);
91   TILEMAP_MAPPER_MEMBER(bg_scan);
92   TILE_GET_INFO_MEMBER(ac_get_bg_tile_info);
93   TILE_GET_INFO_MEMBER(ac_get_tx_tile_info);
9194};
9295
9396
9497
95static TILEMAP_MAPPER( bg_scan )
98TILEMAP_MAPPER_MEMBER(acommand_state::bg_scan)
9699{
97100   /* logical (col,row) -> memory offset */
98101   return (row & 0x0f) + ((col & 0xff) << 4) + ((row & 0x70) << 8);
99102}
100103
101static TILE_GET_INFO( ac_get_bg_tile_info )
104TILE_GET_INFO_MEMBER(acommand_state::ac_get_bg_tile_info)
102105{
103   acommand_state *state = machine.driver_data<acommand_state>();
104   int code = state->m_ac_bgvram[tile_index];
105   SET_TILE_INFO(
106   int code = m_ac_bgvram[tile_index];
107   SET_TILE_INFO_MEMBER(
106108         1,
107109         code & 0xfff,
108110         (code & 0xf000) >> 12,
109111         0);
110112}
111113
112static TILE_GET_INFO( ac_get_tx_tile_info )
114TILE_GET_INFO_MEMBER(acommand_state::ac_get_tx_tile_info)
113115{
114   acommand_state *state = machine.driver_data<acommand_state>();
115   int code = state->m_ac_txvram[tile_index];
116   SET_TILE_INFO(
116   int code = m_ac_txvram[tile_index];
117   SET_TILE_INFO_MEMBER(
117118         0,
118119         code & 0xfff,
119120         (code & 0xf000) >> 12,
r17672r17673
182183static VIDEO_START( acommand )
183184{
184185   acommand_state *state = machine.driver_data<acommand_state>();
185   state->m_tx_tilemap = tilemap_create(machine, ac_get_tx_tile_info,TILEMAP_SCAN_COLS,8,8,512,32);
186   state->m_bg_tilemap = tilemap_create(machine, ac_get_bg_tile_info,bg_scan,16,16,256,16);
186   state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(acommand_state::ac_get_tx_tile_info),state),TILEMAP_SCAN_COLS,8,8,512,32);
187   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(acommand_state::ac_get_bg_tile_info),state),tilemap_mapper_delegate(FUNC(acommand_state::bg_scan),state),16,16,256,16);
187188
188189   state->m_ac_vregs = auto_alloc_array(machine, UINT16, 0x80/2);
189190
trunk/src/mame/drivers/ppmast93.c
r17672r17673
152152   DECLARE_WRITE8_MEMBER(ppmast93_bgram_w);
153153   DECLARE_WRITE8_MEMBER(ppmast93_port4_w);
154154   DECLARE_WRITE8_MEMBER(ppmast_sound_w);
155   TILE_GET_INFO_MEMBER(get_ppmast93_bg_tile_info);
156   TILE_GET_INFO_MEMBER(get_ppmast93_fg_tile_info);
155157};
156158
157159
r17672r17673
322324   GFXDECODE_ENTRY( "gfx1", 0, tiles8x8_layout, 0, 16 )
323325GFXDECODE_END
324326
325static TILE_GET_INFO( get_ppmast93_bg_tile_info )
327TILE_GET_INFO_MEMBER(ppmast93_state::get_ppmast93_bg_tile_info)
326328{
327   ppmast93_state *state = machine.driver_data<ppmast93_state>();
328   int code = (state->m_bgram[tile_index*2+1] << 8) | state->m_bgram[tile_index*2];
329   SET_TILE_INFO(
329   int code = (m_bgram[tile_index*2+1] << 8) | m_bgram[tile_index*2];
330   SET_TILE_INFO_MEMBER(
330331         0,
331332         code & 0x0fff,
332333         (code & 0xf000) >> 12,
333334         0);
334335}
335336
336static TILE_GET_INFO( get_ppmast93_fg_tile_info )
337TILE_GET_INFO_MEMBER(ppmast93_state::get_ppmast93_fg_tile_info)
337338{
338   ppmast93_state *state = machine.driver_data<ppmast93_state>();
339   int code = (state->m_fgram[tile_index*2+1] << 8) | state->m_fgram[tile_index*2];
340   SET_TILE_INFO(
339   int code = (m_fgram[tile_index*2+1] << 8) | m_fgram[tile_index*2];
340   SET_TILE_INFO_MEMBER(
341341         0,
342342         (code & 0x0fff)+0x1000,
343343         (code & 0xf000) >> 12,
r17672r17673
347347static VIDEO_START( ppmast93 )
348348{
349349   ppmast93_state *state = machine.driver_data<ppmast93_state>();
350   state->m_bg_tilemap = tilemap_create(machine, get_ppmast93_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,32, 32);
351   state->m_fg_tilemap = tilemap_create(machine, get_ppmast93_fg_tile_info,TILEMAP_SCAN_ROWS,8,8,32, 32);
350   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ppmast93_state::get_ppmast93_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32, 32);
351   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ppmast93_state::get_ppmast93_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32, 32);
352352
353353   state->m_fg_tilemap->set_transparent_pen(0);
354354}
trunk/src/mame/drivers/goldnpkr.c
r17672r17673
997997   DECLARE_DRIVER_INIT(vkdlswwc);
998998   DECLARE_DRIVER_INIT(vkdlswwr);
999999   DECLARE_DRIVER_INIT(vkdlswwv);
1000   TILE_GET_INFO_MEMBER(get_bg_tile_info);
1001   TILE_GET_INFO_MEMBER(wcrdxtnd_get_bg_tile_info);
10001002};
10011003
10021004
r17672r17673
10171019   m_bg_tilemap->mark_tile_dirty(offset);
10181020}
10191021
1020static TILE_GET_INFO( get_bg_tile_info )
1022TILE_GET_INFO_MEMBER(goldnpkr_state::get_bg_tile_info)
10211023{
1022   goldnpkr_state *state = machine.driver_data<goldnpkr_state>();
10231024/*  - bits -
10241025    7654 3210
10251026    --xx xx--   tiles color.
r17672r17673
10281029    xx-- ----   unused.
10291030*/
10301031
1031   int attr = state->m_colorram[tile_index];
1032   int code = ((attr & 1) << 8) | state->m_videoram[tile_index];
1032   int attr = m_colorram[tile_index];
1033   int code = ((attr & 1) << 8) | m_videoram[tile_index];
10331034   int bank = (attr & 0x02) >> 1;   /* bit 1 switch the gfx banks */
10341035   int color = (attr & 0x3c) >> 2;   /* bits 2-3-4-5 for color */
10351036
1036   SET_TILE_INFO(bank, code, color, 0);
1037   SET_TILE_INFO_MEMBER(bank, code, color, 0);
10371038}
10381039
1039static TILE_GET_INFO( wcrdxtnd_get_bg_tile_info )
1040TILE_GET_INFO_MEMBER(goldnpkr_state::wcrdxtnd_get_bg_tile_info)
10401041{
1041   goldnpkr_state *state = machine.driver_data<goldnpkr_state>();
10421042/* 16 graphics banks system for VK extended (up & down) PCB's
10431043
10441044    - bits -
r17672r17673
10471047    xx-- --xx   tiles bank.
10481048*/
10491049
1050   int attr = state->m_colorram[tile_index];
1051   int code = ((attr & 1) << 8) | state->m_videoram[tile_index];
1050   int attr = m_colorram[tile_index];
1051   int code = ((attr & 1) << 8) | m_videoram[tile_index];
10521052   int bank = (attr & 0x03) + ((attr & 0xc0) >> 4);   /* bits 0, 1, 6 & 7 switch the gfx banks */
10531053   int color = (attr & 0x3c) >> 2;   /* bits 2-3-4-5 for color */
10541054
1055   SET_TILE_INFO(bank, code, color, 0);
1055   SET_TILE_INFO_MEMBER(bank, code, color, 0);
10561056}
10571057
10581058static VIDEO_START( goldnpkr )
10591059{
10601060   goldnpkr_state *state = machine.driver_data<goldnpkr_state>();
1061   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
1061   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldnpkr_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
10621062}
10631063
10641064static VIDEO_START( wcrdxtnd )
10651065{
10661066   goldnpkr_state *state = machine.driver_data<goldnpkr_state>();
1067   state->m_bg_tilemap = tilemap_create(machine, wcrdxtnd_get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
1067   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(goldnpkr_state::wcrdxtnd_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
10681068}
10691069
10701070static SCREEN_UPDATE_IND16( goldnpkr )
trunk/src/mame/drivers/pkscram.c
r17672r17673
3838   DECLARE_WRITE16_MEMBER(pkscramble_mdtilemap_w);
3939   DECLARE_WRITE16_MEMBER(pkscramble_bgtilemap_w);
4040   DECLARE_WRITE16_MEMBER(pkscramble_output_w);
41   TILE_GET_INFO_MEMBER(get_bg_tile_info);
42   TILE_GET_INFO_MEMBER(get_md_tile_info);
43   TILE_GET_INFO_MEMBER(get_fg_tile_info);
4144};
4245
4346
r17672r17673
184187INPUT_PORTS_END
185188
186189
187static TILE_GET_INFO( get_bg_tile_info )
190TILE_GET_INFO_MEMBER(pkscram_state::get_bg_tile_info)
188191{
189   pkscram_state *state = machine.driver_data<pkscram_state>();
190   int tile  = state->m_pkscramble_bgtilemap_ram[tile_index*2];
191   int color = state->m_pkscramble_bgtilemap_ram[tile_index*2 + 1] & 0x7f;
192   int tile  = m_pkscramble_bgtilemap_ram[tile_index*2];
193   int color = m_pkscramble_bgtilemap_ram[tile_index*2 + 1] & 0x7f;
192194
193   SET_TILE_INFO(0,tile,color,0);
195   SET_TILE_INFO_MEMBER(0,tile,color,0);
194196}
195197
196static TILE_GET_INFO( get_md_tile_info )
198TILE_GET_INFO_MEMBER(pkscram_state::get_md_tile_info)
197199{
198   pkscram_state *state = machine.driver_data<pkscram_state>();
199   int tile  = state->m_pkscramble_mdtilemap_ram[tile_index*2];
200   int color = state->m_pkscramble_mdtilemap_ram[tile_index*2 + 1] & 0x7f;
200   int tile  = m_pkscramble_mdtilemap_ram[tile_index*2];
201   int color = m_pkscramble_mdtilemap_ram[tile_index*2 + 1] & 0x7f;
201202
202   SET_TILE_INFO(0,tile,color,0);
203   SET_TILE_INFO_MEMBER(0,tile,color,0);
203204}
204205
205static TILE_GET_INFO( get_fg_tile_info )
206TILE_GET_INFO_MEMBER(pkscram_state::get_fg_tile_info)
206207{
207   pkscram_state *state = machine.driver_data<pkscram_state>();
208   int tile  = state->m_pkscramble_fgtilemap_ram[tile_index*2];
209   int color = state->m_pkscramble_fgtilemap_ram[tile_index*2 + 1] & 0x7f;
208   int tile  = m_pkscramble_fgtilemap_ram[tile_index*2];
209   int color = m_pkscramble_fgtilemap_ram[tile_index*2 + 1] & 0x7f;
210210
211   SET_TILE_INFO(0,tile,color,0);
211   SET_TILE_INFO_MEMBER(0,tile,color,0);
212212}
213213
214214static TIMER_DEVICE_CALLBACK( scanline_callback )
r17672r17673
233233static VIDEO_START( pkscramble )
234234{
235235   pkscram_state *state = machine.driver_data<pkscram_state>();
236   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8,32,32);
237   state->m_md_tilemap = tilemap_create(machine, get_md_tile_info, TILEMAP_SCAN_ROWS, 8, 8,32,32);
238   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8,32,32);
236   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pkscram_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8,32,32);
237   state->m_md_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pkscram_state::get_md_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8,32,32);
238   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pkscram_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8,32,32);
239239
240240   state->m_md_tilemap->set_transparent_pen(15);
241241   state->m_fg_tilemap->set_transparent_pen(15);
trunk/src/mame/drivers/superwng.c
r17672r17673
6767   DECLARE_WRITE8_MEMBER(superwng_cointcnt2_w);
6868   DECLARE_WRITE8_MEMBER(superwng_hopper_w);
6969   DECLARE_READ8_MEMBER(superwng_sound_byte_r);
70   TILE_GET_INFO_MEMBER(get_bg_tile_info);
71   TILE_GET_INFO_MEMBER(get_fg_tile_info);
7072};
7173
72static TILE_GET_INFO( get_bg_tile_info )
74TILE_GET_INFO_MEMBER(superwng_state::get_bg_tile_info)
7375{
74   superwng_state *state = machine.driver_data<superwng_state>();
75   int code = state->m_videoram_bg[tile_index];
76   int attr = state->m_colorram_bg[tile_index];
76   int code = m_videoram_bg[tile_index];
77   int attr = m_colorram_bg[tile_index];
7778
7879   code= (code&0x7f) | ((attr&0x40)<<1) | ((code&0x80)<<1);
79   code|=state->m_tile_bank?0x200:0;
80   code|=m_tile_bank?0x200:0;
8081
8182   int flipx=(attr&0x80) ? TILE_FLIPX : 0;
8283   int flipy=(attr&0x80) ? TILE_FLIPY : 0;
8384
84   SET_TILE_INFO(0, code, attr & 0xf, flipx|flipy);
85   SET_TILE_INFO_MEMBER(0, code, attr & 0xf, flipx|flipy);
8586}
8687
87static TILE_GET_INFO( get_fg_tile_info )
88TILE_GET_INFO_MEMBER(superwng_state::get_fg_tile_info)
8889{
89   superwng_state *state = machine.driver_data<superwng_state>();
90   int code = state->m_videoram_fg[tile_index];
91   int attr = state->m_colorram_fg[tile_index];
90   int code = m_videoram_fg[tile_index];
91   int attr = m_colorram_fg[tile_index];
9292
9393   code= (code&0x7f) | ((attr&0x40)<<1) | ((code&0x80)<<1);
9494
95   code|=state->m_tile_bank?0x200:0;
95   code|=m_tile_bank?0x200:0;
9696
9797   int flipx=(attr&0x80) ? TILE_FLIPX : 0;
9898   int flipy=(attr&0x80) ? TILE_FLIPY : 0;
9999
100   SET_TILE_INFO(0, code, attr & 0xf, flipx|flipy);
100   SET_TILE_INFO_MEMBER(0, code, attr & 0xf, flipx|flipy);
101101}
102102
103103static VIDEO_START( superwng )
104104{
105105   superwng_state *state = machine.driver_data<superwng_state>();
106   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
107   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
106   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(superwng_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
107   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(superwng_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
108108
109109   state->m_bg_tilemap->set_scrollx(0, 64);
110110}
trunk/src/mame/drivers/silvmil.c
r17672r17673
105105
106106
107107   DECLARE_DRIVER_INIT(silvmil);
108   TILE_GET_INFO_MEMBER(get_bg_tile_info);
109   TILE_GET_INFO_MEMBER(get_fg_tile_info);
110   TILEMAP_MAPPER_MEMBER(deco16_scan_rows);
108111};
109112
110113
111static TILE_GET_INFO( get_bg_tile_info )
114TILE_GET_INFO_MEMBER(silvmil_state::get_bg_tile_info)
112115{
113   silvmil_state *state = machine.driver_data<silvmil_state>();
114   int data  = state->m_bg_videoram[tile_index];
116   int data  = m_bg_videoram[tile_index];
115117   int tile  = data & 0x3ff;
116118   int color = (data >> 12) & 0x0f;
117   int bank = state->m_silvmil_tilebank[(data&0xc00)>>10]*0x400;
119   int bank = m_silvmil_tilebank[(data&0xc00)>>10]*0x400;
118120
119   SET_TILE_INFO(1, tile + bank, color + 0x20, 0);
121   SET_TILE_INFO_MEMBER(1, tile + bank, color + 0x20, 0);
120122}
121123
122static TILE_GET_INFO( get_fg_tile_info )
124TILE_GET_INFO_MEMBER(silvmil_state::get_fg_tile_info)
123125{
124   silvmil_state *state = machine.driver_data<silvmil_state>();
125   int data  = state->m_fg_videoram[tile_index];
126   int data  = m_fg_videoram[tile_index];
126127   int tile  = data & 0x3ff;
127128   int color = (data >> 12) & 0x0f;
128   int bank = state->m_silvmil_tilebank[(data&0xc00)>>10]*0x400;
129   int bank = m_silvmil_tilebank[(data&0xc00)>>10]*0x400;
129130
130   SET_TILE_INFO(1, tile + bank, color + 0x10, 0);
131   SET_TILE_INFO_MEMBER(1, tile + bank, color + 0x10, 0);
131132}
132133
133static TILEMAP_MAPPER( deco16_scan_rows )
134TILEMAP_MAPPER_MEMBER(silvmil_state::deco16_scan_rows)
134135{
135136   /* logical (col,row) -> memory offset */
136137   return (col & 0x1f) + ((row & 0x1f) << 5) + ((col & 0x20) << 5) + ((row & 0x20) << 6);
r17672r17673
139140VIDEO_START( silvmil )
140141{
141142   silvmil_state *state = machine.driver_data<silvmil_state>();
142   state->m_bg_layer = tilemap_create(machine, get_bg_tile_info, deco16_scan_rows, 16, 16, 64, 32);
143   state->m_fg_layer = tilemap_create(machine, get_fg_tile_info, deco16_scan_rows, 16, 16, 64, 32);
143   state->m_bg_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(silvmil_state::get_bg_tile_info),state), tilemap_mapper_delegate(FUNC(silvmil_state::deco16_scan_rows),state), 16, 16, 64, 32);
144   state->m_fg_layer = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(silvmil_state::get_fg_tile_info),state), tilemap_mapper_delegate(FUNC(silvmil_state::deco16_scan_rows),state), 16, 16, 64, 32);
144145
145146   state->m_fg_layer->set_transparent_pen(0);
146147}
trunk/src/mame/drivers/trvmadns.c
r17672r17673
8383   DECLARE_WRITE8_MEMBER(w2);
8484   DECLARE_WRITE8_MEMBER(w3);
8585   DECLARE_WRITE8_MEMBER(trvmadns_tileram_w);
86   TILE_GET_INFO_MEMBER(get_bg_tile_info);
8687};
8788
8889
r17672r17673
259260   GFXDECODE_ENTRY( NULL, 0x6000, charlayout, 0, 4 ) // doesn't matter where we point this, all the tiles are decoded while the game runs
260261GFXDECODE_END
261262
262static TILE_GET_INFO( get_bg_tile_info )
263TILE_GET_INFO_MEMBER(trvmadns_state::get_bg_tile_info)
263264{
264   trvmadns_state *state = machine.driver_data<trvmadns_state>();
265265   int tile,attr,color,flag;
266266
267   attr = state->m_tileram[tile_index*2 + 0];
268   tile = state->m_tileram[tile_index*2 + 1] + ((attr & 0x01) << 8);
267   attr = m_tileram[tile_index*2 + 0];
268   tile = m_tileram[tile_index*2 + 1] + ((attr & 0x01) << 8);
269269   color = (attr & 0x18) >> 3;
270270   flag = TILE_FLIPXY((attr & 0x06) >> 1);
271271
r17672r17673
275275   //0x20? tile transparent pen 1?
276276   //0x40? tile transparent pen 1?
277277
278   SET_TILE_INFO(0,tile,color,flag);
278   SET_TILE_INFO_MEMBER(0,tile,color,flag);
279279
280280   tileinfo.category = (attr & 0x20)>>5;
281281}
r17672r17673
283283static VIDEO_START( trvmadns )
284284{
285285   trvmadns_state *state = machine.driver_data<trvmadns_state>();
286   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
286   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(trvmadns_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
287287
288288//  fg_tilemap->set_transparent_pen(1);
289289
trunk/src/mame/drivers/albazg.c
r17672r17673
7272   DECLARE_READ8_MEMBER(mux_r);
7373   DECLARE_WRITE8_MEMBER(mux_w);
7474   DECLARE_WRITE8_MEMBER(yumefuda_output_w);
75   TILE_GET_INFO_MEMBER(y_get_bg_tile_info);
7576};
7677
77static TILE_GET_INFO( y_get_bg_tile_info )
78TILE_GET_INFO_MEMBER(albazg_state::y_get_bg_tile_info)
7879{
79   albazg_state *state = machine.driver_data<albazg_state>();
80   int code = state->m_videoram[tile_index];
81   int color = state->m_colorram[tile_index];
80   int code = m_videoram[tile_index];
81   int color = m_colorram[tile_index];
8282
83   SET_TILE_INFO(
83   SET_TILE_INFO_MEMBER(
8484         0,
8585         code + ((color & 0xf8) << 3),
8686         color & 0x7,
r17672r17673
9191static VIDEO_START( yumefuda )
9292{
9393   albazg_state *state = machine.driver_data<albazg_state>();
94   state->m_bg_tilemap = tilemap_create(machine, y_get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
94   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(albazg_state::y_get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
9595}
9696
9797static SCREEN_UPDATE_IND16( yumefuda )
trunk/src/mame/drivers/ltcasino.c
r17672r17673
3232   DECLARE_WRITE8_MEMBER(ltcasino_tile_num_w);
3333   DECLARE_WRITE8_MEMBER(ltcasino_tile_atr_w);
3434   DECLARE_DRIVER_INIT(mv4in1);
35   TILE_GET_INFO_MEMBER(get_ltcasino_tile_info);
3536};
3637
3738
3839/* Video */
3940
40static TILE_GET_INFO( get_ltcasino_tile_info )
41TILE_GET_INFO_MEMBER(ltcasino_state::get_ltcasino_tile_info)
4142{
42   ltcasino_state *state = machine.driver_data<ltcasino_state>();
4343   int tileno, colour;
4444
45   tileno = state->m_tile_num_ram[tile_index];
46   colour = state->m_tile_atr_ram[tile_index];
45   tileno = m_tile_num_ram[tile_index];
46   colour = m_tile_atr_ram[tile_index];
4747
4848   tileno += (colour & 0x80) << 1;
4949
50   SET_TILE_INFO(0,tileno,0,0);
50   SET_TILE_INFO_MEMBER(0,tileno,0,0);
5151}
5252
5353static VIDEO_START(ltcasino)
5454{
5555   ltcasino_state *state = machine.driver_data<ltcasino_state>();
56   state->m_tilemap = tilemap_create(machine, get_ltcasino_tile_info,TILEMAP_SCAN_ROWS,8, 8,64,32);
56   state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ltcasino_state::get_ltcasino_tile_info),state),TILEMAP_SCAN_ROWS,8, 8,64,32);
5757}
5858
5959
trunk/src/mame/drivers/blitz.c
r17672r17673
310310   DECLARE_WRITE8_MEMBER(mux_w);
311311   DECLARE_WRITE8_MEMBER(lamps_a_w);
312312   DECLARE_WRITE8_MEMBER(sound_w);
313   TILE_GET_INFO_MEMBER(get_bg_tile_info);
313314};
314315
315316
r17672r17673
332333}
333334
334335
335static TILE_GET_INFO( get_bg_tile_info )
336TILE_GET_INFO_MEMBER(blitz_state::get_bg_tile_info)
336337{
337   blitz_state *state = machine.driver_data<blitz_state>();
338338/*  - bits -
339339    7654 3210
340340    --xx xx--   tiles color.
r17672r17673
343343    xx-- ----   unused.
344344*/
345345
346   int attr = state->m_colorram[tile_index];
347   int code = ((attr & 1) << 8) | state->m_videoram[tile_index];
346   int attr = m_colorram[tile_index];
347   int code = ((attr & 1) << 8) | m_videoram[tile_index];
348348   int bank = (attr & 0x02) >> 1;   /* bit 1 switch the gfx banks */
349349   int color = (attr & 0x3c) >> 2;   /* bits 2-3-4-5 for color */
350350
351   SET_TILE_INFO(bank, code, color, 0);
351   SET_TILE_INFO_MEMBER(bank, code, color, 0);
352352}
353353
354354
355355static VIDEO_START( megadpkr )
356356{
357357   blitz_state *state = machine.driver_data<blitz_state>();
358   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
358   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blitz_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
359359}
360360
361361static SCREEN_UPDATE_IND16( megadpkr )
trunk/src/mame/drivers/sfbonus.c
r17672r17673
446446                    UINT8 xor5, UINT8 b50, UINT8 b51, UINT8 b52, UINT8 b53, UINT8 b54, UINT8 b55, UINT8 b56,UINT8 b57,
447447                    UINT8 xor6, UINT8 b60, UINT8 b61, UINT8 b62, UINT8 b63, UINT8 b64, UINT8 b65, UINT8 b66,UINT8 b67,
448448                    UINT8 xor7, UINT8 b70, UINT8 b71, UINT8 b72, UINT8 b73, UINT8 b74, UINT8 b75, UINT8 b76,UINT8 b77 );
449   TILE_GET_INFO_MEMBER(get_sfbonus_tile_info);
450   TILE_GET_INFO_MEMBER(get_sfbonus_reel_tile_info);
451   TILE_GET_INFO_MEMBER(get_sfbonus_reel2_tile_info);
452   TILE_GET_INFO_MEMBER(get_sfbonus_reel3_tile_info);
453   TILE_GET_INFO_MEMBER(get_sfbonus_reel4_tile_info);
449454};
450455
451456
r17672r17673
765770
766771
767772
768static TILE_GET_INFO( get_sfbonus_tile_info )
773TILE_GET_INFO_MEMBER(sfbonus_state::get_sfbonus_tile_info)
769774{
770   sfbonus_state *state = machine.driver_data<sfbonus_state>();
771   int code = state->m_tilemap_ram[(tile_index*2)+0] | (state->m_tilemap_ram[(tile_index*2)+1]<<8);
772   int flipx = (state->m_tilemap_ram[(tile_index*2)+1] & 0x80)>>7;
773   int flipy = (state->m_tilemap_ram[(tile_index*2)+1] & 0x40)>>5;
775   int code = m_tilemap_ram[(tile_index*2)+0] | (m_tilemap_ram[(tile_index*2)+1]<<8);
776   int flipx = (m_tilemap_ram[(tile_index*2)+1] & 0x80)>>7;
777   int flipy = (m_tilemap_ram[(tile_index*2)+1] & 0x40)>>5;
774778
775   SET_TILE_INFO(
779   SET_TILE_INFO_MEMBER(
776780         0,
777781         code,
778782         0,
779783         TILE_FLIPYX(flipx | flipy));
780784}
781785
782static TILE_GET_INFO( get_sfbonus_reel_tile_info )
786TILE_GET_INFO_MEMBER(sfbonus_state::get_sfbonus_reel_tile_info)
783787{
784   sfbonus_state *state = machine.driver_data<sfbonus_state>();
785   int code = state->m_reel_ram[(tile_index*2)+0] | (state->m_reel_ram[(tile_index*2)+1]<<8);
786   int flipx = (state->m_reel_ram[(tile_index*2)+1] & 0x80)>>7;
787   int flipy = 0;//(state->m_reel_ram[(tile_index*2)+1] & 0x40)>>5;
788   int code = m_reel_ram[(tile_index*2)+0] | (m_reel_ram[(tile_index*2)+1]<<8);
789   int flipx = (m_reel_ram[(tile_index*2)+1] & 0x80)>>7;
790   int flipy = 0;//(m_reel_ram[(tile_index*2)+1] & 0x40)>>5;
788791
789   int priority = (state->m_reel_ram[(tile_index*2)+1] & 0x40)>>6;
792   int priority = (m_reel_ram[(tile_index*2)+1] & 0x40)>>6;
790793
791   SET_TILE_INFO(
794   SET_TILE_INFO_MEMBER(
792795         1,
793796         code,
794797         priority,  // colour aboused as priority
795798         TILE_FLIPYX(flipx | flipy));
796799}
797800
798static TILE_GET_INFO( get_sfbonus_reel2_tile_info )
801TILE_GET_INFO_MEMBER(sfbonus_state::get_sfbonus_reel2_tile_info)
799802{
800   sfbonus_state *state = machine.driver_data<sfbonus_state>();
801   int code = state->m_reel2_ram[(tile_index*2)+0] | (state->m_reel2_ram[(tile_index*2)+1]<<8);
802   int flipx = (state->m_reel2_ram[(tile_index*2)+1] & 0x80)>>7;
803   int flipy = 0;//(state->m_reel2_ram[(tile_index*2)+1] & 0x40)>>5;
803   int code = m_reel2_ram[(tile_index*2)+0] | (m_reel2_ram[(tile_index*2)+1]<<8);
804   int flipx = (m_reel2_ram[(tile_index*2)+1] & 0x80)>>7;
805   int flipy = 0;//(m_reel2_ram[(tile_index*2)+1] & 0x40)>>5;
804806
805   int priority = (state->m_reel2_ram[(tile_index*2)+1] & 0x40)>>6;
807   int priority = (m_reel2_ram[(tile_index*2)+1] & 0x40)>>6;
806808
807   SET_TILE_INFO(
809   SET_TILE_INFO_MEMBER(
808810         1,
809811         code,
810812         priority,  // colour abused as priority
811813         TILE_FLIPYX(flipx | flipy));
812814}
813815
814static TILE_GET_INFO( get_sfbonus_reel3_tile_info )
816TILE_GET_INFO_MEMBER(sfbonus_state::get_sfbonus_reel3_tile_info)
815817{
816   sfbonus_state *state = machine.driver_data<sfbonus_state>();
817   int code = state->m_reel3_ram[(tile_index*2)+0] | (state->m_reel3_ram[(tile_index*2)+1]<<8);
818   int flipx = (state->m_reel3_ram[(tile_index*2)+1] & 0x80)>>7;
819   int flipy = 0;//(state->m_reel3_ram[(tile_index*2)+1] & 0x40)>>5;
818   int code = m_reel3_ram[(tile_index*2)+0] | (m_reel3_ram[(tile_index*2)+1]<<8);
819   int flipx = (m_reel3_ram[(tile_index*2)+1] & 0x80)>>7;
820   int flipy = 0;//(m_reel3_ram[(tile_index*2)+1] & 0x40)>>5;
820821
821   int priority = (state->m_reel3_ram[(tile_index*2)+1] & 0x40)>>6;
822   int priority = (m_reel3_ram[(tile_index*2)+1] & 0x40)>>6;
822823
823   SET_TILE_INFO(
824   SET_TILE_INFO_MEMBER(
824825         1,
825826         code,
826827         priority,  // colour abused as priority
827828         TILE_FLIPYX(flipx | flipy));
828829}
829830
830static TILE_GET_INFO( get_sfbonus_reel4_tile_info )
831TILE_GET_INFO_MEMBER(sfbonus_state::get_sfbonus_reel4_tile_info)
831832{
832   sfbonus_state *state = machine.driver_data<sfbonus_state>();
833   int code = state->m_reel4_ram[(tile_index*2)+0] | (state->m_reel4_ram[(tile_index*2)+1]<<8);
834   int flipx = (state->m_reel4_ram[(tile_index*2)+1] & 0x80)>>7;
835   int flipy = 0;//(state->m_reel4_ram[(tile_index*2)+1] & 0x40)>>5;
833   int code = m_reel4_ram[(tile_index*2)+0] | (m_reel4_ram[(tile_index*2)+1]<<8);
834   int flipx = (m_reel4_ram[(tile_index*2)+1] & 0x80)>>7;
835   int flipy = 0;//(m_reel4_ram[(tile_index*2)+1] & 0x40)>>5;
836836
837   int priority = (state->m_reel4_ram[(tile_index*2)+1] & 0x40)>>6;
837   int priority = (m_reel4_ram[(tile_index*2)+1] & 0x40)>>6;
838838
839   SET_TILE_INFO(
839   SET_TILE_INFO_MEMBER(
840840         1,
841841         code,
842842         priority, // colour abused as priority
r17672r17673
900900   sfbonus_state *state = machine.driver_data<sfbonus_state>();
901901   state->m_temp_reel_bitmap = auto_bitmap_ind16_alloc(machine,1024,512);
902902
903   state->m_tilemap = tilemap_create(machine,get_sfbonus_tile_info,TILEMAP_SCAN_ROWS,8,8, 128, 64);
904   state->m_reel_tilemap = tilemap_create(machine,get_sfbonus_reel_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 16);
905   state->m_reel2_tilemap = tilemap_create(machine,get_sfbonus_reel2_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 16);
906   state->m_reel3_tilemap = tilemap_create(machine,get_sfbonus_reel3_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 16);
907   state->m_reel4_tilemap = tilemap_create(machine,get_sfbonus_reel4_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 16);
903   state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sfbonus_state::get_sfbonus_tile_info),state),TILEMAP_SCAN_ROWS,8,8, 128, 64);
904   state->m_reel_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sfbonus_state::get_sfbonus_reel_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 16);
905   state->m_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sfbonus_state::get_sfbonus_reel2_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 16);
906   state->m_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sfbonus_state::get_sfbonus_reel3_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 16);
907   state->m_reel4_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sfbonus_state::get_sfbonus_reel4_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 16);
908908
909909   state->m_tilemap->set_transparent_pen(0);
910910   state->m_reel_tilemap->set_transparent_pen(255);
trunk/src/mame/drivers/cshooter.c
r17672r17673
115115   DECLARE_WRITE8_MEMBER(seibu_sound_comms_w);
116116   DECLARE_DRIVER_INIT(cshootere);
117117   DECLARE_DRIVER_INIT(cshooter);
118   TILE_GET_INFO_MEMBER(get_cstx_tile_info);
118119};
119120
120121
121static TILE_GET_INFO( get_cstx_tile_info )
122TILE_GET_INFO_MEMBER(cshooter_state::get_cstx_tile_info)
122123{
123   cshooter_state *state = machine.driver_data<cshooter_state>();
124   int code = (state->m_txram[tile_index*2]);
125   int attr = (state->m_txram[tile_index*2+1]);
124   int code = (m_txram[tile_index*2]);
125   int attr = (m_txram[tile_index*2+1]);
126126   int rg;
127127   rg=0;
128128   if (attr & 0x20) rg = 1;
129129
130   SET_TILE_INFO(
130   SET_TILE_INFO_MEMBER(
131131
132132         rg,
133133         (code & 0x1ff),
r17672r17673
144144static VIDEO_START(cshooter)
145145{
146146   cshooter_state *state = machine.driver_data<cshooter_state>();
147   state->m_txtilemap = tilemap_create(machine, get_cstx_tile_info,TILEMAP_SCAN_ROWS, 8,8,32, 32);
147   state->m_txtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cshooter_state::get_cstx_tile_info),state),TILEMAP_SCAN_ROWS, 8,8,32, 32);
148148   state->m_txtilemap->set_transparent_pen(3);
149149}
150150
trunk/src/mame/drivers/spool99.c
r17672r17673
115115   DECLARE_WRITE8_MEMBER(eeprom_clockline_w);
116116   DECLARE_WRITE8_MEMBER(eeprom_dataline_w);
117117   DECLARE_DRIVER_INIT(spool99);
118   TILE_GET_INFO_MEMBER(get_spool99_tile_info);
118119};
119120
120static TILE_GET_INFO( get_spool99_tile_info )
121TILE_GET_INFO_MEMBER(spool99_state::get_spool99_tile_info)
121122{
122   spool99_state *state = machine.driver_data<spool99_state>();
123   int code = ((state->m_vram[tile_index*2+1]<<8) | (state->m_vram[tile_index*2+0]));
124   int color = state->m_cram[tile_index*2+0];
123   int code = ((m_vram[tile_index*2+1]<<8) | (m_vram[tile_index*2+0]));
124   int color = m_cram[tile_index*2+0];
125125
126   SET_TILE_INFO(
126   SET_TILE_INFO_MEMBER(
127127         0,
128128         code & 0x3fff,
129129         color & 0x1f,
r17672r17673
134134{
135135   spool99_state *state = machine.driver_data<spool99_state>();
136136
137   state->m_sc0_tilemap = tilemap_create(machine, get_spool99_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
137   state->m_sc0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(spool99_state::get_spool99_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
138138}
139139
140140static SCREEN_UPDATE_IND16(spool99)
trunk/src/mame/drivers/multfish.c
r17672r17673
233233   DECLARE_DRIVER_INIT(gnomeent);
234234   DECLARE_DRIVER_INIT(lhauntent);
235235   DECLARE_DRIVER_INIT(fcockt2ent);
236   TILE_GET_INFO_MEMBER(get_multfish_tile_info);
237   TILE_GET_INFO_MEMBER(get_multfish_reel_tile_info);
236238};
237239
238static TILE_GET_INFO( get_multfish_tile_info )
240TILE_GET_INFO_MEMBER(multfish_state::get_multfish_tile_info)
239241{
240   multfish_state *state = machine.driver_data<multfish_state>();
241   int code = state->m_vid[tile_index*2+0x0000] | (state->m_vid[tile_index*2+0x0001] << 8);
242   int attr = state->m_vid[tile_index*2+0x1000] | (state->m_vid[tile_index*2+0x1001] << 8);
242   int code = m_vid[tile_index*2+0x0000] | (m_vid[tile_index*2+0x0001] << 8);
243   int attr = m_vid[tile_index*2+0x1000] | (m_vid[tile_index*2+0x1001] << 8);
243244
244245   tileinfo.category = (attr&0x100)>>8;
245246
246   SET_TILE_INFO(
247   SET_TILE_INFO_MEMBER(
247248         0,
248249         code&0x1fff,
249250         attr&0x7,
250251         0);
251252}
252253
253static TILE_GET_INFO( get_multfish_reel_tile_info )
254TILE_GET_INFO_MEMBER(multfish_state::get_multfish_reel_tile_info)
254255{
255   multfish_state *state = machine.driver_data<multfish_state>();
256   int code = state->m_vid[tile_index*2+0x2000] | (state->m_vid[tile_index*2+0x2001] << 8);
256   int code = m_vid[tile_index*2+0x2000] | (m_vid[tile_index*2+0x2001] << 8);
257257
258   SET_TILE_INFO(
258   SET_TILE_INFO_MEMBER(
259259         0,
260260         (code&0x1fff)+0x2000,
261261         (code>>14)+0x8,
r17672r17673
269269   memset(state->m_vid,0x00,sizeof(state->m_vid));
270270   state->save_item(NAME(state->m_vid));
271271
272   state->m_tilemap = tilemap_create(machine,get_multfish_tile_info,TILEMAP_SCAN_ROWS,16,16, 64, 32);
272   state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(multfish_state::get_multfish_tile_info),state),TILEMAP_SCAN_ROWS,16,16, 64, 32);
273273   state->m_tilemap->set_transparent_pen(255);
274274
275   state->m_reel_tilemap = tilemap_create(machine,get_multfish_reel_tile_info,TILEMAP_SCAN_ROWS,16,16, 64, 64);
275   state->m_reel_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(multfish_state::get_multfish_reel_tile_info),state),TILEMAP_SCAN_ROWS,16,16, 64, 64);
276276   state->m_reel_tilemap->set_transparent_pen(255);
277277   state->m_reel_tilemap->set_scroll_cols(64);
278278}
trunk/src/mame/drivers/witch.c
r17672r17673
234234   DECLARE_WRITE8_MEMBER(xscroll_w);
235235   DECLARE_WRITE8_MEMBER(yscroll_w);
236236   DECLARE_DRIVER_INIT(witch);
237   TILE_GET_INFO_MEMBER(get_gfx0b_tile_info);
238   TILE_GET_INFO_MEMBER(get_gfx0a_tile_info);
239   TILE_GET_INFO_MEMBER(get_gfx1_tile_info);
237240};
238241
239242
240243#define UNBANKED_SIZE 0x800
241244
242245
243static TILE_GET_INFO( get_gfx0b_tile_info )
246TILE_GET_INFO_MEMBER(witch_state::get_gfx0b_tile_info)
244247{
245   witch_state *state = machine.driver_data<witch_state>();
246   int code  = state->m_gfx0_vram[tile_index];
247   int color = state->m_gfx0_cram[tile_index];
248   int code  = m_gfx0_vram[tile_index];
249   int color = m_gfx0_cram[tile_index];
248250
249251   code=code | ((color & 0xe0) << 3);
250252
r17672r17673
253255      code=0;
254256   }
255257
256   SET_TILE_INFO(
258   SET_TILE_INFO_MEMBER(
257259         1,
258260         code,//tiles beyond 0x7ff only for sprites?
259261         color & 0x0f,
260262         0);
261263}
262264
263static TILE_GET_INFO( get_gfx0a_tile_info )
265TILE_GET_INFO_MEMBER(witch_state::get_gfx0a_tile_info)
264266{
265   witch_state *state = machine.driver_data<witch_state>();
266   int code  = state->m_gfx0_vram[tile_index];
267   int color = state->m_gfx0_cram[tile_index];
267   int code  = m_gfx0_vram[tile_index];
268   int color = m_gfx0_cram[tile_index];
268269
269270   code=code | ((color & 0xe0) << 3);
270271
r17672r17673
273274      code=0;
274275   }
275276
276   SET_TILE_INFO(
277   SET_TILE_INFO_MEMBER(
277278         1,
278279         code,//tiles beyond 0x7ff only for sprites?
279280         color & 0x0f,
280281         0);
281282}
282283
283static TILE_GET_INFO( get_gfx1_tile_info )
284TILE_GET_INFO_MEMBER(witch_state::get_gfx1_tile_info)
284285{
285   witch_state *state = machine.driver_data<witch_state>();
286   int code  = state->m_gfx1_vram[tile_index];
287   int color = state->m_gfx1_cram[tile_index];
286   int code  = m_gfx1_vram[tile_index];
287   int color = m_gfx1_cram[tile_index];
288288
289   SET_TILE_INFO(
289   SET_TILE_INFO_MEMBER(
290290         0,
291291         code | ((color & 0xf0) << 4),
292292         (color>>0) & 0x0f,
r17672r17673
705705static VIDEO_START(witch)
706706{
707707   witch_state *state = machine.driver_data<witch_state>();
708   state->m_gfx0a_tilemap = tilemap_create(machine, get_gfx0a_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
709   state->m_gfx0b_tilemap = tilemap_create(machine, get_gfx0b_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
710   state->m_gfx1_tilemap = tilemap_create(machine, get_gfx1_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32);
708   state->m_gfx0a_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(witch_state::get_gfx0a_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
709   state->m_gfx0b_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(witch_state::get_gfx0b_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
710   state->m_gfx1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(witch_state::get_gfx1_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32);
711711
712712   state->m_gfx0a_tilemap->set_transparent_pen(0);
713713   state->m_gfx0b_tilemap->set_transparent_pen(0);
trunk/src/mame/drivers/luckgrln.c
r17672r17673
145145   DECLARE_WRITE8_MEMBER(counters_w);
146146   DECLARE_READ8_MEMBER(test_r);
147147   DECLARE_DRIVER_INIT(luckgrln);
148   TILE_GET_INFO_MEMBER(get_luckgrln_reel1_tile_info);
149   TILE_GET_INFO_MEMBER(get_luckgrln_reel2_tile_info);
150   TILE_GET_INFO_MEMBER(get_luckgrln_reel3_tile_info);
151   TILE_GET_INFO_MEMBER(get_luckgrln_reel4_tile_info);
148152};
149153
150154
r17672r17673
162166
163167
164168
165static TILE_GET_INFO( get_luckgrln_reel1_tile_info )
169TILE_GET_INFO_MEMBER(luckgrln_state::get_luckgrln_reel1_tile_info)
166170{
167   luckgrln_state *state = machine.driver_data<luckgrln_state>();
168   int code = state->m_reel1_ram[tile_index];
169   int attr = state->m_reel1_attr[tile_index];
171   int code = m_reel1_ram[tile_index];
172   int attr = m_reel1_attr[tile_index];
170173   int col = (attr & 0x1f);
171174
172175   code |= (attr & 0xe0)<<3;
173176
174177
175   SET_TILE_INFO(
178   SET_TILE_INFO_MEMBER(
176179         1,
177180         code,
178181         col,
r17672r17673
193196}
194197
195198
196static TILE_GET_INFO( get_luckgrln_reel2_tile_info )
199TILE_GET_INFO_MEMBER(luckgrln_state::get_luckgrln_reel2_tile_info)
197200{
198   luckgrln_state *state = machine.driver_data<luckgrln_state>();
199   int code = state->m_reel2_ram[tile_index];
200   int attr = state->m_reel2_attr[tile_index];
201   int code = m_reel2_ram[tile_index];
202   int attr = m_reel2_attr[tile_index];
201203   int col = (attr & 0x1f);
202204
203205   code |= (attr & 0xe0)<<3;
204206
205207
206   SET_TILE_INFO(
208   SET_TILE_INFO_MEMBER(
207209         1,
208210         code,
209211         col,
r17672r17673
223225}
224226
225227
226static TILE_GET_INFO( get_luckgrln_reel3_tile_info )
228TILE_GET_INFO_MEMBER(luckgrln_state::get_luckgrln_reel3_tile_info)
227229{
228   luckgrln_state *state = machine.driver_data<luckgrln_state>();
229   int code = state->m_reel3_ram[tile_index];
230   int attr = state->m_reel3_attr[tile_index];
230   int code = m_reel3_ram[tile_index];
231   int attr = m_reel3_attr[tile_index];
231232   int col = (attr & 0x1f);
232233
233234   code |= (attr & 0xe0)<<3;
234235
235   SET_TILE_INFO(
236   SET_TILE_INFO_MEMBER(
236237         1,
237238         code,
238239         col,
r17672r17673
252253}
253254
254255
255static TILE_GET_INFO( get_luckgrln_reel4_tile_info )
256TILE_GET_INFO_MEMBER(luckgrln_state::get_luckgrln_reel4_tile_info)
256257{
257   luckgrln_state *state = machine.driver_data<luckgrln_state>();
258   int code = state->m_reel4_ram[tile_index];
259   int attr = state->m_reel4_attr[tile_index];
258   int code = m_reel4_ram[tile_index];
259   int attr = m_reel4_attr[tile_index];
260260   int col = (attr & 0x1f);
261261
262262   code |= (attr & 0xe0)<<3;
263263
264   SET_TILE_INFO(
264   SET_TILE_INFO_MEMBER(
265265         1,
266266         code,
267267         col,
r17672r17673
271271static VIDEO_START(luckgrln)
272272{
273273   luckgrln_state *state = machine.driver_data<luckgrln_state>();
274   state->m_reel1_tilemap = tilemap_create(machine,get_luckgrln_reel1_tile_info,TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
275   state->m_reel2_tilemap = tilemap_create(machine,get_luckgrln_reel2_tile_info,TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
276   state->m_reel3_tilemap = tilemap_create(machine,get_luckgrln_reel3_tile_info,TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
277   state->m_reel4_tilemap = tilemap_create(machine,get_luckgrln_reel4_tile_info,TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
274   state->m_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(luckgrln_state::get_luckgrln_reel1_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
275   state->m_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(luckgrln_state::get_luckgrln_reel2_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
276   state->m_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(luckgrln_state::get_luckgrln_reel3_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
277   state->m_reel4_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(luckgrln_state::get_luckgrln_reel4_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
278278
279279   state->m_reel1_tilemap->set_scroll_cols(64);
280280   state->m_reel2_tilemap->set_scroll_cols(64);
trunk/src/mame/drivers/quizshow.c
r17672r17673
5959   DECLARE_CUSTOM_INPUT_MEMBER(quizshow_tape_headpos_r);
6060   DECLARE_INPUT_CHANGED_MEMBER(quizshow_category_select);
6161   DECLARE_DRIVER_INIT(quizshow);
62   TILE_GET_INFO_MEMBER(get_tile_info);
6263};
6364
6465
r17672r17673
8788      colortable_entry_set_value(machine.colortable, i, lut_pal[i]);
8889}
8990
90static TILE_GET_INFO( get_tile_info )
91TILE_GET_INFO_MEMBER(quizshow_state::get_tile_info)
9192{
92   quizshow_state *state = machine.driver_data<quizshow_state>();
93   UINT8 code = state->m_main_ram[tile_index];
93   UINT8 code = m_main_ram[tile_index];
9494
9595   // d6: blink, d7: invert
96   UINT8 color = (code & (state->m_blink_state | 0x80)) >> 6;
96   UINT8 color = (code & (m_blink_state | 0x80)) >> 6;
9797
98   SET_TILE_INFO(0, code & 0x3f, color, 0);
98   SET_TILE_INFO_MEMBER(0, code & 0x3f, color, 0);
9999}
100100
101101VIDEO_START( quizshow )
102102{
103103   quizshow_state *state = machine.driver_data<quizshow_state>();
104   state->m_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 16, 32, 16);
104   state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(quizshow_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 16, 32, 16);
105105}
106106
107107SCREEN_UPDATE_IND16( quizshow )
trunk/src/mame/drivers/videopkr.c
r17672r17673
356356   DECLARE_WRITE8_MEMBER(baby_sound_p2_w);
357357   DECLARE_READ8_MEMBER(baby_sound_p3_r);
358358   DECLARE_WRITE8_MEMBER(baby_sound_p3_w);
359   TILE_GET_INFO_MEMBER(get_bg_tile_info);
359360};
360361
361362
r17672r17673
492493   }
493494}
494495
495static TILE_GET_INFO( get_bg_tile_info )
496TILE_GET_INFO_MEMBER(videopkr_state::get_bg_tile_info)
496497{
497   videopkr_state *state = machine.driver_data<videopkr_state>();
498498   int offs = tile_index;
499   int attr = state->m_color_ram[offs] + state->ioport("IN2")->read(); /* Color Switch Action */
500   int code = state->m_video_ram[offs];
499   int attr = m_color_ram[offs] + ioport("IN2")->read(); /* Color Switch Action */
500   int code = m_video_ram[offs];
501501   int color = attr;
502   SET_TILE_INFO(0, code, color, 0);
502   SET_TILE_INFO_MEMBER(0, code, color, 0);
503503}
504504
505505
506506static VIDEO_START( videopkr )
507507{
508508   videopkr_state *state = machine.driver_data<videopkr_state>();
509   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
509   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(videopkr_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
510510}
511511
512512static VIDEO_START( vidadcba )
513513{
514514   videopkr_state *state = machine.driver_data<videopkr_state>();
515   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
515   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(videopkr_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 8, 32, 32);
516516}
517517
518518
trunk/src/mame/drivers/igspoker.c
r17672r17673
114114   DECLARE_DRIVER_INIT(cpoker);
115115   DECLARE_DRIVER_INIT(igs_ncs2);
116116   DECLARE_DRIVER_INIT(cpokerpk);
117   TILE_GET_INFO_MEMBER(get_bg_tile_info);
118   TILE_GET_INFO_MEMBER(get_fg_tile_info);
117119};
118120
119121
r17672r17673
154156}
155157
156158
157static TILE_GET_INFO( get_bg_tile_info )
159TILE_GET_INFO_MEMBER(igspoker_state::get_bg_tile_info)
158160{
159   igspoker_state *state = machine.driver_data<igspoker_state>();
160   int code = state->m_bg_tile_ram[tile_index];
161   SET_TILE_INFO(1 + (tile_index & 3), code, 0, 0);
161   int code = m_bg_tile_ram[tile_index];
162   SET_TILE_INFO_MEMBER(1 + (tile_index & 3), code, 0, 0);
162163}
163164
164static TILE_GET_INFO( get_fg_tile_info )
165TILE_GET_INFO_MEMBER(igspoker_state::get_fg_tile_info)
165166{
166   igspoker_state *state = machine.driver_data<igspoker_state>();
167   int code = state->m_fg_tile_ram[tile_index] | (state->m_fg_color_ram[tile_index] << 8);
167   int code = m_fg_tile_ram[tile_index] | (m_fg_color_ram[tile_index] << 8);
168168   int tile = code & 0x1fff;
169   SET_TILE_INFO(0, code, tile != 0x1fff ? ((code >> 12) & 0xe) + 1 : 0, 0);
169   SET_TILE_INFO_MEMBER(0, code, tile != 0x1fff ? ((code >> 12) & 0xe) + 1 : 0, 0);
170170}
171171
172172WRITE8_MEMBER(igspoker_state::bg_tile_w)
r17672r17673
190190static VIDEO_START(igs_video)
191191{
192192   igspoker_state *state = machine.driver_data<igspoker_state>();
193   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,   8,  8,   64, 32);
194   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,   8,  32,   64, 8);
193   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igspoker_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,   8,  8,   64, 32);
194   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igspoker_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,   8,  32,   64, 8);
195195
196196   state->m_fg_tilemap->set_transparent_pen(0);
197197}
r17672r17673
212212static VIDEO_START(cpokerpk)
213213{
214214   igspoker_state *state = machine.driver_data<igspoker_state>();
215   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,   8,  8,   64, 32);
215   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igspoker_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,   8,  8,   64, 32);
216216}
217217
218218static SCREEN_UPDATE_IND16(cpokerpk)
trunk/src/mame/drivers/mil4000.c
r17672r17673
117117   DECLARE_WRITE16_MEMBER(sc2_vram_w);
118118   DECLARE_WRITE16_MEMBER(sc3_vram_w);
119119   DECLARE_WRITE16_MEMBER(output_w);
120   TILE_GET_INFO_MEMBER(get_sc0_tile_info);
121   TILE_GET_INFO_MEMBER(get_sc1_tile_info);
122   TILE_GET_INFO_MEMBER(get_sc2_tile_info);
123   TILE_GET_INFO_MEMBER(get_sc3_tile_info);
120124};
121125
122126
123static TILE_GET_INFO( get_sc0_tile_info )
127TILE_GET_INFO_MEMBER(mil4000_state::get_sc0_tile_info)
124128{
125   mil4000_state *state = machine.driver_data<mil4000_state>();
126   UINT32 data = (state->m_sc0_vram[tile_index*2]<<16) | state->m_sc0_vram[tile_index*2+1];
129   UINT32 data = (m_sc0_vram[tile_index*2]<<16) | m_sc0_vram[tile_index*2+1];
127130   int tile = data >> 14;
128   int color = (state->m_sc0_vram[tile_index*2+1] & 0x1f)+0;
131   int color = (m_sc0_vram[tile_index*2+1] & 0x1f)+0;
129132
130   SET_TILE_INFO(
133   SET_TILE_INFO_MEMBER(
131134         0,
132135         tile,
133136         color,
134137         0);
135138}
136139
137static TILE_GET_INFO( get_sc1_tile_info )
140TILE_GET_INFO_MEMBER(mil4000_state::get_sc1_tile_info)
138141{
139   mil4000_state *state = machine.driver_data<mil4000_state>();
140   UINT32 data = (state->m_sc1_vram[tile_index*2]<<16) | state->m_sc1_vram[tile_index*2+1];
142   UINT32 data = (m_sc1_vram[tile_index*2]<<16) | m_sc1_vram[tile_index*2+1];
141143   int tile = data >> 14;
142   int color = (state->m_sc1_vram[tile_index*2+1] & 0x1f)+0x10;
144   int color = (m_sc1_vram[tile_index*2+1] & 0x1f)+0x10;
143145
144   SET_TILE_INFO(
146   SET_TILE_INFO_MEMBER(
145147         0,
146148         tile,
147149         color,
148150         0);
149151}
150152
151static TILE_GET_INFO( get_sc2_tile_info )
153TILE_GET_INFO_MEMBER(mil4000_state::get_sc2_tile_info)
152154{
153   mil4000_state *state = machine.driver_data<mil4000_state>();
154   UINT32 data = (state->m_sc2_vram[tile_index*2]<<16) | state->m_sc2_vram[tile_index*2+1];
155   UINT32 data = (m_sc2_vram[tile_index*2]<<16) | m_sc2_vram[tile_index*2+1];
155156   int tile = data >> 14;
156   int color = (state->m_sc2_vram[tile_index*2+1] & 0x1f)+0x20;
157   int color = (m_sc2_vram[tile_index*2+1] & 0x1f)+0x20;
157158
158   SET_TILE_INFO(
159   SET_TILE_INFO_MEMBER(
159160         0,
160161         tile,
161162         color,
162163         0);
163164}
164165
165static TILE_GET_INFO( get_sc3_tile_info )
166TILE_GET_INFO_MEMBER(mil4000_state::get_sc3_tile_info)
166167{
167   mil4000_state *state = machine.driver_data<mil4000_state>();
168   UINT32 data = (state->m_sc3_vram[tile_index*2]<<16) | state->m_sc3_vram[tile_index*2+1];
168   UINT32 data = (m_sc3_vram[tile_index*2]<<16) | m_sc3_vram[tile_index*2+1];
169169   int tile = data >> 14;
170   int color = (state->m_sc3_vram[tile_index*2+1] & 0x1f)+0x30;
170   int color = (m_sc3_vram[tile_index*2+1] & 0x1f)+0x30;
171171
172   SET_TILE_INFO(
172   SET_TILE_INFO_MEMBER(
173173         0,
174174         tile,
175175         color,
r17672r17673
179179static VIDEO_START(mil4000)
180180{
181181   mil4000_state *state = machine.driver_data<mil4000_state>();
182   state->m_sc0_tilemap = tilemap_create(machine, get_sc0_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
183   state->m_sc1_tilemap = tilemap_create(machine, get_sc1_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
184   state->m_sc2_tilemap = tilemap_create(machine, get_sc2_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
185   state->m_sc3_tilemap = tilemap_create(machine, get_sc3_tile_info,TILEMAP_SCAN_ROWS,8,8,64,64);
182   state->m_sc0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mil4000_state::get_sc0_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
183   state->m_sc1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mil4000_state::get_sc1_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
184   state->m_sc2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mil4000_state::get_sc2_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
185   state->m_sc3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mil4000_state::get_sc3_tile_info),state),TILEMAP_SCAN_ROWS,8,8,64,64);
186186
187187   state->m_sc1_tilemap->set_transparent_pen(0);
188188   state->m_sc2_tilemap->set_transparent_pen(0);
trunk/src/mame/drivers/koikoi.c
r17672r17673
6868   DECLARE_WRITE8_MEMBER(io_w);
6969   DECLARE_READ8_MEMBER(input_r);
7070   DECLARE_WRITE8_MEMBER(unknown_w);
71   TILE_GET_INFO_MEMBER(get_tile_info);
7172};
7273
7374
r17672r17673
7778 *
7879 *************************************/
7980
80static TILE_GET_INFO( get_tile_info )
81TILE_GET_INFO_MEMBER(koikoi_state::get_tile_info)
8182{
82   koikoi_state *state = machine.driver_data<koikoi_state>();
83   int code  = state->m_videoram[tile_index] | ((state->m_videoram[tile_index + 0x400] & 0x40) << 2);
84   int color = (state->m_videoram[tile_index + 0x400] & 0x1f);
85   int flip  = (state->m_videoram[tile_index + 0x400] & 0x80) ? (TILEMAP_FLIPX | TILEMAP_FLIPY) : 0;
83   int code  = m_videoram[tile_index] | ((m_videoram[tile_index + 0x400] & 0x40) << 2);
84   int color = (m_videoram[tile_index + 0x400] & 0x1f);
85   int flip  = (m_videoram[tile_index + 0x400] & 0x80) ? (TILEMAP_FLIPX | TILEMAP_FLIPY) : 0;
8686
87   SET_TILE_INFO( 0, code, color, flip);
87   SET_TILE_INFO_MEMBER( 0, code, color, flip);
8888}
8989
9090static PALETTE_INIT( koikoi )
r17672r17673
136136static VIDEO_START(koikoi)
137137{
138138   koikoi_state *state = machine.driver_data<koikoi_state>();
139   state->m_tmap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
139   state->m_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(koikoi_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
140140}
141141
142142static SCREEN_UPDATE_IND16(koikoi)
trunk/src/mame/drivers/skylncr.c
r17672r17673
102102   DECLARE_READ8_MEMBER(ret_00);
103103   DECLARE_WRITE8_MEMBER(skylncr_nmi_enable_w);
104104   DECLARE_DRIVER_INIT(skylncr);
105   TILE_GET_INFO_MEMBER(get_tile_info);
106   TILE_GET_INFO_MEMBER(get_reel_1_tile_info);
107   TILE_GET_INFO_MEMBER(get_reel_2_tile_info);
108   TILE_GET_INFO_MEMBER(get_reel_3_tile_info);
109   TILE_GET_INFO_MEMBER(get_reel_4_tile_info);
105110};
106111
107112
r17672r17673
122127}
123128
124129
125static TILE_GET_INFO( get_tile_info )
130TILE_GET_INFO_MEMBER(skylncr_state::get_tile_info)
126131{
127   skylncr_state *state = machine.driver_data<skylncr_state>();
128   UINT16 code = state->m_videoram[ tile_index ] + (state->m_colorram[ tile_index ] << 8);
129   SET_TILE_INFO(0, code, 0, TILE_FLIPYX( 0 ));
132   UINT16 code = m_videoram[ tile_index ] + (m_colorram[ tile_index ] << 8);
133   SET_TILE_INFO_MEMBER(0, code, 0, TILE_FLIPYX( 0 ));
130134}
131135
132static TILE_GET_INFO( get_reel_1_tile_info )
136TILE_GET_INFO_MEMBER(skylncr_state::get_reel_1_tile_info)
133137{
134   skylncr_state *state = machine.driver_data<skylncr_state>();
135   UINT16 code = state->m_reeltiles_1_ram[ tile_index ] + (state->m_reeltileshigh_1_ram[ tile_index ] << 8);
136   SET_TILE_INFO(1, code, 0, TILE_FLIPYX( 0 ));
138   UINT16 code = m_reeltiles_1_ram[ tile_index ] + (m_reeltileshigh_1_ram[ tile_index ] << 8);
139   SET_TILE_INFO_MEMBER(1, code, 0, TILE_FLIPYX( 0 ));
137140}
138141
139static TILE_GET_INFO( get_reel_2_tile_info )
142TILE_GET_INFO_MEMBER(skylncr_state::get_reel_2_tile_info)
140143{
141   skylncr_state *state = machine.driver_data<skylncr_state>();
142   UINT16 code = state->m_reeltiles_2_ram[ tile_index ] + (state->m_reeltileshigh_2_ram[ tile_index ] << 8);
143   SET_TILE_INFO(1, code, 0, TILE_FLIPYX( 0 ));
144   UINT16 code = m_reeltiles_2_ram[ tile_index ] + (m_reeltileshigh_2_ram[ tile_index ] << 8);
145   SET_TILE_INFO_MEMBER(1, code, 0, TILE_FLIPYX( 0 ));
144146}
145147
146static TILE_GET_INFO( get_reel_3_tile_info )
148TILE_GET_INFO_MEMBER(skylncr_state::get_reel_3_tile_info)
147149{
148   skylncr_state *state = machine.driver_data<skylncr_state>();
149   UINT16 code = state->m_reeltiles_3_ram[ tile_index ] + (state->m_reeltileshigh_3_ram[ tile_index ] << 8);
150   SET_TILE_INFO(1, code, 0, TILE_FLIPYX( 0 ));
150   UINT16 code = m_reeltiles_3_ram[ tile_index ] + (m_reeltileshigh_3_ram[ tile_index ] << 8);
151   SET_TILE_INFO_MEMBER(1, code, 0, TILE_FLIPYX( 0 ));
151152}
152153
153static TILE_GET_INFO( get_reel_4_tile_info )
154TILE_GET_INFO_MEMBER(skylncr_state::get_reel_4_tile_info)
154155{
155   skylncr_state *state = machine.driver_data<skylncr_state>();
156   UINT16 code = state->m_reeltiles_4_ram[ tile_index ] + (state->m_reeltileshigh_4_ram[ tile_index ] << 8);
157   SET_TILE_INFO(1, code, 0, TILE_FLIPYX( 0 ));
156   UINT16 code = m_reeltiles_4_ram[ tile_index ] + (m_reeltileshigh_4_ram[ tile_index ] << 8);
157   SET_TILE_INFO_MEMBER(1, code, 0, TILE_FLIPYX( 0 ));
158158}
159159
160160
r17672r17673
162162{
163163   skylncr_state *state = machine.driver_data<skylncr_state>();
164164
165   state->m_tmap = tilemap_create(   machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 0x40, 0x20   );
165   state->m_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skylncr_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 0x40, 0x20   );
166166
167   state->m_reel_1_tilemap = tilemap_create(machine, get_reel_1_tile_info, TILEMAP_SCAN_ROWS, 8, 32, 64, 8 );
168   state->m_reel_2_tilemap = tilemap_create(machine, get_reel_2_tile_info, TILEMAP_SCAN_ROWS, 8, 32, 64, 8 );
169   state->m_reel_3_tilemap = tilemap_create(machine, get_reel_3_tile_info, TILEMAP_SCAN_ROWS, 8, 32, 64, 8 );
170   state->m_reel_4_tilemap = tilemap_create(machine, get_reel_4_tile_info, TILEMAP_SCAN_ROWS, 8, 32, 64, 8 );
167   state->m_reel_1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skylncr_state::get_reel_1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 32, 64, 8 );
168   state->m_reel_2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skylncr_state::get_reel_2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 32, 64, 8 );
169   state->m_reel_3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skylncr_state::get_reel_3_tile_info),state), TILEMAP_SCAN_ROWS, 8, 32, 64, 8 );
170   state->m_reel_4_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(skylncr_state::get_reel_4_tile_info),state), TILEMAP_SCAN_ROWS, 8, 32, 64, 8 );
171171
172172   state->m_reel_2_tilemap->set_scroll_cols(0x40);
173173   state->m_reel_3_tilemap->set_scroll_cols(0x40);
trunk/src/mame/drivers/limenko.c
r17672r17673
8383   DECLARE_DRIVER_INIT(dynabomb);
8484   DECLARE_DRIVER_INIT(legendoh);
8585   DECLARE_DRIVER_INIT(spotty);
86   TILE_GET_INFO_MEMBER(get_bg_tile_info);
87   TILE_GET_INFO_MEMBER(get_md_tile_info);
88   TILE_GET_INFO_MEMBER(get_fg_tile_info);
8689};
8790
8891
r17672r17673
295298  VIDEO HARDWARE EMULATION
296299*****************************************************************************************************/
297300
298static TILE_GET_INFO( get_bg_tile_info )
301TILE_GET_INFO_MEMBER(limenko_state::get_bg_tile_info)
299302{
300   limenko_state *state = machine.driver_data<limenko_state>();
301   int tile  = state->m_bg_videoram[tile_index] & 0x7ffff;
302   int color = (state->m_bg_videoram[tile_index]>>28) & 0xf;
303   SET_TILE_INFO(0,tile,color,0);
303   int tile  = m_bg_videoram[tile_index] & 0x7ffff;
304   int color = (m_bg_videoram[tile_index]>>28) & 0xf;
305   SET_TILE_INFO_MEMBER(0,tile,color,0);
304306}
305307
306static TILE_GET_INFO( get_md_tile_info )
308TILE_GET_INFO_MEMBER(limenko_state::get_md_tile_info)
307309{
308   limenko_state *state = machine.driver_data<limenko_state>();
309   int tile  = state->m_md_videoram[tile_index] & 0x7ffff;
310   int color = (state->m_md_videoram[tile_index]>>28) & 0xf;
311   SET_TILE_INFO(0,tile,color,0);
310   int tile  = m_md_videoram[tile_index] & 0x7ffff;
311   int color = (m_md_videoram[tile_index]>>28) & 0xf;
312   SET_TILE_INFO_MEMBER(0,tile,color,0);
312313}
313314
314static TILE_GET_INFO( get_fg_tile_info )
315TILE_GET_INFO_MEMBER(limenko_state::get_fg_tile_info)
315316{
316   limenko_state *state = machine.driver_data<limenko_state>();
317   int tile  = state->m_fg_videoram[tile_index] & 0x7ffff;
318   int color = (state->m_fg_videoram[tile_index]>>28) & 0xf;
319   SET_TILE_INFO(0,tile,color,0);
317   int tile  = m_fg_videoram[tile_index] & 0x7ffff;
318   int color = (m_fg_videoram[tile_index]>>28) & 0xf;
319   SET_TILE_INFO_MEMBER(0,tile,color,0);
320320}
321321
322322static void draw_single_sprite(bitmap_ind16 &dest_bmp,const rectangle &clip,gfx_element *gfx,
r17672r17673
503503static VIDEO_START( limenko )
504504{
505505   limenko_state *state = machine.driver_data<limenko_state>();
506   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info,TILEMAP_SCAN_ROWS,8,8,128,64);
507   state->m_md_tilemap = tilemap_create(machine, get_md_tile_info,TILEMAP_SCAN_ROWS,8,8,128,64);
508   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info,TILEMAP_SCAN_ROWS,8,8,128,64);
506   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(limenko_state::get_bg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,64);
507   state->m_md_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(limenko_state::get_md_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,64);
508   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(limenko_state::get_fg_tile_info),state),TILEMAP_SCAN_ROWS,8,8,128,64);
509509
510510   state->m_md_tilemap->set_transparent_pen(0);
511511   state->m_fg_tilemap->set_transparent_pen(0);
trunk/src/mame/drivers/drtomy.c
r17672r17673
3535   DECLARE_WRITE16_MEMBER(drtomy_vram_fg_w);
3636   DECLARE_WRITE16_MEMBER(drtomy_vram_bg_w);
3737   DECLARE_WRITE16_MEMBER(drtomy_okibank_w);
38   TILE_GET_INFO_MEMBER(get_tile_info_fg);
39   TILE_GET_INFO_MEMBER(get_tile_info_bg);
3840};
3941
4042
4143
42static TILE_GET_INFO( get_tile_info_fg )
44TILE_GET_INFO_MEMBER(drtomy_state::get_tile_info_fg)
4345{
44   drtomy_state *state = machine.driver_data<drtomy_state>();
45   int code  = state->m_videoram_fg[tile_index] & 0xfff;
46   int color = (state->m_videoram_fg[tile_index] & 0xf000) >> 12;
47   SET_TILE_INFO(2, code, color, 0);
46   int code  = m_videoram_fg[tile_index] & 0xfff;
47   int color = (m_videoram_fg[tile_index] & 0xf000) >> 12;
48   SET_TILE_INFO_MEMBER(2, code, color, 0);
4849}
4950
5051
51static TILE_GET_INFO( get_tile_info_bg )
52TILE_GET_INFO_MEMBER(drtomy_state::get_tile_info_bg)
5253{
53   drtomy_state *state = machine.driver_data<drtomy_state>();
54   int code  = state->m_videoram_bg[tile_index] & 0xfff;
55   int color = (state->m_videoram_bg[tile_index] & 0xf000) >> 12;
56   SET_TILE_INFO(1, code, color, 0);
54   int code  = m_videoram_bg[tile_index] & 0xfff;
55   int color = (m_videoram_bg[tile_index] & 0xf000) >> 12;
56   SET_TILE_INFO_MEMBER(1, code, color, 0);
5757}
5858
5959
r17672r17673
123123{
124124   drtomy_state *state = machine.driver_data<drtomy_state>();
125125
126   state->m_tilemap_bg = tilemap_create(machine, get_tile_info_bg, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
127   state->m_tilemap_fg = tilemap_create(machine, get_tile_info_fg, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
126   state->m_tilemap_bg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(drtomy_state::get_tile_info_bg),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
127   state->m_tilemap_fg = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(drtomy_state::get_tile_info_fg),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
128128
129129   state->m_tilemap_fg->set_transparent_pen(0);
130130}
trunk/src/mame/drivers/calorie.c
r17672r17673
107107   DECLARE_WRITE8_MEMBER(bogus_w);
108108   DECLARE_DRIVER_INIT(calorie);
109109   DECLARE_DRIVER_INIT(calorieb);
110   TILE_GET_INFO_MEMBER(get_bg_tile_info);
111   TILE_GET_INFO_MEMBER(get_fg_tile_info);
110112};
111113
112114
r17672r17673
116118 *
117119 *************************************/
118120
119static TILE_GET_INFO( get_bg_tile_info )
121TILE_GET_INFO_MEMBER(calorie_state::get_bg_tile_info)
120122{
121   calorie_state *state = machine.driver_data<calorie_state>();
122   UINT8 *src = state->memregion("user1")->base();
123   int bg_base = (state->m_bg_bank & 0x0f) * 0x200;
123   UINT8 *src = memregion("user1")->base();
124   int bg_base = (m_bg_bank & 0x0f) * 0x200;
124125   int code  = src[bg_base + tile_index] | (((src[bg_base + tile_index + 0x100]) & 0x10) << 4);
125126   int color = src[bg_base + tile_index + 0x100] & 0x0f;
126127   int flag  = src[bg_base + tile_index + 0x100] & 0x40 ? TILE_FLIPX : 0;
127128
128   SET_TILE_INFO(1, code, color, flag);
129   SET_TILE_INFO_MEMBER(1, code, color, flag);
129130}
130131
131static TILE_GET_INFO( get_fg_tile_info )
132TILE_GET_INFO_MEMBER(calorie_state::get_fg_tile_info)
132133{
133   calorie_state *state = machine.driver_data<calorie_state>();
134   int code  = ((state->m_fg_ram[tile_index + 0x400] & 0x30) << 4) | state->m_fg_ram[tile_index];
135   int color = state->m_fg_ram[tile_index + 0x400] & 0x0f;
134   int code  = ((m_fg_ram[tile_index + 0x400] & 0x30) << 4) | m_fg_ram[tile_index];
135   int color = m_fg_ram[tile_index + 0x400] & 0x0f;
136136
137   SET_TILE_INFO(0, code, color, TILE_FLIPYX((state->m_fg_ram[tile_index + 0x400] & 0xc0) >> 6));
137   SET_TILE_INFO_MEMBER(0, code, color, TILE_FLIPYX((m_fg_ram[tile_index + 0x400] & 0xc0) >> 6));
138138}
139139
140140
r17672r17673
142142{
143143   calorie_state *state = machine.driver_data<calorie_state>();
144144
145   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
146   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
145   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(calorie_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 16, 16);
146   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(calorie_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
147147
148148   state->m_fg_tilemap->set_transparent_pen(0);
149149}
trunk/src/mame/drivers/magic10.c
r17672r17673
117117   DECLARE_DRIVER_INIT(magic102);
118118   DECLARE_DRIVER_INIT(magic10);
119119   DECLARE_DRIVER_INIT(hotslot);
120   TILE_GET_INFO_MEMBER(get_layer0_tile_info);
121   TILE_GET_INFO_MEMBER(get_layer1_tile_info);
122   TILE_GET_INFO_MEMBER(get_layer2_tile_info);
120123};
121124
122125
r17672r17673
149152}
150153
151154
152static TILE_GET_INFO( get_layer0_tile_info )
155TILE_GET_INFO_MEMBER(magic10_state::get_layer0_tile_info)
153156{
154   magic10_state *state = machine.driver_data<magic10_state>();
155   SET_TILE_INFO
157   SET_TILE_INFO_MEMBER
156158   (
157159      1,
158      state->m_layer0_videoram[tile_index * 2],
159      state->m_layer0_videoram[tile_index * 2 + 1] & 0x0f,
160      TILE_FLIPYX((state->m_layer0_videoram[tile_index * 2 + 1] & 0xc0) >> 6)
160      m_layer0_videoram[tile_index * 2],
161      m_layer0_videoram[tile_index * 2 + 1] & 0x0f,
162      TILE_FLIPYX((m_layer0_videoram[tile_index * 2 + 1] & 0xc0) >> 6)
161163   );
162164}
163165
164static TILE_GET_INFO( get_layer1_tile_info )
166TILE_GET_INFO_MEMBER(magic10_state::get_layer1_tile_info)
165167{
166   magic10_state *state = machine.driver_data<magic10_state>();
167   SET_TILE_INFO
168   SET_TILE_INFO_MEMBER
168169   (
169170      1,
170      state->m_layer1_videoram[tile_index * 2],
171      state->m_layer1_videoram[tile_index * 2 + 1] & 0x0f,
172      TILE_FLIPYX((state->m_layer1_videoram[tile_index * 2 + 1] & 0xc0) >> 6)
171      m_layer1_videoram[tile_index * 2],
172      m_layer1_videoram[tile_index * 2 + 1] & 0x0f,
173      TILE_FLIPYX((m_layer1_videoram[tile_index * 2 + 1] & 0xc0) >> 6)
173174   );
174175}
175176
176static TILE_GET_INFO( get_layer2_tile_info )
177TILE_GET_INFO_MEMBER(magic10_state::get_layer2_tile_info)
177178{
178   magic10_state *state = machine.driver_data<magic10_state>();
179   SET_TILE_INFO
179   SET_TILE_INFO_MEMBER
180180   (
181181      0,
182      state->m_layer2_videoram[tile_index * 2],
183      state->m_layer2_videoram[tile_index * 2 + 1] & 0x0f,
182      m_layer2_videoram[tile_index * 2],
183      m_layer2_videoram[tile_index * 2 + 1] & 0x0f,
184184      0
185185   );
186186}
r17672r17673
189189static VIDEO_START( magic10 )
190190{
191191   magic10_state *state = machine.driver_data<magic10_state>();
192   state->m_layer0_tilemap = tilemap_create(machine, get_layer0_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
193   state->m_layer1_tilemap = tilemap_create(machine, get_layer1_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
194   state->m_layer2_tilemap = tilemap_create(machine, get_layer2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
192   state->m_layer0_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(magic10_state::get_layer0_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
193   state->m_layer1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(magic10_state::get_layer1_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
194   state->m_layer2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(magic10_state::get_layer2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
195195
196196   state->m_layer1_tilemap->set_transparent_pen(0);
197197   state->m_layer2_tilemap->set_transparent_pen(0);
trunk/src/mame/drivers/mogura.c
r17672r17673
2727   DECLARE_WRITE8_MEMBER(mogura_tileram_w);
2828   DECLARE_WRITE8_MEMBER(mogura_dac_w);
2929   DECLARE_WRITE8_MEMBER(mogura_gfxram_w);
30   TILE_GET_INFO_MEMBER(get_mogura_tile_info);
3031};
3132
3233
r17672r17673
6364}
6465
6566
66static TILE_GET_INFO( get_mogura_tile_info )
67TILE_GET_INFO_MEMBER(mogura_state::get_mogura_tile_info)
6768{
68   mogura_state *state = machine.driver_data<mogura_state>();
69   int code = state->m_tileram[tile_index];
70   int attr = state->m_tileram[tile_index + 0x800];
69   int code = m_tileram[tile_index];
70   int attr = m_tileram[tile_index + 0x800];
7171
72   SET_TILE_INFO(
72   SET_TILE_INFO_MEMBER(
7373         0,
7474         code,
7575         (attr >> 1) & 7,
r17672r17673
8181{
8282   mogura_state *state = machine.driver_data<mogura_state>();
8383   machine.gfx[0]->set_source(state->m_gfxram);
84   state->m_tilemap = tilemap_create(machine, get_mogura_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
84   state->m_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(mogura_state::get_mogura_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
8585}
8686
8787static SCREEN_UPDATE_IND16( mogura )
trunk/src/mame/drivers/ddealer.c
r17672r17673
152152   DECLARE_WRITE16_MEMBER(ddealer_mcu_shared_w);
153153   DECLARE_READ16_MEMBER(ddealer_mcu_r);
154154   DECLARE_DRIVER_INIT(ddealer);
155   TILE_GET_INFO_MEMBER(get_back_tile_info);
155156};
156157
157158
r17672r17673
161162   m_flipscreen = data & 0x01;
162163}
163164
164static TILE_GET_INFO( get_back_tile_info )
165TILE_GET_INFO_MEMBER(ddealer_state::get_back_tile_info)
165166{
166   ddealer_state *state = machine.driver_data<ddealer_state>();
167   int code = state->m_back_vram[tile_index];
168   SET_TILE_INFO(
167   int code = m_back_vram[tile_index];
168   SET_TILE_INFO_MEMBER(
169169         0,
170170         code & 0xfff,
171171         code >> 12,
r17672r17673
176176{
177177   ddealer_state *state = machine.driver_data<ddealer_state>();
178178   state->m_flipscreen = 0;
179   state->m_back_tilemap = tilemap_create(machine, get_back_tile_info, TILEMAP_SCAN_COLS, 8, 8, 64, 32);
179   state->m_back_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ddealer_state::get_back_tile_info),state), TILEMAP_SCAN_COLS, 8, 8, 64, 32);
180180}
181181
182182static void ddealer_draw_video_layer( running_machine &machine, UINT16* vreg_base, UINT16* top, UINT16* bottom, bitmap_ind16 &bitmap, const rectangle &cliprect, int flipy)
trunk/src/mame/drivers/igs009.c
r17672r17673
7777   void show_out();
7878   DECLARE_CUSTOM_INPUT_MEMBER(hopper_r);
7979   DECLARE_DRIVER_INIT(jingbell);
80   TILE_GET_INFO_MEMBER(get_jingbell_reel1_tile_info);
81   TILE_GET_INFO_MEMBER(get_gp98_reel1_tile_info);
82   TILE_GET_INFO_MEMBER(get_jingbell_reel2_tile_info);
83   TILE_GET_INFO_MEMBER(get_gp98_reel2_tile_info);
84   TILE_GET_INFO_MEMBER(get_jingbell_reel3_tile_info);
85   TILE_GET_INFO_MEMBER(get_gp98_reel3_tile_info);
86   TILE_GET_INFO_MEMBER(get_jingbell_reel4_tile_info);
87   TILE_GET_INFO_MEMBER(get_gp98_reel4_tile_info);
88   TILE_GET_INFO_MEMBER(get_fg_tile_info);
8089};
8190
8291
r17672r17673
92101   m_gp98_reel1_tilemap->mark_tile_dirty(offset);
93102}
94103
95static TILE_GET_INFO( get_jingbell_reel1_tile_info )
104TILE_GET_INFO_MEMBER(igs009_state::get_jingbell_reel1_tile_info)
96105{
97   igs009_state *state = machine.driver_data<igs009_state>();
98   int code = state->m_gp98_reel1_ram[tile_index];
106   int code = m_gp98_reel1_ram[tile_index];
99107
100   SET_TILE_INFO(
108   SET_TILE_INFO_MEMBER(
101109         0,
102110         (code)+(((tile_index+1)&0x3)*0x100),
103111         (code & 0x80) ? 0xc : 0,
r17672r17673
105113}
106114
107115
108static TILE_GET_INFO( get_gp98_reel1_tile_info )
116TILE_GET_INFO_MEMBER(igs009_state::get_gp98_reel1_tile_info)
109117{
110   igs009_state *state = machine.driver_data<igs009_state>();
111   int code = state->m_gp98_reel1_ram[tile_index];
118   int code = m_gp98_reel1_ram[tile_index];
112119
113   SET_TILE_INFO(
120   SET_TILE_INFO_MEMBER(
114121         0,
115122         (code*4)+(tile_index&0x3),
116123         0,
r17672r17673
124131   m_gp98_reel2_tilemap->mark_tile_dirty(offset);
125132}
126133
127static TILE_GET_INFO( get_jingbell_reel2_tile_info )
134TILE_GET_INFO_MEMBER(igs009_state::get_jingbell_reel2_tile_info)
128135{
129   igs009_state *state = machine.driver_data<igs009_state>();
130   int code = state->m_gp98_reel2_ram[tile_index];
136   int code = m_gp98_reel2_ram[tile_index];
131137
132   SET_TILE_INFO(
138   SET_TILE_INFO_MEMBER(
133139         0,
134140         (code)+(((tile_index+1)&0x3)*0x100),
135141         (code & 0x80) ? 0xc : 0,
136142         0);
137143}
138144
139static TILE_GET_INFO( get_gp98_reel2_tile_info )
145TILE_GET_INFO_MEMBER(igs009_state::get_gp98_reel2_tile_info)
140146{
141   igs009_state *state = machine.driver_data<igs009_state>();
142   int code = state->m_gp98_reel2_ram[tile_index];
147   int code = m_gp98_reel2_ram[tile_index];
143148
144   SET_TILE_INFO(
149   SET_TILE_INFO_MEMBER(
145150         0,
146151         (code*4)+(tile_index&0x3),
147152         0,
r17672r17673
156161   m_gp98_reel3_tilemap->mark_tile_dirty(offset);
157162}
158163
159static TILE_GET_INFO( get_jingbell_reel3_tile_info )
164TILE_GET_INFO_MEMBER(igs009_state::get_jingbell_reel3_tile_info)
160165{
161   igs009_state *state = machine.driver_data<igs009_state>();
162   int code = state->m_gp98_reel3_ram[tile_index];
166   int code = m_gp98_reel3_ram[tile_index];
163167
164   SET_TILE_INFO(
168   SET_TILE_INFO_MEMBER(
165169         0,
166170         (code)+(((tile_index+1)&0x3)*0x100),
167171         (code & 0x80) ? 0xc : 0,
168172         0);
169173}
170174
171static TILE_GET_INFO( get_gp98_reel3_tile_info )
175TILE_GET_INFO_MEMBER(igs009_state::get_gp98_reel3_tile_info)
172176{
173   igs009_state *state = machine.driver_data<igs009_state>();
174   int code = state->m_gp98_reel3_ram[tile_index];
177   int code = m_gp98_reel3_ram[tile_index];
175178
176   SET_TILE_INFO(
179   SET_TILE_INFO_MEMBER(
177180         0,
178181         (code*4)+(tile_index&0x3),
179182         0,
r17672r17673
188191   m_gp98_reel4_tilemap->mark_tile_dirty(offset);
189192}
190193
191static TILE_GET_INFO( get_jingbell_reel4_tile_info )
194TILE_GET_INFO_MEMBER(igs009_state::get_jingbell_reel4_tile_info)
192195{
193   igs009_state *state = machine.driver_data<igs009_state>();
194   int code = state->m_gp98_reel4_ram[tile_index];
196   int code = m_gp98_reel4_ram[tile_index];
195197
196   SET_TILE_INFO(
198   SET_TILE_INFO_MEMBER(
197199         0,
198200         (code)+(((tile_index+1)&0x3)*0x100),
199201         (code & 0x80) ? 0xc : 0,
200202         0);
201203}
202204
203static TILE_GET_INFO( get_gp98_reel4_tile_info )
205TILE_GET_INFO_MEMBER(igs009_state::get_gp98_reel4_tile_info)
204206{
205   igs009_state *state = machine.driver_data<igs009_state>();
206   int code = state->m_gp98_reel4_ram[tile_index];
207   int code = m_gp98_reel4_ram[tile_index];
207208
208   SET_TILE_INFO(
209   SET_TILE_INFO_MEMBER(
209210         0,
210211         (code*4)+(tile_index&0x3),
211212         0,
r17672r17673
225226}
226227
227228
228static TILE_GET_INFO( get_fg_tile_info )
229TILE_GET_INFO_MEMBER(igs009_state::get_fg_tile_info)
229230{
230   igs009_state *state = machine.driver_data<igs009_state>();
231   int code = state->m_fg_tile_ram[tile_index] | (state->m_fg_color_ram[tile_index] << 8);
232   SET_TILE_INFO(1, code, (4*(code >> 14)+3), 0);
231   int code = m_fg_tile_ram[tile_index] | (m_fg_color_ram[tile_index] << 8);
232   SET_TILE_INFO_MEMBER(1, code, (4*(code >> 14)+3), 0);
233233}
234234
235235WRITE8_MEMBER(igs009_state::fg_tile_w)
r17672r17673
247247static VIDEO_START(jingbell)
248248{
249249   igs009_state *state = machine.driver_data<igs009_state>();
250   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,   8,  8,   0x80,0x20);
250   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,   8,  8,   0x80,0x20);
251251   state->m_fg_tilemap->set_transparent_pen(0);
252252
253   state->m_gp98_reel1_tilemap = tilemap_create(machine,get_jingbell_reel1_tile_info,TILEMAP_SCAN_ROWS,8,32, 128, 8);
254   state->m_gp98_reel2_tilemap = tilemap_create(machine,get_jingbell_reel2_tile_info,TILEMAP_SCAN_ROWS,8,32, 128, 8);
255   state->m_gp98_reel3_tilemap = tilemap_create(machine,get_jingbell_reel3_tile_info,TILEMAP_SCAN_ROWS,8,32, 128, 8);
256   state->m_gp98_reel4_tilemap = tilemap_create(machine,get_jingbell_reel4_tile_info,TILEMAP_SCAN_ROWS,8,32, 128, 8);
253   state->m_gp98_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_jingbell_reel1_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 128, 8);
254   state->m_gp98_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_jingbell_reel2_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 128, 8);
255   state->m_gp98_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_jingbell_reel3_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 128, 8);
256   state->m_gp98_reel4_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_jingbell_reel4_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 128, 8);
257257
258258   state->m_gp98_reel1_tilemap->set_scroll_cols(128);
259259   state->m_gp98_reel2_tilemap->set_scroll_cols(128);
r17672r17673
265265static VIDEO_START(gp98)
266266{
267267   igs009_state *state = machine.driver_data<igs009_state>();
268   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,   8,  8,   0x80,0x20);
268   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,   8,  8,   0x80,0x20);
269269   state->m_fg_tilemap->set_transparent_pen(0);
270270
271   state->m_gp98_reel1_tilemap = tilemap_create(machine,get_gp98_reel1_tile_info,TILEMAP_SCAN_ROWS,8,32, 128, 8);
272   state->m_gp98_reel2_tilemap = tilemap_create(machine,get_gp98_reel2_tile_info,TILEMAP_SCAN_ROWS,8,32, 128, 8);
273   state->m_gp98_reel3_tilemap = tilemap_create(machine,get_gp98_reel3_tile_info,TILEMAP_SCAN_ROWS,8,32, 128, 8);
274   state->m_gp98_reel4_tilemap = tilemap_create(machine,get_gp98_reel4_tile_info,TILEMAP_SCAN_ROWS,8,32, 128, 8);
271   state->m_gp98_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_gp98_reel1_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 128, 8);
272   state->m_gp98_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_gp98_reel2_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 128, 8);
273   state->m_gp98_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_gp98_reel3_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 128, 8);
274   state->m_gp98_reel4_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(igs009_state::get_gp98_reel4_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 128, 8);
275275
276276   state->m_gp98_reel1_tilemap->set_scroll_cols(128);
277277   state->m_gp98_reel2_tilemap->set_scroll_cols(128);
trunk/src/mame/drivers/dacholer.c
r17672r17673
8383   DECLARE_WRITE8_MEMBER(snd_irq_w);
8484   DECLARE_WRITE8_MEMBER(music_irq_w);
8585   DECLARE_CUSTOM_INPUT_MEMBER(snd_ack_r);
86   TILE_GET_INFO_MEMBER(get_bg_tile_info);
87   TILE_GET_INFO_MEMBER(get_fg_tile_info);
8688};
8789
88static TILE_GET_INFO( get_bg_tile_info )
90TILE_GET_INFO_MEMBER(dacholer_state::get_bg_tile_info)
8991{
90   dacholer_state *state = machine.driver_data<dacholer_state>();
91   SET_TILE_INFO(1, state->m_bgvideoram[tile_index] + state->m_bg_bank * 0x100, 0, 0);
92   SET_TILE_INFO_MEMBER(1, m_bgvideoram[tile_index] + m_bg_bank * 0x100, 0, 0);
9293}
9394
94static TILE_GET_INFO( get_fg_tile_info )
95TILE_GET_INFO_MEMBER(dacholer_state::get_fg_tile_info)
9596{
96   dacholer_state *state = machine.driver_data<dacholer_state>();
97   SET_TILE_INFO(0, state->m_fgvideoram[tile_index], 0, 0);
97   SET_TILE_INFO_MEMBER(0, m_fgvideoram[tile_index], 0, 0);
9898}
9999
100100static VIDEO_START( dacholer )
101101{
102102   dacholer_state *state = machine.driver_data<dacholer_state>();
103   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
104   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
103   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dacholer_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
104   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dacholer_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
105105
106106   state->m_fg_tilemap->set_transparent_pen(0);
107107}
trunk/src/mame/drivers/cb2001.c
r17672r17673
6666   DECLARE_WRITE16_MEMBER(cb2001_vidctrl_w);
6767   DECLARE_WRITE16_MEMBER(cb2001_vidctrl2_w);
6868   DECLARE_WRITE16_MEMBER(cb2001_bg_w);
69   TILE_GET_INFO_MEMBER(get_cb2001_reel1_tile_info);
70   TILE_GET_INFO_MEMBER(get_cb2001_reel2_tile_info);
71   TILE_GET_INFO_MEMBER(get_cb2001_reel3_tile_info);
6972};
7073
7174
r17672r17673
456459}
457460
458461
459static TILE_GET_INFO( get_cb2001_reel1_tile_info )
462TILE_GET_INFO_MEMBER(cb2001_state::get_cb2001_reel1_tile_info)
460463{
461   cb2001_state *state = machine.driver_data<cb2001_state>();
462   int code = state->m_vram_bg[(0x0000/2) + tile_index/2];
464   int code = m_vram_bg[(0x0000/2) + tile_index/2];
463465
464466   if (tile_index&1)
465467      code >>=8;
r17672r17673
468470
469471   int colour = 0;//= (cb2001_out_c&0x7) + 8;
470472
471   SET_TILE_INFO(
473   SET_TILE_INFO_MEMBER(
472474         1,
473475         code+0x800,
474476         colour,
475477         0);
476478}
477479
478static TILE_GET_INFO( get_cb2001_reel2_tile_info )
480TILE_GET_INFO_MEMBER(cb2001_state::get_cb2001_reel2_tile_info)
479481{
480   cb2001_state *state = machine.driver_data<cb2001_state>();
481   int code = state->m_vram_bg[(0x0200/2) + tile_index/2];
482   int code = m_vram_bg[(0x0200/2) + tile_index/2];
482483
483484   if (tile_index&1)
484485      code >>=8;
r17672r17673
487488
488489   int colour = 0;//(cb2001_out_c&0x7) + 8;
489490
490   SET_TILE_INFO(
491   SET_TILE_INFO_MEMBER(
491492         1,
492493         code+0x800,
493494         colour,
r17672r17673
495496}
496497
497498
498static TILE_GET_INFO( get_cb2001_reel3_tile_info )
499TILE_GET_INFO_MEMBER(cb2001_state::get_cb2001_reel3_tile_info)
499500{
500   cb2001_state *state = machine.driver_data<cb2001_state>();
501   int code = state->m_vram_bg[(0x0400/2) + tile_index/2];
501   int code = m_vram_bg[(0x0400/2) + tile_index/2];
502502   int colour = 0;//(cb2001_out_c&0x7) + 8;
503503
504504   if (tile_index&1)
r17672r17673
506506
507507   code &=0xff;
508508
509   SET_TILE_INFO(
509   SET_TILE_INFO_MEMBER(
510510         1,
511511         code+0x800,
512512         colour,
r17672r17673
517517static VIDEO_START(cb2001)
518518{
519519   cb2001_state *state = machine.driver_data<cb2001_state>();
520   state->m_reel1_tilemap = tilemap_create(machine,get_cb2001_reel1_tile_info,TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
521   state->m_reel2_tilemap = tilemap_create(machine,get_cb2001_reel2_tile_info,TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
522   state->m_reel3_tilemap = tilemap_create(machine,get_cb2001_reel3_tile_info,TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
520   state->m_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cb2001_state::get_cb2001_reel1_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
521   state->m_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cb2001_state::get_cb2001_reel2_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
522   state->m_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cb2001_state::get_cb2001_reel3_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
523523
524524   state->m_reel1_tilemap->set_scroll_cols(64);
525525   state->m_reel2_tilemap->set_scroll_cols(64);
trunk/src/mame/drivers/wallc.c
r17672r17673
6666   DECLARE_WRITE8_MEMBER(wallc_coin_counter_w);
6767   DECLARE_DRIVER_INIT(wallc);
6868   DECLARE_DRIVER_INIT(wallca);
69   TILE_GET_INFO_MEMBER(get_bg_tile_info);
6970};
7071
7172
r17672r17673
139140   m_bg_tilemap->mark_tile_dirty(offset);
140141}
141142
142static TILE_GET_INFO( get_bg_tile_info )
143TILE_GET_INFO_MEMBER(wallc_state::get_bg_tile_info)
143144{
144   wallc_state *state = machine.driver_data<wallc_state>();
145   UINT8 *videoram = state->m_videoram;
146   SET_TILE_INFO(0, videoram[tile_index] + 0x100, 1, 0);
145   UINT8 *videoram = m_videoram;
146   SET_TILE_INFO_MEMBER(0, videoram[tile_index] + 0x100, 1, 0);
147147}
148148
149149static VIDEO_START( wallc )
150150{
151151   wallc_state *state = machine.driver_data<wallc_state>();
152   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_COLS_FLIP_Y,   8, 8, 32, 32);
152   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wallc_state::get_bg_tile_info),state), TILEMAP_SCAN_COLS_FLIP_Y,   8, 8, 32, 32);
153153}
154154
155155static SCREEN_UPDATE_IND16( wallc )
trunk/src/mame/drivers/marinedt.c
r17672r17673
147147   DECLARE_WRITE8_MEMBER(marinedt_sound_w);
148148   DECLARE_WRITE8_MEMBER(marinedt_pd_w);
149149   DECLARE_WRITE8_MEMBER(marinedt_pf_w);
150   TILE_GET_INFO_MEMBER(get_tile_info);
150151};
151152
152153
r17672r17673
477478}
478479
479480
480static TILE_GET_INFO( get_tile_info )
481TILE_GET_INFO_MEMBER(marinedt_state::get_tile_info)
481482{
482   marinedt_state *state = machine.driver_data<marinedt_state>();
483   int code = state->m_tx_tileram[tile_index];
483   int code = m_tx_tileram[tile_index];
484484   int color = 0;
485485   int flags = TILE_FLIPX;
486486
487   SET_TILE_INFO(0, code, color, flags);
487   SET_TILE_INFO_MEMBER(0, code, color, flags);
488488}
489489
490490static VIDEO_START( marinedt )
491491{
492492   marinedt_state *state = machine.driver_data<marinedt_state>();
493   state->m_tx_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
493   state->m_tx_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(marinedt_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
494494
495495   state->m_tx_tilemap->set_transparent_pen(0);
496496   state->m_tx_tilemap->set_scrolldx(0, 4*8);
trunk/src/mame/drivers/subsino.c
r17672r17673
293293   DECLARE_DRIVER_INIT(sharkpye);
294294   DECLARE_DRIVER_INIT(tisub);
295295   DECLARE_DRIVER_INIT(mtrainnv);
296   TILE_GET_INFO_MEMBER(get_tile_info);
297   TILE_GET_INFO_MEMBER(get_stisub_tile_info);
298   TILE_GET_INFO_MEMBER(get_subsino_reel1_tile_info);
299   TILE_GET_INFO_MEMBER(get_stisub_reel1_tile_info);
300   TILE_GET_INFO_MEMBER(get_subsino_reel2_tile_info);
301   TILE_GET_INFO_MEMBER(get_stisub_reel2_tile_info);
302   TILE_GET_INFO_MEMBER(get_subsino_reel3_tile_info);
303   TILE_GET_INFO_MEMBER(get_stisub_reel3_tile_info);
296304};
297305
298306
r17672r17673
321329   m_tmap->mark_tile_dirty(offset);
322330}
323331
324static TILE_GET_INFO( get_tile_info )
332TILE_GET_INFO_MEMBER(subsino_state::get_tile_info)
325333{
326   subsino_state *state = machine.driver_data<subsino_state>();
327   UINT16 code = state->m_videoram[ tile_index ] + (state->m_colorram[ tile_index ] << 8);
334   UINT16 code = m_videoram[ tile_index ] + (m_colorram[ tile_index ] << 8);
328335   UINT16 color = (code >> 8) & 0x0f;
329336   code = ((code & 0xf000) >> 4) + ((code & 0xff) >> 0);
330   code += state->m_tiles_offset;
331   SET_TILE_INFO(0, code, color, 0);
337   code += m_tiles_offset;
338   SET_TILE_INFO_MEMBER(0, code, color, 0);
332339}
333340
334static TILE_GET_INFO( get_stisub_tile_info )
341TILE_GET_INFO_MEMBER(subsino_state::get_stisub_tile_info)
335342{
336   subsino_state *state = machine.driver_data<subsino_state>();
337   UINT16 code = state->m_videoram[ tile_index ] + (state->m_colorram[ tile_index ] << 8);
343   UINT16 code = m_videoram[ tile_index ] + (m_colorram[ tile_index ] << 8);
338344   code&= 0x3fff;
339   SET_TILE_INFO(0, code, 0, 0);
345   SET_TILE_INFO_MEMBER(0, code, 0, 0);
340346}
341347
342348
343349static VIDEO_START( subsino )
344350{
345351   subsino_state *state = machine.driver_data<subsino_state>();
346   state->m_tmap = tilemap_create(   machine, get_tile_info, TILEMAP_SCAN_ROWS, 8,8, 0x40,0x20 );
352   state->m_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(subsino_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 0x40,0x20 );
347353   state->m_tmap->set_transparent_pen(0 );
348354   state->m_tiles_offset = 0;
349355}
r17672r17673
356362   m_reel1_tilemap->mark_tile_dirty(offset);
357363}
358364
359static TILE_GET_INFO( get_subsino_reel1_tile_info )
365TILE_GET_INFO_MEMBER(subsino_state::get_subsino_reel1_tile_info)
360366{
361   subsino_state *state = machine.driver_data<subsino_state>();
362   int code = state->m_reel1_ram[tile_index];
363   int colour = (state->m_out_c&0x7) + 8;
367   int code = m_reel1_ram[tile_index];
368   int colour = (m_out_c&0x7) + 8;
364369
365   SET_TILE_INFO(
370   SET_TILE_INFO_MEMBER(
366371         1,
367372         code,
368373         colour,
369374         0);
370375}
371376
372static TILE_GET_INFO( get_stisub_reel1_tile_info )
377TILE_GET_INFO_MEMBER(subsino_state::get_stisub_reel1_tile_info)
373378{
374   subsino_state *state = machine.driver_data<subsino_state>();
375   int code = state->m_reel1_ram[tile_index];
376   int attr = state->m_reel1_attr[tile_index];
379   int code = m_reel1_ram[tile_index];
380   int attr = m_reel1_attr[tile_index];
377381
378   SET_TILE_INFO(
382   SET_TILE_INFO_MEMBER(
379383         1,
380384         code | (attr << 8),
381385         0,
r17672r17673
389393   m_reel2_tilemap->mark_tile_dirty(offset);
390394}
391395
392static TILE_GET_INFO( get_subsino_reel2_tile_info )
396TILE_GET_INFO_MEMBER(subsino_state::get_subsino_reel2_tile_info)
393397{
394   subsino_state *state = machine.driver_data<subsino_state>();
395   int code = state->m_reel2_ram[tile_index];
396   int colour = (state->m_out_c&0x7) + 8;
398   int code = m_reel2_ram[tile_index];
399   int colour = (m_out_c&0x7) + 8;
397400
398   SET_TILE_INFO(
401   SET_TILE_INFO_MEMBER(
399402         1,
400403         code,
401404         colour,
402405         0);
403406}
404407
405static TILE_GET_INFO( get_stisub_reel2_tile_info )
408TILE_GET_INFO_MEMBER(subsino_state::get_stisub_reel2_tile_info)
406409{
407   subsino_state *state = machine.driver_data<subsino_state>();
408   int code = state->m_reel2_ram[tile_index];
409   int attr = state->m_reel2_attr[tile_index];
410   int code = m_reel2_ram[tile_index];
411   int attr = m_reel2_attr[tile_index];
410412
411   SET_TILE_INFO(
413   SET_TILE_INFO_MEMBER(
412414         1,
413415         code | (attr << 8),
414416         0,
r17672r17673
421423   m_reel3_tilemap->mark_tile_dirty(offset);
422424}
423425
424static TILE_GET_INFO( get_subsino_reel3_tile_info )
426TILE_GET_INFO_MEMBER(subsino_state::get_subsino_reel3_tile_info)
425427{
426   subsino_state *state = machine.driver_data<subsino_state>();
427   int code = state->m_reel3_ram[tile_index];
428   int colour = (state->m_out_c&0x7) + 8;
428   int code = m_reel3_ram[tile_index];
429   int colour = (m_out_c&0x7) + 8;
429430
430   SET_TILE_INFO(
431   SET_TILE_INFO_MEMBER(
431432         1,
432433         code,
433434         colour,
434435         0);
435436}
436437
437static TILE_GET_INFO( get_stisub_reel3_tile_info )
438TILE_GET_INFO_MEMBER(subsino_state::get_stisub_reel3_tile_info)
438439{
439   subsino_state *state = machine.driver_data<subsino_state>();
440   int code = state->m_reel3_ram[tile_index];
441   int attr = state->m_reel3_attr[tile_index];
440   int code = m_reel3_ram[tile_index];
441   int attr = m_reel3_attr[tile_index];
442442
443   SET_TILE_INFO(
443   SET_TILE_INFO_MEMBER(
444444         1,
445445         code | (attr << 8),
446446         0,
r17672r17673
453453   subsino_state *state = machine.driver_data<subsino_state>();
454454   VIDEO_START_CALL( subsino );
455455
456   state->m_reel1_tilemap = tilemap_create(machine,get_subsino_reel1_tile_info,TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
457   state->m_reel2_tilemap = tilemap_create(machine,get_subsino_reel2_tile_info,TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
458   state->m_reel3_tilemap = tilemap_create(machine,get_subsino_reel3_tile_info,TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
456   state->m_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(subsino_state::get_subsino_reel1_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
457   state->m_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(subsino_state::get_subsino_reel2_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
458   state->m_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(subsino_state::get_subsino_reel3_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
459459
460460   state->m_reel1_tilemap->set_scroll_cols(64);
461461   state->m_reel2_tilemap->set_scroll_cols(64);
r17672r17673
466466static VIDEO_START( stisub )
467467{
468468   subsino_state *state = machine.driver_data<subsino_state>();
469   state->m_tmap = tilemap_create(   machine, get_stisub_tile_info, TILEMAP_SCAN_ROWS, 8,8, 0x40,0x20 );
469   state->m_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(subsino_state::get_stisub_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 0x40,0x20 );
470470   state->m_tmap->set_transparent_pen(0 );
471471
472   state->m_reel1_tilemap = tilemap_create(machine,get_stisub_reel1_tile_info,TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
473   state->m_reel2_tilemap = tilemap_create(machine,get_stisub_reel2_tile_info,TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
474   state->m_reel3_tilemap = tilemap_create(machine,get_stisub_reel3_tile_info,TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
472   state->m_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(subsino_state::get_stisub_reel1_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
473   state->m_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(subsino_state::get_stisub_reel2_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
474   state->m_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(subsino_state::get_stisub_reel3_tile_info),state),TILEMAP_SCAN_ROWS, 8, 32, 64, 8);
475475
476476   state->m_reel1_tilemap->set_scroll_cols(64);
477477   state->m_reel2_tilemap->set_scroll_cols(64);
trunk/src/mame/drivers/flyball.c
r17672r17673
5454   DECLARE_WRITE8_MEMBER(flyball_pitcher_vert_w);
5555   DECLARE_WRITE8_MEMBER(flyball_pitcher_horz_w);
5656   DECLARE_WRITE8_MEMBER(flyball_misc_w);
57   TILEMAP_MAPPER_MEMBER(flyball_get_memory_offset);
58   TILE_GET_INFO_MEMBER(flyball_get_tile_info);
5759};
5860
5961
r17672r17673
6365 *
6466 *************************************/
6567
66static TILEMAP_MAPPER( flyball_get_memory_offset )
68TILEMAP_MAPPER_MEMBER(flyball_state::flyball_get_memory_offset)
6769{
6870   if (col == 0)
6971      col = num_cols;
r17672r17673
7274}
7375
7476
75static TILE_GET_INFO( flyball_get_tile_info )
77TILE_GET_INFO_MEMBER(flyball_state::flyball_get_tile_info)
7678{
77   flyball_state *state = machine.driver_data<flyball_state>();
78   UINT8 data = state->m_playfield_ram[tile_index];
79   UINT8 data = m_playfield_ram[tile_index];
7980   int flags = ((data & 0x40) ? TILE_FLIPX : 0) | ((data & 0x80) ? TILE_FLIPY : 0);
8081   int code = data & 63;
8182
r17672r17673
8485      code += 64;
8586   }
8687
87   SET_TILE_INFO(0, code, 0, flags);
88   SET_TILE_INFO_MEMBER(0, code, 0, flags);
8889}
8990
9091
9192static VIDEO_START( flyball )
9293{
9394   flyball_state *state = machine.driver_data<flyball_state>();
94   state->m_tmap = tilemap_create(machine, flyball_get_tile_info, flyball_get_memory_offset, 8, 16, 32, 16);
95   state->m_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(flyball_state::flyball_get_tile_info),state), tilemap_mapper_delegate(FUNC(flyball_state::flyball_get_memory_offset),state), 8, 16, 32, 16);
9596}
9697
9798
trunk/src/mame/drivers/pturn.c
r17672r17673
113113   DECLARE_READ8_MEMBER(pturn_protection_r);
114114   DECLARE_READ8_MEMBER(pturn_protection2_r);
115115   DECLARE_DRIVER_INIT(pturn);
116   TILE_GET_INFO_MEMBER(get_pturn_tile_info);
117   TILE_GET_INFO_MEMBER(get_pturn_bg_tile_info);
116118};
117119
118120
r17672r17673
126128   0xa0, 0xb0, 0xe0, 0xf0
127129};
128130
129static TILE_GET_INFO( get_pturn_tile_info )
131TILE_GET_INFO_MEMBER(pturn_state::get_pturn_tile_info)
130132{
131   pturn_state *state = machine.driver_data<pturn_state>();
132   UINT8 *videoram = state->m_videoram;
133   UINT8 *videoram = m_videoram;
133134   int tileno;
134135   tileno = videoram[tile_index];
135136
136   tileno=tile_lookup[tileno>>4]|(tileno&0xf)|(state->m_fgbank<<8);
137   tileno=tile_lookup[tileno>>4]|(tileno&0xf)|(m_fgbank<<8);
137138
138   SET_TILE_INFO(0,tileno,state->m_fgpalette,0);
139   SET_TILE_INFO_MEMBER(0,tileno,m_fgpalette,0);
139140}
140141
141142
142143
143static TILE_GET_INFO( get_pturn_bg_tile_info )
144TILE_GET_INFO_MEMBER(pturn_state::get_pturn_bg_tile_info)
144145{
145   pturn_state *state = machine.driver_data<pturn_state>();
146146   int tileno,palno;
147   tileno = state->memregion("user1")->base()[tile_index];
148   palno=state->m_bgpalette;
147   tileno = memregion("user1")->base()[tile_index];
148   palno=m_bgpalette;
149149   if(palno==1)
150150   {
151151      palno=25;
152152   }
153   SET_TILE_INFO(1,tileno+state->m_bgbank*256,palno,0);
153   SET_TILE_INFO_MEMBER(1,tileno+m_bgbank*256,palno,0);
154154}
155155
156156static VIDEO_START(pturn)
157157{
158158   pturn_state *state = machine.driver_data<pturn_state>();
159   state->m_fgmap = tilemap_create(machine, get_pturn_tile_info,TILEMAP_SCAN_ROWS,8, 8,32,32);
159   state->m_fgmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pturn_state::get_pturn_tile_info),state),TILEMAP_SCAN_ROWS,8, 8,32,32);
160160   state->m_fgmap->set_transparent_pen(0);
161   state->m_bgmap = tilemap_create(machine, get_pturn_bg_tile_info,TILEMAP_SCAN_ROWS,8, 8,32,32*8);
161   state->m_bgmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pturn_state::get_pturn_bg_tile_info),state),TILEMAP_SCAN_ROWS,8, 8,32,32*8);
162162   state->m_bgmap->set_transparent_pen(0);
163163}
164164
trunk/src/mame/drivers/jubilee.c
r17672r17673
101101   tilemap_t *m_bg_tilemap;
102102   DECLARE_WRITE8_MEMBER(jubileep_videoram_w);
103103   DECLARE_READ8_MEMBER(unk_r);
104   TILE_GET_INFO_MEMBER(get_bg_tile_info);
104105};
105106
106107
r17672r17673
116117}
117118
118119
119static TILE_GET_INFO( get_bg_tile_info )
120TILE_GET_INFO_MEMBER(jubilee_state::get_bg_tile_info)
120121{
121   jubilee_state *state = machine.driver_data<jubilee_state>();
122   int code = state->m_videoram[tile_index];
122   int code = m_videoram[tile_index];
123123
124   SET_TILE_INFO( 0, code, 0, 0);
124   SET_TILE_INFO_MEMBER( 0, code, 0, 0);
125125}
126126
127127
r17672r17673
129129static VIDEO_START( jubileep )
130130{
131131   jubilee_state *state = machine.driver_data<jubilee_state>();
132   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(jubilee_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
133133}
134134
135135
trunk/src/mame/drivers/tattack.c
r17672r17673
3434   required_shared_ptr<UINT8> m_colorram;
3535   tilemap_t *m_tmap;
3636   DECLARE_DRIVER_INIT(tattack);
37   TILE_GET_INFO_MEMBER(get_tile_info);
3738};
3839
3940
4041
41static TILE_GET_INFO( get_tile_info )
42TILE_GET_INFO_MEMBER(tattack_state::get_tile_info)
4243{
43   tattack_state *state = machine.driver_data<tattack_state>();
44   int code = state->m_videoram[tile_index];
45   int color = state->m_colorram[tile_index];
44   int code = m_videoram[tile_index];
45   int color = m_colorram[tile_index];
4646
4747   if((color&1 ) || (color>15) )
4848      logerror("COLOR %i\n",color);
4949
5050   color>>=1;
5151
52   SET_TILE_INFO(
52   SET_TILE_INFO_MEMBER(
5353      0,
5454      code,
5555      color,
r17672r17673
6767static VIDEO_START( tattack )
6868{
6969   tattack_state *state = machine.driver_data<tattack_state>();
70      state->m_tmap = tilemap_create( machine, get_tile_info,TILEMAP_SCAN_ROWS,8,8,32,32 );
70   state->m_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tattack_state::get_tile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32 );
7171}
7272
7373static ADDRESS_MAP_START( mem, AS_PROGRAM, 8, tattack_state )
trunk/src/mame/drivers/dunhuang.c
r17672r17673
117117   DECLARE_WRITE8_MEMBER(dunhuang_rombank_w);
118118   DECLARE_WRITE8_MEMBER(dunhuang_82_w);
119119   DECLARE_READ8_MEMBER(dunhuang_dsw_r);
120   TILE_GET_INFO_MEMBER(get_tile_info);
121   TILE_GET_INFO_MEMBER(get_tile_info2);
120122};
121123
122124
r17672r17673
125127***************************************************************************/
126128
127129
128static TILE_GET_INFO( get_tile_info )
130TILE_GET_INFO_MEMBER(dunhuang_state::get_tile_info)
129131{
130   dunhuang_state *state = machine.driver_data<dunhuang_state>();
131   UINT16 code = state->m_videoram[tile_index];
132   UINT8 color = state->m_colorram[tile_index] & 0x0f;
133   SET_TILE_INFO(0, code, color, 0);
132   UINT16 code = m_videoram[tile_index];
133   UINT8 color = m_colorram[tile_index] & 0x0f;
134   SET_TILE_INFO_MEMBER(0, code, color, 0);
134135}
135static TILE_GET_INFO( get_tile_info2 )
136TILE_GET_INFO_MEMBER(dunhuang_state::get_tile_info2)
136137{
137   dunhuang_state *state = machine.driver_data<dunhuang_state>();
138   UINT16 code = state->m_videoram2[tile_index];
139   UINT8 color = state->m_colorram2[tile_index] & 0x0f;
140   SET_TILE_INFO(1, code, color, 0);
138   UINT16 code = m_videoram2[tile_index];
139   UINT8 color = m_colorram2[tile_index] & 0x0f;
140   SET_TILE_INFO_MEMBER(1, code, color, 0);
141141}
142142
143143static VIDEO_START(dunhuang)
144144{
145145   dunhuang_state *state = machine.driver_data<dunhuang_state>();
146   state->m_tmap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8,8, 0x40,0x20);
147   state->m_tmap2 = tilemap_create(machine, get_tile_info2, TILEMAP_SCAN_ROWS, 8,32, 0x40,0x8);
146   state->m_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dunhuang_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8,8, 0x40,0x20);
147   state->m_tmap2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dunhuang_state::get_tile_info2),state), TILEMAP_SCAN_ROWS, 8,32, 0x40,0x8);
148148
149149   state->m_tmap->set_transparent_pen(0);
150150   state->m_tmap2->set_transparent_pen(0);
trunk/src/mame/drivers/jackie.c
r17672r17673
104104   void show_out();
105105   DECLARE_CUSTOM_INPUT_MEMBER(hopper_r);
106106   DECLARE_DRIVER_INIT(jackie);
107   TILE_GET_INFO_MEMBER(get_fg_tile_info);
108   TILE_GET_INFO_MEMBER(get_jackie_reel1_tile_info);
109   TILE_GET_INFO_MEMBER(get_jackie_reel2_tile_info);
110   TILE_GET_INFO_MEMBER(get_jackie_reel3_tile_info);
107111};
108112
109113
110114
111115
112static TILE_GET_INFO( get_fg_tile_info )
116TILE_GET_INFO_MEMBER(jackie_state::get_fg_tile_info)
113117{
114   jackie_state *state = machine.driver_data<jackie_state>();
115   int code = state->m_fg_tile_ram[tile_index] | (state->m_fg_color_ram[tile_index] << 8);
118   int code = m_fg_tile_ram[tile_index] | (m_fg_color_ram[tile_index] << 8);
116119   int tile = code & 0x1fff;
117   SET_TILE_INFO(0, code, tile != 0x1fff ? ((code >> 12) & 0xe) + 1 : 0, 0);
120   SET_TILE_INFO_MEMBER(0, code, tile != 0x1fff ? ((code >> 12) & 0xe) + 1 : 0, 0);
118121}
119122
120123WRITE8_MEMBER(jackie_state::fg_tile_w)
r17672r17673
144147   m_reel1_tilemap->mark_tile_dirty(offset);
145148}
146149
147static TILE_GET_INFO( get_jackie_reel1_tile_info )
150TILE_GET_INFO_MEMBER(jackie_state::get_jackie_reel1_tile_info)
148151{
149   jackie_state *state = machine.driver_data<jackie_state>();
150   int code = state->m_reel1_ram[tile_index];
151   SET_TILE_INFO(1, code, 0, 0);
152   int code = m_reel1_ram[tile_index];
153   SET_TILE_INFO_MEMBER(1, code, 0, 0);
152154}
153155
154156
r17672r17673
159161   m_reel2_tilemap->mark_tile_dirty(offset);
160162}
161163
162static TILE_GET_INFO( get_jackie_reel2_tile_info )
164TILE_GET_INFO_MEMBER(jackie_state::get_jackie_reel2_tile_info)
163165{
164   jackie_state *state = machine.driver_data<jackie_state>();
165   int code = state->m_reel2_ram[tile_index];
166   SET_TILE_INFO(1, code, 0, 0);
166   int code = m_reel2_ram[tile_index];
167   SET_TILE_INFO_MEMBER(1, code, 0, 0);
167168}
168169
169170
r17672r17673
173174   m_reel3_tilemap->mark_tile_dirty(offset);
174175}
175176
176static TILE_GET_INFO( get_jackie_reel3_tile_info )
177TILE_GET_INFO_MEMBER(jackie_state::get_jackie_reel3_tile_info)
177178{
178   jackie_state *state = machine.driver_data<jackie_state>();
179   int code = state->m_reel3_ram[tile_index];
180   SET_TILE_INFO(1, code, 0, 0);
179   int code = m_reel3_ram[tile_index];
180   SET_TILE_INFO_MEMBER(1, code, 0, 0);
181181}
182182
183183static VIDEO_START(jackie)
184184{
185185   jackie_state *state = machine.driver_data<jackie_state>();
186   state->m_reel1_tilemap = tilemap_create(machine,get_jackie_reel1_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
187   state->m_reel2_tilemap = tilemap_create(machine,get_jackie_reel2_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
188   state->m_reel3_tilemap = tilemap_create(machine,get_jackie_reel3_tile_info,TILEMAP_SCAN_ROWS,8,32, 64, 8);
186   state->m_reel1_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jackie_state::get_jackie_reel1_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
187   state->m_reel2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jackie_state::get_jackie_reel2_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
188   state->m_reel3_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jackie_state::get_jackie_reel3_tile_info),state),TILEMAP_SCAN_ROWS,8,32, 64, 8);
189189
190190   state->m_reel1_tilemap->set_scroll_cols(64);
191191   state->m_reel2_tilemap->set_scroll_cols(64);
192192   state->m_reel3_tilemap->set_scroll_cols(64);
193193
194   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,   8,  8,   64, 32);
194   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jackie_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,   8,  8,   64, 32);
195195   state->m_fg_tilemap->set_transparent_pen(0);
196196}
197197
trunk/src/mame/drivers/blackt96.c
r17672r17673
122122   UINT16*       m_spriteram[8];
123123   tilemap_t    *m_bg_tilemap[8];
124124
125   TILE_GET_INFO_MEMBER(get_bg0_tile_info);
126   TILE_GET_INFO_MEMBER(get_bg1_tile_info);
127   TILE_GET_INFO_MEMBER(get_bg2_tile_info);
128   TILE_GET_INFO_MEMBER(get_bg3_tile_info);
129   TILE_GET_INFO_MEMBER(get_bg4_tile_info);
130   TILE_GET_INFO_MEMBER(get_bg5_tile_info);
131   TILE_GET_INFO_MEMBER(get_bg6_tile_info);
132   TILE_GET_INFO_MEMBER(get_bg7_tile_info);
125133};
126134
127135#define GET_INFO( ram ) \
128   blackt96_state *state = machine.driver_data<blackt96_state>(); \
129136   int tileno = (ram[tile_index*2+1] & 0x1fff); \
130137   int rgn = (ram[tile_index*2+1] & 0x2000) >> 13; \
131138   int flipyx = (ram[tile_index*2+1] & 0xc000)>>14; \
132139   int col = (ram[tile_index*2] & 0x00ff); \
133140   if (rgn==1) col >>=4; \
134   SET_TILE_INFO(1-rgn, tileno, col, TILE_FLIPYX(flipyx)); \
141   SET_TILE_INFO_MEMBER(1-rgn, tileno, col, TILE_FLIPYX(flipyx)); \
135142
136143
137static TILE_GET_INFO( get_bg0_tile_info ) { GET_INFO(state->m_spriteram0); }
138static TILE_GET_INFO( get_bg1_tile_info ) { GET_INFO(state->m_spriteram1); }
139static TILE_GET_INFO( get_bg2_tile_info ) { GET_INFO(state->m_spriteram2); }
140static TILE_GET_INFO( get_bg3_tile_info ) { GET_INFO(state->m_spriteram3); }
141static TILE_GET_INFO( get_bg4_tile_info ) { GET_INFO(state->m_spriteram4); }
142static TILE_GET_INFO( get_bg5_tile_info ) { GET_INFO(state->m_spriteram5); }
143static TILE_GET_INFO( get_bg6_tile_info ) { GET_INFO(state->m_spriteram6); }
144static TILE_GET_INFO( get_bg7_tile_info ) { GET_INFO(state->m_spriteram7); }
144TILE_GET_INFO_MEMBER(blackt96_state::get_bg0_tile_info){ GET_INFO(m_spriteram0); }
145TILE_GET_INFO_MEMBER(blackt96_state::get_bg1_tile_info){ GET_INFO(m_spriteram1); }
146TILE_GET_INFO_MEMBER(blackt96_state::get_bg2_tile_info){ GET_INFO(m_spriteram2); }
147TILE_GET_INFO_MEMBER(blackt96_state::get_bg3_tile_info){ GET_INFO(m_spriteram3); }
148TILE_GET_INFO_MEMBER(blackt96_state::get_bg4_tile_info){ GET_INFO(m_spriteram4); }
149TILE_GET_INFO_MEMBER(blackt96_state::get_bg5_tile_info){ GET_INFO(m_spriteram5); }
150TILE_GET_INFO_MEMBER(blackt96_state::get_bg6_tile_info){ GET_INFO(m_spriteram6); }
151TILE_GET_INFO_MEMBER(blackt96_state::get_bg7_tile_info){ GET_INFO(m_spriteram7); }
145152
146153WRITE16_MEMBER(blackt96_state::bg_videoram0_w) { COMBINE_DATA(&m_spriteram0[offset]); m_bg_tilemap[0]->mark_tile_dirty(offset/2); }
147154WRITE16_MEMBER(blackt96_state::bg_videoram1_w) { COMBINE_DATA(&m_spriteram1[offset]); m_bg_tilemap[1]->mark_tile_dirty(offset/2); }
r17672r17673
156163{
157164   blackt96_state *state = machine.driver_data<blackt96_state>();
158165
159   state->m_bg_tilemap[0] = tilemap_create(machine, get_bg0_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
160   state->m_bg_tilemap[1] = tilemap_create(machine, get_bg1_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
161   state->m_bg_tilemap[2] = tilemap_create(machine, get_bg2_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
162   state->m_bg_tilemap[3] = tilemap_create(machine, get_bg3_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
163   state->m_bg_tilemap[4] = tilemap_create(machine, get_bg4_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
164   state->m_bg_tilemap[5] = tilemap_create(machine, get_bg5_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
165   state->m_bg_tilemap[6] = tilemap_create(machine, get_bg6_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
166   state->m_bg_tilemap[7] = tilemap_create(machine, get_bg7_tile_info, TILEMAP_SCAN_COLS, 16, 16, 32, 32);
166   state->m_bg_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg0_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
167   state->m_bg_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg1_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
168   state->m_bg_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg2_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
169   state->m_bg_tilemap[3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg3_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
170   state->m_bg_tilemap[4] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg4_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
171   state->m_bg_tilemap[5] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg5_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
172   state->m_bg_tilemap[6] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg6_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
173   state->m_bg_tilemap[7] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(blackt96_state::get_bg7_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 32, 32);
167174
168175   state->m_spriteram[0] = state->m_spriteram0;
169176   state->m_spriteram[1] = state->m_spriteram1;
trunk/src/mame/drivers/dreamwld.c
r17672r17673
158158   DECLARE_WRITE32_MEMBER(dreamwld_6295_0_bank_w);
159159   DECLARE_WRITE32_MEMBER(dreamwld_6295_1_bank_w);
160160   DECLARE_WRITE32_MEMBER(dreamwld_palette_w);
161   TILE_GET_INFO_MEMBER(get_dreamwld_bg_tile_info);
162   TILE_GET_INFO_MEMBER(get_dreamwld_bg2_tile_info);
161163};
162164
163165
r17672r17673
234236   m_bg_tilemap->mark_tile_dirty(offset * 2 + 1);
235237}
236238
237static TILE_GET_INFO( get_dreamwld_bg_tile_info )
239TILE_GET_INFO_MEMBER(dreamwld_state::get_dreamwld_bg_tile_info)
238240{
239   dreamwld_state *state = machine.driver_data<dreamwld_state>();
240241   int tileno, colour;
241   tileno = (tile_index & 1) ? (state->m_bg_videoram[tile_index >> 1] & 0xffff) : ((state->m_bg_videoram[tile_index >> 1] >> 16) & 0xffff);
242   tileno = (tile_index & 1) ? (m_bg_videoram[tile_index >> 1] & 0xffff) : ((m_bg_videoram[tile_index >> 1] >> 16) & 0xffff);
242243   colour = tileno >> 13;
243244   tileno &= 0x1fff;
244   SET_TILE_INFO(1, tileno + state->m_tilebank[0] * 0x2000, 0x80 + colour, 0);
245   SET_TILE_INFO_MEMBER(1, tileno + m_tilebank[0] * 0x2000, 0x80 + colour, 0);
245246}
246247
247248
r17672r17673
252253   m_bg2_tilemap->mark_tile_dirty(offset * 2 + 1);
253254}
254255
255static TILE_GET_INFO( get_dreamwld_bg2_tile_info )
256TILE_GET_INFO_MEMBER(dreamwld_state::get_dreamwld_bg2_tile_info)
256257{
257   dreamwld_state *state = machine.driver_data<dreamwld_state>();
258258   UINT16 tileno, colour;
259   tileno = (tile_index & 1) ? (state->m_bg2_videoram[tile_index >> 1] & 0xffff) : ((state->m_bg2_videoram[tile_index >> 1] >> 16) & 0xffff);
259   tileno = (tile_index & 1) ? (m_bg2_videoram[tile_index >> 1] & 0xffff) : ((m_bg2_videoram[tile_index >> 1] >> 16) & 0xffff);
260260   colour = tileno >> 13;
261261   tileno &= 0x1fff;
262   SET_TILE_INFO(1, tileno + state->m_tilebank[1] * 0x2000, 0xc0 + colour, 0);
262   SET_TILE_INFO_MEMBER(1, tileno + m_tilebank[1] * 0x2000, 0xc0 + colour, 0);
263263}
264264
265265static VIDEO_START( dreamwld )
266266{
267267   dreamwld_state *state = machine.driver_data<dreamwld_state>();
268268
269   state->m_bg_tilemap = tilemap_create(machine, get_dreamwld_bg_tile_info,TILEMAP_SCAN_ROWS, 16, 16, 64,32);
270   state->m_bg2_tilemap = tilemap_create(machine, get_dreamwld_bg2_tile_info,TILEMAP_SCAN_ROWS, 16, 16, 64,32);
269   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dreamwld_state::get_dreamwld_bg_tile_info),state),TILEMAP_SCAN_ROWS, 16, 16, 64,32);
270   state->m_bg2_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(dreamwld_state::get_dreamwld_bg2_tile_info),state),TILEMAP_SCAN_ROWS, 16, 16, 64,32);
271271   state->m_bg2_tilemap->set_transparent_pen(0);
272272
273273   state->m_bg_tilemap->set_scroll_rows(256);   // line scrolling
trunk/src/mame/drivers/panicr.c
r17672r17673
9393   DECLARE_WRITE8_MEMBER(t5182shared_w);
9494
9595   DECLARE_DRIVER_INIT(panicr);
96   TILE_GET_INFO_MEMBER(get_bgtile_info);
97   TILE_GET_INFO_MEMBER(get_infotile_info);
98   TILE_GET_INFO_MEMBER(get_txttile_info);
9699};
97100
98101
r17672r17673
164167}
165168
166169
167static TILE_GET_INFO( get_bgtile_info )
170TILE_GET_INFO_MEMBER(panicr_state::get_bgtile_info)
168171{
169172   int code,attr;
170173
171   code=machine.root_device().memregion("user1")->base()[tile_index];
172   attr=machine.root_device().memregion("user2")->base()[tile_index];
174   code=machine().root_device().memregion("user1")->base()[tile_index];
175   attr=machine().root_device().memregion("user2")->base()[tile_index];
173176   code+=((attr&7)<<8);
174   SET_TILE_INFO(
177   SET_TILE_INFO_MEMBER(
175178      1,
176179        code,
177180      (attr & 0xf0) >> 4,
178181        0);
179182}
180183
181static TILE_GET_INFO( get_infotile_info )
184TILE_GET_INFO_MEMBER(panicr_state::get_infotile_info)
182185{
183186   int code,attr;
184187
185   code=machine.root_device().memregion("user1")->base()[tile_index];
186   attr=machine.root_device().memregion("user2")->base()[tile_index];
188   code=machine().root_device().memregion("user1")->base()[tile_index];
189   attr=machine().root_device().memregion("user2")->base()[tile_index];
187190   code+=((attr&7)<<8);
188   SET_TILE_INFO(
191   SET_TILE_INFO_MEMBER(
189192      2,
190193        code,
191194      (attr & 0xf0) >> 4,
192195        0);
193196}
194197
195static TILE_GET_INFO( get_txttile_info )
198TILE_GET_INFO_MEMBER(panicr_state::get_txttile_info)
196199{
197   panicr_state *state = machine.driver_data<panicr_state>();
198   int code=state->m_textram[tile_index*4];
199   int attr=state->m_textram[tile_index*4+2];
200   int code=m_textram[tile_index*4];
201   int attr=m_textram[tile_index*4+2];
200202   int color = attr & 0x07;
201203
202204   tileinfo.group = color;
203205
204   SET_TILE_INFO(
206   SET_TILE_INFO_MEMBER(
205207      0,
206208      code + ((attr & 8) << 5),
207209      color,
r17672r17673
213215{
214216   panicr_state *state = machine.driver_data<panicr_state>();
215217
216   state->m_bgtilemap = tilemap_create( machine, get_bgtile_info,TILEMAP_SCAN_ROWS,16,16,1024,16 );
217   state->m_infotilemap = tilemap_create( machine, get_infotile_info,TILEMAP_SCAN_ROWS,16,16,1024,16 ); // 3 more bitplanes, contains collision and priority data
218   state->m_bgtilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(panicr_state::get_bgtile_info),state),TILEMAP_SCAN_ROWS,16,16,1024,16 );
219   state->m_infotilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(panicr_state::get_infotile_info),state),TILEMAP_SCAN_ROWS,16,16,1024,16 ); // 3 more bitplanes, contains collision and priority data
218220
219   state->m_txttilemap = tilemap_create( machine, get_txttile_info,TILEMAP_SCAN_ROWS,8,8,32,32 );
221   state->m_txttilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(panicr_state::get_txttile_info),state),TILEMAP_SCAN_ROWS,8,8,32,32 );
220222   colortable_configure_tilemap_groups(machine.colortable, state->m_txttilemap, machine.gfx[0], 0);
221223}
222224
trunk/src/mame/drivers/sbowling.c
r17672r17673
7070   DECLARE_WRITE8_MEMBER(system_w);
7171   DECLARE_WRITE8_MEMBER(graph_control_w);
7272   DECLARE_READ8_MEMBER(controls_r);
73   TILE_GET_INFO_MEMBER(get_sb_tile_info);
7374};
7475
75static TILE_GET_INFO( get_sb_tile_info )
76TILE_GET_INFO_MEMBER(sbowling_state::get_sb_tile_info)
7677{
77   sbowling_state *state = machine.driver_data<sbowling_state>();
78   UINT8 *rom = state->memregion("user1")->base();
79   int tileno = rom[tile_index + state->m_bgmap * 1024];
78   UINT8 *rom = memregion("user1")->base();
79   int tileno = rom[tile_index + m_bgmap * 1024];
8080
81   SET_TILE_INFO(0, tileno, 0, 0);
81   SET_TILE_INFO_MEMBER(0, tileno, 0, 0);
8282}
8383
8484static void plot_pixel_sbw(bitmap_ind16 *tmpbitmap, int x, int y, int col, int flip)
r17672r17673
129129   sbowling_state *state = machine.driver_data<sbowling_state>();
130130
131131   state->m_tmpbitmap = auto_bitmap_ind16_alloc(machine,32*8,32*8);
132   state->m_sb_tilemap = tilemap_create(machine, get_sb_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
132   state->m_sb_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sbowling_state::get_sb_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
133133}
134134
135135WRITE8_MEMBER(sbowling_state::pix_shift_w)
trunk/src/mame/drivers/good.c
r17672r17673
5454   tilemap_t  *m_fg_tilemap;
5555   DECLARE_WRITE16_MEMBER(fg_tilemapram_w);
5656   DECLARE_WRITE16_MEMBER(bg_tilemapram_w);
57   TILE_GET_INFO_MEMBER(get_fg_tile_info);
58   TILE_GET_INFO_MEMBER(get_bg_tile_info);
5759};
5860
5961
r17672r17673
6365   m_fg_tilemap->mark_tile_dirty(offset / 2);
6466}
6567
66static TILE_GET_INFO( get_fg_tile_info )
68TILE_GET_INFO_MEMBER(good_state::get_fg_tile_info)
6769{
68   good_state *state = machine.driver_data<good_state>();
69   int tileno = state->m_fg_tilemapram[tile_index * 2];
70   int attr = state->m_fg_tilemapram[tile_index * 2 + 1] & 0xf;
71   SET_TILE_INFO(0, tileno, attr, 0);
70   int tileno = m_fg_tilemapram[tile_index * 2];
71   int attr = m_fg_tilemapram[tile_index * 2 + 1] & 0xf;
72   SET_TILE_INFO_MEMBER(0, tileno, attr, 0);
7273}
7374
7475WRITE16_MEMBER(good_state::bg_tilemapram_w)
r17672r17673
7778   m_bg_tilemap->mark_tile_dirty(offset / 2);
7879}
7980
80static TILE_GET_INFO( get_bg_tile_info )
81TILE_GET_INFO_MEMBER(good_state::get_bg_tile_info)
8182{
82   good_state *state = machine.driver_data<good_state>();
83   int tileno = state->m_bg_tilemapram[tile_index * 2];
84   int attr = state->m_bg_tilemapram[tile_index * 2 + 1] & 0xf;
85   SET_TILE_INFO(1, tileno, attr, 0);
83   int tileno = m_bg_tilemapram[tile_index * 2];
84   int attr = m_bg_tilemapram[tile_index * 2 + 1] & 0xf;
85   SET_TILE_INFO_MEMBER(1, tileno, attr, 0);
8686}
8787
8888
r17672r17673
9090static VIDEO_START( good )
9191{
9292   good_state *state = machine.driver_data<good_state>();
93   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
94   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
93   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(good_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
94   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(good_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
9595   state->m_fg_tilemap->set_transparent_pen(0xf);
9696}
9797
trunk/src/mame/drivers/ettrivia.c
r17672r17673
5656   DECLARE_WRITE8_MEMBER(b000_w);
5757   DECLARE_READ8_MEMBER(b000_r);
5858   DECLARE_WRITE8_MEMBER(b800_w);
59   TILE_GET_INFO_MEMBER(get_tile_info_bg);
60   TILE_GET_INFO_MEMBER(get_tile_info_fg);
5961};
6062
6163
r17672r17673
201203   SET_TILE_INFO(gfx_code,code,color,0);
202204}
203205
204static TILE_GET_INFO( get_tile_info_bg )
206TILE_GET_INFO_MEMBER(ettrivia_state::get_tile_info_bg)
205207{
206   ettrivia_state *state = machine.driver_data<ettrivia_state>();
207   get_tile_info(machine, tileinfo, tile_index, state->m_bg_videoram, 0);
208   get_tile_info(machine(), tileinfo, tile_index, m_bg_videoram, 0);
208209}
209210
210static TILE_GET_INFO( get_tile_info_fg )
211TILE_GET_INFO_MEMBER(ettrivia_state::get_tile_info_fg)
211212{
212   ettrivia_state *state = machine.driver_data<ettrivia_state>();
213   get_tile_info(machine, tileinfo, tile_index, state->m_fg_videoram, 1);
213   get_tile_info(machine(), tileinfo, tile_index, m_fg_videoram, 1);
214214}
215215
216216static PALETTE_INIT( ettrivia )
r17672r17673
253253static VIDEO_START( ettrivia )
254254{
255255   ettrivia_state *state = machine.driver_data<ettrivia_state>();
256   state->m_bg_tilemap = tilemap_create( machine, get_tile_info_bg,TILEMAP_SCAN_ROWS,8,8,64,32 );
257   state->m_fg_tilemap = tilemap_create( machine, get_tile_info_fg,TILEMAP_SCAN_ROWS,8,8,64,32 );
256   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ettrivia_state::get_tile_info_bg),state),TILEMAP_SCAN_ROWS,8,8,64,32 );
257   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ettrivia_state::get_tile_info_fg),state),TILEMAP_SCAN_ROWS,8,8,64,32 );
258258
259259   state->m_fg_tilemap->set_transparent_pen(0);
260260}
trunk/src/mame/drivers/jalmah.c
r17672r17673
191191   DECLARE_DRIVER_INIT(kakumei2);
192192   DECLARE_DRIVER_INIT(daireika);
193193   DECLARE_DRIVER_INIT(mjzoomin);
194   TILEMAP_MAPPER_MEMBER(range0_16x16);
195   TILEMAP_MAPPER_MEMBER(range1_16x16);
196   TILEMAP_MAPPER_MEMBER(range2_16x16);
197   TILEMAP_MAPPER_MEMBER(range3_16x16);
198   TILEMAP_MAPPER_MEMBER(range2_8x8);
199   TILEMAP_MAPPER_MEMBER(range3_8x8);
200   TILE_GET_INFO_MEMBER(get_sc0_tile_info);
201   TILE_GET_INFO_MEMBER(get_sc1_tile_info);
202   TILE_GET_INFO_MEMBER(get_sc2_tile_info);
203   TILE_GET_INFO_MEMBER(get_sc3_tile_info);
194204};
195205
196206
r17672r17673
201211******************************************************************************************/
202212
203213/*4096x512 tilemap*/
204static TILEMAP_MAPPER( range0_16x16 )
214TILEMAP_MAPPER_MEMBER(jalmah_state::range0_16x16)
205215{
206216   /* logical (col,row) -> memory offset */
207217   return (row & 0x0f) + ((col & 0xff) << 4) + ((row & 0x70) << 8);
208218}
209219
210220/*2048x1024 tilemap*/
211static TILEMAP_MAPPER( range1_16x16 )
221TILEMAP_MAPPER_MEMBER(jalmah_state::range1_16x16)
212222{
213223   /* logical (col,row) -> memory offset */
214224   return (row & 0x0f) + ((col & 0x7f) << 4) + ((row & 0xf0) << 7);
215225}
216226
217227/*1024x2048 tilemap*/
218static TILEMAP_MAPPER( range2_16x16 )
228TILEMAP_MAPPER_MEMBER(jalmah_state::range2_16x16)
219229{
220230   /* logical (col,row) -> memory offset */
221231   return (row & 0x0f) + ((col & 0x3f) << 4) + ((row & 0x1f0) << 6);
222232}
223233
224234/*512x4096 tilemap*/
225static TILEMAP_MAPPER( range3_16x16 )
235TILEMAP_MAPPER_MEMBER(jalmah_state::range3_16x16)
226236{
227237   /* logical (col,row) -> memory offset */
228238   return (row & 0x0f) + ((col & 0x1f) << 4) + ((row & 0x3f0) << 5);
r17672r17673
230240
231241
232242/*1024x512 tilemap*/
233static TILEMAP_MAPPER( range2_8x8 )
243TILEMAP_MAPPER_MEMBER(jalmah_state::range2_8x8)
234244{
235245   /* logical (col,row) -> memory offset */
236246   return (row & 0x1f) + ((col & 0x7f) * 0x20) + ((row & 0x20) * 0x80);
237247}
238248
239249/*512x1024 tilemap*/
240static TILEMAP_MAPPER( range3_8x8 )
250TILEMAP_MAPPER_MEMBER(jalmah_state::range3_8x8)
241251{
242252   return (row & 0x1f) + ((col & 0x3f) * 0x20) + ((row & 0x60) * 0x40);
243253}
244254
245static TILE_GET_INFO( get_sc0_tile_info )
255TILE_GET_INFO_MEMBER(jalmah_state::get_sc0_tile_info)
246256{
247   jalmah_state *state = machine.driver_data<jalmah_state>();
248   int code = state->m_sc0_vram[tile_index];
249   SET_TILE_INFO(
257   int code = m_sc0_vram[tile_index];
258   SET_TILE_INFO_MEMBER(
250259         3,
251         (code & 0xfff) + ((state->m_sc0bank & 3) << 12),
260         (code & 0xfff) + ((m_sc0bank & 3) << 12),
252261         code >> 12,
253262         0);
254263}
255264
256static TILE_GET_INFO( get_sc1_tile_info )
265TILE_GET_INFO_MEMBER(jalmah_state::get_sc1_tile_info)
257266{
258   jalmah_state *state = machine.driver_data<jalmah_state>();
259   int code = state->m_sc1_vram[tile_index];
260   SET_TILE_INFO(
267   int code = m_sc1_vram[tile_index];
268   SET_TILE_INFO_MEMBER(
261269         2,
262270         code & 0xfff,
263271         code >> 12,
264272         0);
265273}
266274
267static TILE_GET_INFO( get_sc2_tile_info )
275TILE_GET_INFO_MEMBER(jalmah_state::get_sc2_tile_info)
268276{
269   jalmah_state *state = machine.driver_data<jalmah_state>();
270   int code = state->m_sc2_vram[tile_index];
271   SET_TILE_INFO(
277   int code = m_sc2_vram[tile_index];
278   SET_TILE_INFO_MEMBER(
272279         1,
273280         code & 0xfff,
274281         code >> 12,
275282         0);
276283}
277284
278static TILE_GET_INFO( get_sc3_tile_info )
285TILE_GET_INFO_MEMBER(jalmah_state::get_sc3_tile_info)
279286{
280   jalmah_state *state = machine.driver_data<jalmah_state>();
281   int code = state->m_sc3_vram[tile_index];
282   SET_TILE_INFO(
287   int code = m_sc3_vram[tile_index];
288   SET_TILE_INFO_MEMBER(
283289         0,
284290         code & 0xfff,
285291         code >> 12,
r17672r17673
289295static VIDEO_START( jalmah )
290296{
291297   jalmah_state *state = machine.driver_data<jalmah_state>();
292   state->m_sc0_tilemap_0 = tilemap_create(machine, get_sc0_tile_info,range0_16x16,16,16,256,32);
293   state->m_sc0_tilemap_1 = tilemap_create(machine, get_sc0_tile_info,range1_16x16,16,16,128,64);
294   state->m_sc0_tilemap_2 = tilemap_create(machine, get_sc0_tile_info,range2_16x16,16,16,64,128);
295   state->m_sc0_tilemap_3 = tilemap_create(machine, get_sc0_tile_info,range3_16x16,16,16,32,256);
298   state->m_sc0_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc0_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range0_16x16),state),16,16,256,32);
299   state->m_sc0_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc0_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range1_16x16),state),16,16,128,64);
300   state->m_sc0_tilemap_2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc0_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range2_16x16),state),16,16,64,128);
301   state->m_sc0_tilemap_3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc0_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range3_16x16),state),16,16,32,256);
296302
297   state->m_sc1_tilemap_0 = tilemap_create(machine, get_sc1_tile_info,range0_16x16,16,16,256,32);
298   state->m_sc1_tilemap_1 = tilemap_create(machine, get_sc1_tile_info,range1_16x16,16,16,128,64);
299   state->m_sc1_tilemap_2 = tilemap_create(machine, get_sc1_tile_info,range2_16x16,16,16,64,128);
300   state->m_sc1_tilemap_3 = tilemap_create(machine, get_sc1_tile_info,range3_16x16,16,16,32,256);
303   state->m_sc1_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc1_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range0_16x16),state),16,16,256,32);
304   state->m_sc1_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc1_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range1_16x16),state),16,16,128,64);
305   state->m_sc1_tilemap_2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc1_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range2_16x16),state),16,16,64,128);
306   state->m_sc1_tilemap_3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc1_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range3_16x16),state),16,16,32,256);
301307
302   state->m_sc2_tilemap_0 = tilemap_create(machine, get_sc2_tile_info,range0_16x16,16,16,256,32);
303   state->m_sc2_tilemap_1 = tilemap_create(machine, get_sc2_tile_info,range1_16x16,16,16,128,64);
304   state->m_sc2_tilemap_2 = tilemap_create(machine, get_sc2_tile_info,range2_16x16,16,16,64,128);
305   state->m_sc2_tilemap_3 = tilemap_create(machine, get_sc2_tile_info,range3_16x16,16,16,32,256);
308   state->m_sc2_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc2_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range0_16x16),state),16,16,256,32);
309   state->m_sc2_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc2_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range1_16x16),state),16,16,128,64);
310   state->m_sc2_tilemap_2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc2_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range2_16x16),state),16,16,64,128);
311   state->m_sc2_tilemap_3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc2_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range3_16x16),state),16,16,32,256);
306312
307   state->m_sc3_tilemap_0 = tilemap_create(machine, get_sc3_tile_info,TILEMAP_SCAN_COLS,8,8,256,32);
308   //state->m_sc3_tilemap_1 = tilemap_create(machine, get_sc3_tile_info,TILEMAP_SCAN_COLS,8,8,256,32);
309   state->m_sc3_tilemap_2 = tilemap_create(machine, get_sc3_tile_info,range2_8x8,8,8,128,64);
310   state->m_sc3_tilemap_3 = tilemap_create(machine, get_sc3_tile_info,range3_8x8,8,8,64,128);
313   state->m_sc3_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc3_tile_info),state),TILEMAP_SCAN_COLS,8,8,256,32);
314   //state->m_sc3_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc3_tile_info),state),TILEMAP_SCAN_COLS,8,8,256,32);
315   state->m_sc3_tilemap_2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc3_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range2_8x8),state),8,8,128,64);
316   state->m_sc3_tilemap_3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc3_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range3_8x8),state),8,8,64,128);
311317
312318   state->m_jm_scrollram = auto_alloc_array(machine, UINT16, 0x80/2);
313319   state->m_jm_vregs = auto_alloc_array(machine, UINT16, 0x40/2);
r17672r17673
336342static VIDEO_START( urashima )
337343{
338344   jalmah_state *state = machine.driver_data<jalmah_state>();
339   state->m_sc0_tilemap_0 = tilemap_create(machine, get_sc0_tile_info,range0_16x16,16,16,256,32);
340   state->m_sc3_tilemap_0 = tilemap_create(machine, get_sc3_tile_info,range2_8x8,8,8,128,64);
345   state->m_sc0_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc0_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range0_16x16),state),16,16,256,32);
346   state->m_sc3_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jalmah_state::get_sc3_tile_info),state),tilemap_mapper_delegate(FUNC(jalmah_state::range2_8x8),state),8,8,128,64);
341347
342348   state->m_jm_scrollram = auto_alloc_array(machine, UINT16, 0x80/2);
343349   state->m_jm_vregs = auto_alloc_array(machine, UINT16, 0x40/2);
trunk/src/mame/drivers/spoker.c
r17672r17673
5454   DECLARE_CUSTOM_INPUT_MEMBER(hopper_r);
5555   DECLARE_DRIVER_INIT(spk116it);
5656   DECLARE_DRIVER_INIT(3super8);
57   TILE_GET_INFO_MEMBER(get_bg_tile_info);
58   TILE_GET_INFO_MEMBER(get_fg_tile_info);
5759};
5860
5961WRITE8_MEMBER(spoker_state::bg_tile_w)
r17672r17673
6365   m_bg_tilemap->mark_tile_dirty(offset);
6466}
6567
66static TILE_GET_INFO( get_bg_tile_info )
68TILE_GET_INFO_MEMBER(spoker_state::get_bg_tile_info)
6769{
68   spoker_state *state = machine.driver_data<spoker_state>();
69   int code = state->m_bg_tile_ram[tile_index];
70   SET_TILE_INFO(1 + (tile_index & 3), code & 0xff, 0, 0);
70   int code = m_bg_tile_ram[tile_index];
71   SET_TILE_INFO_MEMBER(1 + (tile_index & 3), code & 0xff, 0, 0);
7172}
7273
73static TILE_GET_INFO( get_fg_tile_info )
74TILE_GET_INFO_MEMBER(spoker_state::get_fg_tile_info)
7475{
75   spoker_state *state = machine.driver_data<spoker_state>();
76   int code = state->m_fg_tile_ram[tile_index] | (state->m_fg_color_ram[tile_index] << 8);
77   SET_TILE_INFO(0, code, (4*(code >> 14)+3), 0);
76   int code = m_fg_tile_ram[tile_index] | (m_fg_color_ram[tile_index] << 8);
77   SET_TILE_INFO_MEMBER(0, code, (4*(code >> 14)+3), 0);
7878}
7979
8080WRITE8_MEMBER(spoker_state::fg_tile_w)
r17672r17673
9595{
9696   spoker_state *state = machine.driver_data<spoker_state>();
9797
98   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,   8,  32,   128, 8);
99   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,   8,  8,   128, 32);
98   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(spoker_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,   8,  32,   128, 8);
99   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(spoker_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,   8,  8,   128, 32);
100100   state->m_fg_tilemap->set_transparent_pen(0);
101101}
102102
trunk/src/mame/drivers/sbrkout.c
r17672r17673
6262   DECLARE_READ8_MEMBER(sync_r);
6363   DECLARE_READ8_MEMBER(sync2_r);
6464   DECLARE_WRITE8_MEMBER(sbrkout_videoram_w);
65   TILE_GET_INFO_MEMBER(get_bg_tile_info);
6566};
6667
6768
r17672r17673
296297 *
297298 *************************************/
298299
299static TILE_GET_INFO( get_bg_tile_info )
300TILE_GET_INFO_MEMBER(sbrkout_state::get_bg_tile_info)
300301{
301   sbrkout_state *state = machine.driver_data<sbrkout_state>();
302   UINT8 *videoram = state->m_videoram;
302   UINT8 *videoram = m_videoram;
303303   int code = (videoram[tile_index] & 0x80) ? videoram[tile_index] : 0;
304   SET_TILE_INFO(0, code, 0, 0);
304   SET_TILE_INFO_MEMBER(0, code, 0, 0);
305305}
306306
307307
308308static VIDEO_START( sbrkout )
309309{
310310   sbrkout_state *state = machine.driver_data<sbrkout_state>();
311   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
311   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(sbrkout_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
312312}
313313
314314
trunk/src/mame/drivers/nmg5.c
r17672r17673
270270   DECLARE_DRIVER_INIT(prot_val_10);
271271   DECLARE_DRIVER_INIT(prot_val_20);
272272   DECLARE_DRIVER_INIT(prot_val_40);
273   TILE_GET_INFO_MEMBER(fg_get_tile_info);
274   TILE_GET_INFO_MEMBER(bg_get_tile_info);
273275};
274276
275277
r17672r17673
836838   PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START2 )
837839INPUT_PORTS_END
838840
841TILE_GET_INFO_MEMBER(nmg5_state::fg_get_tile_info){ SET_TILE_INFO_MEMBER(0, m_fg_videoram[tile_index] | (m_gfx_bank << 16), 0, 0);}
842TILE_GET_INFO_MEMBER(nmg5_state::bg_get_tile_info){ SET_TILE_INFO_MEMBER(0, m_bg_videoram[tile_index] | (m_gfx_bank << 16), 1, 0);}
839843
840INLINE void get_tile_info( running_machine &machine, tile_data &tileinfo, int tile_index, UINT16 *vram, int color )
841{
842   nmg5_state *state = machine.driver_data<nmg5_state>();
843   SET_TILE_INFO(0, vram[tile_index] | (state->m_gfx_bank << 16), color, 0);
844}
845
846static TILE_GET_INFO( fg_get_tile_info ) { nmg5_state *state = machine.driver_data<nmg5_state>();   get_tile_info(machine, tileinfo, tile_index, state->m_fg_videoram, 0); }
847static TILE_GET_INFO( bg_get_tile_info ) { nmg5_state *state = machine.driver_data<nmg5_state>();   get_tile_info(machine, tileinfo, tile_index, state->m_bg_videoram, 1); }
848
849844static VIDEO_START( nmg5 )
850845{
851846   nmg5_state *state = machine.driver_data<nmg5_state>();
852847
853   state->m_bg_tilemap = tilemap_create(machine, bg_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
854   state->m_fg_tilemap = tilemap_create(machine, fg_get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
848   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmg5_state::bg_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
849   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(nmg5_state::fg_get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
855850   state->m_fg_tilemap->set_transparent_pen(0);
856851}
857852
trunk/src/mame/drivers/wink.c
r17672r17673
3939   DECLARE_WRITE8_MEMBER(prot_w);
4040   DECLARE_READ8_MEMBER(sound_r);
4141   DECLARE_DRIVER_INIT(wink);
42   TILE_GET_INFO_MEMBER(get_bg_tile_info);
4243};
4344
4445
45static TILE_GET_INFO( get_bg_tile_info )
46TILE_GET_INFO_MEMBER(wink_state::get_bg_tile_info)
4647{
47   wink_state *state = machine.driver_data<wink_state>();
48   UINT8 *videoram = state->m_videoram;
48   UINT8 *videoram = m_videoram;
4949   int code = videoram[tile_index];
50   code |= 0x200 * state->m_tile_bank;
50   code |= 0x200 * m_tile_bank;
5151
5252   // the 2 parts of the screen use different tile banking
5353   if(tile_index < 0x360)
r17672r17673
5555      code |= 0x100;
5656   }
5757
58   SET_TILE_INFO(0, code, 0, 0);
58   SET_TILE_INFO_MEMBER(0, code, 0, 0);
5959}
6060
6161static VIDEO_START( wink )
6262{
6363   wink_state *state = machine.driver_data<wink_state>();
64   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
64   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(wink_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
6565}
6666
6767static SCREEN_UPDATE_IND16( wink )
trunk/src/mame/drivers/safarir.c
r17672r17673
7373   DECLARE_READ8_MEMBER(ram_r);
7474   DECLARE_WRITE8_MEMBER(ram_bank_w);
7575   DECLARE_WRITE8_MEMBER(safarir_audio_w);
76   TILE_GET_INFO_MEMBER(get_bg_tile_info);
77   TILE_GET_INFO_MEMBER(get_fg_tile_info);
7678};
7779
7880
r17672r17673
146148   }
147149}
148150
149static TILE_GET_INFO( get_bg_tile_info )
151TILE_GET_INFO_MEMBER(safarir_state::get_bg_tile_info)
150152{
151153   int color;
152   address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
153   safarir_state *state = machine.driver_data<safarir_state>();
154   UINT8 code = state->ram_r(*space,tile_index | 0x400);
154   address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
155   UINT8 code = ram_r(*space,tile_index | 0x400);
155156
156157   if (code & 0x80)
157158      color = 6;   /* yellow */
r17672r17673
165166         color |= (tile_index & 0xc0) ? 1 : 0;
166167   }
167168
168   SET_TILE_INFO(0, code & 0x7f, color, 0);
169   SET_TILE_INFO_MEMBER(0, code & 0x7f, color, 0);
169170}
170171
171172
172static TILE_GET_INFO( get_fg_tile_info )
173TILE_GET_INFO_MEMBER(safarir_state::get_fg_tile_info)
173174{
174175   int color, flags;
175   address_space *space = machine.device("maincpu")->memory().space(AS_PROGRAM);
176   safarir_state *state = machine.driver_data<safarir_state>();
177   UINT8 code = state->ram_r(*space,tile_index);
176   address_space *space = machine().device("maincpu")->memory().space(AS_PROGRAM);
177   UINT8 code = ram_r(*space,tile_index);
178178
179179   if (code & 0x80)
180180      color = 7;   /* white */
r17672r17673
183183
184184   flags = ((tile_index & 0x1f) >= 0x03) ? 0 : TILE_FORCE_LAYER0;
185185
186   SET_TILE_INFO(1, code & 0x7f, color, flags);
186   SET_TILE_INFO_MEMBER(1, code & 0x7f, color, flags);
187187}
188188
189189
r17672r17673
191191{
192192   safarir_state *state = machine.driver_data<safarir_state>();
193193
194   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
195   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
194   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(safarir_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
195   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(safarir_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
196196
197197   state->m_fg_tilemap->set_transparent_pen(0);
198198}
trunk/src/mame/drivers/pzletime.c
r17672r17673
5353   DECLARE_CUSTOM_INPUT_MEMBER(ticket_status_r);
5454   DECLARE_WRITE16_MEMBER(eeprom_w);
5555   DECLARE_WRITE16_MEMBER(oki_bank_w);
56   TILE_GET_INFO_MEMBER(get_mid_tile_info);
57   TILE_GET_INFO_MEMBER(get_txt_tile_info);
5658};
5759
5860
59static TILE_GET_INFO( get_mid_tile_info )
61TILE_GET_INFO_MEMBER(pzletime_state::get_mid_tile_info)
6062{
61   pzletime_state *state = machine.driver_data<pzletime_state>();
62   int tileno = state->m_mid_videoram[tile_index] & 0x0fff;
63   int colour = state->m_mid_videoram[tile_index] & 0xf000;
63   int tileno = m_mid_videoram[tile_index] & 0x0fff;
64   int colour = m_mid_videoram[tile_index] & 0xf000;
6465   colour = colour >> 12;
65   SET_TILE_INFO(2, tileno, colour, 0);
66   SET_TILE_INFO_MEMBER(2, tileno, colour, 0);
6667}
6768
68static TILE_GET_INFO( get_txt_tile_info )
69TILE_GET_INFO_MEMBER(pzletime_state::get_txt_tile_info)
6970{
70   pzletime_state *state = machine.driver_data<pzletime_state>();
71   int tileno = state->m_txt_videoram[tile_index] & 0x0fff;
72   int colour = state->m_txt_videoram[tile_index] & 0xf000;
71   int tileno = m_txt_videoram[tile_index] & 0x0fff;
72   int colour = m_txt_videoram[tile_index] & 0xf000;
7373   colour = colour >> 12;
7474
75   SET_TILE_INFO(0, tileno, colour, 0);
75   SET_TILE_INFO_MEMBER(0, tileno, colour, 0);
7676
7777   tileinfo.category = BIT(colour, 3);
7878}
r17672r17673
8181{
8282   pzletime_state *state = machine.driver_data<pzletime_state>();
8383
84   state->m_mid_tilemap = tilemap_create(machine, get_mid_tile_info, TILEMAP_SCAN_COLS, 16, 16, 64, 16);
85   state->m_txt_tilemap = tilemap_create(machine, get_txt_tile_info, TILEMAP_SCAN_ROWS,  8, 8, 64, 32);
84   state->m_mid_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pzletime_state::get_mid_tile_info),state), TILEMAP_SCAN_COLS, 16, 16, 64, 16);
85   state->m_txt_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(pzletime_state::get_txt_tile_info),state), TILEMAP_SCAN_ROWS,  8, 8, 64, 32);
8686
8787   state->m_mid_tilemap->set_transparent_pen(0);
8888   state->m_txt_tilemap->set_transparent_pen(0);
trunk/src/mame/drivers/tmspoker.c
r17672r17673
227227   //DECLARE_WRITE8_MEMBER(debug_w);
228228   DECLARE_READ8_MEMBER(unk_r);
229229   DECLARE_DRIVER_INIT(bus);
230   TILE_GET_INFO_MEMBER(get_bg_tile_info);
230231};
231232
232233
r17672r17673
241242}
242243
243244
244static TILE_GET_INFO( get_bg_tile_info )
245TILE_GET_INFO_MEMBER(tmspoker_state::get_bg_tile_info)
245246{
246247/*  - bits -
247248    7654 3210
r17672r17673
249250    ---- ----   color code.
250251    ---- ----   seems unused.
251252*/
252   tmspoker_state *state = machine.driver_data<tmspoker_state>();
253   int code = state->m_videoram[tile_index];
253   int code = m_videoram[tile_index];
254254
255   SET_TILE_INFO( 0 /* bank */, code, 0 /* color */, 0);
255   SET_TILE_INFO_MEMBER( 0 /* bank */, code, 0 /* color */, 0);
256256}
257257
258258static VIDEO_START( tmspoker )
259259{
260260   tmspoker_state *state = machine.driver_data<tmspoker_state>();
261   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
261   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(tmspoker_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
262262}
263263
264264static SCREEN_UPDATE_IND16( tmspoker )
trunk/src/mame/drivers/jollyjgr.c
r17672r17673
134134   DECLARE_WRITE8_MEMBER(jollyjgr_attrram_w);
135135   DECLARE_WRITE8_MEMBER(jollyjgr_misc_w);
136136   DECLARE_WRITE8_MEMBER(jollyjgr_coin_lookout_w);
137   TILE_GET_INFO_MEMBER(get_bg_tile_info);
137138};
138139
139140
r17672r17673
435436}
436437
437438/* Tilemap is the same as in Galaxian */
438static TILE_GET_INFO( get_bg_tile_info )
439TILE_GET_INFO_MEMBER(jollyjgr_state::get_bg_tile_info)
439440{
440   jollyjgr_state *state = machine.driver_data<jollyjgr_state>();
441   int color = state->m_colorram[((tile_index & 0x1f) << 1) | 1] & 7;
442   int region = (state->m_tilemap_bank & 0x20) ? 2 : 0;
443   SET_TILE_INFO(region, state->m_videoram[tile_index], color, 0);
441   int color = m_colorram[((tile_index & 0x1f) << 1) | 1] & 7;
442   int region = (m_tilemap_bank & 0x20) ? 2 : 0;
443   SET_TILE_INFO_MEMBER(region, m_videoram[tile_index], color, 0);
444444}
445445
446446static VIDEO_START( jollyjgr )
447447{
448448   jollyjgr_state *state = machine.driver_data<jollyjgr_state>();
449   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
449   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jollyjgr_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
450450
451451   state->m_bg_tilemap->set_transparent_pen(0);
452452   state->m_bg_tilemap->set_scroll_cols(32);
trunk/src/mame/drivers/peplus.c
r17672r17673
262262   DECLARE_DRIVER_INIT(peplus);
263263   DECLARE_DRIVER_INIT(peplussb);
264264   DECLARE_DRIVER_INIT(peplussbw);
265   TILE_GET_INFO_MEMBER(get_bg_tile_info);
265266};
266267
267268static const UINT8  id_022[8] = { 0x00, 0x01, 0x04, 0x09, 0x13, 0x16, 0x18, 0x00 };
r17672r17673
935936* Video/Character functions *
936937****************************/
937938
938static TILE_GET_INFO( get_bg_tile_info )
939TILE_GET_INFO_MEMBER(peplus_state::get_bg_tile_info)
939940{
940   peplus_state *state = machine.driver_data<peplus_state>();
941   UINT8 *videoram = state->m_videoram;
942   int pr = state->m_palette_ram[tile_index];
943   int pr2 = state->m_palette_ram2[tile_index];
941   UINT8 *videoram = m_videoram;
942   int pr = m_palette_ram[tile_index];
943   int pr2 = m_palette_ram2[tile_index];
944944   int vr = videoram[tile_index];
945945
946946   int code = ((pr & 0x0f)*256) | vr;
947947   int color = (pr>>4) & 0x0f;
948948
949949   // Access 2nd Half of CGs and CAP
950   if (state->m_jumper_e16_e17 && (pr2 & 0x10) == 0x10)
950   if (m_jumper_e16_e17 && (pr2 & 0x10) == 0x10)
951951   {
952952      code += 0x1000;
953953      color += 0x10;
954954   }
955955
956   SET_TILE_INFO(0, code, color, 0);
956   SET_TILE_INFO_MEMBER(0, code, color, 0);
957957}
958958
959959static VIDEO_START( peplus )
960960{
961961   peplus_state *state = machine.driver_data<peplus_state>();
962   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 40, 25);
962   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(peplus_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 40, 25);
963963   state->m_palette_ram = auto_alloc_array(machine, UINT8, 0x3000);
964964   memset(state->m_palette_ram, 0, 0x3000);
965965   state->m_palette_ram2 = auto_alloc_array(machine, UINT8, 0x3000);
trunk/src/mame/drivers/ddayjlc.c
r17672r17673
100100   DECLARE_WRITE8_MEMBER(i8257_LMSR_w);
101101   DECLARE_CUSTOM_INPUT_MEMBER(prot_r);
102102   DECLARE_DRIVER_INIT(ddayjlc);
103   TILE_GET_INFO_MEMBER(get_tile_info_bg);
103104};
104105
105106
r17672r17673
369370   GFXDECODE_ENTRY( "gfx3", 0, charlayout,     0x100, 16 )
370371GFXDECODE_END
371372
372static TILE_GET_INFO( get_tile_info_bg )
373TILE_GET_INFO_MEMBER(ddayjlc_state::get_tile_info_bg)
373374{
374   ddayjlc_state *state = machine.driver_data<ddayjlc_state>();
375   int code = state->m_bgram[tile_index] + ((state->m_bgram[tile_index + 0x400] & 0x08) << 5);
376   int color = (state->m_bgram[tile_index + 0x400] & 0x7);
377   color |= (state->m_bgram[tile_index + 0x400] & 0x40) >> 3;
375   int code = m_bgram[tile_index] + ((m_bgram[tile_index + 0x400] & 0x08) << 5);
376   int color = (m_bgram[tile_index + 0x400] & 0x7);
377   color |= (m_bgram[tile_index + 0x400] & 0x40) >> 3;
378378
379   SET_TILE_INFO(2, code, color, 0);
379   SET_TILE_INFO_MEMBER(2, code, color, 0);
380380}
381381
382382static VIDEO_START( ddayjlc )
383383{
384384   ddayjlc_state *state = machine.driver_data<ddayjlc_state>();
385   state->m_bg_tilemap = tilemap_create(machine, get_tile_info_bg, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
385   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(ddayjlc_state::get_tile_info_bg),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
386386}
387387
388388static SCREEN_UPDATE_IND16( ddayjlc )
trunk/src/mame/drivers/quizpun2.c
r17672r17673
108108   DECLARE_WRITE8_MEMBER(quizpun2_rombank_w);
109109   DECLARE_WRITE8_MEMBER(quizpun2_irq_ack);
110110   DECLARE_WRITE8_MEMBER(quizpun2_soundlatch_w);
111   TILE_GET_INFO_MEMBER(get_bg_tile_info);
112   TILE_GET_INFO_MEMBER(get_fg_tile_info);
111113};
112114
113115
r17672r17673
117119                                Video Hardware
118120***************************************************************************/
119121
120static TILE_GET_INFO( get_bg_tile_info )
122TILE_GET_INFO_MEMBER(quizpun2_state::get_bg_tile_info)
121123{
122   quizpun2_state *state = machine.driver_data<quizpun2_state>();
123   UINT16 code = state->m_bg_ram[ tile_index * 2 ] + state->m_bg_ram[ tile_index * 2 + 1 ] * 256;
124   SET_TILE_INFO(0, code, 0, 0);
124   UINT16 code = m_bg_ram[ tile_index * 2 ] + m_bg_ram[ tile_index * 2 + 1 ] * 256;
125   SET_TILE_INFO_MEMBER(0, code, 0, 0);
125126}
126127
127static TILE_GET_INFO( get_fg_tile_info )
128TILE_GET_INFO_MEMBER(quizpun2_state::get_fg_tile_info)
128129{
129   quizpun2_state *state = machine.driver_data<quizpun2_state>();
130   UINT16 code  = state->m_fg_ram[ tile_index * 4 ] + state->m_fg_ram[ tile_index * 4 + 1 ] * 256;
131   UINT8  color = state->m_fg_ram[ tile_index * 4 + 2 ];
132   SET_TILE_INFO(1, code, color & 0x0f, 0);
130   UINT16 code  = m_fg_ram[ tile_index * 4 ] + m_fg_ram[ tile_index * 4 + 1 ] * 256;
131   UINT8  color = m_fg_ram[ tile_index * 4 + 2 ];
132   SET_TILE_INFO_MEMBER(1, code, color & 0x0f, 0);
133133}
134134
135135WRITE8_MEMBER(quizpun2_state::bg_ram_w)
r17672r17673
147147static VIDEO_START(quizpun2)
148148{
149149   quizpun2_state *state = machine.driver_data<quizpun2_state>();
150   state->m_bg_tmap = tilemap_create(   machine, get_bg_tile_info, TILEMAP_SCAN_ROWS,   8,16, 0x20,0x20   );
151   state->m_fg_tmap = tilemap_create(   machine, get_fg_tile_info, TILEMAP_SCAN_ROWS,   8,16, 0x20,0x20   );
150   state->m_bg_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(quizpun2_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS,8,16,0x20,0x20);
151   state->m_fg_tmap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(quizpun2_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS,8,16,0x20,0x20);
152152
153153   state->m_bg_tmap->set_transparent_pen(0);
154154   state->m_fg_tmap->set_transparent_pen(0);
trunk/src/mame/drivers/egghunt.c
r17672r17673
7575   DECLARE_WRITE8_MEMBER(egghunt_soundlatch_w);
7676   DECLARE_READ8_MEMBER(egghunt_okibanking_r);
7777   DECLARE_WRITE8_MEMBER(egghunt_okibanking_w);
78   TILE_GET_INFO_MEMBER(get_bg_tile_info);
7879};
7980
8081
r17672r17673
117118   }
118119}
119120
120static TILE_GET_INFO( get_bg_tile_info )
121TILE_GET_INFO_MEMBER(egghunt_state::get_bg_tile_info)
121122{
122   egghunt_state *state = machine.driver_data<egghunt_state>();
123   int code = ((state->m_bgram[tile_index * 2 + 1] << 8) | state->m_bgram[tile_index * 2]) & 0x3fff;
124   int colour = state->m_atram[tile_index] & 0x3f;
123   int code = ((m_bgram[tile_index * 2 + 1] << 8) | m_bgram[tile_index * 2]) & 0x3fff;
124   int colour = m_atram[tile_index] & 0x3f;
125125
126126   if(code & 0x2000)
127127   {
128      if((state->m_gfx_banking & 3) == 2)
128      if((m_gfx_banking & 3) == 2)
129129         code += 0x2000;
130      else if((state->m_gfx_banking & 3) == 3)
130      else if((m_gfx_banking & 3) == 3)
131131         code += 0x4000;
132//      else if((state->m_gfx_banking & 3) == 1)
132//      else if((m_gfx_banking & 3) == 1)
133133//          code += 0;
134134   }
135135
136   SET_TILE_INFO(0, code, colour, 0);
136   SET_TILE_INFO_MEMBER(0, code, colour, 0);
137137}
138138
139139READ8_MEMBER(egghunt_state::egghunt_bgram_r)
r17672r17673
172172{
173173   egghunt_state *state = machine.driver_data<egghunt_state>();
174174
175   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
175   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(egghunt_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
176176
177177   state->save_item(NAME(state->m_bgram));
178178   state->save_item(NAME(state->m_spram));
trunk/src/mame/drivers/jokrwild.c
r17672r17673
114114   DECLARE_WRITE8_MEMBER(testa_w);
115115   DECLARE_WRITE8_MEMBER(testb_w);
116116   DECLARE_DRIVER_INIT(jokrwild);
117   TILE_GET_INFO_MEMBER(get_bg_tile_info);
117118};
118119
119120
r17672r17673
136137}
137138
138139
139static TILE_GET_INFO( get_bg_tile_info )
140TILE_GET_INFO_MEMBER(jokrwild_state::get_bg_tile_info)
140141{
141   jokrwild_state *state = machine.driver_data<jokrwild_state>();
142142/*  - bits -
143143    7654 3210
144144    xx-- ----   bank select.
145145    ---- xxxx   color code.
146146*/
147   int attr = state->m_colorram[tile_index];
148   int code = state->m_videoram[tile_index] | ((attr & 0xc0) << 2);
147   int attr = m_colorram[tile_index];
148   int code = m_videoram[tile_index] | ((attr & 0xc0) << 2);
149149   int color = (attr & 0x0f);
150150
151   SET_TILE_INFO( 0, code , color , 0);
151   SET_TILE_INFO_MEMBER( 0, code , color , 0);
152152}
153153
154154
155155static VIDEO_START( jokrwild )
156156{
157157   jokrwild_state *state = machine.driver_data<jokrwild_state>();
158   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 24, 26);
158   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(jokrwild_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 24, 26);
159159}
160160
161161
trunk/src/mame/drivers/umipoker.c
r17672r17673
6060   DECLARE_WRITE16_MEMBER(saiyu_counters_w);
6161   DECLARE_DRIVER_INIT(umipoker);
6262   DECLARE_DRIVER_INIT(saiyukip);
63   TILE_GET_INFO_MEMBER(get_tile_info_0);
64   TILE_GET_INFO_MEMBER(get_tile_info_1);
65   TILE_GET_INFO_MEMBER(get_tile_info_2);
66   TILE_GET_INFO_MEMBER(get_tile_info_3);
6367};
6468
65static TILE_GET_INFO( get_tile_info_0 )
69TILE_GET_INFO_MEMBER(umipoker_state::get_tile_info_0)
6670{
67   umipoker_state *state = machine.driver_data<umipoker_state>();
68   int tile = state->m_vram_0[tile_index*2+0];
69   int color = state->m_vram_0[tile_index*2+1] & 0x3f;
71   int tile = m_vram_0[tile_index*2+0];
72   int color = m_vram_0[tile_index*2+1] & 0x3f;
7073
71   SET_TILE_INFO(
74   SET_TILE_INFO_MEMBER(
7275         0,
7376         tile,
7477         color,
7578         0);
7679}
7780
78static TILE_GET_INFO( get_tile_info_1 )
81TILE_GET_INFO_MEMBER(umipoker_state::get_tile_info_1)
7982{
80   umipoker_state *state = machine.driver_data<umipoker_state>();
81   int tile = state->m_vram_1[tile_index*2+0];
82   int color = state->m_vram_1[tile_index*2+1] & 0x3f;
83   int tile = m_vram_1[tile_index*2+0];
84   int color = m_vram_1[tile_index*2+1] & 0x3f;
8385
84   SET_TILE_INFO(
86   SET_TILE_INFO_MEMBER(
8587         0,
8688         tile,
8789         color,
8890         0);
8991}
9092
91static TILE_GET_INFO( get_tile_info_2 )
93TILE_GET_INFO_MEMBER(umipoker_state::get_tile_info_2)
9294{
93   umipoker_state *state = machine.driver_data<umipoker_state>();
94   int tile = state->m_vram_2[tile_index*2+0];
95   int color = state->m_vram_2[tile_index*2+1] & 0x3f;
95   int tile = m_vram_2[tile_index*2+0];
96   int color = m_vram_2[tile_index*2+1] & 0x3f;
9697
97   SET_TILE_INFO(
98   SET_TILE_INFO_MEMBER(
9899         0,
99100         tile,
100101         color,
101102         0);
102103}
103104
104static TILE_GET_INFO( get_tile_info_3 )
105TILE_GET_INFO_MEMBER(umipoker_state::get_tile_info_3)
105106{
106   umipoker_state *state = machine.driver_data<umipoker_state>();
107   int tile = state->m_vram_3[tile_index*2+0];
108   int color = state->m_vram_3[tile_index*2+1] & 0x3f;
107   int tile = m_vram_3[tile_index*2+0];
108   int color = m_vram_3[tile_index*2+1] & 0x3f;
109109
110   SET_TILE_INFO(
110   SET_TILE_INFO_MEMBER(
111111         0,
112112         tile,
113113         color,
r17672r17673
118118{
119119   umipoker_state *state = machine.driver_data<umipoker_state>();
120120
121   state->m_tilemap_0 = tilemap_create(machine, get_tile_info_0,TILEMAP_SCAN_ROWS,8,8,64,32);
122   state->m_tilemap_1 = tilemap_create(machine, get_tile_info_1,TILEMAP_SCAN_ROWS,8,8,64,32);
123   state->m_tilemap_2 = tilemap_create(machine, get_tile_info_2,TILEMAP_SCAN_ROWS,8,8,64,32);
124   state->m_tilemap_3 = tilemap_create(machine, get_tile_info_3,TILEMAP_SCAN_ROWS,8,8,64,32);
121   state->m_tilemap_0 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(umipoker_state::get_tile_info_0),state),TILEMAP_SCAN_ROWS,8,8,64,32);
122   state->m_tilemap_1 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(umipoker_state::get_tile_info_1),state),TILEMAP_SCAN_ROWS,8,8,64,32);
123   state->m_tilemap_2 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(umipoker_state::get_tile_info_2),state),TILEMAP_SCAN_ROWS,8,8,64,32);
124   state->m_tilemap_3 = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(umipoker_state::get_tile_info_3),state),TILEMAP_SCAN_ROWS,8,8,64,32);
125125
126126   state->m_tilemap_0->set_transparent_pen(0);
127127   state->m_tilemap_1->set_transparent_pen(0);
trunk/src/mame/drivers/cball.c
r17672r17673
2727   DECLARE_WRITE8_MEMBER(cball_vram_w);
2828   DECLARE_READ8_MEMBER(cball_wram_r);
2929   DECLARE_WRITE8_MEMBER(cball_wram_w);
30   TILE_GET_INFO_MEMBER(get_tile_info);
3031};
3132
3233
33static TILE_GET_INFO( get_tile_info )
34TILE_GET_INFO_MEMBER(cball_state::get_tile_info)
3435{
35   cball_state *state = machine.driver_data<cball_state>();
36   UINT8 code = state->m_video_ram[tile_index];
36   UINT8 code = m_video_ram[tile_index];
3737
38   SET_TILE_INFO(0, code, code >> 7, 0);
38   SET_TILE_INFO_MEMBER(0, code, code >> 7, 0);
3939}
4040
4141
r17672r17673
4949static VIDEO_START( cball )
5050{
5151   cball_state *state = machine.driver_data<cball_state>();
52   state->m_bg_tilemap = tilemap_create(machine, get_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
52   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(cball_state::get_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
5353}
5454
5555
trunk/src/mame/drivers/chance32.c
r17672r17673
5757   required_shared_ptr<UINT8> m_bgram;
5858
5959   UINT8 mux_data;
60   TILE_GET_INFO_MEMBER(get_fg_tile_info);
61   TILE_GET_INFO_MEMBER(get_bg_tile_info);
6062};
6163
6264
63static TILE_GET_INFO( get_fg_tile_info )
65TILE_GET_INFO_MEMBER(chance32_state::get_fg_tile_info)
6466{
65   chance32_state *state = machine.driver_data<chance32_state>();
66   int code = (state->m_fgram[tile_index * 2 + 1] << 8) | state->m_fgram[tile_index * 2];
67   int code = (m_fgram[tile_index * 2 + 1] << 8) | m_fgram[tile_index * 2];
6768   int flip = (~code >> 12)&1;
68   SET_TILE_INFO(
69   SET_TILE_INFO_MEMBER(
6970         1,
7071         code & 0x0fff,
7172         code >> 13,
7273         TILE_FLIPYX(flip<<1)|flip);
7374}
7475
75static TILE_GET_INFO( get_bg_tile_info )
76TILE_GET_INFO_MEMBER(chance32_state::get_bg_tile_info)
7677{
77   chance32_state *state = machine.driver_data<chance32_state>();
78   int code = (state->m_bgram[tile_index * 2 +1] << 8) | state->m_bgram[tile_index * 2];
78   int code = (m_bgram[tile_index * 2 +1] << 8) | m_bgram[tile_index * 2];
7979   int flip = (~code >> 12)&1;
80   SET_TILE_INFO(
80   SET_TILE_INFO_MEMBER(
8181         0,
8282         code & 0x0fff,
8383         code >> 13,
r17672r17673
8989{
9090   chance32_state *state = machine.driver_data<chance32_state>();
9191
92   state->m_fg_tilemap = tilemap_create(machine, get_fg_tile_info, TILEMAP_SCAN_ROWS, 16, 8, 35, 29);
92   state->m_fg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(chance32_state::get_fg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 8, 35, 29);
9393   state->m_fg_tilemap->set_transparent_pen(0);
9494
95   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 8, 35, 29);
95   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(chance32_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 8, 35, 29);
9696
9797   state->m_fg_tilemap->set_flip(TILE_FLIPX|TILE_FLIPY);
9898   state->m_bg_tilemap->set_flip(TILE_FLIPX|TILE_FLIPY);
trunk/src/mame/drivers/rabbit.c
r17672r17673
132132   DECLARE_WRITE32_MEMBER(rabbit_blitter_w);
133133   DECLARE_WRITE32_MEMBER(rabbit_eeprom_write);
134134   DECLARE_DRIVER_INIT(rabbit);
135   TILE_GET_INFO_MEMBER(get_rabbit_tilemap0_tile_info);
136   TILE_GET_INFO_MEMBER(get_rabbit_tilemap1_tile_info);
137   TILE_GET_INFO_MEMBER(get_rabbit_tilemap2_tile_info);
138   TILE_GET_INFO_MEMBER(get_rabbit_tilemap3_tile_info);
135139};
136140
137141
r17672r17673
197201   }
198202}
199203
200static TILE_GET_INFO( get_rabbit_tilemap0_tile_info )
204TILE_GET_INFO_MEMBER(rabbit_state::get_rabbit_tilemap0_tile_info)
201205{
202   get_rabbit_tilemap_info(machine,tileinfo,tile_index,0,1);
206   get_rabbit_tilemap_info(machine(),tileinfo,tile_index,0,1);
203207}
204208
205static TILE_GET_INFO( get_rabbit_tilemap1_tile_info )
209TILE_GET_INFO_MEMBER(rabbit_state::get_rabbit_tilemap1_tile_info)
206210{
207   get_rabbit_tilemap_info(machine,tileinfo,tile_index,1,1);
211   get_rabbit_tilemap_info(machine(),tileinfo,tile_index,1,1);
208212}
209213
210static TILE_GET_INFO( get_rabbit_tilemap2_tile_info )
214TILE_GET_INFO_MEMBER(rabbit_state::get_rabbit_tilemap2_tile_info)
211215{
212   get_rabbit_tilemap_info(machine,tileinfo,tile_index,2,1);
216   get_rabbit_tilemap_info(machine(),tileinfo,tile_index,2,1);
213217}
214218
215static TILE_GET_INFO( get_rabbit_tilemap3_tile_info )
219TILE_GET_INFO_MEMBER(rabbit_state::get_rabbit_tilemap3_tile_info)
216220{
217   get_rabbit_tilemap_info(machine,tileinfo,tile_index,3,0);
221   get_rabbit_tilemap_info(machine(),tileinfo,tile_index,3,0);
218222}
219223
220224WRITE32_MEMBER(rabbit_state::rabbit_tilemap0_w)
r17672r17673
392396   state->m_tilemap_ram[2] = auto_alloc_array_clear(machine, UINT32, 0x20000/4);
393397   state->m_tilemap_ram[3] = auto_alloc_array_clear(machine, UINT32, 0x20000/4);
394398
395   state->m_tilemap[0] = tilemap_create(machine, get_rabbit_tilemap0_tile_info,TILEMAP_SCAN_ROWS,16, 16, 128,32);
396   state->m_tilemap[1] = tilemap_create(machine, get_rabbit_tilemap1_tile_info,TILEMAP_SCAN_ROWS,16, 16, 128,32);
397   state->m_tilemap[2] = tilemap_create(machine, get_rabbit_tilemap2_tile_info,TILEMAP_SCAN_ROWS,16, 16, 128,32);
398   state->m_tilemap[3] = tilemap_create(machine, get_rabbit_tilemap3_tile_info,TILEMAP_SCAN_ROWS, 8,  8, 128,32);
399   state->m_tilemap[0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rabbit_state::get_rabbit_tilemap0_tile_info),state),TILEMAP_SCAN_ROWS,16, 16, 128,32);
400   state->m_tilemap[1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rabbit_state::get_rabbit_tilemap1_tile_info),state),TILEMAP_SCAN_ROWS,16, 16, 128,32);
401   state->m_tilemap[2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rabbit_state::get_rabbit_tilemap2_tile_info),state),TILEMAP_SCAN_ROWS,16, 16, 128,32);
402   state->m_tilemap[3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(rabbit_state::get_rabbit_tilemap3_tile_info),state),TILEMAP_SCAN_ROWS, 8,  8, 128,32);
399403
400404   /* the tilemaps mix 4bpp and 8bbp tiles, we split these into 2 groups, and set a different transpen for each group */
401405    state->m_tilemap[0]->map_pen_to_layer(0, 15,  TILEMAP_PIXEL_TRANSPARENT);
trunk/src/mame/drivers/hvyunit.c
r17672r17673
122122   DECLARE_WRITE8_MEMBER(mermaid_p2_w);
123123   DECLARE_READ8_MEMBER(mermaid_p3_r);
124124   DECLARE_WRITE8_MEMBER(mermaid_p3_w);
125   TILE_GET_INFO_MEMBER(get_bg_tile_info);
125126};
126127
127128
r17672r17673
160161 *
161162 *************************************/
162163
163static TILE_GET_INFO( get_bg_tile_info )
164TILE_GET_INFO_MEMBER(hvyunit_state::get_bg_tile_info)
164165{
165   hvyunit_state *state = machine.driver_data<hvyunit_state>();
166166
167   int attr = state->m_colorram[tile_index];
168   int code = state->m_videoram[tile_index] + ((attr & 0x0f) << 8);
167   int attr = m_colorram[tile_index];
168   int code = m_videoram[tile_index] + ((attr & 0x0f) << 8);
169169   int color = (attr >> 4);
170170
171   SET_TILE_INFO(1, code, color, 0);
171   SET_TILE_INFO_MEMBER(1, code, color, 0);
172172}
173173
174174static VIDEO_START( hvyunit )
175175{
176176   hvyunit_state *state = machine.driver_data<hvyunit_state>();
177   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
177   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(hvyunit_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 16, 16, 32, 32);
178178}
179179
180180static SCREEN_UPDATE_IND16( hvyunit )
trunk/src/mame/drivers/miniboy7.c
r17672r17673
165165   tilemap_t *m_bg_tilemap;
166166   DECLARE_WRITE8_MEMBER(miniboy7_videoram_w);
167167   DECLARE_WRITE8_MEMBER(miniboy7_colorram_w);
168   TILE_GET_INFO_MEMBER(get_bg_tile_info);
168169};
169170
170171
r17672r17673
184185   m_bg_tilemap->mark_tile_dirty(offset);
185186}
186187
187static TILE_GET_INFO( get_bg_tile_info )
188TILE_GET_INFO_MEMBER(miniboy7_state::get_bg_tile_info)
188189{
189   miniboy7_state *state = machine.driver_data<miniboy7_state>();
190190/*  - bits -
191191    7654 3210
192192    --xx xx--   tiles color?.
193193    ---- --x-   tiles bank.
194194    xx-- ---x   seems unused. */
195195
196   int attr = state->m_colorram[tile_index];
197   int code = state->m_videoram[tile_index];
196   int attr = m_colorram[tile_index];
197   int code = m_videoram[tile_index];
198198   int bank = (attr & 0x02) >> 1;   /* bit 1 switch the gfx banks */
199199   int color = (attr & 0x3c);   /* bits 2-3-4-5 for color? */
200200
201201   if (bank == 1)   /* temporary hack to point to the 3rd gfx bank */
202202      bank = 2;
203203
204   SET_TILE_INFO(bank, code, color, 0);
204   SET_TILE_INFO_MEMBER(bank, code, color, 0);
205205}
206206
207207static VIDEO_START( miniboy7 )
208208{
209209   miniboy7_state *state = machine.driver_data<miniboy7_state>();
210   state->m_bg_tilemap = tilemap_create(machine, get_bg_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 37, 37);
210   state->m_bg_tilemap = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(miniboy7_state::get_bg_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 37, 37);
211211}
212212
213213static SCREEN_UPDATE_IND16( miniboy7 )
trunk/src/mess/drivers/supracan.c
r17672r17673
194194   tilemap_t *m_tilemap_sizes[4][4];
195195   bitmap_ind16 m_sprite_final_bitmap;
196196   void write_swapped_byte(int offset, UINT8 byte);
197   TILE_GET_INFO_MEMBER(get_supracan_tilemap0_tile_info);
198   TILE_GET_INFO_MEMBER(get_supracan_tilemap1_tile_info);
199   TILE_GET_INFO_MEMBER(get_supracan_tilemap2_tile_info);
200   TILE_GET_INFO_MEMBER(get_supracan_roz_tile_info);
197201};
198202
199203
r17672r17673
371375
372376
373377
374static TILE_GET_INFO( get_supracan_tilemap0_tile_info )
378TILE_GET_INFO_MEMBER(supracan_state::get_supracan_tilemap0_tile_info)
375379{
376380
377   supracan_tilemap_get_info_common(machine, 0, tileinfo, tile_index);
381   supracan_tilemap_get_info_common(machine(), 0, tileinfo, tile_index);
378382}
379383
380static TILE_GET_INFO( get_supracan_tilemap1_tile_info )
384TILE_GET_INFO_MEMBER(supracan_state::get_supracan_tilemap1_tile_info)
381385{
382   supracan_tilemap_get_info_common(machine, 1, tileinfo, tile_index);
386   supracan_tilemap_get_info_common(machine(), 1, tileinfo, tile_index);
383387}
384388
385static TILE_GET_INFO( get_supracan_tilemap2_tile_info )
389TILE_GET_INFO_MEMBER(supracan_state::get_supracan_tilemap2_tile_info)
386390{
387391
388   supracan_tilemap_get_info_common(machine, 2, tileinfo, tile_index);
392   supracan_tilemap_get_info_common(machine(), 2, tileinfo, tile_index);
389393}
390394
391static TILE_GET_INFO( get_supracan_roz_tile_info )
395TILE_GET_INFO_MEMBER(supracan_state::get_supracan_roz_tile_info)
392396{
393397
394   supracan_tilemap_get_info_roz(machine, 3, tileinfo, tile_index);
398   supracan_tilemap_get_info_roz(machine(), 3, tileinfo, tile_index);
395399}
396400
397401
r17672r17673
404408   state->m_vram_swapped = (UINT16*)(*machine.root_device().memregion("ram_gfx2"));
405409   state->m_vram_addr_swapped = (UINT8*)(*state->memregion("ram_gfx3")); // hack for 1bpp layer at startup
406410
407   state->m_tilemap_sizes[0][0] = tilemap_create(machine, get_supracan_tilemap0_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
408   state->m_tilemap_sizes[0][1] = tilemap_create(machine, get_supracan_tilemap0_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
409   state->m_tilemap_sizes[0][2] = tilemap_create(machine, get_supracan_tilemap0_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 128, 32);
410   state->m_tilemap_sizes[0][3] = tilemap_create(machine, get_supracan_tilemap0_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
411   state->m_tilemap_sizes[0][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap0_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
412   state->m_tilemap_sizes[0][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap0_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
413   state->m_tilemap_sizes[0][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap0_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 128, 32);
414   state->m_tilemap_sizes[0][3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap0_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
411415
412   state->m_tilemap_sizes[1][0] = tilemap_create(machine, get_supracan_tilemap1_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
413   state->m_tilemap_sizes[1][1] = tilemap_create(machine, get_supracan_tilemap1_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
414   state->m_tilemap_sizes[1][2] = tilemap_create(machine, get_supracan_tilemap1_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 128, 32);
415   state->m_tilemap_sizes[1][3] = tilemap_create(machine, get_supracan_tilemap1_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
416   state->m_tilemap_sizes[1][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
417   state->m_tilemap_sizes[1][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
418   state->m_tilemap_sizes[1][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 128, 32);
419   state->m_tilemap_sizes[1][3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap1_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
416420
417   state->m_tilemap_sizes[2][0] = tilemap_create(machine, get_supracan_tilemap2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
418   state->m_tilemap_sizes[2][1] = tilemap_create(machine, get_supracan_tilemap2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
419   state->m_tilemap_sizes[2][2] = tilemap_create(machine, get_supracan_tilemap2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 128, 32);
420   state->m_tilemap_sizes[2][3] = tilemap_create(machine, get_supracan_tilemap2_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
421   state->m_tilemap_sizes[2][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
422   state->m_tilemap_sizes[2][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
423   state->m_tilemap_sizes[2][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 128, 32);
424   state->m_tilemap_sizes[2][3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_tilemap2_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
421425
422   state->m_tilemap_sizes[3][0] = tilemap_create(machine, get_supracan_roz_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
423   state->m_tilemap_sizes[3][1] = tilemap_create(machine, get_supracan_roz_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
424   state->m_tilemap_sizes[3][2] = tilemap_create(machine, get_supracan_roz_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 128, 32);
425   state->m_tilemap_sizes[3][3] = tilemap_create(machine, get_supracan_roz_tile_info, TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
426   state->m_tilemap_sizes[3][0] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_roz_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 32, 32);
427   state->m_tilemap_sizes[3][1] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_roz_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 32);
428   state->m_tilemap_sizes[3][2] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_roz_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 128, 32);
429   state->m_tilemap_sizes[3][3] = &machine.tilemap().create(tilemap_get_info_delegate(FUNC(supracan_state::get_supracan_roz_tile_info),state), TILEMAP_SCAN_ROWS, 8, 8, 64, 64);
426430}
427431
428432static int get_tilemap_dimensions(running_machine &machine, int &xsize, int &ysize, int layer)
trunk/src/mess/drivers/clcd.c
r17672r17673
2828   {
2929   }
3030
31   static TILE_GET_INFO( get_clcd_tilemap_tile_info )
31   TILE_GET_INFO_MEMBER(get_clcd_tilemap_tile_info)
3232   {
33      clcd_state *state = machine.driver_data<clcd_state>();
34      int code  = state->m_ram.target()[((tile_index / 80) * 128) + (tile_index % 80) + 0x800];
33      int code  = m_ram.target()[((tile_index / 80) * 128) + (tile_index % 80) + 0x800];
3534
36      SET_TILE_INFO(0, code, 0, 0);
35      SET_TILE_INFO_MEMBER(0, code, 0, 0);
3736   }
3837
3938   virtual void machine_start()
r17672r17673
4342
4443   virtual void video_start()
4544   {
46      m_tilemap = tilemap_create(machine(), get_clcd_tilemap_tile_info, TILEMAP_SCAN_ROWS, 6, 8, 80, 16);
45      m_tilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(clcd_state::get_clcd_tilemap_tile_info),this), TILEMAP_SCAN_ROWS, 6, 8, 80, 16);
4746   }
4847
4948   UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team