diff --git a/src/emu/video/s2636.c b/src/emu/video/s2636.c index baff57f0a8e..1e90d6cf447 100644 --- a/src/emu/video/s2636.c +++ b/src/emu/video/s2636.c @@ -88,38 +88,9 @@ mame_bitmap *s2636_1_bitmap; mame_bitmap *s2636_2_bitmap; mame_bitmap *s2636_3_bitmap; -UINT8 s2636_1_dirty[4]; -UINT8 s2636_2_dirty[4]; -UINT8 s2636_3_dirty[4]; - int s2636_x_offset=0; int s2636_y_offset=0; -void s2636_w(UINT8 *workram,int offset,int data,UINT8 *dirty) -{ - if (workram[offset] != data) - { - workram[offset] = data; - - if(offset < 10) - dirty[0]=1; - else - { - if((offset > 15) && (offset < 26)) - dirty[1]=1; - else - { - if((offset > 31) && (offset < 42)) - dirty[2]=1; - else - { - if((offset > 63) && (offset < 74)) - dirty[3]=1; - } - } - } - } -} /*****************************************/ /* Check for Collision between 2 sprites */ @@ -218,7 +189,7 @@ static int SpriteCheck(running_machine *machine, int first,int second,UINT8 *wor return Checksum; } -void s2636_update_bitmap(running_machine *machine,mame_bitmap *bitmap,UINT8 *workram,UINT8 *dirty,int Graphics_Bank,mame_bitmap *collision_bitmap) +void s2636_update_bitmap(running_machine *machine,mame_bitmap *bitmap,UINT8 *workram,int Graphics_Bank,mame_bitmap *collision_bitmap) { int CollisionSprite = 0; int spriteno; @@ -245,11 +216,7 @@ void s2636_update_bitmap(running_machine *machine,mame_bitmap *bitmap,UINT8 *wor colour = (colour & 7) + 7; - if(dirty[spriteno]) - { - decodechar(machine->gfx[Graphics_Bank],charno,workram,machine->drv->gfxdecodeinfo[Graphics_Bank].gfxlayout); - dirty[spriteno] = 0; - } + decodechar(machine->gfx[Graphics_Bank],charno,workram,machine->drv->gfxdecodeinfo[Graphics_Bank].gfxlayout); drawgfxzoom(bitmap,machine->gfx[Graphics_Bank], charno, diff --git a/src/emu/video/s2636.h b/src/emu/video/s2636.h index a8defec0370..139ea5b9301 100644 --- a/src/emu/video/s2636.h +++ b/src/emu/video/s2636.h @@ -6,13 +6,8 @@ extern mame_bitmap *s2636_1_bitmap; extern mame_bitmap *s2636_2_bitmap; extern mame_bitmap *s2636_3_bitmap; -extern UINT8 s2636_1_dirty[4]; -extern UINT8 s2636_2_dirty[4]; -extern UINT8 s2636_3_dirty[4]; - extern int s2636_x_offset; extern int s2636_y_offset; -void s2636_w(UINT8 *workram,int offset,int data,UINT8 *dirty); -void s2636_update_bitmap(running_machine *machine,mame_bitmap *bitmap,UINT8 *workram,UINT8 *dirty,int Graphics_Bank,mame_bitmap *collision_bitmap); +void s2636_update_bitmap(running_machine *machine,mame_bitmap *bitmap,UINT8 *workram,int Graphics_Bank,mame_bitmap *collision_bitmap); diff --git a/src/mame/drivers/laserbat.c b/src/mame/drivers/laserbat.c index a9d26bf81a7..111dee77015 100644 --- a/src/mame/drivers/laserbat.c +++ b/src/mame/drivers/laserbat.c @@ -57,21 +57,6 @@ static WRITE8_HANDLER( laserbat_videoram_w ) } } -static WRITE8_HANDLER( laserbat_s2636_1_w ) -{ - s2636_w(s2636_1_ram,offset,data,s2636_1_dirty); -} - -static WRITE8_HANDLER( laserbat_s2636_2_w ) -{ - s2636_w(s2636_2_ram,offset,data,s2636_2_dirty); -} - -static WRITE8_HANDLER( laserbat_s2636_3_w ) -{ - s2636_w(s2636_3_ram,offset,data,s2636_3_dirty); -} - static WRITE8_HANDLER( video_extra_w ) { laserbat_video_page = (data & 0x10) >> 4; @@ -196,9 +181,9 @@ static ADDRESS_MAP_START( laserbat_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x7800, 0x7bff) AM_ROM AM_RANGE(0x1400, 0x14ff) AM_MIRROR(0x6000) AM_WRITENOP // always 0 (bullet ram in Quasar) - AM_RANGE(0x1500, 0x15ff) AM_MIRROR(0x6000) AM_RAM AM_WRITE(laserbat_s2636_1_w) AM_BASE(&s2636_1_ram) - AM_RANGE(0x1600, 0x16ff) AM_MIRROR(0x6000) AM_RAM AM_WRITE(laserbat_s2636_2_w) AM_BASE(&s2636_2_ram) - AM_RANGE(0x1700, 0x17ff) AM_MIRROR(0x6000) AM_RAM AM_WRITE(laserbat_s2636_3_w) AM_BASE(&s2636_3_ram) + AM_RANGE(0x1500, 0x15ff) AM_MIRROR(0x6000) AM_RAM AM_BASE(&s2636_1_ram) + AM_RANGE(0x1600, 0x16ff) AM_MIRROR(0x6000) AM_RAM AM_BASE(&s2636_2_ram) + AM_RANGE(0x1700, 0x17ff) AM_MIRROR(0x6000) AM_RAM AM_BASE(&s2636_3_ram) AM_RANGE(0x1800, 0x1bff) AM_MIRROR(0x6000) AM_WRITE(laserbat_videoram_w) AM_RANGE(0x1c00, 0x1fff) AM_MIRROR(0x6000) AM_RAM ADDRESS_MAP_END @@ -542,9 +527,9 @@ static VIDEO_UPDATE( laserbat ) { tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 0); - s2636_update_bitmap(machine,bitmap,s2636_1_ram,s2636_1_dirty,1,collision_bitmap); - s2636_update_bitmap(machine,bitmap,s2636_2_ram,s2636_2_dirty,2,collision_bitmap); - s2636_update_bitmap(machine,bitmap,s2636_3_ram,s2636_3_dirty,3,collision_bitmap); + s2636_update_bitmap(machine,bitmap,s2636_1_ram,1,collision_bitmap); + s2636_update_bitmap(machine,bitmap,s2636_2_ram,2,collision_bitmap); + s2636_update_bitmap(machine,bitmap,s2636_3_ram,3,collision_bitmap); if(sprite_info.enable) drawgfx(bitmap,machine->gfx[4], diff --git a/src/mame/drivers/malzak.c b/src/mame/drivers/malzak.c index fc46e9db8df..b1267e9773c 100644 --- a/src/mame/drivers/malzak.c +++ b/src/mame/drivers/malzak.c @@ -55,26 +55,6 @@ VIDEO_START( malzak ); VIDEO_UPDATE( malzak ); WRITE8_HANDLER( playfield_w ); -static READ8_HANDLER( malzak_s2636_1_r ) -{ - return s2636_1_ram[offset]; -} - -static READ8_HANDLER( malzak_s2636_2_r ) -{ - return s2636_2_ram[offset]; -} - -static WRITE8_HANDLER( malzak_s2636_1_w ) -{ - s2636_w(s2636_1_ram,offset,data,s2636_1_dirty); -} - -static WRITE8_HANDLER( malzak_s2636_2_w ) -{ - s2636_w(s2636_2_ram,offset,data,s2636_2_dirty); -} - static READ8_HANDLER( saa5050_r ) { @@ -144,8 +124,8 @@ static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x1200, 0x12ff) AM_READ(MRA8_RAM) AM_RANGE(0x1300, 0x13ff) AM_READ(MRA8_RAM) AM_RANGE(0x14cb, 0x14cb) AM_READ(fake_VRLE_r) - AM_RANGE(0x1400, 0x14ff) AM_READ(malzak_s2636_1_r) - AM_RANGE(0x1500, 0x15ff) AM_READ(malzak_s2636_2_r) + AM_RANGE(0x1400, 0x14ff) AM_READ(MRA8_RAM) + AM_RANGE(0x1500, 0x15ff) AM_READ(MRA8_RAM) AM_RANGE(0x1600, 0x16ff) AM_READ(MRA8_RAM) AM_RANGE(0x1700, 0x17ff) AM_READ(MRA8_RAM) AM_RANGE(0x1800, 0x1fff) AM_READ(saa5050_r) // SAA 5050 video RAM @@ -164,8 +144,8 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x1100, 0x11ff) AM_WRITE(MWA8_RAM) AM_RANGE(0x1200, 0x12ff) AM_WRITE(MWA8_RAM) AM_RANGE(0x1300, 0x13ff) AM_WRITE(MWA8_RAM) - AM_RANGE(0x1400, 0x14ff) AM_WRITE(malzak_s2636_1_w) - AM_RANGE(0x1500, 0x15ff) AM_WRITE(malzak_s2636_2_w) + AM_RANGE(0x1400, 0x14ff) AM_WRITE(MWA8_RAM) AM_BASE(&s2636_1_ram) + AM_RANGE(0x1500, 0x15ff) AM_WRITE(MWA8_RAM) AM_BASE(&s2636_2_ram) AM_RANGE(0x1600, 0x16ff) AM_WRITE(playfield_w) AM_RANGE(0x1600, 0x16ff) AM_WRITE(MWA8_RAM) AM_RANGE(0x1700, 0x17ff) AM_WRITE(MWA8_RAM) @@ -187,8 +167,8 @@ static ADDRESS_MAP_START( malzak2_readmem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x1300, 0x13ff) AM_READ(MRA8_RAM) AM_RANGE(0x14cb, 0x14cb) AM_READ(fake_VRLE_r) AM_RANGE(0x14cc, 0x14cc) AM_READ(s2636_portA_r) - AM_RANGE(0x1400, 0x14ff) AM_READ(malzak_s2636_1_r) - AM_RANGE(0x1500, 0x15ff) AM_READ(malzak_s2636_2_r) + AM_RANGE(0x1400, 0x14ff) AM_READ(MRA8_RAM) + AM_RANGE(0x1500, 0x15ff) AM_READ(MRA8_RAM) AM_RANGE(0x1600, 0x16ff) AM_READ(MRA8_RAM) AM_RANGE(0x1700, 0x17ff) AM_READ(MRA8_RAM) AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size) AM_RANGE(0x1800, 0x1fff) AM_READ(saa5050_r) // SAA 5050 video RAM @@ -207,8 +187,8 @@ static ADDRESS_MAP_START( malzak2_writemem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x1100, 0x11ff) AM_WRITE(MWA8_RAM) AM_RANGE(0x1200, 0x12ff) AM_WRITE(MWA8_RAM) AM_RANGE(0x1300, 0x13ff) AM_WRITE(MWA8_RAM) - AM_RANGE(0x1400, 0x14ff) AM_WRITE(malzak_s2636_1_w) - AM_RANGE(0x1500, 0x15ff) AM_WRITE(malzak_s2636_2_w) + AM_RANGE(0x1400, 0x14ff) AM_WRITE(MWA8_RAM) + AM_RANGE(0x1500, 0x15ff) AM_WRITE(MWA8_RAM) AM_RANGE(0x1600, 0x16ff) AM_WRITE(playfield_w) AM_RANGE(0x1600, 0x16ff) AM_WRITE(MWA8_RAM) AM_RANGE(0x1700, 0x17ff) AM_WRITE(MWA8_RAM) AM_BASE(&generic_nvram) AM_SIZE(&generic_nvram_size) diff --git a/src/mame/drivers/zac2650.c b/src/mame/drivers/zac2650.c index 3b926002042..c84a77cc5e4 100644 --- a/src/mame/drivers/zac2650.c +++ b/src/mame/drivers/zac2650.c @@ -10,19 +10,17 @@ #include "driver.h" #include "cpu/s2650/s2650.h" +#include "video/s2636.h" #include "tinv2650.lh" -extern UINT8 *zac_s2636ram; +WRITE8_HANDLER( tinvader_videoram_w ); +WRITE8_HANDLER( tinvader_sound_w ); +READ8_HANDLER( zac_s2636_r ); +READ8_HANDLER( tinvader_port_0_r ); -extern WRITE8_HANDLER( tinvader_videoram_w ); -extern WRITE8_HANDLER( zac_s2636_w ); -extern WRITE8_HANDLER( tinvader_sound_w ); -extern READ8_HANDLER( zac_s2636_r ); -extern READ8_HANDLER( tinvader_port_0_r ); - -extern VIDEO_START( tinvader ); -extern VIDEO_UPDATE( tinvader ); +VIDEO_START( tinvader ); +VIDEO_UPDATE( tinvader ); static ADDRESS_MAP_START( readmem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x17ff) AM_READ(MRA8_ROM) @@ -45,7 +43,7 @@ static ADDRESS_MAP_START( writemem, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x1d00, 0x1dff) AM_WRITE(MWA8_RAM) AM_RANGE(0x1e80, 0x1e80) AM_WRITE(tinvader_sound_w) AM_RANGE(0x1e86, 0x1e86) AM_WRITE(MWA8_NOP) /* Dodgem Only */ - AM_RANGE(0x1f00, 0x1fff) AM_WRITE(zac_s2636_w) AM_BASE(&zac_s2636ram) + AM_RANGE(0x1f00, 0x1fff) AM_WRITE(MWA8_RAM) AM_BASE(&s2636_1_ram) ADDRESS_MAP_END static ADDRESS_MAP_START( readport, ADDRESS_SPACE_IO, 8 ) diff --git a/src/mame/video/cvs.c b/src/mame/video/cvs.c index 0f28b1b47b9..f1bd03ee56e 100644 --- a/src/mame/video/cvs.c +++ b/src/mame/video/cvs.c @@ -43,7 +43,6 @@ static int character_page=0; static int scroll_reg = 0; static int stars_scroll=0; -static UINT8 *dirty_character; static UINT8 *character_1_ram; static UINT8 *character_2_ram; static UINT8 *character_3_ram; @@ -104,12 +103,10 @@ PALETTE_INIT( cvs ) } /* Initialise Dirty Character Array */ - dirty_character = auto_malloc(0x100); character_1_ram = auto_malloc(0x2000); character_2_ram = character_1_ram + 0x800; character_3_ram = character_2_ram + 0x800; - memset(dirty_character, 0, 256); memset(character_1_ram, 0, 1024); memset(character_2_ram, 0, 1024); memset(character_3_ram, 0, 1024); @@ -253,17 +250,12 @@ WRITE8_HANDLER( cvs_2636_1_w ) { // First 2636 - s2636_w(s2636_1_ram,offset,data,s2636_1_dirty); + s2636_1_ram[offset] = data; } else { // Character Ram 1 - - if(character_1_ram[character_page + offset] != data) - { - character_1_ram[character_page + offset] = data; - dirty_character[128+((character_page + offset)>>3)] = 1; - } + character_1_ram[character_page + offset] = data; } } @@ -289,17 +281,12 @@ WRITE8_HANDLER( cvs_2636_2_w ) { // Second 2636 - s2636_w(s2636_2_ram,offset,data,s2636_2_dirty); + s2636_2_ram[offset] = data; } else { // Character Ram 2 - - if(character_2_ram[character_page + offset] != data) - { - character_2_ram[character_page + offset] = data; - dirty_character[128+((character_page + offset)>>3)] = 1; - } + character_2_ram[character_page + offset] = data; } } @@ -325,17 +312,12 @@ WRITE8_HANDLER( cvs_2636_3_w ) { // Third 2636 - s2636_w(s2636_3_ram,offset,data,s2636_3_dirty); + s2636_3_ram[offset] = data; } else { // Character Ram 3 - - if(character_3_ram[character_page + offset] != data) - { - character_3_ram[character_page + offset] = data; - dirty_character[128+((character_page + offset)>>3)] = 1; - } + character_3_ram[character_page + offset] = data; } } @@ -457,14 +439,7 @@ VIDEO_UPDATE( cvs ) if(character > ModeOffset[character_mode]) { - /* re-generate character if dirty */ - - if (dirty_character[character]) - { - decodechar(machine->gfx[1],character,character_1_ram-1024,machine->drv->gfxdecodeinfo[1].gfxlayout); - - dirty_character[character] = 0; - } + decodechar(machine->gfx[1],character,character_1_ram-1024,machine->drv->gfxdecodeinfo[1].gfxlayout); character_bank=1; } @@ -514,13 +489,13 @@ VIDEO_UPDATE( cvs ) /* 2636's */ fillbitmap(s2636_1_bitmap,0,0); - s2636_update_bitmap(machine,s2636_1_bitmap,s2636_1_ram,s2636_1_dirty,2,cvs_collision_bitmap); + s2636_update_bitmap(machine,s2636_1_bitmap,s2636_1_ram,2,cvs_collision_bitmap); fillbitmap(s2636_2_bitmap,0,0); - s2636_update_bitmap(machine,s2636_2_bitmap,s2636_2_ram,s2636_2_dirty,3,cvs_collision_bitmap); + s2636_update_bitmap(machine,s2636_2_bitmap,s2636_2_ram,3,cvs_collision_bitmap); fillbitmap(s2636_3_bitmap,0,0); - s2636_update_bitmap(machine,s2636_3_bitmap,s2636_3_ram,s2636_3_dirty,4,cvs_collision_bitmap); + s2636_update_bitmap(machine,s2636_3_bitmap,s2636_3_ram,4,cvs_collision_bitmap); /* Bullet Hardware */ diff --git a/src/mame/video/malzak.c b/src/mame/video/malzak.c index 90eaeabf01b..f507a7380c0 100644 --- a/src/mame/video/malzak.c +++ b/src/mame/video/malzak.c @@ -57,8 +57,6 @@ VIDEO_START( malzak ) collision_bitmap = auto_bitmap_alloc(machine->screen[0].width,machine->screen[0].height,BITMAP_FORMAT_INDEXED8); saa5050_vidram = auto_malloc(0x800); - s2636_1_ram = auto_malloc(0x100); - s2636_2_ram = auto_malloc(0x100); } VIDEO_UPDATE( malzak ) @@ -215,8 +213,8 @@ VIDEO_UPDATE( malzak ) s2636_x_offset = -16; // s2636_y_offset = -8; - s2636_update_bitmap(machine,bitmap,s2636_1_ram,s2636_1_dirty,1,collision_bitmap); - s2636_update_bitmap(machine,bitmap,s2636_2_ram,s2636_2_dirty,2,collision_bitmap); + s2636_update_bitmap(machine,bitmap,s2636_1_ram,1,collision_bitmap); + s2636_update_bitmap(machine,bitmap,s2636_2_ram,2,collision_bitmap); return 0; } diff --git a/src/mame/video/quasar.c b/src/mame/video/quasar.c index 555340c9fc7..39147fd26b5 100644 --- a/src/mame/video/quasar.c +++ b/src/mame/video/quasar.c @@ -127,10 +127,6 @@ PALETTE_INIT( quasar ) s2636_x_offset = -26; s2636_y_offset = 3; - - memset(s2636_1_dirty,0,sizeof(s2636_1_dirty)); - memset(s2636_2_dirty,0,sizeof(s2636_2_dirty)); - memset(s2636_3_dirty,0,sizeof(s2636_3_dirty)); } VIDEO_START( quasar ) @@ -201,13 +197,13 @@ VIDEO_UPDATE( quasar ) /* 2636's */ fillbitmap(s2636_1_bitmap,0,0); - s2636_update_bitmap(machine,s2636_1_bitmap,s2636_1_ram,s2636_1_dirty,2,cvs_collision_bitmap); + s2636_update_bitmap(machine,s2636_1_bitmap,s2636_1_ram,2,cvs_collision_bitmap); fillbitmap(s2636_2_bitmap,0,0); - s2636_update_bitmap(machine,s2636_2_bitmap,s2636_2_ram,s2636_2_dirty,3,cvs_collision_bitmap); + s2636_update_bitmap(machine,s2636_2_bitmap,s2636_2_ram,3,cvs_collision_bitmap); fillbitmap(s2636_3_bitmap,0,0); - s2636_update_bitmap(machine,s2636_3_bitmap,s2636_3_ram,s2636_3_dirty,4,cvs_collision_bitmap); + s2636_update_bitmap(machine,s2636_3_bitmap,s2636_3_ram,4,cvs_collision_bitmap); /* Bullet Hardware */ diff --git a/src/mame/video/zac2650.c b/src/mame/video/zac2650.c index bd9ca2ddc5d..6257d87e92d 100644 --- a/src/mame/video/zac2650.c +++ b/src/mame/video/zac2650.c @@ -5,11 +5,10 @@ /*************************************************************/ #include "driver.h" +#include "video/s2636.h" -UINT8 *zac_s2636ram; static mame_bitmap *spritebitmap; -static UINT8 dirtychar[256>>3]; static int CollisionBackground; static int CollisionSprite; @@ -28,18 +27,9 @@ WRITE8_HANDLER( tinvader_videoram_w ) tilemap_mark_tile_dirty(bg_tilemap, offset); } -WRITE8_HANDLER( zac_s2636_w ) -{ - if (zac_s2636ram[offset] != data) - { - zac_s2636ram[offset] = data; - dirtychar[offset>>3] = 1; - } -} - READ8_HANDLER( zac_s2636_r ) { - if(offset!=0xCB) return zac_s2636ram[offset]; + if(offset!=0xCB) return s2636_1_ram[offset]; else return CollisionSprite; } @@ -57,10 +47,10 @@ static int SpriteCollision(running_machine *machine, int first,int second) int Checksum=0; int x,y; - if((zac_s2636ram[first * 0x10 + 10] < 0xf0) && (zac_s2636ram[second * 0x10 + 10] < 0xf0)) + if((s2636_1_ram[first * 0x10 + 10] < 0xf0) && (s2636_1_ram[second * 0x10 + 10] < 0xf0)) { - int fx = (zac_s2636ram[first * 0x10 + 10] * 4)-22; - int fy = (zac_s2636ram[first * 0x10 + 12] * 3)+3; + int fx = (s2636_1_ram[first * 0x10 + 10] * 4)-22; + int fy = (s2636_1_ram[first * 0x10 + 12] * 3)+3; int expand = (first==1) ? 2 : 1; /* Draw first sprite */ @@ -96,7 +86,7 @@ static int SpriteCollision(running_machine *machine, int first,int second) second * 2, 1, 0,0, - (zac_s2636ram[second * 0x10 + 10] * 4)-22,(zac_s2636ram[second * 0x10 + 12] * 3) + 3, + (s2636_1_ram[second * 0x10 + 10] * 4)-22,(s2636_1_ram[second * 0x10 + 12] * 3) + 3, 0, TRANSPARENCY_PEN, 0); /* Remove fingerprint */ @@ -168,24 +158,19 @@ static void draw_sprites(running_machine *machine, mame_bitmap *bitmap) for(offs=0;offs<0x50;offs+=0x10) { - if((zac_s2636ram[offs+10]<0xF0) && (offs!=0x30)) + if((s2636_1_ram[offs+10]<0xF0) && (offs!=0x30)) { int spriteno = (offs / 8); - int expand = ((zac_s2636ram[0xc0] & (spriteno*2))!=0) ? 2 : 1; - int bx = (zac_s2636ram[offs+10] * 4) - 22; - int by = (zac_s2636ram[offs+12] * 3) + 3; + int expand = ((s2636_1_ram[0xc0] & (spriteno*2))!=0) ? 2 : 1; + int bx = (s2636_1_ram[offs+10] * 4) - 22; + int by = (s2636_1_ram[offs+12] * 3) + 3; int x,y; - if(dirtychar[spriteno]) - { - /* 16x8 version */ - decodechar(machine->gfx[1],spriteno,zac_s2636ram,machine->drv->gfxdecodeinfo[1].gfxlayout); + /* 16x8 version */ + decodechar(machine->gfx[1],spriteno,s2636_1_ram,machine->drv->gfxdecodeinfo[1].gfxlayout); - /* 16x16 version */ - decodechar(machine->gfx[2],spriteno,zac_s2636ram,machine->drv->gfxdecodeinfo[2].gfxlayout); - - dirtychar[spriteno] = 0; - } + /* 16x16 version */ + decodechar(machine->gfx[2],spriteno,s2636_1_ram,machine->drv->gfxdecodeinfo[2].gfxlayout); /* Sprite->Background collision detection */ drawgfx(bitmap,machine->gfx[expand],