From c96a3b766af90801a9b524e898baab40f16a32c3 Mon Sep 17 00:00:00 2001 From: Aaron Giles Date: Fri, 11 Jan 2008 06:31:19 +0000 Subject: [PATCH] (From AtariAce) While investigating alternate gfx layout schemes, I stumbled across the fact that some drivers are allocating graphics with one layout and then decoding them with another (!). There's no guarantee this will work, but for the drivers that do so (all Konami games), the layouts are similar enough that it does. A related potential bug is that many drivers are decoding using the layout provided to allocgfx, not the layout attached the element returned from allocgfx. If the element had scaling applied to it, this would be incorrect, but since scaling is rare these are also benign. It would also be a problem if the layout data had a different internal representation (which is something I'm experimenting with), so to reduce the possibility of coding errors and allow for future changes, I'd like to remove the layout parameter from decodechar. So here's two patches, the first fixes the affected Konami drivers to allocate and decode using the same layouts. It changes the notion of plane_order and bpp in the functions somewhat to let the start routines select the appropriate layout, but acceptably so IMHO (I can clean this up further if there are loud objections). The second patch then removes the layout parameter from all the decodechar() calls. I also reviewed MESS to see if it had similar problems and didn't find any. --- src/emu/drawgfx.c | 5 ++-- src/emu/drawgfx.h | 2 +- src/emu/video/s2636.c | 2 +- src/mame/drivers/2mindril.c | 2 +- src/mame/drivers/ace.c | 8 ++--- src/mame/drivers/cps3.c | 10 +++---- src/mame/drivers/f1gp.c | 20 ++++++++++++- src/mame/drivers/hornet.c | 2 +- src/mame/drivers/madalien.c | 3 +- src/mame/drivers/mastboy.c | 2 +- src/mame/drivers/mlanding.c | 2 +- src/mame/drivers/mogura.c | 2 +- src/mame/drivers/mpu4drvr.c | 8 ++--- src/mame/drivers/namcoic.c | 3 +- src/mame/drivers/namcos23.c | 4 +-- src/mame/drivers/nwk-tr.c | 6 ++-- src/mame/drivers/srmp6.c | 4 +-- src/mame/drivers/taito_l.c | 6 ++-- src/mame/drivers/trvmadns.c | 2 +- src/mame/video/20pacgal.c | 4 +-- src/mame/video/battlera.c | 4 +-- src/mame/video/btime.c | 4 +-- src/mame/video/buggychl.c | 2 +- src/mame/video/bwing.c | 4 +-- src/mame/video/cps1.c | 2 +- src/mame/video/cvs.c | 6 ++-- src/mame/video/decocass.c | 10 +++---- src/mame/video/f1gp.c | 42 ++------------------------ src/mame/video/gottlieb.c | 3 +- src/mame/video/gradius3.c | 36 +++------------------- src/mame/video/konamiic.c | 59 +++++++++++++++++++++++++++++++++++++ src/mame/video/konamiic.h | 1 + src/mame/video/lemmings.c | 2 +- src/mame/video/namcona1.c | 4 +-- src/mame/video/namcos22.c | 2 +- src/mame/video/nemesis.c | 9 ++---- src/mame/video/polyplay.c | 2 +- src/mame/video/ppu2c0x.c | 2 +- src/mame/video/redalert.c | 12 +++----- src/mame/video/rockola.c | 6 ++-- src/mame/video/segag80r.c | 2 +- src/mame/video/segaic24.c | 2 +- src/mame/video/skychut.c | 2 +- src/mame/video/ssv.c | 6 ++-- src/mame/video/st0016.c | 4 +-- src/mame/video/stactics.c | 18 ++++------- src/mame/video/stvvdp2.c | 20 ++++++------- src/mame/video/suprnova.c | 4 +-- src/mame/video/tail2nos.c | 23 ++------------- src/mame/video/taito_f3.c | 4 +-- src/mame/video/taito_l.c | 24 +++++---------- src/mame/video/taitoic.c | 6 ++-- src/mame/video/taitojc.c | 2 +- src/mame/video/taitosj.c | 8 ++--- src/mame/video/tatsumi.c | 3 +- src/mame/video/tiamc1.c | 6 ++-- src/mame/video/toaplan2.c | 5 ++-- src/mame/video/tryout.c | 2 +- src/mame/video/usgames.c | 2 +- src/mame/video/zac2650.c | 4 +-- 60 files changed, 206 insertions(+), 250 deletions(-) diff --git a/src/emu/drawgfx.c b/src/emu/drawgfx.c index a1a2a3f9d05..178ea4276bf 100644 --- a/src/emu/drawgfx.c +++ b/src/emu/drawgfx.c @@ -161,8 +161,9 @@ static void calc_penusage(gfx_element *gfx, int num) on a specified layout -------------------------------------------------*/ -void decodechar(gfx_element *gfx, int num, const UINT8 *src, const gfx_layout *gl) +void decodechar(gfx_element *gfx, int num, const UINT8 *src) { + const gfx_layout *gl = &gfx->layout; int israw = (gl->planeoffset[0] == GFX_RAW); int planes = gl->planes; UINT32 charincrement = gl->charincrement; @@ -332,7 +333,7 @@ void decodegfx(gfx_element *gfx, const UINT8 *src, UINT32 first, UINT32 count) else { for (c = first; c <= last; c++) - decodechar(gfx, c, src, &gfx->layout); + decodechar(gfx, c, src); } } diff --git a/src/emu/drawgfx.h b/src/emu/drawgfx.h index d8608904f42..b715d6bfe72 100644 --- a/src/emu/drawgfx.h +++ b/src/emu/drawgfx.h @@ -197,7 +197,7 @@ extern int pdrawgfx_shadow_lowpri; void drawgfx_init(running_machine *machine); -void decodechar(gfx_element *gfx,int num,const unsigned char *src,const gfx_layout *gl); +void decodechar(gfx_element *gfx,int num,const unsigned char *src); gfx_element *allocgfx(const gfx_layout *gl); void decodegfx(gfx_element *gfx, const UINT8 *src, UINT32 first, UINT32 count); void freegfx(gfx_element *gfx); diff --git a/src/emu/video/s2636.c b/src/emu/video/s2636.c index 19e3a1219f5..c215218ee3f 100644 --- a/src/emu/video/s2636.c +++ b/src/emu/video/s2636.c @@ -227,7 +227,7 @@ void s2636_update_bitmap(running_machine *machine,mame_bitmap *bitmap,UINT8 *wor colour = (colour & 7) + 7; - decodechar(machine->gfx[Graphics_Bank],charno,workram,machine->drv->gfxdecodeinfo[Graphics_Bank].gfxlayout); + decodechar(machine->gfx[Graphics_Bank],charno,workram); drawgfxzoom(bitmap,machine->gfx[Graphics_Bank], charno, diff --git a/src/mame/drivers/2mindril.c b/src/mame/drivers/2mindril.c index 039527de58b..55d70f6c6b2 100644 --- a/src/mame/drivers/2mindril.c +++ b/src/mame/drivers/2mindril.c @@ -83,7 +83,7 @@ static VIDEO_UPDATE( drill ) for (i=0; i<256; i++) { - decodechar(machine->gfx[1],i,(UINT8*)&charram[0],machine->drv->gfxdecodeinfo[1].gfxlayout); + decodechar(machine->gfx[1],i,(UINT8*)&charram[0]); } DRAW_MAP(map1ram,0) diff --git a/src/mame/drivers/ace.c b/src/mame/drivers/ace.c index 09243a0d34c..86fe58d1ff1 100644 --- a/src/mame/drivers/ace.c +++ b/src/mame/drivers/ace.c @@ -63,13 +63,13 @@ static VIDEO_UPDATE( ace ) { int offs; - decodechar(machine->gfx[1], 0, ace_characterram, machine->drv->gfxdecodeinfo[1].gfxlayout); - decodechar(machine->gfx[2], 0, ace_characterram, machine->drv->gfxdecodeinfo[2].gfxlayout); - decodechar(machine->gfx[3], 0, ace_characterram, machine->drv->gfxdecodeinfo[3].gfxlayout); + decodechar(machine->gfx[1], 0, ace_characterram); + decodechar(machine->gfx[2], 0, ace_characterram); + decodechar(machine->gfx[3], 0, ace_characterram); for (offs = 0; offs < 8; offs++) { - decodechar(machine->gfx[4], offs, ace_scoreram, machine->drv->gfxdecodeinfo[4].gfxlayout); + decodechar(machine->gfx[4], offs, ace_scoreram); } /* first of all, fill the screen with the background color */ diff --git a/src/mame/drivers/cps3.c b/src/mame/drivers/cps3.c index afddb79f52d..ae409482c1b 100644 --- a/src/mame/drivers/cps3.c +++ b/src/mame/drivers/cps3.c @@ -859,7 +859,7 @@ static void decode_ssram(void) { if (cps3_ss_ram_dirty[i]) { - decodechar(Machine->gfx[0], i, (UINT8*)cps3_ss_ram, &cps3_tiles8x8_layout); + decodechar(Machine->gfx[0], i, (UINT8*)cps3_ss_ram); cps3_ss_ram_dirty[i] = 0; } } @@ -879,7 +879,7 @@ static void decode_charram(void) { if (cps3_char_ram_dirty[i]) { - decodechar(Machine->gfx[1], i, (UINT8*)cps3_char_ram, &cps3_tiles16x16_layout); + decodechar(Machine->gfx[1], i, (UINT8*)cps3_char_ram); cps3_char_ram_dirty[i] = 0; } } @@ -1019,7 +1019,7 @@ static void cps3_draw_tilemapsprite_line(int tmnum, int drawline, mame_bitmap *b if (cps3_char_ram_dirty[tileno]) { - decodechar(Machine->gfx[1], tileno, (UINT8*)cps3_char_ram, &cps3_tiles16x16_layout); + decodechar(Machine->gfx[1], tileno, (UINT8*)cps3_char_ram); cps3_char_ram_dirty[tileno] = 0; } cps3_drawgfxzoom(bitmap, Machine->gfx[1],tileno,colour,xflip,yflip,(x*16)-scrollx%16,drawline-tilesubline,&clip,CPS3_TRANSPARENCY_PEN_INDEX,0, 0x10000, 0x10000, NULL, 0); @@ -1269,7 +1269,7 @@ static VIDEO_UPDATE(cps3) if (cps3_char_ram_dirty[realtileno]) { - decodechar(machine->gfx[1], realtileno, (UINT8*)cps3_char_ram, &cps3_tiles16x16_layout); + decodechar(machine->gfx[1], realtileno, (UINT8*)cps3_char_ram); cps3_char_ram_dirty[realtileno] = 0; } @@ -1348,7 +1348,7 @@ static VIDEO_UPDATE(cps3) if (cps3_ss_ram_dirty[tile]) { - decodechar(machine->gfx[0], tile, (UINT8*)cps3_ss_ram, &cps3_tiles8x8_layout); + decodechar(machine->gfx[0], tile, (UINT8*)cps3_ss_ram); cps3_ss_ram_dirty[tile] = 0; } diff --git a/src/mame/drivers/f1gp.c b/src/mame/drivers/f1gp.c index 830ddaab5eb..073ca6d7c16 100644 --- a/src/mame/drivers/f1gp.c +++ b/src/mame/drivers/f1gp.c @@ -502,6 +502,24 @@ static const gfx_layout tilelayout = 64*16 }; +static const gfx_layout tilelayout2 = +{ + 16,16, + 0x800, + 4, + { 0, 1, 2, 3 }, +#ifdef LSB_FIRST + { 2*4, 3*4, 0*4, 1*4, 6*4, 7*4, 4*4, 5*4, + 10*4, 11*4, 8*4, 9*4, 14*4, 15*4, 12*4, 13*4 }, +#else + { 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4, + 8*4, 9*4, 10*4, 11*4, 12*4, 13*4, 14*4, 15*4 }, +#endif + { 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64, + 8*64, 9*64, 10*64, 11*64, 12*64, 13*64, 14*64, 15*64 }, + 64*16 +}; + static const gfx_layout spritelayout = { 16,16, @@ -519,7 +537,7 @@ static GFXDECODE_START( f1gp ) GFXDECODE_ENTRY( REGION_GFX1, 0, charlayout, 0x000, 1 ) GFXDECODE_ENTRY( REGION_GFX2, 0, spritelayout, 0x100, 16 ) GFXDECODE_ENTRY( REGION_GFX3, 0, spritelayout, 0x200, 16 ) - GFXDECODE_ENTRY( REGION_GFX4, 0, tilelayout, 0x300, 16 ) /* changed at runtime */ + GFXDECODE_ENTRY( REGION_GFX4, 0, tilelayout2, 0x300, 16 ) GFXDECODE_END static GFXDECODE_START( f1gp2 ) diff --git a/src/mame/drivers/hornet.c b/src/mame/drivers/hornet.c index 8f53173edb3..c1d84881008 100644 --- a/src/mame/drivers/hornet.c +++ b/src/mame/drivers/hornet.c @@ -360,7 +360,7 @@ static void K037122_tile_update(running_machine *machine, int chip) if (K037122_dirty_map[chip][i]) { K037122_dirty_map[chip][i] = 0; - decodechar(machine->gfx[K037122_gfx_index[chip]], i, (UINT8 *)K037122_char_ram[chip], &K037122_char_layout); + decodechar(machine->gfx[K037122_gfx_index[chip]], i, (UINT8 *)K037122_char_ram[chip]); } } tilemap_mark_all_tiles_dirty(K037122_layer[chip][0]); diff --git a/src/mame/drivers/madalien.c b/src/mame/drivers/madalien.c index f7581183796..6444e13b903 100644 --- a/src/mame/drivers/madalien.c +++ b/src/mame/drivers/madalien.c @@ -248,8 +248,7 @@ static VIDEO_UPDATE( madalien ) for (i = 0; i < 256; i++) { - decodechar(machine->gfx[0], i, madalien_charram, - machine->drv->gfxdecodeinfo[0].gfxlayout); + decodechar(machine->gfx[0], i, madalien_charram); } tilemap_mark_all_tiles_dirty(tilemap_fg); diff --git a/src/mame/drivers/mastboy.c b/src/mame/drivers/mastboy.c index 43421e313db..5b3a475239f 100644 --- a/src/mame/drivers/mastboy.c +++ b/src/mame/drivers/mastboy.c @@ -562,7 +562,7 @@ static WRITE8_HANDLER( banked_ram_w ) mastboy_vram[offs] = data^0xff; /* Decode the new tile */ - decodechar(Machine->gfx[0], offs/32, mastboy_vram, Machine->drv->gfxdecodeinfo[0].gfxlayout); + decodechar(Machine->gfx[0], offs/32, mastboy_vram); } } else diff --git a/src/mame/drivers/mlanding.c b/src/mame/drivers/mlanding.c index 6f5cc5e95ad..c22e9b05484 100644 --- a/src/mame/drivers/mlanding.c +++ b/src/mame/drivers/mlanding.c @@ -37,7 +37,7 @@ static void updateChars(running_machine *machine) if(dirtychar[i]) { dirtychar[i]=0; - decodechar(machine->gfx[0], i,(UINT8 *) ml_tileram, machine->drv->gfxdecodeinfo[0].gfxlayout); + decodechar(machine->gfx[0], i,(UINT8 *) ml_tileram); } } } diff --git a/src/mame/drivers/mogura.c b/src/mame/drivers/mogura.c index 968f997add8..d3054ecf2fe 100644 --- a/src/mame/drivers/mogura.c +++ b/src/mame/drivers/mogura.c @@ -114,7 +114,7 @@ static WRITE8_HANDLER ( mogura_gfxram_w ) { mogura_gfxram[offset] = data ; - decodechar(Machine->gfx[0], offset/16, mogura_gfxram, Machine->drv->gfxdecodeinfo[0].gfxlayout); + decodechar(Machine->gfx[0], offset/16, mogura_gfxram); tilemap_mark_all_tiles_dirty(mogura_tilemap); } diff --git a/src/mame/drivers/mpu4drvr.c b/src/mame/drivers/mpu4drvr.c index b6ec553be22..e580eef6945 100644 --- a/src/mame/drivers/mpu4drvr.c +++ b/src/mame/drivers/mpu4drvr.c @@ -446,10 +446,10 @@ VIDEO_UPDATE( mpu4_vid ) { if (mpu4_vid_vidram_is_dirty[i]==1) { - decodechar(machine->gfx[mpu4_gfx_index+0], i, (UINT8 *)mpu4_vid_vidram, &mpu4_vid_char_8x8_layout); - decodechar(machine->gfx[mpu4_gfx_index+1], i, (UINT8 *)mpu4_vid_vidram, &mpu4_vid_char_8x16_layout); - decodechar(machine->gfx[mpu4_gfx_index+2], i, (UINT8 *)mpu4_vid_vidram, &mpu4_vid_char_16x8_layout); - decodechar(machine->gfx[mpu4_gfx_index+3], i, (UINT8 *)mpu4_vid_vidram, &mpu4_vid_char_16x16_layout); + decodechar(machine->gfx[mpu4_gfx_index+0], i, (UINT8 *)mpu4_vid_vidram); + decodechar(machine->gfx[mpu4_gfx_index+1], i, (UINT8 *)mpu4_vid_vidram); + decodechar(machine->gfx[mpu4_gfx_index+2], i, (UINT8 *)mpu4_vid_vidram); + decodechar(machine->gfx[mpu4_gfx_index+3], i, (UINT8 *)mpu4_vid_vidram); mpu4_vid_vidram_is_dirty[i]=0; } } diff --git a/src/mame/drivers/namcoic.c b/src/mame/drivers/namcoic.c index a5af7c46702..93d28c1a20b 100644 --- a/src/mame/drivers/namcoic.c +++ b/src/mame/drivers/namcoic.c @@ -1589,8 +1589,7 @@ UpdateRoad(running_machine *machine) decodechar( machine->gfx[mRoadGfxBank], i, - 0x10000+(UINT8 *)mpRoadRAM, - &RoadTileLayout ); + 0x10000+(UINT8 *)mpRoadRAM); mpRoadDirty[i] = 0; } } diff --git a/src/mame/drivers/namcos23.c b/src/mame/drivers/namcos23.c index 5591cc13646..19d0461ecdd 100644 --- a/src/mame/drivers/namcos23.c +++ b/src/mame/drivers/namcos23.c @@ -523,13 +523,11 @@ static VIDEO_UPDATE( ss23 ) return 0; } -static const gfx_layout namcos23_cg_layout; - static WRITE32_HANDLER( s23_txtchar_w ) { COMBINE_DATA(&namcos23_charram[offset] ); - decodechar( Machine->gfx[0],offset/32,(UINT8 *)namcos23_charram,&namcos23_cg_layout ); + decodechar( Machine->gfx[0],offset/32,(UINT8 *)namcos23_charram ); tilemap_mark_all_tiles_dirty(bgtilemap); } diff --git a/src/mame/drivers/nwk-tr.c b/src/mame/drivers/nwk-tr.c index fca61e280e0..5f5db479396 100644 --- a/src/mame/drivers/nwk-tr.c +++ b/src/mame/drivers/nwk-tr.c @@ -302,8 +302,7 @@ void K001604_tile_update(running_machine *machine, int chip) if(K001604_dirty_map[chip][0][i]) { K001604_dirty_map[chip][0][i] = 0; - decodechar(machine->gfx[K001604_gfx_index[chip][0]], i, - (UINT8*)&K001604_char_ram[chip][0], &K001604_char_layout_layer_8x8); + decodechar(machine->gfx[K001604_gfx_index[chip][0]], i, (UINT8*)&K001604_char_ram[chip][0]); } } tilemap_mark_all_tiles_dirty(K001604_layer_8x8[chip][0]); @@ -324,8 +323,7 @@ void K001604_tile_update(running_machine *machine, int chip) if(K001604_dirty_map[chip][1][i]) { K001604_dirty_map[chip][1][i] = 0; - decodechar(machine->gfx[K001604_gfx_index[chip][1]], i, - (UINT8*)&K001604_char_ram[chip][0], &K001604_char_layout_layer_16x16); + decodechar(machine->gfx[K001604_gfx_index[chip][1]], i, (UINT8*)&K001604_char_ram[chip][0]); } } diff --git a/src/mame/drivers/srmp6.c b/src/mame/drivers/srmp6.c index fc978bdae77..1354f132a69 100644 --- a/src/mame/drivers/srmp6.c +++ b/src/mame/drivers/srmp6.c @@ -152,7 +152,7 @@ static void srmp6_decode_charram(void) int i; for (i=0;i<(0x100000*16)/0x40;i++) { - decodechar(Machine->gfx[0], i, (UINT8*)tileram, &tiles8x8_layout); + decodechar(Machine->gfx[0], i, (UINT8*)tileram); dirty_tileram[i] = 0; } } @@ -272,7 +272,7 @@ static VIDEO_UPDATE(srmp6) if (dirty_tileram[tileno]) { - decodechar(machine->gfx[0], tileno, (UINT8*)tileram, &tiles8x8_layout); + decodechar(machine->gfx[0], tileno, (UINT8*)tileram); dirty_tileram[tileno] = 0; } diff --git a/src/mame/drivers/taito_l.c b/src/mame/drivers/taito_l.c index d7c3d058419..8de81397147 100644 --- a/src/mame/drivers/taito_l.c +++ b/src/mame/drivers/taito_l.c @@ -155,10 +155,8 @@ static void machine_init(running_machine *machine) for(i=0;i<512;i++) { - decodechar(machine->gfx[2], i, taitol_rambanks, - machine->drv->gfxdecodeinfo[2].gfxlayout); - decodechar(machine->gfx[2], i+512, taitol_rambanks + 0x4000, - machine->drv->gfxdecodeinfo[2].gfxlayout); + decodechar(machine->gfx[2], i, taitol_rambanks); + decodechar(machine->gfx[2], i+512, taitol_rambanks + 0x4000); } } diff --git a/src/mame/drivers/trvmadns.c b/src/mame/drivers/trvmadns.c index e0b35afc738..a1c918bb703 100644 --- a/src/mame/drivers/trvmadns.c +++ b/src/mame/drivers/trvmadns.c @@ -141,7 +141,7 @@ static WRITE8_HANDLER( trvmadns_banking_w ) static WRITE8_HANDLER( trvmadns_gfxram_w ) { trvmadns_gfxram[offset] = data; - decodechar(Machine->gfx[0], offset/16, trvmadns_gfxram, Machine->drv->gfxdecodeinfo[0].gfxlayout); + decodechar(Machine->gfx[0], offset/16, trvmadns_gfxram); tilemap_mark_all_tiles_dirty(bg_tilemap); } diff --git a/src/mame/video/20pacgal.c b/src/mame/video/20pacgal.c index ff2a8b4377b..276e58a9ad6 100644 --- a/src/mame/video/20pacgal.c +++ b/src/mame/video/20pacgal.c @@ -88,7 +88,7 @@ WRITE8_HANDLER( pacgal_charram_w ) { pacgal_charram[offset] = data; - decodechar(Machine->gfx[0],offset/16,pacgal_charram,Machine->drv->gfxdecodeinfo[0].gfxlayout); + decodechar(Machine->gfx[0],offset/16,pacgal_charram); } WRITE8_HANDLER( pacgal_sprram_w ) @@ -96,7 +96,7 @@ WRITE8_HANDLER( pacgal_sprram_w ) offset = (offset & 0x1f83) | ((offset & 0x078) >> 1) | ((offset & 0x004) << 4); pacgal_sprram[offset] = data; - decodechar(Machine->gfx[1],offset/64,pacgal_sprram,Machine->drv->gfxdecodeinfo[1].gfxlayout); + decodechar(Machine->gfx[1],offset/64,pacgal_sprram); } diff --git a/src/mame/video/battlera.c b/src/mame/video/battlera.c index 99d3f132d4d..a17638300b7 100644 --- a/src/mame/video/battlera.c +++ b/src/mame/video/battlera.c @@ -313,12 +313,12 @@ static void screenrefresh(running_machine *machine, mame_bitmap *bitmap,const re /* Dynamically decode chars if dirty */ for (code = 0x0000;code < 0x1000;code++) if (tile_dirty[code]) - decodechar(machine->gfx[0],code,HuC6270_vram,machine->drv->gfxdecodeinfo[0].gfxlayout); + decodechar(machine->gfx[0],code,HuC6270_vram); /* Dynamically decode sprites if dirty */ for (code = 0x0000;code < 0x400;code++) if (sprite_dirty[code]) - decodechar(machine->gfx[1],code,HuC6270_vram,machine->drv->gfxdecodeinfo[1].gfxlayout); + decodechar(machine->gfx[1],code,HuC6270_vram); /* NB: If first 0x1000 byte is always tilemap, no need to decode the first batch of tiles/sprites */ diff --git a/src/mame/video/btime.c b/src/mame/video/btime.c index 2cbd0d9f6b7..e7e36327b62 100644 --- a/src/mame/video/btime.c +++ b/src/mame/video/btime.c @@ -453,7 +453,7 @@ static void decode_modified(running_machine *machine, UINT8 *sprite_ram, int int if (char_dirty[code]) { - decodechar(machine->gfx[0],code,deco_charram,machine->drv->gfxdecodeinfo[0].gfxlayout); + decodechar(machine->gfx[0],code,deco_charram); char_dirty[code] = 0; } @@ -468,7 +468,7 @@ static void decode_modified(running_machine *machine, UINT8 *sprite_ram, int int if (sprite_dirty[code]) { - decodechar(machine->gfx[1],code,deco_charram,machine->drv->gfxdecodeinfo[1].gfxlayout); + decodechar(machine->gfx[1],code,deco_charram); sprite_dirty[code] = 0; } diff --git a/src/mame/video/buggychl.c b/src/mame/video/buggychl.c index 4b93edd304d..99a42c9a145 100644 --- a/src/mame/video/buggychl.c +++ b/src/mame/video/buggychl.c @@ -259,7 +259,7 @@ VIDEO_UPDATE( buggychl ) for (code = 0;code < 256;code++) { if (dirtychar[code]) - decodechar(machine->gfx[0],code,buggychl_character_ram,machine->drv->gfxdecodeinfo[0].gfxlayout); + decodechar(machine->gfx[0],code,buggychl_character_ram); } if (bg_on) diff --git a/src/mame/video/bwing.c b/src/mame/video/bwing.c index 10e7bd52828..9b50086c27a 100644 --- a/src/mame/video/bwing.c +++ b/src/mame/video/bwing.c @@ -108,10 +108,10 @@ WRITE8_HANDLER( bwing_scrollreg_w ) if (bp_ready == 7 && !srbank) { src = srbase[1]; - for (i=0; igfx[4] = allocgfx(&empty_layout8x8); - decodechar(machine->gfx[4], 0, (UINT8 *)empty_tile, &empty_layout8x8); + decodechar(machine->gfx[4], 0, (UINT8 *)empty_tile); machine->gfx[4]->total_colors = 0x100; } diff --git a/src/mame/video/cvs.c b/src/mame/video/cvs.c index 7ee3eb8fe64..1b1c504852d 100644 --- a/src/mame/video/cvs.c +++ b/src/mame/video/cvs.c @@ -233,13 +233,11 @@ VIDEO_UPDATE( cvs ) /* ROM based tiles first */ for (code = 0; code < ram_based_char_start_indecies[character_banking_mode]; code++) - decodechar(machine->gfx[0], code, memory_region(REGION_GFX1), - machine->drv->gfxdecodeinfo[0].gfxlayout); + decodechar(machine->gfx[0], code, memory_region(REGION_GFX1)); /* now the RAM based ones */ for (; code < 0x100; code++) - decodechar(machine->gfx[0], code, cvs_character_ram, - machine->drv->gfxdecodeinfo[0].gfxlayout); + decodechar(machine->gfx[0], code, cvs_character_ram); /* draw the background */ diff --git a/src/mame/video/decocass.c b/src/mame/video/decocass.c index 04329dd08b3..72fa56ebe5d 100644 --- a/src/mame/video/decocass.c +++ b/src/mame/video/decocass.c @@ -519,7 +519,7 @@ static void decode_modified(running_machine* machine, UINT8 *sprite_ram, int int switch (char_dirty[code]) { case 1: - decodechar(machine->gfx[0],code,decocass_charram,machine->drv->gfxdecodeinfo[0].gfxlayout); + decodechar(machine->gfx[0],code,decocass_charram); char_dirty[code] = 2; /* fall through */ case 2: @@ -546,7 +546,7 @@ static void decode_modified(running_machine* machine, UINT8 *sprite_ram, int int { sprite_dirty[code] = 0; - decodechar(machine->gfx[1],code,decocass_charram,machine->drv->gfxdecodeinfo[1].gfxlayout); + decodechar(machine->gfx[1],code,decocass_charram); } } @@ -559,7 +559,7 @@ static void decode_modified(running_machine* machine, UINT8 *sprite_ram, int int { tile_dirty[code] = 0; - decodechar(machine->gfx[2],code,decocass_tileram,machine->drv->gfxdecodeinfo[2].gfxlayout); + decodechar(machine->gfx[2],code,decocass_tileram); /* mark all visible tiles dirty */ for (i = offs; i < decocass_bgvideoram_size; i++) @@ -571,8 +571,8 @@ static void decode_modified(running_machine* machine, UINT8 *sprite_ram, int int /* decode object if it is dirty */ if (object_dirty) { - decodechar(machine->gfx[3], 0, decocass_objectram, machine->drv->gfxdecodeinfo[3].gfxlayout); - decodechar(machine->gfx[3], 1, decocass_objectram, machine->drv->gfxdecodeinfo[3].gfxlayout); + decodechar(machine->gfx[3], 0, decocass_objectram); + decodechar(machine->gfx[3], 1, decocass_objectram); object_dirty = 0; } } diff --git a/src/mame/video/f1gp.c b/src/mame/video/f1gp.c index fbee23d2261..853691ef74a 100644 --- a/src/mame/video/f1gp.c +++ b/src/mame/video/f1gp.c @@ -330,25 +330,6 @@ static void f1gpb_draw_sprites(running_machine *machine, mame_bitmap *bitmap,con VIDEO_UPDATE( f1gp ) { - static const gfx_layout tilelayout = - { - 16,16, - TOTAL_CHARS, - 4, - { 0, 1, 2, 3 }, -#ifdef LSB_FIRST - { 2*4, 3*4, 0*4, 1*4, 6*4, 7*4, 4*4, 5*4, - 10*4, 11*4, 8*4, 9*4, 14*4, 15*4, 12*4, 13*4 }, -#else - { 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4, - 8*4, 9*4, 10*4, 11*4, 12*4, 13*4, 14*4, 15*4 }, -#endif - { 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64, - 8*64, 9*64, 10*64, 11*64, 12*64, 13*64, 14*64, 15*64 }, - 64*16, - }; - - if (dirtygfx) { int i; @@ -360,7 +341,7 @@ VIDEO_UPDATE( f1gp ) if (dirtychar[i]) { dirtychar[i] = 0; - decodechar(machine->gfx[3],i,(UINT8 *)zoomdata,&tilelayout); + decodechar(machine->gfx[3],i,(UINT8 *)zoomdata); } } @@ -394,25 +375,6 @@ VIDEO_UPDATE( f1gpb ) UINT32 startx,starty; int incxx,incxy,incyx,incyy; - static const gfx_layout tilelayout = - { - 16,16, - TOTAL_CHARS, - 4, - { 0, 1, 2, 3 }, -#ifdef LSB_FIRST - { 2*4, 3*4, 0*4, 1*4, 6*4, 7*4, 4*4, 5*4, - 10*4, 11*4, 8*4, 9*4, 14*4, 15*4, 12*4, 13*4 }, -#else - { 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4, - 8*4, 9*4, 10*4, 11*4, 12*4, 13*4, 14*4, 15*4 }, -#endif - { 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64, - 8*64, 9*64, 10*64, 11*64, 12*64, 13*64, 14*64, 15*64 }, - 64*16, - }; - - if (dirtygfx) { int i; @@ -424,7 +386,7 @@ VIDEO_UPDATE( f1gpb ) if (dirtychar[i]) { dirtychar[i] = 0; - decodechar(machine->gfx[3],i,(UINT8 *)zoomdata,&tilelayout); + decodechar(machine->gfx[3],i,(UINT8 *)zoomdata); } } diff --git a/src/mame/video/gottlieb.c b/src/mame/video/gottlieb.c index 7282707de33..501ea4ef7e5 100644 --- a/src/mame/video/gottlieb.c +++ b/src/mame/video/gottlieb.c @@ -141,8 +141,7 @@ WRITE8_HANDLER( gottlieb_charram_w ) { gottlieb_charram[offset] = data; - decodechar(Machine->gfx[0], offset / 32, gottlieb_charram, - Machine->drv->gfxdecodeinfo[0].gfxlayout); + decodechar(Machine->gfx[0], offset / 32, gottlieb_charram); tilemap_mark_all_tiles_dirty(bg_tilemap); } diff --git a/src/mame/video/gradius3.c b/src/mame/video/gradius3.c index 14b75ecfc1f..203e3354d14 100644 --- a/src/mame/video/gradius3.c +++ b/src/mame/video/gradius3.c @@ -63,26 +63,13 @@ static void gradius3_sprite_callback(int *code,int *color,int *priority_mask,int VIDEO_START( gradius3 ) { int i; - static const gfx_layout spritelayout = - { - 16,16, - TOTAL_SPRITES, - 4, - { 0, 1, 2, 3 }, - { 2*4, 3*4, 0*4, 1*4, 6*4, 7*4, 4*4, 5*4, - 32*8+2*4, 32*8+3*4, 32*8+0*4, 32*8+1*4, 32*8+6*4, 32*8+7*4, 32*8+4*4, 32*8+5*4 }, - { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32, - 64*8+0*32, 64*8+1*32, 64*8+2*32, 64*8+3*32, 64*8+4*32, 64*8+5*32, 64*8+6*32, 64*8+7*32 }, - 128*8 - }; - layer_colorbase[0] = 0; layer_colorbase[1] = 32; layer_colorbase[2] = 48; sprite_colorbase = 16; - K052109_vh_start(machine,REGION_GFX1,NORMAL_PLANE_ORDER,gradius3_tile_callback); - K051960_vh_start(machine,REGION_GFX2,REVERSE_PLANE_ORDER,gradius3_sprite_callback); + K052109_vh_start(machine,REGION_GFX1,GRADIUS3_PLANE_ORDER,gradius3_tile_callback); + K051960_vh_start(machine,REGION_GFX2,GRADIUS3_PLANE_ORDER,gradius3_sprite_callback); K052109_set_layer_offsets(2, -2, 0); K051960_set_sprite_offsets(2, 0); @@ -90,7 +77,7 @@ VIDEO_START( gradius3 ) /* re-decode the sprites because the ROMs are connected to the custom IC differently from how they are connected to the CPU. */ for (i = 0;i < TOTAL_SPRITES;i++) - decodechar(machine->gfx[1],i,memory_region(REGION_GFX2),&spritelayout); + decodechar(machine->gfx[1],i,memory_region(REGION_GFX2)); dirtychar = auto_malloc(TOTAL_CHARS); memset(dirtychar,1,TOTAL_CHARS); @@ -132,21 +119,6 @@ WRITE16_HANDLER( gradius3_gfxram_w ) VIDEO_UPDATE( gradius3 ) { - static const gfx_layout charlayout = - { - 8,8, - TOTAL_CHARS, - 4, - { 0, 1, 2, 3 }, -#ifdef LSB_FIRST - { 2*4, 3*4, 0*4, 1*4, 6*4, 7*4, 4*4, 5*4 }, -#else - { 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4 }, -#endif - { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 }, - 32*8 - }; - /* TODO: this kludge enforces the char banks. For some reason, they don't work otherwise. */ K052109_w(0x1d80,0x10); K052109_w(0x1f00,0x32); @@ -162,7 +134,7 @@ VIDEO_UPDATE( gradius3 ) if (dirtychar[i]) { dirtychar[i] = 0; - decodechar(machine->gfx[0],i,(UINT8 *)gradius3_gfxram,&charlayout); + decodechar(machine->gfx[0],i,(UINT8 *)gradius3_gfxram); } } diff --git a/src/mame/video/konamiic.c b/src/mame/video/konamiic.c index 4b274bce264..836ae154aae 100644 --- a/src/mame/video/konamiic.c +++ b/src/mame/video/konamiic.c @@ -1990,6 +1990,20 @@ void K052109_vh_start(running_machine *machine,int gfx_memory_region,int plane_o { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 }, 32*8 }; + static const gfx_layout charlayout_gradius3 = + { + 8,8, + 0, + 4, + { 0, 1, 2, 3 }, +#ifdef LSB_FIRST + { 2*4, 3*4, 0*4, 1*4, 6*4, 7*4, 4*4, 5*4 }, +#else + { 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4 }, +#endif + { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32 }, + 32*8 + }; /* find first empty slot to decode gfx */ @@ -2006,6 +2020,11 @@ void K052109_vh_start(running_machine *machine,int gfx_memory_region,int plane_o decode_gfx(machine, gfx_index, memory_region(gfx_memory_region), total, &charlayout, 4); break; + case GRADIUS3_PLANE_ORDER: + total = 0x1000; + decode_gfx(machine, gfx_index, memory_region(gfx_memory_region), total, &charlayout_gradius3, 4); + break; + default: fatalerror("Unsupported plane_order"); } @@ -2475,6 +2494,18 @@ void K051960_vh_start(running_machine *machine,int gfx_memory_region,int plane_o 16*32, 17*32, 18*32, 19*32, 20*32, 21*32, 22*32, 23*32 }, 128*8 }; + static const gfx_layout spritelayout_gradius3 = + { + 16,16, + 0, + 4, + { 0, 1, 2, 3 }, + { 2*4, 3*4, 0*4, 1*4, 6*4, 7*4, 4*4, 5*4, + 32*8+2*4, 32*8+3*4, 32*8+0*4, 32*8+1*4, 32*8+6*4, 32*8+7*4, 32*8+4*4, 32*8+5*4 }, + { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32, + 64*8+0*32, 64*8+1*32, 64*8+2*32, 64*8+3*32, 64*8+4*32, 64*8+5*32, 64*8+6*32, 64*8+7*32 }, + 128*8 + }; /* find first empty slot to decode gfx */ for (gfx_index = 0; gfx_index < MAX_GFX_ELEMENTS; gfx_index++) @@ -2496,6 +2527,11 @@ void K051960_vh_start(running_machine *machine,int gfx_memory_region,int plane_o decode_gfx(machine, gfx_index, memory_region(gfx_memory_region), total, &spritelayout_reverse, 4); break; + case GRADIUS3_PLANE_ORDER: + total = 0x4000; + decode_gfx(machine, gfx_index, memory_region(gfx_memory_region), total, &spritelayout_gradius3, 4); + break; + default: fatalerror("Unknown plane_order"); } @@ -4597,6 +4633,23 @@ static void K051316_vh_start(running_machine *machine,int chip, int gfx_memory_r 8*128, 9*128, 10*128, 11*128, 12*128, 13*128, 14*128, 15*128 }, 256*8 }; + static const gfx_layout charlayout_tail2nos = + { + 16,16, + 0, + 4, + { 0, 1, 2, 3 }, +#ifdef LSB_FIRST + { 2*4, 3*4, 0*4, 1*4, 6*4, 7*4, 4*4, 5*4, + 10*4, 11*4, 8*4, 9*4, 14*4, 15*4, 12*4, 13*4 }, +#else + { 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4, + 8*4, 9*4, 10*4, 11*4, 12*4, 13*4, 14*4, 15*4 }, +#endif + { 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64, + 8*64, 9*64, 10*64, 11*64, 12*64, 13*64, 14*64, 15*64 }, + 128*8 + }; static const tile_get_info_callback get_tile_info[3] = { K051316_get_tile_info0,K051316_get_tile_info1,K051316_get_tile_info2 }; /* find first empty slot to decode gfx */ @@ -4608,6 +4661,12 @@ static void K051316_vh_start(running_machine *machine,int chip, int gfx_memory_r /* decode the graphics */ switch (bpp) { + case -4: + total = 0x400; + bpp = 4; + decode_gfx(machine, gfx_index, memory_region(gfx_memory_region), total, &charlayout_tail2nos, 4); + break; + case 4: total = memory_region_length(gfx_memory_region) / 128; decode_gfx(machine, gfx_index, memory_region(gfx_memory_region), total, &charlayout4, 4); diff --git a/src/mame/video/konamiic.h b/src/mame/video/konamiic.h index 3805c4284b0..865a7a1380f 100644 --- a/src/mame/video/konamiic.h +++ b/src/mame/video/konamiic.h @@ -46,6 +46,7 @@ permutations which may be required). */ #define NORMAL_PLANE_ORDER 0x0123 #define REVERSE_PLANE_ORDER 0x3210 +#define GRADIUS3_PLANE_ORDER 0x1111 /* diff --git a/src/mame/video/lemmings.c b/src/mame/video/lemmings.c index 10886630fe7..7e34ad90423 100644 --- a/src/mame/video/lemmings.c +++ b/src/mame/video/lemmings.c @@ -171,7 +171,7 @@ VIDEO_UPDATE( lemmings ) /* Decode any characters that have changed in vram */ for (i=0; i<2048; i++) { if (vram_dirty[i]) { - decodechar(machine->gfx[2],i,vram_buffer,machine->drv->gfxdecodeinfo[2].gfxlayout); + decodechar(machine->gfx[2],i,vram_buffer); tilemap_mark_tile_dirty(vram_tilemap,i); vram_dirty[i]=0; } diff --git a/src/mame/video/namcona1.c b/src/mame/video/namcona1.c index 86e28b83132..66cca49f864 100644 --- a/src/mame/video/namcona1.c +++ b/src/mame/video/namcona1.c @@ -207,8 +207,8 @@ static void update_gfx(running_machine *machine) if( dirtychar[i] ) { dirtychar[i] = 0; - decodechar(machine->gfx[0],i,(UINT8 *)cgram,&cg_layout); - decodechar(machine->gfx[1],i,(UINT8 *)shaperam,&shape_layout); + decodechar(machine->gfx[0],i,(UINT8 *)cgram); + decodechar(machine->gfx[1],i,(UINT8 *)shaperam); } } dirtygfx = 0; diff --git a/src/mame/video/namcos22.c b/src/mame/video/namcos22.c index 90e467addec..270c2ebc820 100644 --- a/src/mame/video/namcos22.c +++ b/src/mame/video/namcos22.c @@ -1571,7 +1571,7 @@ static void DrawCharacterLayer(running_machine *machine, mame_bitmap *bitmap, co { if( cgdirty[i] ) { - decodechar( machine->gfx[GFX_CHAR],i,(UINT8 *)namcos22_cgram,&namcos22_cg_layout ); + decodechar( machine->gfx[GFX_CHAR],i,(UINT8 *)namcos22_cgram ); cgdirty[i] = 0; } } diff --git a/src/mame/video/nemesis.c b/src/mame/video/nemesis.c index 5e8ad3a365d..8b0b684d468 100644 --- a/src/mame/video/nemesis.c +++ b/src/mame/video/nemesis.c @@ -237,8 +237,7 @@ VIDEO_START( nemesis ) blank_characterdata = auto_malloc(32*8/8*(2048+1)); memset(blank_characterdata,0x00,32*8/8*(2048+1)); - decodechar(machine->gfx[0],0x800,(UINT8 *)blank_characterdata, - machine->drv->gfxdecodeinfo[0].gfxlayout); + decodechar(machine->gfx[0],0x800,(UINT8 *)blank_characterdata); flipscreen = 0; tilemap_flip = 0; @@ -341,8 +340,7 @@ static void update_gfx(running_machine *machine) { if (sprite_dirty[4][offs]) { - decodechar(machine->gfx[0],offs,(UINT8 *)nemesis_characterram, - machine->drv->gfxdecodeinfo[0].gfxlayout); + decodechar(machine->gfx[0],offs,(UINT8 *)nemesis_characterram); bAnyDirty = 1; sprite_dirty[4][offs] = 0; } @@ -376,8 +374,7 @@ static void update_gfx(running_machine *machine) char_type = sprite_data[idx].char_type; if (sprite_dirty[idx][code] == 1) { - decodechar(machine->gfx[char_type],code,(UINT8 *)nemesis_characterram, - machine->drv->gfxdecodeinfo[char_type].gfxlayout); + decodechar(machine->gfx[char_type],code,(UINT8 *)nemesis_characterram); sprite_dirty[idx][code] = 0; } } diff --git a/src/mame/video/polyplay.c b/src/mame/video/polyplay.c index 7a85b46793e..c5fed0aa086 100644 --- a/src/mame/video/polyplay.c +++ b/src/mame/video/polyplay.c @@ -57,7 +57,7 @@ VIDEO_UPDATE( polyplay ) if (dirtycharacter[code]) { - decodechar(machine->gfx[1], code & 0x7f, polyplay_characterram, machine->drv->gfxdecodeinfo[1].gfxlayout); + decodechar(machine->gfx[1], code & 0x7f, polyplay_characterram); dirtycharacter[code] = 0; } diff --git a/src/mame/video/ppu2c0x.c b/src/mame/video/ppu2c0x.c index 618005383a3..365a5f5ac34 100644 --- a/src/mame/video/ppu2c0x.c +++ b/src/mame/video/ppu2c0x.c @@ -895,7 +895,7 @@ logerror("vlbank starting\n"); { if ( dirtyarray[i] ) { - decodechar( gfx, i, vram, &ppu_charlayout); + decodechar( gfx, i, vram ); dirtyarray[i] = 0; } } diff --git a/src/mame/video/redalert.c b/src/mame/video/redalert.c index 3b1cd86cdf8..90e47d7af5e 100644 --- a/src/mame/video/redalert.c +++ b/src/mame/video/redalert.c @@ -184,8 +184,7 @@ VIDEO_UPDATE( redalert ) /* decode modified background */ if (redalert_dirtyback[offs] == 1) { - decodechar(machine->gfx[0],offs,redalert_backram, - machine->drv->gfxdecodeinfo[0].gfxlayout); + decodechar(machine->gfx[0],offs,redalert_backram); redalert_dirtyback[offs] = 2; } @@ -193,18 +192,15 @@ VIDEO_UPDATE( redalert ) if (redalert_dirtycharacter[charcode] == 1) { if (charcode < 0x80) - decodechar(machine->gfx[1],charcode,redalert_characterram, - machine->drv->gfxdecodeinfo[1].gfxlayout); + decodechar(machine->gfx[1],charcode,redalert_characterram); else - decodechar(machine->gfx[2],charcode-0x80,redalert_spriteram1, - machine->drv->gfxdecodeinfo[2].gfxlayout); + decodechar(machine->gfx[2],charcode-0x80,redalert_spriteram1); redalert_dirtycharacter[charcode] = 2; } if (redalert_dirtycharacter2[charcode] == 1) { - decodechar(machine->gfx[3],charcode-0x80,redalert_spriteram3, - machine->drv->gfxdecodeinfo[3].gfxlayout); + decodechar(machine->gfx[3],charcode-0x80,redalert_spriteram3); redalert_dirtycharacter2[charcode] = 2; } diff --git a/src/mame/video/rockola.c b/src/mame/video/rockola.c index 1f34917b6a9..fb07854e84c 100644 --- a/src/mame/video/rockola.c +++ b/src/mame/video/rockola.c @@ -168,8 +168,7 @@ static TILE_GET_INFO( get_fg_tile_info ) int code = rockola_videoram2[tile_index]; int color = colorram[tile_index] & 0x07; - decodechar(machine->gfx[0], code, rockola_charram, - machine->drv->gfxdecodeinfo[0].gfxlayout); + decodechar(machine->gfx[0], code, rockola_charram); SET_TILE_INFO(0, code, color, 0); } @@ -292,8 +291,7 @@ static TILE_GET_INFO( satansat_get_fg_tile_info ) int code = rockola_videoram2[tile_index]; int color = colorram[tile_index] & 0x03; - decodechar(machine->gfx[0], code, rockola_charram, - machine->drv->gfxdecodeinfo[0].gfxlayout); + decodechar(machine->gfx[0], code, rockola_charram); SET_TILE_INFO(0, code, color, 0); } diff --git a/src/mame/video/segag80r.c b/src/mame/video/segag80r.c index 5cfb5e401e7..9b1e0223525 100644 --- a/src/mame/video/segag80r.c +++ b/src/mame/video/segag80r.c @@ -661,7 +661,7 @@ static void draw_videoram(running_machine *machine, mame_bitmap *bitmap, const r /* if the tile is dirty, decode it */ if (dirtychar[tile]) { - decodechar(machine->gfx[0], tile, &videoram[0x800], machine->drv->gfxdecodeinfo[0].gfxlayout); + decodechar(machine->gfx[0], tile, &videoram[0x800]); dirtychar[tile] = 0; } diff --git a/src/mame/video/segaic24.c b/src/mame/video/segaic24.c index b0790cdc178..5355be8a774 100644 --- a/src/mame/video/segaic24.c +++ b/src/mame/video/segaic24.c @@ -182,7 +182,7 @@ void sys24_tile_update(running_machine *machine) for(i=0; igfx[sys24_char_gfx_index], i, (UINT8 *)sys24_char_ram, &sys24_char_layout); + decodechar(machine->gfx[sys24_char_gfx_index], i, (UINT8 *)sys24_char_ram); } } tilemap_mark_all_tiles_dirty(sys24_tile_layer[0]); diff --git a/src/mame/video/skychut.c b/src/mame/video/skychut.c index ee4570b50a2..2a187c1b213 100644 --- a/src/mame/video/skychut.c +++ b/src/mame/video/skychut.c @@ -73,7 +73,7 @@ WRITE8_HANDLER( iremm15_chargen_w ) { state->chargen[offset] = data; /* not very effective ... dirty would be better */ - decodechar(Machine->gfx[0],offset >> 3,state->chargen, &Machine->gfx[0]->layout); + decodechar(Machine->gfx[0],offset >> 3,state->chargen); } } diff --git a/src/mame/video/ssv.c b/src/mame/video/ssv.c index f50c87828c7..c6cbb126ffc 100644 --- a/src/mame/video/ssv.c +++ b/src/mame/video/ssv.c @@ -930,8 +930,8 @@ VIDEO_UPDATE( eaglshot ) { eaglshot_dirty_tile[tile] = 0; - decodechar(machine->gfx[0], tile, (UINT8 *)eaglshot_gfxram, machine->drv->gfxdecodeinfo[0].gfxlayout); - decodechar(machine->gfx[1], tile, (UINT8 *)eaglshot_gfxram, machine->drv->gfxdecodeinfo[1].gfxlayout); + decodechar(machine->gfx[0], tile, (UINT8 *)eaglshot_gfxram); + decodechar(machine->gfx[1], tile, (UINT8 *)eaglshot_gfxram); } } } @@ -1120,7 +1120,7 @@ VIDEO_UPDATE( gdfs ) { eaglshot_dirty_tile[tile] = 0; - decodechar(machine->gfx[2], tile, (UINT8 *)eaglshot_gfxram, machine->drv->gfxdecodeinfo[2].gfxlayout); + decodechar(machine->gfx[2], tile, (UINT8 *)eaglshot_gfxram); } } } diff --git a/src/mame/video/st0016.c b/src/mame/video/st0016.c index ec93155a2b1..1ef6c085639 100644 --- a/src/mame/video/st0016.c +++ b/src/mame/video/st0016.c @@ -116,7 +116,7 @@ READ8_HANDLER(st0016_character_ram_r) WRITE8_HANDLER(st0016_character_ram_w) { st0016_charram[ST0016_CHAR_BANK_SIZE*st0016_char_bank+offset]=data; - decodechar(Machine->gfx[st0016_ramgfx], st0016_char_bank,(UINT8 *) st0016_charram, &charlayout); + decodechar(Machine->gfx[st0016_ramgfx], st0016_char_bank,(UINT8 *) st0016_charram); } READ8_HANDLER(st0016_vregs_r) @@ -422,7 +422,7 @@ static void st0016_postload(void) int i; st0016_rom_bank_w(0,st0016_rom_bank); for(i=0;igfx[st0016_ramgfx], i,(UINT8 *) st0016_charram, &charlayout); + decodechar(Machine->gfx[st0016_ramgfx], i,(UINT8 *) st0016_charram); } diff --git a/src/mame/video/stactics.c b/src/mame/video/stactics.c index 8b8d85e7592..7a47df4c389 100644 --- a/src/mame/video/stactics.c +++ b/src/mame/video/stactics.c @@ -282,8 +282,7 @@ VIDEO_START( stactics ) { decodechar(machine->gfx[4], i, - firechar, - machine->drv->gfxdecodeinfo[4].gfxlayout); + firechar); } /* Decode the Fire Beam ROM for later */ @@ -312,8 +311,7 @@ VIDEO_START( stactics ) { decodechar(machine->gfx[5], i, - stactics_special_chars, - machine->drv->gfxdecodeinfo[5].gfxlayout); + stactics_special_chars); } stactics_vblank_count = 0; @@ -517,8 +515,7 @@ VIDEO_UPDATE( stactics ) { decodechar(machine->gfx[3], char_number, - stactics_chardata_d, - machine->drv->gfxdecodeinfo[3].gfxlayout); + stactics_chardata_d); dirty_chardata_d[char_number] = 2; dirty_videoram_d[offs] = 1; } @@ -546,8 +543,7 @@ VIDEO_UPDATE( stactics ) { decodechar(machine->gfx[2], char_number, - stactics_chardata_e, - machine->drv->gfxdecodeinfo[2].gfxlayout); + stactics_chardata_e); dirty_chardata_e[char_number] = 2; dirty_videoram_e[offs] = 1; } @@ -575,8 +571,7 @@ VIDEO_UPDATE( stactics ) { decodechar(machine->gfx[1], char_number, - stactics_chardata_f, - machine->drv->gfxdecodeinfo[1].gfxlayout); + stactics_chardata_f); dirty_chardata_f[char_number] = 2; dirty_videoram_f[offs] = 1; } @@ -604,8 +599,7 @@ VIDEO_UPDATE( stactics ) { decodechar(machine->gfx[0], char_number, - stactics_chardata_b, - machine->drv->gfxdecodeinfo[0].gfxlayout); + stactics_chardata_b); dirty_chardata_b[char_number] = 2; dirty_videoram_b[offs] = 1; } diff --git a/src/mame/video/stvvdp2.c b/src/mame/video/stvvdp2.c index 2135ca2bd50..d792bc7aa0f 100644 --- a/src/mame/video/stvvdp2.c +++ b/src/mame/video/stvvdp2.c @@ -3640,14 +3640,14 @@ static void stv_vdp2_draw_basic_tilemap(running_machine *machine, mame_bitmap *b tilecode &=0x3fff; if (stv2_current_tilemap.tile_size==1) { /* we're treating 16x16 tiles as 4 8x8's atm */ - if (stv_vdp2_vram_dirty_8x8x8[tilecode] == 1) { stv_vdp2_vram_dirty_8x8x8[tilecode] = 0; decodechar(machine->gfx[2], tilecode, stv_vdp2_gfx_decode + gfx_mem_offset, machine->drv->gfxdecodeinfo[2].gfxlayout); }; - if (stv_vdp2_vram_dirty_8x8x8[tilecode+1] == 1) { stv_vdp2_vram_dirty_8x8x8[tilecode+1] = 0; decodechar(machine->gfx[2], tilecode+1, stv_vdp2_gfx_decode + gfx_mem_offset, machine->drv->gfxdecodeinfo[2].gfxlayout); }; - if (stv_vdp2_vram_dirty_8x8x8[tilecode+2] == 1) { stv_vdp2_vram_dirty_8x8x8[tilecode+2] = 0; decodechar(machine->gfx[2], tilecode+2, stv_vdp2_gfx_decode + gfx_mem_offset, machine->drv->gfxdecodeinfo[2].gfxlayout); }; - if (stv_vdp2_vram_dirty_8x8x8[tilecode+3] == 1) { stv_vdp2_vram_dirty_8x8x8[tilecode+3] = 0; decodechar(machine->gfx[2], tilecode+3, stv_vdp2_gfx_decode + gfx_mem_offset, machine->drv->gfxdecodeinfo[2].gfxlayout); }; + if (stv_vdp2_vram_dirty_8x8x8[tilecode] == 1) { stv_vdp2_vram_dirty_8x8x8[tilecode] = 0; decodechar(machine->gfx[2], tilecode, stv_vdp2_gfx_decode + gfx_mem_offset); }; + if (stv_vdp2_vram_dirty_8x8x8[tilecode+1] == 1) { stv_vdp2_vram_dirty_8x8x8[tilecode+1] = 0; decodechar(machine->gfx[2], tilecode+1, stv_vdp2_gfx_decode + gfx_mem_offset); }; + if (stv_vdp2_vram_dirty_8x8x8[tilecode+2] == 1) { stv_vdp2_vram_dirty_8x8x8[tilecode+2] = 0; decodechar(machine->gfx[2], tilecode+2, stv_vdp2_gfx_decode + gfx_mem_offset); }; + if (stv_vdp2_vram_dirty_8x8x8[tilecode+3] == 1) { stv_vdp2_vram_dirty_8x8x8[tilecode+3] = 0; decodechar(machine->gfx[2], tilecode+3, stv_vdp2_gfx_decode + gfx_mem_offset); }; } else { - if (stv_vdp2_vram_dirty_8x8x8[tilecode] == 1) { stv_vdp2_vram_dirty_8x8x8[tilecode] = 0; decodechar(machine->gfx[2], tilecode, stv_vdp2_gfx_decode + gfx_mem_offset, machine->drv->gfxdecodeinfo[2].gfxlayout); }; + if (stv_vdp2_vram_dirty_8x8x8[tilecode] == 1) { stv_vdp2_vram_dirty_8x8x8[tilecode] = 0; decodechar(machine->gfx[2], tilecode, stv_vdp2_gfx_decode + gfx_mem_offset); }; } } @@ -3659,14 +3659,14 @@ static void stv_vdp2_draw_basic_tilemap(running_machine *machine, mame_bitmap *b tilecode &=0x7fff; if (stv2_current_tilemap.tile_size==1) { /* we're treating 16x16 tiles as 4 8x8's atm */ - if (stv_vdp2_vram_dirty_8x8x4[tilecode] == 1) { stv_vdp2_vram_dirty_8x8x4[tilecode] = 0; decodechar(machine->gfx[0], tilecode, stv_vdp2_gfx_decode, machine->drv->gfxdecodeinfo[0].gfxlayout); }; - if (stv_vdp2_vram_dirty_8x8x4[tilecode+1] == 1) { stv_vdp2_vram_dirty_8x8x4[tilecode+1] = 0; decodechar(machine->gfx[0], tilecode+1, stv_vdp2_gfx_decode, machine->drv->gfxdecodeinfo[0].gfxlayout); }; - if (stv_vdp2_vram_dirty_8x8x4[tilecode+2] == 1) { stv_vdp2_vram_dirty_8x8x4[tilecode+2] = 0; decodechar(machine->gfx[0], tilecode+2, stv_vdp2_gfx_decode, machine->drv->gfxdecodeinfo[0].gfxlayout); }; - if (stv_vdp2_vram_dirty_8x8x4[tilecode+3] == 1) { stv_vdp2_vram_dirty_8x8x4[tilecode+3] = 0; decodechar(machine->gfx[0], tilecode+3, stv_vdp2_gfx_decode, machine->drv->gfxdecodeinfo[0].gfxlayout); }; + if (stv_vdp2_vram_dirty_8x8x4[tilecode] == 1) { stv_vdp2_vram_dirty_8x8x4[tilecode] = 0; decodechar(machine->gfx[0], tilecode, stv_vdp2_gfx_decode); }; + if (stv_vdp2_vram_dirty_8x8x4[tilecode+1] == 1) { stv_vdp2_vram_dirty_8x8x4[tilecode+1] = 0; decodechar(machine->gfx[0], tilecode+1, stv_vdp2_gfx_decode); }; + if (stv_vdp2_vram_dirty_8x8x4[tilecode+2] == 1) { stv_vdp2_vram_dirty_8x8x4[tilecode+2] = 0; decodechar(machine->gfx[0], tilecode+2, stv_vdp2_gfx_decode); }; + if (stv_vdp2_vram_dirty_8x8x4[tilecode+3] == 1) { stv_vdp2_vram_dirty_8x8x4[tilecode+3] = 0; decodechar(machine->gfx[0], tilecode+3, stv_vdp2_gfx_decode); }; } else { - if (stv_vdp2_vram_dirty_8x8x4[tilecode] == 1) { stv_vdp2_vram_dirty_8x8x4[tilecode] = 0; decodechar(machine->gfx[0], tilecode, stv_vdp2_gfx_decode, machine->drv->gfxdecodeinfo[0].gfxlayout); }; + if (stv_vdp2_vram_dirty_8x8x4[tilecode] == 1) { stv_vdp2_vram_dirty_8x8x4[tilecode] = 0; decodechar(machine->gfx[0], tilecode, stv_vdp2_gfx_decode); }; } } /* TILES ARE NOW DECODED */ diff --git a/src/mame/video/suprnova.c b/src/mame/video/suprnova.c index 6f05978bc10..f653b6dee18 100644 --- a/src/mame/video/suprnova.c +++ b/src/mame/video/suprnova.c @@ -898,7 +898,7 @@ VIDEO_UPDATE(skns) { if (skns_v3t_dirty[i] == 1) { - decodechar(machine->gfx[1], i, (UINT8*)btiles, machine->drv->gfxdecodeinfo[0].gfxlayout); + decodechar(machine->gfx[1], i, (UINT8*)btiles); skns_v3t_dirty[i] = 0; } @@ -924,7 +924,7 @@ VIDEO_UPDATE(skns) { if (skns_v3t_4bppdirty[i] == 1) { - decodechar(machine->gfx[3], i, (UINT8*)btiles, machine->drv->gfxdecodeinfo[3].gfxlayout); + decodechar(machine->gfx[3], i, (UINT8*)btiles); skns_v3t_4bppdirty[i] = 0; } diff --git a/src/mame/video/tail2nos.c b/src/mame/video/tail2nos.c index 261659890de..c6406f8335f 100644 --- a/src/mame/video/tail2nos.c +++ b/src/mame/video/tail2nos.c @@ -54,7 +54,7 @@ VIDEO_START( tail2nos ) { bg_tilemap = tilemap_create(get_tile_info,tilemap_scan_rows,TILEMAP_TYPE_PEN,8,8,64,32); - K051316_vh_start_0(machine,REGION_GFX3,4,TRUE,0,zoom_callback); + K051316_vh_start_0(machine,REGION_GFX3,-4,TRUE,0,zoom_callback); dirtychar = auto_malloc(TOTAL_CHARS); memset(dirtychar,1,TOTAL_CHARS); @@ -164,25 +164,6 @@ static void draw_sprites(running_machine *machine, mame_bitmap *bitmap,const rec VIDEO_UPDATE( tail2nos ) { - static const gfx_layout tilelayout = - { - 16,16, - TOTAL_CHARS, - 4, - { 0, 1, 2, 3 }, -#ifdef LSB_FIRST - { 2*4, 3*4, 0*4, 1*4, 6*4, 7*4, 4*4, 5*4, - 10*4, 11*4, 8*4, 9*4, 14*4, 15*4, 12*4, 13*4 }, -#else - { 0*4, 1*4, 2*4, 3*4, 4*4, 5*4, 6*4, 7*4, - 8*4, 9*4, 10*4, 11*4, 12*4, 13*4, 14*4, 15*4 }, -#endif - { 0*64, 1*64, 2*64, 3*64, 4*64, 5*64, 6*64, 7*64, - 8*64, 9*64, 10*64, 11*64, 12*64, 13*64, 14*64, 15*64 }, - 128*8 - }; - - if (dirtygfx) { int i; @@ -194,7 +175,7 @@ VIDEO_UPDATE( tail2nos ) if (dirtychar[i]) { dirtychar[i] = 0; - decodechar(machine->gfx[2],i,(UINT8 *)zoomdata,&tilelayout); + decodechar(machine->gfx[2],i,(UINT8 *)zoomdata); } } diff --git a/src/mame/video/taito_f3.c b/src/mame/video/taito_f3.c index b82411d3b9b..b778cb3fc55 100644 --- a/src/mame/video/taito_f3.c +++ b/src/mame/video/taito_f3.c @@ -3246,7 +3246,7 @@ VIDEO_UPDATE( f3 ) if (vram_changed) for (tile = 0;tile < 256;tile++) if (vram_dirty[tile]) { - decodechar(machine->gfx[0],tile,(UINT8 *)f3_vram,machine->drv->gfxdecodeinfo[0].gfxlayout); + decodechar(machine->gfx[0],tile,(UINT8 *)f3_vram); tilemap_mark_all_tiles_dirty(vram_layer); // TODO //tilemap_mark_tile_dirty(vram_layer,tile); vram_dirty[tile]=0; @@ -3256,7 +3256,7 @@ VIDEO_UPDATE( f3 ) if (pivot_changed) for (tile = 0;tile < 2048;tile++) if (pivot_dirty[tile]) { - decodechar(machine->gfx[3],tile,(UINT8 *)f3_pivot_ram,machine->drv->gfxdecodeinfo[3].gfxlayout); + decodechar(machine->gfx[3],tile,(UINT8 *)f3_pivot_ram); tilemap_mark_tile_dirty(pixel_layer,tile); pivot_dirty[tile]=0; } diff --git a/src/mame/video/taito_l.c b/src/mame/video/taito_l.c index cd2c0378b9d..8b2771a73d4 100644 --- a/src/mame/video/taito_l.c +++ b/src/mame/video/taito_l.c @@ -159,57 +159,49 @@ READ8_HANDLER( taitol_control_r ) void taitol_chardef14_m(int offset) { - decodechar(Machine->gfx[2], offset/32, taitol_rambanks, - Machine->drv->gfxdecodeinfo[2].gfxlayout); + decodechar(Machine->gfx[2], offset/32, taitol_rambanks); tilemap_mark_all_tiles_dirty(ch1a_tilemap); } void taitol_chardef15_m(int offset) { - decodechar(Machine->gfx[2], offset/32+128, taitol_rambanks, - Machine->drv->gfxdecodeinfo[2].gfxlayout); + decodechar(Machine->gfx[2], offset/32+128, taitol_rambanks); tilemap_mark_all_tiles_dirty(ch1a_tilemap); } void taitol_chardef16_m(int offset) { - decodechar(Machine->gfx[2], offset/32+256, taitol_rambanks, - Machine->drv->gfxdecodeinfo[2].gfxlayout); + decodechar(Machine->gfx[2], offset/32+256, taitol_rambanks); tilemap_mark_all_tiles_dirty(ch1a_tilemap); } void taitol_chardef17_m(int offset) { - decodechar(Machine->gfx[2], offset/32+384, taitol_rambanks, - Machine->drv->gfxdecodeinfo[2].gfxlayout); + decodechar(Machine->gfx[2], offset/32+384, taitol_rambanks); tilemap_mark_all_tiles_dirty(ch1a_tilemap); } void taitol_chardef1c_m(int offset) { - decodechar(Machine->gfx[2], offset/32+512, taitol_rambanks + 0x4000, - Machine->drv->gfxdecodeinfo[2].gfxlayout); + decodechar(Machine->gfx[2], offset/32+512, taitol_rambanks + 0x4000); tilemap_mark_all_tiles_dirty(ch1a_tilemap); } void taitol_chardef1d_m(int offset) { - decodechar(Machine->gfx[2], offset/32+640, taitol_rambanks + 0x4000, - Machine->drv->gfxdecodeinfo[2].gfxlayout); + decodechar(Machine->gfx[2], offset/32+640, taitol_rambanks + 0x4000); tilemap_mark_all_tiles_dirty(ch1a_tilemap); } void taitol_chardef1e_m(int offset) { - decodechar(Machine->gfx[2], offset/32+768, taitol_rambanks + 0x4000, - Machine->drv->gfxdecodeinfo[2].gfxlayout); + decodechar(Machine->gfx[2], offset/32+768, taitol_rambanks + 0x4000); tilemap_mark_all_tiles_dirty(ch1a_tilemap); } void taitol_chardef1f_m(int offset) { - decodechar(Machine->gfx[2], offset/32+896, taitol_rambanks + 0x4000, - Machine->drv->gfxdecodeinfo[2].gfxlayout); + decodechar(Machine->gfx[2], offset/32+896, taitol_rambanks + 0x4000); tilemap_mark_all_tiles_dirty(ch1a_tilemap); } diff --git a/src/mame/video/taitoic.c b/src/mame/video/taitoic.c index 70dfcbbddfa..ffe39ee9e0c 100644 --- a/src/mame/video/taitoic.c +++ b/src/mame/video/taitoic.c @@ -1749,7 +1749,7 @@ void TC0080VCO_tilemap_update(running_machine *machine) { if (TC0080VCO_char_dirty[j]) decodechar(machine->gfx[TC0080VCO_tx_gfx],j, - (UINT8 *)TC0080VCO_char_ram,&TC0080VCO_charlayout); + (UINT8 *)TC0080VCO_char_ram); TC0080VCO_char_dirty[j] = 0; } TC0080VCO_chars_dirty = 0; @@ -2677,7 +2677,7 @@ void TC0100SCN_tilemap_update(running_machine *machine) { if (TC0100SCN_char_dirty[chip][j]) decodechar(machine->gfx[TC0100SCN_tx_gfx[chip]],j, - (UINT8 *)TC0100SCN_char_ram[chip],&TC0100SCN_charlayout); + (UINT8 *)TC0100SCN_char_ram[chip]); TC0100SCN_char_dirty[chip][j] = 0; } TC0100SCN_chars_dirty[chip] = 0; @@ -3545,7 +3545,7 @@ void TC0480SCP_tilemap_update(running_machine *machine) { if (TC0480SCP_char_dirty[j]) decodechar(machine->gfx[TC0480SCP_tx_gfx],j, - (UINT8 *)TC0480SCP_char_ram,&TC0480SCP_charlayout); + (UINT8 *)TC0480SCP_char_ram); TC0480SCP_char_dirty[j] = 0; } TC0480SCP_chars_dirty = 0; diff --git a/src/mame/video/taitojc.c b/src/mame/video/taitojc.c index 5a3808fa2d2..305d4d7457d 100644 --- a/src/mame/video/taitojc.c +++ b/src/mame/video/taitojc.c @@ -61,7 +61,7 @@ static void taitojc_tile_update(running_machine *machine) if (taitojc_dirty_map[i]) { taitojc_dirty_map[i] = 0; - decodechar(Machine->gfx[taitojc_gfx_index], i, (UINT8 *)taitojc_char_ram, &taitojc_char_layout); + decodechar(Machine->gfx[taitojc_gfx_index], i, (UINT8 *)taitojc_char_ram); } } tilemap_mark_all_tiles_dirty(taitojc_tilemap); diff --git a/src/mame/video/taitosj.c b/src/mame/video/taitosj.c index 5a520b5484e..4d69c1b1a5f 100644 --- a/src/mame/video/taitosj.c +++ b/src/mame/video/taitosj.c @@ -813,13 +813,13 @@ VIDEO_UPDATE( taitosj ) { if (dirtycharacter1[offs] == 1) { - decodechar(machine->gfx[0],offs,taitosj_characterram,machine->drv->gfxdecodeinfo[0].gfxlayout); + decodechar(machine->gfx[0],offs,taitosj_characterram); dirtycharacter1[offs] = 0; alldirty = 1; } if (dirtycharacter2[offs] == 1) { - decodechar(machine->gfx[2],offs,taitosj_characterram + 0x1800,machine->drv->gfxdecodeinfo[2].gfxlayout); + decodechar(machine->gfx[2],offs,taitosj_characterram + 0x1800); dirtycharacter2[offs] = 0; alldirty = 1; } @@ -838,12 +838,12 @@ VIDEO_UPDATE( taitosj ) { if (dirtysprite1[offs] == 1) { - decodechar(machine->gfx[1],offs,taitosj_characterram,machine->drv->gfxdecodeinfo[1].gfxlayout); + decodechar(machine->gfx[1],offs,taitosj_characterram); dirtysprite1[offs] = 0; } if (dirtysprite2[offs] == 1) { - decodechar(machine->gfx[3],offs,taitosj_characterram + 0x1800,machine->drv->gfxdecodeinfo[3].gfxlayout); + decodechar(machine->gfx[3],offs,taitosj_characterram + 0x1800); dirtysprite2[offs] = 0; } } diff --git a/src/mame/video/tatsumi.c b/src/mame/video/tatsumi.c index 1c118d6afad..ab6ba6de968 100644 --- a/src/mame/video/tatsumi.c +++ b/src/mame/video/tatsumi.c @@ -51,8 +51,7 @@ WRITE16_HANDLER(roundup5_vram_w) offset=offset%0xc000; - decodechar(Machine->gfx[1],offset/0x10,(UINT8 *)roundup5_vram, - Machine->drv->gfxdecodeinfo[1].gfxlayout); + decodechar(Machine->gfx[1],offset/0x10,(UINT8 *)roundup5_vram); } diff --git a/src/mame/video/tiamc1.c b/src/mame/video/tiamc1.c index 1acf462fd15..e5da43484e9 100644 --- a/src/mame/video/tiamc1.c +++ b/src/mame/video/tiamc1.c @@ -123,8 +123,7 @@ static TILE_GET_INFO( get_bg1_tile_info ) { int code = tiamc1_tileram[tile_index]; - decodechar(machine->gfx[0], code, tiamc1_charram, - machine->drv->gfxdecodeinfo[0].gfxlayout); + decodechar(machine->gfx[0], code, tiamc1_charram); SET_TILE_INFO(0, code, 0, 0); } @@ -133,8 +132,7 @@ static TILE_GET_INFO( get_bg2_tile_info ) { int code = tiamc1_tileram[tile_index + 1024]; - decodechar(machine->gfx[0], code, tiamc1_charram, - machine->drv->gfxdecodeinfo[0].gfxlayout); + decodechar(machine->gfx[0], code, tiamc1_charram); SET_TILE_INFO(0, code, 0, 0); } diff --git a/src/mame/video/toaplan2.c b/src/mame/video/toaplan2.c index d8d77ac1407..c016ba6ece0 100644 --- a/src/mame/video/toaplan2.c +++ b/src/mame/video/toaplan2.c @@ -655,8 +655,7 @@ WRITE16_HANDLER( toaplan2_tx_gfxram16_w ) { int code = offset/32; COMBINE_DATA(&toaplan2_tx_gfxram16[offset]); - decodechar(Machine->gfx[2], code, toaplan2_tx_gfxram, - Machine->drv->gfxdecodeinfo[2].gfxlayout); + decodechar(Machine->gfx[2], code, toaplan2_tx_gfxram); tilemap_mark_all_tiles_dirty(tx_tilemap); } @@ -699,7 +698,7 @@ WRITE16_HANDLER( batrider_textdata_decode ) /* Decode text characters */ for (code = 0; code < 1024; code++) - decodechar (Machine->gfx[2], code, raizing_tx_gfxram, Machine->drv->gfxdecodeinfo[2].gfxlayout); + decodechar (Machine->gfx[2], code, raizing_tx_gfxram); tilemap_mark_all_tiles_dirty(tx_tilemap); } diff --git a/src/mame/video/tryout.c b/src/mame/video/tryout.c index 315d5447079..d67328f271b 100644 --- a/src/mame/video/tryout.c +++ b/src/mame/video/tryout.c @@ -140,7 +140,7 @@ WRITE8_HANDLER( tryout_vram_w ) break; } - decodechar(Machine->gfx[2],(offset-0x400/64)&0x7f,tryout_vram_gfx,Machine->drv->gfxdecodeinfo[2].gfxlayout); + decodechar(Machine->gfx[2],(offset-0x400/64)&0x7f,tryout_vram_gfx); tilemap_mark_all_tiles_dirty(bg_tilemap); } diff --git a/src/mame/video/usgames.c b/src/mame/video/usgames.c index 5cb13ffa71c..12de56ecf57 100644 --- a/src/mame/video/usgames.c +++ b/src/mame/video/usgames.c @@ -60,7 +60,7 @@ WRITE8_HANDLER( usg_charram_w ) { usg_charram[offset] = data; - decodechar(Machine->gfx[0], offset/8, usg_charram, Machine->drv->gfxdecodeinfo[0].gfxlayout); + decodechar(Machine->gfx[0], offset/8, usg_charram); tilemap_mark_all_tiles_dirty(usg_tilemap); } diff --git a/src/mame/video/zac2650.c b/src/mame/video/zac2650.c index 6257d87e92d..c9461cb7b2e 100644 --- a/src/mame/video/zac2650.c +++ b/src/mame/video/zac2650.c @@ -167,10 +167,10 @@ static void draw_sprites(running_machine *machine, mame_bitmap *bitmap) int x,y; /* 16x8 version */ - decodechar(machine->gfx[1],spriteno,s2636_1_ram,machine->drv->gfxdecodeinfo[1].gfxlayout); + decodechar(machine->gfx[1],spriteno,s2636_1_ram); /* 16x16 version */ - decodechar(machine->gfx[2],spriteno,s2636_1_ram,machine->drv->gfxdecodeinfo[2].gfxlayout); + decodechar(machine->gfx[2],spriteno,s2636_1_ram); /* Sprite->Background collision detection */ drawgfx(bitmap,machine->gfx[expand],