| Chase H.Q. | Routines | 
| Prev: B67C | Up: Map | Next: B6D6 | 
| 
Used by the routine at animate_hero_car.
 
 | ||||||||
| draw_crash | B69E | LD E,$80 | E = 128 -- horz position/offset? | |||||
| B6A0 | LD B,$00 | Turn index into offset into unknown_cfb2 (BC = A * 3) | ||||||
| B6A2 | LD C,A | |||||||
| B6A3 | RLCA | |||||||
| B6A4 | ADD A,C | |||||||
| B6A5 | LD C,A | |||||||
| B6A6 | LD HL,$CFB2 | HL = unknown_cfb2 + BC -> unknown_cfb2[index] -- Point HL at element | ||||||
| B6A9 | ADD HL,BC | |||||||
| B6AA | LD A,(HL) | D = *HL++ + 121 -- presumably the vertical position/offset | ||||||
| B6AB | INC HL | |||||||
| B6AC | ADD A,$79 | |||||||
| B6AE | LD D,A | |||||||
| B6AF | LD A,(HL) | E += *HL++ -- add to horz position/offset | ||||||
| B6B0 | INC HL | |||||||
| B6B1 | ADD A,E | |||||||
| B6B2 | LD E,A | |||||||
| B6B3 | LD C,(HL) | Load offset into car_adornments | ||||||
| B6B4 | LD HL,$D027 | Point HL at (car_adornments + BC) | ||||||
| B6B7 | ADD HL,BC | |||||||
| B6B8 | LD B,(HL) | Read row height & advance | ||||||
| B6B9 | INC HL | |||||||
| B6BA | LD C,(HL) | Read byte width & advance | ||||||
| B6BB | INC HL | |||||||
| B6BC | LD A,(HL) | Read masked bitmap data pointer & advance | ||||||
| B6BD | INC HL | |||||||
| B6BE | LD H,(HL) | |||||||
| B6BF | LD L,A | |||||||
| B6C0 | LD A,C | Get byte width in A | ||||||
| B6C1 | EXX | Bank byte width in E' | ||||||
| B6C2 | LD E,A | |||||||
| B6C3 | EXX | |||||||
| B6C4 | LD A,($B5AB) | Read car jump offset from 'SUB x' @ B5AA | ||||||
| B6C7 | NEG | D -= A -- vert pos/offset - car jump offset | ||||||
| B6C9 | ADD A,D | |||||||
| B6CA | LD D,A | |||||||
| B6CB | LD A,($B5B0) | Read self modified value in draw_car that sets the car's pitch (0/3/6) | ||||||
| B6CE | SRL A | 0 -> 0, 3 -> 1, 6 -> 3 | ||||||
| B6D0 | JR Z,draw_part | Jump to draw_part if zero | ||||||
| 
Otherwise pitch was 3/6.
 | ||||||||
| B6D2 | SUB $02 | D += A - 2 -- make v.shift -1/1 | ||||||
| B6D4 | ADD A,D | |||||||
| B6D5 | LD D,A | |||||||
| 
FALL THROUGH
 | ||||||||
| Prev: B67C | Up: Map | Next: B6D6 |