Beispiel #1
0
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);
}
Beispiel #2
0
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;
}
Beispiel #3
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));
}
Beispiel #4
0
static WRITE8_HANDLER(pitnrun_vflip_w)
{
	flip_screen_y_set(space->machine(), data);
}
Beispiel #5
0
static WRITE8_HANDLER(pitnrun_vflip_w)
{
	flip_screen_y_set(data);
}
Beispiel #6
0
static WRITE_HANDLER( flip_screen_y_w )
{
	flip_screen_y_set(data);
}
Beispiel #7
0
void flip_screen_set(int on)
{
	flip_screen_x_set(on);
	flip_screen_y_set(on);
}