| Gyruss | Routines |
| Prev: 8D50 | Up: Map | Next: 8E0D |
|
Used by the routine at create_laser_fence_or_meteor.
|
||||
| create_meteor | 8DD7 | BIT 1,(IY+$07) | ||
| 8DDB | JR Z,create_meteor_1 | |||
| 8DDD | RST $28 | Allocate sprite | ||
| 8DDE | LD (IX+$00),$14 | Set type to meteor | ||
| 8DE2 | LD (IX+$01),$2A | Set polar y | ||
| 8DE6 | RST $20 | Random number | ||
| 8DE7 | LD C,A | Store it in C | ||
| 8DE8 | AND $07 | Offset 0-7 | ||
| 8DEA | ADD A,$02 | 2-9 | ||
| 8DEC | BIT 6,C | If a bit in the random number is set | ||
| 8DEE | JR Z,create_meteor_0 | ... | ||
| 8DF0 | NEG | Then make offset negative | ||
| create_meteor_0 | 8DF2 | LD B,A | Stor offset | |
| 8DF3 | LD A,($7004) | Get ship polar x | ||
| 8DF6 | ADD A,B | Add offset | ||
| 8DF7 | AND $3F | Mod 64 | ||
| 8DF9 | LD (IX+$02),A | Set polar x | ||
| 8DFC | LD (IX+$0B),$0E | Set color | ||
| 8E00 | LD HL,total_enemies | Increment total enemies | ||
| 8E03 | INC (HL) | ... | ||
|
This entry point is used by the routine at create_laser_fence_or_meteor.
|
||||
| create_meteor_1 | 8E04 | RST $20 | Random number | |
| 8E05 | AND $3F | $00 - $3F | ||
| 8E07 | ADD A,$10 | $10 - $4F | ||
| 8E09 | LD (laser_meteor_countdown),A | Store countdown | ||
| 8E0C | RET | |||
| Prev: 8D50 | Up: Map | Next: 8E0D |