Routines |
Prev: 36254 | Up: Map | Next: 36321 |
|
||||||||
36273 | CALL 55740 | Set new random seed and load LSB of this (random value) into A and E | ||||||
36276 | AND 31 | Discard bits five to seven | ||||||
36278 | SUB 15 | Subtract 15 | ||||||
36280 | LD B,A | Load result into B (random number -15 to 16) (y-component of star's direction) | ||||||
36281 | CALL 55740 | Set new random seed and load LSB of this (random value) into A and E | ||||||
36284 | AND 31 | Discard bits five to seven | ||||||
36286 | SUB 15 | Subtract 15 | ||||||
36288 | LD C,A | Load result into C (random number -15 to 16) (x-component of star's direction) | ||||||
36289 | LD A,128 | Add to 128 (set bit 7) in C... | ||||||
36291 | ADD A,C | ... | ||||||
36292 | LD C,A | ...(random number 113 to 144) | ||||||
36293 | LD A,B | Add 70 to B... | ||||||
36294 | ADD A,70 | ... | ||||||
36296 | LD B,A | ...(random number 55 to 86) | ||||||
36297 | CP 70 | If A is not 70 (i.e. y-direction component is not zero)... | ||||||
36299 | JR NZ,36306 | ...skip ahead to 36306 | ||||||
36301 | LD C,A | If A (loaded into C) is 128... [bug] | ||||||
36302 | CP 128 | ... | ||||||
36304 | JR Z,36273 | ...then restart this routine to generate two new random numbers/seeds | ||||||
36306 | LD DE,18048 | Load D (initial y-coordinate) with 70 and E (initial x-coordinate) with 128 | ||||||
36309 | PUSH DE | Store DE | ||||||
36310 | CALL 36434 | Set up star's movement data based upon starting position and direction | ||||||
36313 | POP DE | Restore DE | ||||||
36314 | LD (IX+0),E | Set star's initial coordinates as (128, 70)... | ||||||
36317 | LD (IX+1),D | ... | ||||||
36320 | RET | Return |
Prev: 36254 | Up: Map | Next: 36321 |