Home » Archimedes archive » Acorn Computing » 1993 05 Mega Disk.adf » 93_05 » Miscellany/!Stereo_3D/3D_Demo3

Miscellany/!Stereo_3D/3D_Demo3

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn Computing » 1993 05 Mega Disk.adf » 93_05
Filename: Miscellany/!Stereo_3D/3D_Demo3
Read OK:
File size: 21A6 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM>!Stereo_3d.3D_Demo3
   20REM Copyright Mike Cook
   30REM May 93 Acorn Computing
   40DIM CODE% 200
   50DIM x%(110),y%(110),h%(110),D%(8)
   60*KEY1SYS"OS_Byte",113,1|M
   70*KEY2SYS"OS_Byte",113,2|M
   80OX1%=0:OX2%=0:OY1%=0:OY2%=0
   90*SCREENSIZE 320K *ERROR 0 320K screen memory required use Task Display
  100PROC_INIT
  110REPEAT
  120MODE 12
  130PROC_CLS
  140PROC_INTRO
  150CASE GET$ OF
  160WHEN "1":PROC_Tdraw1:ENDCASE
  170WHEN "2":PROC_Scrib:ENDCASE
  180WHEN "3":PROC_DS2:ENDCASE
  190WHEN "4":PROC_SPI:ENDCASE
  200WHEN "5":PROC_drawBall:ENDCASE
  210WHEN "6":PROC_Snake:ENDCASE
  220WHEN "7":PROC_LORNTZ:ENDCASE
  260WHEN "Q","q":PROC_END
  270ENDCASE
  280UNTIL FALSE
  290
  300DEF PROC_END
  310REM END ROUTINE TIDY UP VECTORS
  320SYS"OS_Byte",13,4
  330SYS"OS_Release",&10,BSWAP,0
  340SYS"OS_Byte",113,0
  350SYS"OS_Byte",112,0
  360END
  370
  380DEF PROC_INTRO
  390PROC_3DP(18,3,"3D Demos By Mike Cook")
  400PROC_3DP(0,5,"To see the 3D Stereo effect you need the twin motor shutter,")
  410PROC_3DP(0,6,"as featured in the Body Build artical Acorn Computing May 93.")
  420PROC_3DP(0,8,"Press a key to get a demo:-")
  430PROC_3DP(0,10,"1 - Red and Green screen adjust your motors so that you see")
  440PROC_3DP(0,11,"    a single colour with each eye.")
  450PROC_3DP(0,12,"2 - Just scribble, but change the phase switch to swap the depth.")
  460PROC_3DP(0,13,"3 - A Cartoon charactor, lots of them!")
  470PROC_3DP(0,14,"4 - Spiral tunnel.")
  480PROC_3DP(0,15,"5 - A primid of balls if the phase switch is wrong you will not see the effect.")
  490PROC_3DP(0,16,"6 - The 3D Snake, again get the phase switch right.")
  500PROC_3DP(0,17,"7 - The Lorenz Attractor")
  540PROC_3DP(0,21,"Q - To Quit.")
  550PROC_3DP(0,23,"Press any key to return here")
  560SYS"OS_Byte",112,2
  570PRINTTAB(10,28)"Left eye"
  580SYS"OS_Byte",112,1
  590PRINTTAB(50,28)"Right eye"
  600ENDPROC
  610
  620DEF PROC_3DP(X%,Y%,A$)
  630SYS"OS_Byte",112,1
  640PRINTTAB(X%,Y%)A$;
  650SYS"OS_Byte",112,2
  660PRINTTAB(X%,Y%)A$;
  670ENDPROC
  680
  690DEF PROC_INIT
  700FOR A%=0 TO 3 STEP 3
  710P%=CODE%
  720[
  730OPT A%
  740.BANK EQUD 1
  750.BSWAP
  760CMP R0,#4
  770MOVNE R15,R14 \ RETURN IF NOT OUR EVENT
  780\ RENUMBER RETURN ADDRESS
  790STMFD R13!,{R14,R8,R9}
  800MOV R9,R15
  810ORR R8,R9,#3
  820TEQP R8,#0
  830MOVNV R0,R0
  840STMFD R13!,{R14}
  850
  860MOV R0,#113
  870LDR R1,BANK
  880EOR R1,R1,#3 \ TOGGLE BANK NUMBER
  890STR R1,BANK
  900SWI "OS_Byte"  \ CHANGE BANK
  910
  920\ RETURN
  930LDMFD R13!,{R14}
  940TEQP R9,#0
  950MOVNV R0,R0
  960
  970LDMFD R13!,{R14,R8,R9}
  980MOV R15,R14
  990]
 1000NEXT
 1010SYS"OS_Claim",&10,BSWAP,0
 1020ON ERROR GOTO 4140
 1030SYS"OS_Byte",14,4
 1040ENDPROC
 1050
 1060DEF PROC_SPI
 1070LOCAL X%,Y%,R,B%,S%
 1080MODE 15:VDU23,1,0,0,0,0,0,0,0,0
 1090PROC_CLS
 1100REPEAT
 1110R=512:A%=0
 1120REPEAT
 1130IF TIME>120 AND S%=0 THEN GCOL 0,RND(63) TINT 255:TIME=0
 1140X%=640+COS(RAD(A%))*R
 1150Y%=512+SIN(RAD(A%))*R
 1160PROC_3D(X%,Y%,(R/4)-64,A%)
 1170R=R-.25
 1180A%=A%+10
 1190B%=ADVAL(-1)
 1200UNTIL R<10 OR B%<>0
 1210S%=S% EOR 1
 1220GCOL 0,0 TINT 0
 1230TIME=130
 1240UNTIL B%<>0
 1250A$=GET$
 1260ENDPROC
 1270
 1280DEF PROC_PIC(F$)
 1290PROC_CLS
 1300SYS"OS_Byte",112,1
 1310REM MOVE 0,1024:DRAW 10,900
 1320OSCLI("SCREENLOAD <3DS$Dir>."+F$+"_R")
 1330SYS"OS_Byte",112,2
 1340REM MOVE 0,1024:DRAW 10,900
 1350OSCLI("SCREENLOAD <3DS$Dir>."+F$+"_L")
 1360VDU23,1,0,0,0,0,0,0,0,0
 1370A$=GET$
 1380ENDPROC
 1390
 1400DEF PROC_Tdraw1
 1410MODE 12:VDU23,1,0,0,0,0,0,0,0,0
 1420SYS"OS_Byte",112,1
 1430COLOUR 128+1
 1440CLS
 1450SYS"OS_Byte",112,2
 1460GCOL 0,1
 1470COLOUR 128+2
 1480CLS
 1490A$=GET$
 1500ENDPROC
 1510
 1520DEF PROC_Scrib
 1530LOCAL X%,Y%,Z%,B%
 1540MODE 12:VDU23,1,0,0,0,0,0,0,0,0
 1550REPEAT
 1560PROC_CLS
 1570PROC_3D(0,0,0,0)
 1580Y%=0
 1590FOR Z%=0 TO 80 STEP 20
 1600GCOL 0,RND(7)
 1610FOR X%=0 TO 40
 1620PROC_3D(RND(300)+Y%,RND(1024),Z%-40,1)
 1630NEXT
 1640Y%+=256
 1650NEXT
 1660TIME=0
 1670REPEAT
 1680B%=ADVAL(-1)
 1690UNTIL TIME>600 OR B%<>0
 1700UNTIL B%<>0
 1710A$=GET$
 1720ENDPROC
 1730
 1740DEF PROC_CLS
 1750SYS"OS_Byte",112,1
 1760CLS
 1770SYS"OS_Byte",112,2
 1780CLS
 1790ENDPROC
 1800
 1810DEF PROC_3D(X%,Y%,Z%,P%)
 1820SYS"OS_Byte",112,1
 1830MOVE OX1%,OY1%
 1840IF P%<>0 THEN DRAW X%,Y%
 1850OX1%=X%:OY1%=Y%
 1860SYS"OS_Byte",112,2
 1870MOVE OX2%,OY2%
 1880IF P%<>0 THEN DRAW X%+Z%,Y%
 1890OX2%=X%+Z%:OY2%=Y%
 1900ENDPROC
 1910
 1920DEF PROC_CLS
 1930SYS"OS_Byte",112,1
 1940CLS
 1950SYS"OS_Byte",112,2
 1960CLS
 1970ENDPROC
 1980
 1990DEF PROC_drawBall
 2000LOCAL Z%,A%,B%,ZI%
 2010MODE 15:VDU23,1,0,0,0,0,0,0,0,0
 2020ZI%=8
 2030REPEAT
 2040Z%=-4*ZI%
 2050PROC_CLS
 2060FOR A%=100 TO 480 STEP 50
 2070PROC_SBALL(A%,A%,Z%)
 2080PROC_SBALL(1344-A%,A%,Z%)
 2090PROC_SBALL(A%,1088-A%,Z%)
 2100PROC_SBALL(1344-A%,1088-A%,Z%)
 2110Z%=Z%+ZI%
 2120IF Z%=0 THEN GCOL 0,63:PROC_GRID
 2130NEXT
 2140PROC_SBALL(560,532,Z%)
 2150PROC_SBALL(752,532,Z%)
 2160PROC_SBALL(656,532,Z%+ZI%)
 2170TIME=0
 2180REPEAT
 2190B%=ADVAL(-1)
 2200UNTIL TIME>700 OR B%<>0
 2210ZI%=RND(12)+4
 2220UNTIL B%<>0
 2230A$=GET$
 2240ENDPROC
 2250
 2260DEF PROC_GRID
 2270SYS"OS_Byte",112,1
 2280PROC_GRID1
 2290SYS"OS_Byte",112,2
 2300PROC_GRID1
 2310ENDPROC
 2320
 2330DEF PROC_GRID1
 2340LOCAL X%,Y%
 2350VDU 29,0;0;
 2360FOR X%=0 TO 1279 STEP 1280/10
 2370FOR Y%=0 TO 1023 STEP 1024/10
 2380LINE X%,0,X%,1023
 2390LINE 0,Y%,1279,Y%
 2400NEXT:NEXT
 2410LINE 1279,0,1279,1023
 2420ENDPROC
 2430
 2440DEF PROC_SBALL(X%,Y%,D%)
 2450LOCAL Base%
 2460Base%=FNrgb
 2470SYS"OS_Byte",112,1
 2480PROC_BALL(X%,Y%,0)
 2490SYS"OS_Byte",112,2
 2500PROC_BALL(X%+D%,Y%,3)
 2510ENDPROC
 2520
 2530DEF PROC_BALL(XB%,YB%,D%)
 2540LOCAL radius%,rad2%,L%,X%,Y%,dX%,D%
 2550VDU29,XB%;YB%;
 2560radius%=64
 2570dX%=0
 2580rad2%=radius%>>1
 2590L%=LOG(512/radius%)/LOG2
 2600FOR X%=radius% TO 0 STEP -8
 2610VDU23,17,2,512-(X%<<L%)|
 2620IFX%<=rad2% GCOLBase%+&15 ELSE GCOLBase%
 2630MOVE-X%DIV3+dX%,-X%DIV3:PLOT&9D,X%+dX%,0
 2640dX%=dX%+D%
 2650NEXT
 2660ENDPROC
 2670 
 2680DEFFNrgb=(RND(3)-1)*1+(RND(3)-1)*4+(RND(3)-1)*16
 2690
 2700DEF PROC_Snake
 2710LOCAL X%,Y%,XMAX%,XMIN%,DX%,DDX%,DDY%,DDZ%,X%,Y%,S%,YMAX%,YMIN%,ZMAX%,ZMIN%,P%,N%,DZ%,dX%,B%
 2720MODE 12:VDU23,1,0,0,0,0,0,0,0,0
 2730PROC_CLS
 2740VDU19,1,5;0;19,2,2;0;
 2750N%=100:REM Number of boxes on screen at one time
 2760FORX%=0 TO 110
 2770x%(X%)=0:y%(X%)=0:h%(X%)=0
 2780NEXT
 2790P%=0  :REM Cyclic buffer pointer into arrays
 2800DX%=24:DY%=24:DZ%=16
 2810X%=612:Y%=512:Z%=612
 2820DDX%=1:DDY%=1:DDZ%=1
 2830XMAX%=800:XMIN%=330:YMAX%=600:YMIN%=300:ZMAX%=900:ZMIN%=300
 2840C%=3:D%=0:F%=1
 2850S%=Z%DIV15
 2860GCOL 0,7:PROC_GRID
 2870REPEAT
 2880  TIME=0
 2890  REPEAT P%=(P%+1)MOD110
 2900    IF X%>XMAX% DX%=DX%-DDX% ELSE IF X%<XMIN% DX%=DX%+DDX%
 2910    IF Y%>YMAX% DY%=DY%-DDY% ELSE IF Y%<YMIN% DY%=DY%+DDY%
 2920    IF Z%>ZMAX% DZ%=DZ%-DDZ% ELSE IF Z%<ZMIN% DZ%=DZ%+DDZ%
 2930    X%=X%+DX%: Y%=Y%+DY%: Z%=Z%+DZ%: S%=Z%DIV10
 2940     FOR BANK%=0 TO 1
 2950      SYS"OS_Byte",112,BANK%+1
 2960      dX%=X%+(BANK%*(S%-10))DIV 2
 2970      GCOL0,F%+128
 2980      VDU24,dX%;Y%;dX%+S%;Y%+S%;16
 2990      GCOL0,C%
 3000      MOVEdX%,Y%:PLOT1,S%,0:PLOT1,0,S%:PLOT1,-S%,0:PLOT1,0,-S%
 3010     NEXT
 3020    x%(P%)=X%:y%(P%)=Y%:h%(P%)=S%
 3030    E%=(P%-N%+110)MOD110
 3040    FOR BANK%= 0 TO 1
 3050    SYS"OS_Byte",112,BANK%+1
 3060    dX%=x%(E%)+(BANK%*(h%(E%)-10))DIV 2
 3070    GCOL0,D%+128:VDU24,dX%;y%(E%);dX%+h%(E%);y%(E%)+h%(E%);16
 3080    GCOL 0,7:PROC_GRID1
 3090    NEXT
 3100    B%=ADVAL(-1)
 3110  UNTIL TIME>1700 OR B%<>0
 3120F%=1+F%MOD2:VDU 19,F%,16,RND(15)<<4,RND(15)<<4,RND(15)<<4:
 3130UNTIL B%<>0
 3140A$=GET$
 3150ENDPROC
 3160
 3170DEF PROC_LORNTZ
 3180LOCAL INC,B%,N%,F%,P1,P2,P3,X,Y,Z,S%,S,SX,SZ,SX%,SY%,SZ%,D1,D2,D3
 3190MODE 15:VDU23,1,0,0,0,0,0,0,0,0
 3200PROC_CLS
 3210PROC_GRID
 3220S=20:SX=S*1.5:SZ=2
 3230N%=70:F%=0
 3240INC=4E-3
 3250SX%=620:SY%=512:SZ%=0
 3260X=-6.5:Y=-8.8:Z=20
 3270P1=10:P2=28:P3=2.66666
 3280
 3290REPEAT
 3300N%=N%+1
 3310IF N%>200 THEN N%=0:GCOL 0,RND(63) TINT 255
 3320D1=P1*(Y-X)
 3330D2=P2*X-Y-X*Z
 3340D3=X*Y-P3*Z
 3350X=X+D1*INC
 3360Y=Y+D2*INC
 3370Z=Z+D3*INC
 3380PROC_VPLOT(X,Y,Z)
 3390B%=ADVAL(-1)
 3400UNTIL B%<>0
 3410A$=GET$
 3420ENDPROC
 3430:
 3440DEF PROC_VPLOT(X,Y,Z)
 3450X%=X*SX:Y%=Y*S:Z%=Z*SZ
 3460X%=X%+SX%:Y%=Y%+SY%:Z%=Z%+SZ%
 3470PROC_3D(X%,Y%,Z%,F%)
 3480F%=1
 3490ENDPROC
 3500
 3510DEF PROC_DS2
 3520LOCAL L%,S,Z%,H%
 3530RESTORE 3690
 3540MODE 0:VDU23,1,0,0,0,0,0,0,0,0
 3550PROC_CLS
 3560Z%=60:S=1:H%=0
 3570FOR L%=0 TO 7
 3580READ D%(L%)
 3590NEXT
 3600FOR L%=0 TO 6
 3610PROC_JOHNNY(D%(L%),H%,S,Z%)
 3620S=S-.1
 3630Z%-=20
 3640H%+=40
 3650NEXT
 3660A$=GET$
 3670ENDPROC
 3680
 3690DATA 0,260,480,680,850,1000,1150
 3700
 3710DEF PROC_DS1
 3720MODE 0:VDU23,1,0,0,0,0,0,0,0,0
 3730PROC_CLS
 3740PROC_JOHNNY(100,0,1.6,10)
 3750PROC_JOHNNY(500,0,1,-10)
 3760PROC_JOHNNY(700,0,1.6,10)
 3770A$=GET$
 3780ENDPROC
 3790
 3800DEF PROC_JOHNNY(OX%,OY%,S,D%)
 3810LOCAL X%,Y%,P%,C%
 3820FOR BANK%=0 TO 1
 3830SYS"OS_Byte",112,BANK%+1
 3840dX%=BANK%*D%
 3850RESTORE 4010
 3860READ P%,C%
 3870REPEAT
 3880READ X%,Y%
 3890X%=X%*S+OX%:Y%=Y%*S+OY%
 3900MOVE dX%+X%,Y%
 3910FOR A%=1 TO P%
 3920READ X%,Y%
 3930X%=X%*S+OX%:Y%=Y%*S+OY%
 3940DRAW dX%+X%,Y%
 3950NEXT
 3960READ P%,C%
 3970UNTIL P%=0
 3980NEXT
 3990ENDPROC
 4000
 4010DATA 79,3,39,71,70,79,79,75,87,105,108,196,131,240,146,279,190,195,199,169,211,121,219,94,225,93,224,76
 4020DATA268,63,270,73,248,83,237,94,245,95,229,205,215,285,198,349,204,413,228,387,231,360,220,341,207,330
 4030DATA212,312,234,328,255,354,257,389,253,400,258,403,237,443,219,468,201,485,215,507,194,507,182,506,174,514
 4040DATA188,532,197,544,205,545,207,560,205,571,203,582,104,585,104,574,98,564,99,551,107,550,110,537,120,527
 4050DATA133,519,130,508,99,496,114,488,100,469,83,441,63,393,66,389,59,355,52,322,51,303,45,292,50,275
 4060DATA58,282,67,284,67,298,67,316,87,385,100,411,110,357,89,291,80,252,76,208,72,162,69,124,70,106
 4070DATA71,100,43,72,1,3,132,569,132,569,1,3,171,568,171,568,2,3,152,574,152,547,169,548,2,3,170,534,154,527,138,533,2,3,125,503
 4080DATA158,459,102,495,2,3,199,488,156,459,178,499,4,3,105,388,113,408,113,435,191,432,200,402,4,3,175,409,170,383,133,383
 4090DATA135,409,170,409,1,3,186,436,200,479,1,3,107,475,122,434,1,3,63,393,89,381,1,3,219,96,240,97,1,1,87,102,69,106,5,1,107,590
 4100DATA79,587,81,597,233,596,234,585,201,583,7,1,206,593,203,618,178,615,157,615,138,618,122,619,109,620,108,600
 4110DATA7,1,139,404,141,386,158,383,162,403,150,401,150,395,154,395,155,400
 4120DATA 0,0
 4130
 4140SYS"OS_Byte",13,4
 4150SYS"OS_Release",&10,BSWAP,0
 4160SYS"OS_Byte",113,0
 4170SYS"OS_Byte",112,0
 4180REPORT
 4190PRINT" at line ";ERL

�>!Stereo_3d.3D_Demo3
� Copyright Mike Cook
� May 93 Acorn Computing
(� CODE% 200
2#� x%(110),y%(110),h%(110),D%(8)
<*KEY1SYS"OS_Byte",113,1|M
F*KEY2SYS"OS_Byte",113,2|M
POX1%=0:OX2%=0:OY1%=0:OY2%=0
ZJ*SCREENSIZE 320K *ERROR 0 320K screen memory required use Task Display
d
�_INIT
n�
x� 12
�	�_CLS
��_INTRO
�
Ȏ � �
�� "1":�_Tdraw1:�
�� "2":�_Scrib:�
�� "3":�_DS2:�
�� "4":�_SPI:�
�� "5":�_drawBall:�
�� "6":�_Snake:�
�� "7":�_LORNTZ:�
� "Q","q":�_END
�
� �
"
,� �_END
6!� END ROUTINE TIDY UP VECTORS
@ș"OS_Byte",13,4
Jș"OS_Release",&10,BSWAP,0
Tș"OS_Byte",113,0
^ș"OS_Byte",112,0
h�
r
|
� �_INTRO
�'�_3DP(18,3,"3D Demos By Mike Cook")
�M�_3DP(0,5,"To see the 3D Stereo effect you need the twin motor shutter,")
�N�_3DP(0,6,"as featured in the Body Build artical Acorn Computing May 93.")
�,�_3DP(0,8,"Press a key to get a demo:-")
�M�_3DP(0,10,"1 - Red and Green screen adjust your motors so that you see")
�4�_3DP(0,11,"    a single colour with each eye.")
�S�_3DP(0,12,"2 - Just scribble, but change the phase switch to swap the depth.")
�8�_3DP(0,13,"3 - A Cartoon charactor, lots of them!")
�$�_3DP(0,14,"4 - Spiral tunnel.")
�a�_3DP(0,15,"5 - A primid of balls if the phase switch is wrong you will not see the effect.")
�E�_3DP(0,16,"6 - The 3D Snake, again get the phase switch right.")
�*�_3DP(0,17,"7 - The Lorenz Attractor")
�_3DP(0,21,"Q - To Quit.")
&.�_3DP(0,23,"Press any key to return here")
0ș"OS_Byte",112,2
:�10,28)"Left eye"
Dș"OS_Byte",112,1
N�50,28)"Right eye"
X�
b
l� �_3DP(X%,Y%,A$)
vș"OS_Byte",112,1
��X%,Y%)A$;
�ș"OS_Byte",112,2
��X%,Y%)A$;
��
�
�� �_INIT
�� A%=0 � 3 � 3
�P%=CODE%
�[
�
OPT A%
�.BANK EQUD 1
�
.BSWAP
�
CMP R0,#4
#MOVNE R15,R14 \ � � � OUR EVENT
\ Ǚ � ADDRESS
STMFD R13!,{R14,R8,R9}
 MOV R9,R15
*�R R8,R9,#3
4TEQP R8,#0
>MOVNV R0,R0
HSTMFD R13!,{R14}
R
\MOV R0,#113
fLDR R1,BANK
p"� R1,R1,#3 \ �GGLE BANK NUMBER
zSTR R1,BANK
� SWI "OS_Byte"  \ CHANGE BANK
�
�\ �
�LDMFD R13!,{R14}
�TEQP R9,#0
�MOVNV R0,R0
�
�LDMFD R13!,{R14,R8,R9}
�MOV R15,R14
�]
��
�ș"OS_Claim",&10,BSWAP,0
�� � � �TlP
ș"OS_Byte",14,4
�

$� �_SPI
.� X%,Y%,R,B%,S%
8� 15:�23,1,0,0,0,0,0,0,0,0
B	�_CLS
L�
VR=512:A%=0
`�
j)� �>120 � S%=0 � � 0,�(63) Ȝ 255:�=0
tX%=640+�(�(A%))*R
~Y%=512+�(�(A%))*R
��_3D(X%,Y%,(R/4)-64,A%)
�R=R-.25
�A%=A%+10
�B%=�(-1)
�� R<10 � B%<>0
�
S%=S% � 1
�� 0,0 Ȝ 0
�	�=130
�� B%<>0
�A$=�
��
�
� �_PIC(F$)

	�_CLS
ș"OS_Byte",112,1
� MOVE 0,1024:DRAW 10,900
(&�("SCREENLOAD <3DS$Dir>."+F$+"_R")
2ș"OS_Byte",112,2
<� MOVE 0,1024:DRAW 10,900
F&�("SCREENLOAD <3DS$Dir>."+F$+"_L")
P�23,1,0,0,0,0,0,0,0,0
ZA$=�
d�
n
x� �_Tdraw1
�� 12:�23,1,0,0,0,0,0,0,0,0
�ș"OS_Byte",112,1
�� 128+1
��
�ș"OS_Byte",112,2
�	� 0,1
�� 128+2
��
�A$=�
��
�
�
� �_Scrib
�� X%,Y%,Z%,B%
� 12:�23,1,0,0,0,0,0,0,0,0
�
	�_CLS
"�_3D(0,0,0,0)
,Y%=0
6� Z%=0 � 80 � 20
@� 0,�(7)
J� X%=0 � 40
T#�_3D(�(300)+Y%,�(1024),Z%-40,1)
^�
hY%+=256
r�
|�=0
��
�B%=�(-1)
�� �>600 � B%<>0
�� B%<>0
�A$=�
��
�
�� �_CLS
�ș"OS_Byte",112,1
��
�ș"OS_Byte",112,2
��
��

� �_3D(X%,Y%,Z%,P%)
ș"OS_Byte",112,1
&� OX1%,OY1%
0� P%<>0 � � X%,Y%
:OX1%=X%:OY1%=Y%
Dș"OS_Byte",112,2
N� OX2%,OY2%
X� P%<>0 � � X%+Z%,Y%
bOX2%=X%+Z%:OY2%=Y%
l�
v
�� �_CLS
�ș"OS_Byte",112,1
��
�ș"OS_Byte",112,2
��
��
�
�� �_drawBall
�� Z%,A%,B%,ZI%
�� 15:�23,1,0,0,0,0,0,0,0,0
�	ZI%=8
��
�
Z%=-4*ZI%
	�_CLS
� A%=100 � 480 � 50
�_SBALL(A%,A%,Z%)
 �_SBALL(1344-A%,A%,Z%)
*�_SBALL(A%,1088-A%,Z%)
4�_SBALL(1344-A%,1088-A%,Z%)
>
Z%=Z%+ZI%
H� Z%=0 � � 0,63:�_GRID
R�
\�_SBALL(560,532,Z%)
f�_SBALL(752,532,Z%)
p�_SBALL(656,532,Z%+ZI%)
z�=0
��
�B%=�(-1)
�� �>700 � B%<>0
�ZI%=�(12)+4
�� B%<>0
�A$=�
��
�
�� �_GRID
�ș"OS_Byte",112,1
��_GRID1
�ș"OS_Byte",112,2
��_GRID1
	�
	
	
� �_GRID1
	$� X%,Y%
	.
� 29,0;0;
	8� X%=0 � 1279 � 1280/10
	B� Y%=0 � 1023 � 1024/10
	L� X%,0,X%,1023
	V� 0,Y%,1279,Y%
	`�:�
	j� 1279,0,1279,1023
	t�
	~
	�� �_SBALL(X%,Y%,D%)
	�� Base%
	�Base%=�rgb
	�ș"OS_Byte",112,1
	��_BALL(X%,Y%,0)
	�ș"OS_Byte",112,2
	��_BALL(X%+D%,Y%,3)
	��
	�
	�� �_BALL(XB%,YB%,D%)
	�#� radius%,rad2%,L%,X%,Y%,dX%,D%
	��29,XB%;YB%;
radius%=64

	dX%=0
rad2%=radius%>>1
L%=�(512/radius%)/�2
(� X%=radius% � 0 � -8
2�23,17,2,512-(X%<<L%)|
<"�X%<=rad2% �Base%+&15 � �Base%
F"�-X%�3+dX%,-X%�3:�&9D,X%+dX%,0
PdX%=dX%+D%
Z�
d�
n 
x+ݤrgb=(�(3)-1)*1+(�(3)-1)*4+(�(3)-1)*16
�
�
� �_Snake
�\� X%,Y%,XMAX%,XMIN%,DX%,DDX%,DDY%,DDZ%,X%,Y%,S%,YMAX%,YMIN%,ZMAX%,ZMIN%,P%,N%,DZ%,dX%,B%
�� 12:�23,1,0,0,0,0,0,0,0,0
�	�_CLS
��19,1,5;0;19,2,2;0;
�2N%=100:� Number of boxes on screen at one time
��X%=0 � 110
�x%(X%)=0:y%(X%)=0:h%(X%)=0
��
�.P%=0  :� Cyclic buffer pointer into arrays
�DX%=24:DY%=24:DZ%=16
�X%=612:Y%=512:Z%=612
DDX%=1:DDY%=1:DDZ%=1
?XMAX%=800:XMIN%=330:YMAX%=600:YMIN%=300:ZMAX%=900:ZMIN%=300
C%=3:D%=0:F%=1
"S%=Z%�15
,� 0,7:�_GRID
6�
@	  �=0
J  � P%=(P%+1)�110
T9    � X%>XMAX% DX%=DX%-DDX% � � X%<XMIN% DX%=DX%+DDX%
^9    � Y%>YMAX% DY%=DY%-DDY% � � Y%<YMIN% DY%=DY%+DDY%
h9    � Z%>ZMAX% DZ%=DZ%-DDZ% � � Z%<ZMIN% DZ%=DZ%+DDZ%
r1    X%=X%+DX%: Y%=Y%+DY%: Z%=Z%+DZ%: S%=Z%�10
|     � BANK%=0 � 1
�!      ș"OS_Byte",112,BANK%+1
�#      dX%=X%+(BANK%*(S%-10))� 2
�      �0,F%+128
�$      �24,dX%;Y%;dX%+S%;Y%+S%;16
�      �0,C%
�3      �dX%,Y%:�1,S%,0:�1,0,S%:�1,-S%,0:�1,0,-S%
�
     �
�%    x%(P%)=X%:y%(P%)=Y%:h%(P%)=S%
�    E%=(P%-N%+110)�110
�    � BANK%= 0 � 1
�    ș"OS_Byte",112,BANK%+1
�)    dX%=x%(E%)+(BANK%*(h%(E%)-10))� 2
�<    �0,D%+128:�24,dX%;y%(E%);dX%+h%(E%);y%(E%)+h%(E%);16
    � 0,7:�_GRID1
	    �
    B%=�(-1)
&  � �>1700 � B%<>0
04F%=1+F%�2:� 19,F%,16,�(15)<<4,�(15)<<4,�(15)<<4:
:� B%<>0
DA$=�
N�
X
b� �_LORNTZ
lA� INC,B%,N%,F%,P1,P2,P3,X,Y,Z,S%,S,SX,SZ,SX%,SY%,SZ%,D1,D2,D3
v� 15:�23,1,0,0,0,0,0,0,0,0
�	�_CLS
�
�_GRID
�S=20:SX=S*1.5:SZ=2
�N%=70:F%=0
�INC=4E-3
�SX%=620:SY%=512:SZ%=0
�X=-6.5:Y=-8.8:Z=20
�P1=10:P2=28:P3=2.66666
�
��
�N%=N%+1
�$� N%>200 � N%=0:� 0,�(63) Ȝ 255
�D1=P1*(Y-X)

D2=P2*X-Y-X*Z

D3=X*Y-P3*Z

X=X+D1*INC

 Y=Y+D2*INC

*Z=Z+D3*INC

4�_VPLOT(X,Y,Z)

>B%=�(-1)

H� B%<>0

RA$=�

\�

f:

p� �_VPLOT(X,Y,Z)

zX%=X*SX:Y%=Y*S:Z%=Z*SZ

�!X%=X%+SX%:Y%=Y%+SY%:Z%=Z%+SZ%

��_3D(X%,Y%,Z%,F%)

�F%=1

��

�

�� �_DS2

�� L%,S,Z%,H%

�
� �DjN

�� 0:�23,1,0,0,0,0,0,0,0,0

�	�_CLS

�Z%=60:S=1:H%=0

�� L%=0 � 7

�� D%(L%)
�
� L%=0 � 6
�_JOHNNY(D%(L%),H%,S,Z%)
$
S=S-.1
.
Z%-=20
8
H%+=40
B�
LA$=�
V�
`
j!� 0,260,480,680,850,1000,1150
t
~� �_DS1
�� 0:�23,1,0,0,0,0,0,0,0,0
�	�_CLS
��_JOHNNY(100,0,1.6,10)
��_JOHNNY(500,0,1,-10)
��_JOHNNY(700,0,1.6,10)
�A$=�
��
�
�� �_JOHNNY(OX%,OY%,S,D%)
�� X%,Y%,P%,C%
�� BANK%=0 � 1
�ș"OS_Byte",112,BANK%+1
dX%=BANK%*D%


� �tjO
� P%,C%
�
(� X%,Y%
2X%=X%*S+OX%:Y%=Y%*S+OY%
<� dX%+X%,Y%
F� A%=1 � P%
P� X%,Y%
ZX%=X%*S+OX%:Y%=Y%*S+OY%
d� dX%+X%,Y%
n�
x� P%,C%
�
� P%=0
��
��
�
�h� 79,3,39,71,70,79,79,75,87,105,108,196,131,240,146,279,190,195,199,169,211,121,219,94,225,93,224,76
�g�268,63,270,73,248,83,237,94,245,95,229,205,215,285,198,349,204,413,228,387,231,360,220,341,207,330
�l�212,312,234,328,255,354,257,389,253,400,258,403,237,443,219,468,201,485,215,507,194,507,182,506,174,514
�j�188,532,197,544,205,545,207,560,205,571,203,582,104,585,104,574,98,564,99,551,107,550,110,537,120,527
�c�133,519,130,508,99,496,114,488,100,469,83,441,63,393,66,389,59,355,52,322,51,303,45,292,50,275
�a�58,282,67,284,67,298,67,316,87,385,100,411,110,357,89,291,80,252,76,208,72,162,69,124,70,106
�}�71,100,43,72,1,3,132,569,132,569,1,3,171,568,171,568,2,3,152,574,152,547,169,548,2,3,170,534,154,527,138,533,2,3,125,503
�x�158,459,102,495,2,3,199,488,156,459,178,499,4,3,105,388,113,408,113,435,191,432,200,402,4,3,175,409,170,383,133,383
�~�135,409,170,409,1,3,186,436,200,479,1,3,107,475,122,434,1,3,63,393,89,381,1,3,219,96,240,97,1,1,87,102,69,106,5,1,107,590
n�79,587,81,597,233,596,234,585,201,583,7,1,206,593,203,618,178,615,157,615,138,618,122,619,109,620,108,600
H�7,1,139,404,141,386,158,383,162,403,150,401,150,395,154,395,155,400
	� 0,0
"
,ș"OS_Byte",13,4
6ș"OS_Release",&10,BSWAP,0
@ș"OS_Byte",113,0
Jș"OS_Byte",112,0
T�
^�" at line ";�
�
00000000  0d 00 0a 19 f4 3e 21 53  74 65 72 65 6f 5f 33 64  |.....>!Stereo_3d|
00000010  2e 33 44 5f 44 65 6d 6f  33 0d 00 14 19 f4 20 43  |.3D_Demo3..... C|
00000020  6f 70 79 72 69 67 68 74  20 4d 69 6b 65 20 43 6f  |opyright Mike Co|
00000030  6f 6b 0d 00 1e 1c f4 20  4d 61 79 20 39 33 20 41  |ok..... May 93 A|
00000040  63 6f 72 6e 20 43 6f 6d  70 75 74 69 6e 67 0d 00  |corn Computing..|
00000050  28 0f de 20 43 4f 44 45  25 20 32 30 30 0d 00 32  |(.. CODE% 200..2|
00000060  23 de 20 78 25 28 31 31  30 29 2c 79 25 28 31 31  |#. x%(110),y%(11|
00000070  30 29 2c 68 25 28 31 31  30 29 2c 44 25 28 38 29  |0),h%(110),D%(8)|
00000080  0d 00 3c 1d 2a 4b 45 59  31 53 59 53 22 4f 53 5f  |..<.*KEY1SYS"OS_|
00000090  42 79 74 65 22 2c 31 31  33 2c 31 7c 4d 0d 00 46  |Byte",113,1|M..F|
000000a0  1d 2a 4b 45 59 32 53 59  53 22 4f 53 5f 42 79 74  |.*KEY2SYS"OS_Byt|
000000b0  65 22 2c 31 31 33 2c 32  7c 4d 0d 00 50 1f 4f 58  |e",113,2|M..P.OX|
000000c0  31 25 3d 30 3a 4f 58 32  25 3d 30 3a 4f 59 31 25  |1%=0:OX2%=0:OY1%|
000000d0  3d 30 3a 4f 59 32 25 3d  30 0d 00 5a 4a 2a 53 43  |=0:OY2%=0..ZJ*SC|
000000e0  52 45 45 4e 53 49 5a 45  20 33 32 30 4b 20 2a 45  |REENSIZE 320K *E|
000000f0  52 52 4f 52 20 30 20 33  32 30 4b 20 73 63 72 65  |RROR 0 320K scre|
00000100  65 6e 20 6d 65 6d 6f 72  79 20 72 65 71 75 69 72  |en memory requir|
00000110  65 64 20 75 73 65 20 54  61 73 6b 20 44 69 73 70  |ed use Task Disp|
00000120  6c 61 79 0d 00 64 0a f2  5f 49 4e 49 54 0d 00 6e  |lay..d.._INIT..n|
00000130  05 f5 0d 00 78 08 eb 20  31 32 0d 00 82 09 f2 5f  |....x.. 12....._|
00000140  43 4c 53 0d 00 8c 0b f2  5f 49 4e 54 52 4f 0d 00  |CLS....._INTRO..|
00000150  96 0a c8 8e 20 be 20 ca  0d 00 a0 14 c9 20 22 31  |.... . ...... "1|
00000160  22 3a f2 5f 54 64 72 61  77 31 3a cb 0d 00 aa 13  |":._Tdraw1:.....|
00000170  c9 20 22 32 22 3a f2 5f  53 63 72 69 62 3a cb 0d  |. "2":._Scrib:..|
00000180  00 b4 11 c9 20 22 33 22  3a f2 5f 44 53 32 3a cb  |.... "3":._DS2:.|
00000190  0d 00 be 11 c9 20 22 34  22 3a f2 5f 53 50 49 3a  |..... "4":._SPI:|
000001a0  cb 0d 00 c8 16 c9 20 22  35 22 3a f2 5f 64 72 61  |...... "5":._dra|
000001b0  77 42 61 6c 6c 3a cb 0d  00 d2 13 c9 20 22 36 22  |wBall:...... "6"|
000001c0  3a f2 5f 53 6e 61 6b 65  3a cb 0d 00 dc 14 c9 20  |:._Snake:...... |
000001d0  22 37 22 3a f2 5f 4c 4f  52 4e 54 5a 3a cb 0d 01  |"7":._LORNTZ:...|
000001e0  04 13 c9 20 22 51 22 2c  22 71 22 3a f2 5f 45 4e  |... "Q","q":._EN|
000001f0  44 0d 01 0e 05 cb 0d 01  18 07 fd 20 a3 0d 01 22  |D.......... ..."|
00000200  04 0d 01 2c 0b dd 20 f2  5f 45 4e 44 0d 01 36 21  |...,.. ._END..6!|
00000210  f4 20 45 4e 44 20 52 4f  55 54 49 4e 45 20 54 49  |. END ROUTINE TI|
00000220  44 59 20 55 50 20 56 45  43 54 4f 52 53 0d 01 40  |DY UP VECTORS..@|
00000230  14 c8 99 22 4f 53 5f 42  79 74 65 22 2c 31 33 2c  |..."OS_Byte",13,|
00000240  34 0d 01 4a 1e c8 99 22  4f 53 5f 52 65 6c 65 61  |4..J..."OS_Relea|
00000250  73 65 22 2c 26 31 30 2c  42 53 57 41 50 2c 30 0d  |se",&10,BSWAP,0.|
00000260  01 54 15 c8 99 22 4f 53  5f 42 79 74 65 22 2c 31  |.T..."OS_Byte",1|
00000270  31 33 2c 30 0d 01 5e 15  c8 99 22 4f 53 5f 42 79  |13,0..^..."OS_By|
00000280  74 65 22 2c 31 31 32 2c  30 0d 01 68 05 e0 0d 01  |te",112,0..h....|
00000290  72 04 0d 01 7c 0d dd 20  f2 5f 49 4e 54 52 4f 0d  |r...|.. ._INTRO.|
000002a0  01 86 27 f2 5f 33 44 50  28 31 38 2c 33 2c 22 33  |..'._3DP(18,3,"3|
000002b0  44 20 44 65 6d 6f 73 20  42 79 20 4d 69 6b 65 20  |D Demos By Mike |
000002c0  43 6f 6f 6b 22 29 0d 01  90 4d f2 5f 33 44 50 28  |Cook")...M._3DP(|
000002d0  30 2c 35 2c 22 54 6f 20  73 65 65 20 74 68 65 20  |0,5,"To see the |
000002e0  33 44 20 53 74 65 72 65  6f 20 65 66 66 65 63 74  |3D Stereo effect|
000002f0  20 79 6f 75 20 6e 65 65  64 20 74 68 65 20 74 77  | you need the tw|
00000300  69 6e 20 6d 6f 74 6f 72  20 73 68 75 74 74 65 72  |in motor shutter|
00000310  2c 22 29 0d 01 9a 4e f2  5f 33 44 50 28 30 2c 36  |,")...N._3DP(0,6|
00000320  2c 22 61 73 20 66 65 61  74 75 72 65 64 20 69 6e  |,"as featured in|
00000330  20 74 68 65 20 42 6f 64  79 20 42 75 69 6c 64 20  | the Body Build |
00000340  61 72 74 69 63 61 6c 20  41 63 6f 72 6e 20 43 6f  |artical Acorn Co|
00000350  6d 70 75 74 69 6e 67 20  4d 61 79 20 39 33 2e 22  |mputing May 93."|
00000360  29 0d 01 a4 2c f2 5f 33  44 50 28 30 2c 38 2c 22  |)...,._3DP(0,8,"|
00000370  50 72 65 73 73 20 61 20  6b 65 79 20 74 6f 20 67  |Press a key to g|
00000380  65 74 20 61 20 64 65 6d  6f 3a 2d 22 29 0d 01 ae  |et a demo:-")...|
00000390  4d f2 5f 33 44 50 28 30  2c 31 30 2c 22 31 20 2d  |M._3DP(0,10,"1 -|
000003a0  20 52 65 64 20 61 6e 64  20 47 72 65 65 6e 20 73  | Red and Green s|
000003b0  63 72 65 65 6e 20 61 64  6a 75 73 74 20 79 6f 75  |creen adjust you|
000003c0  72 20 6d 6f 74 6f 72 73  20 73 6f 20 74 68 61 74  |r motors so that|
000003d0  20 79 6f 75 20 73 65 65  22 29 0d 01 b8 34 f2 5f  | you see")...4._|
000003e0  33 44 50 28 30 2c 31 31  2c 22 20 20 20 20 61 20  |3DP(0,11,"    a |
000003f0  73 69 6e 67 6c 65 20 63  6f 6c 6f 75 72 20 77 69  |single colour wi|
00000400  74 68 20 65 61 63 68 20  65 79 65 2e 22 29 0d 01  |th each eye.")..|
00000410  c2 53 f2 5f 33 44 50 28  30 2c 31 32 2c 22 32 20  |.S._3DP(0,12,"2 |
00000420  2d 20 4a 75 73 74 20 73  63 72 69 62 62 6c 65 2c  |- Just scribble,|
00000430  20 62 75 74 20 63 68 61  6e 67 65 20 74 68 65 20  | but change the |
00000440  70 68 61 73 65 20 73 77  69 74 63 68 20 74 6f 20  |phase switch to |
00000450  73 77 61 70 20 74 68 65  20 64 65 70 74 68 2e 22  |swap the depth."|
00000460  29 0d 01 cc 38 f2 5f 33  44 50 28 30 2c 31 33 2c  |)...8._3DP(0,13,|
00000470  22 33 20 2d 20 41 20 43  61 72 74 6f 6f 6e 20 63  |"3 - A Cartoon c|
00000480  68 61 72 61 63 74 6f 72  2c 20 6c 6f 74 73 20 6f  |haractor, lots o|
00000490  66 20 74 68 65 6d 21 22  29 0d 01 d6 24 f2 5f 33  |f them!")...$._3|
000004a0  44 50 28 30 2c 31 34 2c  22 34 20 2d 20 53 70 69  |DP(0,14,"4 - Spi|
000004b0  72 61 6c 20 74 75 6e 6e  65 6c 2e 22 29 0d 01 e0  |ral tunnel.")...|
000004c0  61 f2 5f 33 44 50 28 30  2c 31 35 2c 22 35 20 2d  |a._3DP(0,15,"5 -|
000004d0  20 41 20 70 72 69 6d 69  64 20 6f 66 20 62 61 6c  | A primid of bal|
000004e0  6c 73 20 69 66 20 74 68  65 20 70 68 61 73 65 20  |ls if the phase |
000004f0  73 77 69 74 63 68 20 69  73 20 77 72 6f 6e 67 20  |switch is wrong |
00000500  79 6f 75 20 77 69 6c 6c  20 6e 6f 74 20 73 65 65  |you will not see|
00000510  20 74 68 65 20 65 66 66  65 63 74 2e 22 29 0d 01  | the effect.")..|
00000520  ea 45 f2 5f 33 44 50 28  30 2c 31 36 2c 22 36 20  |.E._3DP(0,16,"6 |
00000530  2d 20 54 68 65 20 33 44  20 53 6e 61 6b 65 2c 20  |- The 3D Snake, |
00000540  61 67 61 69 6e 20 67 65  74 20 74 68 65 20 70 68  |again get the ph|
00000550  61 73 65 20 73 77 69 74  63 68 20 72 69 67 68 74  |ase switch right|
00000560  2e 22 29 0d 01 f4 2a f2  5f 33 44 50 28 30 2c 31  |.")...*._3DP(0,1|
00000570  37 2c 22 37 20 2d 20 54  68 65 20 4c 6f 72 65 6e  |7,"7 - The Loren|
00000580  7a 20 41 74 74 72 61 63  74 6f 72 22 29 0d 02 1c  |z Attractor")...|
00000590  1e f2 5f 33 44 50 28 30  2c 32 31 2c 22 51 20 2d  |.._3DP(0,21,"Q -|
000005a0  20 54 6f 20 51 75 69 74  2e 22 29 0d 02 26 2e f2  | To Quit.")..&..|
000005b0  5f 33 44 50 28 30 2c 32  33 2c 22 50 72 65 73 73  |_3DP(0,23,"Press|
000005c0  20 61 6e 79 20 6b 65 79  20 74 6f 20 72 65 74 75  | any key to retu|
000005d0  72 6e 20 68 65 72 65 22  29 0d 02 30 15 c8 99 22  |rn here")..0..."|
000005e0  4f 53 5f 42 79 74 65 22  2c 31 31 32 2c 32 0d 02  |OS_Byte",112,2..|
000005f0  3a 16 f1 8a 31 30 2c 32  38 29 22 4c 65 66 74 20  |:...10,28)"Left |
00000600  65 79 65 22 0d 02 44 15  c8 99 22 4f 53 5f 42 79  |eye"..D..."OS_By|
00000610  74 65 22 2c 31 31 32 2c  31 0d 02 4e 17 f1 8a 35  |te",112,1..N...5|
00000620  30 2c 32 38 29 22 52 69  67 68 74 20 65 79 65 22  |0,28)"Right eye"|
00000630  0d 02 58 05 e1 0d 02 62  04 0d 02 6c 15 dd 20 f2  |..X....b...l.. .|
00000640  5f 33 44 50 28 58 25 2c  59 25 2c 41 24 29 0d 02  |_3DP(X%,Y%,A$)..|
00000650  76 15 c8 99 22 4f 53 5f  42 79 74 65 22 2c 31 31  |v..."OS_Byte",11|
00000660  32 2c 31 0d 02 80 0f f1  8a 58 25 2c 59 25 29 41  |2,1......X%,Y%)A|
00000670  24 3b 0d 02 8a 15 c8 99  22 4f 53 5f 42 79 74 65  |$;......"OS_Byte|
00000680  22 2c 31 31 32 2c 32 0d  02 94 0f f1 8a 58 25 2c  |",112,2......X%,|
00000690  59 25 29 41 24 3b 0d 02  9e 05 e1 0d 02 a8 04 0d  |Y%)A$;..........|
000006a0  02 b2 0c dd 20 f2 5f 49  4e 49 54 0d 02 bc 12 e3  |.... ._INIT.....|
000006b0  20 41 25 3d 30 20 b8 20  33 20 88 20 33 0d 02 c6  | A%=0 . 3 . 3...|
000006c0  0c 50 25 3d 43 4f 44 45  25 0d 02 d0 05 5b 0d 02  |.P%=CODE%....[..|
000006d0  da 0a 4f 50 54 20 41 25  0d 02 e4 10 2e 42 41 4e  |..OPT A%.....BAN|
000006e0  4b 20 45 51 55 44 20 31  0d 02 ee 0a 2e 42 53 57  |K EQUD 1.....BSW|
000006f0  41 50 0d 02 f8 0d 43 4d  50 20 52 30 2c 23 34 0d  |AP....CMP R0,#4.|
00000700  03 02 23 4d 4f 56 4e 45  20 52 31 35 2c 52 31 34  |..#MOVNE R15,R14|
00000710  20 5c 20 f8 20 e7 20 ac  20 4f 55 52 20 45 56 45  | \ . . . OUR EVE|
00000720  4e 54 0d 03 0c 12 5c 20  c7 99 20 f8 20 41 44 44  |NT....\ .. . ADD|
00000730  52 45 53 53 0d 03 16 1a  53 54 4d 46 44 20 52 31  |RESS....STMFD R1|
00000740  33 21 2c 7b 52 31 34 2c  52 38 2c 52 39 7d 0d 03  |3!,{R14,R8,R9}..|
00000750  20 0e 4d 4f 56 20 52 39  2c 52 31 35 0d 03 2a 0f  | .MOV R9,R15..*.|
00000760  84 52 20 52 38 2c 52 39  2c 23 33 0d 03 34 0e 54  |.R R8,R9,#3..4.T|
00000770  45 51 50 20 52 38 2c 23  30 0d 03 3e 0f 4d 4f 56  |EQP R8,#0..>.MOV|
00000780  4e 56 20 52 30 2c 52 30  0d 03 48 14 53 54 4d 46  |NV R0,R0..H.STMF|
00000790  44 20 52 31 33 21 2c 7b  52 31 34 7d 0d 03 52 04  |D R13!,{R14}..R.|
000007a0  0d 03 5c 0f 4d 4f 56 20  52 30 2c 23 31 31 33 0d  |..\.MOV R0,#113.|
000007b0  03 66 0f 4c 44 52 20 52  31 2c 42 41 4e 4b 0d 03  |.f.LDR R1,BANK..|
000007c0  70 22 82 20 52 31 2c 52  31 2c 23 33 20 5c 20 b8  |p". R1,R1,#3 \ .|
000007d0  47 47 4c 45 20 42 41 4e  4b 20 4e 55 4d 42 45 52  |GGLE BANK NUMBER|
000007e0  0d 03 7a 0f 53 54 52 20  52 31 2c 42 41 4e 4b 0d  |..z.STR R1,BANK.|
000007f0  03 84 20 53 57 49 20 22  4f 53 5f 42 79 74 65 22  |.. SWI "OS_Byte"|
00000800  20 20 5c 20 43 48 41 4e  47 45 20 42 41 4e 4b 0d  |  \ CHANGE BANK.|
00000810  03 8e 04 0d 03 98 07 5c  20 f8 0d 03 a2 14 4c 44  |.......\ .....LD|
00000820  4d 46 44 20 52 31 33 21  2c 7b 52 31 34 7d 0d 03  |MFD R13!,{R14}..|
00000830  ac 0e 54 45 51 50 20 52  39 2c 23 30 0d 03 b6 0f  |..TEQP R9,#0....|
00000840  4d 4f 56 4e 56 20 52 30  2c 52 30 0d 03 c0 04 0d  |MOVNV R0,R0.....|
00000850  03 ca 1a 4c 44 4d 46 44  20 52 31 33 21 2c 7b 52  |...LDMFD R13!,{R|
00000860  31 34 2c 52 38 2c 52 39  7d 0d 03 d4 0f 4d 4f 56  |14,R8,R9}....MOV|
00000870  20 52 31 35 2c 52 31 34  0d 03 de 05 5d 0d 03 e8  | R15,R14....]...|
00000880  05 ed 0d 03 f2 1c c8 99  22 4f 53 5f 43 6c 61 69  |........"OS_Clai|
00000890  6d 22 2c 26 31 30 2c 42  53 57 41 50 2c 30 0d 03  |m",&10,BSWAP,0..|
000008a0  fc 0e ee 20 85 20 e5 20  8d 54 6c 50 0d 04 06 14  |... . . .TlP....|
000008b0  c8 99 22 4f 53 5f 42 79  74 65 22 2c 31 34 2c 34  |.."OS_Byte",14,4|
000008c0  0d 04 10 05 e1 0d 04 1a  04 0d 04 24 0b dd 20 f2  |...........$.. .|
000008d0  5f 53 50 49 0d 04 2e 13  ea 20 58 25 2c 59 25 2c  |_SPI..... X%,Y%,|
000008e0  52 2c 42 25 2c 53 25 0d  04 38 1e eb 20 31 35 3a  |R,B%,S%..8.. 15:|
000008f0  ef 32 33 2c 31 2c 30 2c  30 2c 30 2c 30 2c 30 2c  |.23,1,0,0,0,0,0,|
00000900  30 2c 30 2c 30 0d 04 42  09 f2 5f 43 4c 53 0d 04  |0,0,0..B.._CLS..|
00000910  4c 05 f5 0d 04 56 0e 52  3d 35 31 32 3a 41 25 3d  |L....V.R=512:A%=|
00000920  30 0d 04 60 05 f5 0d 04  6a 29 e7 20 91 3e 31 32  |0..`....j). .>12|
00000930  30 20 80 20 53 25 3d 30  20 8c 20 e6 20 30 2c b3  |0 . S%=0 . . 0,.|
00000940  28 36 33 29 20 c8 9c 20  32 35 35 3a d1 3d 30 0d  |(63) .. 255:.=0.|
00000950  04 74 15 58 25 3d 36 34  30 2b 9b 28 b2 28 41 25  |.t.X%=640+.(.(A%|
00000960  29 29 2a 52 0d 04 7e 15  59 25 3d 35 31 32 2b b5  |))*R..~.Y%=512+.|
00000970  28 b2 28 41 25 29 29 2a  52 0d 04 88 1b f2 5f 33  |(.(A%))*R....._3|
00000980  44 28 58 25 2c 59 25 2c  28 52 2f 34 29 2d 36 34  |D(X%,Y%,(R/4)-64|
00000990  2c 41 25 29 0d 04 92 0b  52 3d 52 2d 2e 32 35 0d  |,A%)....R=R-.25.|
000009a0  04 9c 0c 41 25 3d 41 25  2b 31 30 0d 04 a6 0c 42  |...A%=A%+10....B|
000009b0  25 3d 96 28 2d 31 29 0d  04 b0 12 fd 20 52 3c 31  |%=.(-1)..... R<1|
000009c0  30 20 84 20 42 25 3c 3e  30 0d 04 ba 0d 53 25 3d  |0 . B%<>0....S%=|
000009d0  53 25 20 82 20 31 0d 04  c4 0e e6 20 30 2c 30 20  |S% . 1..... 0,0 |
000009e0  c8 9c 20 30 0d 04 ce 09  d1 3d 31 33 30 0d 04 d8  |.. 0.....=130...|
000009f0  0b fd 20 42 25 3c 3e 30  0d 04 e2 08 41 24 3d be  |.. B%<>0....A$=.|
00000a00  0d 04 ec 05 e1 0d 04 f6  04 0d 05 00 0f dd 20 f2  |.............. .|
00000a10  5f 50 49 43 28 46 24 29  0d 05 0a 09 f2 5f 43 4c  |_PIC(F$)....._CL|
00000a20  53 0d 05 14 15 c8 99 22  4f 53 5f 42 79 74 65 22  |S......"OS_Byte"|
00000a30  2c 31 31 32 2c 31 0d 05  1e 1d f4 20 4d 4f 56 45  |,112,1..... MOVE|
00000a40  20 30 2c 31 30 32 34 3a  44 52 41 57 20 31 30 2c  | 0,1024:DRAW 10,|
00000a50  39 30 30 0d 05 28 26 ff  28 22 53 43 52 45 45 4e  |900..(&.("SCREEN|
00000a60  4c 4f 41 44 20 3c 33 44  53 24 44 69 72 3e 2e 22  |LOAD <3DS$Dir>."|
00000a70  2b 46 24 2b 22 5f 52 22  29 0d 05 32 15 c8 99 22  |+F$+"_R")..2..."|
00000a80  4f 53 5f 42 79 74 65 22  2c 31 31 32 2c 32 0d 05  |OS_Byte",112,2..|
00000a90  3c 1d f4 20 4d 4f 56 45  20 30 2c 31 30 32 34 3a  |<.. MOVE 0,1024:|
00000aa0  44 52 41 57 20 31 30 2c  39 30 30 0d 05 46 26 ff  |DRAW 10,900..F&.|
00000ab0  28 22 53 43 52 45 45 4e  4c 4f 41 44 20 3c 33 44  |("SCREENLOAD <3D|
00000ac0  53 24 44 69 72 3e 2e 22  2b 46 24 2b 22 5f 4c 22  |S$Dir>."+F$+"_L"|
00000ad0  29 0d 05 50 19 ef 32 33  2c 31 2c 30 2c 30 2c 30  |)..P..23,1,0,0,0|
00000ae0  2c 30 2c 30 2c 30 2c 30  2c 30 0d 05 5a 08 41 24  |,0,0,0,0,0..Z.A$|
00000af0  3d be 0d 05 64 05 e1 0d  05 6e 04 0d 05 78 0e dd  |=...d....n...x..|
00000b00  20 f2 5f 54 64 72 61 77  31 0d 05 82 1e eb 20 31  | ._Tdraw1..... 1|
00000b10  32 3a ef 32 33 2c 31 2c  30 2c 30 2c 30 2c 30 2c  |2:.23,1,0,0,0,0,|
00000b20  30 2c 30 2c 30 2c 30 0d  05 8c 15 c8 99 22 4f 53  |0,0,0,0......"OS|
00000b30  5f 42 79 74 65 22 2c 31  31 32 2c 31 0d 05 96 0b  |_Byte",112,1....|
00000b40  fb 20 31 32 38 2b 31 0d  05 a0 05 db 0d 05 aa 15  |. 128+1.........|
00000b50  c8 99 22 4f 53 5f 42 79  74 65 22 2c 31 31 32 2c  |.."OS_Byte",112,|
00000b60  32 0d 05 b4 09 e6 20 30  2c 31 0d 05 be 0b fb 20  |2..... 0,1..... |
00000b70  31 32 38 2b 32 0d 05 c8  05 db 0d 05 d2 08 41 24  |128+2.........A$|
00000b80  3d be 0d 05 dc 05 e1 0d  05 e6 04 0d 05 f0 0d dd  |=...............|
00000b90  20 f2 5f 53 63 72 69 62  0d 05 fa 11 ea 20 58 25  | ._Scrib..... X%|
00000ba0  2c 59 25 2c 5a 25 2c 42  25 0d 06 04 1e eb 20 31  |,Y%,Z%,B%..... 1|
00000bb0  32 3a ef 32 33 2c 31 2c  30 2c 30 2c 30 2c 30 2c  |2:.23,1,0,0,0,0,|
00000bc0  30 2c 30 2c 30 2c 30 0d  06 0e 05 f5 0d 06 18 09  |0,0,0,0.........|
00000bd0  f2 5f 43 4c 53 0d 06 22  11 f2 5f 33 44 28 30 2c  |._CLS..".._3D(0,|
00000be0  30 2c 30 2c 30 29 0d 06  2c 08 59 25 3d 30 0d 06  |0,0,0)..,.Y%=0..|
00000bf0  36 14 e3 20 5a 25 3d 30  20 b8 20 38 30 20 88 20  |6.. Z%=0 . 80 . |
00000c00  32 30 0d 06 40 0c e6 20  30 2c b3 28 37 29 0d 06  |20..@.. 0,.(7)..|
00000c10  4a 0f e3 20 58 25 3d 30  20 b8 20 34 30 0d 06 54  |J.. X%=0 . 40..T|
00000c20  23 f2 5f 33 44 28 b3 28  33 30 30 29 2b 59 25 2c  |#._3D(.(300)+Y%,|
00000c30  b3 28 31 30 32 34 29 2c  5a 25 2d 34 30 2c 31 29  |.(1024),Z%-40,1)|
00000c40  0d 06 5e 05 ed 0d 06 68  0b 59 25 2b 3d 32 35 36  |..^....h.Y%+=256|
00000c50  0d 06 72 05 ed 0d 06 7c  07 d1 3d 30 0d 06 86 05  |..r....|..=0....|
00000c60  f5 0d 06 90 0c 42 25 3d  96 28 2d 31 29 0d 06 9a  |.....B%=.(-1)...|
00000c70  13 fd 20 91 3e 36 30 30  20 84 20 42 25 3c 3e 30  |.. .>600 . B%<>0|
00000c80  0d 06 a4 0b fd 20 42 25  3c 3e 30 0d 06 ae 08 41  |..... B%<>0....A|
00000c90  24 3d be 0d 06 b8 05 e1  0d 06 c2 04 0d 06 cc 0b  |$=..............|
00000ca0  dd 20 f2 5f 43 4c 53 0d  06 d6 15 c8 99 22 4f 53  |. ._CLS......"OS|
00000cb0  5f 42 79 74 65 22 2c 31  31 32 2c 31 0d 06 e0 05  |_Byte",112,1....|
00000cc0  db 0d 06 ea 15 c8 99 22  4f 53 5f 42 79 74 65 22  |......."OS_Byte"|
00000cd0  2c 31 31 32 2c 32 0d 06  f4 05 db 0d 06 fe 05 e1  |,112,2..........|
00000ce0  0d 07 08 04 0d 07 12 17  dd 20 f2 5f 33 44 28 58  |......... ._3D(X|
00000cf0  25 2c 59 25 2c 5a 25 2c  50 25 29 0d 07 1c 15 c8  |%,Y%,Z%,P%).....|
00000d00  99 22 4f 53 5f 42 79 74  65 22 2c 31 31 32 2c 31  |."OS_Byte",112,1|
00000d10  0d 07 26 0f ec 20 4f 58  31 25 2c 4f 59 31 25 0d  |..&.. OX1%,OY1%.|
00000d20  07 30 15 e7 20 50 25 3c  3e 30 20 8c 20 df 20 58  |.0.. P%<>0 . . X|
00000d30  25 2c 59 25 0d 07 3a 13  4f 58 31 25 3d 58 25 3a  |%,Y%..:.OX1%=X%:|
00000d40  4f 59 31 25 3d 59 25 0d  07 44 15 c8 99 22 4f 53  |OY1%=Y%..D..."OS|
00000d50  5f 42 79 74 65 22 2c 31  31 32 2c 32 0d 07 4e 0f  |_Byte",112,2..N.|
00000d60  ec 20 4f 58 32 25 2c 4f  59 32 25 0d 07 58 18 e7  |. OX2%,OY2%..X..|
00000d70  20 50 25 3c 3e 30 20 8c  20 df 20 58 25 2b 5a 25  | P%<>0 . . X%+Z%|
00000d80  2c 59 25 0d 07 62 16 4f  58 32 25 3d 58 25 2b 5a  |,Y%..b.OX2%=X%+Z|
00000d90  25 3a 4f 59 32 25 3d 59  25 0d 07 6c 05 e1 0d 07  |%:OY2%=Y%..l....|
00000da0  76 04 0d 07 80 0b dd 20  f2 5f 43 4c 53 0d 07 8a  |v...... ._CLS...|
00000db0  15 c8 99 22 4f 53 5f 42  79 74 65 22 2c 31 31 32  |..."OS_Byte",112|
00000dc0  2c 31 0d 07 94 05 db 0d  07 9e 15 c8 99 22 4f 53  |,1..........."OS|
00000dd0  5f 42 79 74 65 22 2c 31  31 32 2c 32 0d 07 a8 05  |_Byte",112,2....|
00000de0  db 0d 07 b2 05 e1 0d 07  bc 04 0d 07 c6 10 dd 20  |............... |
00000df0  f2 5f 64 72 61 77 42 61  6c 6c 0d 07 d0 12 ea 20  |._drawBall..... |
00000e00  5a 25 2c 41 25 2c 42 25  2c 5a 49 25 0d 07 da 1e  |Z%,A%,B%,ZI%....|
00000e10  eb 20 31 35 3a ef 32 33  2c 31 2c 30 2c 30 2c 30  |. 15:.23,1,0,0,0|
00000e20  2c 30 2c 30 2c 30 2c 30  2c 30 0d 07 e4 09 5a 49  |,0,0,0,0,0....ZI|
00000e30  25 3d 38 0d 07 ee 05 f5  0d 07 f8 0d 5a 25 3d 2d  |%=8.........Z%=-|
00000e40  34 2a 5a 49 25 0d 08 02  09 f2 5f 43 4c 53 0d 08  |4*ZI%....._CLS..|
00000e50  0c 17 e3 20 41 25 3d 31  30 30 20 b8 20 34 38 30  |... A%=100 . 480|
00000e60  20 88 20 35 30 0d 08 16  15 f2 5f 53 42 41 4c 4c  | . 50....._SBALL|
00000e70  28 41 25 2c 41 25 2c 5a  25 29 0d 08 20 1a f2 5f  |(A%,A%,Z%).. .._|
00000e80  53 42 41 4c 4c 28 31 33  34 34 2d 41 25 2c 41 25  |SBALL(1344-A%,A%|
00000e90  2c 5a 25 29 0d 08 2a 1a  f2 5f 53 42 41 4c 4c 28  |,Z%)..*.._SBALL(|
00000ea0  41 25 2c 31 30 38 38 2d  41 25 2c 5a 25 29 0d 08  |A%,1088-A%,Z%)..|
00000eb0  34 1f f2 5f 53 42 41 4c  4c 28 31 33 34 34 2d 41  |4.._SBALL(1344-A|
00000ec0  25 2c 31 30 38 38 2d 41  25 2c 5a 25 29 0d 08 3e  |%,1088-A%,Z%)..>|
00000ed0  0d 5a 25 3d 5a 25 2b 5a  49 25 0d 08 48 1a e7 20  |.Z%=Z%+ZI%..H.. |
00000ee0  5a 25 3d 30 20 8c 20 e6  20 30 2c 36 33 3a f2 5f  |Z%=0 . . 0,63:._|
00000ef0  47 52 49 44 0d 08 52 05  ed 0d 08 5c 17 f2 5f 53  |GRID..R....\.._S|
00000f00  42 41 4c 4c 28 35 36 30  2c 35 33 32 2c 5a 25 29  |BALL(560,532,Z%)|
00000f10  0d 08 66 17 f2 5f 53 42  41 4c 4c 28 37 35 32 2c  |..f.._SBALL(752,|
00000f20  35 33 32 2c 5a 25 29 0d  08 70 1b f2 5f 53 42 41  |532,Z%)..p.._SBA|
00000f30  4c 4c 28 36 35 36 2c 35  33 32 2c 5a 25 2b 5a 49  |LL(656,532,Z%+ZI|
00000f40  25 29 0d 08 7a 07 d1 3d  30 0d 08 84 05 f5 0d 08  |%)..z..=0.......|
00000f50  8e 0c 42 25 3d 96 28 2d  31 29 0d 08 98 13 fd 20  |..B%=.(-1)..... |
00000f60  91 3e 37 30 30 20 84 20  42 25 3c 3e 30 0d 08 a2  |.>700 . B%<>0...|
00000f70  0f 5a 49 25 3d b3 28 31  32 29 2b 34 0d 08 ac 0b  |.ZI%=.(12)+4....|
00000f80  fd 20 42 25 3c 3e 30 0d  08 b6 08 41 24 3d be 0d  |. B%<>0....A$=..|
00000f90  08 c0 05 e1 0d 08 ca 04  0d 08 d4 0c dd 20 f2 5f  |............. ._|
00000fa0  47 52 49 44 0d 08 de 15  c8 99 22 4f 53 5f 42 79  |GRID......"OS_By|
00000fb0  74 65 22 2c 31 31 32 2c  31 0d 08 e8 0b f2 5f 47  |te",112,1....._G|
00000fc0  52 49 44 31 0d 08 f2 15  c8 99 22 4f 53 5f 42 79  |RID1......"OS_By|
00000fd0  74 65 22 2c 31 31 32 2c  32 0d 08 fc 0b f2 5f 47  |te",112,2....._G|
00000fe0  52 49 44 31 0d 09 06 05  e1 0d 09 10 04 0d 09 1a  |RID1............|
00000ff0  0d dd 20 f2 5f 47 52 49  44 31 0d 09 24 0b ea 20  |.. ._GRID1..$.. |
00001000  58 25 2c 59 25 0d 09 2e  0d ef 20 32 39 2c 30 3b  |X%,Y%..... 29,0;|
00001010  30 3b 0d 09 38 1b e3 20  58 25 3d 30 20 b8 20 31  |0;..8.. X%=0 . 1|
00001020  32 37 39 20 88 20 31 32  38 30 2f 31 30 0d 09 42  |279 . 1280/10..B|
00001030  1b e3 20 59 25 3d 30 20  b8 20 31 30 32 33 20 88  |.. Y%=0 . 1023 .|
00001040  20 31 30 32 34 2f 31 30  0d 09 4c 12 86 20 58 25  | 1024/10..L.. X%|
00001050  2c 30 2c 58 25 2c 31 30  32 33 0d 09 56 12 86 20  |,0,X%,1023..V.. |
00001060  30 2c 59 25 2c 31 32 37  39 2c 59 25 0d 09 60 07  |0,Y%,1279,Y%..`.|
00001070  ed 3a ed 0d 09 6a 16 86  20 31 32 37 39 2c 30 2c  |.:...j.. 1279,0,|
00001080  31 32 37 39 2c 31 30 32  33 0d 09 74 05 e1 0d 09  |1279,1023..t....|
00001090  7e 04 0d 09 88 17 dd 20  f2 5f 53 42 41 4c 4c 28  |~...... ._SBALL(|
000010a0  58 25 2c 59 25 2c 44 25  29 0d 09 92 0b ea 20 42  |X%,Y%,D%)..... B|
000010b0  61 73 65 25 0d 09 9c 0e  42 61 73 65 25 3d a4 72  |ase%....Base%=.r|
000010c0  67 62 0d 09 a6 15 c8 99  22 4f 53 5f 42 79 74 65  |gb......"OS_Byte|
000010d0  22 2c 31 31 32 2c 31 0d  09 b0 13 f2 5f 42 41 4c  |",112,1....._BAL|
000010e0  4c 28 58 25 2c 59 25 2c  30 29 0d 09 ba 15 c8 99  |L(X%,Y%,0)......|
000010f0  22 4f 53 5f 42 79 74 65  22 2c 31 31 32 2c 32 0d  |"OS_Byte",112,2.|
00001100  09 c4 16 f2 5f 42 41 4c  4c 28 58 25 2b 44 25 2c  |...._BALL(X%+D%,|
00001110  59 25 2c 33 29 0d 09 ce  05 e1 0d 09 d8 04 0d 09  |Y%,3)...........|
00001120  e2 18 dd 20 f2 5f 42 41  4c 4c 28 58 42 25 2c 59  |... ._BALL(XB%,Y|
00001130  42 25 2c 44 25 29 0d 09  ec 23 ea 20 72 61 64 69  |B%,D%)...#. radi|
00001140  75 73 25 2c 72 61 64 32  25 2c 4c 25 2c 58 25 2c  |us%,rad2%,L%,X%,|
00001150  59 25 2c 64 58 25 2c 44  25 0d 09 f6 10 ef 32 39  |Y%,dX%,D%.....29|
00001160  2c 58 42 25 3b 59 42 25  3b 0d 0a 00 0e 72 61 64  |,XB%;YB%;....rad|
00001170  69 75 73 25 3d 36 34 0d  0a 0a 09 64 58 25 3d 30  |ius%=64....dX%=0|
00001180  0d 0a 14 14 72 61 64 32  25 3d 72 61 64 69 75 73  |....rad2%=radius|
00001190  25 3e 3e 31 0d 0a 1e 18  4c 25 3d ab 28 35 31 32  |%>>1....L%=.(512|
000011a0  2f 72 61 64 69 75 73 25  29 2f ab 32 0d 0a 28 19  |/radius%)/.2..(.|
000011b0  e3 20 58 25 3d 72 61 64  69 75 73 25 20 b8 20 30  |. X%=radius% . 0|
000011c0  20 88 20 2d 38 0d 0a 32  1a ef 32 33 2c 31 37 2c  | . -8..2..23,17,|
000011d0  32 2c 35 31 32 2d 28 58  25 3c 3c 4c 25 29 7c 0d  |2,512-(X%<<L%)|.|
000011e0  0a 3c 22 e7 58 25 3c 3d  72 61 64 32 25 20 e6 42  |.<".X%<=rad2% .B|
000011f0  61 73 65 25 2b 26 31 35  20 8b 20 e6 42 61 73 65  |ase%+&15 . .Base|
00001200  25 0d 0a 46 22 ec 2d 58  25 81 33 2b 64 58 25 2c  |%..F".-X%.3+dX%,|
00001210  2d 58 25 81 33 3a f0 26  39 44 2c 58 25 2b 64 58  |-X%.3:.&9D,X%+dX|
00001220  25 2c 30 0d 0a 50 0e 64  58 25 3d 64 58 25 2b 44  |%,0..P.dX%=dX%+D|
00001230  25 0d 0a 5a 05 ed 0d 0a  64 05 e1 0d 0a 6e 05 20  |%..Z....d....n. |
00001240  0d 0a 78 2b dd a4 72 67  62 3d 28 b3 28 33 29 2d  |..x+..rgb=(.(3)-|
00001250  31 29 2a 31 2b 28 b3 28  33 29 2d 31 29 2a 34 2b  |1)*1+(.(3)-1)*4+|
00001260  28 b3 28 33 29 2d 31 29  2a 31 36 0d 0a 82 04 0d  |(.(3)-1)*16.....|
00001270  0a 8c 0d dd 20 f2 5f 53  6e 61 6b 65 0d 0a 96 5c  |.... ._Snake...\|
00001280  ea 20 58 25 2c 59 25 2c  58 4d 41 58 25 2c 58 4d  |. X%,Y%,XMAX%,XM|
00001290  49 4e 25 2c 44 58 25 2c  44 44 58 25 2c 44 44 59  |IN%,DX%,DDX%,DDY|
000012a0  25 2c 44 44 5a 25 2c 58  25 2c 59 25 2c 53 25 2c  |%,DDZ%,X%,Y%,S%,|
000012b0  59 4d 41 58 25 2c 59 4d  49 4e 25 2c 5a 4d 41 58  |YMAX%,YMIN%,ZMAX|
000012c0  25 2c 5a 4d 49 4e 25 2c  50 25 2c 4e 25 2c 44 5a  |%,ZMIN%,P%,N%,DZ|
000012d0  25 2c 64 58 25 2c 42 25  0d 0a a0 1e eb 20 31 32  |%,dX%,B%..... 12|
000012e0  3a ef 32 33 2c 31 2c 30  2c 30 2c 30 2c 30 2c 30  |:.23,1,0,0,0,0,0|
000012f0  2c 30 2c 30 2c 30 0d 0a  aa 09 f2 5f 43 4c 53 0d  |,0,0,0....._CLS.|
00001300  0a b4 17 ef 31 39 2c 31  2c 35 3b 30 3b 31 39 2c  |....19,1,5;0;19,|
00001310  32 2c 32 3b 30 3b 0d 0a  be 32 4e 25 3d 31 30 30  |2,2;0;...2N%=100|
00001320  3a f4 20 4e 75 6d 62 65  72 20 6f 66 20 62 6f 78  |:. Number of box|
00001330  65 73 20 6f 6e 20 73 63  72 65 65 6e 20 61 74 20  |es on screen at |
00001340  6f 6e 65 20 74 69 6d 65  0d 0a c8 0f e3 58 25 3d  |one time.....X%=|
00001350  30 20 b8 20 31 31 30 0d  0a d2 1e 78 25 28 58 25  |0 . 110....x%(X%|
00001360  29 3d 30 3a 79 25 28 58  25 29 3d 30 3a 68 25 28  |)=0:y%(X%)=0:h%(|
00001370  58 25 29 3d 30 0d 0a dc  05 ed 0d 0a e6 2e 50 25  |X%)=0.........P%|
00001380  3d 30 20 20 3a f4 20 43  79 63 6c 69 63 20 62 75  |=0  :. Cyclic bu|
00001390  66 66 65 72 20 70 6f 69  6e 74 65 72 20 69 6e 74  |ffer pointer int|
000013a0  6f 20 61 72 72 61 79 73  0d 0a f0 18 44 58 25 3d  |o arrays....DX%=|
000013b0  32 34 3a 44 59 25 3d 32  34 3a 44 5a 25 3d 31 36  |24:DY%=24:DZ%=16|
000013c0  0d 0a fa 18 58 25 3d 36  31 32 3a 59 25 3d 35 31  |....X%=612:Y%=51|
000013d0  32 3a 5a 25 3d 36 31 32  0d 0b 04 18 44 44 58 25  |2:Z%=612....DDX%|
000013e0  3d 31 3a 44 44 59 25 3d  31 3a 44 44 5a 25 3d 31  |=1:DDY%=1:DDZ%=1|
000013f0  0d 0b 0e 3f 58 4d 41 58  25 3d 38 30 30 3a 58 4d  |...?XMAX%=800:XM|
00001400  49 4e 25 3d 33 33 30 3a  59 4d 41 58 25 3d 36 30  |IN%=330:YMAX%=60|
00001410  30 3a 59 4d 49 4e 25 3d  33 30 30 3a 5a 4d 41 58  |0:YMIN%=300:ZMAX|
00001420  25 3d 39 30 30 3a 5a 4d  49 4e 25 3d 33 30 30 0d  |%=900:ZMIN%=300.|
00001430  0b 18 12 43 25 3d 33 3a  44 25 3d 30 3a 46 25 3d  |...C%=3:D%=0:F%=|
00001440  31 0d 0b 22 0c 53 25 3d  5a 25 81 31 35 0d 0b 2c  |1..".S%=Z%.15..,|
00001450  10 e6 20 30 2c 37 3a f2  5f 47 52 49 44 0d 0b 36  |.. 0,7:._GRID..6|
00001460  05 f5 0d 0b 40 09 20 20  d1 3d 30 0d 0b 4a 15 20  |....@.  .=0..J. |
00001470  20 f5 20 50 25 3d 28 50  25 2b 31 29 83 31 31 30  | . P%=(P%+1).110|
00001480  0d 0b 54 39 20 20 20 20  e7 20 58 25 3e 58 4d 41  |..T9    . X%>XMA|
00001490  58 25 20 44 58 25 3d 44  58 25 2d 44 44 58 25 20  |X% DX%=DX%-DDX% |
000014a0  8b 20 e7 20 58 25 3c 58  4d 49 4e 25 20 44 58 25  |. . X%<XMIN% DX%|
000014b0  3d 44 58 25 2b 44 44 58  25 0d 0b 5e 39 20 20 20  |=DX%+DDX%..^9   |
000014c0  20 e7 20 59 25 3e 59 4d  41 58 25 20 44 59 25 3d  | . Y%>YMAX% DY%=|
000014d0  44 59 25 2d 44 44 59 25  20 8b 20 e7 20 59 25 3c  |DY%-DDY% . . Y%<|
000014e0  59 4d 49 4e 25 20 44 59  25 3d 44 59 25 2b 44 44  |YMIN% DY%=DY%+DD|
000014f0  59 25 0d 0b 68 39 20 20  20 20 e7 20 5a 25 3e 5a  |Y%..h9    . Z%>Z|
00001500  4d 41 58 25 20 44 5a 25  3d 44 5a 25 2d 44 44 5a  |MAX% DZ%=DZ%-DDZ|
00001510  25 20 8b 20 e7 20 5a 25  3c 5a 4d 49 4e 25 20 44  |% . . Z%<ZMIN% D|
00001520  5a 25 3d 44 5a 25 2b 44  44 5a 25 0d 0b 72 31 20  |Z%=DZ%+DDZ%..r1 |
00001530  20 20 20 58 25 3d 58 25  2b 44 58 25 3a 20 59 25  |   X%=X%+DX%: Y%|
00001540  3d 59 25 2b 44 59 25 3a  20 5a 25 3d 5a 25 2b 44  |=Y%+DY%: Z%=Z%+D|
00001550  5a 25 3a 20 53 25 3d 5a  25 81 31 30 0d 0b 7c 16  |Z%: S%=Z%.10..|.|
00001560  20 20 20 20 20 e3 20 42  41 4e 4b 25 3d 30 20 b8  |     . BANK%=0 .|
00001570  20 31 0d 0b 86 21 20 20  20 20 20 20 c8 99 22 4f  | 1...!      .."O|
00001580  53 5f 42 79 74 65 22 2c  31 31 32 2c 42 41 4e 4b  |S_Byte",112,BANK|
00001590  25 2b 31 0d 0b 90 23 20  20 20 20 20 20 64 58 25  |%+1...#      dX%|
000015a0  3d 58 25 2b 28 42 41 4e  4b 25 2a 28 53 25 2d 31  |=X%+(BANK%*(S%-1|
000015b0  30 29 29 81 20 32 0d 0b  9a 13 20 20 20 20 20 20  |0)). 2....      |
000015c0  e6 30 2c 46 25 2b 31 32  38 0d 0b a4 24 20 20 20  |.0,F%+128...$   |
000015d0  20 20 20 ef 32 34 2c 64  58 25 3b 59 25 3b 64 58  |   .24,dX%;Y%;dX|
000015e0  25 2b 53 25 3b 59 25 2b  53 25 3b 31 36 0d 0b ae  |%+S%;Y%+S%;16...|
000015f0  0f 20 20 20 20 20 20 e6  30 2c 43 25 0d 0b b8 33  |.      .0,C%...3|
00001600  20 20 20 20 20 20 ec 64  58 25 2c 59 25 3a f0 31  |      .dX%,Y%:.1|
00001610  2c 53 25 2c 30 3a f0 31  2c 30 2c 53 25 3a f0 31  |,S%,0:.1,0,S%:.1|
00001620  2c 2d 53 25 2c 30 3a f0  31 2c 30 2c 2d 53 25 0d  |,-S%,0:.1,0,-S%.|
00001630  0b c2 0a 20 20 20 20 20  ed 0d 0b cc 25 20 20 20  |...     ....%   |
00001640  20 78 25 28 50 25 29 3d  58 25 3a 79 25 28 50 25  | x%(P%)=X%:y%(P%|
00001650  29 3d 59 25 3a 68 25 28  50 25 29 3d 53 25 0d 0b  |)=Y%:h%(P%)=S%..|
00001660  d6 1a 20 20 20 20 45 25  3d 28 50 25 2d 4e 25 2b  |..    E%=(P%-N%+|
00001670  31 31 30 29 83 31 31 30  0d 0b e0 16 20 20 20 20  |110).110....    |
00001680  e3 20 42 41 4e 4b 25 3d  20 30 20 b8 20 31 0d 0b  |. BANK%= 0 . 1..|
00001690  ea 1f 20 20 20 20 c8 99  22 4f 53 5f 42 79 74 65  |..    .."OS_Byte|
000016a0  22 2c 31 31 32 2c 42 41  4e 4b 25 2b 31 0d 0b f4  |",112,BANK%+1...|
000016b0  29 20 20 20 20 64 58 25  3d 78 25 28 45 25 29 2b  |)    dX%=x%(E%)+|
000016c0  28 42 41 4e 4b 25 2a 28  68 25 28 45 25 29 2d 31  |(BANK%*(h%(E%)-1|
000016d0  30 29 29 81 20 32 0d 0b  fe 3c 20 20 20 20 e6 30  |0)). 2...<    .0|
000016e0  2c 44 25 2b 31 32 38 3a  ef 32 34 2c 64 58 25 3b  |,D%+128:.24,dX%;|
000016f0  79 25 28 45 25 29 3b 64  58 25 2b 68 25 28 45 25  |y%(E%);dX%+h%(E%|
00001700  29 3b 79 25 28 45 25 29  2b 68 25 28 45 25 29 3b  |);y%(E%)+h%(E%);|
00001710  31 36 0d 0c 08 15 20 20  20 20 e6 20 30 2c 37 3a  |16....    . 0,7:|
00001720  f2 5f 47 52 49 44 31 0d  0c 12 09 20 20 20 20 ed  |._GRID1....    .|
00001730  0d 0c 1c 10 20 20 20 20  42 25 3d 96 28 2d 31 29  |....    B%=.(-1)|
00001740  0d 0c 26 16 20 20 fd 20  91 3e 31 37 30 30 20 84  |..&.  . .>1700 .|
00001750  20 42 25 3c 3e 30 0d 0c  30 34 46 25 3d 31 2b 46  | B%<>0..04F%=1+F|
00001760  25 83 32 3a ef 20 31 39  2c 46 25 2c 31 36 2c b3  |%.2:. 19,F%,16,.|
00001770  28 31 35 29 3c 3c 34 2c  b3 28 31 35 29 3c 3c 34  |(15)<<4,.(15)<<4|
00001780  2c b3 28 31 35 29 3c 3c  34 3a 0d 0c 3a 0b fd 20  |,.(15)<<4:..:.. |
00001790  42 25 3c 3e 30 0d 0c 44  08 41 24 3d be 0d 0c 4e  |B%<>0..D.A$=...N|
000017a0  05 e1 0d 0c 58 04 0d 0c  62 0e dd 20 f2 5f 4c 4f  |....X...b.. ._LO|
000017b0  52 4e 54 5a 0d 0c 6c 41  ea 20 49 4e 43 2c 42 25  |RNTZ..lA. INC,B%|
000017c0  2c 4e 25 2c 46 25 2c 50  31 2c 50 32 2c 50 33 2c  |,N%,F%,P1,P2,P3,|
000017d0  58 2c 59 2c 5a 2c 53 25  2c 53 2c 53 58 2c 53 5a  |X,Y,Z,S%,S,SX,SZ|
000017e0  2c 53 58 25 2c 53 59 25  2c 53 5a 25 2c 44 31 2c  |,SX%,SY%,SZ%,D1,|
000017f0  44 32 2c 44 33 0d 0c 76  1e eb 20 31 35 3a ef 32  |D2,D3..v.. 15:.2|
00001800  33 2c 31 2c 30 2c 30 2c  30 2c 30 2c 30 2c 30 2c  |3,1,0,0,0,0,0,0,|
00001810  30 2c 30 0d 0c 80 09 f2  5f 43 4c 53 0d 0c 8a 0a  |0,0....._CLS....|
00001820  f2 5f 47 52 49 44 0d 0c  94 16 53 3d 32 30 3a 53  |._GRID....S=20:S|
00001830  58 3d 53 2a 31 2e 35 3a  53 5a 3d 32 0d 0c 9e 0e  |X=S*1.5:SZ=2....|
00001840  4e 25 3d 37 30 3a 46 25  3d 30 0d 0c a8 0c 49 4e  |N%=70:F%=0....IN|
00001850  43 3d 34 45 2d 33 0d 0c  b2 19 53 58 25 3d 36 32  |C=4E-3....SX%=62|
00001860  30 3a 53 59 25 3d 35 31  32 3a 53 5a 25 3d 30 0d  |0:SY%=512:SZ%=0.|
00001870  0c bc 16 58 3d 2d 36 2e  35 3a 59 3d 2d 38 2e 38  |...X=-6.5:Y=-8.8|
00001880  3a 5a 3d 32 30 0d 0c c6  1a 50 31 3d 31 30 3a 50  |:Z=20....P1=10:P|
00001890  32 3d 32 38 3a 50 33 3d  32 2e 36 36 36 36 36 0d  |2=28:P3=2.66666.|
000018a0  0c d0 04 0d 0c da 05 f5  0d 0c e4 0b 4e 25 3d 4e  |............N%=N|
000018b0  25 2b 31 0d 0c ee 24 e7  20 4e 25 3e 32 30 30 20  |%+1...$. N%>200 |
000018c0  8c 20 4e 25 3d 30 3a e6  20 30 2c b3 28 36 33 29  |. N%=0:. 0,.(63)|
000018d0  20 c8 9c 20 32 35 35 0d  0c f8 0f 44 31 3d 50 31  | .. 255....D1=P1|
000018e0  2a 28 59 2d 58 29 0d 0d  02 11 44 32 3d 50 32 2a  |*(Y-X)....D2=P2*|
000018f0  58 2d 59 2d 58 2a 5a 0d  0d 0c 0f 44 33 3d 58 2a  |X-Y-X*Z....D3=X*|
00001900  59 2d 50 33 2a 5a 0d 0d  16 0e 58 3d 58 2b 44 31  |Y-P3*Z....X=X+D1|
00001910  2a 49 4e 43 0d 0d 20 0e  59 3d 59 2b 44 32 2a 49  |*INC.. .Y=Y+D2*I|
00001920  4e 43 0d 0d 2a 0e 5a 3d  5a 2b 44 33 2a 49 4e 43  |NC..*.Z=Z+D3*INC|
00001930  0d 0d 34 12 f2 5f 56 50  4c 4f 54 28 58 2c 59 2c  |..4.._VPLOT(X,Y,|
00001940  5a 29 0d 0d 3e 0c 42 25  3d 96 28 2d 31 29 0d 0d  |Z)..>.B%=.(-1)..|
00001950  48 0b fd 20 42 25 3c 3e  30 0d 0d 52 08 41 24 3d  |H.. B%<>0..R.A$=|
00001960  be 0d 0d 5c 05 e1 0d 0d  66 05 3a 0d 0d 70 14 dd  |...\....f.:..p..|
00001970  20 f2 5f 56 50 4c 4f 54  28 58 2c 59 2c 5a 29 0d  | ._VPLOT(X,Y,Z).|
00001980  0d 7a 1a 58 25 3d 58 2a  53 58 3a 59 25 3d 59 2a  |.z.X%=X*SX:Y%=Y*|
00001990  53 3a 5a 25 3d 5a 2a 53  5a 0d 0d 84 21 58 25 3d  |S:Z%=Z*SZ...!X%=|
000019a0  58 25 2b 53 58 25 3a 59  25 3d 59 25 2b 53 59 25  |X%+SX%:Y%=Y%+SY%|
000019b0  3a 5a 25 3d 5a 25 2b 53  5a 25 0d 0d 8e 15 f2 5f  |:Z%=Z%+SZ%....._|
000019c0  33 44 28 58 25 2c 59 25  2c 5a 25 2c 46 25 29 0d  |3D(X%,Y%,Z%,F%).|
000019d0  0d 98 08 46 25 3d 31 0d  0d a2 05 e1 0d 0d ac 04  |...F%=1.........|
000019e0  0d 0d b6 0b dd 20 f2 5f  44 53 32 0d 0d c0 10 ea  |..... ._DS2.....|
000019f0  20 4c 25 2c 53 2c 5a 25  2c 48 25 0d 0d ca 0a f7  | L%,S,Z%,H%.....|
00001a00  20 8d 44 6a 4e 0d 0d d4  1d eb 20 30 3a ef 32 33  | .DjN..... 0:.23|
00001a10  2c 31 2c 30 2c 30 2c 30  2c 30 2c 30 2c 30 2c 30  |,1,0,0,0,0,0,0,0|
00001a20  2c 30 0d 0d de 09 f2 5f  43 4c 53 0d 0d e8 12 5a  |,0....._CLS....Z|
00001a30  25 3d 36 30 3a 53 3d 31  3a 48 25 3d 30 0d 0d f2  |%=60:S=1:H%=0...|
00001a40  0e e3 20 4c 25 3d 30 20  b8 20 37 0d 0d fc 0c f3  |.. L%=0 . 7.....|
00001a50  20 44 25 28 4c 25 29 0d  0e 06 05 ed 0d 0e 10 0e  | D%(L%).........|
00001a60  e3 20 4c 25 3d 30 20 b8  20 36 0d 0e 1a 1c f2 5f  |. L%=0 . 6....._|
00001a70  4a 4f 48 4e 4e 59 28 44  25 28 4c 25 29 2c 48 25  |JOHNNY(D%(L%),H%|
00001a80  2c 53 2c 5a 25 29 0d 0e  24 0a 53 3d 53 2d 2e 31  |,S,Z%)..$.S=S-.1|
00001a90  0d 0e 2e 0a 5a 25 2d 3d  32 30 0d 0e 38 0a 48 25  |....Z%-=20..8.H%|
00001aa0  2b 3d 34 30 0d 0e 42 05  ed 0d 0e 4c 08 41 24 3d  |+=40..B....L.A$=|
00001ab0  be 0d 0e 56 05 e1 0d 0e  60 04 0d 0e 6a 21 dc 20  |...V....`...j!. |
00001ac0  30 2c 32 36 30 2c 34 38  30 2c 36 38 30 2c 38 35  |0,260,480,680,85|
00001ad0  30 2c 31 30 30 30 2c 31  31 35 30 0d 0e 74 04 0d  |0,1000,1150..t..|
00001ae0  0e 7e 0b dd 20 f2 5f 44  53 31 0d 0e 88 1d eb 20  |.~.. ._DS1..... |
00001af0  30 3a ef 32 33 2c 31 2c  30 2c 30 2c 30 2c 30 2c  |0:.23,1,0,0,0,0,|
00001b00  30 2c 30 2c 30 2c 30 0d  0e 92 09 f2 5f 43 4c 53  |0,0,0,0....._CLS|
00001b10  0d 0e 9c 1a f2 5f 4a 4f  48 4e 4e 59 28 31 30 30  |....._JOHNNY(100|
00001b20  2c 30 2c 31 2e 36 2c 31  30 29 0d 0e a6 19 f2 5f  |,0,1.6,10)....._|
00001b30  4a 4f 48 4e 4e 59 28 35  30 30 2c 30 2c 31 2c 2d  |JOHNNY(500,0,1,-|
00001b40  31 30 29 0d 0e b0 1a f2  5f 4a 4f 48 4e 4e 59 28  |10)....._JOHNNY(|
00001b50  37 30 30 2c 30 2c 31 2e  36 2c 31 30 29 0d 0e ba  |700,0,1.6,10)...|
00001b60  08 41 24 3d be 0d 0e c4  05 e1 0d 0e ce 04 0d 0e  |.A$=............|
00001b70  d8 1c dd 20 f2 5f 4a 4f  48 4e 4e 59 28 4f 58 25  |... ._JOHNNY(OX%|
00001b80  2c 4f 59 25 2c 53 2c 44  25 29 0d 0e e2 11 ea 20  |,OY%,S,D%)..... |
00001b90  58 25 2c 59 25 2c 50 25  2c 43 25 0d 0e ec 11 e3  |X%,Y%,P%,C%.....|
00001ba0  20 42 41 4e 4b 25 3d 30  20 b8 20 31 0d 0e f6 1b  | BANK%=0 . 1....|
00001bb0  c8 99 22 4f 53 5f 42 79  74 65 22 2c 31 31 32 2c  |.."OS_Byte",112,|
00001bc0  42 41 4e 4b 25 2b 31 0d  0f 00 10 64 58 25 3d 42  |BANK%+1....dX%=B|
00001bd0  41 4e 4b 25 2a 44 25 0d  0f 0a 0a f7 20 8d 74 6a  |ANK%*D%..... .tj|
00001be0  4f 0d 0f 14 0b f3 20 50  25 2c 43 25 0d 0f 1e 05  |O..... P%,C%....|
00001bf0  f5 0d 0f 28 0b f3 20 58  25 2c 59 25 0d 0f 32 1b  |...(.. X%,Y%..2.|
00001c00  58 25 3d 58 25 2a 53 2b  4f 58 25 3a 59 25 3d 59  |X%=X%*S+OX%:Y%=Y|
00001c10  25 2a 53 2b 4f 59 25 0d  0f 3c 0f ec 20 64 58 25  |%*S+OY%..<.. dX%|
00001c20  2b 58 25 2c 59 25 0d 0f  46 0f e3 20 41 25 3d 31  |+X%,Y%..F.. A%=1|
00001c30  20 b8 20 50 25 0d 0f 50  0b f3 20 58 25 2c 59 25  | . P%..P.. X%,Y%|
00001c40  0d 0f 5a 1b 58 25 3d 58  25 2a 53 2b 4f 58 25 3a  |..Z.X%=X%*S+OX%:|
00001c50  59 25 3d 59 25 2a 53 2b  4f 59 25 0d 0f 64 0f df  |Y%=Y%*S+OY%..d..|
00001c60  20 64 58 25 2b 58 25 2c  59 25 0d 0f 6e 05 ed 0d  | dX%+X%,Y%..n...|
00001c70  0f 78 0b f3 20 50 25 2c  43 25 0d 0f 82 0a fd 20  |.x.. P%,C%..... |
00001c80  50 25 3d 30 0d 0f 8c 05  ed 0d 0f 96 05 e1 0d 0f  |P%=0............|
00001c90  a0 04 0d 0f aa 68 dc 20  37 39 2c 33 2c 33 39 2c  |.....h. 79,3,39,|
00001ca0  37 31 2c 37 30 2c 37 39  2c 37 39 2c 37 35 2c 38  |71,70,79,79,75,8|
00001cb0  37 2c 31 30 35 2c 31 30  38 2c 31 39 36 2c 31 33  |7,105,108,196,13|
00001cc0  31 2c 32 34 30 2c 31 34  36 2c 32 37 39 2c 31 39  |1,240,146,279,19|
00001cd0  30 2c 31 39 35 2c 31 39  39 2c 31 36 39 2c 32 31  |0,195,199,169,21|
00001ce0  31 2c 31 32 31 2c 32 31  39 2c 39 34 2c 32 32 35  |1,121,219,94,225|
00001cf0  2c 39 33 2c 32 32 34 2c  37 36 0d 0f b4 67 dc 32  |,93,224,76...g.2|
00001d00  36 38 2c 36 33 2c 32 37  30 2c 37 33 2c 32 34 38  |68,63,270,73,248|
00001d10  2c 38 33 2c 32 33 37 2c  39 34 2c 32 34 35 2c 39  |,83,237,94,245,9|
00001d20  35 2c 32 32 39 2c 32 30  35 2c 32 31 35 2c 32 38  |5,229,205,215,28|
00001d30  35 2c 31 39 38 2c 33 34  39 2c 32 30 34 2c 34 31  |5,198,349,204,41|
00001d40  33 2c 32 32 38 2c 33 38  37 2c 32 33 31 2c 33 36  |3,228,387,231,36|
00001d50  30 2c 32 32 30 2c 33 34  31 2c 32 30 37 2c 33 33  |0,220,341,207,33|
00001d60  30 0d 0f be 6c dc 32 31  32 2c 33 31 32 2c 32 33  |0...l.212,312,23|
00001d70  34 2c 33 32 38 2c 32 35  35 2c 33 35 34 2c 32 35  |4,328,255,354,25|
00001d80  37 2c 33 38 39 2c 32 35  33 2c 34 30 30 2c 32 35  |7,389,253,400,25|
00001d90  38 2c 34 30 33 2c 32 33  37 2c 34 34 33 2c 32 31  |8,403,237,443,21|
00001da0  39 2c 34 36 38 2c 32 30  31 2c 34 38 35 2c 32 31  |9,468,201,485,21|
00001db0  35 2c 35 30 37 2c 31 39  34 2c 35 30 37 2c 31 38  |5,507,194,507,18|
00001dc0  32 2c 35 30 36 2c 31 37  34 2c 35 31 34 0d 0f c8  |2,506,174,514...|
00001dd0  6a dc 31 38 38 2c 35 33  32 2c 31 39 37 2c 35 34  |j.188,532,197,54|
00001de0  34 2c 32 30 35 2c 35 34  35 2c 32 30 37 2c 35 36  |4,205,545,207,56|
00001df0  30 2c 32 30 35 2c 35 37  31 2c 32 30 33 2c 35 38  |0,205,571,203,58|
00001e00  32 2c 31 30 34 2c 35 38  35 2c 31 30 34 2c 35 37  |2,104,585,104,57|
00001e10  34 2c 39 38 2c 35 36 34  2c 39 39 2c 35 35 31 2c  |4,98,564,99,551,|
00001e20  31 30 37 2c 35 35 30 2c  31 31 30 2c 35 33 37 2c  |107,550,110,537,|
00001e30  31 32 30 2c 35 32 37 0d  0f d2 63 dc 31 33 33 2c  |120,527...c.133,|
00001e40  35 31 39 2c 31 33 30 2c  35 30 38 2c 39 39 2c 34  |519,130,508,99,4|
00001e50  39 36 2c 31 31 34 2c 34  38 38 2c 31 30 30 2c 34  |96,114,488,100,4|
00001e60  36 39 2c 38 33 2c 34 34  31 2c 36 33 2c 33 39 33  |69,83,441,63,393|
00001e70  2c 36 36 2c 33 38 39 2c  35 39 2c 33 35 35 2c 35  |,66,389,59,355,5|
00001e80  32 2c 33 32 32 2c 35 31  2c 33 30 33 2c 34 35 2c  |2,322,51,303,45,|
00001e90  32 39 32 2c 35 30 2c 32  37 35 0d 0f dc 61 dc 35  |292,50,275...a.5|
00001ea0  38 2c 32 38 32 2c 36 37  2c 32 38 34 2c 36 37 2c  |8,282,67,284,67,|
00001eb0  32 39 38 2c 36 37 2c 33  31 36 2c 38 37 2c 33 38  |298,67,316,87,38|
00001ec0  35 2c 31 30 30 2c 34 31  31 2c 31 31 30 2c 33 35  |5,100,411,110,35|
00001ed0  37 2c 38 39 2c 32 39 31  2c 38 30 2c 32 35 32 2c  |7,89,291,80,252,|
00001ee0  37 36 2c 32 30 38 2c 37  32 2c 31 36 32 2c 36 39  |76,208,72,162,69|
00001ef0  2c 31 32 34 2c 37 30 2c  31 30 36 0d 0f e6 7d dc  |,124,70,106...}.|
00001f00  37 31 2c 31 30 30 2c 34  33 2c 37 32 2c 31 2c 33  |71,100,43,72,1,3|
00001f10  2c 31 33 32 2c 35 36 39  2c 31 33 32 2c 35 36 39  |,132,569,132,569|
00001f20  2c 31 2c 33 2c 31 37 31  2c 35 36 38 2c 31 37 31  |,1,3,171,568,171|
00001f30  2c 35 36 38 2c 32 2c 33  2c 31 35 32 2c 35 37 34  |,568,2,3,152,574|
00001f40  2c 31 35 32 2c 35 34 37  2c 31 36 39 2c 35 34 38  |,152,547,169,548|
00001f50  2c 32 2c 33 2c 31 37 30  2c 35 33 34 2c 31 35 34  |,2,3,170,534,154|
00001f60  2c 35 32 37 2c 31 33 38  2c 35 33 33 2c 32 2c 33  |,527,138,533,2,3|
00001f70  2c 31 32 35 2c 35 30 33  0d 0f f0 78 dc 31 35 38  |,125,503...x.158|
00001f80  2c 34 35 39 2c 31 30 32  2c 34 39 35 2c 32 2c 33  |,459,102,495,2,3|
00001f90  2c 31 39 39 2c 34 38 38  2c 31 35 36 2c 34 35 39  |,199,488,156,459|
00001fa0  2c 31 37 38 2c 34 39 39  2c 34 2c 33 2c 31 30 35  |,178,499,4,3,105|
00001fb0  2c 33 38 38 2c 31 31 33  2c 34 30 38 2c 31 31 33  |,388,113,408,113|
00001fc0  2c 34 33 35 2c 31 39 31  2c 34 33 32 2c 32 30 30  |,435,191,432,200|
00001fd0  2c 34 30 32 2c 34 2c 33  2c 31 37 35 2c 34 30 39  |,402,4,3,175,409|
00001fe0  2c 31 37 30 2c 33 38 33  2c 31 33 33 2c 33 38 33  |,170,383,133,383|
00001ff0  0d 0f fa 7e dc 31 33 35  2c 34 30 39 2c 31 37 30  |...~.135,409,170|
00002000  2c 34 30 39 2c 31 2c 33  2c 31 38 36 2c 34 33 36  |,409,1,3,186,436|
00002010  2c 32 30 30 2c 34 37 39  2c 31 2c 33 2c 31 30 37  |,200,479,1,3,107|
00002020  2c 34 37 35 2c 31 32 32  2c 34 33 34 2c 31 2c 33  |,475,122,434,1,3|
00002030  2c 36 33 2c 33 39 33 2c  38 39 2c 33 38 31 2c 31  |,63,393,89,381,1|
00002040  2c 33 2c 32 31 39 2c 39  36 2c 32 34 30 2c 39 37  |,3,219,96,240,97|
00002050  2c 31 2c 31 2c 38 37 2c  31 30 32 2c 36 39 2c 31  |,1,1,87,102,69,1|
00002060  30 36 2c 35 2c 31 2c 31  30 37 2c 35 39 30 0d 10  |06,5,1,107,590..|
00002070  04 6e dc 37 39 2c 35 38  37 2c 38 31 2c 35 39 37  |.n.79,587,81,597|
00002080  2c 32 33 33 2c 35 39 36  2c 32 33 34 2c 35 38 35  |,233,596,234,585|
00002090  2c 32 30 31 2c 35 38 33  2c 37 2c 31 2c 32 30 36  |,201,583,7,1,206|
000020a0  2c 35 39 33 2c 32 30 33  2c 36 31 38 2c 31 37 38  |,593,203,618,178|
000020b0  2c 36 31 35 2c 31 35 37  2c 36 31 35 2c 31 33 38  |,615,157,615,138|
000020c0  2c 36 31 38 2c 31 32 32  2c 36 31 39 2c 31 30 39  |,618,122,619,109|
000020d0  2c 36 32 30 2c 31 30 38  2c 36 30 30 0d 10 0e 48  |,620,108,600...H|
000020e0  dc 37 2c 31 2c 31 33 39  2c 34 30 34 2c 31 34 31  |.7,1,139,404,141|
000020f0  2c 33 38 36 2c 31 35 38  2c 33 38 33 2c 31 36 32  |,386,158,383,162|
00002100  2c 34 30 33 2c 31 35 30  2c 34 30 31 2c 31 35 30  |,403,150,401,150|
00002110  2c 33 39 35 2c 31 35 34  2c 33 39 35 2c 31 35 35  |,395,154,395,155|
00002120  2c 34 30 30 0d 10 18 09  dc 20 30 2c 30 0d 10 22  |,400..... 0,0.."|
00002130  04 0d 10 2c 14 c8 99 22  4f 53 5f 42 79 74 65 22  |...,..."OS_Byte"|
00002140  2c 31 33 2c 34 0d 10 36  1e c8 99 22 4f 53 5f 52  |,13,4..6..."OS_R|
00002150  65 6c 65 61 73 65 22 2c  26 31 30 2c 42 53 57 41  |elease",&10,BSWA|
00002160  50 2c 30 0d 10 40 15 c8  99 22 4f 53 5f 42 79 74  |P,0..@..."OS_Byt|
00002170  65 22 2c 31 31 33 2c 30  0d 10 4a 15 c8 99 22 4f  |e",113,0..J..."O|
00002180  53 5f 42 79 74 65 22 2c  31 31 32 2c 30 0d 10 54  |S_Byte",112,0..T|
00002190  05 f6 0d 10 5e 12 f1 22  20 61 74 20 6c 69 6e 65  |....^.." at line|
000021a0  20 22 3b 9e 0d ff                                 | ";...|
000021a6