00000000: 3B 20 52 4E 44 0D 20 44 45 46 20 52 4E 44 20 53 |; RND. DEF RND S|
00000010: 59 54 4D 50 20 2C 20 2E 53 59 50 4E 54 0D 20 20 |YTMP , .SYPNT. |
00000020: 4C 45 54 20 53 59 54 4D 50 31 20 3D 20 24 46 46 |LET SYTMP1 = $FF|
00000030: 0D 20 20 4C 44 41 20 53 59 54 4D 50 0D 53 59 52 |. LDA SYTMP.SYR|
00000040: 4E 44 31 20 41 53 4C 20 41 0D 20 20 42 43 53 20 |ND1 ASL A. BCS |
00000050: 53 59 52 4E 44 32 0D 20 20 4C 53 52 20 53 59 54 |SYRND2. LSR SYT|
00000060: 4D 50 31 20 3A 20 47 4F 54 4F 20 53 59 52 4E 44 |MP1 : GOTO SYRND|
00000070: 31 0D 53 59 52 4E 44 32 20 47 4F 53 55 42 20 53 |1.SYRND2 GOSUB S|
00000080: 59 4E 45 57 52 4E 44 0D 20 20 49 46 20 53 59 53 |YNEWRND. IF SYS|
00000090: 45 45 44 20 41 4E 44 20 53 59 54 4D 50 31 20 3E |EED AND SYTMP1 >|
000000A0: 20 53 59 54 4D 50 20 47 4F 54 4F 20 53 59 52 4E | SYTMP GOTO SYRN|
000000B0: 44 32 0D 20 20 4C 44 59 20 23 30 20 3A 20 4C 45 |D2. LDY #0 : LE|
000000C0: 54 20 2D 3E 20 28 53 59 50 4E 54 29 2C 59 0D 20 |T -> (SYPNT),Y. |
000000D0: 20 52 45 54 55 52 4E 0D 20 45 4E 44 44 45 46 20 | RETURN. ENDDEF |
000000E0: 52 4E 44 0D 3B 0D 53 59 4A 46 3D 24 41 32 0D 20 |RND.;.SYJF=$A2. |
000000F0: 44 45 46 20 53 59 4E 45 57 52 4E 44 0D 20 20 4C |DEF SYNEWRND. L|
00000100: 44 41 20 53 59 53 45 45 44 2B 31 20 3A 20 41 53 |DA SYSEED+1 : AS|
00000110: 4C 20 41 0D 20 20 52 4F 4C 20 53 59 53 45 45 44 |L A. ROL SYSEED|
00000120: 20 3A 20 52 4F 4C 20 53 59 53 45 45 44 2B 31 0D | : ROL SYSEED+1.|
00000130: 20 20 4C 45 54 20 53 59 4A 46 20 58 4F 52 20 24 | LET SYJF XOR $|
00000140: 35 41 20 2B 20 53 59 53 45 45 44 20 2D 3E 20 53 |5A + SYSEED -> S|
00000150: 59 53 45 45 44 0D 20 20 4C 44 41 20 53 59 53 45 |YSEED. LDA SYSE|
00000160: 45 44 2B 31 20 3A 20 41 44 43 20 23 30 20 3A 20 |ED+1 : ADC #0 : |
00000170: 53 54 41 20 53 59 53 45 45 44 2B 31 0D 20 20 4C |STA SYSEED+1. L|
00000180: 45 54 20 53 59 53 45 45 44 20 3D 20 53 59 53 45 |ET SYSEED = SYSE|
00000190: 45 44 20 58 4F 52 20 24 39 36 0D 20 20 4C 45 54 |ED XOR $96. LET|
000001A0: 20 53 59 53 45 45 44 2B 31 20 3D 20 53 59 53 45 | SYSEED+1 = SYSE|
000001B0: 45 44 2B 31 20 58 4F 52 20 24 41 35 0D 20 20 52 |ED+1 XOR $A5. R|
000001C0: 45 54 55 52 4E 0D 53 59 53 45 45 44 20 2E 57 4F |ETURN.SYSEED .WO|
000001D0: 52 44 20 24 31 32 33 34 0D 20 45 4E 44 44 45 46 |RD $1234. ENDDEF|
000001E0: 20 53 59 4E 45 57 52 4E 44 0D 3B 0D 00 00 00 00 | SYNEWRND.;.....|
; RND. DEF RND SYTMP , .SYPNT. LET SYTM
P1 = $FF. LDA SYTMP.SYRND1 ASL A. BCS
SYRND2. LSR SYTMP1 : GOTO SYRND1.SYRND2
GOSUB SYNEWRND. IF SYSEED AND SYTMP1 >
SYTMP GOTO SYRND2. LDY #0 : LET -> (SY
PNT),Y. RETURN. ENDDEF RND.;.SYJF=$A2.
DEF SYNEWRND. LDA SYSEED+1 : ASL A. RO
L SYSEED : ROL SYSEED+1. LET SYJF XOR $
5A + SYSEED -> SYSEED. LDA SYSEED+1 : A
DC #0 : STA SYSEED+1. LET SYSEED = SYSE
ED XOR $96. LET SYSEED+1 = SYSEED+1 XOR
$A5. RETURN.SYSEED .WORD $1234. ENDDEF
SYNEWRND.;.....
×
C64 Image
> CLICK IMAGE PREVIEW FOR FULL MODAL