diff options
Diffstat (limited to 'src/mame/video/taito_z.c')
-rw-r--r-- | src/mame/video/taito_z.c | 126 |
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; } |