Prev: 27072 Up: Map Next: 27117
27086: Random number generator
Used by START_TURN and COND_CHANCE.
RANDOM_NUMBER 27086 LD BC,2149
27089 LD HL,0
27092 LD DE,(23670) DE=seed
27096 INC E
27097 LD D,H
RANDOM_NUMBER_0 27098 SRL C
27100 JR NC,RANDOM_NUMBER_1
27102 ADD HL,DE
RANDOM_NUMBER_1 27103 SLA E
27105 RL D
27107 DJNZ RANDOM_NUMBER_0
27109 LD (23670),HL Update seed with new value
27112 LD A,H Random number = top byte of seed
27113 OR A Is it > 0
27114 RET NZ If so, return
27115 JR RANDOM_NUMBER If not, generate next number
Prev: 27072 Up: Map Next: 27117