| jetpac | Routines | 
| Prev: 6d9c | Up: Map | Next: 6e1b | 
 
  | 
||||||||||||
| 6de9 | ld hl,$5d00 | HL=Jetman object | ||||||||||
| 6dec | ld e,$00 | Default value for E | ||||||||||
| 6dee | ld a,(hl) | Jetman direction | ||||||||||
| 6def | and $3f | |||||||||||
| 6df1 | dec a | Jump if A - 1 == 0 | ||||||||||
| 6df2 | jr z,$6df6 | |||||||||||
| 6df4 | dec a | |||||||||||
| 6df5 | ret nz | Return if A is not zero | ||||||||||
| 6df6 | inc hl | HL=Jetman X position | ||||||||||
| 6df7 | ld a,(hl) | |||||||||||
| 6df8 | sub (ix+$01) | Jetman X position - Alien X position | ||||||||||
| 6dfb | jp p,$6e00 | Make sure we have a positive byte | ||||||||||
| 6dfe | neg | |||||||||||
| 6e00 | cp $0c | Return if A >= 12 | ||||||||||
| 6e02 | ret nc | |||||||||||
| 6e03 | inc hl | HL=Jetman Y position | ||||||||||
| 6e04 | ld a,(hl) | |||||||||||
| 6e05 | sub (ix+$02) | Jetman Y position - Alien Y position | ||||||||||
| 6e08 | jp p,$6e14 | Set D to 15 if it's still a positive number | ||||||||||
| 6e0b | neg | else: negate it | ||||||||||
| 6e0d | ld d,(ix+$07) | D=alien sprite height | ||||||||||
| 6e10 | add a,$0e | |||||||||||
| 6e12 | jr $6e16 | Compare and return | ||||||||||
| 6e14 | ld d,$15 | default D to 21 | ||||||||||
| 6e16 | cp d | Return $00 if D >= A | ||||||||||
| 6e17 | ret nc | |||||||||||
| 6e18 | ld e,$01 | |||||||||||
| 6e1a | ret | else return $01 | ||||||||||
| Prev: 6d9c | Up: Map | Next: 6e1b |