/*************************************************************************** Atari Poolshark video emulation ***************************************************************************/ #include "emu.h" #include "includes/poolshrk.h" static TILE_GET_INFO( get_tile_info ) { poolshrk_state *state = machine.driver_data(); SET_TILE_INFO(1, state->m_playfield_ram[tile_index] & 0x3f, 0, 0); } VIDEO_START( poolshrk ) { poolshrk_state *state = machine.driver_data(); state->m_bg_tilemap = tilemap_create(machine, get_tile_info, tilemap_scan_rows, 8, 8, 32, 32); tilemap_set_transparent_pen(state->m_bg_tilemap, 0); } SCREEN_UPDATE( poolshrk ) { poolshrk_state *state = screen->machine().driver_data(); int i; tilemap_mark_all_tiles_dirty(state->m_bg_tilemap); bitmap_fill(bitmap, cliprect, 0); /* draw sprites */ for (i = 0; i < 16; i++) { int hpos = state->m_hpos_ram[i]; int vpos = state->m_vpos_ram[i]; drawgfx_transpen(bitmap, cliprect, screen->machine().gfx[0], i, (i == 0) ? 0 : 1, 0, 0, 248 - hpos, vpos - 15, 0); } /* draw playfield */ tilemap_draw(bitmap, cliprect, state->m_bg_tilemap, 0, 0); return 0; }