static WRITE8_HANDLER( flipscreen_w ) { /* flip Y/X could be the other way round... */ if (offset) flip_screen_y_set(~data & 1); else flip_screen_x_set(~data & 1); }
UINT32 lkage_state::screen_update_lkage(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { int bank; flip_screen_x_set(~m_vreg[2] & 0x01); flip_screen_y_set(~m_vreg[2] & 0x02); bank = m_vreg[1] & 0x08; if (m_bg_tile_bank != bank) { m_bg_tile_bank = bank; m_bg_tilemap->mark_all_dirty(); } bank = m_vreg[0]&0x04; if (m_fg_tile_bank != bank) { m_fg_tile_bank = bank; m_fg_tilemap->mark_all_dirty(); } bank = m_vreg[0]&0x02; if (m_tx_tile_bank != bank) { m_tx_tile_bank = bank; m_tx_tilemap->mark_all_dirty(); } m_bg_tilemap->set_palette_offset(0x300 + (m_vreg[1] & 0xf0)); m_fg_tilemap->set_palette_offset(0x200 + (m_vreg[1] & 0xf0)); m_tx_tilemap->set_palette_offset(0x110); m_tx_tilemap->set_scrollx(0, m_scroll[0]); m_tx_tilemap->set_scrolly(0, m_scroll[1]); m_fg_tilemap->set_scrollx(0, m_scroll[2]); m_fg_tilemap->set_scrolly(0, m_scroll[3]); m_bg_tilemap->set_scrollx(0, m_scroll[4]); m_bg_tilemap->set_scrolly(0, m_scroll[5]); machine().priority_bitmap.fill(0, cliprect); if ((m_vreg[2] & 0xf0) == 0xf0) { m_bg_tilemap->draw(bitmap, cliprect, 0, 1); m_fg_tilemap->draw(bitmap, cliprect, 0, (m_vreg[1] & 2) ? 2 : 4); m_tx_tilemap->draw(bitmap, cliprect, 0, 4); draw_sprites(machine(), bitmap, cliprect); } else { m_tx_tilemap->draw(bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0); } return 0; }
void gottlieb_state::video_control_w(u8 data) { /* bit 0 controls foreground/background priority */ if (m_background_priority != (BIT(data, 0))) m_screen->update_partial(m_screen->vpos()); m_background_priority = BIT(data, 0); /* bit 1 controls horizontal flip screen */ flip_screen_x_set(BIT(data, 1)); /* bit 2 controls vertical flip screen */ flip_screen_y_set(BIT(data, 2)); }
static WRITE8_HANDLER(pitnrun_vflip_w) { flip_screen_y_set(space->machine(), data); }
static WRITE8_HANDLER(pitnrun_vflip_w) { flip_screen_y_set(data); }
static WRITE_HANDLER( flip_screen_y_w ) { flip_screen_y_set(data); }
void flip_screen_set(int on) { flip_screen_x_set(on); flip_screen_y_set(on); }