![]() |
Routines |
Prev: 24794 | Up: Map | Next: 24823 |
Used by the routine at start.
|
||||
dec_timer_move_aliens | 24795 | LD A,(_ALIENS_SPEED_CONTROL) | Pick up speed control, decrement it, if it's not zero it's not yet time to move the aliens. | |
24798 | DEC A | |||
24799 | LD (_ALIENS_SPEED_CONTROL),A | |||
24802 | RET NZ | |||
24803 | CALL move_aliens | Move aliens, drop through | ||
Aliens have been moved, now recalculate speed control based on how many are left. This puts a number in _ALIENS_SPEED_CONTROL. The algorihm is SPEED_CONTROL = (NUM_LEFT/4 + NUM_LEFT/8) + 4
This entry point is used by the routine at start.
|
||||
set_alien_speed | 24806 | LD A,(_NUM_ALIENS_REMAINING) | How many are left? | |
24809 | SRL A | /2 | ||
24811 | SRL A | /4 | ||
24813 | LD B,A | Div by 4 in B | ||
24814 | SRL A | /8 | ||
24816 | ADD A,B | div8 + div4 | ||
24817 | ADD A,4 | +4 | ||
24819 | LD (_ALIENS_SPEED_CONTROL),A | Result | ||
24822 | RET |
Prev: 24794 | Up: Map | Next: 24823 |