| Chase H.Q. | Routines |
| Prev: 858C | Up: Map | Next: 860F |
|
Each call raises the reveal height by one row, capping at 50, then plots the perp's car with that height as a clip limit so that fewer rows show early on. The counter lives in the LD A,n operand at $85EB.
Used by the routine at run_pregame_screen.
|
||||
| reveal_perp_car | 85E4 | LD A,($8007) | Return if wanted_stage_number is 5 (the perp's car is hidden on the pre-game screen for that stage) | |
| 85E7 | CP $05 | |||
| 85E9 | RET Z | |||
|
The perp's car is revealed from the bottom-up.
|
||||
| 85EA | LD A,$00 | Load height counter (self modified) | ||
| 85EC | INC A | Increment it | ||
| 85ED | CP $32 | Max height is 50 | ||
| 85EF | JR C,rpc_height_max_ok | |||
| 85F1 | DEC A | |||
| rpc_height_max_ok | 85F2 | LD ($85EB),A | Update height counter | |
| 85F5 | LD HL,($5D10) | Load address of perp's car LOD | ||
| 85F8 | LD D,$00 | Read lod.width_bytes | ||
| 85FA | LD E,(HL) | |||
| 85FB | INC HL | Read lod.height | ||
| 85FC | INC HL | |||
| 85FD | LD B,(HL) | |||
| 85FE | CP B | If height counter < lod.height B = height counter | ||
| 85FF | JR NC,rpc_height_lod_ok | |||
| 8601 | LD B,A | |||
| rpc_height_lod_ok | 8602 | INC HL | Load address of bitmap data | |
| 8603 | LD A,(HL) | |||
| 8604 | INC HL | |||
| 8605 | LD H,(HL) | |||
| 8606 | LD L,A | |||
| 8607 | LD A,E | Set DE to stride of bitmap data in bytes (D is zero here) | ||
| 8608 | EXX | Bank for plot_sprite entry | ||
| 8609 | LD HL,$F4CD | Fixed address in back buffer to plot at | ||
| 860C | JP plot_sprite | Exit via plot_sprite | ||
| Prev: 858C | Up: Map | Next: 860F |