/*************************************************************************** Atari Poolshark video emulation ***************************************************************************/ #include "driver.h" #include "includes/poolshrk.h" UINT8* poolshrk_playfield_ram; UINT8* poolshrk_hpos_ram; UINT8* poolshrk_vpos_ram; static tilemap* bg_tilemap; static TILE_GET_INFO( get_tile_info ) { SET_TILE_INFO(1, poolshrk_playfield_ram[tile_index] & 0x3f, 0, 0); } VIDEO_START( poolshrk ) { bg_tilemap = tilemap_create(get_tile_info, tilemap_scan_rows, TILEMAP_TYPE_PEN, 8, 8, 32, 32); tilemap_set_transparent_pen(bg_tilemap, 0); } VIDEO_UPDATE( poolshrk ) { int i; tilemap_mark_all_tiles_dirty(bg_tilemap); fillbitmap(bitmap, machine->pens[0], cliprect); /* draw sprites */ for (i = 0; i < 16; i++) { int hpos = poolshrk_hpos_ram[i]; int vpos = poolshrk_vpos_ram[i]; drawgfx(bitmap, machine->gfx[0], i, (i == 0) ? 0 : 1, 0, 0, 248 - hpos, vpos - 15, cliprect, TRANSPARENCY_PEN, 0); } /* draw playfield */ tilemap_draw(bitmap, cliprect, bg_tilemap, 0, 0); return 0; }