summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/video/taito_z.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/video/taito_z.c')
-rw-r--r--src/mame/video/taito_z.c126
1 files changed, 59 insertions, 67 deletions
diff --git a/src/mame/video/taito_z.c b/src/mame/video/taito_z.c
index 17942d9ffaa..1a9c85d79dd 100644
--- a/src/mame/video/taito_z.c
+++ b/src/mame/video/taito_z.c
@@ -837,14 +837,13 @@ WRITE16_MEMBER(taitoz_state::contcirc_out_w)
}
-SCREEN_UPDATE_IND16( contcirc )
+UINT32 taitoz_state::screen_update_contcirc(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- taitoz_state *state = screen.machine().driver_data<taitoz_state>();
UINT8 layer[3];
- tc0100scn_tilemap_update(state->m_tc0100scn);
+ tc0100scn_tilemap_update(m_tc0100scn);
- layer[0] = tc0100scn_bottomlayer(state->m_tc0100scn);
+ layer[0] = tc0100scn_bottomlayer(m_tc0100scn);
layer[1] = layer[0] ^ 1;
layer[2] = 2;
@@ -852,10 +851,10 @@ SCREEN_UPDATE_IND16( contcirc )
bitmap.fill(0, cliprect);
- tc0100scn_tilemap_draw(state->m_tc0100scn, bitmap, cliprect, layer[0], 0, 0);
- tc0100scn_tilemap_draw(state->m_tc0100scn, bitmap, cliprect, layer[1], 0, 1);
- tc0150rod_draw(state->m_tc0150rod, bitmap, cliprect, -3, state->m_road_palbank << 6, 1, 0, 1, 2); // -6
- tc0100scn_tilemap_draw(state->m_tc0100scn, bitmap, cliprect, layer[2], 0, 4);
+ tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[0], 0, 0);
+ tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[1], 0, 1);
+ tc0150rod_draw(m_tc0150rod, bitmap, cliprect, -3, m_road_palbank << 6, 1, 0, 1, 2); // -6
+ tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[2], 0, 4);
contcirc_draw_sprites_16x8(screen.machine(), bitmap, cliprect, 5); // 7
return 0;
@@ -864,14 +863,13 @@ SCREEN_UPDATE_IND16( contcirc )
/* Nightstr and ChaseHQ */
-SCREEN_UPDATE_IND16( chasehq )
+UINT32 taitoz_state::screen_update_chasehq(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- taitoz_state *state = screen.machine().driver_data<taitoz_state>();
UINT8 layer[3];
- tc0100scn_tilemap_update(state->m_tc0100scn);
+ tc0100scn_tilemap_update(m_tc0100scn);
- layer[0] = tc0100scn_bottomlayer(state->m_tc0100scn);
+ layer[0] = tc0100scn_bottomlayer(m_tc0100scn);
layer[1] = layer[0] ^ 1;
layer[2] = 2;
@@ -880,24 +878,23 @@ SCREEN_UPDATE_IND16( chasehq )
/* Ensure screen blanked even when bottom layer not drawn due to disable bit */
bitmap.fill(0, cliprect);
- tc0100scn_tilemap_draw(state->m_tc0100scn, bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 0);
- tc0100scn_tilemap_draw(state->m_tc0100scn, bitmap, cliprect, layer[1], 0, 1);
- tc0150rod_draw(state->m_tc0150rod, bitmap, cliprect, -1, 0xc0, 0, 0, 1, 2);
- tc0100scn_tilemap_draw(state->m_tc0100scn, bitmap, cliprect, layer[2], 0, 4);
+ tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 0);
+ tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[1], 0, 1);
+ tc0150rod_draw(m_tc0150rod, bitmap, cliprect, -1, 0xc0, 0, 0, 1, 2);
+ tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[2], 0, 4);
chasehq_draw_sprites_16x16(screen.machine(), bitmap, cliprect, 7);
return 0;
}
-SCREEN_UPDATE_IND16( bshark )
+UINT32 taitoz_state::screen_update_bshark(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- taitoz_state *state = screen.machine().driver_data<taitoz_state>();
UINT8 layer[3];
- tc0100scn_tilemap_update(state->m_tc0100scn);
+ tc0100scn_tilemap_update(m_tc0100scn);
- layer[0] = tc0100scn_bottomlayer(state->m_tc0100scn);
+ layer[0] = tc0100scn_bottomlayer(m_tc0100scn);
layer[1] = layer[0] ^ 1;
layer[2] = 2;
@@ -906,24 +903,23 @@ SCREEN_UPDATE_IND16( bshark )
/* Ensure screen blanked even when bottom layer not drawn due to disable bit */
bitmap.fill(0, cliprect);
- tc0100scn_tilemap_draw(state->m_tc0100scn, bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 0);
- tc0100scn_tilemap_draw(state->m_tc0100scn, bitmap, cliprect, layer[1], 0, 1);
- tc0150rod_draw(state->m_tc0150rod, bitmap, cliprect, -1, 0xc0, 0, 1, 1, 2);
- tc0100scn_tilemap_draw(state->m_tc0100scn, bitmap, cliprect, layer[2], 0, 4);
+ tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 0);
+ tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[1], 0, 1);
+ tc0150rod_draw(m_tc0150rod, bitmap, cliprect, -1, 0xc0, 0, 1, 1, 2);
+ tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[2], 0, 4);
bshark_draw_sprites_16x8(screen.machine(), bitmap, cliprect, 8);
return 0;
}
-SCREEN_UPDATE_IND16( sci )
+UINT32 taitoz_state::screen_update_sci(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- taitoz_state *state = screen.machine().driver_data<taitoz_state>();
UINT8 layer[3];
- tc0100scn_tilemap_update(state->m_tc0100scn);
+ tc0100scn_tilemap_update(m_tc0100scn);
- layer[0] = tc0100scn_bottomlayer(state->m_tc0100scn);
+ layer[0] = tc0100scn_bottomlayer(m_tc0100scn);
layer[1] = layer[0] ^ 1;
layer[2] = 2;
@@ -932,24 +928,23 @@ SCREEN_UPDATE_IND16( sci )
/* Ensure screen blanked even when bottom layer not drawn due to disable bit */
bitmap.fill(0, cliprect);
- tc0100scn_tilemap_draw(state->m_tc0100scn, bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 0);
- tc0100scn_tilemap_draw(state->m_tc0100scn, bitmap, cliprect, layer[1], 0, 1);
- tc0150rod_draw(state->m_tc0150rod, bitmap, cliprect, -1, 0xc0, 0, 0, 1, 2);
- tc0100scn_tilemap_draw(state->m_tc0100scn, bitmap, cliprect, layer[2], 0, 4);
+ tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 0);
+ tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[1], 0, 1);
+ tc0150rod_draw(m_tc0150rod, bitmap, cliprect, -1, 0xc0, 0, 0, 1, 2);
+ tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[2], 0, 4);
sci_draw_sprites_16x8(screen.machine(), bitmap, cliprect, 6);
return 0;
}
-SCREEN_UPDATE_IND16( aquajack )
+UINT32 taitoz_state::screen_update_aquajack(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- taitoz_state *state = screen.machine().driver_data<taitoz_state>();
UINT8 layer[3];
- tc0100scn_tilemap_update(state->m_tc0100scn);
+ tc0100scn_tilemap_update(m_tc0100scn);
- layer[0] = tc0100scn_bottomlayer(state->m_tc0100scn);
+ layer[0] = tc0100scn_bottomlayer(m_tc0100scn);
layer[1] = layer[0] ^ 1;
layer[2] = 2;
@@ -958,24 +953,23 @@ SCREEN_UPDATE_IND16( aquajack )
/* Ensure screen blanked even when bottom layer not drawn due to disable bit */
bitmap.fill(0, cliprect);
- tc0100scn_tilemap_draw(state->m_tc0100scn, bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 0);
- tc0100scn_tilemap_draw(state->m_tc0100scn, bitmap, cliprect, layer[1], 0, 1);
- tc0150rod_draw(state->m_tc0150rod, bitmap, cliprect, -1, 0, 2, 1, 1, 2);
- tc0100scn_tilemap_draw(state->m_tc0100scn, bitmap, cliprect, layer[2], 0, 4);
+ tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 0);
+ tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[1], 0, 1);
+ tc0150rod_draw(m_tc0150rod, bitmap, cliprect, -1, 0, 2, 1, 1, 2);
+ tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[2], 0, 4);
aquajack_draw_sprites_16x8(screen.machine(), bitmap, cliprect, 3);
return 0;
}
-SCREEN_UPDATE_IND16( spacegun )
+UINT32 taitoz_state::screen_update_spacegun(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- taitoz_state *state = screen.machine().driver_data<taitoz_state>();
UINT8 layer[3];
- tc0100scn_tilemap_update(state->m_tc0100scn);
+ tc0100scn_tilemap_update(m_tc0100scn);
- layer[0] = tc0100scn_bottomlayer(state->m_tc0100scn);
+ layer[0] = tc0100scn_bottomlayer(m_tc0100scn);
layer[1] = layer[0] ^ 1;
layer[2] = 2;
@@ -984,9 +978,9 @@ SCREEN_UPDATE_IND16( spacegun )
/* Ensure screen blanked even when bottom layer not drawn due to disable bit */
bitmap.fill(0, cliprect);
- tc0100scn_tilemap_draw(state->m_tc0100scn, bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 1);
- tc0100scn_tilemap_draw(state->m_tc0100scn, bitmap, cliprect, layer[1], 0, 2);
- tc0100scn_tilemap_draw(state->m_tc0100scn, bitmap, cliprect, layer[2], 0, 4);
+ tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 1);
+ tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[1], 0, 2);
+ tc0100scn_tilemap_draw(m_tc0100scn, bitmap, cliprect, layer[2], 0, 4);
spacegun_draw_sprites_16x8(screen.machine(), bitmap, cliprect, 4);
@@ -994,15 +988,14 @@ SCREEN_UPDATE_IND16( spacegun )
}
-SCREEN_UPDATE_IND16( dblaxle )
+UINT32 taitoz_state::screen_update_dblaxle(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- taitoz_state *state = screen.machine().driver_data<taitoz_state>();
UINT8 layer[5];
UINT16 priority;
- tc0480scp_tilemap_update(state->m_tc0480scp);
+ tc0480scp_tilemap_update(m_tc0480scp);
- priority = tc0480scp_get_bg_priority(state->m_tc0480scp);
+ priority = tc0480scp_get_bg_priority(m_tc0480scp);
layer[0] = (priority & 0xf000) >> 12; /* tells us which bg layer is bottom */
layer[1] = (priority & 0x0f00) >> 8;
@@ -1015,30 +1008,29 @@ SCREEN_UPDATE_IND16( dblaxle )
/* Ensure screen blanked - this shouldn't be necessary! */
bitmap.fill(0, cliprect);
- tc0480scp_tilemap_draw(state->m_tc0480scp, bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 0);
- tc0480scp_tilemap_draw(state->m_tc0480scp, bitmap, cliprect, layer[1], 0, 0);
- tc0480scp_tilemap_draw(state->m_tc0480scp, bitmap, cliprect, layer[2], 0, 1);
+ tc0480scp_tilemap_draw(m_tc0480scp, bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 0);
+ tc0480scp_tilemap_draw(m_tc0480scp, bitmap, cliprect, layer[1], 0, 0);
+ tc0480scp_tilemap_draw(m_tc0480scp, bitmap, cliprect, layer[2], 0, 1);
- tc0150rod_draw(state->m_tc0150rod, bitmap, cliprect, -1, 0xc0, 0, 0, 1, 2);
+ tc0150rod_draw(m_tc0150rod, bitmap, cliprect, -1, 0xc0, 0, 0, 1, 2);
bshark_draw_sprites_16x8(screen.machine(), bitmap, cliprect, 7);
/* This layer used for the big numeric displays */
- tc0480scp_tilemap_draw(state->m_tc0480scp, bitmap, cliprect, layer[3], 0, 4);
+ tc0480scp_tilemap_draw(m_tc0480scp, bitmap, cliprect, layer[3], 0, 4);
- tc0480scp_tilemap_draw(state->m_tc0480scp, bitmap, cliprect, layer[4], 0, 0); /* Text layer */
+ tc0480scp_tilemap_draw(m_tc0480scp, bitmap, cliprect, layer[4], 0, 0); /* Text layer */
return 0;
}
-SCREEN_UPDATE_IND16( racingb )
+UINT32 taitoz_state::screen_update_racingb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- taitoz_state *state = screen.machine().driver_data<taitoz_state>();
UINT8 layer[5];
UINT16 priority;
- tc0480scp_tilemap_update(state->m_tc0480scp);
+ tc0480scp_tilemap_update(m_tc0480scp);
- priority = tc0480scp_get_bg_priority(state->m_tc0480scp);
+ priority = tc0480scp_get_bg_priority(m_tc0480scp);
layer[0] = (priority & 0xf000) >> 12; /* tells us which bg layer is bottom */
layer[1] = (priority & 0x0f00) >> 8;
@@ -1051,14 +1043,14 @@ SCREEN_UPDATE_IND16( racingb )
/* Ensure screen blanked - this shouldn't be necessary! */
bitmap.fill(0, cliprect);
- tc0480scp_tilemap_draw(state->m_tc0480scp, bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 0);
- tc0480scp_tilemap_draw(state->m_tc0480scp, bitmap, cliprect, layer[1], 0, 0);
- tc0480scp_tilemap_draw(state->m_tc0480scp, bitmap, cliprect, layer[2], 0, 2);
- tc0480scp_tilemap_draw(state->m_tc0480scp, bitmap, cliprect, layer[3], 0, 2);
+ tc0480scp_tilemap_draw(m_tc0480scp, bitmap, cliprect, layer[0], TILEMAP_DRAW_OPAQUE, 0);
+ tc0480scp_tilemap_draw(m_tc0480scp, bitmap, cliprect, layer[1], 0, 0);
+ tc0480scp_tilemap_draw(m_tc0480scp, bitmap, cliprect, layer[2], 0, 2);
+ tc0480scp_tilemap_draw(m_tc0480scp, bitmap, cliprect, layer[3], 0, 2);
- tc0150rod_draw(state->m_tc0150rod, bitmap, cliprect, -1, 0xc0, 0, 0, 1, 2);
+ tc0150rod_draw(m_tc0150rod, bitmap, cliprect, -1, 0xc0, 0, 0, 1, 2);
sci_draw_sprites_16x8(screen.machine(), bitmap, cliprect, 7);
- tc0480scp_tilemap_draw(state->m_tc0480scp, bitmap, cliprect, layer[4], 0, 4);
+ tc0480scp_tilemap_draw(m_tc0480scp, bitmap, cliprect, layer[4], 0, 4);
return 0;
}