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
PX=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
27-05-88/PLOT.m0
27-05-88/PLOT.m1
27-05-88/PLOT.m2
27-05-88/PLOT.m4
27-05-88/PLOT.m5