955A: Load A with a pseudo-random number between 00 and the higher of 02 and A (input)
| 955A |
CP $02 |
| 955C |
JP NC,$9561 |
| 955F |
LD A,$02 |
| 9561 |
LD ($9559),A |
| 9564 |
PUSH HL |
| 9565 |
PUSH DE |
| 9566 |
PUSH BC |
| 9567 |
LD DE,($9557) |
| 956B |
LD H,E |
| 956C |
LD L,$FD |
| 956E |
LD A,D |
| 956F |
OR A |
| 9570 |
SBC HL,DE |
| 9572 |
SBC A,$00 |
| 9574 |
SBC HL,DE |
| 9576 |
SBC A,$00 |
| 9578 |
LD E,A |
| 9579 |
LD D,$00 |
| 957B |
SBC HL,DE |
| 957D |
JP NC,$9581 |
| 9580 |
INC HL |
| 9581 |
LD ($9557),HL |
| 9584 |
PUSH HL |
| 9585 |
POP DE |
| 9586 |
LD A,($9559) |
| 9589 |
DEC A |
| 958A |
LD B,A |
| 958B |
XOR A |
| 958C |
ADD HL,DE |
| 958D |
JP NC,$9591 |
| 9590 |
INC A |
| 9591 |
DJNZ $958C |
| 9593 |
POP BC |
| 9594 |
POP DE |
| 9595 |
POP HL |
| 9596 |
RET |