static WRITE8_HANDLER( pacland_flipscreen_w ) { int bit = !BIT(offset,11); /* can't use flip_screen_set(space->machine, ) because the visible area is asymmetrical */ flip_screen_set_no_update(space->machine, bit); tilemap_set_flip_all(space->machine,flip_screen_get(space->machine) ? (TILEMAP_FLIPX | TILEMAP_FLIPY) : 0); }
static SCREEN_UPDATE_IND16( backfire_right ) { backfire_state *state = screen.machine().driver_data<backfire_state>(); //FIXME: flip_screen_x should not be written! flip_screen_set_no_update(screen.machine(), 1); /* screen 1 uses pf1 as the forground and pf3 as the background */ /* screen 2 uses pf2 as the foreground and pf4 as the background */ deco16ic_pf_update(state->m_deco_tilegen1, state->m_pf1_rowscroll, state->m_pf2_rowscroll); deco16ic_pf_update(state->m_deco_tilegen2, state->m_pf3_rowscroll, state->m_pf4_rowscroll); screen.machine().priority_bitmap.fill(0); bitmap.fill(0x500, cliprect); if (state->m_right_priority[0] == 0) { deco16ic_tilemap_2_draw(state->m_deco_tilegen2, bitmap, cliprect, 0, 1); deco16ic_tilemap_2_draw(state->m_deco_tilegen1, bitmap, cliprect, 0, 2); screen.machine().device<decospr_device>("spritegen2")->draw_sprites(bitmap, cliprect, state->m_spriteram_2, 0x800); } else if (state->m_right_priority[0] == 2) { deco16ic_tilemap_2_draw(state->m_deco_tilegen1, bitmap, cliprect, 0, 2); deco16ic_tilemap_2_draw(state->m_deco_tilegen2, bitmap, cliprect, 0, 4); screen.machine().device<decospr_device>("spritegen2")->draw_sprites(bitmap, cliprect, state->m_spriteram_2, 0x800); } else popmessage( "unknown right priority %08x", state->m_right_priority[0]); return 0; }
UINT32 backfire_state::screen_update_backfire_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { //FIXME: flip_screen_x should not be written! flip_screen_set_no_update(1); /* screen 1 uses pf1 as the forground and pf3 as the background */ /* screen 2 uses pf2 as the foreground and pf4 as the background */ m_deco_tilegen1->pf_update(m_pf1_rowscroll, m_pf2_rowscroll); m_deco_tilegen2->pf_update(m_pf3_rowscroll, m_pf4_rowscroll); screen.priority().fill(0); bitmap.fill(0x500, cliprect); if (m_right_priority[0] == 0) { m_deco_tilegen2->tilemap_2_draw(screen, bitmap, cliprect, 0, 1); m_deco_tilegen1->tilemap_2_draw(screen, bitmap, cliprect, 0, 2); m_sprgen2->draw_sprites(bitmap, cliprect, m_spriteram_2.get(), 0x800); } else if (m_right_priority[0] == 2) { m_deco_tilegen1->tilemap_2_draw(screen, bitmap, cliprect, 0, 2); m_deco_tilegen2->tilemap_2_draw(screen, bitmap, cliprect, 0, 4); m_sprgen2->draw_sprites(bitmap, cliprect, m_spriteram_2.get(), 0x800); } else popmessage( "unknown right priority %08x", m_right_priority[0]); return 0; }
UINT32 backfire_state::screen_update_backfire_left(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { //FIXME: flip_screen_x should not be written! flip_screen_set_no_update(1); /* screen 1 uses pf1 as the forground and pf3 as the background */ /* screen 2 uses pf2 as the foreground and pf4 as the background */ deco16ic_pf_update(m_deco_tilegen1, m_pf1_rowscroll, m_pf2_rowscroll); deco16ic_pf_update(m_deco_tilegen2, m_pf3_rowscroll, m_pf4_rowscroll); machine().priority_bitmap.fill(0); bitmap.fill(0x100, cliprect); if (m_left_priority[0] == 0) { deco16ic_tilemap_1_draw(m_deco_tilegen2, bitmap, cliprect, 0, 1); deco16ic_tilemap_1_draw(m_deco_tilegen1, bitmap, cliprect, 0, 2); m_sprgen->draw_sprites(bitmap, cliprect, m_spriteram_1, 0x800); } else if (m_left_priority[0] == 2) { deco16ic_tilemap_1_draw(m_deco_tilegen1, bitmap, cliprect, 0, 2); deco16ic_tilemap_1_draw(m_deco_tilegen2, bitmap, cliprect, 0, 4); m_sprgen->draw_sprites(bitmap, cliprect, m_spriteram_1, 0x800); } else popmessage( "unknown left priority %08x", m_left_priority[0]); return 0; }
void zodiack_state::video_start() { m_bg_tilemap = tilemap_create(machine(), get_bg_tile_info, tilemap_scan_rows, 8, 8, 32, 32); m_fg_tilemap = tilemap_create(machine(), get_fg_tile_info, tilemap_scan_rows, 8, 8, 32, 32); tilemap_set_transparent_pen(m_fg_tilemap, 0); tilemap_set_scroll_cols(m_fg_tilemap, 32); /* FIXME: flip_screen_x should not be written. */ flip_screen_set_no_update(machine(), 0); }
static WRITE8_HANDLER( laserbat_input_mux_w ) { laserbat_state *state = space->machine().driver_data<laserbat_state>(); state->m_input_mux = (data & 0x30) >> 4; flip_screen_set_no_update(space->machine(), data & 0x08); coin_counter_w(space->machine(), 0,data & 1); //data & 0x02 ? //data & 0x04 ? }
UINT32 deco156_state::screen_update_wcvol95(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect) { //FIXME: flip_screen_x should not be written! flip_screen_set_no_update(1); screen.priority().fill(0); bitmap.fill(0); m_deco_tilegen1->pf_update(m_pf1_rowscroll, m_pf2_rowscroll); m_deco_tilegen1->tilemap_2_draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0); m_sprgen->draw_sprites(bitmap, cliprect, m_spriteram, 0x800); m_deco_tilegen1->tilemap_1_draw(screen, bitmap, cliprect, 0, 0); return 0; }