Home » CEEFAX disks » telesoftware7.adl » 27-05-88/PLOT
27-05-88/PLOT
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 » CEEFAX disks » telesoftware7.adl |
Filename: | 27-05-88/PLOT |
Read OK: | ✔ |
File size: | 1459 bytes |
Load address: | FFFF0E00 |
Exec address: | FFFF802B |
File contents
10GOTO 1720 20REM PORTFOLIO - PLOT 30REM (C) Jon Leighton May 1988 40ONERROR CLOSE#0:CLS:PROChain("ANALYSE") 50DIM str%(1),PF%(1),NONE%(1),year%(3) 60year%(0)=U%:year%(1)=V%:year%(2)=W%:year%(3)=Y% 70f%=J%:h%=L% 80cptr%=0:ptr%=0:max=0:min=0:omax=0:omin=0:scale=0:xdif=0:fmax=0:Y=0:fptr%=158:cdptr%=160:disc%=165:mxmn%=171:share$=" ":npts%=0:press$=$&1500:av1%=&1600:av2%=&1700 90IF Z%=5 A%=0:B%=0:N%=1:PROCcont:GOTO 120 100PROCplot:PRINTTAB(6,30)press$;:*FX21,0 110A%=GET AND &DF:IF A%=80 PROCdump 120CLS 130PROChain("ANALYSE") 140DEFPROChain(A$):PROCsys:CHAIN A$:ENDPROC 150DEFPROCaxes:PROCborder:IF N%=1 MOVE 100,550:DRAW 1100,550 160ENDPROC 170DEFPROCplot:S%=0:R%=0:str%(0)=C%-2:str%(1)=D%-2:PF%(0)=A%:PF%(1)=B%:Y1=0:Y2=0 180FOR I%=0TO1:NONE%(I%)=FALSE:PROCopen 190IF G%=0 NONE%(I%)=TRUE:GOTO 480 200IF share$=" " NONE%(I%)=TRUE:GOTO 480 210IF N%=0 T%=1 220IF N%=1 T%=1+(I%*14) 230IF str%(I%)>=0 ptr%=frec%+str%(I%)*2 ELSE GOTO 490 240PROCaxes 250PRINTTAB(7,T%)share$;" ";:PROCdate 260IF f% PRINTSTR$(F%); 261IF f% AND h% PRINT" and "; 270IF h% PRINTSTR$(H%); 271IF f% OR h% PRINT" day average"; 272IF f% AND h% PRINT"s" 280PROCscale 290IF npts%<2 PRINTTAB(30,T%+10)"Only 1 point.":GOTO 480 300PROCantte:X=100:PTR#G%=ptr%:oldptr%=0:M%=-1:V%=-1:E%=X:Q%=X 310REPEAT:PROCgp:X=X+xdif:UNTIL Y<>0 320PROCstart 330IF f% OR h% PROCaver 340IF ptr%>fptr%+ndata%*2 oldptr%=ptr% 350MOVE X,Y:X=X+xdif:oldY=Y 360REPEAT:CLOSE#0:PROCopen2:IF oldptr%>0 THEN ptr%=oldptr%:oldptr%=0 370L%=cptr%+ndata%*2-2 380REPEAT:PROCgp 390IF f% OR h% PROCaver 400IF f% AND X>E%+10 MOVE X,Y1:DRAW X,Y1:E%=X 410IF h% AND X>Q%+20 MOVE X,Y2:DRAW X,Y2:Q%=X 420IF Z%>0 MOVE X-xdif,oldY:DRAW X,Y:oldY=Y 430X=X+xdif 440npts%=npts%-1 450UNTIL ptr%>L% 460nyears%=nyears%-1 470UNTIL npts%=1 OR nyears%<0 480CLOSE#0 490NEXT 500ENDPROC 510DEFPROCaver:M%=M%+1:V%=M% MOD 256 520IF Y>0 P%=Y 530av1%?V%=P% DIV 256:av2%?V%=P% MOD 256 540W%=V%-F%:IF W%<0 W%=W%+256 550Fav=Fav-(av1%?W%)*256-(av2%?W%)+P% 560W%=V%-H%:IF W%<0 W%=W%+256 570Hav=Hav-(av1%?W%)*256-(av2%?W%)+P% 580Y1=Fav/F% 590Y2=Hav/H% 600ENDPROC 610DEFPROCstart 620Fav=Y*F%:Hav=Y*H% 630FOR W%=1TOH%:av1%?(256-W%)=Y DIV 256:av2%?(256-W%)=Y MOD 256:NEXT 640ENDPROC 650DEFPROCopen 660IF str%(I%)<0 ENDPROC 670PROCff 680IF nyears%=0 THEN ENDPROC 690nyears%=nyears%-1:PROCopen2:PTR#G%=str%(I%)*7:share$="" 700FOR J%=1TO7:share$=share$+CHR$(BGET#G%):NEXT 710IF share$=" ":ENDPROC 720PROCgetdmy:G%=OPENIN(STR$(year%(PF%(I%))-nyears%)+STR$(PF%(I%))) 730ENDPROC 740DEFPROCff 750nyears%=0 760REPEAT 770G%=OPENIN(STR$(year%(PF%(I%))-nyears%)+STR$(PF%(I%))) 780CLOSE#0 790IF G%=0 GOTO 810 800nyears%=nyears%+1 810UNTIL G%=0 820IF G%=0 AND nyears%=0 THEN ENDPROC 830IF PF%(I%)=0 ndata%=1 ELSE ndata%=20 840npts%=0:omin=9999:omax=0 850FOR K%=0TOnyears%-1:G%=OPENIN(STR$(year%(PF%(I%))-K%)+STR$(PF%(I%))):PTR#G%=mxmn%+str%(I%)*4 860tmin=(BGET#G%)*256+BGET#G%:IF tmin<omin omin=tmin 870tmax=(BGET#G%)*256+BGET#G%:IF tmax>omax omax=tmax 880PTR#G%=fptr%:frec%=(BGET#G%)*256+BGET#G%:PTR#G%=disc%:cptr%=(BGET#G%)*256+BGET#G%:npts%=npts%+1+(cptr%-frec%) DIV (ndata%*2) 890CLOSE#0 900NEXT 910ENDPROC 920DEFPROCopen2:G%=OPENIN(STR$(year%(PF%(I%))-nyears%)+STR$(PF%(I%))):PTR#G%=fptr%:frec%=(BGET#G%)*256+BGET#G%:PTR#G%=disc%:cptr%=(BGET#G%)*256+BGET#G%:ptr%=frec%+str%(I%)*2 930ENDPROC 940DEFPROCgetdmy:PTR#G%=disc%:cptr%=(BGET#G%)*256+BGET#G%:d=BGET#G%:m=BGET#G%:y=(BGET#G%)*256+BGET#G% 950IF nyears%=0 GOTO 980 960CLOSE#0 970G%=OPENIN(STR$(year%(PF%(I%)))+STR$(PF%(I%))) 980PTR#G%=cdptr%:D=BGET#G%:M=BGET#G%:Y=(BGET#G%)*256+BGET#G% 990CLOSE#0 1000ENDPROC 1010DEFPROCdate 1020PRINTSTR$(d)+"/"+STR$(m)+"/"+STR$(y)+" to "+STR$(D)+"/"+STR$(M)+"/"+STR$(Y)+" "; 1030ENDPROC 1040DEFPROCgp:PTR#G%=ptr%:Z%=(BGET#G%)*100+BGET#G% 1050IF Z%=0 Y=0:GOTO 1090 1060IF Z%<10 Z%=10 1070Y=LOG(Z%):Y=(Y-min)*scale/(N%+1) 1080IF N%=1 AND I%=0 Y=Y+550 ELSE Y=Y+100 1090ptr%=ptr%+ndata%*2 1100ENDPROC 1110DEFPROCscale 1120IF npts%<2 ENDPROC 1130PROCsetmxmn:dif=850:scale=dif/(max-min):xdif=1000/(npts%) 1140ENDPROC 1150DEFPROCsetmxmn 1160omin=(omin DIV 10) *10 1170IF omin<10 omin=10 1180IF (omax-omin)<10 omax=omin+10 1190min=LOG((omin DIV 10)*10):max=LOG(omax+((omax-omin) DIV 10)) 1200IF (max-min)=0 max=1:min=0 1210ENDPROC 1220DEFPROCantte 1230IF omax-omin<10000 XDIF=100 1240IF omax-omin<1000 XDIF=10 1250IF omax-omin<100 XDIF=10 1260IF omax-omin<10 XDIF=1 1270VDU5:X=(omin DIV 10)*10:OLDY=-1000:Y=LOG(X):Y=(Y-min)*scale/(N%+1) 1280IF N%=1 AND I%=0 fmax=960:XDIF=XDIF*(XDIF DIV 10) 1290IF N%=1 AND I%=1 fmax=510:XDIF=XDIF*(XDIF DIV 10) 1300IF N%=0 AND I%=0 fmax=960 1310IF N%=0 AND I%=1 fmax=960 1320IF N%=1 AND I%=0 Y=Y+550 ELSE Y=Y+100 1330REPEAT 1340IF (Y-OLDY)<48 GOTO 1360 1350MOVE 10,Y+16:OLDY=Y:PRINT;X:MOVE 100,Y:DRAW 120,Y:MOVE 1110,Y+16:PRINT;X:MOVE 1080,Y:DRAW 1100,Y 1360X=X+XDIF 1370Y=LOG(X):Y=(Y-min)*scale/(N%+1) 1380IF N%=1 AND I%=0 Y=Y+550 ELSE Y=Y+100 1390UNTIL Y>fmax OR X>9999 1400VDU4 1410ENDPROC 1420DEFPROCcont 1430A%=0:B%=0 1440REPEAT 1450C%=2:D%=3 1460REPEAT 1470PROCplot 1480IF NONE%(0)=TRUE AND NONE%(1)=TRUE GOTO 1530 1490PRINTTAB(6,30)press$;:*FX21,0 1500Z%=GET AND &DF 1510IF Z%=80 PROCdump 1520CLS 1530C%=C%+2:D%=D%+2 1540UNTIL C%>ndata% 1550A%=A%+1:B%=B%+1 1560UNTIL A%=4 1570ENDPROC 1580DEFPROCborder 1590MOVE 100,100:DRAW 1100,100:DRAW 1100,1000:DRAW 100,1000:DRAW 100,100 1600ENDPROC 1610DEFPROCsys:REPEAT:*FX21,0 1620X%=OPENIN("MAIN"):CLOSE#0 1630IF X%=0 CLS:PRINTTAB(0,10)"Insert System Disc in drive 0"''"and press any key to continue":REPEATUNTILGET 1640UNTIL X%<>0 1650ENDPROC 1660DEFPROCkey:PRINT''"PRESS A KEY":*FX21,0 1670K%=GET 1680ENDPROC 1690DEFPROCdump 1700*/PRINT16 1710ENDPROC 1720REM Delete following code - only called once 1730*FX229,0 1740MODE0 1750VDU23;8202;0;0;0; 1760PROCsys 1770X%=OPENIN("YEAR") 1780IF X%=0 CLS:PRINTTAB(0,10)"File 'YEAR' does not exist."''"Go to MAIN panel and select each"'"required Index/Portfolio in turn."''"To return to MAIN":PROCkey:PROChain("MAIN") 1790INPUT#X%,U% 1800INPUT#X%,V% 1810INPUT#X%,W% 1820INPUT#X%,Y% 1830IF EXT#X%>&14 INPUT#X%,F%,H% ELSE H%=40:F%=20:I%=FALSE:L%=FALSE 1840CLOSE#0 1850IF F%>200 F%=F%-256:J%=FALSE ELSE J%=TRUE 1860IF H%>200 H%=H%-256:L%=FALSE ELSE L%=TRUE 1870$&1500="Press <ESCAPE> to exit, <P> to print, any other key to continue." 1880IF C%=0 OR D%=0 N%=0 ELSE N%=1 1890!(PAGE+4)=&F4:RESTORE 1720:I%=2+!&1C AND &FFFF:REPEAT:I%=I%-1:UNTIL I%?-1=&0D:?I%=&FF:!&12=I%+1:RUN 1900ENDPROC
� �txF � PORTFOLIO - PLOT � (C) Jon Leighton May 1988 (� �#0:�:�hain("ANALYSE") 2&� str%(1),PF%(1),NONE%(1),year%(3) <3year%(0)=U%:year%(1)=V%:year%(2)=W%:year%(3)=Y% Ff%=J%:h%=L% P�cptr%=0:ptr%=0:max=0:min=0:omax=0:omin=0:scale=0:xdif=0:fmax=0:Y=0:fptr%=158:cdptr%=160:disc%=165:mxmn%=171:share$=" ":npts%=0:press$=$&1500:av1%=&1600:av2%=&1700 Z&� Z%=5 A%=0:B%=0:N%=1:�cont:� �Dx@ d �plot:�6,30)press$;:*FX21,0 nA%=� � &DF:� A%=80 �dump x� ��hain("ANALYSE") ���hain(A$):�sys:� A$:� �.��axes:�border:� N%=1 � 100,550:� 1100,550 �� �L��plot:S%=0:R%=0:str%(0)=C%-2:str%(1)=D%-2:PF%(0)=A%:PF%(1)=B%:Y1=0:Y2=0 �� I%=0�1:NONE%(I%)=�:�open �� G%=0 NONE%(I%)=�:� �d`A �)� share$=" " NONE%(I%)=�:� �d`A �� N%=0 T%=1 �� N%=1 T%=1+(I%*14) �0� str%(I%)>=0 ptr%=frec%+str%(I%)*2 � � �djA � �axes ��7,T%)share$;" ";:�date � f% ��(F%); � f% � h% �" and "; � h% ��(H%); � f% � h% �" day average"; � f% � h% �"s" �scale "/� npts%<2 �30,T%+10)"Only 1 point.":� �d`A ,:�antte:X=100:�#G%=ptr%:oldptr%=0:M%=-1:V%=-1:E%=X:Q%=X 6�:�gp:X=X+xdif:� Y<>0 @ �start J� f% � h% �aver T&� ptr%>fptr%+ndata%*2 oldptr%=ptr% ^� X,Y:X=X+xdif:oldY=Y h5�:�#0:�open2:� oldptr%>0 � ptr%=oldptr%:oldptr%=0 rL%=cptr%+ndata%*2-2 | �:�gp �� f% � h% �aver �%� f% � X>E%+10 � X,Y1:� X,Y1:E%=X �%� h% � X>Q%+20 � X,Y2:� X,Y2:Q%=X �%� Z%>0 � X-xdif,oldY:� X,Y:oldY=Y �X=X+xdif �npts%=npts%-1 � � ptr%>L% �nyears%=nyears%-1 �� npts%=1 � nyears%<0 ��#0 �� �� ���aver:M%=M%+1:V%=M% � 256 � Y>0 P%=Y %av1%?V%=P% � 256:av2%?V%=P% � 256 W%=V%-F%:� W%<0 W%=W%+256 &&Fav=Fav-(av1%?W%)*256-(av2%?W%)+P% 0W%=V%-H%:� W%<0 W%=W%+256 :&Hav=Hav-(av1%?W%)*256-(av2%?W%)+P% D Y1=Fav/F% N Y2=Hav/H% X� b��start lFav=Y*F%:Hav=Y*H% v;� W%=1�H%:av1%?(256-W%)=Y � 256:av2%?(256-W%)=Y � 256:� �� � ��open �� str%(I%)<0 � ��ff �� nyears%=0 � � �6nyears%=nyears%-1:�open2:�#G%=str%(I%)*7:share$="" �$� J%=1�7:share$=share$+�(�#G%):� �� share$=" ":� �6�getdmy:G%=�(�(year%(PF%(I%))-nyears%)+�(PF%(I%))) �� ���ff � nyears%=0 �� .G%=�(�(year%(PF%(I%))-nyears%)+�(PF%(I%))) �#0 � G%=0 � �TjC nyears%=nyears%+1 * � G%=0 4� G%=0 � nyears%=0 � � >$� PF%(I%)=0 ndata%=1 � ndata%=20 Hnpts%=0:omin=9999:omax=0 RP� K%=0�nyears%-1:G%=�(�(year%(PF%(I%))-K%)+�(PF%(I%))):�#G%=mxmn%+str%(I%)*4 \.tmin=(�#G%)*256+�#G%:� tmin<omin omin=tmin f.tmax=(�#G%)*256+�#G%:� tmax>omax omax=tmax pn�#G%=fptr%:frec%=(�#G%)*256+�#G%:�#G%=disc%:cptr%=(�#G%)*256+�#G%:npts%=npts%+1+(cptr%-frec%) � (ndata%*2) z�#0 �� �� ����open2:G%=�(�(year%(PF%(I%))-nyears%)+�(PF%(I%))):�#G%=fptr%:frec%=(�#G%)*256+�#G%:�#G%=disc%:cptr%=(�#G%)*256+�#G%:ptr%=frec%+str%(I%)*2 �� �M��getdmy:�#G%=disc%:cptr%=(�#G%)*256+�#G%:d=�#G%:m=�#G%:y=(�#G%)*256+�#G% �� nyears%=0 � �dTC ��#0 �&G%=�(�(year%(PF%(I%)))+�(PF%(I%))) �/�#G%=cdptr%:D=�#G%:M=�#G%:Y=(�#G%)*256+�#G% ��#0 �� � ��date �D��(d)+"/"+�(m)+"/"+�(y)+" to "+�(D)+"/"+�(M)+"/"+�(Y)+" "; � %��gp:�#G%=ptr%:Z%=(�#G%)*100+�#G% � Z%=0 Y=0:� �DBD $� Z%<10 Z%=10 ."Y=�(Z%):Y=(Y-min)*scale/(N%+1) 8#� N%=1 � I%=0 Y=Y+550 � Y=Y+100 Bptr%=ptr%+ndata%*2 L� V��scale `� npts%<2 � j:�setmxmn:dif=850:scale=dif/(max-min):xdif=1000/(npts%) t� ~ ��setmxmn �omin=(omin � 10) *10 �� omin<10 omin=10 �!� (omax-omin)<10 omax=omin+10 �8min=�((omin � 10)*10):max=�(omax+((omax-omin) � 10)) �� (max-min)=0 max=1:min=0 �� ���antte �� omax-omin<10000 XDIF=100 �� omax-omin<1000 XDIF=10 �� omax-omin<100 XDIF=10 �� omax-omin<10 XDIF=1 �@�5:X=(omin � 10)*10:OLDY=-1000:Y=�(X):Y=(Y-min)*scale/(N%+1) 0� N%=1 � I%=0 fmax=960:XDIF=XDIF*(XDIF � 10) 0� N%=1 � I%=1 fmax=510:XDIF=XDIF*(XDIF � 10) � N%=0 � I%=0 fmax=960 � N%=0 � I%=1 fmax=960 (#� N%=1 � I%=0 Y=Y+550 � Y=Y+100 2� <� (Y-OLDY)<48 � �DPE FJ� 10,Y+16:OLDY=Y:�;X:� 100,Y:� 120,Y:� 1110,Y+16:�;X:� 1080,Y:� 1100,Y PX=X+XDIF Z!Y=�(X):Y=(Y-min)*scale/(N%+1) d#� N%=1 � I%=0 Y=Y+550 � Y=Y+100 n� Y>fmax � X>9999 x�4 �� � ��cont � A%=0:B%=0 �� � C%=2:D%=3 �� � �plot �$� NONE%(0)=� � NONE%(1)=� � �dzE ��6,30)press$;:*FX21,0 �Z%=� � &DF �� Z%=80 �dump �� �C%=C%+2:D%=D%+2 � C%>ndata% A%=A%+1:B%=B%+1 � A%=4 "� ,��border 69� 100,100:� 1100,100:� 1100,1000:� 100,1000:� 100,100 @� J��sys:�:*FX21,0 TX%=�("MAIN"):�#0 ^X� X%=0 �:�0,10)"Insert System Disc in drive 0"''"and press any key to continue":��� h� X%<>0 r� |"��key:�''"PRESS A KEY":*FX21,0 �K%=� �� � ��dump � */PRINT16 �� �.� Delete following code - only called once �*FX229,0 ��0 ��23;8202;0;0;0; ��sys �X%=�("YEAR") �� X%=0 �:�0,10)"File 'YEAR' does not exist."''"Go to MAIN panel and select each"'"required Index/Portfolio in turn."''"To return to MAIN":�key:�hain("MAIN") ��#X%,U% �#X%,V% �#X%,W% �#X%,Y% &1� �#X%>&14 �#X%,F%,H% � H%=40:F%=20:I%=�:L%=� 0�#0 :"� F%>200 F%=F%-256:J%=� � J%=� D"� H%>200 H%=H%-256:L%=� � L%=� NM$&1500="Press <ESCAPE> to exit, <P> to print, any other key to continue." X� C%=0 � D%=0 N%=0 � N%=1 bQ!(�+4)=&F4:� �txF:I%=2+!&1C � &FFFF:�:I%=I%-1:� I%?-1=&0D:?I%=&FF:!&12=I%+1:� l� �
00000000 0d 00 0a 0a e5 20 8d 74 78 46 0d 00 14 16 f4 20 |..... .txF..... | 00000010 50 4f 52 54 46 4f 4c 49 4f 20 2d 20 50 4c 4f 54 |PORTFOLIO - PLOT| 00000020 0d 00 1e 1f f4 20 28 43 29 20 4a 6f 6e 20 4c 65 |..... (C) Jon Le| 00000030 69 67 68 74 6f 6e 20 4d 61 79 20 31 39 38 38 0d |ighton May 1988.| 00000040 00 28 1d ee 85 20 d9 23 30 3a db 3a f2 68 61 69 |.(... .#0:.:.hai| 00000050 6e 28 22 41 4e 41 4c 59 53 45 22 29 0d 00 32 26 |n("ANALYSE")..2&| 00000060 de 20 73 74 72 25 28 31 29 2c 50 46 25 28 31 29 |. str%(1),PF%(1)| 00000070 2c 4e 4f 4e 45 25 28 31 29 2c 79 65 61 72 25 28 |,NONE%(1),year%(| 00000080 33 29 0d 00 3c 33 79 65 61 72 25 28 30 29 3d 55 |3)..<3year%(0)=U| 00000090 25 3a 79 65 61 72 25 28 31 29 3d 56 25 3a 79 65 |%:year%(1)=V%:ye| 000000a0 61 72 25 28 32 29 3d 57 25 3a 79 65 61 72 25 28 |ar%(2)=W%:year%(| 000000b0 33 29 3d 59 25 0d 00 46 0f 66 25 3d 4a 25 3a 68 |3)=Y%..F.f%=J%:h| 000000c0 25 3d 4c 25 0d 00 50 ae 63 70 74 72 25 3d 30 3a |%=L%..P.cptr%=0:| 000000d0 70 74 72 25 3d 30 3a 6d 61 78 3d 30 3a 6d 69 6e |ptr%=0:max=0:min| 000000e0 3d 30 3a 6f 6d 61 78 3d 30 3a 6f 6d 69 6e 3d 30 |=0:omax=0:omin=0| 000000f0 3a 73 63 61 6c 65 3d 30 3a 78 64 69 66 3d 30 3a |:scale=0:xdif=0:| 00000100 66 6d 61 78 3d 30 3a 59 3d 30 3a 66 70 74 72 25 |fmax=0:Y=0:fptr%| 00000110 3d 31 35 38 3a 63 64 70 74 72 25 3d 31 36 30 3a |=158:cdptr%=160:| 00000120 64 69 73 63 25 3d 31 36 35 3a 6d 78 6d 6e 25 3d |disc%=165:mxmn%=| 00000130 31 37 31 3a 73 68 61 72 65 24 3d 22 20 20 20 20 |171:share$=" | 00000140 20 20 20 20 20 22 3a 6e 70 74 73 25 3d 30 3a 70 | ":npts%=0:p| 00000150 72 65 73 73 24 3d 24 26 31 35 30 30 3a 61 76 31 |ress$=$&1500:av1| 00000160 25 3d 26 31 36 30 30 3a 61 76 32 25 3d 26 31 37 |%=&1600:av2%=&17| 00000170 30 30 0d 00 5a 26 e7 20 5a 25 3d 35 20 41 25 3d |00..Z&. Z%=5 A%=| 00000180 30 3a 42 25 3d 30 3a 4e 25 3d 31 3a f2 63 6f 6e |0:B%=0:N%=1:.con| 00000190 74 3a e5 20 8d 44 78 40 0d 00 64 20 f2 70 6c 6f |t:. .Dx@..d .plo| 000001a0 74 3a f1 8a 36 2c 33 30 29 70 72 65 73 73 24 3b |t:..6,30)press$;| 000001b0 3a 2a 46 58 32 31 2c 30 0d 00 6e 1c 41 25 3d a5 |:*FX21,0..n.A%=.| 000001c0 20 80 20 26 44 46 3a e7 20 41 25 3d 38 30 20 f2 | . &DF:. A%=80 .| 000001d0 64 75 6d 70 0d 00 78 05 db 0d 00 82 14 f2 68 61 |dump..x.......ha| 000001e0 69 6e 28 22 41 4e 41 4c 59 53 45 22 29 0d 00 8c |in("ANALYSE")...| 000001f0 1a dd f2 68 61 69 6e 28 41 24 29 3a f2 73 79 73 |...hain(A$):.sys| 00000200 3a d7 20 41 24 3a e1 0d 00 96 2e dd f2 61 78 65 |:. A$:.......axe| 00000210 73 3a f2 62 6f 72 64 65 72 3a e7 20 4e 25 3d 31 |s:.border:. N%=1| 00000220 20 ec 20 31 30 30 2c 35 35 30 3a df 20 31 31 30 | . 100,550:. 110| 00000230 30 2c 35 35 30 0d 00 a0 05 e1 0d 00 aa 4c dd f2 |0,550........L..| 00000240 70 6c 6f 74 3a 53 25 3d 30 3a 52 25 3d 30 3a 73 |plot:S%=0:R%=0:s| 00000250 74 72 25 28 30 29 3d 43 25 2d 32 3a 73 74 72 25 |tr%(0)=C%-2:str%| 00000260 28 31 29 3d 44 25 2d 32 3a 50 46 25 28 30 29 3d |(1)=D%-2:PF%(0)=| 00000270 41 25 3a 50 46 25 28 31 29 3d 42 25 3a 59 31 3d |A%:PF%(1)=B%:Y1=| 00000280 30 3a 59 32 3d 30 0d 00 b4 1e e3 20 49 25 3d 30 |0:Y2=0..... I%=0| 00000290 b8 31 3a 4e 4f 4e 45 25 28 49 25 29 3d a3 3a f2 |.1:NONE%(I%)=.:.| 000002a0 6f 70 65 6e 0d 00 be 1d e7 20 47 25 3d 30 20 4e |open..... G%=0 N| 000002b0 4f 4e 45 25 28 49 25 29 3d b9 3a e5 20 8d 64 60 |ONE%(I%)=.:. .d`| 000002c0 41 0d 00 c8 29 e7 20 73 68 61 72 65 24 3d 22 20 |A...). share$=" | 000002d0 20 20 20 20 20 20 22 20 4e 4f 4e 45 25 28 49 25 | " NONE%(I%| 000002e0 29 3d b9 3a e5 20 8d 64 60 41 0d 00 d2 0f e7 20 |)=.:. .d`A..... | 000002f0 4e 25 3d 30 20 54 25 3d 31 0d 00 dc 17 e7 20 4e |N%=0 T%=1..... N| 00000300 25 3d 31 20 54 25 3d 31 2b 28 49 25 2a 31 34 29 |%=1 T%=1+(I%*14)| 00000310 0d 00 e6 30 e7 20 73 74 72 25 28 49 25 29 3e 3d |...0. str%(I%)>=| 00000320 30 20 70 74 72 25 3d 66 72 65 63 25 2b 73 74 72 |0 ptr%=frec%+str| 00000330 25 28 49 25 29 2a 32 20 8b 20 e5 20 8d 64 6a 41 |%(I%)*2 . . .djA| 00000340 0d 00 f0 09 f2 61 78 65 73 0d 00 fa 1c f1 8a 37 |.....axes......7| 00000350 2c 54 25 29 73 68 61 72 65 24 3b 22 20 22 3b 3a |,T%)share$;" ";:| 00000360 f2 64 61 74 65 0d 01 04 10 e7 20 66 25 20 f1 c3 |.date..... f% ..| 00000370 28 46 25 29 3b 0d 01 05 17 e7 20 66 25 20 80 20 |(F%);..... f% . | 00000380 68 25 20 f1 22 20 61 6e 64 20 22 3b 0d 01 0e 10 |h% ." and ";....| 00000390 e7 20 68 25 20 f1 c3 28 48 25 29 3b 0d 01 0f 1e |. h% ..(H%);....| 000003a0 e7 20 66 25 20 84 20 68 25 20 f1 22 20 64 61 79 |. f% . h% ." day| 000003b0 20 61 76 65 72 61 67 65 22 3b 0d 01 10 12 e7 20 | average";..... | 000003c0 66 25 20 80 20 68 25 20 f1 22 73 22 0d 01 18 0a |f% . h% ."s"....| 000003d0 f2 73 63 61 6c 65 0d 01 22 2f e7 20 6e 70 74 73 |.scale.."/. npts| 000003e0 25 3c 32 20 f1 8a 33 30 2c 54 25 2b 31 30 29 22 |%<2 ..30,T%+10)"| 000003f0 4f 6e 6c 79 20 31 20 70 6f 69 6e 74 2e 22 3a e5 |Only 1 point.":.| 00000400 20 8d 64 60 41 0d 01 2c 3a f2 61 6e 74 74 65 3a | .d`A..,:.antte:| 00000410 58 3d 31 30 30 3a cf 23 47 25 3d 70 74 72 25 3a |X=100:.#G%=ptr%:| 00000420 6f 6c 64 70 74 72 25 3d 30 3a 4d 25 3d 2d 31 3a |oldptr%=0:M%=-1:| 00000430 56 25 3d 2d 31 3a 45 25 3d 58 3a 51 25 3d 58 0d |V%=-1:E%=X:Q%=X.| 00000440 01 36 19 f5 3a f2 67 70 3a 58 3d 58 2b 78 64 69 |.6..:.gp:X=X+xdi| 00000450 66 3a fd 20 59 3c 3e 30 0d 01 40 0a f2 73 74 61 |f:. Y<>0..@..sta| 00000460 72 74 0d 01 4a 13 e7 20 66 25 20 84 20 68 25 20 |rt..J.. f% . h% | 00000470 f2 61 76 65 72 0d 01 54 26 e7 20 70 74 72 25 3e |.aver..T&. ptr%>| 00000480 66 70 74 72 25 2b 6e 64 61 74 61 25 2a 32 20 6f |fptr%+ndata%*2 o| 00000490 6c 64 70 74 72 25 3d 70 74 72 25 0d 01 5e 19 ec |ldptr%=ptr%..^..| 000004a0 20 58 2c 59 3a 58 3d 58 2b 78 64 69 66 3a 6f 6c | X,Y:X=X+xdif:ol| 000004b0 64 59 3d 59 0d 01 68 35 f5 3a d9 23 30 3a f2 6f |dY=Y..h5.:.#0:.o| 000004c0 70 65 6e 32 3a e7 20 6f 6c 64 70 74 72 25 3e 30 |pen2:. oldptr%>0| 000004d0 20 8c 20 70 74 72 25 3d 6f 6c 64 70 74 72 25 3a | . ptr%=oldptr%:| 000004e0 6f 6c 64 70 74 72 25 3d 30 0d 01 72 17 4c 25 3d |oldptr%=0..r.L%=| 000004f0 63 70 74 72 25 2b 6e 64 61 74 61 25 2a 32 2d 32 |cptr%+ndata%*2-2| 00000500 0d 01 7c 09 f5 3a f2 67 70 0d 01 86 13 e7 20 66 |..|..:.gp..... f| 00000510 25 20 84 20 68 25 20 f2 61 76 65 72 0d 01 90 25 |% . h% .aver...%| 00000520 e7 20 66 25 20 80 20 58 3e 45 25 2b 31 30 20 ec |. f% . X>E%+10 .| 00000530 20 58 2c 59 31 3a df 20 58 2c 59 31 3a 45 25 3d | X,Y1:. X,Y1:E%=| 00000540 58 0d 01 9a 25 e7 20 68 25 20 80 20 58 3e 51 25 |X...%. h% . X>Q%| 00000550 2b 32 30 20 ec 20 58 2c 59 32 3a df 20 58 2c 59 |+20 . X,Y2:. X,Y| 00000560 32 3a 51 25 3d 58 0d 01 a4 25 e7 20 5a 25 3e 30 |2:Q%=X...%. Z%>0| 00000570 20 ec 20 58 2d 78 64 69 66 2c 6f 6c 64 59 3a df | . X-xdif,oldY:.| 00000580 20 58 2c 59 3a 6f 6c 64 59 3d 59 0d 01 ae 0c 58 | X,Y:oldY=Y....X| 00000590 3d 58 2b 78 64 69 66 0d 01 b8 11 6e 70 74 73 25 |=X+xdif....npts%| 000005a0 3d 6e 70 74 73 25 2d 31 0d 01 c2 0d fd 20 70 74 |=npts%-1..... pt| 000005b0 72 25 3e 4c 25 0d 01 cc 15 6e 79 65 61 72 73 25 |r%>L%....nyears%| 000005c0 3d 6e 79 65 61 72 73 25 2d 31 0d 01 d6 19 fd 20 |=nyears%-1..... | 000005d0 6e 70 74 73 25 3d 31 20 84 20 6e 79 65 61 72 73 |npts%=1 . nyears| 000005e0 25 3c 30 0d 01 e0 07 d9 23 30 0d 01 ea 05 ed 0d |%<0.....#0......| 000005f0 01 f4 05 e1 0d 01 fe 1e dd f2 61 76 65 72 3a 4d |..........aver:M| 00000600 25 3d 4d 25 2b 31 3a 56 25 3d 4d 25 20 83 20 32 |%=M%+1:V%=M% . 2| 00000610 35 36 0d 02 08 0e e7 20 59 3e 30 20 50 25 3d 59 |56..... Y>0 P%=Y| 00000620 0d 02 12 25 61 76 31 25 3f 56 25 3d 50 25 20 81 |...%av1%?V%=P% .| 00000630 20 32 35 36 3a 61 76 32 25 3f 56 25 3d 50 25 20 | 256:av2%?V%=P% | 00000640 83 20 32 35 36 0d 02 1c 1d 57 25 3d 56 25 2d 46 |. 256....W%=V%-F| 00000650 25 3a e7 20 57 25 3c 30 20 57 25 3d 57 25 2b 32 |%:. W%<0 W%=W%+2| 00000660 35 36 0d 02 26 26 46 61 76 3d 46 61 76 2d 28 61 |56..&&Fav=Fav-(a| 00000670 76 31 25 3f 57 25 29 2a 32 35 36 2d 28 61 76 32 |v1%?W%)*256-(av2| 00000680 25 3f 57 25 29 2b 50 25 0d 02 30 1d 57 25 3d 56 |%?W%)+P%..0.W%=V| 00000690 25 2d 48 25 3a e7 20 57 25 3c 30 20 57 25 3d 57 |%-H%:. W%<0 W%=W| 000006a0 25 2b 32 35 36 0d 02 3a 26 48 61 76 3d 48 61 76 |%+256..:&Hav=Hav| 000006b0 2d 28 61 76 31 25 3f 57 25 29 2a 32 35 36 2d 28 |-(av1%?W%)*256-(| 000006c0 61 76 32 25 3f 57 25 29 2b 50 25 0d 02 44 0d 59 |av2%?W%)+P%..D.Y| 000006d0 31 3d 46 61 76 2f 46 25 0d 02 4e 0d 59 32 3d 48 |1=Fav/F%..N.Y2=H| 000006e0 61 76 2f 48 25 0d 02 58 05 e1 0d 02 62 0b dd f2 |av/H%..X....b...| 000006f0 73 74 61 72 74 0d 02 6c 15 46 61 76 3d 59 2a 46 |start..l.Fav=Y*F| 00000700 25 3a 48 61 76 3d 59 2a 48 25 0d 02 76 3b e3 20 |%:Hav=Y*H%..v;. | 00000710 57 25 3d 31 b8 48 25 3a 61 76 31 25 3f 28 32 35 |W%=1.H%:av1%?(25| 00000720 36 2d 57 25 29 3d 59 20 81 20 32 35 36 3a 61 76 |6-W%)=Y . 256:av| 00000730 32 25 3f 28 32 35 36 2d 57 25 29 3d 59 20 83 20 |2%?(256-W%)=Y . | 00000740 32 35 36 3a ed 0d 02 80 05 e1 0d 02 8a 0a dd f2 |256:............| 00000750 6f 70 65 6e 0d 02 94 12 e7 20 73 74 72 25 28 49 |open..... str%(I| 00000760 25 29 3c 30 20 e1 0d 02 9e 07 f2 66 66 0d 02 a8 |%)<0 ......ff...| 00000770 13 e7 20 6e 79 65 61 72 73 25 3d 30 20 8c 20 e1 |.. nyears%=0 . .| 00000780 0d 02 b2 36 6e 79 65 61 72 73 25 3d 6e 79 65 61 |...6nyears%=nyea| 00000790 72 73 25 2d 31 3a f2 6f 70 65 6e 32 3a cf 23 47 |rs%-1:.open2:.#G| 000007a0 25 3d 73 74 72 25 28 49 25 29 2a 37 3a 73 68 61 |%=str%(I%)*7:sha| 000007b0 72 65 24 3d 22 22 0d 02 bc 24 e3 20 4a 25 3d 31 |re$=""...$. J%=1| 000007c0 b8 37 3a 73 68 61 72 65 24 3d 73 68 61 72 65 24 |.7:share$=share$| 000007d0 2b bd 28 9a 23 47 25 29 3a ed 0d 02 c6 18 e7 20 |+.(.#G%):...... | 000007e0 73 68 61 72 65 24 3d 22 20 20 20 20 20 20 20 22 |share$=" "| 000007f0 3a e1 0d 02 d0 36 f2 67 65 74 64 6d 79 3a 47 25 |:....6.getdmy:G%| 00000800 3d 8e 28 c3 28 79 65 61 72 25 28 50 46 25 28 49 |=.(.(year%(PF%(I| 00000810 25 29 29 2d 6e 79 65 61 72 73 25 29 2b c3 28 50 |%))-nyears%)+.(P| 00000820 46 25 28 49 25 29 29 29 0d 02 da 05 e1 0d 02 e4 |F%(I%)))........| 00000830 08 dd f2 66 66 0d 02 ee 0d 6e 79 65 61 72 73 25 |...ff....nyears%| 00000840 3d 30 0d 02 f8 05 f5 0d 03 02 2e 47 25 3d 8e 28 |=0.........G%=.(| 00000850 c3 28 79 65 61 72 25 28 50 46 25 28 49 25 29 29 |.(year%(PF%(I%))| 00000860 2d 6e 79 65 61 72 73 25 29 2b c3 28 50 46 25 28 |-nyears%)+.(PF%(| 00000870 49 25 29 29 29 0d 03 0c 07 d9 23 30 0d 03 16 11 |I%))).....#0....| 00000880 e7 20 47 25 3d 30 20 e5 20 8d 54 6a 43 0d 03 20 |. G%=0 . .TjC.. | 00000890 15 6e 79 65 61 72 73 25 3d 6e 79 65 61 72 73 25 |.nyears%=nyears%| 000008a0 2b 31 0d 03 2a 0a fd 20 47 25 3d 30 0d 03 34 1a |+1..*.. G%=0..4.| 000008b0 e7 20 47 25 3d 30 20 80 20 6e 79 65 61 72 73 25 |. G%=0 . nyears%| 000008c0 3d 30 20 8c 20 e1 0d 03 3e 24 e7 20 50 46 25 28 |=0 . ...>$. PF%(| 000008d0 49 25 29 3d 30 20 6e 64 61 74 61 25 3d 31 20 8b |I%)=0 ndata%=1 .| 000008e0 20 6e 64 61 74 61 25 3d 32 30 0d 03 48 1c 6e 70 | ndata%=20..H.np| 000008f0 74 73 25 3d 30 3a 6f 6d 69 6e 3d 39 39 39 39 3a |ts%=0:omin=9999:| 00000900 6f 6d 61 78 3d 30 0d 03 52 50 e3 20 4b 25 3d 30 |omax=0..RP. K%=0| 00000910 b8 6e 79 65 61 72 73 25 2d 31 3a 47 25 3d 8e 28 |.nyears%-1:G%=.(| 00000920 c3 28 79 65 61 72 25 28 50 46 25 28 49 25 29 29 |.(year%(PF%(I%))| 00000930 2d 4b 25 29 2b c3 28 50 46 25 28 49 25 29 29 29 |-K%)+.(PF%(I%)))| 00000940 3a cf 23 47 25 3d 6d 78 6d 6e 25 2b 73 74 72 25 |:.#G%=mxmn%+str%| 00000950 28 49 25 29 2a 34 0d 03 5c 2e 74 6d 69 6e 3d 28 |(I%)*4..\.tmin=(| 00000960 9a 23 47 25 29 2a 32 35 36 2b 9a 23 47 25 3a e7 |.#G%)*256+.#G%:.| 00000970 20 74 6d 69 6e 3c 6f 6d 69 6e 20 6f 6d 69 6e 3d | tmin<omin omin=| 00000980 74 6d 69 6e 0d 03 66 2e 74 6d 61 78 3d 28 9a 23 |tmin..f.tmax=(.#| 00000990 47 25 29 2a 32 35 36 2b 9a 23 47 25 3a e7 20 74 |G%)*256+.#G%:. t| 000009a0 6d 61 78 3e 6f 6d 61 78 20 6f 6d 61 78 3d 74 6d |max>omax omax=tm| 000009b0 61 78 0d 03 70 6e cf 23 47 25 3d 66 70 74 72 25 |ax..pn.#G%=fptr%| 000009c0 3a 66 72 65 63 25 3d 28 9a 23 47 25 29 2a 32 35 |:frec%=(.#G%)*25| 000009d0 36 2b 9a 23 47 25 3a cf 23 47 25 3d 64 69 73 63 |6+.#G%:.#G%=disc| 000009e0 25 3a 63 70 74 72 25 3d 28 9a 23 47 25 29 2a 32 |%:cptr%=(.#G%)*2| 000009f0 35 36 2b 9a 23 47 25 3a 6e 70 74 73 25 3d 6e 70 |56+.#G%:npts%=np| 00000a00 74 73 25 2b 31 2b 28 63 70 74 72 25 2d 66 72 65 |ts%+1+(cptr%-fre| 00000a10 63 25 29 20 81 20 28 6e 64 61 74 61 25 2a 32 29 |c%) . (ndata%*2)| 00000a20 0d 03 7a 07 d9 23 30 0d 03 84 05 ed 0d 03 8e 05 |..z..#0.........| 00000a30 e1 0d 03 98 8e dd f2 6f 70 65 6e 32 3a 47 25 3d |.......open2:G%=| 00000a40 8e 28 c3 28 79 65 61 72 25 28 50 46 25 28 49 25 |.(.(year%(PF%(I%| 00000a50 29 29 2d 6e 79 65 61 72 73 25 29 2b c3 28 50 46 |))-nyears%)+.(PF| 00000a60 25 28 49 25 29 29 29 3a cf 23 47 25 3d 66 70 74 |%(I%))):.#G%=fpt| 00000a70 72 25 3a 66 72 65 63 25 3d 28 9a 23 47 25 29 2a |r%:frec%=(.#G%)*| 00000a80 32 35 36 2b 9a 23 47 25 3a cf 23 47 25 3d 64 69 |256+.#G%:.#G%=di| 00000a90 73 63 25 3a 63 70 74 72 25 3d 28 9a 23 47 25 29 |sc%:cptr%=(.#G%)| 00000aa0 2a 32 35 36 2b 9a 23 47 25 3a 70 74 72 25 3d 66 |*256+.#G%:ptr%=f| 00000ab0 72 65 63 25 2b 73 74 72 25 28 49 25 29 2a 32 0d |rec%+str%(I%)*2.| 00000ac0 03 a2 05 e1 0d 03 ac 4d dd f2 67 65 74 64 6d 79 |.......M..getdmy| 00000ad0 3a cf 23 47 25 3d 64 69 73 63 25 3a 63 70 74 72 |:.#G%=disc%:cptr| 00000ae0 25 3d 28 9a 23 47 25 29 2a 32 35 36 2b 9a 23 47 |%=(.#G%)*256+.#G| 00000af0 25 3a 64 3d 9a 23 47 25 3a 6d 3d 9a 23 47 25 3a |%:d=.#G%:m=.#G%:| 00000b00 79 3d 28 9a 23 47 25 29 2a 32 35 36 2b 9a 23 47 |y=(.#G%)*256+.#G| 00000b10 25 0d 03 b6 16 e7 20 6e 79 65 61 72 73 25 3d 30 |%..... nyears%=0| 00000b20 20 e5 20 8d 64 54 43 0d 03 c0 07 d9 23 30 0d 03 | . .dTC.....#0..| 00000b30 ca 26 47 25 3d 8e 28 c3 28 79 65 61 72 25 28 50 |.&G%=.(.(year%(P| 00000b40 46 25 28 49 25 29 29 29 2b c3 28 50 46 25 28 49 |F%(I%)))+.(PF%(I| 00000b50 25 29 29 29 0d 03 d4 2f cf 23 47 25 3d 63 64 70 |%))).../.#G%=cdp| 00000b60 74 72 25 3a 44 3d 9a 23 47 25 3a 4d 3d 9a 23 47 |tr%:D=.#G%:M=.#G| 00000b70 25 3a 59 3d 28 9a 23 47 25 29 2a 32 35 36 2b 9a |%:Y=(.#G%)*256+.| 00000b80 23 47 25 0d 03 de 07 d9 23 30 0d 03 e8 05 e1 0d |#G%.....#0......| 00000b90 03 f2 0a dd f2 64 61 74 65 0d 03 fc 44 f1 c3 28 |.....date...D..(| 00000ba0 64 29 2b 22 2f 22 2b c3 28 6d 29 2b 22 2f 22 2b |d)+"/"+.(m)+"/"+| 00000bb0 c3 28 79 29 2b 22 20 74 6f 20 22 2b c3 28 44 29 |.(y)+" to "+.(D)| 00000bc0 2b 22 2f 22 2b c3 28 4d 29 2b 22 2f 22 2b c3 28 |+"/"+.(M)+"/"+.(| 00000bd0 59 29 2b 22 20 20 20 20 20 20 20 22 3b 0d 04 06 |Y)+" ";...| 00000be0 05 e1 0d 04 10 25 dd f2 67 70 3a cf 23 47 25 3d |.....%..gp:.#G%=| 00000bf0 70 74 72 25 3a 5a 25 3d 28 9a 23 47 25 29 2a 31 |ptr%:Z%=(.#G%)*1| 00000c00 30 30 2b 9a 23 47 25 0d 04 1a 15 e7 20 5a 25 3d |00+.#G%..... Z%=| 00000c10 30 20 59 3d 30 3a e5 20 8d 44 42 44 0d 04 24 11 |0 Y=0:. .DBD..$.| 00000c20 e7 20 5a 25 3c 31 30 20 5a 25 3d 31 30 0d 04 2e |. Z%<10 Z%=10...| 00000c30 22 59 3d ab 28 5a 25 29 3a 59 3d 28 59 2d 6d 69 |"Y=.(Z%):Y=(Y-mi| 00000c40 6e 29 2a 73 63 61 6c 65 2f 28 4e 25 2b 31 29 0d |n)*scale/(N%+1).| 00000c50 04 38 23 e7 20 4e 25 3d 31 20 80 20 49 25 3d 30 |.8#. N%=1 . I%=0| 00000c60 20 59 3d 59 2b 35 35 30 20 8b 20 59 3d 59 2b 31 | Y=Y+550 . Y=Y+1| 00000c70 30 30 0d 04 42 16 70 74 72 25 3d 70 74 72 25 2b |00..B.ptr%=ptr%+| 00000c80 6e 64 61 74 61 25 2a 32 0d 04 4c 05 e1 0d 04 56 |ndata%*2..L....V| 00000c90 0b dd f2 73 63 61 6c 65 0d 04 60 0f e7 20 6e 70 |...scale..`.. np| 00000ca0 74 73 25 3c 32 20 e1 0d 04 6a 3a f2 73 65 74 6d |ts%<2 ...j:.setm| 00000cb0 78 6d 6e 3a 64 69 66 3d 38 35 30 3a 73 63 61 6c |xmn:dif=850:scal| 00000cc0 65 3d 64 69 66 2f 28 6d 61 78 2d 6d 69 6e 29 3a |e=dif/(max-min):| 00000cd0 78 64 69 66 3d 31 30 30 30 2f 28 6e 70 74 73 25 |xdif=1000/(npts%| 00000ce0 29 0d 04 74 05 e1 0d 04 7e 0d dd f2 73 65 74 6d |)..t....~...setm| 00000cf0 78 6d 6e 0d 04 88 18 6f 6d 69 6e 3d 28 6f 6d 69 |xmn....omin=(omi| 00000d00 6e 20 81 20 31 30 29 20 2a 31 30 0d 04 92 15 e7 |n . 10) *10.....| 00000d10 20 6f 6d 69 6e 3c 31 30 20 6f 6d 69 6e 3d 31 30 | omin<10 omin=10| 00000d20 0d 04 9c 21 e7 20 28 6f 6d 61 78 2d 6f 6d 69 6e |...!. (omax-omin| 00000d30 29 3c 31 30 20 6f 6d 61 78 3d 6f 6d 69 6e 2b 31 |)<10 omax=omin+1| 00000d40 30 0d 04 a6 38 6d 69 6e 3d ab 28 28 6f 6d 69 6e |0...8min=.((omin| 00000d50 20 81 20 31 30 29 2a 31 30 29 3a 6d 61 78 3d ab | . 10)*10):max=.| 00000d60 28 6f 6d 61 78 2b 28 28 6f 6d 61 78 2d 6f 6d 69 |(omax+((omax-omi| 00000d70 6e 29 20 81 20 31 30 29 29 0d 04 b0 1d e7 20 28 |n) . 10))..... (| 00000d80 6d 61 78 2d 6d 69 6e 29 3d 30 20 6d 61 78 3d 31 |max-min)=0 max=1| 00000d90 3a 6d 69 6e 3d 30 0d 04 ba 05 e1 0d 04 c4 0b dd |:min=0..........| 00000da0 f2 61 6e 74 74 65 0d 04 ce 1e e7 20 6f 6d 61 78 |.antte..... omax| 00000db0 2d 6f 6d 69 6e 3c 31 30 30 30 30 20 58 44 49 46 |-omin<10000 XDIF| 00000dc0 3d 31 30 30 0d 04 d8 1c e7 20 6f 6d 61 78 2d 6f |=100..... omax-o| 00000dd0 6d 69 6e 3c 31 30 30 30 20 58 44 49 46 3d 31 30 |min<1000 XDIF=10| 00000de0 0d 04 e2 1b e7 20 6f 6d 61 78 2d 6f 6d 69 6e 3c |..... omax-omin<| 00000df0 31 30 30 20 58 44 49 46 3d 31 30 0d 04 ec 19 e7 |100 XDIF=10.....| 00000e00 20 6f 6d 61 78 2d 6f 6d 69 6e 3c 31 30 20 58 44 | omax-omin<10 XD| 00000e10 49 46 3d 31 0d 04 f6 40 ef 35 3a 58 3d 28 6f 6d |IF=1...@.5:X=(om| 00000e20 69 6e 20 81 20 31 30 29 2a 31 30 3a 4f 4c 44 59 |in . 10)*10:OLDY| 00000e30 3d 2d 31 30 30 30 3a 59 3d ab 28 58 29 3a 59 3d |=-1000:Y=.(X):Y=| 00000e40 28 59 2d 6d 69 6e 29 2a 73 63 61 6c 65 2f 28 4e |(Y-min)*scale/(N| 00000e50 25 2b 31 29 0d 05 00 30 e7 20 4e 25 3d 31 20 80 |%+1)...0. N%=1 .| 00000e60 20 49 25 3d 30 20 66 6d 61 78 3d 39 36 30 3a 58 | I%=0 fmax=960:X| 00000e70 44 49 46 3d 58 44 49 46 2a 28 58 44 49 46 20 81 |DIF=XDIF*(XDIF .| 00000e80 20 31 30 29 0d 05 0a 30 e7 20 4e 25 3d 31 20 80 | 10)...0. N%=1 .| 00000e90 20 49 25 3d 31 20 66 6d 61 78 3d 35 31 30 3a 58 | I%=1 fmax=510:X| 00000ea0 44 49 46 3d 58 44 49 46 2a 28 58 44 49 46 20 81 |DIF=XDIF*(XDIF .| 00000eb0 20 31 30 29 0d 05 14 1a e7 20 4e 25 3d 30 20 80 | 10)..... N%=0 .| 00000ec0 20 49 25 3d 30 20 66 6d 61 78 3d 39 36 30 0d 05 | I%=0 fmax=960..| 00000ed0 1e 1a e7 20 4e 25 3d 30 20 80 20 49 25 3d 31 20 |... N%=0 . I%=1 | 00000ee0 66 6d 61 78 3d 39 36 30 0d 05 28 23 e7 20 4e 25 |fmax=960..(#. N%| 00000ef0 3d 31 20 80 20 49 25 3d 30 20 59 3d 59 2b 35 35 |=1 . I%=0 Y=Y+55| 00000f00 30 20 8b 20 59 3d 59 2b 31 30 30 0d 05 32 05 f5 |0 . Y=Y+100..2..| 00000f10 0d 05 3c 18 e7 20 28 59 2d 4f 4c 44 59 29 3c 34 |..<.. (Y-OLDY)<4| 00000f20 38 20 e5 20 8d 44 50 45 0d 05 46 4a ec 20 31 30 |8 . .DPE..FJ. 10| 00000f30 2c 59 2b 31 36 3a 4f 4c 44 59 3d 59 3a f1 3b 58 |,Y+16:OLDY=Y:.;X| 00000f40 3a ec 20 31 30 30 2c 59 3a df 20 31 32 30 2c 59 |:. 100,Y:. 120,Y| 00000f50 3a ec 20 31 31 31 30 2c 59 2b 31 36 3a f1 3b 58 |:. 1110,Y+16:.;X| 00000f60 3a ec 20 31 30 38 30 2c 59 3a df 20 31 31 30 30 |:. 1080,Y:. 1100| 00000f70 2c 59 0d 05 50 0c 58 3d 58 2b 58 44 49 46 0d 05 |,Y..P.X=X+XDIF..| 00000f80 5a 21 59 3d ab 28 58 29 3a 59 3d 28 59 2d 6d 69 |Z!Y=.(X):Y=(Y-mi| 00000f90 6e 29 2a 73 63 61 6c 65 2f 28 4e 25 2b 31 29 0d |n)*scale/(N%+1).| 00000fa0 05 64 23 e7 20 4e 25 3d 31 20 80 20 49 25 3d 30 |.d#. N%=1 . I%=0| 00000fb0 20 59 3d 59 2b 35 35 30 20 8b 20 59 3d 59 2b 31 | Y=Y+550 . Y=Y+1| 00000fc0 30 30 0d 05 6e 15 fd 20 59 3e 66 6d 61 78 20 84 |00..n.. Y>fmax .| 00000fd0 20 58 3e 39 39 39 39 0d 05 78 06 ef 34 0d 05 82 | X>9999..x..4...| 00000fe0 05 e1 0d 05 8c 0a dd f2 63 6f 6e 74 0d 05 96 0d |........cont....| 00000ff0 41 25 3d 30 3a 42 25 3d 30 0d 05 a0 05 f5 0d 05 |A%=0:B%=0.......| 00001000 aa 0d 43 25 3d 32 3a 44 25 3d 33 0d 05 b4 05 f5 |..C%=2:D%=3.....| 00001010 0d 05 be 09 f2 70 6c 6f 74 0d 05 c8 24 e7 20 4e |.....plot...$. N| 00001020 4f 4e 45 25 28 30 29 3d b9 20 80 20 4e 4f 4e 45 |ONE%(0)=. . NONE| 00001030 25 28 31 29 3d b9 20 e5 20 8d 64 7a 45 0d 05 d2 |%(1)=. . .dzE...| 00001040 1a f1 8a 36 2c 33 30 29 70 72 65 73 73 24 3b 3a |...6,30)press$;:| 00001050 2a 46 58 32 31 2c 30 0d 05 dc 0e 5a 25 3d a5 20 |*FX21,0....Z%=. | 00001060 80 20 26 44 46 0d 05 e6 11 e7 20 5a 25 3d 38 30 |. &DF..... Z%=80| 00001070 20 f2 64 75 6d 70 0d 05 f0 05 db 0d 05 fa 13 43 | .dump.........C| 00001080 25 3d 43 25 2b 32 3a 44 25 3d 44 25 2b 32 0d 06 |%=C%+2:D%=D%+2..| 00001090 04 0f fd 20 43 25 3e 6e 64 61 74 61 25 0d 06 0e |... C%>ndata%...| 000010a0 13 41 25 3d 41 25 2b 31 3a 42 25 3d 42 25 2b 31 |.A%=A%+1:B%=B%+1| 000010b0 0d 06 18 0a fd 20 41 25 3d 34 0d 06 22 05 e1 0d |..... A%=4.."...| 000010c0 06 2c 0c dd f2 62 6f 72 64 65 72 0d 06 36 39 ec |.,...border..69.| 000010d0 20 31 30 30 2c 31 30 30 3a df 20 31 31 30 30 2c | 100,100:. 1100,| 000010e0 31 30 30 3a df 20 31 31 30 30 2c 31 30 30 30 3a |100:. 1100,1000:| 000010f0 df 20 31 30 30 2c 31 30 30 30 3a df 20 31 30 30 |. 100,1000:. 100| 00001100 2c 31 30 30 0d 06 40 05 e1 0d 06 4a 13 dd f2 73 |,100..@....J...s| 00001110 79 73 3a f5 3a 2a 46 58 32 31 2c 30 0d 06 54 14 |ys:.:*FX21,0..T.| 00001120 58 25 3d 8e 28 22 4d 41 49 4e 22 29 3a d9 23 30 |X%=.("MAIN"):.#0| 00001130 0d 06 5e 58 e7 20 58 25 3d 30 20 db 3a f1 8a 30 |..^X. X%=0 .:..0| 00001140 2c 31 30 29 22 49 6e 73 65 72 74 20 53 79 73 74 |,10)"Insert Syst| 00001150 65 6d 20 44 69 73 63 20 69 6e 20 64 72 69 76 65 |em Disc in drive| 00001160 20 30 22 27 27 22 61 6e 64 20 70 72 65 73 73 20 | 0"''"and press | 00001170 61 6e 79 20 6b 65 79 20 74 6f 20 63 6f 6e 74 69 |any key to conti| 00001180 6e 75 65 22 3a f5 fd a5 0d 06 68 0b fd 20 58 25 |nue":.....h.. X%| 00001190 3c 3e 30 0d 06 72 05 e1 0d 06 7c 22 dd f2 6b 65 |<>0..r....|"..ke| 000011a0 79 3a f1 27 27 22 50 52 45 53 53 20 41 20 4b 45 |y:.''"PRESS A KE| 000011b0 59 22 3a 2a 46 58 32 31 2c 30 0d 06 86 08 4b 25 |Y":*FX21,0....K%| 000011c0 3d a5 0d 06 90 05 e1 0d 06 9a 0a dd f2 64 75 6d |=............dum| 000011d0 70 0d 06 a4 0d 2a 2f 50 52 49 4e 54 31 36 0d 06 |p....*/PRINT16..| 000011e0 ae 05 e1 0d 06 b8 2e f4 20 44 65 6c 65 74 65 20 |........ Delete | 000011f0 66 6f 6c 6c 6f 77 69 6e 67 20 63 6f 64 65 20 2d |following code -| 00001200 20 6f 6e 6c 79 20 63 61 6c 6c 65 64 20 6f 6e 63 | only called onc| 00001210 65 0d 06 c2 0c 2a 46 58 32 32 39 2c 30 0d 06 cc |e....*FX229,0...| 00001220 06 eb 30 0d 06 d6 13 ef 32 33 3b 38 32 30 32 3b |..0.....23;8202;| 00001230 30 3b 30 3b 30 3b 0d 06 e0 08 f2 73 79 73 0d 06 |0;0;0;.....sys..| 00001240 ea 10 58 25 3d 8e 28 22 59 45 41 52 22 29 0d 06 |..X%=.("YEAR")..| 00001250 f4 a1 e7 20 58 25 3d 30 20 db 3a f1 8a 30 2c 31 |... X%=0 .:..0,1| 00001260 30 29 22 46 69 6c 65 20 27 59 45 41 52 27 20 64 |0)"File 'YEAR' d| 00001270 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 22 27 |oes not exist."'| 00001280 27 22 47 6f 20 74 6f 20 4d 41 49 4e 20 70 61 6e |'"Go to MAIN pan| 00001290 65 6c 20 61 6e 64 20 73 65 6c 65 63 74 20 65 61 |el and select ea| 000012a0 63 68 22 27 22 72 65 71 75 69 72 65 64 20 49 6e |ch"'"required In| 000012b0 64 65 78 2f 50 6f 72 74 66 6f 6c 69 6f 20 69 6e |dex/Portfolio in| 000012c0 20 74 75 72 6e 2e 22 27 27 22 54 6f 20 72 65 74 | turn."''"To ret| 000012d0 75 72 6e 20 74 6f 20 4d 41 49 4e 22 3a f2 6b 65 |urn to MAIN":.ke| 000012e0 79 3a f2 68 61 69 6e 28 22 4d 41 49 4e 22 29 0d |y:.hain("MAIN").| 000012f0 06 fe 0b e8 23 58 25 2c 55 25 0d 07 08 0b e8 23 |....#X%,U%.....#| 00001300 58 25 2c 56 25 0d 07 12 0b e8 23 58 25 2c 57 25 |X%,V%.....#X%,W%| 00001310 0d 07 1c 0b e8 23 58 25 2c 59 25 0d 07 26 31 e7 |.....#X%,Y%..&1.| 00001320 20 a2 23 58 25 3e 26 31 34 20 e8 23 58 25 2c 46 | .#X%>&14 .#X%,F| 00001330 25 2c 48 25 20 8b 20 48 25 3d 34 30 3a 46 25 3d |%,H% . H%=40:F%=| 00001340 32 30 3a 49 25 3d a3 3a 4c 25 3d a3 0d 07 30 07 |20:I%=.:L%=...0.| 00001350 d9 23 30 0d 07 3a 22 e7 20 46 25 3e 32 30 30 20 |.#0..:". F%>200 | 00001360 46 25 3d 46 25 2d 32 35 36 3a 4a 25 3d a3 20 8b |F%=F%-256:J%=. .| 00001370 20 4a 25 3d b9 0d 07 44 22 e7 20 48 25 3e 32 30 | J%=...D". H%>20| 00001380 30 20 48 25 3d 48 25 2d 32 35 36 3a 4c 25 3d a3 |0 H%=H%-256:L%=.| 00001390 20 8b 20 4c 25 3d b9 0d 07 4e 4d 24 26 31 35 30 | . L%=...NM$&150| 000013a0 30 3d 22 50 72 65 73 73 20 3c 45 53 43 41 50 45 |0="Press <ESCAPE| 000013b0 3e 20 74 6f 20 65 78 69 74 2c 20 3c 50 3e 20 74 |> to exit, <P> t| 000013c0 6f 20 70 72 69 6e 74 2c 20 61 6e 79 20 6f 74 68 |o print, any oth| 000013d0 65 72 20 6b 65 79 20 74 6f 20 63 6f 6e 74 69 6e |er key to contin| 000013e0 75 65 2e 22 0d 07 58 1d e7 20 43 25 3d 30 20 84 |ue."..X.. C%=0 .| 000013f0 20 44 25 3d 30 20 4e 25 3d 30 20 8b 20 4e 25 3d | D%=0 N%=0 . N%=| 00001400 31 0d 07 62 51 21 28 90 2b 34 29 3d 26 46 34 3a |1..bQ!(.+4)=&F4:| 00001410 f7 20 8d 74 78 46 3a 49 25 3d 32 2b 21 26 31 43 |. .txF:I%=2+!&1C| 00001420 20 80 20 26 46 46 46 46 3a f5 3a 49 25 3d 49 25 | . &FFFF:.:I%=I%| 00001430 2d 31 3a fd 20 49 25 3f 2d 31 3d 26 30 44 3a 3f |-1:. I%?-1=&0D:?| 00001440 49 25 3d 26 46 46 3a 21 26 31 32 3d 49 25 2b 31 |I%=&FF:!&12=I%+1| 00001450 3a f9 0d 07 6c 05 e1 0d ff |:...l....| 00001459