Ejemplo n.º 1
0
void crbaloon_state::pc3092_update()
{
	flip_screen_set((m_pc3092_data[1] & 0x01) ? TRUE : FALSE);
}
Ejemplo n.º 2
0
static WRITE8_HANDLER( calorie_flipscreen_w )
{
	flip_screen_set(space->machine(), data & 1);
}
Ejemplo n.º 3
0
static WRITE8_HANDLER( flip_screen_w )
{
    flip_screen_set(space->machine(), data);
}
Ejemplo n.º 4
0
static WRITE_HANDLER( flip_screen_w )
{
	flip_screen_set(data);
}
Ejemplo n.º 5
0
static WRITE8_HANDLER( bootleg_flipscreen_w )
{
	flip_screen_set(~data & 1);
}
Ejemplo n.º 6
0
static WRITE16_HANDLER( wwfsstar_flipscreen_w )
{
    flip_screen_set(space->machine(), data & 1);
}
Ejemplo n.º 7
0
void drmicro_flip_w( int flip )
{
	flipscreen = flip ? 1 : 0;
	flip_screen_set(flip);
}
Ejemplo n.º 8
0
static MACHINE_RESET( clshroad )
{
	flip_screen_set(machine, 0);
}
Ejemplo n.º 9
0
static WRITE16_HANDLER( wwfwfest_flipscreen_w )
{
	flip_screen_set(space->machine, data&1);
}
Ejemplo n.º 10
0
static void pc3092_update(running_machine &machine)
{
	crbaloon_state *state = machine.driver_data<crbaloon_state>();
	flip_screen_set(machine, (state->m_pc3092_data[1] & 0x01) ? TRUE : FALSE);
}
Ejemplo n.º 11
0
static WRITE8_HANDLER( flip )
{
    flip_screen_set(data & 1);
}
Ejemplo n.º 12
0
static WRITE8_HANDLER( mole_flipscreen_w )
{
	flip_screen_set(space->machine, data & 0x01);
}
Ejemplo n.º 13
0
static MACHINE_RESET( clshroad )
{
	flip_screen_set(0);
}
Ejemplo n.º 14
0
void psychic5_state::machine_reset()
{
	m_bank_latch = 0xff;
	flip_screen_set(0);
}
Ejemplo n.º 15
0
UINT32 fuuki16_state::screen_update_fuuki16(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
	UINT16 layer0_scrollx, layer0_scrolly;
	UINT16 layer1_scrollx, layer1_scrolly;
	UINT16 layer2_scrollx, layer2_scrolly;
	UINT16 scrollx_offs, scrolly_offs;

	/*
	It's not independent bits causing layers to switch, that wouldn't make sense with 3 bits.
	See fuukifg3 for more justification
	*/
	static const int pri_table[6][3] = {
		{ 0, 1, 2 },
		{ 0, 2, 1 },
		{ 1, 0, 2 },
		{ 1, 2, 0 },
		{ 2, 0, 1 },
		{ 2, 1, 0 }};

	int tm_front  = pri_table[m_priority[0] & 0x0f][0];
	int tm_middle = pri_table[m_priority[0] & 0x0f][1];
	int tm_back   = pri_table[m_priority[0] & 0x0f][2];

	flip_screen_set(m_vregs[0x1e / 2] & 1);

	/* Layers scrolling */

	scrolly_offs = m_vregs[0xc / 2] - (flip_screen() ? 0x103 : 0x1f3);
	scrollx_offs = m_vregs[0xe / 2] - (flip_screen() ? 0x2a7 : 0x3f6);

	layer0_scrolly = m_vregs[0x0 / 2] + scrolly_offs;
	layer0_scrollx = m_vregs[0x2 / 2] + scrollx_offs;
	layer1_scrolly = m_vregs[0x4 / 2] + scrolly_offs;
	layer1_scrollx = m_vregs[0x6 / 2] + scrollx_offs;

	layer2_scrolly = m_vregs[0x8 / 2];
	layer2_scrollx = m_vregs[0xa / 2];

	m_tilemap[0]->set_scrollx(0, layer0_scrollx);
	m_tilemap[0]->set_scrolly(0, layer0_scrolly);
	m_tilemap[1]->set_scrollx(0, layer1_scrollx);
	m_tilemap[1]->set_scrolly(0, layer1_scrolly);

	m_tilemap[2]->set_scrollx(0, layer2_scrollx + 0x10);
	m_tilemap[2]->set_scrolly(0, layer2_scrolly /*+ 0x02*/);
	m_tilemap[3]->set_scrollx(0, layer2_scrollx + 0x10);
	m_tilemap[3]->set_scrolly(0, layer2_scrolly /*+ 0x02*/);

	/* The backmost tilemap decides the background color(s) but sprites can
	   go below the opaque pixels of that tilemap. We thus need to mark the
	   transparent pixels of this layer with a different priority value */
//  fuuki16_draw_layer(machine(), bitmap, cliprect, tm_back, TILEMAP_DRAW_OPAQUE, 0);

	/* Actually, bg colour is simply the last pen i.e. 0x1fff -pjp */
	bitmap.fill((0x800 * 4) - 1, cliprect);
	screen.priority().fill(0, cliprect);

	fuuki16_draw_layer(screen, bitmap, cliprect, tm_back,   0, 1);
	fuuki16_draw_layer(screen, bitmap, cliprect, tm_middle, 0, 2);
	fuuki16_draw_layer(screen, bitmap, cliprect, tm_front,  0, 4);

	m_fuukivid->draw_sprites(screen, bitmap, cliprect, flip_screen(), 0);

	return 0;
}