| jetpac | Routines | 
| Prev: 6ea5 | Up: Map | Next: 6eef | 
  | 
||||||||
| 6ec2 | ld c,a | |||||||
| 6ec3 | ld a,($5df0) | A=player level. Example, if level 3: | ||||||
| 6ec6 | rrca | A=10000001, C=1 | ||||||
| 6ec7 | and $06 | A=00000000 | ||||||
| 6ec9 | or c | A=00001000 (e.g. if C=$08) | ||||||
| 6eca | ld c,a | BC=sprite offset value | ||||||
| 6ecb | ld b,$00 | |||||||
| 6ecd | ld hl,$678c | Collectible sprite lookup table | ||||||
| 6ed0 | add hl,bc | Offset address | ||||||
| 6ed1 | ld de,$5ecc | DE=start of buffers for all item sprites | ||||||
| 6ed4 | ld a,$02 | |||||||
| 6ed6 | ld ($5dd3),a | Set default for rocket module attached value | ||||||
| 6ed9 | xor a | |||||||
| 6eda | ld ($5dd2),a | Set default for Jetman rocket module connected value | ||||||
| 6edd | ld c,$04 | Loop counter - all 4 sprites? | ||||||
| 6edf | xor a | |||||||
| 6ee0 | push bc | Backup loop counter | ||||||
| 6ee1 | ld b,a | A starts at $00, then returns value from 6f0b | ||||||
| 6ee2 | ld c,$01 | C=sprite count | ||||||
| 6ee4 | call $6f0b | HL=pointer to sprite pixel data | ||||||
| 6ee7 | ld a,b | |||||||
| 6ee8 | pop bc | Restore loop counter | ||||||
| 6ee9 | dec hl | HL=previous lookup table offset | ||||||
| 6eea | dec hl | |||||||
| 6eeb | dec c | Decrement loop counter | ||||||
| 6eec | jr nz,$6ee0 | Repeat until counter is zero | ||||||
| 6eee | ret | |||||||
| Prev: 6ea5 | Up: Map | Next: 6eef |