Prev: 852A Up: Map Next: 85E4
858C: Pre-game radio screen ("CHASE HQ MONITORING SYSTEM")
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