void crbaloon_state::pc3092_update() { flip_screen_set((m_pc3092_data[1] & 0x01) ? TRUE : FALSE); }
static WRITE8_HANDLER( calorie_flipscreen_w ) { flip_screen_set(space->machine(), data & 1); }
static WRITE8_HANDLER( flip_screen_w ) { flip_screen_set(space->machine(), data); }
static WRITE_HANDLER( flip_screen_w ) { flip_screen_set(data); }
static WRITE8_HANDLER( bootleg_flipscreen_w ) { flip_screen_set(~data & 1); }
static WRITE16_HANDLER( wwfsstar_flipscreen_w ) { flip_screen_set(space->machine(), data & 1); }
void drmicro_flip_w( int flip ) { flipscreen = flip ? 1 : 0; flip_screen_set(flip); }
static MACHINE_RESET( clshroad ) { flip_screen_set(machine, 0); }
static WRITE16_HANDLER( wwfwfest_flipscreen_w ) { flip_screen_set(space->machine, data&1); }
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); }
static WRITE8_HANDLER( flip ) { flip_screen_set(data & 1); }
static WRITE8_HANDLER( mole_flipscreen_w ) { flip_screen_set(space->machine, data & 0x01); }
static MACHINE_RESET( clshroad ) { flip_screen_set(0); }
void psychic5_state::machine_reset() { m_bank_latch = 0xff; flip_screen_set(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; }