summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/baraduke.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/baraduke.c')
-rw-r--r--src/mame/video/baraduke.c30
1 files changed, 14 insertions, 16 deletions
diff --git a/src/mame/video/baraduke.c b/src/mame/video/baraduke.c
index a4641603fbc..59ff6f9c3f4 100644
--- a/src/mame/video/baraduke.c
+++ b/src/mame/video/baraduke.c
@@ -303,43 +303,41 @@ static void set_scroll(running_machine &machine, int layer)
}
-SCREEN_UPDATE_IND16( baraduke )
+UINT32 baraduke_state::screen_update_baraduke(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- baraduke_state *state = screen.machine().driver_data<baraduke_state>();
- UINT8 *spriteram = state->m_spriteram + 0x1800;
+ UINT8 *spriteram = m_spriteram + 0x1800;
int back;
/* flip screen is embedded in the sprite control registers */
- /* can't use state->flip_screen_set() because the visible area is asymmetrical */
- state->flip_screen_set_no_update(spriteram[0x07f6] & 0x01);
- screen.machine().tilemap().set_flip_all(state->flip_screen() ? (TILEMAP_FLIPX | TILEMAP_FLIPY) : 0);
+ /* can't use flip_screen_set() because the visible area is asymmetrical */
+ flip_screen_set_no_update(spriteram[0x07f6] & 0x01);
+ screen.machine().tilemap().set_flip_all(flip_screen() ? (TILEMAP_FLIPX | TILEMAP_FLIPY) : 0);
set_scroll(screen.machine(), 0);
set_scroll(screen.machine(), 1);
- if (((state->m_xscroll[0] & 0x0e00) >> 9) == 6)
+ if (((m_xscroll[0] & 0x0e00) >> 9) == 6)
back = 1;
else
back = 0;
- state->m_bg_tilemap[back]->draw(bitmap, cliprect, TILEMAP_DRAW_OPAQUE,0);
+ m_bg_tilemap[back]->draw(bitmap, cliprect, TILEMAP_DRAW_OPAQUE,0);
draw_sprites(screen.machine(), bitmap,cliprect,0);
- state->m_bg_tilemap[back ^ 1]->draw(bitmap, cliprect, 0,0);
+ m_bg_tilemap[back ^ 1]->draw(bitmap, cliprect, 0,0);
draw_sprites(screen.machine(), bitmap,cliprect,1);
- state->m_tx_tilemap->draw(bitmap, cliprect, 0,0);
+ m_tx_tilemap->draw(bitmap, cliprect, 0,0);
return 0;
}
-SCREEN_VBLANK( baraduke )
+void baraduke_state::screen_eof_baraduke(screen_device &screen, bool state)
{
// rising edge
- if (vblank_on)
+ if (state)
{
- baraduke_state *state = screen.machine().driver_data<baraduke_state>();
- if (state->m_copy_sprites)
+ if (m_copy_sprites)
{
- UINT8 *spriteram = state->m_spriteram + 0x1800;
+ UINT8 *spriteram = m_spriteram + 0x1800;
int i,j;
for (i = 0;i < 0x800;i += 16)
@@ -348,7 +346,7 @@ SCREEN_VBLANK( baraduke )
spriteram[i+j] = spriteram[i+j - 6];
}
- state->m_copy_sprites = 0;
+ m_copy_sprites = 0;
}
}
}