Chase H.Q. | Routines |
Prev: 852A | Up: Map | Next: 85E4 |
Used by the routine at main_loop.
|
||||
run_pregame_screen | 858C | LD HL,$5D1D | Address of stage_set_up_data | |
858F | CALL set_up_stage | Call set_up_stage | ||
8592 | LD A,$F8 | Reverse transition | ||
8594 | LD ($A220),A | Set dont_draw_screen_attrs to a non-zero value | ||
8597 | CALL setup_transition | Call setup_transition | ||
859A | CALL clear_screen_set_attrs | Call clear_screen_set_attrs | ||
859D | XOR A | Reset the counter in reveal_perp_car that reveals the perp's car | ||
859E | LD ($85EB),A | |||
85A1 | DEC A | Set chatter priority to $FF | ||
85A2 | LD HL,($5D04) | Load Nancy's report for this level | ||
85A5 | CALL start_chatter | Call start_chatter (priority $FF) | ||
rps_loop | 85A8 | CALL draw_pregame | Call draw_pregame | |
85AB | CALL drive_chatter | Call drive_chatter | ||
85AE | CALL reveal_perp_car | Call reveal_perp_car | ||
85B1 | CALL animate_meters | Call animate_meters | ||
85B4 | CALL transition | Call transition | ||
85B7 | CALL draw_screen | Call draw_screen | ||
85BA | LD A,($A231) | Loop to rps_loop while transition_control is non-zero | ||
85BD | AND A | |||
85BE | JR NZ,rps_loop | |||
transition_control is now zero.
|
||||
85C0 | LD A,($963D) | Return if chatter_state is idle (zero) | ||
85C3 | AND A | |||
85C4 | RET Z | |||
85C5 | CP $03 | Jump to rps_start_game if chatter_state is stopping (>= 3) | ||
85C7 | JR NC,rps_start_game | |||
85C9 | CALL keyscan | Call keyscan | ||
85CC | AND $10 | Loop to rps_start_game unless fire was hit | ||
85CE | JR Z,rps_loop | |||
Fire was hit.
|
||||
85D0 | CALL drive_chatter_stop | Call drive_chatter_stop | ||
85D3 | JP play_start_noise | Exit via play_start_noise (will RET for us) | ||
rps_start_game | 85D6 | LD A,$08 | Forward transition | |
We can only arrive here if no carry... so why the conditional CALL?
|
||||
85D8 | CALL NC,setup_transition | If no carry (A was >= 3) call setup_transition | ||
85DB | JR rps_loop | Loop to rps_loop | ||
Since nothing can arrive here this can only be dead code.
|
||||
rps_dead_code | 85DD | LD A,($A231) | Loop to rps_loop if transition_control is non-zero | |
85E0 | AND A | |||
85E1 | JR NZ,rps_loop | |||
85E3 | RET | Return |
Prev: 852A | Up: Map | Next: 85E4 |