ok, here is routine:
RANDOM: LD HL,(SEED+2)
LD D,L
ADD HL,HL
ADD HL,HL
LD C,H
LD HL,(SEED)
LD B,H
RL B
LD E,H
RL E
RL D
ADD HL,BC
LD (SEED),HL
LD HL,(SEED+2)
ADC HL,DE
RES 7,H
LD (SEED+2),HL
JP M,RANDOM3
LD HL,SEED
RANDOM2: INC (HL)
INC HL
JR Z,RANDOM2
RANDOM3: LD HL,(SEED)
ret
SEED: dw $E5,0
one thing what i am not understand: why JP M,.. ? what z80 opcode affects at flag S?