| Gyruss | Routines |
| Prev: 86DE | Up: Map | Next: 870C |
|
Used by the routine at handle_sprite_type_14.
|
||||||||||
| handle_sprite_types_12_13 | 86E9 | CP $12 | Is sprite type < $012 | |||||||
| 86EB | JR C,handle_sprite_type_03 | If so, jump ahead | ||||||||
| 86ED | CP $14 | Is sprite type >= $014 | ||||||||
| 86EF | JR NC,handle_sprite_type_03 | If so, jump ahead | ||||||||
|
Sprite types $12 - $13 (enemy missile)
|
||||||||||
| 86F1 | LD A,(frame_counter) | Frame counter | ||||||||
| 86F4 | LD B,A | Store in B | ||||||||
| 86F5 | AND $01 | Every 2nd frame | ||||||||
| 86F7 | RET NZ | Return to return_from_sprite_handler | ||||||||
| 86F8 | LD A,B | Frame counter | ||||||||
| 86F9 | AND $0F | Mod 16 | ||||||||
| 86FB | JR NZ,handle_sprite_types_12_13_0 | If not zero then skip animation | ||||||||
| 86FD | LD A,(IX+$00) | Get sprite type | ||||||||
| 8700 | XOR $01 | Flip bit 0 to change between $12 and $13 | ||||||||
| 8702 | LD (IX+$00),A | Save new type | ||||||||
| handle_sprite_types_12_13_0 | 8705 | INC (IX+$05) | Mark for pattern reload | |||||||
| 8708 | DEC (IX+$01) | Decrement polar y | ||||||||
| 870B | RET | Return to return_from_sprite_handler | ||||||||
| Prev: 86DE | Up: Map | Next: 870C |