Home » CEEFAX disks » telesoftware7.adl » 27-05-88/AUTO
27-05-88/AUTO
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/AUTO |
Read OK: | ✔ |
File size: | 2A7C bytes |
Load address: | FFFF1A00 |
Exec address: | FFFF802B |
File contents
10REM PORTFOLIO - AUTO-ENTRY 20REM (C) Jon Leighton Aug 1987 30: 40MODE7 50ON ERROR GOTO 70 60GOTO 140 70*TTXOFF 80REPORT:PRINTERL,ERR:END 90ON ERROROFF 100IF ERR=197 PRINT''"Drive ";FNdrive;" does not exist" 110IF ERR=199 PRINT''"Disc unformatted or not in drive" 120PROCkey 130RUN 140HIMEM=&5F00 150PROCassemble 160VDU23;8202;0;0;0; 170*FX229,1 180minrecord%=251 190firstptr%=158 200currentdate%=160 210maxminptr%=171 220DIM s$(23) 230DIM SHARE$(19),F%(19),price%(19) 240DIM SUB%(6),year%(3) 250p$="Portfolio" 260PROCfindyear 270PROCstatus 280FOR V%=1TO4 290IF V%=4 V%=0 300IF year%(V%)=0 THEN 390 310IF V%=0 ndata%=1 ELSE ndata%=20 320FOR I%=1TO6:SUB%(I%)=FALSE:NEXT 330FOR I%=0TO19:price%(I%)=0:NEXT 340discptr%=165 350CLS 360PROCcheck_and_open_file 370IF FILE%=0 GOTO 390 380PROCedit 390CLOSE#0 400IF V%=0 V%=4 410NEXT 420PROCchain("MAIN") 430END 440: 450DEFPROCfindyear 460PROCsystem 470X%=OPENIN("YEAR") 480IF X%=0 CLS:PRINTTAB(0,10)"File 'YEAR' does not exist."''"Go to MAIN panel."''"To return to MAIN":PROCkey:PROCchain("MAIN") 490FOR I%=0TO3 500INPUT#X%,year%(I%) 510NEXT 520CLOSE#0 530ENDPROC 540: 550DEFPROCchain(A$) 560PROCsystem 570CHAIN A$ 580ENDPROC 590: 600DEF PROCedit 610IF V%>0 AND V%<4 PROCauto1:E%=19 620IF V%=0 PROCauto0:E%=0 630PTR#FILE%=discptr% 640FOR ptr=0TOE% 650BPUT#FILE%,price%(ptr) DIV 100 660BPUT#FILE%,price%(ptr) MOD 100 670NEXT 680REM PUT CURRENT DATE AND DISC POINTER TO DISC 690PTR#FILE%=currentdate% 700BPUT#FILE%,D 710BPUT#FILE%,M 720BPUT#FILE%,(Y DIV 256) 730BPUT#FILE%,(Y MOD 256) 740BPUT#FILE%,DAY 750BPUT#FILE%,(discptr% DIV 256) 760BPUT#FILE%,(discptr% MOD 256) 770REM UPDATE MAX, MIN VALUES ON FILE 780PTR#FILE%=maxminptr% 790FOR I%=0TOE% 800IF price%(I%)=0 GOTO 850 810min%=BGET#FILE%*256+BGET#FILE% 820IF min%>price%(I%) PROCupdatemaxmin 830max%=BGET#FILE%*256+BGET#FILE% 840IF max%<price%(I%) PROCupdatemaxmin 850NEXT 860ENDPROC 870: 880DEFPROCupdatemaxmin 890PTR#FILE%=PTR#FILE%-2 900BPUT#FILE%,price%(I%) DIV 256 910BPUT#FILE%,price%(I%) MOD 256 920ENDPROC 930: 940DEFPROCchange_date(C%) 950discptr%=discptr%+(C%*ndata%*2) 960IF discptr%<minrecord% discptr%=minrecord%:VDU7:PROCfinish 970IF discptr%>(EXT#FILE%)-ndata%*2 discptr%=discptr%-(C%*ndata%*2):D=1:M=1:Y=year%(V%)+1:PROCnotfound:PROCcheck_and_open_file:ENDPROC 980PROCadjustdate 990ENDPROC 1000: 1010DEFPROCadjustdate 1020REPEAT 1030D=D+C% 1040REPEAT 1050IF FNvalidate(D,M,Y)=0 D=D+C% 1060IF D>31 D=1:M=M+1:IF M>12 M=1:Y=Y+1 1070IF D<1 D=31:M=M-1:IF M<1 M=12:Y=Y-1 1080UNTIL FNvalidate(D,M,Y)<>0 1090DAY=DAY+C% 1100IF DAY<1 DAY=7 1110IF DAY>7 DAY=1 1120UNTIL DAY<6 1130ENDPROC 1140: 1150DEFFNvalidate(D,M,Y):=D*M*(M<13)*(D<31+((M+(M>7))AND 1)+(M=2)*(2+((Y AND 3)=0))) 1160: 1170DEFPROCcheck_and_open_file 1180REPEAT 1190FILE%=OPENIN(STR$(year%(V%)*10+V%)) 1200*FX21,0 1210CLOSE#0 1220IF FILE%=0 Y=year%(V%):PROCnotfound 1230UNTIL FILE%<>0 1240FILE%=OPENUP(STR$(year%(V%)*10+V%)) 1250PTR#FILE%=0 1260FOR I%=2TOndata%+1 1270s$(I%)="" 1280FOR J%=1TO7 1290B%=BGET#FILE% 1300IF B%<32 OR B%>126 B%=32 1310s$(I%)=s$(I%)+CHR$(B%) 1320NEXT 1330NEXT 1340REM GET CURRENT DATE AND DISC POINTER 1350PTR#FILE%=currentdate% 1360D=BGET#FILE% 1370M=BGET#FILE% 1380Y=(BGET#FILE%)*256+BGET#FILE% 1390DAY=BGET#FILE% 1400discptr%=(BGET#FILE%)*256+BGET#FILE% 1410S%=TRUE 1420ENDPROC 1430: 1440DEFPROCauto1 1450TEXT$="" 1460Z%=0 1470*TTXON 1480*BBC1 1490*HON 1500REPEAT 1510REPEAT 1520*PAGE 130 1530*DATA 6000 1540UNTIL FNcrc<2 1550PRINTTAB(0,9)CHR$131;'CHR$131;'CHR$131; 1560IF NOT FNclose PRINTTAB(4,10)"Waiting until close of business.":PROCborder 1570UNTIL FNclose 1580CLS 1590REPEAT 1600UNTIL FNdate_ok 1610PROCloadnames 1620FOR I%=0TOndata%-1 1630F%(I%)=FALSE 1640PRINTTAB(0,I%+2)CHR$131;SHARE$(I%) 1650NEXT 1660PRINTTAB(18,10)CHR$131;"Entering data for:-" 1670PRINTTAB(20,13)CHR$131;D;"/";M;"/";Y 1680REPEAT 1690REPEAT 1700REPEAT 1710*PAGE 130 1720*DATA 6000 1730UNTIL FNcrc<2 1740UNTIL FNclose 1750PA%=FNsubpage 1760PRINTTAB(25,1)CHR$130;"Sub-page ";PA% 1770CALL&5F00 1780FOR R%=5TO19 1790PROCgettext(&6000,R%) 1800PROCsearch 1810NEXT 1820SUB%(PA%)=TRUE 1830UNTILZ%=20 OR SUB%(1)+SUB%(2)+SUB%(3)+SUB%(4)+SUB%(5)+SUB%(6)=(-6) 1840PRINTTAB(0,21) 1850*TTXOFF 1860ENDPROC 1870: 1880DEFPROCborder 1890FOR J%=0TO1 1900IF J%=0 T1$="_" ELSE T1$=" " 1910IF J%=0 T2$="I" ELSE T2$=" " 1920FOR I%=2 TO 37 1930PROCdelay 1940PRINTTAB(I%,11)T1$; 1950NEXT 1960PRINTTAB(37,10)T2$; 1970FOR I%=37 TO 2 STEP -1 1980PROCdelay 1990PRINTTAB(I%,9)T1$; 2000NEXT 2010PRINTTAB(2,10)T2$; 2020NEXT 2030ENDPROC 2040: 2050DEFPROCauto0 2060TEXT$="" 2070*TTXON 2080*BBC1 2090*HON 2100*PAGE 125 2110REPEAT 2120UNTIL FNdate_ok 2130PRINTTAB(5,12)CHR$131;"FT-SE 100" 2140REPEAT 2150*PAGE 125 2160*DATA 6000 2170sub_page%=FNsubpage 2180PRINTTAB(25,1)CHR$130;"Sub-page ";sub_page% 2190UNTIL FNcrc<2 AND sub_page%=2 2200CALL&5F00 2210L%=21 2220PROCgettext(&6000,L%) 2230PROCsearch1 2240*TTXOFF 2250ENDPROC 2260: 2270DEFPROCgettext(address%,row%) 2280TEXT$="":I%=0 2290REPEAT 2300pointer%=address%+1+I%*42 2310I%=I%+1 2320UNTIL ?pointer%=row% OR I%=24 2330IF I%<24 pointer%?41=13:TEXT$=$(pointer%+2) 2340ENDPROC 2350: 2360DEFPROCsearch 2370IF SUB%(PA%) THEN ENDPROC 2380FOR J%=1 TO 21 STEP 20 2390FOR I%=0TO19 2400IF SHARE$(I%)=" " GOTO 2420 2410IF SHARE$(I%)=MID$(TEXT$,J%,7) PROCfound 2420NEXT 2430NEXT 2440ENDPROC 2450: 2460DEFPROCsearch1 2470price%(0)=VAL(MID$(TEXT$,26,5)) 2480PRINTTAB(16,12)price%(0) 2490Z%=Z%+1 2500ENDPROC 2510: 2520DEFPROCfound 2530IF F%(I%)=FALSE Z%=Z%+1:F%(I%)=TRUE:ELSE ENDPROC 2540PRINTTAB(0,1)CHR$129;"Found ";Z%;" shares" 2550S%=J%+6 2560REPEAT 2570S%=S%+1 2580UNTIL ASC(MID$(TEXT$,S%,1))>47 AND ASC(MID$(TEXT$,S%,1))<58 2590E%=S% 2600REPEAT 2610E%=E%+1 2620UNTIL MID$(TEXT$,E%,1)=" " 2630E%=E%-1 2640price%(I%)=VAL(MID$(TEXT$,S%,E%-S%+1)) 2650PRINTTAB(10,I%+2)CHR$131;price%(I%) 2660ENDPROC 2670: 2680DEFFNclose 2690REM Look for the text string "Close" starting at location &60C5 2700TEXT$="" 2710FOR I%=&60C5 TO &60C9 2720TEXT$=TEXT$+CHR$(?I% AND 127) 2730NEXT 2740IF TEXT$="Close" OR TEXT$="close" =TRUE ELSE =FALSE 2750: 2760DEFFNdate_ok 2770REM"�DATE WITH ATS 2780TIME=0:REPEATUNTILTIME>120 2790block%=&7000 2800A%=&7A:X%=block%MOD256:Y%=block%DIV256:?block%=15:CALL&FFF1 2810BB1$=RIGHT$(STR$~(block%?8),1) 2820BB2$=STR$~(block%?9):IF LEN(BB2$)=1 BB2$="0"+BB2$ 2830BB3$=STR$~(block%?10):IF LEN(BB3$)=1 BB3$="0"+BB3$ 2840JD=VAL(BB1$+BB2$+BB3$) 2850y%=(100*(JD-15078.2))DIV36525 2860m%=INT((JD-14956.1-INT(365.25*y%))/30.6001) 2870d%=JD-14956-INT(365.25*y%)-INT(30.6*m%):K=INT(0.7+(1/(17-m%))) 2880m%=m%-1-12*K 2890y%=y%+1900 3070dd%=y%*10000+m%*100+d% 3080REM 3090REM Get hour from CEEFAX 3100REM 3110block%=&6000 3120?block%=21 3130X%=block% MOD 256 3140Y%=block% DIV 256 3150A%=&7A 3160REPEAT 3170CALL&FFF1 3180UNTIL block%?10=0 3190hr%=VAL(CHR$(?&6001)+CHR$(?&6002)) 3200IF hr%<10 dd%=dd%-1 3210REPEAT 3220D%=Y*10000+M*100+D 3230IF D%<dd% PROCchange_date(1) 3240UNTIL D%>=dd% 3250REPEAT 3260D%=Y*10000+M*100+D 3270IF D%>dd% PROCchange_date(-1) 3280UNTIL D%<=dd% 3290=TRUE 3300: 3310DEFPROCstatus 3320REPEAT 3330block%=&6000 3340?block%=17 3350block%?1=&FE 3360X%=block% MOD 256 3370Y%=block% DIV 256 3380A%=&7A 3390CALL&FFF1 3400IF block%?1=1 PRINTTAB(0,10)CHR$129;"Teletext Adaptor on, but no signal."''CHR$129;"Check tuning or aerial." 3410IF block%?1=2 PRINTTAB(0,10)CHR$129;"Teletext Adaptor connected,"'CHR$129;"but switched off."'CHR$129;"Switch on, press BREAK and start again." 3420IF block%?1=&FF PRINTTAB(0,10)CHR$129;"No Teletext Adaptor connected." 3430IF block%?1=&FE PRINTTAB(7,10)CHR$131;"NO ATS ROM INSTALLED"''TAB(5)CHR$131;"INSTALL AND START AGAIN" 3440UNTILblock%?1=0 3450ENDPROC 3460: 3470DEFFNcrc 3480?&6000=23 3490?&6001=0 3500?&6002=&60 3510X%=0 3520Y%=&60 3530A%=&7A 3540CALL&FFF1 3550PRINTTAB(20,5)SPC(12) 3560IF ?&6003=&FF PRINTTAB(20,5)CHR$129;"CRC ERROR." 3570IF ?&6003=0 PRINTTAB(20,5)CHR$129;"WARNING:-NO CRC" 3580=?&6003 3590: 3600DEFPROCdelay 3610TIME=0 3620REPEATUNTILTIME>10 3630ENDPROC 3640: 3650DEFPROCloadnames 3660PTR#FILE%=0 3670FOR I%=0TOndata%-1 3680SHARE$(I%)="" 3690FOR J%=0TO6 3700H%=BGET#FILE% 3710SHARE$(I%)=SHARE$(I%)+CHR$(H%) 3720NEXT 3730NEXT 3740ENDPROC 3750: 3760DEFFNsubpage 3770=?&6004 3780: 3790DEFPROCfinish 3800*TTXOFF 3810CLS 3820PRINTTAB(0,10)CHR$131;"Portfolio ";V%;" starts on ";D;"/";M;"/";Y'CHR$131;"and the CEEFAX date is ";d%;"/";m%;"/";y%''CHR$131;"FATAL ERROR"'CHR$131;"Program terminating":VDU21:END 3830: 3840DEFPROCkey 3850PRINT'"PRESS A KEY" 3860*FX21,0 3870K%=GET 3880ENDPROC 3890: 3900DEFFNdrive 3910b%=&6000 3920X%=b% MOD 256 3930Y%=b% DIV 256 3940A%=6 3950FOR I%=0TO11 3960b%?I%=0 3970NEXT 3980b%?2=&60 3990b%?1=1 4000b%?12=1 4010CALL&FFD1 4020=?&6002-48 4030: 4040DEFPROCnotfound 4050*TTXOFF 4060CLS 4070year%(V%)=Y 4080CLOSE#0 4090f$="" 4100IF V%=0 f$="Index data" ELSE f$=p$+" "+STR$(V%) 4110f$=f$+" for "+STR$(year%(V%)) 4120IF year%(V%)=0 AND V%=0 f$="Index data" 4130IF year%(V%)=0 AND V%<>0 f$="Portfolio data" 4140REPEAT 4150PRINTTAB(0,5)f$;" not on this disc:-" 4160REPEAT 4170PRINTTAB(2,8)"A) (A)bandon"''TAB(2)"C) (C)atalogue disc"''TAB(2)"D) (D)rive change (currently Drive ";FNdrive;")"''TAB(2)"G) (G)o on"''TAB(2)"S) (S)tart a new file"''TAB(2)"Choose A,C,D,G or S" 4180REPEAT 4190*FX21,0 4200KEY%=GET AND &DF 4210UNTIL KEY%=65 OR KEY%=67 OR KEY%=68 OR KEY%=71 OR KEY%=83 4220IF KEY%=67 THEN *. 4230IF KEY%=68 PRINT'TAB(10)"Enter drive no.";:REPEAT:KEY%=GET-48:UNTILKEY%>-1 AND KEY%<4:PRINT;" ";KEY%:$&C10="DR."+STR$(KEY%):X%=&10:Y%=&C:CALL&FFF7:PRINT''TAB(10)"Drive ";KEY%;" selected" 4240IF KEY%=65 OR KEY%=71 OR KEY%=83 GOTO 4260 4250PROCkey 4260CLS 4270UNTILKEY%=65 OR KEY%=71 OR KEY%=83 4280CLOSE#0 4290B%=OPENIN(STR$(year%(V%)*10+V%)) 4300CLOSE#0 4310UNTILB%<>0 OR KEY%=65 OR KEY%=83 4320ON ERROR OFF 4330IF KEY%=65 PROCchain("MAIN") 4340IF KEY%=83 PROCopen:ENDPROC 4350ENDPROC 4360: 4370DEFPROCopen 4380IF V%=0 f$="Index" ELSE f$=p$+" "+STR$(V%) 4390PRINTTAB(0,3)f$;" for ";year%(V%) 4400PRINTTAB(0,5)"A new file will be opened if there is"'"enough space."''"Do you wish to start a new file? (Y/N)" 4410REPEAT 4420*FX21,0 4430A%=GET AND &DF 4440UNTIL A%=78 OR A%=89 4450IF A%=78 ENDPROC 4460REPEAT 4470REPEAT 4480PRINT'"Enter date from which ";f$'"is to start in the form DD/MM"'"where DD is the day of the month"'"and MM is the month of the year";:INPUTa$:a$=a$+"/"+STR$(year%(V%)) 4490IF MID$(a$,3,1)<>"/" PROCerrordate:GOTO 4480 4500FOR I%=1TO10 4510IF I%=3 OR I%=6 GOTO 4530 4520IF MID$(a$,I%,1)<"0" OR MID$(a$,I%,1)>"9" PROCerrordate:I%=20 4530NEXT 4540UNTIL I%<19 4550D=VAL(MID$(a$,1,2)) 4560M=VAL(MID$(a$,4,2)) 4570Y=VAL(MID$(a$,7,4)) 4580IF FNvalidate(D,M,Y)=0 PROCerrordate 4590UNTIL FNvalidate(D,M,Y)<>0 4600INPUT'"And enter day of week (Monday=1) "DAY 4610IF DAY>5 PRINT'"Weekends are not allowed !"'"The next Monday will be used and"'"the date will be adjusted.":C%=1:PROCadjustdate 4620CLS 4630PRINTTAB(2,5)"INITIALISING - Please wait" 4640B%=OPENIN(STR$(year%(V%)-1)+STR$(V%)) 4650IF B%=0 GOTO 4750 4660REM Take a copy of sharenames for new file 4670FORI%=1TOndata% 4680s$(I%)="" 4690FORJ%=1TO7 4700s$(I%)=s$(I%)+CHR$(BGET#B%) 4710NEXT 4720NEXT 4730CLOSE#0 4740REM Send data to disc as outlined at start of prog. 4750PROCespace 4760PROCopen2 4770PROCpushyear 4780ON ERROR OFF 4790ENDPROC 4800: 4810DEFPROCopen2 4820$&C01="SAVE "+STR$(year%(V%))+STR$(V%)+" 2000 +"+STR$~D% 4830CALL&FFF7 4840A%=OPENOUT(STR$(year%(V%))+STR$(V%)) 4850FORI%=1TOndata% 4860FORJ%=1TO7 4870BPUT#A%,ASC(MID$(s$(I%),J%,1)) 4880NEXT 4890NEXT 4900PTR#A%=firstptr% 4910BPUT#A%,minrecord% DIV 256 4920BPUT#A%,minrecord% MOD 256 4930BPUT#A%,D 4940BPUT#A%,M 4950BPUT#A%,(Y DIV 256) 4960BPUT#A%,(Y MOD 256) 4970BPUT#A%,DAY 4980BPUT#A%,minrecord% DIV 256 4990BPUT#A%,minrecord% MOD 256 5000BPUT#A%,D 5010BPUT#A%,M 5020BPUT#A%,(Y DIV 256) 5030BPUT#A%,(Y MOD 256) 5040FOR I%=1TOndata% 5050BPUT#A%,&FF 5060BPUT#A%,&FF 5070BPUT#A%,0 5080BPUT#A%,0 5090NEXT 5100PTR#A%=minrecord% 5110C%=1 5120G%=VPOS+1 5130OLDY=Y 5140C%=1 5150REPEAT 5160PROCadjustdate 5170IF Y<>OLDY GOTO 5220 5180FOR I%=1TOndata%*2 5190BPUT#A%,0 5200NEXT 5210PRINTTAB(5,G%)D;"/";M;"/";Y;" " 5220UNTIL Y<>OLDY 5230FOR I%=1TOndata%*2 5240BPUT#A%,0 5250NEXT 5260CLOSE#0 5270PROCthold(1) 5280REM Set current disc pointer to point at current data point ie first 5290discptr%=minrecord% 5300CLOSE#0 5310CLS 5320ON ERROR OFF 5330ENDPROC 5340: 5350DEFPROCthold(B%) 5360IF B%=0:tempday=DAY:tempd=D:tempm=M:tempy=Y 5370IF B%=1 DAY=tempday:D=tempd:M=tempm:Y=tempy 5380ENDPROC 5390: 5400DEFPROCespace 5410PROCthold(0) 5420C%=1 5430D%=0 5440OLDY=Y 5450REPEAT 5460PROCadjustdate 5470D%=D%+1 5480UNTILY<>OLDY 5490PROCthold(1) 5500D%=(D%-1)*ndata%*2 5510X%=1 5520Y%=&C 5530ON ERROR OFF 5540ENDPROC 5550: 5560DEFPROCerrordate 5570CLS 5580PRINTTAB(5,10)"Error in date."''"Press a KEY to re-enter" 5590I%=GET 5600CLS 5610ENDPROC 5620: 5630DEFPROCpushyear 5640PROCsystem 5650X%=OPENOUT("YEAR") 5660FOR I%=0TO3 5670PRINT#X%,year%(I%) 5680NEXT 5690ENDPROC 5700: 5710DEFPROCsystem 5720REPEAT 5730*FX21,0 5740A%=OPENIN("MAIN") 5750CLOSE#0 5760IF A%=0 CLS:PRINTTAB(0,10)"Insert System Disc in drive 0"''"and press any key to continue":REPEATUNTILGET 5770UNTIL A%<>0 5780ENDPROC 5790: 5800DEFPROCassemble 5810VDU21 5820FOR N%=0TO2 STEP2 5830P%=&5F00 5840[ 5850OPT N% 5860.start 5870 lda #0:sta &80:lda #&60:sta &81 5880.loop 5890 ldy #2 5900.loop1 5910 lda (&80),Y:and #&7F:sta (&80),Y 5920.ok1 5930 cmp #32:bcs ok2:lda #32:sta (&80),Y 5940.ok2 5950 iny:cpy #42:bcc loop1:clc:lda #42:adc &80:sta &80:lda #0:adc &81:sta &81:cmp #&65:bcc loop:lda &80:cmp #&00:bcc loop:rts 5960] 5970NEXT 5980VDU6 5990ENDPROC
� PORTFOLIO - AUTO-ENTRY � (C) Jon Leighton Aug 1987 : (�7 2� � � �DF@ < � �tL@ F*TTXOFF P�:�,�:� Z� �� d0� �=197 �''"Drive ";�drive;" does not exist" n1� �=199 �''"Disc unformatted or not in drive" x�key �� ��=&5F00 � �assemble ��23;8202;0;0;0; �*FX229,1 �minrecord%=251 �firstptr%=158 �currentdate%=160 �maxminptr%=171 �� s$(23) �"� SHARE$(19),F%(19),price%(19) �� SUB%(6),year%(3) �p$="Portfolio" �findyear �status � V%=1�4 "� V%=4 V%=0 ,� year%(V%)=0 � �tFA 6� V%=0 ndata%=1 � ndata%=20 @� I%=1�6:SUB%(I%)=�:� J� I%=0�19:price%(I%)=0:� Tdiscptr%=165 ^� h�check_and_open_file r� FILE%=0 � �tFA | �edit ��#0 �� V%=0 V%=4 �� ��chain("MAIN") �� �: ���findyear ��system �X%=�("YEAR") �o� X%=0 �:�0,10)"File 'YEAR' does not exist."''"Go to MAIN panel."''"To return to MAIN":�key:�chain("MAIN") �� I%=0�3 ��#X%,year%(I%) �� �#0 � : &��chain(A$) 0�system :� A$ D� N: X� �edit b� V%>0 � V%<4 �auto1:E%=19 l� V%=0 �auto0:E%=0 v�#FILE%=discptr% �� ptr=0�E% ��#FILE%,price%(ptr) � 100 ��#FILE%,price%(ptr) � 100 �� �/� PUT CURRENT DATE AND DISC POINTER TO DISC ��#FILE%=currentdate% � �#FILE%,D � �#FILE%,M ��#FILE%,(Y � 256) ��#FILE%,(Y � 256) ��#FILE%,DAY ��#FILE%,(discptr% � 256) ��#FILE%,(discptr% � 256) $� UPDATE MAX, MIN VALUES ON FILE �#FILE%=maxminptr% � I%=0�E% � price%(I%)=0 � �DRC *min%=�#FILE%*256+�#FILE% 4#� min%>price%(I%) �updatemaxmin >max%=�#FILE%*256+�#FILE% H#� max%<price%(I%) �updatemaxmin R� \� f: p��updatemaxmin z�#FILE%=�#FILE%-2 ��#FILE%,price%(I%) � 256 ��#FILE%,price%(I%) � 256 �� �: ���change_date(C%) �#discptr%=discptr%+(C%*ndata%*2) �8� discptr%<minrecord% discptr%=minrecord%:�7:�finish �x� discptr%>(�#FILE%)-ndata%*2 discptr%=discptr%-(C%*ndata%*2):D=1:M=1:Y=year%(V%)+1:�notfound:�check_and_open_file:� ��adjustdate �� �: ���adjustdate �� D=D+C% � � �validate(D,M,Y)=0 D=D+C% $%� D>31 D=1:M=M+1:� M>12 M=1:Y=Y+1 .%� D<1 D=31:M=M-1:� M<1 M=12:Y=Y-1 8� �validate(D,M,Y)<>0 BDAY=DAY+C% L� DAY<1 DAY=7 V� DAY>7 DAY=1 `� DAY<6 j� t: ~Mݤvalidate(D,M,Y):=D*M*(M<13)*(D<31+((M+(M>7))� 1)+(M=2)*(2+((Y � 3)=0))) �: ���check_and_open_file �� �FILE%=�(�(year%(V%)*10+V%)) �*FX21,0 ��#0 �#� FILE%=0 Y=year%(V%):�notfound �� FILE%<>0 �FILE%=�(�(year%(V%)*10+V%)) � �#FILE%=0 �� I%=2�ndata%+1 � s$(I%)="" � J%=1�7 B%=�#FILE% � B%<32 � B%>126 B%=32 s$(I%)=s$(I%)+�(B%) (� 2� <'� GET CURRENT DATE AND DISC POINTER F�#FILE%=currentdate% P D=�#FILE% Z M=�#FILE% dY=(�#FILE%)*256+�#FILE% nDAY=�#FILE% x"discptr%=(�#FILE%)*256+�#FILE% �S%=� �� �: ���auto1 �TEXT$="" �Z%=0 � *TTXON � *BBC1 �*HON �� �� � *PAGE 130 �*DATA 6000 � �crc<2 �0,9)�131;'�131;'�131; @� � �close �4,10)"Waiting until close of business.":�border "� �close ,� 6� @� �date_ok J�loadnames T� I%=0�ndata%-1 ^F%(I%)=� h�0,I%+2)�131;SHARE$(I%) r� |&�18,10)�131;"Entering data for:-" ��20,13)�131;D;"/";M;"/";Y �� �� �� � *PAGE 130 �*DATA 6000 �� �crc<2 �� �close �PA%=�subpage ��25,1)�130;"Sub-page ";PA% � �&5F00 � � R%=5�19 ��gettext(&6000,R%) �search � SUB%(PA%)=� &A�Z%=20 � SUB%(1)+SUB%(2)+SUB%(3)+SUB%(4)+SUB%(5)+SUB%(6)=(-6) 0�0,21) :*TTXOFF D� N: X��border b� J%=0�1 l� J%=0 T1$="_" � T1$=" " v� J%=0 T2$="I" � T2$=" " �� I%=2 � 37 � �delay ��I%,11)T1$; �� ��37,10)T2$; �� I%=37 � 2 � -1 � �delay ��I%,9)T1$; �� ��2,10)T2$; �� �� �: ��auto0 TEXT$="" *TTXON *BBC1 **HON 4 *PAGE 125 >� H� �date_ok R�5,12)�131;"FT-SE 100" \� f *PAGE 125 p*DATA 6000 zsub_page%=�subpage �%�25,1)�130;"Sub-page ";sub_page% �� �crc<2 � sub_page%=2 � �&5F00 � L%=21 ��gettext(&6000,L%) ��search1 �*TTXOFF �� �: ���gettext(address%,row%) �TEXT$="":I%=0 �� �pointer%=address%+1+I%*42 I%=I%+1 � ?pointer%=row% � I%=24 .� I%<24 pointer%?41=13:TEXT$=$(pointer%+2) $� .: 8��search B� SUB%(PA%) � � L� J%=1 � 21 � 20 V � I%=0�19 `!� SHARE$(I%)=" " � �DtI j$� SHARE$(I%)=�TEXT$,J%,7) �found t� ~� �� �: � ��search1 �price%(0)=�(�TEXT$,26,5)) ��16,12)price%(0) �Z%=Z%+1 �� �: ���found �#� F%(I%)=� Z%=Z%+1:F%(I%)=�:� � �$�0,1)�129;"Found ";Z%;" shares" �S%=J%+6 � S%=S%+1 -� �(�TEXT$,S%,1))>47 � �(�TEXT$,S%,1))<58 E%=S% (� 2E%=E%+1 <� �TEXT$,E%,1)=" " FE%=E%-1 P$price%(I%)=�(�TEXT$,S%,E%-S%+1)) Z�10,I%+2)�131;price%(I%) d� n: xݤclose �A� Look for the text string "Close" starting at location &60C5 �TEXT$="" �� I%=&60C5 � &60C9 �TEXT$=TEXT$+�(?I% � 127) �� �+� TEXT$="Close" � TEXT$="close" =� � =� �: � ݤdate_ok ��"�DATE WITH ATS ��=0:���>120 �block%=&7000 �8A%=&7A:X%=block%�256:Y%=block%�256:?block%=15:�&FFF1 �BB1$=��~(block%?8),1) /BB2$=�~(block%?9):� �(BB2$)=1 BB2$="0"+BB2$ 0BB3$=�~(block%?10):� �(BB3$)=1 BB3$="0"+BB3$ JD=�(BB1$+BB2$+BB3$) "y%=(100*(JD-15078.2))�36525 ,+m%=�((JD-14956.1-�(365.25*y%))/30.6001) 6<d%=JD-14956-�(365.25*y%)-�(30.6*m%):K=�(0.7+(1/(17-m%))) @m%=m%-1-12*K Jy%=y%+1900 �dd%=y%*10000+m%*100+d% � � Get hour from CEEFAX � &block%=&6000 0?block%=21 :X%=block% � 256 DY%=block% � 256 N A%=&7A X� b �&FFF1 l� block%?10=0 vhr%=�(�(?&6001)+�(?&6002)) �� hr%<10 dd%=dd%-1 �� �D%=Y*10000+M*100+D �� D%<dd% �change_date(1) � � D%>=dd% �� �D%=Y*10000+M*100+D �� D%>dd% �change_date(-1) � � D%<=dd% �=� �: ���status �� block%=&6000 ?block%=17 block%?1=&FE X%=block% � 256 *Y%=block% � 256 4 A%=&7A > �&FFF1 Hb� block%?1=1 �0,10)�129;"Teletext Adaptor on, but no signal."''�129;"Check tuning or aerial." R�� block%?1=2 �0,10)�129;"Teletext Adaptor connected,"'�129;"but switched off."'�129;"Switch on, press BREAK and start again." \?� block%?1=&FF �0,10)�129;"No Teletext Adaptor connected." fX� block%?1=&FE �7,10)�131;"NO ATS ROM INSTALLED"''�5)�131;"INSTALL AND START AGAIN" p�block%?1=0 z� �: � ݤcrc � ?&6000=23 �?&6001=0 �?&6002=&60 �X%=0 � Y%=&60 � A%=&7A � �&FFF1 ��20,5)�(12) �)� ?&6003=&FF �20,5)�129;"CRC ERROR." �,� ?&6003=0 �20,5)�129;"WARNING:-NO CRC" �=?&6003 : ��delay �=0 $ ���>10 .� 8: B��loadnames L �#FILE%=0 V� I%=0�ndata%-1 `SHARE$(I%)="" j� J%=0�6 tH%=�#FILE% ~SHARE$(I%)=SHARE$(I%)+�(H%) �� �� �� �: � ݤsubpage �=?&6004 �: ���finish �*TTXOFF �� ��0,10)�131;"Portfolio ";V%;" starts on ";D;"/";M;"/";Y'�131;"and the CEEFAX date is ";d%;"/";m%;"/";y%''�131;"FATAL ERROR"'�131;"Program terminating":�21:� �: ��key �'"PRESS A KEY" *FX21,0 K%=� (� 2: <ݤdrive Fb%=&6000 PX%=b% � 256 ZY%=b% � 256 dA%=6 n � I%=0�11 xb%?I%=0 �� �b%?2=&60 � b%?1=1 �b%?12=1 � �&FFD1 �=?&6002-48 �: ���notfound �*TTXOFF �� �year%(V%)=Y ��#0 � f$="" ,� V%=0 f$="Index data" � f$=p$+" "+�(V%) f$=f$+" for "+�(year%(V%)) (� year%(V%)=0 � V%=0 f$="Index data" "-� year%(V%)=0 � V%<>0 f$="Portfolio data" ,� 6"�0,5)f$;" not on this disc:-" @� J��2,8)"A) (A)bandon"''�2)"C) (C)atalogue disc"''�2)"D) (D)rive change (currently Drive ";�drive;")"''�2)"G) (G)o on"''�2)"S) (S)tart a new file"''�2)"Choose A,C,D,G or S" T� ^*FX21,0 hKEY%=� � &DF r5� KEY%=65 � KEY%=67 � KEY%=68 � KEY%=71 � KEY%=83 |� KEY%=67 � *. ��� KEY%=68 �'�10)"Enter drive no.";:�:KEY%=�-48:�KEY%>-1 � KEY%<4:�;" ";KEY%:$&C10="DR."+�(KEY%):X%=&10:Y%=&C:�&FFF7:�''�10)"Drive ";KEY%;" selected" �(� KEY%=65 � KEY%=71 � KEY%=83 � �tdP ��key �� � �KEY%=65 � KEY%=71 � KEY%=83 ��#0 �B%=�(�(year%(V%)*10+V%)) ��#0 ��B%<>0 � KEY%=65 � KEY%=83 � � � � �� KEY%=65 �chain("MAIN") �� KEY%=83 �open:� �� : ��open '� V%=0 f$="Index" � f$=p$+" "+�(V%) &�0,3)f$;" for ";year%(V%) 0k�0,5)"A new file will be opened if there is"'"enough space."''"Do you wish to start a new file? (Y/N)" :� D*FX21,0 NA%=� � &DF X� A%=78 � A%=89 b � A%=78 � l� v� ���'"Enter date from which ";f$'"is to start in the form DD/MM"'"where DD is the day of the month"'"and MM is the month of the year";:�a$:a$=a$+"/"+�(year%(V%)) �%� �a$,3,1)<>"/" �errordate:� �t@Q � � I%=1�10 �� I%=3 � I%=6 � �trQ �4� �a$,I%,1)<"0" � �a$,I%,1)>"9" �errordate:I%=20 �� �� I%<19 �D=�(�a$,1,2)) �M=�(�a$,4,2)) �Y=�(�a$,7,4)) �#� �validate(D,M,Y)=0 �errordate �� �validate(D,M,Y)<>0 �,�'"And enter day of week (Monday=1) "DAY {� DAY>5 �'"Weekends are not allowed !"'"The next Monday will be used and"'"the date will be adjusted.":C%=1:�adjustdate � &�2,5)"INITIALISING - Please wait" B%=�(�(year%(V%)-1)+�(V%)) *� B%=0 � �tNR 4,� Take a copy of sharenames for new file >�I%=1�ndata% H s$(I%)="" R�J%=1�7 \s$(I%)=s$(I%)+�(�#B%) f� p� z�#0 �5� Send data to disc as outlined at start of prog. ��espace � �open2 � �pushyear � � � � �� �: ���open2 �3$&C01="SAVE "+�(year%(V%))+�(V%)+" 2000 +"+�~D% � �&FFF7 �A%=�(�(year%(V%))+�(V%)) ��I%=1�ndata% ��J%=1�7 �#A%,�(�s$(I%),J%,1)) � � $�#A%=firstptr% .�#A%,minrecord% � 256 8�#A%,minrecord% � 256 B �#A%,D L �#A%,M V�#A%,(Y � 256) `�#A%,(Y � 256) j�#A%,DAY t�#A%,minrecord% � 256 ~�#A%,minrecord% � 256 � �#A%,D � �#A%,M ��#A%,(Y � 256) ��#A%,(Y � 256) �� I%=1�ndata% ��#A%,&FF ��#A%,&FF � �#A%,0 � �#A%,0 �� ��#A%=minrecord% �C%=1 G%=�+1 OLDY=Y C%=1 � (�adjustdate 2� Y<>OLDY � �DdT <� I%=1�ndata%*2 F �#A%,0 P� Z�5,G%)D;"/";M;"/";Y;" " d � Y<>OLDY n� I%=1�ndata%*2 x �#A%,0 �� ��#0 � �thold(1) �F� Set current disc pointer to point at current data point ie first �discptr%=minrecord% ��#0 �� � � � � �� �: ���thold(B%) �.� B%=0:tempday=DAY:tempd=D:tempm=M:tempy=Y �.� B%=1 DAY=tempday:D=tempd:M=tempm:Y=tempy � : ��espace " �thold(0) ,C%=1 6D%=0 @ OLDY=Y J� T�adjustdate ^D%=D%+1 h�Y<>OLDY r �thold(1) |D%=(D%-1)*ndata%*2 �X%=1 � Y%=&C � � � � �� �: ���errordate �� �6�5,10)"Error in date."''"Press a KEY to re-enter" �I%=� �� �� �: ���pushyear �system X%=�("YEAR") � I%=0�3 &�#X%,year%(I%) 0� :� D: N��system X� b*FX21,0 lA%=�("MAIN") v�#0 �X� A%=0 �:�0,10)"Insert System Disc in drive 0"''"and press any key to continue":��� �� A%<>0 �� �: ���assemble ��21 �� N%=0�2 �2 �P%=&5F00 �[ � OPT N% � .start �' lda #0:sta &80:lda #&60:sta &81 � .loop ldy #2 .loop1 ( lda (&80),Y:and #&7F:sta (&80),Y .ok1 *+ cmp #32:bcs ok2:lda #32:sta (&80),Y 4.ok2 >� iny:cpy #42:bcc loop1:clc:lda #42:adc &80:sta &80:lda #0:adc &81:sta &81:cmp #&65:bcc loop:lda &80:cmp #&00:bcc loop:rts H] R� \�6 f� �
00000000 0d 00 0a 1c f4 20 50 4f 52 54 46 4f 4c 49 4f 20 |..... PORTFOLIO | 00000010 2d 20 41 55 54 4f 2d 45 4e 54 52 59 0d 00 14 1f |- AUTO-ENTRY....| 00000020 f4 20 28 43 29 20 4a 6f 6e 20 4c 65 69 67 68 74 |. (C) Jon Leight| 00000030 6f 6e 20 41 75 67 20 31 39 38 37 0d 00 1e 05 3a |on Aug 1987....:| 00000040 0d 00 28 06 eb 37 0d 00 32 0e ee 20 85 20 e5 20 |..(..7..2.. . . | 00000050 8d 44 46 40 0d 00 3c 0a e5 20 8d 74 4c 40 0d 00 |.DF@..<.. .tL@..| 00000060 46 0b 2a 54 54 58 4f 46 46 0d 00 50 0c f6 3a f1 |F.*TTXOFF..P..:.| 00000070 9e 2c 9f 3a e0 0d 00 5a 08 ee 20 85 87 0d 00 64 |.,.:...Z.. ....d| 00000080 30 e7 20 9f 3d 31 39 37 20 f1 27 27 22 44 72 69 |0. .=197 .''"Dri| 00000090 76 65 20 22 3b a4 64 72 69 76 65 3b 22 20 64 6f |ve ";.drive;" do| 000000a0 65 73 20 6e 6f 74 20 65 78 69 73 74 22 0d 00 6e |es not exist"..n| 000000b0 31 e7 20 9f 3d 31 39 39 20 f1 27 27 22 44 69 73 |1. .=199 .''"Dis| 000000c0 63 20 75 6e 66 6f 72 6d 61 74 74 65 64 20 6f 72 |c unformatted or| 000000d0 20 6e 6f 74 20 69 6e 20 64 72 69 76 65 22 0d 00 | not in drive"..| 000000e0 78 08 f2 6b 65 79 0d 00 82 05 f9 0d 00 8c 0b d3 |x..key..........| 000000f0 3d 26 35 46 30 30 0d 00 96 0d f2 61 73 73 65 6d |=&5F00.....assem| 00000100 62 6c 65 0d 00 a0 13 ef 32 33 3b 38 32 30 32 3b |ble.....23;8202;| 00000110 30 3b 30 3b 30 3b 0d 00 aa 0c 2a 46 58 32 32 39 |0;0;0;....*FX229| 00000120 2c 31 0d 00 b4 12 6d 69 6e 72 65 63 6f 72 64 25 |,1....minrecord%| 00000130 3d 32 35 31 0d 00 be 11 66 69 72 73 74 70 74 72 |=251....firstptr| 00000140 25 3d 31 35 38 0d 00 c8 14 63 75 72 72 65 6e 74 |%=158....current| 00000150 64 61 74 65 25 3d 31 36 30 0d 00 d2 12 6d 61 78 |date%=160....max| 00000160 6d 69 6e 70 74 72 25 3d 31 37 31 0d 00 dc 0c de |minptr%=171.....| 00000170 20 73 24 28 32 33 29 0d 00 e6 22 de 20 53 48 41 | s$(23)...". SHA| 00000180 52 45 24 28 31 39 29 2c 46 25 28 31 39 29 2c 70 |RE$(19),F%(19),p| 00000190 72 69 63 65 25 28 31 39 29 0d 00 f0 16 de 20 53 |rice%(19)..... S| 000001a0 55 42 25 28 36 29 2c 79 65 61 72 25 28 33 29 0d |UB%(6),year%(3).| 000001b0 00 fa 12 70 24 3d 22 50 6f 72 74 66 6f 6c 69 6f |...p$="Portfolio| 000001c0 22 0d 01 04 0d f2 66 69 6e 64 79 65 61 72 0d 01 |".....findyear..| 000001d0 0e 0b f2 73 74 61 74 75 73 0d 01 18 0c e3 20 56 |...status..... V| 000001e0 25 3d 31 b8 34 0d 01 22 0f e7 20 56 25 3d 34 20 |%=1.4..".. V%=4 | 000001f0 56 25 3d 30 0d 01 2c 18 e7 20 79 65 61 72 25 28 |V%=0..,.. year%(| 00000200 56 25 29 3d 30 20 8c 20 8d 74 46 41 0d 01 36 1f |V%)=0 . .tFA..6.| 00000210 e7 20 56 25 3d 30 20 6e 64 61 74 61 25 3d 31 20 |. V%=0 ndata%=1 | 00000220 8b 20 6e 64 61 74 61 25 3d 32 30 0d 01 40 19 e3 |. ndata%=20..@..| 00000230 20 49 25 3d 31 b8 36 3a 53 55 42 25 28 49 25 29 | I%=1.6:SUB%(I%)| 00000240 3d a3 3a ed 0d 01 4a 1c e3 20 49 25 3d 30 b8 31 |=.:...J.. I%=0.1| 00000250 39 3a 70 72 69 63 65 25 28 49 25 29 3d 30 3a ed |9:price%(I%)=0:.| 00000260 0d 01 54 10 64 69 73 63 70 74 72 25 3d 31 36 35 |..T.discptr%=165| 00000270 0d 01 5e 05 db 0d 01 68 18 f2 63 68 65 63 6b 5f |..^....h..check_| 00000280 61 6e 64 5f 6f 70 65 6e 5f 66 69 6c 65 0d 01 72 |and_open_file..r| 00000290 14 e7 20 46 49 4c 45 25 3d 30 20 e5 20 8d 74 46 |.. FILE%=0 . .tF| 000002a0 41 0d 01 7c 09 f2 65 64 69 74 0d 01 86 07 d9 23 |A..|..edit.....#| 000002b0 30 0d 01 90 0f e7 20 56 25 3d 30 20 56 25 3d 34 |0..... V%=0 V%=4| 000002c0 0d 01 9a 05 ed 0d 01 a4 12 f2 63 68 61 69 6e 28 |..........chain(| 000002d0 22 4d 41 49 4e 22 29 0d 01 ae 05 e0 0d 01 b8 05 |"MAIN").........| 000002e0 3a 0d 01 c2 0e dd f2 66 69 6e 64 79 65 61 72 0d |:......findyear.| 000002f0 01 cc 0b f2 73 79 73 74 65 6d 0d 01 d6 10 58 25 |....system....X%| 00000300 3d 8e 28 22 59 45 41 52 22 29 0d 01 e0 6f e7 20 |=.("YEAR")...o. | 00000310 58 25 3d 30 20 db 3a f1 8a 30 2c 31 30 29 22 46 |X%=0 .:..0,10)"F| 00000320 69 6c 65 20 27 59 45 41 52 27 20 64 6f 65 73 20 |ile 'YEAR' does | 00000330 6e 6f 74 20 65 78 69 73 74 2e 22 27 27 22 47 6f |not exist."''"Go| 00000340 20 74 6f 20 4d 41 49 4e 20 70 61 6e 65 6c 2e 22 | to MAIN panel."| 00000350 27 27 22 54 6f 20 72 65 74 75 72 6e 20 74 6f 20 |''"To return to | 00000360 4d 41 49 4e 22 3a f2 6b 65 79 3a f2 63 68 61 69 |MAIN":.key:.chai| 00000370 6e 28 22 4d 41 49 4e 22 29 0d 01 ea 0c e3 20 49 |n("MAIN")..... I| 00000380 25 3d 30 b8 33 0d 01 f4 12 e8 23 58 25 2c 79 65 |%=0.3.....#X%,ye| 00000390 61 72 25 28 49 25 29 0d 01 fe 05 ed 0d 02 08 07 |ar%(I%).........| 000003a0 d9 23 30 0d 02 12 05 e1 0d 02 1c 05 3a 0d 02 26 |.#0.........:..&| 000003b0 0f dd f2 63 68 61 69 6e 28 41 24 29 0d 02 30 0b |...chain(A$)..0.| 000003c0 f2 73 79 73 74 65 6d 0d 02 3a 08 d7 20 41 24 0d |.system..:.. A$.| 000003d0 02 44 05 e1 0d 02 4e 05 3a 0d 02 58 0b dd 20 f2 |.D....N.:..X.. .| 000003e0 65 64 69 74 0d 02 62 1e e7 20 56 25 3e 30 20 80 |edit..b.. V%>0 .| 000003f0 20 56 25 3c 34 20 f2 61 75 74 6f 31 3a 45 25 3d | V%<4 .auto1:E%=| 00000400 31 39 0d 02 6c 16 e7 20 56 25 3d 30 20 f2 61 75 |19..l.. V%=0 .au| 00000410 74 6f 30 3a 45 25 3d 30 0d 02 76 14 cf 23 46 49 |to0:E%=0..v..#FI| 00000420 4c 45 25 3d 64 69 73 63 70 74 72 25 0d 02 80 0e |LE%=discptr%....| 00000430 e3 20 70 74 72 3d 30 b8 45 25 0d 02 8a 1d d5 23 |. ptr=0.E%.....#| 00000440 46 49 4c 45 25 2c 70 72 69 63 65 25 28 70 74 72 |FILE%,price%(ptr| 00000450 29 20 81 20 31 30 30 0d 02 94 1d d5 23 46 49 4c |) . 100.....#FIL| 00000460 45 25 2c 70 72 69 63 65 25 28 70 74 72 29 20 83 |E%,price%(ptr) .| 00000470 20 31 30 30 0d 02 9e 05 ed 0d 02 a8 2f f4 20 50 | 100......../. P| 00000480 55 54 20 43 55 52 52 45 4e 54 20 44 41 54 45 20 |UT CURRENT DATE | 00000490 41 4e 44 20 44 49 53 43 20 50 4f 49 4e 54 45 52 |AND DISC POINTER| 000004a0 20 54 4f 20 44 49 53 43 0d 02 b2 18 cf 23 46 49 | TO DISC.....#FI| 000004b0 4c 45 25 3d 63 75 72 72 65 6e 74 64 61 74 65 25 |LE%=currentdate%| 000004c0 0d 02 bc 0d d5 23 46 49 4c 45 25 2c 44 0d 02 c6 |.....#FILE%,D...| 000004d0 0d d5 23 46 49 4c 45 25 2c 4d 0d 02 d0 15 d5 23 |..#FILE%,M.....#| 000004e0 46 49 4c 45 25 2c 28 59 20 81 20 32 35 36 29 0d |FILE%,(Y . 256).| 000004f0 02 da 15 d5 23 46 49 4c 45 25 2c 28 59 20 83 20 |....#FILE%,(Y . | 00000500 32 35 36 29 0d 02 e4 0f d5 23 46 49 4c 45 25 2c |256).....#FILE%,| 00000510 44 41 59 0d 02 ee 1c d5 23 46 49 4c 45 25 2c 28 |DAY.....#FILE%,(| 00000520 64 69 73 63 70 74 72 25 20 81 20 32 35 36 29 0d |discptr% . 256).| 00000530 02 f8 1c d5 23 46 49 4c 45 25 2c 28 64 69 73 63 |....#FILE%,(disc| 00000540 70 74 72 25 20 83 20 32 35 36 29 0d 03 02 24 f4 |ptr% . 256)...$.| 00000550 20 55 50 44 41 54 45 20 4d 41 58 2c 20 4d 49 4e | UPDATE MAX, MIN| 00000560 20 56 41 4c 55 45 53 20 4f 4e 20 46 49 4c 45 0d | VALUES ON FILE.| 00000570 03 0c 16 cf 23 46 49 4c 45 25 3d 6d 61 78 6d 69 |....#FILE%=maxmi| 00000580 6e 70 74 72 25 0d 03 16 0d e3 20 49 25 3d 30 b8 |nptr%..... I%=0.| 00000590 45 25 0d 03 20 19 e7 20 70 72 69 63 65 25 28 49 |E%.. .. price%(I| 000005a0 25 29 3d 30 20 e5 20 8d 44 52 43 0d 03 2a 1c 6d |%)=0 . .DRC..*.m| 000005b0 69 6e 25 3d 9a 23 46 49 4c 45 25 2a 32 35 36 2b |in%=.#FILE%*256+| 000005c0 9a 23 46 49 4c 45 25 0d 03 34 23 e7 20 6d 69 6e |.#FILE%..4#. min| 000005d0 25 3e 70 72 69 63 65 25 28 49 25 29 20 f2 75 70 |%>price%(I%) .up| 000005e0 64 61 74 65 6d 61 78 6d 69 6e 0d 03 3e 1c 6d 61 |datemaxmin..>.ma| 000005f0 78 25 3d 9a 23 46 49 4c 45 25 2a 32 35 36 2b 9a |x%=.#FILE%*256+.| 00000600 23 46 49 4c 45 25 0d 03 48 23 e7 20 6d 61 78 25 |#FILE%..H#. max%| 00000610 3c 70 72 69 63 65 25 28 49 25 29 20 f2 75 70 64 |<price%(I%) .upd| 00000620 61 74 65 6d 61 78 6d 69 6e 0d 03 52 05 ed 0d 03 |atemaxmin..R....| 00000630 5c 05 e1 0d 03 66 05 3a 0d 03 70 12 dd f2 75 70 |\....f.:..p...up| 00000640 64 61 74 65 6d 61 78 6d 69 6e 0d 03 7a 15 cf 23 |datemaxmin..z..#| 00000650 46 49 4c 45 25 3d 8f 23 46 49 4c 45 25 2d 32 0d |FILE%=.#FILE%-2.| 00000660 03 84 1c d5 23 46 49 4c 45 25 2c 70 72 69 63 65 |....#FILE%,price| 00000670 25 28 49 25 29 20 81 20 32 35 36 0d 03 8e 1c d5 |%(I%) . 256.....| 00000680 23 46 49 4c 45 25 2c 70 72 69 63 65 25 28 49 25 |#FILE%,price%(I%| 00000690 29 20 83 20 32 35 36 0d 03 98 05 e1 0d 03 a2 05 |) . 256.........| 000006a0 3a 0d 03 ac 15 dd f2 63 68 61 6e 67 65 5f 64 61 |:......change_da| 000006b0 74 65 28 43 25 29 0d 03 b6 23 64 69 73 63 70 74 |te(C%)...#discpt| 000006c0 72 25 3d 64 69 73 63 70 74 72 25 2b 28 43 25 2a |r%=discptr%+(C%*| 000006d0 6e 64 61 74 61 25 2a 32 29 0d 03 c0 38 e7 20 64 |ndata%*2)...8. d| 000006e0 69 73 63 70 74 72 25 3c 6d 69 6e 72 65 63 6f 72 |iscptr%<minrecor| 000006f0 64 25 20 64 69 73 63 70 74 72 25 3d 6d 69 6e 72 |d% discptr%=minr| 00000700 65 63 6f 72 64 25 3a ef 37 3a f2 66 69 6e 69 73 |ecord%:.7:.finis| 00000710 68 0d 03 ca 78 e7 20 64 69 73 63 70 74 72 25 3e |h...x. discptr%>| 00000720 28 a2 23 46 49 4c 45 25 29 2d 6e 64 61 74 61 25 |(.#FILE%)-ndata%| 00000730 2a 32 20 64 69 73 63 70 74 72 25 3d 64 69 73 63 |*2 discptr%=disc| 00000740 70 74 72 25 2d 28 43 25 2a 6e 64 61 74 61 25 2a |ptr%-(C%*ndata%*| 00000750 32 29 3a 44 3d 31 3a 4d 3d 31 3a 59 3d 79 65 61 |2):D=1:M=1:Y=yea| 00000760 72 25 28 56 25 29 2b 31 3a f2 6e 6f 74 66 6f 75 |r%(V%)+1:.notfou| 00000770 6e 64 3a f2 63 68 65 63 6b 5f 61 6e 64 5f 6f 70 |nd:.check_and_op| 00000780 65 6e 5f 66 69 6c 65 3a e1 0d 03 d4 0f f2 61 64 |en_file:......ad| 00000790 6a 75 73 74 64 61 74 65 0d 03 de 05 e1 0d 03 e8 |justdate........| 000007a0 05 3a 0d 03 f2 10 dd f2 61 64 6a 75 73 74 64 61 |.:......adjustda| 000007b0 74 65 0d 03 fc 05 f5 0d 04 06 0a 44 3d 44 2b 43 |te.........D=D+C| 000007c0 25 0d 04 10 05 f5 0d 04 1a 1f e7 20 a4 76 61 6c |%.......... .val| 000007d0 69 64 61 74 65 28 44 2c 4d 2c 59 29 3d 30 20 44 |idate(D,M,Y)=0 D| 000007e0 3d 44 2b 43 25 0d 04 24 25 e7 20 44 3e 33 31 20 |=D+C%..$%. D>31 | 000007f0 44 3d 31 3a 4d 3d 4d 2b 31 3a e7 20 4d 3e 31 32 |D=1:M=M+1:. M>12| 00000800 20 4d 3d 31 3a 59 3d 59 2b 31 0d 04 2e 25 e7 20 | M=1:Y=Y+1...%. | 00000810 44 3c 31 20 44 3d 33 31 3a 4d 3d 4d 2d 31 3a e7 |D<1 D=31:M=M-1:.| 00000820 20 4d 3c 31 20 4d 3d 31 32 3a 59 3d 59 2d 31 0d | M<1 M=12:Y=Y-1.| 00000830 04 38 19 fd 20 a4 76 61 6c 69 64 61 74 65 28 44 |.8.. .validate(D| 00000840 2c 4d 2c 59 29 3c 3e 30 0d 04 42 0e 44 41 59 3d |,M,Y)<>0..B.DAY=| 00000850 44 41 59 2b 43 25 0d 04 4c 11 e7 20 44 41 59 3c |DAY+C%..L.. DAY<| 00000860 31 20 44 41 59 3d 37 0d 04 56 11 e7 20 44 41 59 |1 DAY=7..V.. DAY| 00000870 3e 37 20 44 41 59 3d 31 0d 04 60 0b fd 20 44 41 |>7 DAY=1..`.. DA| 00000880 59 3c 36 0d 04 6a 05 e1 0d 04 74 05 3a 0d 04 7e |Y<6..j....t.:..~| 00000890 4d dd a4 76 61 6c 69 64 61 74 65 28 44 2c 4d 2c |M..validate(D,M,| 000008a0 59 29 3a 3d 44 2a 4d 2a 28 4d 3c 31 33 29 2a 28 |Y):=D*M*(M<13)*(| 000008b0 44 3c 33 31 2b 28 28 4d 2b 28 4d 3e 37 29 29 80 |D<31+((M+(M>7)).| 000008c0 20 31 29 2b 28 4d 3d 32 29 2a 28 32 2b 28 28 59 | 1)+(M=2)*(2+((Y| 000008d0 20 80 20 33 29 3d 30 29 29 29 0d 04 88 05 3a 0d | . 3)=0)))....:.| 000008e0 04 92 19 dd f2 63 68 65 63 6b 5f 61 6e 64 5f 6f |.....check_and_o| 000008f0 70 65 6e 5f 66 69 6c 65 0d 04 9c 05 f5 0d 04 a6 |pen_file........| 00000900 1f 46 49 4c 45 25 3d 8e 28 c3 28 79 65 61 72 25 |.FILE%=.(.(year%| 00000910 28 56 25 29 2a 31 30 2b 56 25 29 29 0d 04 b0 0b |(V%)*10+V%))....| 00000920 2a 46 58 32 31 2c 30 0d 04 ba 07 d9 23 30 0d 04 |*FX21,0.....#0..| 00000930 c4 23 e7 20 46 49 4c 45 25 3d 30 20 59 3d 79 65 |.#. FILE%=0 Y=ye| 00000940 61 72 25 28 56 25 29 3a f2 6e 6f 74 66 6f 75 6e |ar%(V%):.notfoun| 00000950 64 0d 04 ce 0e fd 20 46 49 4c 45 25 3c 3e 30 0d |d..... FILE%<>0.| 00000960 04 d8 1f 46 49 4c 45 25 3d ad 28 c3 28 79 65 61 |...FILE%=.(.(yea| 00000970 72 25 28 56 25 29 2a 31 30 2b 56 25 29 29 0d 04 |r%(V%)*10+V%))..| 00000980 e2 0d cf 23 46 49 4c 45 25 3d 30 0d 04 ec 13 e3 |...#FILE%=0.....| 00000990 20 49 25 3d 32 b8 6e 64 61 74 61 25 2b 31 0d 04 | I%=2.ndata%+1..| 000009a0 f6 0d 73 24 28 49 25 29 3d 22 22 0d 05 00 0c e3 |..s$(I%)="".....| 000009b0 20 4a 25 3d 31 b8 37 0d 05 0a 0e 42 25 3d 9a 23 | J%=1.7....B%=.#| 000009c0 46 49 4c 45 25 0d 05 14 1a e7 20 42 25 3c 33 32 |FILE%..... B%<32| 000009d0 20 84 20 42 25 3e 31 32 36 20 42 25 3d 33 32 0d | . B%>126 B%=32.| 000009e0 05 1e 17 73 24 28 49 25 29 3d 73 24 28 49 25 29 |...s$(I%)=s$(I%)| 000009f0 2b bd 28 42 25 29 0d 05 28 05 ed 0d 05 32 05 ed |+.(B%)..(....2..| 00000a00 0d 05 3c 27 f4 20 47 45 54 20 43 55 52 52 45 4e |..<'. GET CURREN| 00000a10 54 20 44 41 54 45 20 41 4e 44 20 44 49 53 43 20 |T DATE AND DISC | 00000a20 50 4f 49 4e 54 45 52 0d 05 46 18 cf 23 46 49 4c |POINTER..F..#FIL| 00000a30 45 25 3d 63 75 72 72 65 6e 74 64 61 74 65 25 0d |E%=currentdate%.| 00000a40 05 50 0d 44 3d 9a 23 46 49 4c 45 25 0d 05 5a 0d |.P.D=.#FILE%..Z.| 00000a50 4d 3d 9a 23 46 49 4c 45 25 0d 05 64 1b 59 3d 28 |M=.#FILE%..d.Y=(| 00000a60 9a 23 46 49 4c 45 25 29 2a 32 35 36 2b 9a 23 46 |.#FILE%)*256+.#F| 00000a70 49 4c 45 25 0d 05 6e 0f 44 41 59 3d 9a 23 46 49 |ILE%..n.DAY=.#FI| 00000a80 4c 45 25 0d 05 78 22 64 69 73 63 70 74 72 25 3d |LE%..x"discptr%=| 00000a90 28 9a 23 46 49 4c 45 25 29 2a 32 35 36 2b 9a 23 |(.#FILE%)*256+.#| 00000aa0 46 49 4c 45 25 0d 05 82 08 53 25 3d b9 0d 05 8c |FILE%....S%=....| 00000ab0 05 e1 0d 05 96 05 3a 0d 05 a0 0b dd f2 61 75 74 |......:......aut| 00000ac0 6f 31 0d 05 aa 0c 54 45 58 54 24 3d 22 22 0d 05 |o1....TEXT$=""..| 00000ad0 b4 08 5a 25 3d 30 0d 05 be 0a 2a 54 54 58 4f 4e |..Z%=0....*TTXON| 00000ae0 0d 05 c8 09 2a 42 42 43 31 0d 05 d2 08 2a 48 4f |....*BBC1....*HO| 00000af0 4e 0d 05 dc 05 f5 0d 05 e6 05 f5 0d 05 f0 0d 2a |N..............*| 00000b00 50 41 47 45 20 31 33 30 0d 05 fa 0e 2a 44 41 54 |PAGE 130....*DAT| 00000b10 41 20 36 30 30 30 0d 06 04 0c fd 20 a4 63 72 63 |A 6000..... .crc| 00000b20 3c 32 0d 06 0e 1b f1 8a 30 2c 39 29 bd 31 33 31 |<2......0,9).131| 00000b30 3b 27 bd 31 33 31 3b 27 bd 31 33 31 3b 0d 06 18 |;'.131;'.131;...| 00000b40 40 e7 20 ac 20 a4 63 6c 6f 73 65 20 f1 8a 34 2c |@. . .close ..4,| 00000b50 31 30 29 22 57 61 69 74 69 6e 67 20 75 6e 74 69 |10)"Waiting unti| 00000b60 6c 20 63 6c 6f 73 65 20 6f 66 20 62 75 73 69 6e |l close of busin| 00000b70 65 73 73 2e 22 3a f2 62 6f 72 64 65 72 0d 06 22 |ess.":.border.."| 00000b80 0c fd 20 a4 63 6c 6f 73 65 0d 06 2c 05 db 0d 06 |.. .close..,....| 00000b90 36 05 f5 0d 06 40 0e fd 20 a4 64 61 74 65 5f 6f |6....@.. .date_o| 00000ba0 6b 0d 06 4a 0e f2 6c 6f 61 64 6e 61 6d 65 73 0d |k..J..loadnames.| 00000bb0 06 54 13 e3 20 49 25 3d 30 b8 6e 64 61 74 61 25 |.T.. I%=0.ndata%| 00000bc0 2d 31 0d 06 5e 0c 46 25 28 49 25 29 3d a3 0d 06 |-1..^.F%(I%)=...| 00000bd0 68 1c f1 8a 30 2c 49 25 2b 32 29 bd 31 33 31 3b |h...0,I%+2).131;| 00000be0 53 48 41 52 45 24 28 49 25 29 0d 06 72 05 ed 0d |SHARE$(I%)..r...| 00000bf0 06 7c 26 f1 8a 31 38 2c 31 30 29 bd 31 33 31 3b |.|&..18,10).131;| 00000c00 22 45 6e 74 65 72 69 6e 67 20 64 61 74 61 20 66 |"Entering data f| 00000c10 6f 72 3a 2d 22 0d 06 86 1e f1 8a 32 30 2c 31 33 |or:-"......20,13| 00000c20 29 bd 31 33 31 3b 44 3b 22 2f 22 3b 4d 3b 22 2f |).131;D;"/";M;"/| 00000c30 22 3b 59 0d 06 90 05 f5 0d 06 9a 05 f5 0d 06 a4 |";Y.............| 00000c40 05 f5 0d 06 ae 0d 2a 50 41 47 45 20 31 33 30 0d |......*PAGE 130.| 00000c50 06 b8 0e 2a 44 41 54 41 20 36 30 30 30 0d 06 c2 |...*DATA 6000...| 00000c60 0c fd 20 a4 63 72 63 3c 32 0d 06 cc 0c fd 20 a4 |.. .crc<2..... .| 00000c70 63 6c 6f 73 65 0d 06 d6 10 50 41 25 3d a4 73 75 |close....PA%=.su| 00000c80 62 70 61 67 65 0d 06 e0 1f f1 8a 32 35 2c 31 29 |bpage......25,1)| 00000c90 bd 31 33 30 3b 22 53 75 62 2d 70 61 67 65 20 22 |.130;"Sub-page "| 00000ca0 3b 50 41 25 0d 06 ea 0a d6 26 35 46 30 30 0d 06 |;PA%.....&5F00..| 00000cb0 f4 0d e3 20 52 25 3d 35 b8 31 39 0d 06 fe 16 f2 |... R%=5.19.....| 00000cc0 67 65 74 74 65 78 74 28 26 36 30 30 30 2c 52 25 |gettext(&6000,R%| 00000cd0 29 0d 07 08 0b f2 73 65 61 72 63 68 0d 07 12 05 |).....search....| 00000ce0 ed 0d 07 1c 0f 53 55 42 25 28 50 41 25 29 3d b9 |.....SUB%(PA%)=.| 00000cf0 0d 07 26 41 fd 5a 25 3d 32 30 20 84 20 53 55 42 |..&A.Z%=20 . SUB| 00000d00 25 28 31 29 2b 53 55 42 25 28 32 29 2b 53 55 42 |%(1)+SUB%(2)+SUB| 00000d10 25 28 33 29 2b 53 55 42 25 28 34 29 2b 53 55 42 |%(3)+SUB%(4)+SUB| 00000d20 25 28 35 29 2b 53 55 42 25 28 36 29 3d 28 2d 36 |%(5)+SUB%(6)=(-6| 00000d30 29 0d 07 30 0b f1 8a 30 2c 32 31 29 0d 07 3a 0b |)..0...0,21)..:.| 00000d40 2a 54 54 58 4f 46 46 0d 07 44 05 e1 0d 07 4e 05 |*TTXOFF..D....N.| 00000d50 3a 0d 07 58 0c dd f2 62 6f 72 64 65 72 0d 07 62 |:..X...border..b| 00000d60 0c e3 20 4a 25 3d 30 b8 31 0d 07 6c 1c e7 20 4a |.. J%=0.1..l.. J| 00000d70 25 3d 30 20 54 31 24 3d 22 5f 22 20 8b 20 54 31 |%=0 T1$="_" . T1| 00000d80 24 3d 22 20 22 0d 07 76 1c e7 20 4a 25 3d 30 20 |$=" "..v.. J%=0 | 00000d90 54 32 24 3d 22 49 22 20 8b 20 54 32 24 3d 22 20 |T2$="I" . T2$=" | 00000da0 22 0d 07 80 0f e3 20 49 25 3d 32 20 b8 20 33 37 |"..... I%=2 . 37| 00000db0 0d 07 8a 0a f2 64 65 6c 61 79 0d 07 94 10 f1 8a |.....delay......| 00000dc0 49 25 2c 31 31 29 54 31 24 3b 0d 07 9e 05 ed 0d |I%,11)T1$;......| 00000dd0 07 a8 10 f1 8a 33 37 2c 31 30 29 54 32 24 3b 0d |.....37,10)T2$;.| 00000de0 07 b2 14 e3 20 49 25 3d 33 37 20 b8 20 32 20 88 |.... I%=37 . 2 .| 00000df0 20 2d 31 0d 07 bc 0a f2 64 65 6c 61 79 0d 07 c6 | -1.....delay...| 00000e00 0f f1 8a 49 25 2c 39 29 54 31 24 3b 0d 07 d0 05 |...I%,9)T1$;....| 00000e10 ed 0d 07 da 0f f1 8a 32 2c 31 30 29 54 32 24 3b |.......2,10)T2$;| 00000e20 0d 07 e4 05 ed 0d 07 ee 05 e1 0d 07 f8 05 3a 0d |..............:.| 00000e30 08 02 0b dd f2 61 75 74 6f 30 0d 08 0c 0c 54 45 |.....auto0....TE| 00000e40 58 54 24 3d 22 22 0d 08 16 0a 2a 54 54 58 4f 4e |XT$=""....*TTXON| 00000e50 0d 08 20 09 2a 42 42 43 31 0d 08 2a 08 2a 48 4f |.. .*BBC1..*.*HO| 00000e60 4e 0d 08 34 0d 2a 50 41 47 45 20 31 32 35 0d 08 |N..4.*PAGE 125..| 00000e70 3e 05 f5 0d 08 48 0e fd 20 a4 64 61 74 65 5f 6f |>....H.. .date_o| 00000e80 6b 0d 08 52 1b f1 8a 35 2c 31 32 29 bd 31 33 31 |k..R...5,12).131| 00000e90 3b 22 46 54 2d 53 45 20 31 30 30 22 0d 08 5c 05 |;"FT-SE 100"..\.| 00000ea0 f5 0d 08 66 0d 2a 50 41 47 45 20 31 32 35 0d 08 |...f.*PAGE 125..| 00000eb0 70 0e 2a 44 41 54 41 20 36 30 30 30 0d 08 7a 16 |p.*DATA 6000..z.| 00000ec0 73 75 62 5f 70 61 67 65 25 3d a4 73 75 62 70 61 |sub_page%=.subpa| 00000ed0 67 65 0d 08 84 25 f1 8a 32 35 2c 31 29 bd 31 33 |ge...%..25,1).13| 00000ee0 30 3b 22 53 75 62 2d 70 61 67 65 20 22 3b 73 75 |0;"Sub-page ";su| 00000ef0 62 5f 70 61 67 65 25 0d 08 8e 1a fd 20 a4 63 72 |b_page%..... .cr| 00000f00 63 3c 32 20 80 20 73 75 62 5f 70 61 67 65 25 3d |c<2 . sub_page%=| 00000f10 32 0d 08 98 0a d6 26 35 46 30 30 0d 08 a2 09 4c |2.....&5F00....L| 00000f20 25 3d 32 31 0d 08 ac 16 f2 67 65 74 74 65 78 74 |%=21.....gettext| 00000f30 28 26 36 30 30 30 2c 4c 25 29 0d 08 b6 0c f2 73 |(&6000,L%).....s| 00000f40 65 61 72 63 68 31 0d 08 c0 0b 2a 54 54 58 4f 46 |earch1....*TTXOF| 00000f50 46 0d 08 ca 05 e1 0d 08 d4 05 3a 0d 08 de 1c dd |F.........:.....| 00000f60 f2 67 65 74 74 65 78 74 28 61 64 64 72 65 73 73 |.gettext(address| 00000f70 25 2c 72 6f 77 25 29 0d 08 e8 11 54 45 58 54 24 |%,row%)....TEXT$| 00000f80 3d 22 22 3a 49 25 3d 30 0d 08 f2 05 f5 0d 08 fc |="":I%=0........| 00000f90 1d 70 6f 69 6e 74 65 72 25 3d 61 64 64 72 65 73 |.pointer%=addres| 00000fa0 73 25 2b 31 2b 49 25 2a 34 32 0d 09 06 0b 49 25 |s%+1+I%*42....I%| 00000fb0 3d 49 25 2b 31 0d 09 10 1c fd 20 3f 70 6f 69 6e |=I%+1..... ?poin| 00000fc0 74 65 72 25 3d 72 6f 77 25 20 84 20 49 25 3d 32 |ter%=row% . I%=2| 00000fd0 34 0d 09 1a 2e e7 20 49 25 3c 32 34 20 70 6f 69 |4..... I%<24 poi| 00000fe0 6e 74 65 72 25 3f 34 31 3d 31 33 3a 54 45 58 54 |nter%?41=13:TEXT| 00000ff0 24 3d 24 28 70 6f 69 6e 74 65 72 25 2b 32 29 0d |$=$(pointer%+2).| 00001000 09 24 05 e1 0d 09 2e 05 3a 0d 09 38 0c dd f2 73 |.$......:..8...s| 00001010 65 61 72 63 68 0d 09 42 13 e7 20 53 55 42 25 28 |earch..B.. SUB%(| 00001020 50 41 25 29 20 8c 20 e1 0d 09 4c 14 e3 20 4a 25 |PA%) . ...L.. J%| 00001030 3d 31 20 b8 20 32 31 20 88 20 32 30 0d 09 56 0d |=1 . 21 . 20..V.| 00001040 e3 20 49 25 3d 30 b8 31 39 0d 09 60 21 e7 20 53 |. I%=0.19..`!. S| 00001050 48 41 52 45 24 28 49 25 29 3d 22 20 20 20 20 20 |HARE$(I%)=" | 00001060 20 20 22 20 e5 20 8d 44 74 49 0d 09 6a 24 e7 20 | " . .DtI..j$. | 00001070 53 48 41 52 45 24 28 49 25 29 3d c1 54 45 58 54 |SHARE$(I%)=.TEXT| 00001080 24 2c 4a 25 2c 37 29 20 f2 66 6f 75 6e 64 0d 09 |$,J%,7) .found..| 00001090 74 05 ed 0d 09 7e 05 ed 0d 09 88 05 e1 0d 09 92 |t....~..........| 000010a0 05 3a 0d 09 9c 0d dd f2 73 65 61 72 63 68 31 0d |.:......search1.| 000010b0 09 a6 1d 70 72 69 63 65 25 28 30 29 3d bb 28 c1 |...price%(0)=.(.| 000010c0 54 45 58 54 24 2c 32 36 2c 35 29 29 0d 09 b0 15 |TEXT$,26,5))....| 000010d0 f1 8a 31 36 2c 31 32 29 70 72 69 63 65 25 28 30 |..16,12)price%(0| 000010e0 29 0d 09 ba 0b 5a 25 3d 5a 25 2b 31 0d 09 c4 05 |)....Z%=Z%+1....| 000010f0 e1 0d 09 ce 05 3a 0d 09 d8 0b dd f2 66 6f 75 6e |.....:......foun| 00001100 64 0d 09 e2 23 e7 20 46 25 28 49 25 29 3d a3 20 |d...#. F%(I%)=. | 00001110 5a 25 3d 5a 25 2b 31 3a 46 25 28 49 25 29 3d b9 |Z%=Z%+1:F%(I%)=.| 00001120 3a 8b 20 e1 0d 09 ec 24 f1 8a 30 2c 31 29 bd 31 |:. ....$..0,1).1| 00001130 32 39 3b 22 46 6f 75 6e 64 20 22 3b 5a 25 3b 22 |29;"Found ";Z%;"| 00001140 20 73 68 61 72 65 73 22 0d 09 f6 0b 53 25 3d 4a | shares"....S%=J| 00001150 25 2b 36 0d 0a 00 05 f5 0d 0a 0a 0b 53 25 3d 53 |%+6.........S%=S| 00001160 25 2b 31 0d 0a 14 2d fd 20 97 28 c1 54 45 58 54 |%+1...-. .(.TEXT| 00001170 24 2c 53 25 2c 31 29 29 3e 34 37 20 80 20 97 28 |$,S%,1))>47 . .(| 00001180 c1 54 45 58 54 24 2c 53 25 2c 31 29 29 3c 35 38 |.TEXT$,S%,1))<58| 00001190 0d 0a 1e 09 45 25 3d 53 25 0d 0a 28 05 f5 0d 0a |....E%=S%..(....| 000011a0 32 0b 45 25 3d 45 25 2b 31 0d 0a 3c 16 fd 20 c1 |2.E%=E%+1..<.. .| 000011b0 54 45 58 54 24 2c 45 25 2c 31 29 3d 22 20 22 0d |TEXT$,E%,1)=" ".| 000011c0 0a 46 0b 45 25 3d 45 25 2d 31 0d 0a 50 24 70 72 |.F.E%=E%-1..P$pr| 000011d0 69 63 65 25 28 49 25 29 3d bb 28 c1 54 45 58 54 |ice%(I%)=.(.TEXT| 000011e0 24 2c 53 25 2c 45 25 2d 53 25 2b 31 29 29 0d 0a |$,S%,E%-S%+1))..| 000011f0 5a 1d f1 8a 31 30 2c 49 25 2b 32 29 bd 31 33 31 |Z...10,I%+2).131| 00001200 3b 70 72 69 63 65 25 28 49 25 29 0d 0a 64 05 e1 |;price%(I%)..d..| 00001210 0d 0a 6e 05 3a 0d 0a 78 0b dd a4 63 6c 6f 73 65 |..n.:..x...close| 00001220 0d 0a 82 41 f4 20 4c 6f 6f 6b 20 66 6f 72 20 74 |...A. Look for t| 00001230 68 65 20 74 65 78 74 20 73 74 72 69 6e 67 20 22 |he text string "| 00001240 43 6c 6f 73 65 22 20 73 74 61 72 74 69 6e 67 20 |Close" starting | 00001250 61 74 20 6c 6f 63 61 74 69 6f 6e 20 26 36 30 43 |at location &60C| 00001260 35 0d 0a 8c 0c 54 45 58 54 24 3d 22 22 0d 0a 96 |5....TEXT$=""...| 00001270 16 e3 20 49 25 3d 26 36 30 43 35 20 b8 20 26 36 |.. I%=&60C5 . &6| 00001280 30 43 39 0d 0a a0 1c 54 45 58 54 24 3d 54 45 58 |0C9....TEXT$=TEX| 00001290 54 24 2b bd 28 3f 49 25 20 80 20 31 32 37 29 0d |T$+.(?I% . 127).| 000012a0 0a aa 05 ed 0d 0a b4 2b e7 20 54 45 58 54 24 3d |.......+. TEXT$=| 000012b0 22 43 6c 6f 73 65 22 20 84 20 54 45 58 54 24 3d |"Close" . TEXT$=| 000012c0 22 63 6c 6f 73 65 22 20 3d b9 20 8b 20 3d a3 0d |"close" =. . =..| 000012d0 0a be 05 3a 0d 0a c8 0d dd a4 64 61 74 65 5f 6f |...:......date_o| 000012e0 6b 0d 0a d2 14 f4 22 81 44 41 54 45 20 57 49 54 |k.....".DATE WIT| 000012f0 48 20 41 54 53 0d 0a dc 0f d1 3d 30 3a f5 fd 91 |H ATS.....=0:...| 00001300 3e 31 32 30 0d 0a e6 10 62 6c 6f 63 6b 25 3d 26 |>120....block%=&| 00001310 37 30 30 30 0d 0a f0 38 41 25 3d 26 37 41 3a 58 |7000...8A%=&7A:X| 00001320 25 3d 62 6c 6f 63 6b 25 83 32 35 36 3a 59 25 3d |%=block%.256:Y%=| 00001330 62 6c 6f 63 6b 25 81 32 35 36 3a 3f 62 6c 6f 63 |block%.256:?bloc| 00001340 6b 25 3d 31 35 3a d6 26 46 46 46 31 0d 0a fa 19 |k%=15:.&FFF1....| 00001350 42 42 31 24 3d c2 c3 7e 28 62 6c 6f 63 6b 25 3f |BB1$=..~(block%?| 00001360 38 29 2c 31 29 0d 0b 04 2f 42 42 32 24 3d c3 7e |8),1).../BB2$=.~| 00001370 28 62 6c 6f 63 6b 25 3f 39 29 3a e7 20 a9 28 42 |(block%?9):. .(B| 00001380 42 32 24 29 3d 31 20 42 42 32 24 3d 22 30 22 2b |B2$)=1 BB2$="0"+| 00001390 42 42 32 24 0d 0b 0e 30 42 42 33 24 3d c3 7e 28 |BB2$...0BB3$=.~(| 000013a0 62 6c 6f 63 6b 25 3f 31 30 29 3a e7 20 a9 28 42 |block%?10):. .(B| 000013b0 42 33 24 29 3d 31 20 42 42 33 24 3d 22 30 22 2b |B3$)=1 BB3$="0"+| 000013c0 42 42 33 24 0d 0b 18 18 4a 44 3d bb 28 42 42 31 |BB3$....JD=.(BB1| 000013d0 24 2b 42 42 32 24 2b 42 42 33 24 29 0d 0b 22 1f |$+BB2$+BB3$)..".| 000013e0 79 25 3d 28 31 30 30 2a 28 4a 44 2d 31 35 30 37 |y%=(100*(JD-1507| 000013f0 38 2e 32 29 29 81 33 36 35 32 35 0d 0b 2c 2b 6d |8.2)).36525..,+m| 00001400 25 3d a8 28 28 4a 44 2d 31 34 39 35 36 2e 31 2d |%=.((JD-14956.1-| 00001410 a8 28 33 36 35 2e 32 35 2a 79 25 29 29 2f 33 30 |.(365.25*y%))/30| 00001420 2e 36 30 30 31 29 0d 0b 36 3c 64 25 3d 4a 44 2d |.6001)..6<d%=JD-| 00001430 31 34 39 35 36 2d a8 28 33 36 35 2e 32 35 2a 79 |14956-.(365.25*y| 00001440 25 29 2d a8 28 33 30 2e 36 2a 6d 25 29 3a 4b 3d |%)-.(30.6*m%):K=| 00001450 a8 28 30 2e 37 2b 28 31 2f 28 31 37 2d 6d 25 29 |.(0.7+(1/(17-m%)| 00001460 29 29 0d 0b 40 10 6d 25 3d 6d 25 2d 31 2d 31 32 |))..@.m%=m%-1-12| 00001470 2a 4b 0d 0b 4a 0e 79 25 3d 79 25 2b 31 39 30 30 |*K..J.y%=y%+1900| 00001480 0d 0b fe 1a 64 64 25 3d 79 25 2a 31 30 30 30 30 |....dd%=y%*10000| 00001490 2b 6d 25 2a 31 30 30 2b 64 25 0d 0c 08 05 f4 0d |+m%*100+d%......| 000014a0 0c 12 1a f4 20 47 65 74 20 68 6f 75 72 20 66 72 |.... Get hour fr| 000014b0 6f 6d 20 43 45 45 46 41 58 0d 0c 1c 05 f4 0d 0c |om CEEFAX.......| 000014c0 26 10 62 6c 6f 63 6b 25 3d 26 36 30 30 30 0d 0c |&.block%=&6000..| 000014d0 30 0e 3f 62 6c 6f 63 6b 25 3d 32 31 0d 0c 3a 13 |0.?block%=21..:.| 000014e0 58 25 3d 62 6c 6f 63 6b 25 20 83 20 32 35 36 0d |X%=block% . 256.| 000014f0 0c 44 13 59 25 3d 62 6c 6f 63 6b 25 20 81 20 32 |.D.Y%=block% . 2| 00001500 35 36 0d 0c 4e 0a 41 25 3d 26 37 41 0d 0c 58 05 |56..N.A%=&7A..X.| 00001510 f5 0d 0c 62 0a d6 26 46 46 46 31 0d 0c 6c 11 fd |...b..&FFF1..l..| 00001520 20 62 6c 6f 63 6b 25 3f 31 30 3d 30 0d 0c 76 1e | block%?10=0..v.| 00001530 68 72 25 3d bb 28 bd 28 3f 26 36 30 30 31 29 2b |hr%=.(.(?&6001)+| 00001540 bd 28 3f 26 36 30 30 32 29 29 0d 0c 80 16 e7 20 |.(?&6002))..... | 00001550 68 72 25 3c 31 30 20 64 64 25 3d 64 64 25 2d 31 |hr%<10 dd%=dd%-1| 00001560 0d 0c 8a 05 f5 0d 0c 94 16 44 25 3d 59 2a 31 30 |.........D%=Y*10| 00001570 30 30 30 2b 4d 2a 31 30 30 2b 44 0d 0c 9e 1c e7 |000+M*100+D.....| 00001580 20 44 25 3c 64 64 25 20 f2 63 68 61 6e 67 65 5f | D%<dd% .change_| 00001590 64 61 74 65 28 31 29 0d 0c a8 0d fd 20 44 25 3e |date(1)..... D%>| 000015a0 3d 64 64 25 0d 0c b2 05 f5 0d 0c bc 16 44 25 3d |=dd%.........D%=| 000015b0 59 2a 31 30 30 30 30 2b 4d 2a 31 30 30 2b 44 0d |Y*10000+M*100+D.| 000015c0 0c c6 1d e7 20 44 25 3e 64 64 25 20 f2 63 68 61 |.... D%>dd% .cha| 000015d0 6e 67 65 5f 64 61 74 65 28 2d 31 29 0d 0c d0 0d |nge_date(-1)....| 000015e0 fd 20 44 25 3c 3d 64 64 25 0d 0c da 06 3d b9 0d |. D%<=dd%....=..| 000015f0 0c e4 05 3a 0d 0c ee 0c dd f2 73 74 61 74 75 73 |...:......status| 00001600 0d 0c f8 05 f5 0d 0d 02 10 62 6c 6f 63 6b 25 3d |.........block%=| 00001610 26 36 30 30 30 0d 0d 0c 0e 3f 62 6c 6f 63 6b 25 |&6000....?block%| 00001620 3d 31 37 0d 0d 16 10 62 6c 6f 63 6b 25 3f 31 3d |=17....block%?1=| 00001630 26 46 45 0d 0d 20 13 58 25 3d 62 6c 6f 63 6b 25 |&FE.. .X%=block%| 00001640 20 83 20 32 35 36 0d 0d 2a 13 59 25 3d 62 6c 6f | . 256..*.Y%=blo| 00001650 63 6b 25 20 81 20 32 35 36 0d 0d 34 0a 41 25 3d |ck% . 256..4.A%=| 00001660 26 37 41 0d 0d 3e 0a d6 26 46 46 46 31 0d 0d 48 |&7A..>..&FFF1..H| 00001670 62 e7 20 62 6c 6f 63 6b 25 3f 31 3d 31 20 f1 8a |b. block%?1=1 ..| 00001680 30 2c 31 30 29 bd 31 32 39 3b 22 54 65 6c 65 74 |0,10).129;"Telet| 00001690 65 78 74 20 41 64 61 70 74 6f 72 20 6f 6e 2c 20 |ext Adaptor on, | 000016a0 62 75 74 20 6e 6f 20 73 69 67 6e 61 6c 2e 22 27 |but no signal."'| 000016b0 27 bd 31 32 39 3b 22 43 68 65 63 6b 20 74 75 6e |'.129;"Check tun| 000016c0 69 6e 67 20 6f 72 20 61 65 72 69 61 6c 2e 22 0d |ing or aerial.".| 000016d0 0d 52 82 e7 20 62 6c 6f 63 6b 25 3f 31 3d 32 20 |.R.. block%?1=2 | 000016e0 f1 8a 30 2c 31 30 29 bd 31 32 39 3b 22 54 65 6c |..0,10).129;"Tel| 000016f0 65 74 65 78 74 20 41 64 61 70 74 6f 72 20 63 6f |etext Adaptor co| 00001700 6e 6e 65 63 74 65 64 2c 22 27 bd 31 32 39 3b 22 |nnected,"'.129;"| 00001710 62 75 74 20 73 77 69 74 63 68 65 64 20 6f 66 66 |but switched off| 00001720 2e 22 27 bd 31 32 39 3b 22 53 77 69 74 63 68 20 |."'.129;"Switch | 00001730 6f 6e 2c 20 70 72 65 73 73 20 42 52 45 41 4b 20 |on, press BREAK | 00001740 61 6e 64 20 73 74 61 72 74 20 61 67 61 69 6e 2e |and start again.| 00001750 22 0d 0d 5c 3f e7 20 62 6c 6f 63 6b 25 3f 31 3d |"..\?. block%?1=| 00001760 26 46 46 20 f1 8a 30 2c 31 30 29 bd 31 32 39 3b |&FF ..0,10).129;| 00001770 22 4e 6f 20 54 65 6c 65 74 65 78 74 20 41 64 61 |"No Teletext Ada| 00001780 70 74 6f 72 20 63 6f 6e 6e 65 63 74 65 64 2e 22 |ptor connected."| 00001790 0d 0d 66 58 e7 20 62 6c 6f 63 6b 25 3f 31 3d 26 |..fX. block%?1=&| 000017a0 46 45 20 f1 8a 37 2c 31 30 29 bd 31 33 31 3b 22 |FE ..7,10).131;"| 000017b0 4e 4f 20 41 54 53 20 52 4f 4d 20 49 4e 53 54 41 |NO ATS ROM INSTA| 000017c0 4c 4c 45 44 22 27 27 8a 35 29 bd 31 33 31 3b 22 |LLED"''.5).131;"| 000017d0 49 4e 53 54 41 4c 4c 20 41 4e 44 20 53 54 41 52 |INSTALL AND STAR| 000017e0 54 20 41 47 41 49 4e 22 0d 0d 70 0f fd 62 6c 6f |T AGAIN"..p..blo| 000017f0 63 6b 25 3f 31 3d 30 0d 0d 7a 05 e1 0d 0d 84 05 |ck%?1=0..z......| 00001800 3a 0d 0d 8e 09 dd a4 63 72 63 0d 0d 98 0d 3f 26 |:......crc....?&| 00001810 36 30 30 30 3d 32 33 0d 0d a2 0c 3f 26 36 30 30 |6000=23....?&600| 00001820 31 3d 30 0d 0d ac 0e 3f 26 36 30 30 32 3d 26 36 |1=0....?&6002=&6| 00001830 30 0d 0d b6 08 58 25 3d 30 0d 0d c0 0a 59 25 3d |0....X%=0....Y%=| 00001840 26 36 30 0d 0d ca 0a 41 25 3d 26 37 41 0d 0d d4 |&60....A%=&7A...| 00001850 0a d6 26 46 46 46 31 0d 0d de 10 f1 8a 32 30 2c |..&FFF1......20,| 00001860 35 29 89 28 31 32 29 0d 0d e8 29 e7 20 3f 26 36 |5).(12)...). ?&6| 00001870 30 30 33 3d 26 46 46 20 f1 8a 32 30 2c 35 29 bd |003=&FF ..20,5).| 00001880 31 32 39 3b 22 43 52 43 20 45 52 52 4f 52 2e 22 |129;"CRC ERROR."| 00001890 0d 0d f2 2c e7 20 3f 26 36 30 30 33 3d 30 20 f1 |...,. ?&6003=0 .| 000018a0 8a 32 30 2c 35 29 bd 31 32 39 3b 22 57 41 52 4e |.20,5).129;"WARN| 000018b0 49 4e 47 3a 2d 4e 4f 20 43 52 43 22 0d 0d fc 0b |ING:-NO CRC"....| 000018c0 3d 3f 26 36 30 30 33 0d 0e 06 05 3a 0d 0e 10 0b |=?&6003....:....| 000018d0 dd f2 64 65 6c 61 79 0d 0e 1a 07 d1 3d 30 0d 0e |..delay.....=0..| 000018e0 24 0a f5 fd 91 3e 31 30 0d 0e 2e 05 e1 0d 0e 38 |$....>10.......8| 000018f0 05 3a 0d 0e 42 0f dd f2 6c 6f 61 64 6e 61 6d 65 |.:..B...loadname| 00001900 73 0d 0e 4c 0d cf 23 46 49 4c 45 25 3d 30 0d 0e |s..L..#FILE%=0..| 00001910 56 13 e3 20 49 25 3d 30 b8 6e 64 61 74 61 25 2d |V.. I%=0.ndata%-| 00001920 31 0d 0e 60 11 53 48 41 52 45 24 28 49 25 29 3d |1..`.SHARE$(I%)=| 00001930 22 22 0d 0e 6a 0c e3 20 4a 25 3d 30 b8 36 0d 0e |""..j.. J%=0.6..| 00001940 74 0e 48 25 3d 9a 23 46 49 4c 45 25 0d 0e 7e 1f |t.H%=.#FILE%..~.| 00001950 53 48 41 52 45 24 28 49 25 29 3d 53 48 41 52 45 |SHARE$(I%)=SHARE| 00001960 24 28 49 25 29 2b bd 28 48 25 29 0d 0e 88 05 ed |$(I%)+.(H%).....| 00001970 0d 0e 92 05 ed 0d 0e 9c 05 e1 0d 0e a6 05 3a 0d |..............:.| 00001980 0e b0 0d dd a4 73 75 62 70 61 67 65 0d 0e ba 0b |.....subpage....| 00001990 3d 3f 26 36 30 30 34 0d 0e c4 05 3a 0d 0e ce 0c |=?&6004....:....| 000019a0 dd f2 66 69 6e 69 73 68 0d 0e d8 0b 2a 54 54 58 |..finish....*TTX| 000019b0 4f 46 46 0d 0e e2 05 db 0d 0e ec a0 f1 8a 30 2c |OFF...........0,| 000019c0 31 30 29 bd 31 33 31 3b 22 50 6f 72 74 66 6f 6c |10).131;"Portfol| 000019d0 69 6f 20 22 3b 56 25 3b 22 20 73 74 61 72 74 73 |io ";V%;" starts| 000019e0 20 6f 6e 20 22 3b 44 3b 22 2f 22 3b 4d 3b 22 2f | on ";D;"/";M;"/| 000019f0 22 3b 59 27 bd 31 33 31 3b 22 61 6e 64 20 74 68 |";Y'.131;"and th| 00001a00 65 20 43 45 45 46 41 58 20 64 61 74 65 20 69 73 |e CEEFAX date is| 00001a10 20 22 3b 64 25 3b 22 2f 22 3b 6d 25 3b 22 2f 22 | ";d%;"/";m%;"/"| 00001a20 3b 79 25 27 27 bd 31 33 31 3b 22 46 41 54 41 4c |;y%''.131;"FATAL| 00001a30 20 45 52 52 4f 52 22 27 bd 31 33 31 3b 22 50 72 | ERROR"'.131;"Pr| 00001a40 6f 67 72 61 6d 20 74 65 72 6d 69 6e 61 74 69 6e |ogram terminatin| 00001a50 67 22 3a ef 32 31 3a e0 0d 0e f6 05 3a 0d 0f 00 |g":.21:.....:...| 00001a60 09 dd f2 6b 65 79 0d 0f 0a 13 f1 27 22 50 52 45 |...key.....'"PRE| 00001a70 53 53 20 41 20 4b 45 59 22 0d 0f 14 0b 2a 46 58 |SS A KEY"....*FX| 00001a80 32 31 2c 30 0d 0f 1e 08 4b 25 3d a5 0d 0f 28 05 |21,0....K%=...(.| 00001a90 e1 0d 0f 32 05 3a 0d 0f 3c 0b dd a4 64 72 69 76 |...2.:..<...driv| 00001aa0 65 0d 0f 46 0c 62 25 3d 26 36 30 30 30 0d 0f 50 |e..F.b%=&6000..P| 00001ab0 0f 58 25 3d 62 25 20 83 20 32 35 36 0d 0f 5a 0f |.X%=b% . 256..Z.| 00001ac0 59 25 3d 62 25 20 81 20 32 35 36 0d 0f 64 08 41 |Y%=b% . 256..d.A| 00001ad0 25 3d 36 0d 0f 6e 0d e3 20 49 25 3d 30 b8 31 31 |%=6..n.. I%=0.11| 00001ae0 0d 0f 78 0b 62 25 3f 49 25 3d 30 0d 0f 82 05 ed |..x.b%?I%=0.....| 00001af0 0d 0f 8c 0c 62 25 3f 32 3d 26 36 30 0d 0f 96 0a |....b%?2=&60....| 00001b00 62 25 3f 31 3d 31 0d 0f a0 0b 62 25 3f 31 32 3d |b%?1=1....b%?12=| 00001b10 31 0d 0f aa 0a d6 26 46 46 44 31 0d 0f b4 0e 3d |1.....&FFD1....=| 00001b20 3f 26 36 30 30 32 2d 34 38 0d 0f be 05 3a 0d 0f |?&6002-48....:..| 00001b30 c8 0e dd f2 6e 6f 74 66 6f 75 6e 64 0d 0f d2 0b |....notfound....| 00001b40 2a 54 54 58 4f 46 46 0d 0f dc 05 db 0d 0f e6 0f |*TTXOFF.........| 00001b50 79 65 61 72 25 28 56 25 29 3d 59 0d 0f f0 07 d9 |year%(V%)=Y.....| 00001b60 23 30 0d 0f fa 09 66 24 3d 22 22 0d 10 04 2c e7 |#0....f$=""...,.| 00001b70 20 56 25 3d 30 20 66 24 3d 22 49 6e 64 65 78 20 | V%=0 f$="Index | 00001b80 64 61 74 61 22 20 8b 20 66 24 3d 70 24 2b 22 20 |data" . f$=p$+" | 00001b90 22 2b c3 28 56 25 29 0d 10 0e 1e 66 24 3d 66 24 |"+.(V%)....f$=f$| 00001ba0 2b 22 20 66 6f 72 20 22 2b c3 28 79 65 61 72 25 |+" for "+.(year%| 00001bb0 28 56 25 29 29 0d 10 18 28 e7 20 79 65 61 72 25 |(V%))...(. year%| 00001bc0 28 56 25 29 3d 30 20 80 20 56 25 3d 30 20 66 24 |(V%)=0 . V%=0 f$| 00001bd0 3d 22 49 6e 64 65 78 20 64 61 74 61 22 0d 10 22 |="Index data".."| 00001be0 2d e7 20 79 65 61 72 25 28 56 25 29 3d 30 20 80 |-. year%(V%)=0 .| 00001bf0 20 56 25 3c 3e 30 20 66 24 3d 22 50 6f 72 74 66 | V%<>0 f$="Portf| 00001c00 6f 6c 69 6f 20 64 61 74 61 22 0d 10 2c 05 f5 0d |olio data"..,...| 00001c10 10 36 22 f1 8a 30 2c 35 29 66 24 3b 22 20 6e 6f |.6"..0,5)f$;" no| 00001c20 74 20 6f 6e 20 74 68 69 73 20 64 69 73 63 3a 2d |t on this disc:-| 00001c30 22 0d 10 40 05 f5 0d 10 4a ae f1 8a 32 2c 38 29 |"..@....J...2,8)| 00001c40 22 41 29 20 28 41 29 62 61 6e 64 6f 6e 22 27 27 |"A) (A)bandon"''| 00001c50 8a 32 29 22 43 29 20 28 43 29 61 74 61 6c 6f 67 |.2)"C) (C)atalog| 00001c60 75 65 20 64 69 73 63 22 27 27 8a 32 29 22 44 29 |ue disc"''.2)"D)| 00001c70 20 28 44 29 72 69 76 65 20 63 68 61 6e 67 65 20 | (D)rive change | 00001c80 28 63 75 72 72 65 6e 74 6c 79 20 44 72 69 76 65 |(currently Drive| 00001c90 20 22 3b a4 64 72 69 76 65 3b 22 29 22 27 27 8a | ";.drive;")"''.| 00001ca0 32 29 22 47 29 20 28 47 29 6f 20 6f 6e 22 27 27 |2)"G) (G)o on"''| 00001cb0 8a 32 29 22 53 29 20 28 53 29 74 61 72 74 20 61 |.2)"S) (S)tart a| 00001cc0 20 6e 65 77 20 66 69 6c 65 22 27 27 8a 32 29 22 | new file"''.2)"| 00001cd0 43 68 6f 6f 73 65 20 41 2c 43 2c 44 2c 47 20 6f |Choose A,C,D,G o| 00001ce0 72 20 53 22 0d 10 54 05 f5 0d 10 5e 0b 2a 46 58 |r S"..T....^.*FX| 00001cf0 32 31 2c 30 0d 10 68 10 4b 45 59 25 3d a5 20 80 |21,0..h.KEY%=. .| 00001d00 20 26 44 46 0d 10 72 35 fd 20 4b 45 59 25 3d 36 | &DF..r5. KEY%=6| 00001d10 35 20 84 20 4b 45 59 25 3d 36 37 20 84 20 4b 45 |5 . KEY%=67 . KE| 00001d20 59 25 3d 36 38 20 84 20 4b 45 59 25 3d 37 31 20 |Y%=68 . KEY%=71 | 00001d30 84 20 4b 45 59 25 3d 38 33 0d 10 7c 12 e7 20 4b |. KEY%=83..|.. K| 00001d40 45 59 25 3d 36 37 20 8c 20 2a 2e 0d 10 86 98 e7 |EY%=67 . *......| 00001d50 20 4b 45 59 25 3d 36 38 20 f1 27 8a 31 30 29 22 | KEY%=68 .'.10)"| 00001d60 45 6e 74 65 72 20 64 72 69 76 65 20 6e 6f 2e 22 |Enter drive no."| 00001d70 3b 3a f5 3a 4b 45 59 25 3d a5 2d 34 38 3a fd 4b |;:.:KEY%=.-48:.K| 00001d80 45 59 25 3e 2d 31 20 80 20 4b 45 59 25 3c 34 3a |EY%>-1 . KEY%<4:| 00001d90 f1 3b 22 20 22 3b 4b 45 59 25 3a 24 26 43 31 30 |.;" ";KEY%:$&C10| 00001da0 3d 22 44 52 2e 22 2b c3 28 4b 45 59 25 29 3a 58 |="DR."+.(KEY%):X| 00001db0 25 3d 26 31 30 3a 59 25 3d 26 43 3a d6 26 46 46 |%=&10:Y%=&C:.&FF| 00001dc0 46 37 3a f1 27 27 8a 31 30 29 22 44 72 69 76 65 |F7:.''.10)"Drive| 00001dd0 20 22 3b 4b 45 59 25 3b 22 20 73 65 6c 65 63 74 | ";KEY%;" select| 00001de0 65 64 22 0d 10 90 28 e7 20 4b 45 59 25 3d 36 35 |ed"...(. KEY%=65| 00001df0 20 84 20 4b 45 59 25 3d 37 31 20 84 20 4b 45 59 | . KEY%=71 . KEY| 00001e00 25 3d 38 33 20 e5 20 8d 74 64 50 0d 10 9a 08 f2 |%=83 . .tdP.....| 00001e10 6b 65 79 0d 10 a4 05 db 0d 10 ae 20 fd 4b 45 59 |key........ .KEY| 00001e20 25 3d 36 35 20 84 20 4b 45 59 25 3d 37 31 20 84 |%=65 . KEY%=71 .| 00001e30 20 4b 45 59 25 3d 38 33 0d 10 b8 07 d9 23 30 0d | KEY%=83.....#0.| 00001e40 10 c2 1c 42 25 3d 8e 28 c3 28 79 65 61 72 25 28 |...B%=.(.(year%(| 00001e50 56 25 29 2a 31 30 2b 56 25 29 29 0d 10 cc 07 d9 |V%)*10+V%)).....| 00001e60 23 30 0d 10 d6 1e fd 42 25 3c 3e 30 20 84 20 4b |#0.....B%<>0 . K| 00001e70 45 59 25 3d 36 35 20 84 20 4b 45 59 25 3d 38 33 |EY%=65 . KEY%=83| 00001e80 0d 10 e0 09 ee 20 85 20 87 0d 10 ea 1c e7 20 4b |..... . ...... K| 00001e90 45 59 25 3d 36 35 20 f2 63 68 61 69 6e 28 22 4d |EY%=65 .chain("M| 00001ea0 41 49 4e 22 29 0d 10 f4 15 e7 20 4b 45 59 25 3d |AIN")..... KEY%=| 00001eb0 38 33 20 f2 6f 70 65 6e 3a e1 0d 10 fe 05 e1 0d |83 .open:.......| 00001ec0 11 08 05 3a 0d 11 12 0a dd f2 6f 70 65 6e 0d 11 |...:......open..| 00001ed0 1c 27 e7 20 56 25 3d 30 20 66 24 3d 22 49 6e 64 |.'. V%=0 f$="Ind| 00001ee0 65 78 22 20 8b 20 66 24 3d 70 24 2b 22 20 22 2b |ex" . f$=p$+" "+| 00001ef0 c3 28 56 25 29 0d 11 26 1e f1 8a 30 2c 33 29 66 |.(V%)..&...0,3)f| 00001f00 24 3b 22 20 66 6f 72 20 22 3b 79 65 61 72 25 28 |$;" for ";year%(| 00001f10 56 25 29 0d 11 30 6b f1 8a 30 2c 35 29 22 41 20 |V%)..0k..0,5)"A | 00001f20 6e 65 77 20 66 69 6c 65 20 77 69 6c 6c 20 62 65 |new file will be| 00001f30 20 6f 70 65 6e 65 64 20 69 66 20 74 68 65 72 65 | opened if there| 00001f40 20 69 73 22 27 22 65 6e 6f 75 67 68 20 73 70 61 | is"'"enough spa| 00001f50 63 65 2e 22 27 27 22 44 6f 20 79 6f 75 20 77 69 |ce."''"Do you wi| 00001f60 73 68 20 74 6f 20 73 74 61 72 74 20 61 20 6e 65 |sh to start a ne| 00001f70 77 20 66 69 6c 65 3f 20 28 59 2f 4e 29 22 0d 11 |w file? (Y/N)"..| 00001f80 3a 05 f5 0d 11 44 0b 2a 46 58 32 31 2c 30 0d 11 |:....D.*FX21,0..| 00001f90 4e 0e 41 25 3d a5 20 80 20 26 44 46 0d 11 58 13 |N.A%=. . &DF..X.| 00001fa0 fd 20 41 25 3d 37 38 20 84 20 41 25 3d 38 39 0d |. A%=78 . A%=89.| 00001fb0 11 62 0d e7 20 41 25 3d 37 38 20 e1 0d 11 6c 05 |.b.. A%=78 ...l.| 00001fc0 f5 0d 11 76 05 f5 0d 11 80 a2 f1 27 22 45 6e 74 |...v.......'"Ent| 00001fd0 65 72 20 64 61 74 65 20 66 72 6f 6d 20 77 68 69 |er date from whi| 00001fe0 63 68 20 22 3b 66 24 27 22 69 73 20 74 6f 20 73 |ch ";f$'"is to s| 00001ff0 74 61 72 74 20 69 6e 20 74 68 65 20 66 6f 72 6d |tart in the form| 00002000 20 44 44 2f 4d 4d 22 27 22 77 68 65 72 65 20 44 | DD/MM"'"where D| 00002010 44 20 69 73 20 74 68 65 20 64 61 79 20 6f 66 20 |D is the day of | 00002020 74 68 65 20 6d 6f 6e 74 68 22 27 22 61 6e 64 20 |the month"'"and | 00002030 4d 4d 20 69 73 20 74 68 65 20 6d 6f 6e 74 68 20 |MM is the month | 00002040 6f 66 20 74 68 65 20 79 65 61 72 22 3b 3a e8 61 |of the year";:.a| 00002050 24 3a 61 24 3d 61 24 2b 22 2f 22 2b c3 28 79 65 |$:a$=a$+"/"+.(ye| 00002060 61 72 25 28 56 25 29 29 0d 11 8a 25 e7 20 c1 61 |ar%(V%))...%. .a| 00002070 24 2c 33 2c 31 29 3c 3e 22 2f 22 20 f2 65 72 72 |$,3,1)<>"/" .err| 00002080 6f 72 64 61 74 65 3a e5 20 8d 74 40 51 0d 11 94 |ordate:. .t@Q...| 00002090 0d e3 20 49 25 3d 31 b8 31 30 0d 11 9e 18 e7 20 |.. I%=1.10..... | 000020a0 49 25 3d 33 20 84 20 49 25 3d 36 20 e5 20 8d 74 |I%=3 . I%=6 . .t| 000020b0 72 51 0d 11 a8 34 e7 20 c1 61 24 2c 49 25 2c 31 |rQ...4. .a$,I%,1| 000020c0 29 3c 22 30 22 20 84 20 c1 61 24 2c 49 25 2c 31 |)<"0" . .a$,I%,1| 000020d0 29 3e 22 39 22 20 f2 65 72 72 6f 72 64 61 74 65 |)>"9" .errordate| 000020e0 3a 49 25 3d 32 30 0d 11 b2 05 ed 0d 11 bc 0b fd |:I%=20..........| 000020f0 20 49 25 3c 31 39 0d 11 c6 11 44 3d bb 28 c1 61 | I%<19....D=.(.a| 00002100 24 2c 31 2c 32 29 29 0d 11 d0 11 4d 3d bb 28 c1 |$,1,2))....M=.(.| 00002110 61 24 2c 34 2c 32 29 29 0d 11 da 11 59 3d bb 28 |a$,4,2))....Y=.(| 00002120 c1 61 24 2c 37 2c 34 29 29 0d 11 e4 23 e7 20 a4 |.a$,7,4))...#. .| 00002130 76 61 6c 69 64 61 74 65 28 44 2c 4d 2c 59 29 3d |validate(D,M,Y)=| 00002140 30 20 f2 65 72 72 6f 72 64 61 74 65 0d 11 ee 19 |0 .errordate....| 00002150 fd 20 a4 76 61 6c 69 64 61 74 65 28 44 2c 4d 2c |. .validate(D,M,| 00002160 59 29 3c 3e 30 0d 11 f8 2c e8 27 22 41 6e 64 20 |Y)<>0...,.'"And | 00002170 65 6e 74 65 72 20 64 61 79 20 6f 66 20 77 65 65 |enter day of wee| 00002180 6b 20 28 4d 6f 6e 64 61 79 3d 31 29 20 22 44 41 |k (Monday=1) "DA| 00002190 59 0d 12 02 7b e7 20 44 41 59 3e 35 20 f1 27 22 |Y...{. DAY>5 .'"| 000021a0 57 65 65 6b 65 6e 64 73 20 61 72 65 20 6e 6f 74 |Weekends are not| 000021b0 20 61 6c 6c 6f 77 65 64 20 21 22 27 22 54 68 65 | allowed !"'"The| 000021c0 20 6e 65 78 74 20 4d 6f 6e 64 61 79 20 77 69 6c | next Monday wil| 000021d0 6c 20 62 65 20 75 73 65 64 20 61 6e 64 22 27 22 |l be used and"'"| 000021e0 74 68 65 20 64 61 74 65 20 77 69 6c 6c 20 62 65 |the date will be| 000021f0 20 61 64 6a 75 73 74 65 64 2e 22 3a 43 25 3d 31 | adjusted.":C%=1| 00002200 3a f2 61 64 6a 75 73 74 64 61 74 65 0d 12 0c 05 |:.adjustdate....| 00002210 db 0d 12 16 26 f1 8a 32 2c 35 29 22 49 4e 49 54 |....&..2,5)"INIT| 00002220 49 41 4c 49 53 49 4e 47 20 2d 20 50 6c 65 61 73 |IALISING - Pleas| 00002230 65 20 77 61 69 74 22 0d 12 20 1e 42 25 3d 8e 28 |e wait".. .B%=.(| 00002240 c3 28 79 65 61 72 25 28 56 25 29 2d 31 29 2b c3 |.(year%(V%)-1)+.| 00002250 28 56 25 29 29 0d 12 2a 11 e7 20 42 25 3d 30 20 |(V%))..*.. B%=0 | 00002260 e5 20 8d 74 4e 52 0d 12 34 2c f4 20 54 61 6b 65 |. .tNR..4,. Take| 00002270 20 61 20 63 6f 70 79 20 6f 66 20 73 68 61 72 65 | a copy of share| 00002280 6e 61 6d 65 73 20 66 6f 72 20 6e 65 77 20 66 69 |names for new fi| 00002290 6c 65 0d 12 3e 10 e3 49 25 3d 31 b8 6e 64 61 74 |le..>..I%=1.ndat| 000022a0 61 25 0d 12 48 0d 73 24 28 49 25 29 3d 22 22 0d |a%..H.s$(I%)="".| 000022b0 12 52 0b e3 4a 25 3d 31 b8 37 0d 12 5c 19 73 24 |.R..J%=1.7..\.s$| 000022c0 28 49 25 29 3d 73 24 28 49 25 29 2b bd 28 9a 23 |(I%)=s$(I%)+.(.#| 000022d0 42 25 29 0d 12 66 05 ed 0d 12 70 05 ed 0d 12 7a |B%)..f....p....z| 000022e0 07 d9 23 30 0d 12 84 35 f4 20 53 65 6e 64 20 64 |..#0...5. Send d| 000022f0 61 74 61 20 74 6f 20 64 69 73 63 20 61 73 20 6f |ata to disc as o| 00002300 75 74 6c 69 6e 65 64 20 61 74 20 73 74 61 72 74 |utlined at start| 00002310 20 6f 66 20 70 72 6f 67 2e 0d 12 8e 0b f2 65 73 | of prog......es| 00002320 70 61 63 65 0d 12 98 0a f2 6f 70 65 6e 32 0d 12 |pace.....open2..| 00002330 a2 0d f2 70 75 73 68 79 65 61 72 0d 12 ac 09 ee |...pushyear.....| 00002340 20 85 20 87 0d 12 b6 05 e1 0d 12 c0 05 3a 0d 12 | . ..........:..| 00002350 ca 0b dd f2 6f 70 65 6e 32 0d 12 d4 33 24 26 43 |....open2...3$&C| 00002360 30 31 3d 22 53 41 56 45 20 22 2b c3 28 79 65 61 |01="SAVE "+.(yea| 00002370 72 25 28 56 25 29 29 2b c3 28 56 25 29 2b 22 20 |r%(V%))+.(V%)+" | 00002380 32 30 30 30 20 2b 22 2b c3 7e 44 25 0d 12 de 0a |2000 +"+.~D%....| 00002390 d6 26 46 46 46 37 0d 12 e8 1c 41 25 3d ae 28 c3 |.&FFF7....A%=.(.| 000023a0 28 79 65 61 72 25 28 56 25 29 29 2b c3 28 56 25 |(year%(V%))+.(V%| 000023b0 29 29 0d 12 f2 10 e3 49 25 3d 31 b8 6e 64 61 74 |)).....I%=1.ndat| 000023c0 61 25 0d 12 fc 0b e3 4a 25 3d 31 b8 37 0d 13 06 |a%.....J%=1.7...| 000023d0 19 d5 23 41 25 2c 97 28 c1 73 24 28 49 25 29 2c |..#A%,.(.s$(I%),| 000023e0 4a 25 2c 31 29 29 0d 13 10 05 ed 0d 13 1a 05 ed |J%,1))..........| 000023f0 0d 13 24 12 cf 23 41 25 3d 66 69 72 73 74 70 74 |..$..#A%=firstpt| 00002400 72 25 0d 13 2e 19 d5 23 41 25 2c 6d 69 6e 72 65 |r%.....#A%,minre| 00002410 63 6f 72 64 25 20 81 20 32 35 36 0d 13 38 19 d5 |cord% . 256..8..| 00002420 23 41 25 2c 6d 69 6e 72 65 63 6f 72 64 25 20 83 |#A%,minrecord% .| 00002430 20 32 35 36 0d 13 42 0a d5 23 41 25 2c 44 0d 13 | 256..B..#A%,D..| 00002440 4c 0a d5 23 41 25 2c 4d 0d 13 56 12 d5 23 41 25 |L..#A%,M..V..#A%| 00002450 2c 28 59 20 81 20 32 35 36 29 0d 13 60 12 d5 23 |,(Y . 256)..`..#| 00002460 41 25 2c 28 59 20 83 20 32 35 36 29 0d 13 6a 0c |A%,(Y . 256)..j.| 00002470 d5 23 41 25 2c 44 41 59 0d 13 74 19 d5 23 41 25 |.#A%,DAY..t..#A%| 00002480 2c 6d 69 6e 72 65 63 6f 72 64 25 20 81 20 32 35 |,minrecord% . 25| 00002490 36 0d 13 7e 19 d5 23 41 25 2c 6d 69 6e 72 65 63 |6..~..#A%,minrec| 000024a0 6f 72 64 25 20 83 20 32 35 36 0d 13 88 0a d5 23 |ord% . 256.....#| 000024b0 41 25 2c 44 0d 13 92 0a d5 23 41 25 2c 4d 0d 13 |A%,D.....#A%,M..| 000024c0 9c 12 d5 23 41 25 2c 28 59 20 81 20 32 35 36 29 |...#A%,(Y . 256)| 000024d0 0d 13 a6 12 d5 23 41 25 2c 28 59 20 83 20 32 35 |.....#A%,(Y . 25| 000024e0 36 29 0d 13 b0 11 e3 20 49 25 3d 31 b8 6e 64 61 |6)..... I%=1.nda| 000024f0 74 61 25 0d 13 ba 0c d5 23 41 25 2c 26 46 46 0d |ta%.....#A%,&FF.| 00002500 13 c4 0c d5 23 41 25 2c 26 46 46 0d 13 ce 0a d5 |....#A%,&FF.....| 00002510 23 41 25 2c 30 0d 13 d8 0a d5 23 41 25 2c 30 0d |#A%,0.....#A%,0.| 00002520 13 e2 05 ed 0d 13 ec 13 cf 23 41 25 3d 6d 69 6e |.........#A%=min| 00002530 72 65 63 6f 72 64 25 0d 13 f6 08 43 25 3d 31 0d |record%....C%=1.| 00002540 14 00 0a 47 25 3d bc 2b 31 0d 14 0a 0a 4f 4c 44 |...G%=.+1....OLD| 00002550 59 3d 59 0d 14 14 08 43 25 3d 31 0d 14 1e 05 f5 |Y=Y....C%=1.....| 00002560 0d 14 28 0f f2 61 64 6a 75 73 74 64 61 74 65 0d |..(..adjustdate.| 00002570 14 32 14 e7 20 59 3c 3e 4f 4c 44 59 20 e5 20 8d |.2.. Y<>OLDY . .| 00002580 44 64 54 0d 14 3c 13 e3 20 49 25 3d 31 b8 6e 64 |DdT..<.. I%=1.nd| 00002590 61 74 61 25 2a 32 0d 14 46 0a d5 23 41 25 2c 30 |ata%*2..F..#A%,0| 000025a0 0d 14 50 05 ed 0d 14 5a 1c f1 8a 35 2c 47 25 29 |..P....Z...5,G%)| 000025b0 44 3b 22 2f 22 3b 4d 3b 22 2f 22 3b 59 3b 22 20 |D;"/";M;"/";Y;" | 000025c0 22 0d 14 64 0d fd 20 59 3c 3e 4f 4c 44 59 0d 14 |"..d.. Y<>OLDY..| 000025d0 6e 13 e3 20 49 25 3d 31 b8 6e 64 61 74 61 25 2a |n.. I%=1.ndata%*| 000025e0 32 0d 14 78 0a d5 23 41 25 2c 30 0d 14 82 05 ed |2..x..#A%,0.....| 000025f0 0d 14 8c 07 d9 23 30 0d 14 96 0d f2 74 68 6f 6c |.....#0.....thol| 00002600 64 28 31 29 0d 14 a0 46 f4 20 53 65 74 20 63 75 |d(1)...F. Set cu| 00002610 72 72 65 6e 74 20 64 69 73 63 20 70 6f 69 6e 74 |rrent disc point| 00002620 65 72 20 74 6f 20 70 6f 69 6e 74 20 61 74 20 63 |er to point at c| 00002630 75 72 72 65 6e 74 20 64 61 74 61 20 70 6f 69 6e |urrent data poin| 00002640 74 20 69 65 20 66 69 72 73 74 0d 14 aa 17 64 69 |t ie first....di| 00002650 73 63 70 74 72 25 3d 6d 69 6e 72 65 63 6f 72 64 |scptr%=minrecord| 00002660 25 0d 14 b4 07 d9 23 30 0d 14 be 05 db 0d 14 c8 |%.....#0........| 00002670 09 ee 20 85 20 87 0d 14 d2 05 e1 0d 14 dc 05 3a |.. . ..........:| 00002680 0d 14 e6 0f dd f2 74 68 6f 6c 64 28 42 25 29 0d |......thold(B%).| 00002690 14 f0 2e e7 20 42 25 3d 30 3a 74 65 6d 70 64 61 |.... B%=0:tempda| 000026a0 79 3d 44 41 59 3a 74 65 6d 70 64 3d 44 3a 74 65 |y=DAY:tempd=D:te| 000026b0 6d 70 6d 3d 4d 3a 74 65 6d 70 79 3d 59 0d 14 fa |mpm=M:tempy=Y...| 000026c0 2e e7 20 42 25 3d 31 20 44 41 59 3d 74 65 6d 70 |.. B%=1 DAY=temp| 000026d0 64 61 79 3a 44 3d 74 65 6d 70 64 3a 4d 3d 74 65 |day:D=tempd:M=te| 000026e0 6d 70 6d 3a 59 3d 74 65 6d 70 79 0d 15 04 05 e1 |mpm:Y=tempy.....| 000026f0 0d 15 0e 05 3a 0d 15 18 0c dd f2 65 73 70 61 63 |....:......espac| 00002700 65 0d 15 22 0d f2 74 68 6f 6c 64 28 30 29 0d 15 |e.."..thold(0)..| 00002710 2c 08 43 25 3d 31 0d 15 36 08 44 25 3d 30 0d 15 |,.C%=1..6.D%=0..| 00002720 40 0a 4f 4c 44 59 3d 59 0d 15 4a 05 f5 0d 15 54 |@.OLDY=Y..J....T| 00002730 0f f2 61 64 6a 75 73 74 64 61 74 65 0d 15 5e 0b |..adjustdate..^.| 00002740 44 25 3d 44 25 2b 31 0d 15 68 0c fd 59 3c 3e 4f |D%=D%+1..h..Y<>O| 00002750 4c 44 59 0d 15 72 0d f2 74 68 6f 6c 64 28 31 29 |LDY..r..thold(1)| 00002760 0d 15 7c 16 44 25 3d 28 44 25 2d 31 29 2a 6e 64 |..|.D%=(D%-1)*nd| 00002770 61 74 61 25 2a 32 0d 15 86 08 58 25 3d 31 0d 15 |ata%*2....X%=1..| 00002780 90 09 59 25 3d 26 43 0d 15 9a 09 ee 20 85 20 87 |..Y%=&C..... . .| 00002790 0d 15 a4 05 e1 0d 15 ae 05 3a 0d 15 b8 0f dd f2 |.........:......| 000027a0 65 72 72 6f 72 64 61 74 65 0d 15 c2 05 db 0d 15 |errordate.......| 000027b0 cc 36 f1 8a 35 2c 31 30 29 22 45 72 72 6f 72 20 |.6..5,10)"Error | 000027c0 69 6e 20 64 61 74 65 2e 22 27 27 22 50 72 65 73 |in date."''"Pres| 000027d0 73 20 61 20 4b 45 59 20 74 6f 20 72 65 2d 65 6e |s a KEY to re-en| 000027e0 74 65 72 22 0d 15 d6 08 49 25 3d a5 0d 15 e0 05 |ter"....I%=.....| 000027f0 db 0d 15 ea 05 e1 0d 15 f4 05 3a 0d 15 fe 0e dd |..........:.....| 00002800 f2 70 75 73 68 79 65 61 72 0d 16 08 0b f2 73 79 |.pushyear.....sy| 00002810 73 74 65 6d 0d 16 12 10 58 25 3d ae 28 22 59 45 |stem....X%=.("YE| 00002820 41 52 22 29 0d 16 1c 0c e3 20 49 25 3d 30 b8 33 |AR")..... I%=0.3| 00002830 0d 16 26 12 f1 23 58 25 2c 79 65 61 72 25 28 49 |..&..#X%,year%(I| 00002840 25 29 0d 16 30 05 ed 0d 16 3a 05 e1 0d 16 44 05 |%)..0....:....D.| 00002850 3a 0d 16 4e 0c dd f2 73 79 73 74 65 6d 0d 16 58 |:..N...system..X| 00002860 05 f5 0d 16 62 0b 2a 46 58 32 31 2c 30 0d 16 6c |....b.*FX21,0..l| 00002870 10 41 25 3d 8e 28 22 4d 41 49 4e 22 29 0d 16 76 |.A%=.("MAIN")..v| 00002880 07 d9 23 30 0d 16 80 58 e7 20 41 25 3d 30 20 db |..#0...X. A%=0 .| 00002890 3a f1 8a 30 2c 31 30 29 22 49 6e 73 65 72 74 20 |:..0,10)"Insert | 000028a0 53 79 73 74 65 6d 20 44 69 73 63 20 69 6e 20 64 |System Disc in d| 000028b0 72 69 76 65 20 30 22 27 27 22 61 6e 64 20 70 72 |rive 0"''"and pr| 000028c0 65 73 73 20 61 6e 79 20 6b 65 79 20 74 6f 20 63 |ess any key to c| 000028d0 6f 6e 74 69 6e 75 65 22 3a f5 fd a5 0d 16 8a 0b |ontinue":.......| 000028e0 fd 20 41 25 3c 3e 30 0d 16 94 05 e1 0d 16 9e 05 |. A%<>0.........| 000028f0 3a 0d 16 a8 0e dd f2 61 73 73 65 6d 62 6c 65 0d |:......assemble.| 00002900 16 b2 07 ef 32 31 0d 16 bc 0f e3 20 4e 25 3d 30 |....21..... N%=0| 00002910 b8 32 20 88 32 0d 16 c6 0c 50 25 3d 26 35 46 30 |.2 .2....P%=&5F0| 00002920 30 0d 16 d0 05 5b 0d 16 da 0a 4f 50 54 20 4e 25 |0....[....OPT N%| 00002930 0d 16 e4 0a 2e 73 74 61 72 74 0d 16 ee 27 20 20 |.....start...' | 00002940 20 20 6c 64 61 20 23 30 3a 73 74 61 20 26 38 30 | lda #0:sta &80| 00002950 3a 6c 64 61 20 23 26 36 30 3a 73 74 61 20 26 38 |:lda #&60:sta &8| 00002960 31 0d 16 f8 09 2e 6c 6f 6f 70 0d 17 02 0e 20 20 |1.....loop.... | 00002970 20 20 6c 64 79 20 23 32 0d 17 0c 0a 2e 6c 6f 6f | ldy #2.....loo| 00002980 70 31 0d 17 16 28 20 20 20 20 6c 64 61 20 28 26 |p1...( lda (&| 00002990 38 30 29 2c 59 3a 61 6e 64 20 23 26 37 46 3a 73 |80),Y:and #&7F:s| 000029a0 74 61 20 28 26 38 30 29 2c 59 0d 17 20 08 2e 6f |ta (&80),Y.. ..o| 000029b0 6b 31 0d 17 2a 2b 20 20 20 20 63 6d 70 20 23 33 |k1..*+ cmp #3| 000029c0 32 3a 62 63 73 20 6f 6b 32 3a 6c 64 61 20 23 33 |2:bcs ok2:lda #3| 000029d0 32 3a 73 74 61 20 28 26 38 30 29 2c 59 0d 17 34 |2:sta (&80),Y..4| 000029e0 08 2e 6f 6b 32 0d 17 3e 80 20 20 20 20 69 6e 79 |..ok2..>. iny| 000029f0 3a 63 70 79 20 23 34 32 3a 62 63 63 20 6c 6f 6f |:cpy #42:bcc loo| 00002a00 70 31 3a 63 6c 63 3a 6c 64 61 20 23 34 32 3a 61 |p1:clc:lda #42:a| 00002a10 64 63 20 26 38 30 3a 73 74 61 20 26 38 30 3a 6c |dc &80:sta &80:l| 00002a20 64 61 20 23 30 3a 61 64 63 20 26 38 31 3a 73 74 |da #0:adc &81:st| 00002a30 61 20 26 38 31 3a 63 6d 70 20 23 26 36 35 3a 62 |a &81:cmp #&65:b| 00002a40 63 63 20 6c 6f 6f 70 3a 6c 64 61 20 26 38 30 3a |cc loop:lda &80:| 00002a50 63 6d 70 20 23 26 30 30 3a 62 63 63 20 6c 6f 6f |cmp #&00:bcc loo| 00002a60 70 3a 72 74 73 0d 17 48 05 5d 0d 17 52 05 ed 0d |p:rts..H.]..R...| 00002a70 17 5c 06 ef 36 0d 17 66 05 e1 0d ff |.\..6..f....| 00002a7c