Home » CEEFAX disks » telesoftware16.adl » 19-05-89/B\Insce

19-05-89/B\Insce

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 » telesoftware16.adl
Filename: 19-05-89/B\Insce
Read OK:
File size: 3092 bytes
Load address: FFFF1900
Exec address: FFFF8023
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents
   10REM *INSCE DATA (c)M.Jackson 1988 *
   15CLEAR:*FX21,0
   20MODE7:BonY$=CHR$131+CHR$157+CHR$132:YonB$=CHR$132+CHR$157+CHR$131:file$="InsData":p$=CHR$130+"Press any key to continue ":r$=" record":rec$=CHR$131+"Rec.No.":rettomenu=FALSE:Z%=151
   30PROCdbl(6,CHR$131+"Please wait "):DIMitm$(Z%):DIMcde$(Z%):DIMrm$(Z%):DIMval$(Z%)
   40VDU23;8202;0;0;0;:FORA%=Z%TO0STEP-1:PRINTTAB(17,12);A%;" ":PROCpad:NEXT:Z%=Z%-1:MODE7
   50ONERRORPROCerror
   60REPEAT:PROCmenu:UNTILFALSE
   70END
   80:
   90DEFPROCmenu
  100*OPT
  110@%=10:I%=0:amend=TRUE:error=FALSE:os=FALSE:VDU26,12,23,1,1;0;0;0;:PROCdbl(1,CHR$132+CHR$157+CHR$135+" MASTER MENU   "+CHR$156):VDU28,5,21,34,5:*FX4,1
  120PRINTCHR$131"1 - Enter new"r$'CHR$131"2 - Amend existing"r$'CHR$131"3 - Search"r$'CHR$131"4 - Delete"r$''CHR$133"5 - Save current file"'CHR$133"6 - Load new file"'
  130PRINTCHR$134"7 - File sort"'CHR$134"8 - Group value adjustment"'CHR$134"9 - OS Command"''CHR$129"0 - Finish with program"'''CHR$130"Select Option . . . ";
  140REPEAT:E$=GET$:PROCvalid("1234567890"):UNTILE%<>0:VDU26,12:ONE%GOTO150,160,170,180,190,200,210,220,230,240
  150PROCnew:ENDPROC
  160PROCselect:PROCinput:ENDPROC
  170PROCsearch:ENDPROC
  180PROCselect:PROCdel:ENDPROC
  190PROCsave:ENDPROC
  200PROCload:ENDPROC
  210PROCsort:ENDPROC
  220PROCadj:ENDPROC
  230PROCos:ENDPROC
  240PROCend:ENDPROC
  250:
  260DEFPROCnew
  270rettomenu=FALSE:A%=0:REPEAT:A%=A%+1:UNTILVAL(val$(A%))=0OR A%=Z%:IFVAL(val$(A%))<>0AND A%=Z%VDU7:PROCdbl(14,CHR$129+"No room left.All records in use!"):FORW%=1TO8000:NEXT:ENDPROC
  280amend=FALSE:J$=" ADD":PROCinput
  290ENDPROC
  300:
  310DEFPROCselect
  320IFE%=2 J$=" AMEND"ELSE J$=" DELETE"
  330CLS:rettomenu=FALSE:PROCdbl(1,YonB$+J$+" RECORD   "+CHR$156)
  340PRINTTAB(4,6)CHR$131"Enter record number (1 - ";Z%;")"TAB(2,9)CHR$131"If record number not known enter"'''CHR$129"<S>"CHR$131"to Search or"CHR$129"<M>"CHR$131"for Master Menu"
  350PRINTTAB(16,17)CHR$130;:INPUT""E$:A%=VALE$
  360IFE$="M"ORE$="m"rettomenu=TRUE
  370IFE$="S"ORE$="s"PROCsearch:rettomenu=TRUE
  380IFrettomenu=TRUE ENDPROC ELSE IFA%<1ORA%>Z%VDU7:PROCdbl(20,CHR$129+"Invalid entry!"):FORW%=1TO8000:NEXT:GOTO330
  390ENDPROC
  400:
  410DEFPROCinput
  420inputOK=FALSE:*FX4,0
  430IFrettomenu=TRUE ENDPROC
  440REPEAT
  450itm$(0)="":cde$(0)="":rm$(0)="":val$(0)="":*FX15,0
  460CLS:PROCdbl(1,YonB$+J$+" RECORD "+STR$A%+"   "+CHR$156)
  470IFamend=TRUE PRINTTAB(0,6)YonB$SPC35CHR$156;TAB(3,6)"Exstg item:";itm$(A%)
  480PRINTTAB(0,7)BonY$SPC35CHR$156;TAB(3,7)"New item  :";
  490REPEAT
  500E$=GET$
  510IFASCE$=13 AND itm$(0)="" itm$(0)=itm$(A%)
  520IFASCE$=127 itm$(0)=LEFT$(itm$(0),LENitm$(0)-1)
  530IFASCE$<>13 AND ASCE$<>127 ANDLENitm$(0)<23 itm$(0)=itm$(0)+E$ ELSE IFLENitm$(0)=23 AND E$<>CHR$13VDU7
  540PRINTTAB(14,7)itm$(0)" ";CHR$127;
  550UNTILASCE$=13
  560IFamend=TRUE PRINTTAB(0,11)YonB$SPC15CHR$156;TAB(3,11)"Exstg type: ";cde$(A%)
  570PRINTTAB(0,12)BonY$SPC15CHR$156;TAB(3,12)"Item type : ";
  580REPEAT
  590E$=GET$
  600IFASCE$=13 AND cde$(0)="" cde$(0)=cde$(A%)
  610IFASCE$=127 cde$(0)=LEFT$(cde$(0),LENcde$(0)-1)
  620IFASCE$<>13 AND ASCE$<>127 ANDLENcde$(0)<2 cde$(0)=cde$(0)+E$ ELSE IFLENcde$(0)=2 AND E$<>CHR$13VDU7
  630PRINTTAB(15,12)cde$(0)" ";CHR$127;
  640UNTILASCE$=13
  650IFamend=TRUE PRINTTAB(20,11)YonB$SPC15CHR$156;TAB(23,11)"Exstg room: ";rm$(A%)
  660PRINTTAB(20,12)BonY$SPC15CHR$156;TAB(23,12)"Room code : ";
  670REPEAT
  680E$=GET$
  690IFASCE$=13 AND rm$(0)="" rm$(0)=rm$(A%)
  700IFASCE$=127 rm$(0)=LEFT$(rm$(0),LENrm$(0)-1)
  710IFASCE$<>13 AND ASCE$<>127 ANDLENrm$(0)<2 rm$(0)=rm$(0)+E$ ELSE IFLENrm$(0)=2 AND E$<>CHR$13VDU7
  720PRINTTAB(35,12)rm$(0)" ";CHR$127;
  730UNTILASCE$=13
  740IFamend=TRUE PRINTTAB(6,16)YonB$SPC23CHR$156;TAB(9,16)"Exstg value: ";val$(A%)
  750PRINTTAB(6,17)BonY$SPC23CHR$156;TAB(9,17)"Item value : ";
  760REPEAT
  770REPEAT
  780REPEAT:E$=GET$
  790IFVAL(val$(0))=0 AND ASCE$=13 AND J$<>" AMEND" VDU7
  800IFVAL(val$(A%))<>0 AND ASCE$=13 AND val$(0)="" val$(0)=val$(A%)
  810decpnt=INSTR(val$(0),"."):IFdecpnt=0 PROCvalid(".0123456789"+CHR$13+CHR$127) ELSE PROCvalid("0123456789"+CHR$13+CHR$127)
  820IFdecpnt<>0 AND LENval$(0)>decpnt+1 PROCvalid(CHR$13+CHR$127)
  830UNTILE%<>0
  840IFASCE$=127 AND RIGHT$(val$(0),1)<>"."L%=1
  850IFASCE$=127 AND RIGHT$(val$(0),1)="."L%=2
  860IFASCE$=127 val$(0)=LEFT$(val$(0),LENval$(0)-L%)
  870IFASCE$<>13 AND ASCE$<>127 ANDLENval$(0)<8 val$(0)=val$(0)+E$ ELSE IFLENval$(0)=8 AND E$<>CHR$13VDU7
  880IFASCE$<>127 decpnt=INSTR(val$(0),"."):IFdecpnt=0 AND LENval$(0)>4 val$(0)=LEFT$(val$(0),5)+"."
  890PRINTTAB(22,17)val$(0)"  ";CHR$127;CHR$127;
  900IFE$=CHR$13 AND VAL(val$(0))<.1 PRINTTAB(22,17)"Too low";:VDU7:val$(0)="":FORW%=1TO5000:NEXT:PRINTTAB(22,17)SPC(7)TAB(22,17);
  910UNTILVAL(val$(0))>.09
  920UNTILASCE$=13
  930PROCdbl(20,CHR$130+"All OK? (Y/N)  "):VDU8
  940REPEAT:E$=GET$:PROCvalid("YyNn"):UNTILE%<>0:PROCdbl(20,CHR$130+"All OK? (Y/N) "+E$):FORW%=1TO5000:NEXT
  950IFE%>2 VDU7:PROCdbl(20,CHR$129+"This input cancelled."):FORW%=1TO5000:NEXT
  960IFE%<3 PROCdbl(20,CHR$130+"Input accepted."):inputOK=TRUE:FORW%=1TO5000:NEXT:itm$(A%)=itm$(0):cde$(A%)=cde$(0):rm$(A%)=rm$(0):val$(A%)=val$(0):PROCpad
  970UNTILinputOK=TRUE
  980ENDPROC
  990:
 1000DEFPROCdel
 1010IFrettomenu=TRUE ENDPROC
 1020CLS:PROCdbl(1,YonB$+" DELETE RECORD "+STR$(A%)+"   "+CHR$156):PROCscreen:PROCdbl(20,CHR$130+"Correct record to delete? (Y/N)  "):VDU8
 1030REPEAT:E$=GET$:PROCvalid("YyNn"):UNTILE%<>0:IFE%>2 VDU7:PROCdbl(20,CHR$130+"Record not cancelled."):FORW%=1TO5000:NEXT:ENDPROC
 1040IFE%<3 PROCdbl(20,CHR$129+"Record deleted from file."):FORW%=1TO5000:NEXT:itm$(A%)="":cde$(A%)="":rm$(A%)="":val$(A%)="":PROCpad
 1050ENDPROC
 1060:
 1070DEFPROCsearch
 1080count%=-1:highA=0:search$="":T$="":match=FALSE:rettomenu=FALSE:CLS:PROCdbl(1,YonB$+" SEARCH MENU   "+CHR$156):PROCsubmenu(" - Search on "):IFE$="M"ORE$="m"rettomenu=TRUE:ENDPROC
 1090find$=E$:IFE$="1"len%=23 ELSE IFE$="2"len%=2 ELSE IFE$="3"len%=2 ELSE IFE$="4"len%=8
 1100PRINTTAB(0,12)CHR$130;:IFE$="4"PRINT"Enter value (search is +/- 25)" ELSE PRINT"Enter data to search for"
 1110PRINTTAB((23-len%)/2,14)BonY$SPC(len%+2)CHR$156TAB(((23-len%)/2)+3,14);
 1120REPEAT:E$=GET$
 1130IFASCE$=127 search$=LEFT$(search$,LENsearch$-1)
 1140IFASCE$<>13 AND ASCE$<>127 ANDLENsearch$<len% search$=search$+E$ ELSE IFASCE$<>13VDU7
 1150PRINTTAB(((23-len%)/2)+3,14)search$" ";CHR$127;
 1160UNTILASCE$=13
 1170REPEAT
 1180PRINTTAB(0,16)CHR$130"Do you want hard copy? (Y/N)";:REPEAT:E$=GET$:PROCvalid("YyNn"):UNTILE%<>0:PRINTE$:IFE%<3vdu%=2 ELSE vdu%=3
 1190*FX15,0
 1200IFvdu%=2 VDU2:PRINTCHR$32:VDU3:FORW%=1TO1000:NEXT:IFADVAL(-4)<>63 VDU7:PRINTTAB(0,16)CHR$129"Printer busy or not on line  ";:FORW%=1TO8000:NEXT
 1210UNTILADVAL(-4)=63:*FX15,0
 1220IFvdu%=2 roll=FALSE:PRINTTAB(0,16)CHR$130"<R>oll or <S>ingle sheet paper";:REPEAT:E$=GET$:PROCvalid("RrSs"):UNTILE%<>0:PRINTE$:IFE%<3roll=TRUE
 1230VDU26,12:A%=0:E$=CHR$138
 1240IFvdu%=3PROCdbl(22,CHR$130+"Use arrow keys, or"+CHR$129+"M"+CHR$130+"enu ")
 1250VDU28,0,20,39,0,23,1,0;0;0;0;
 1260REPEAT
 1270REPEAT
 1280*FX21,0
 1290IFI%<>0 AND vdu%=3 REPEAT:E$=GET$:PROCvalid(CHR$139+CHR$138+"Mm"):UNTILE%<>0:CLS:IFE$="M"ORE$="m"A%=Z%+1
 1300IFE$=CHR$139 A%=A%-1:IFA%<1 PROCdbl(10,CHR$129+"Start of file"):REPEAT:E$=GET$:PROCvalid(CHR$138):UNTILE%<>0:IFA%<0 A%=0
 1310IFE$=CHR$138 A%=A%+1:IFA%=Z%+1 AND vdu%=3 PROCdbl(10,CHR$129+"End of file"):IFvdu%=3REPEAT:E$=GET$:PROCvalid(CHR$139+CHR$138+"Mm"):UNTILE%<>0:IFE$=CHR$139 A%=A%-1
 1320IFfind$="1" I%=INSTR(itm$(A%),search$)
 1330IFfind$="2" I%=INSTR(cde$(A%),search$)
 1340IFfind$="3" I%=INSTR(rm$(A%),search$)
 1350IFfind$="4" AND VAL(search$)-25.01<VAL(val$(A%)) AND VAL(search$)+25.01>VAL(val$(A%)) I%=1 ELSEIFfind$="4"I%=0
 1360IFVAL(val$(A%))=0 I%=0
 1370IFA%>highA AND I%<>0 T$=STR$(VAL(T$)+VAL(val$(A%))):highA=A%
 1380IFA%=Z%+1 I%=99
 1390UNTILI%<>0
 1400decpnt=INSTR(T$,"."):IFdecpnt<>0 AND VAL(MID$(T$,decpnt+3,1))>4 T$=STR$(VAL(T$)+(.001))
 1410IFdecpnt<>0 T$=LEFT$(T$,decpnt+2)
 1420decpnt=INSTR(T$,"."):IFdecpnt=0 AND VAL(T$)<>0 T$=T$+".00"
 1430T$=STRING$((9-LENT$)," ")+T$
 1440decpnt=INSTR(T$,".")
 1450IFdecpnt=8 T$=RIGHT$(T$,8)+"0"
 1460IFdecpnt=9 T$=RIGHT$(T$,7)+"00"
 1470IFI%<>99 AND I%<>0 AND vdu%=3 PROCscreen
 1480IFI%<>99 AND I%<>0 AND vdu%=2 PROCprinter
 1490UNTILA%>Z%:VDU26
 1500IFmatch=TRUE AND vdu%=3PROCdbl(6,CHR$134+"Total value of this listing"):PROCdbl(10,CHR$134+"` "+T$):PROCdbl(22,CHR$130+"Press"+CHR$129+"M"+CHR$130+"for Menu"):REPEAT:E$=GET$:PROCvalid("Mm"):UNTILE%<>0
 1510IFmatch=FALSE VDU7:PROCdbl(10,CHR$129+"No match found!"):FORW%=1TO8000:NEXT:rettomenu=TRUE
 1520ENDPROC
 1530:
 1540DEFPROCscreen
 1550match=TRUE:CLS:PROCdbl(1,YonB$+" RECORD No "+STR$A%+"   "+CHR$156)
 1560PRINTTAB(0,7)YonB$SPC35CHR$156;TAB(3,7)"Exstg item:";itm$(A%)
 1570PRINTTAB(0,12)YonB$SPC15CHR$156;TAB(3,12)"Exstg type: ";cde$(A%)TAB(20,12)YonB$SPC15CHR$156;TAB(23,12)"Exstg room: ";rm$(A%)
 1580PRINTTAB(6,17)YonB$SPC23CHR$156;TAB(9,17)"Exstg value: ";val$(A%)
 1590ENDPROC
 1600:
 1610DEFPROCprinter
 1620count%=count%+1
 1630IFNOTroll AND count%MOD50=0CLS:PROCdbl(8,CHR$129+"Check paper"):PRINT'':PROCwait
 1640VDU2
 1650IFNOTmatch PRINTSPC(5)"REC No"SPC(4)"ITEM DESCRIPTION"SPC(6)"TYPE  ROOM"SPC(4)"VALUE"SPC(5)"RUNNING TOTAL"'
 1660match=TRUE
 1670IFA%<10 PRINTSPC(8);A%;
 1680IFA%>9 AND A%<100 PRINTSPC(7);A%;
 1690IFA%>99 PRINTSPC(6);A%;
 1700PRINTSPC(3)itm$(A%)SPC(3)cde$(A%)SPC(4)rm$(A%)SPC(3)"#"val$(A%)SPC(4)"#"SPC(9-LEN(T$))T$
 1710VDU3
 1720ENDPROC
 1730:
 1740DEFPROCsubmenu(s$)
 1750VDU28,4,24,35,5:PRINTCHR$131"1"+s$+"Item Description"''CHR$131"2"+s$+"Item Type"''CHR$131"3"+s$+"Room Code"''CHR$131"4"+s$+"Value"''CHR$129"M - Return to Menu"''CHR$130"Select Option . . . ";
 1760REPEAT:E$=GET$:PROCvalid("1234Mm"):UNTILE%<>0:IFE$="M"ORE$="m"ENDPROC
 1770PRINTE$:PRINTTAB(0,(VAL(E$)-1)*2)CHR$135
 1780ENDPROC
 1790:
 1800DEFPROCsave
 1810abort=FALSE:PROCdbl(1,YonB$+" SAVE CURRENT FILE   "+CHR$156):PROCdata:IFdata=0PROCdbl(10,CHR$129+"No valid data in memory "):VDU7:FORW%=1TO8000:NEXT:ENDPROC
 1820PROCmedia:PROCdbl(6,CHR$131+"File name is "+file$):PROCdbl(9,CHR$130+"Press"+CHR$129+"RETURN"+CHR$130+"to overwrite, or"):PROCdbl(12,CHR$130+"Enter new file name to SAVE"):INPUTTAB(15,15)""E$:IFE$<>""file$=E$
 1830IFmedia$="DISK"PROCdiskcontent
 1840IFabort=TRUE ENDPROC
 1850IFmedia$="TAPE"PRINTTAB(5,15)CHR$130CHR$136"PRESS ";
 1860ch%=OPENOUT(file$):PRINTTAB(0,15)STRING$(39," "):PROCdbl(17,CHR$133+"Saving as file name "+file$):IFmedia$="TAPE"PRINT''
 1870PRINT#ch%:FORA%=1TOZ%:PRINT#ch%,itm$(A%),cde$(A%),rm$(A%),val$(A%):NEXT:CLOSE#ch%
 1880ENDPROC
 1890:
 1900DEFPROCdiskcontent
 1910DIM cli% 14:$cli%="AC. "+file$
 1920X%=cli%MOD256:Y%=cli%DIV256:CALL&FFF7
 1930IFE$<>""VDU7:PRINT''TAB(2)CHR$129"File exists - overwrite? (Y/N) ";:REPEAT:E$=GET$:PROCvalid("YyNn"):UNTILE%<>0:PRINTE$:IFE%>2 VDU7:PROCdbl(17,CHR$130+"SAVE instruction aborted!"):abort=TRUE:FORW%=1TO8000:NEXT
 1940ENDPROC
 1950:
 1960DEFPROCload
 1970PROCdbl(1,YonB$+" LOAD NEW FILE   "+CHR$156):PROCdata
 1980IFdata<>0VDU7:PROCdbl(6,CHR$129+"Existing data will be lost! "):FORW%=1TO3000:NEXT:PROCdbl(11,CHR$133+"<L> to confirm LOAD "):PROCdbl(14,CHR$133+"<A> to Abort load routine "):PRINTTAB(17,17);:E$=GET$:IFE$<>"L"ENDPROC
 1990VDU28,0,24,39,6,12,26:PROCmedia:PROCdbl(6,CHR$130+"Enter file name to LOAD "):INPUTTAB(12,10)""E$
 2000IFmedia$="DISK"ch%=OPENIN(E$):CLOSE#0:IFch%=0PROCdbl(15,CHR$129+"File not found"):PRINT':PROCwait:ENDPROC
 2020IFmedia$="DISK" PROCdbl(15,CHR$133+"Please wait . . . LOADing data")
 2030ch%=OPENIN(E$):FORA%=1TOZ%:INPUT#ch%,itm$(A%),cde$(A%),rm$(A%),val$(A%):NEXT:CLOSE#ch%:file$=E$
 2040ENDPROC
 2050:
 2060DEFPROCmedia
 2070media$="DISK":*DISK
 2080PROCdbl(6,CHR$133+"Are you using <D>isk or <T>ape"):REPEAT:PRINTTAB(17,9);:E$=GET$:PROCvalid("DdTt"):UNTILE%<>0:IFE%>2media$="TAPE":*TAPE
 2090IFmedia$="TAPE" THEN*OPT1,1
 2100IFmedia$="TAPE" THEN*OPT2,1
 2110ENDPROC
 2120:
 2130DEFPROCsort
 2140PROCdbl(1,YonB$+" FILE SORT MENU   "+CHR$156):PROCsubmenu(" - Sort on "):IFE$="M"ORE$="m"ENDPROC
 2150VDU28,0,20,39,14:PROCdbl(1,CHR$134+"Please wait -"):PROCdbl(3,CHR$134+"sorting in progress"):A%=0
 2160REPEAT:swop=FALSE
 2180REPEAT:A%=A%+1
 2190IFE$="1" AND itm$(A%)>itm$(A%+1) swop=TRUE:PROCswop
 2200IFE$="2" AND cde$(A%)>cde$(A%+1) swop=TRUE:PROCswop
 2210IFE$="3" AND rm$(A%)>rm$(A%+1) swop=TRUE:PROCswop
 2220IFE$="4" AND val$(A%)>val$(A%+1) swop=TRUE:PROCswop
 2225IFswop A%=A%-2
 2230UNTILswop OR A%=Z%-1
 2240UNTILNOTswop AND A%=Z%-1
 2250ENDPROC
 2260:
 2270DEFPROCswop
 2280itm$(0)=itm$(A%):itm$(A%)=itm$(A%+1):itm$(A%+1)=itm$(0):cde$(0)=cde$(A%):cde$(A%)=cde$(A%+1):cde$(A%+1)=cde$(0):rm$(0)=rm$(A%):rm$(A%)=rm$(A%+1):rm$(A%+1)=rm$(0):val$(0)=val$(A%):val$(A%)=val$(A%+1):val$(A%+1)=val$(0)
 2290itm$(0)="":cde$(0)="":rm$(0)="":val$(0)=""
 2300ENDPROC
 2310:
 2320DEFPROCadj
 2330match=FALSE:PROCdbl(1,YonB$+" VALUE ADJUSTMENT MENU   "+CHR$156):PRINTTAB(0,6)CHR$134;:INPUT"Enter code ref to adjust "cde$(0):IFLENcde$(0)=1 cde$(0)=cde$(0)+" "
 2340REPEAT:E%=1:PRINTTAB(0,10)CHR$134;:INPUT"Enter percentage adjustment "E$:IFVAL(E$)=0ORVAL(E$)<-99PRINTTAB(0,10)CHR$131"Don't be so silly !";SPC(15);:VDU7:FORW%=1TO8000:NEXT:E%=0
 2350UNTILE%<>0
 2360FORA%=1TOZ%
 2370IFcde$(0)=cde$(A%) match=TRUE:PRINTTAB(1,13)"Adjusting item ";A%;" and Searching";:val$(A%)=STR$((VAL(val$(A%)))*(100+VAL(E$))):val$(A%)=STR$(VAL(val$(A%))/100)
 2380IFVAL(val$(A%))>99999.99 val$(A%)="99999.99":PRINTTAB(7,13)CHR$129"Item ";A%" value too high":PROCwait
 2390IFVAL(val$(A%))<.1 AND VAL(val$(A%))>0 val$(A%)="     .10":PRINTTAB(7,13)CHR$129"Item ";A%" value too low":PROCwait
 2400IFcde$(0)=cde$(A%) decpnt=INSTR(val$(A%),"."):IFdecpnt<>0 AND VAL(MID$(val$(A%),decpnt+3,1))>4 val$(A%)=STR$(VAL(val$(A%))+(.001))
 2410IFcde$(0)=cde$(A%) PROCdecpnt
 2420NEXT
 2430IFmatch=FALSE VDU7:PROCdbl(10,CHR$129+"No match found!"):PROCdbl(22,p$):W%=GET
 2440ENDPROC
 2450:
 2460DEFPROCos
 2470os=TRUE:PROCdbl(1,YonB$+" OPERATING SYSTEM ACCESS   "+CHR$156):PROCmedia:PROCdbl(6,CHR$129+"BEWARE!"):PRINTTAB(0,9)CHR$134"Any command which uses computer memory"'CHR$134"will corrupt this program and data.";
 2480REPEAT:PRINT'CHR$130"Enter OS command, or"CHR$129"M"CHR$130"for Menu."'':INPUT"*"os$
 2490IFos$="M"ORos$="m"GOTO2530
 2500DIM cli% LENos$:$cli%=os$
 2510X%=cli%MOD256:Y%=cli%DIV256:CALL&FFF7
 2520IFerror VDU7:PROCdbl(15,CHR$129+"File not found"):PRINT':error=FALSE
 2530UNTILos$="M"ORos$="m":os=FALSE
 2540ENDPROC
 2550:
 2560DEFPROCend
 2570PROCdbl(1,YonB$+" EXIT FROM PROGRAM   "+CHR$156):PROCdata:*FX4
 2580IFdata=0 PROCdbl(14,"Finished"):PRINT:END
 2590PROCdbl(6,CHR$129+CHR$157+CHR$135+" Beware! Data will be lost!   "+CHR$156):PROCdbl(10,CHR$129+CHR$157+CHR$135+" <Q> to Quit / <M> for Menu   "+CHR$156):E$=GET$:IFE$="Q"PROCdbl(14,"Finished"):PRINT:END
 2600ENDPROC
 2610:
 2620DEFPROCdbl(V%,J$)
 2630PRINTTAB(0,V%)STRING$(79," "):H%=(36-LENJ$)/2:J$=CHR$141+J$:PRINTTAB(H%,V%)J$TAB(H%,V%+1)J$;
 2640ENDPROC
 2650:
 2660DEFPROCpad
 2670itm$(A%)=itm$(A%)+STRING$((23-LENitm$(A%))," "):cde$(A%)=cde$(A%)+STRING$((2-LENcde$(A%))," "):rm$(A%)=rm$(A%)+STRING$((2-LENrm$(A%))," "):PROCdecpnt
 2680ENDPROC
 2690:
 2700DEFPROCdecpnt
 2710decpnt=INSTR(val$(A%),"."):IFdecpnt=0 AND VAL(val$(A%))<>0 val$(A%)=val$(A%)+".00"
 2720decpnt=INSTR(val$(A%),"."):IFdecpnt<>0 AND VAL(MID$(val$(A%),decpnt+3,1))>4 val$(A%)=STR$(VAL(val$(A%))+(.006))
 2730decpnt=INSTR(val$(A%),"."):val$(A%)=LEFT$(val$(A%),decpnt+2):val$(A%)=STRING$((8-LENval$(A%))," ")+val$(A%):decpnt=INSTR(val$(A%),".")
 2740IFdecpnt=7 val$(A%)=RIGHT$(val$(A%),7)+"0"
 2750IFdecpnt=8 val$(A%)=RIGHT$(val$(A%),6)+"00"
 2760ENDPROC
 2770:
 2780DEFPROCwait
 2790*FX21,0
 2800PRINT'TAB(5)p$;:W%=GET
 2810ENDPROC
 2820:
 2830DEFPROCvalid(J$)
 2840E%=INSTR(J$,E$):IFE%=0 VDU7 ELSE ENDPROC
 2850ENDPROC
 2860:
 2870DEFPROCdata
 2880data=0:FORA%=1TOZ%:data=data+VAL(val$(A%)):NEXT
 2890ENDPROC
 2900:
 2910DEFPROCerror
 2915IFERR=6 CLOSE#0:PROCdbl(15,CHR$129+"Invalid file . . . LOAD aborted"):VDU7:FORW%=1TO10000:NEXT:GOTO2040
 2920IFNOTos AND ERR=214 GOTO1860
 2930IFos AND ERR=214 error=TRUE:GOTO2520
 2940ONERROROFF:VDU26:CLOSE#0:VDU3:PRINTTAB(0,18)SPC(240)TAB(0,18):REPORT:PRINT'"Error code ";ERR;" at Line ";ERL'"Press <ESC> to STOP program"'"Press <M> for Menu, <GOTO50> to restart":E$=GET$:IFE$="M"GOTO50 ELSE 2940
 2950ENDPROC

%� *INSCE DATA (c)M.Jackson 1988 *

�:*FX21,0
��7:BonY$=�131+�157+�132:YonB$=�132+�157+�131:file$="InsData":p$=�130+"Press any key to continue ":r$=" record":rec$=�131+"Rec.No.":rettomenu=�:Z%=151
F�dbl(6,�131+"Please wait "):�itm$(Z%):�cde$(Z%):�rm$(Z%):�val$(Z%)
(A�23;8202;0;0;0;:�A%=Z%�0�-1:�17,12);A%;" ":�pad:�:Z%=Z%-1:�7
2��error
<�:�menu:��
F�
P:
Z
��menu
d*OPT
n{@%=10:I%=0:amend=�:error=�:os=�:�26,12,23,1,1;0;0;0;:�dbl(1,�132+�157+�135+" MASTER MENU   "+�156):�28,5,21,34,5:*FX4,1
x��131"1 - Enter new"r$'�131"2 - Amend existing"r$'�131"3 - Search"r$'�131"4 - Delete"r$''�133"5 - Save current file"'�133"6 - Load new file"'
���134"7 - File sort"'�134"8 - Group value adjustment"'�134"9 - OS Command"''�129"0 - Finish with program"'''�130"Select Option . . . ";
�c�:E$=�:�valid("1234567890"):�E%<>0:�26,12:�E%�tV@,�t`@,�tj@,�tt@,�t~@,�dH@,�dR@,�d\@,�df@,�dp@
�
�new:�
��select:�input:�
�
�search:�
��select:�del:�
��save:�
��load:�
��sort:�
�
�adj:�
�	�os:�
�
�end:�
�:
	��new
�rettomenu=�:A%=0:�:A%=A%+1:��(val$(A%))=0� A%=Z%:�(val$(A%))<>0� A%=Z%�7:�dbl(14,�129+"No room left.All records in use!"):�W%=1�8000:�:�
amend=�:J$=" ADD":�input
"�
,:
6��select
@#�E%=2 J$=" AMEND"� J$=" DELETE"
J4�:rettomenu=�:�dbl(1,YonB$+J$+" RECORD   "+�156)
T��4,6)�131"Enter record number (1 - ";Z%;")"�2,9)�131"If record number not known enter"'''�129"<S>"�131"to Search or"�129"<M>"�131"for Master Menu"
^�16,17)�130;:�""E$:A%=�E$
h�E$="M"�E$="m"rettomenu=�
r%�E$="S"�E$="s"�search:rettomenu=�
|T�rettomenu=� � � �A%<1�A%>Z%�7:�dbl(20,�129+"Invalid entry!"):�W%=1�8000:�:�DJA
��
�:
���input
�inputOK=�:*FX4,0
��rettomenu=� �
��
�6itm$(0)="":cde$(0)="":rm$(0)="":val$(0)="":*FX15,0
�0�:�dbl(1,YonB$+J$+" RECORD "+�A%+"   "+�156)
�;�amend=� �0,6)YonB$�35�156;�3,6)"Exstg item:";itm$(A%)
�*�0,7)BonY$�35�156;�3,7)"New item  :";
��
�E$=�
�)�E$=13 � itm$(0)="" itm$(0)=itm$(A%)
)�E$=127 itm$(0)=�itm$(0),�itm$(0)-1)
R�E$<>13 � �E$<>127 ��itm$(0)<23 itm$(0)=itm$(0)+E$ � �itm$(0)=23 � E$<>�13�7
�14,7)itm$(0)" ";�127;
&��E$=13
0>�amend=� �0,11)YonB$�15�156;�3,11)"Exstg type: ";cde$(A%)
:-�0,12)BonY$�15�156;�3,12)"Item type : ";
D�
NE$=�
X)�E$=13 � cde$(0)="" cde$(0)=cde$(A%)
b)�E$=127 cde$(0)=�cde$(0),�cde$(0)-1)
lP�E$<>13 � �E$<>127 ��cde$(0)<2 cde$(0)=cde$(0)+E$ � �cde$(0)=2 � E$<>�13�7
v�15,12)cde$(0)" ";�127;
���E$=13
�?�amend=� �20,11)YonB$�15�156;�23,11)"Exstg room: ";rm$(A%)
�/�20,12)BonY$�15�156;�23,12)"Room code : ";
��
�E$=�
�&�E$=13 � rm$(0)="" rm$(0)=rm$(A%)
�&�E$=127 rm$(0)=�rm$(0),�rm$(0)-1)
�L�E$<>13 � �E$<>127 ��rm$(0)<2 rm$(0)=rm$(0)+E$ � �rm$(0)=2 � E$<>�13�7
��35,12)rm$(0)" ";�127;
���E$=13
�?�amend=� �6,16)YonB$�23�156;�9,16)"Exstg value: ";val$(A%)
�.�6,17)BonY$�23�156;�9,17)"Item value : ";
��
�

�:E$=�
,�(val$(0))=0 � �E$=13 � J$<>" AMEND" �7
 :�(val$(A%))<>0 � �E$=13 � val$(0)="" val$(0)=val$(A%)
*adecpnt=�val$(0),"."):�decpnt=0 �valid(".0123456789"+�13+�127) � �valid("0123456789"+�13+�127)
43�decpnt<>0 � �val$(0)>decpnt+1 �valid(�13+�127)
>
�E%<>0
H#�E$=127 � �val$(0),1)<>"."L%=1
R"�E$=127 � �val$(0),1)="."L%=2
\*�E$=127 val$(0)=�val$(0),�val$(0)-L%)
fP�E$<>13 � �E$<>127 ��val$(0)<8 val$(0)=val$(0)+E$ � �val$(0)=8 � E$<>�13�7
pQ�E$<>127 decpnt=�val$(0),"."):�decpnt=0 � �val$(0)>4 val$(0)=�val$(0),5)+"."
z"�22,17)val$(0)"  ";�127;�127;
�^�E$=�13 � �(val$(0))<.1 �22,17)"Too low";:�7:val$(0)="":�W%=1�5000:�:�22,17)�(7)�22,17);
���(val$(0))>.09
���E$=13
�&�dbl(20,�130+"All OK? (Y/N)  "):�8
�O�:E$=�:�valid("YyNn"):�E%<>0:�dbl(20,�130+"All OK? (Y/N) "+E$):�W%=1�5000:�
�?�E%>2 �7:�dbl(20,�129+"This input cancelled."):�W%=1�5000:�
���E%<3 �dbl(20,�130+"Input accepted."):inputOK=�:�W%=1�5000:�:itm$(A%)=itm$(0):cde$(A%)=cde$(0):rm$(A%)=rm$(0):val$(A%)=val$(0):�pad
��inputOK=�
��
�:
�	��del
��rettomenu=� �
�s�:�dbl(1,YonB$+" DELETE RECORD "+�(A%)+"   "+�156):�screen:�dbl(20,�130+"Correct record to delete? (Y/N)  "):�8
^�:E$=�:�valid("YyNn"):�E%<>0:�E%>2 �7:�dbl(20,�130+"Record not cancelled."):�W%=1�5000:�:�
t�E%<3 �dbl(20,�129+"Record deleted from file."):�W%=1�5000:�:itm$(A%)="":cde$(A%)="":rm$(A%)="":val$(A%)="":�pad
�
$:
.��search
8�count%=-1:highA=0:search$="":T$="":match=�:rettomenu=�:�:�dbl(1,YonB$+" SEARCH MENU   "+�156):�submenu(" - Search on "):�E$="M"�E$="m"rettomenu=�:�
BKfind$=E$:�E$="1"len%=23 � �E$="2"len%=2 � �E$="3"len%=2 � �E$="4"len%=8
LW�0,12)�130;:�E$="4"�"Enter value (search is +/- 25)" � �"Enter data to search for"
V<�(23-len%)/2,14)BonY$�(len%+2)�156�((23-len%)/2)+3,14);
`
�:E$=�
j)�E$=127 search$=�search$,�search$-1)
tF�E$<>13 � �E$<>127 ��search$<len% search$=search$+E$ � �E$<>13�7
~)�((23-len%)/2)+3,14)search$" ";�127;
���E$=13
��
�d�0,16)�130"Do you want hard copy? (Y/N)";:�:E$=�:�valid("YyNn"):�E%<>0:�E$:�E%<3vdu%=2 � vdu%=3
�*FX15,0
�j�vdu%=2 �2:�32:�3:�W%=1�1000:�:�(-4)<>63 �7:�0,16)�129"Printer busy or not on line  ";:�W%=1�8000:�
���(-4)=63:*FX15,0
�l�vdu%=2 roll=�:�0,16)�130"<R>oll or <S>ingle sheet paper";:�:E$=�:�valid("RrSs"):�E%<>0:�E$:�E%<3roll=�
��26,12:A%=0:E$=�138
�B�vdu%=3�dbl(22,�130+"Use arrow keys, or"+�129+"M"+�130+"enu ")
��28,0,20,39,0,23,1,0;0;0;0;
��
��
*FX21,0

P�I%<>0 � vdu%=3 �:E$=�:�valid(�139+�138+"Mm"):�E%<>0:�:�E$="M"�E$="m"A%=Z%+1
^�E$=�139 A%=A%-1:�A%<1 �dbl(10,�129+"Start of file"):�:E$=�:�valid(�138):�E%<>0:�A%<0 A%=0
�E$=�138 A%=A%+1:�A%=Z%+1 � vdu%=3 �dbl(10,�129+"End of file"):�vdu%=3�:E$=�:�valid(�139+�138+"Mm"):�E%<>0:�E$=�139 A%=A%-1
($�find$="1" I%=�itm$(A%),search$)
2$�find$="2" I%=�cde$(A%),search$)
<#�find$="3" I%=�rm$(A%),search$)
Fa�find$="4" � �(search$)-25.01<�(val$(A%)) � �(search$)+25.01>�(val$(A%)) I%=1 ��find$="4"I%=0
P�(val$(A%))=0 I%=0
Z6�A%>highA � I%<>0 T$=�(�(T$)+�(val$(A%))):highA=A%
d�A%=Z%+1 I%=99
n
�I%<>0
xHdecpnt=�T$,"."):�decpnt<>0 � �(�T$,decpnt+3,1))>4 T$=�(�(T$)+(.001))
��decpnt<>0 T$=�T$,decpnt+2)
�4decpnt=�T$,"."):�decpnt=0 � �(T$)<>0 T$=T$+".00"
�T$=�(9-�T$)," ")+T$
�decpnt=�T$,".")
��decpnt=8 T$=�T$,8)+"0"
��decpnt=9 T$=�T$,7)+"00"
�$�I%<>99 � I%<>0 � vdu%=3 �screen
�%�I%<>99 � I%<>0 � vdu%=2 �printer
��A%>Z%:�26
ܟ�match=� � vdu%=3�dbl(6,�134+"Total value of this listing"):�dbl(10,�134+"` "+T$):�dbl(22,�130+"Press"+�129+"M"+�130+"for Menu"):�:E$=�:�valid("Mm"):�E%<>0
�H�match=� �7:�dbl(10,�129+"No match found!"):�W%=1�8000:�:rettomenu=�
��
�:
��screen
8match=�:�:�dbl(1,YonB$+" RECORD No "+�A%+"   "+�156)
2�0,7)YonB$�35�156;�3,7)"Exstg item:";itm$(A%)
"f�0,12)YonB$�15�156;�3,12)"Exstg type: ";cde$(A%)�20,12)YonB$�15�156;�23,12)"Exstg room: ";rm$(A%)
,6�6,17)YonB$�23�156;�9,17)"Exstg value: ";val$(A%)
6�
@:
J
��printer
Tcount%=count%+1
^>�roll � count%�50=0�:�dbl(8,�129+"Check paper"):�'':�wait
h�2
r^�match �(5)"REC No"�(4)"ITEM DESCRIPTION"�(6)"TYPE  ROOM"�(4)"VALUE"�(5)"RUNNING TOTAL"'
|match=�
��A%<10 �(8);A%;
��A%>9 � A%<100 �(7);A%;
��A%>99 �(6);A%;
�J�(3)itm$(A%)�(3)cde$(A%)�(4)rm$(A%)�(3)"#"val$(A%)�(4)"#"�(9-�(T$))T$
��3
��
�:
���submenu(s$)
֫�28,4,24,35,5:�131"1"+s$+"Item Description"''�131"2"+s$+"Item Type"''�131"3"+s$+"Room Code"''�131"4"+s$+"Value"''�129"M - Return to Menu"''�130"Select Option . . . ";
�2�:E$=�:�valid("1234Mm"):�E%<>0:�E$="M"�E$="m"�
��E$:�0,(�(E$)-1)*2)�135
��
�:

��save
~abort=�:�dbl(1,YonB$+" SAVE CURRENT FILE   "+�156):�data:�data=0�dbl(10,�129+"No valid data in memory "):�7:�W%=1�8000:�:�
��media:�dbl(6,�131+"File name is "+file$):�dbl(9,�130+"Press"+�129+"RETURN"+�130+"to overwrite, or"):�dbl(12,�130+"Enter new file name to SAVE"):�15,15)""E$:�E$<>""file$=E$
&�media$="DISK"�diskcontent
0�abort=� �
:*�media$="TAPE"�5,15)�130�136"PRESS ";
D]ch%=�(file$):�0,15)�39," "):�dbl(17,�133+"Saving as file name "+file$):�media$="TAPE"�''
NC�#ch%:�A%=1�Z%:�#ch%,itm$(A%),cde$(A%),rm$(A%),val$(A%):�:�#ch%
X�
b:
l��diskcontent
v � cli% 14:$cli%="AC. "+file$
�"X%=cli%�256:Y%=cli%�256:�&FFF7
���E$<>""�7:�''�2)�129"File exists - overwrite? (Y/N) ";:�:E$=�:�valid("YyNn"):�E%<>0:�E$:�E%>2 �7:�dbl(17,�130+"SAVE instruction aborted!"):abort=�:�W%=1�8000:�
��
�:
�
��load
�0�dbl(1,YonB$+" LOAD NEW FILE   "+�156):�data
���data<>0�7:�dbl(6,�129+"Existing data will be lost! "):�W%=1�3000:�:�dbl(11,�133+"<L> to confirm LOAD "):�dbl(14,�133+"<A> to Abort load routine "):�17,17);:E$=�:�E$<>"L"�
�S�28,0,24,39,6,12,26:�media:�dbl(6,�130+"Enter file name to LOAD "):�12,10)""E$
�O�media$="DISK"ch%=�(E$):�#0:�ch%=0�dbl(15,�129+"File not found"):�':�wait:�
�A�media$="DISK" �dbl(15,�133+"Please wait . . . LOADing data")
�Pch%=�(E$):�A%=1�Z%:�#ch%,itm$(A%),cde$(A%),rm$(A%),val$(A%):�:�#ch%:file$=E$
��
:
��media
media$="DISK":*DISK
 p�dbl(6,�133+"Are you using <D>isk or <T>ape"):�:�17,9);:E$=�:�valid("DdTt"):�E%<>0:�E%>2media$="TAPE":*TAPE
*�media$="TAPE" �*OPT1,1
4�media$="TAPE" �*OPT2,1
>�
H:
R
��sort
\S�dbl(1,YonB$+" FILE SORT MENU   "+�156):�submenu(" - Sort on "):�E$="M"�E$="m"�
fW�28,0,20,39,14:�dbl(1,�134+"Please wait -"):�dbl(3,�134+"sorting in progress"):A%=0
p�:swop=�
�
�:A%=A%+1
�.�E$="1" � itm$(A%)>itm$(A%+1) swop=�:�swop
�.�E$="2" � cde$(A%)>cde$(A%+1) swop=�:�swop
�,�E$="3" � rm$(A%)>rm$(A%+1) swop=�:�swop
�.�E$="4" � val$(A%)>val$(A%+1) swop=�:�swop
��swop A%=A%-2
��swop � A%=Z%-1
���swop � A%=Z%-1
��
�:
�
��swop
��itm$(0)=itm$(A%):itm$(A%)=itm$(A%+1):itm$(A%+1)=itm$(0):cde$(0)=cde$(A%):cde$(A%)=cde$(A%+1):cde$(A%+1)=cde$(0):rm$(0)=rm$(A%):rm$(A%)=rm$(A%+1):rm$(A%+1)=rm$(0):val$(0)=val$(A%):val$(A%)=val$(A%+1):val$(A%+1)=val$(0)
�.itm$(0)="":cde$(0)="":rm$(0)="":val$(0)=""
��
	:
		��adj
	�match=�:�dbl(1,YonB$+" VALUE ADJUSTMENT MENU   "+�156):�0,6)�134;:�"Enter code ref to adjust "cde$(0):�cde$(0)=1 cde$(0)=cde$(0)+" "
	$��:E%=1:�0,10)�134;:�"Enter percentage adjustment "E$:�(E$)=0��(E$)<-99�0,10)�131"Don't be so silly !";�(15);:�7:�W%=1�8000:�:E%=0
	.
�E%<>0
	8�A%=1�Z%
	B��cde$(0)=cde$(A%) match=�:�1,13)"Adjusting item ";A%;" and Searching";:val$(A%)=�((�(val$(A%)))*(100+�(E$))):val$(A%)=�(�(val$(A%))/100)
	LZ�(val$(A%))>99999.99 val$(A%)="99999.99":�7,13)�129"Item ";A%" value too high":�wait
	Vc�(val$(A%))<.1 � �(val$(A%))>0 val$(A%)="     .10":�7,13)�129"Item ";A%" value too low":�wait
	`r�cde$(0)=cde$(A%) decpnt=�val$(A%),"."):�decpnt<>0 � �(�val$(A%),decpnt+3,1))>4 val$(A%)=�(�(val$(A%))+(.001))
	j�cde$(0)=cde$(A%) �decpnt
	t�
	~@�match=� �7:�dbl(10,�129+"No match found!"):�dbl(22,p$):W%=�
	��
	�:
	���os
	��os=�:�dbl(1,YonB$+" OPERATING SYSTEM ACCESS   "+�156):�media:�dbl(6,�129+"BEWARE!"):�0,9)�134"Any command which uses computer memory"'�134"will corrupt this program and data.";
	�B�:�'�130"Enter OS command, or"�129"M"�130"for Menu."'':�"*"os$
	��os$="M"�os$="m"�dbI
	�� cli% �os$:$cli%=os$
	�"X%=cli%�256:Y%=cli%�256:�&FFF7
	�7�error �7:�dbl(15,�129+"File not found"):�':error=�
	��os$="M"�os$="m":os=�
	��
	�:
	��end

9�dbl(1,YonB$+" EXIT FROM PROGRAM   "+�156):�data:*FX4
#�data=0 �dbl(14,"Finished"):�:�
��dbl(6,�129+�157+�135+" Beware! Data will be lost!   "+�156):�dbl(10,�129+�157+�135+" <Q> to Quit / <M> for Menu   "+�156):E$=�:�E$="Q"�dbl(14,"Finished"):�:�
(�
2:
<��dbl(V%,J$)
FC�0,V%)�79," "):H%=(36-�J$)/2:J$=�141+J$:�H%,V%)J$�H%,V%+1)J$;
P�
Z:
d	��pad
n{itm$(A%)=itm$(A%)+�(23-�itm$(A%))," "):cde$(A%)=cde$(A%)+�(2-�cde$(A%))," "):rm$(A%)=rm$(A%)+�(2-�rm$(A%))," "):�decpnt
x�
�:
���decpnt
�Ldecpnt=�val$(A%),"."):�decpnt=0 � �(val$(A%))<>0 val$(A%)=val$(A%)+".00"
�`decpnt=�val$(A%),"."):�decpnt<>0 � �(�val$(A%),decpnt+3,1))>4 val$(A%)=�(�(val$(A%))+(.006))
�rdecpnt=�val$(A%),"."):val$(A%)=�val$(A%),decpnt+2):val$(A%)=�(8-�val$(A%))," ")+val$(A%):decpnt=�val$(A%),".")
�'�decpnt=7 val$(A%)=�val$(A%),7)+"0"
�(�decpnt=8 val$(A%)=�val$(A%),6)+"00"
��
�:
�
��wait
�*FX21,0
��'�5)p$;:W%=�
��
:
��valid(J$)
E%=�J$,E$):�E%=0 �7 � �
"�
,:
6
��data
@+data=0:�A%=1�Z%:data=data+�(val$(A%)):�
J�
T:
^��error
cS�=6 �#0:�dbl(15,�129+"Invalid file . . . LOAD aborted"):�7:�W%=1�10000:�:�dxG
h�os � �=214 �DDG
r�os � �=214 error=�:�dXI
|�:�26:�#0:�3:�0,18)�(240)�0,18):�:�'"Error code ";�;" at Line ";�'"Press <ESC> to STOP program"'"Press <M> for Menu, <GOTO50> to restart":E$=�:�E$="M"�Tr@ � �D|K
��
�
00000000  0d 00 0a 25 f4 20 2a 49  4e 53 43 45 20 44 41 54  |...%. *INSCE DAT|
00000010  41 20 28 63 29 4d 2e 4a  61 63 6b 73 6f 6e 20 31  |A (c)M.Jackson 1|
00000020  39 38 38 20 2a 0d 00 0f  0d d8 3a 2a 46 58 32 31  |988 *.....:*FX21|
00000030  2c 30 0d 00 14 99 eb 37  3a 42 6f 6e 59 24 3d bd  |,0.....7:BonY$=.|
00000040  31 33 31 2b bd 31 35 37  2b bd 31 33 32 3a 59 6f  |131+.157+.132:Yo|
00000050  6e 42 24 3d bd 31 33 32  2b bd 31 35 37 2b bd 31  |nB$=.132+.157+.1|
00000060  33 31 3a 66 69 6c 65 24  3d 22 49 6e 73 44 61 74  |31:file$="InsDat|
00000070  61 22 3a 70 24 3d bd 31  33 30 2b 22 50 72 65 73  |a":p$=.130+"Pres|
00000080  73 20 61 6e 79 20 6b 65  79 20 74 6f 20 63 6f 6e  |s any key to con|
00000090  74 69 6e 75 65 20 22 3a  72 24 3d 22 20 72 65 63  |tinue ":r$=" rec|
000000a0  6f 72 64 22 3a 72 65 63  24 3d bd 31 33 31 2b 22  |ord":rec$=.131+"|
000000b0  52 65 63 2e 4e 6f 2e 22  3a 72 65 74 74 6f 6d 65  |Rec.No.":rettome|
000000c0  6e 75 3d a3 3a 5a 25 3d  31 35 31 0d 00 1e 46 f2  |nu=.:Z%=151...F.|
000000d0  64 62 6c 28 36 2c bd 31  33 31 2b 22 50 6c 65 61  |dbl(6,.131+"Plea|
000000e0  73 65 20 77 61 69 74 20  22 29 3a de 69 74 6d 24  |se wait "):.itm$|
000000f0  28 5a 25 29 3a de 63 64  65 24 28 5a 25 29 3a de  |(Z%):.cde$(Z%):.|
00000100  72 6d 24 28 5a 25 29 3a  de 76 61 6c 24 28 5a 25  |rm$(Z%):.val$(Z%|
00000110  29 0d 00 28 41 ef 32 33  3b 38 32 30 32 3b 30 3b  |)..(A.23;8202;0;|
00000120  30 3b 30 3b 3a e3 41 25  3d 5a 25 b8 30 88 2d 31  |0;0;:.A%=Z%.0.-1|
00000130  3a f1 8a 31 37 2c 31 32  29 3b 41 25 3b 22 20 22  |:..17,12);A%;" "|
00000140  3a f2 70 61 64 3a ed 3a  5a 25 3d 5a 25 2d 31 3a  |:.pad:.:Z%=Z%-1:|
00000150  eb 37 0d 00 32 0c ee 85  f2 65 72 72 6f 72 0d 00  |.7..2....error..|
00000160  3c 0e f5 3a f2 6d 65 6e  75 3a fd a3 0d 00 46 05  |<..:.menu:....F.|
00000170  e0 0d 00 50 05 3a 0d 00  5a 0a dd f2 6d 65 6e 75  |...P.:..Z...menu|
00000180  0d 00 64 08 2a 4f 50 54  0d 00 6e 7b 40 25 3d 31  |..d.*OPT..n{@%=1|
00000190  30 3a 49 25 3d 30 3a 61  6d 65 6e 64 3d b9 3a 65  |0:I%=0:amend=.:e|
000001a0  72 72 6f 72 3d a3 3a 6f  73 3d a3 3a ef 32 36 2c  |rror=.:os=.:.26,|
000001b0  31 32 2c 32 33 2c 31 2c  31 3b 30 3b 30 3b 30 3b  |12,23,1,1;0;0;0;|
000001c0  3a f2 64 62 6c 28 31 2c  bd 31 33 32 2b bd 31 35  |:.dbl(1,.132+.15|
000001d0  37 2b bd 31 33 35 2b 22  20 4d 41 53 54 45 52 20  |7+.135+" MASTER |
000001e0  4d 45 4e 55 20 20 20 22  2b bd 31 35 36 29 3a ef  |MENU   "+.156):.|
000001f0  32 38 2c 35 2c 32 31 2c  33 34 2c 35 3a 2a 46 58  |28,5,21,34,5:*FX|
00000200  34 2c 31 0d 00 78 91 f1  bd 31 33 31 22 31 20 2d  |4,1..x...131"1 -|
00000210  20 45 6e 74 65 72 20 6e  65 77 22 72 24 27 bd 31  | Enter new"r$'.1|
00000220  33 31 22 32 20 2d 20 41  6d 65 6e 64 20 65 78 69  |31"2 - Amend exi|
00000230  73 74 69 6e 67 22 72 24  27 bd 31 33 31 22 33 20  |sting"r$'.131"3 |
00000240  2d 20 53 65 61 72 63 68  22 72 24 27 bd 31 33 31  |- Search"r$'.131|
00000250  22 34 20 2d 20 44 65 6c  65 74 65 22 72 24 27 27  |"4 - Delete"r$''|
00000260  bd 31 33 33 22 35 20 2d  20 53 61 76 65 20 63 75  |.133"5 - Save cu|
00000270  72 72 65 6e 74 20 66 69  6c 65 22 27 bd 31 33 33  |rrent file"'.133|
00000280  22 36 20 2d 20 4c 6f 61  64 20 6e 65 77 20 66 69  |"6 - Load new fi|
00000290  6c 65 22 27 0d 00 82 8b  f1 bd 31 33 34 22 37 20  |le"'......134"7 |
000002a0  2d 20 46 69 6c 65 20 73  6f 72 74 22 27 bd 31 33  |- File sort"'.13|
000002b0  34 22 38 20 2d 20 47 72  6f 75 70 20 76 61 6c 75  |4"8 - Group valu|
000002c0  65 20 61 64 6a 75 73 74  6d 65 6e 74 22 27 bd 31  |e adjustment"'.1|
000002d0  33 34 22 39 20 2d 20 4f  53 20 43 6f 6d 6d 61 6e  |34"9 - OS Comman|
000002e0  64 22 27 27 bd 31 32 39  22 30 20 2d 20 46 69 6e  |d"''.129"0 - Fin|
000002f0  69 73 68 20 77 69 74 68  20 70 72 6f 67 72 61 6d  |ish with program|
00000300  22 27 27 27 bd 31 33 30  22 53 65 6c 65 63 74 20  |"'''.130"Select |
00000310  4f 70 74 69 6f 6e 20 2e  20 2e 20 2e 20 22 3b 0d  |Option . . . ";.|
00000320  00 8c 63 f5 3a 45 24 3d  be 3a f2 76 61 6c 69 64  |..c.:E$=.:.valid|
00000330  28 22 31 32 33 34 35 36  37 38 39 30 22 29 3a fd  |("1234567890"):.|
00000340  45 25 3c 3e 30 3a ef 32  36 2c 31 32 3a ee 45 25  |E%<>0:.26,12:.E%|
00000350  e5 8d 74 56 40 2c 8d 74  60 40 2c 8d 74 6a 40 2c  |..tV@,.t`@,.tj@,|
00000360  8d 74 74 40 2c 8d 74 7e  40 2c 8d 64 48 40 2c 8d  |.tt@,.t~@,.dH@,.|
00000370  64 52 40 2c 8d 64 5c 40  2c 8d 64 66 40 2c 8d 64  |dR@,.d\@,.df@,.d|
00000380  70 40 0d 00 96 0a f2 6e  65 77 3a e1 0d 00 a0 14  |p@.....new:.....|
00000390  f2 73 65 6c 65 63 74 3a  f2 69 6e 70 75 74 3a e1  |.select:.input:.|
000003a0  0d 00 aa 0d f2 73 65 61  72 63 68 3a e1 0d 00 b4  |.....search:....|
000003b0  12 f2 73 65 6c 65 63 74  3a f2 64 65 6c 3a e1 0d  |..select:.del:..|
000003c0  00 be 0b f2 73 61 76 65  3a e1 0d 00 c8 0b f2 6c  |....save:......l|
000003d0  6f 61 64 3a e1 0d 00 d2  0b f2 73 6f 72 74 3a e1  |oad:......sort:.|
000003e0  0d 00 dc 0a f2 61 64 6a  3a e1 0d 00 e6 09 f2 6f  |.....adj:......o|
000003f0  73 3a e1 0d 00 f0 0a f2  65 6e 64 3a e1 0d 00 fa  |s:......end:....|
00000400  05 3a 0d 01 04 09 dd f2  6e 65 77 0d 01 0e 8d 72  |.:......new....r|
00000410  65 74 74 6f 6d 65 6e 75  3d a3 3a 41 25 3d 30 3a  |ettomenu=.:A%=0:|
00000420  f5 3a 41 25 3d 41 25 2b  31 3a fd bb 28 76 61 6c  |.:A%=A%+1:..(val|
00000430  24 28 41 25 29 29 3d 30  84 20 41 25 3d 5a 25 3a  |$(A%))=0. A%=Z%:|
00000440  e7 bb 28 76 61 6c 24 28  41 25 29 29 3c 3e 30 80  |..(val$(A%))<>0.|
00000450  20 41 25 3d 5a 25 ef 37  3a f2 64 62 6c 28 31 34  | A%=Z%.7:.dbl(14|
00000460  2c bd 31 32 39 2b 22 4e  6f 20 72 6f 6f 6d 20 6c  |,.129+"No room l|
00000470  65 66 74 2e 41 6c 6c 20  72 65 63 6f 72 64 73 20  |eft.All records |
00000480  69 6e 20 75 73 65 21 22  29 3a e3 57 25 3d 31 b8  |in use!"):.W%=1.|
00000490  38 30 30 30 3a ed 3a e1  0d 01 18 1c 61 6d 65 6e  |8000:.:.....amen|
000004a0  64 3d a3 3a 4a 24 3d 22  20 41 44 44 22 3a f2 69  |d=.:J$=" ADD":.i|
000004b0  6e 70 75 74 0d 01 22 05  e1 0d 01 2c 05 3a 0d 01  |nput.."....,.:..|
000004c0  36 0c dd f2 73 65 6c 65  63 74 0d 01 40 23 e7 45  |6...select..@#.E|
000004d0  25 3d 32 20 4a 24 3d 22  20 41 4d 45 4e 44 22 8b  |%=2 J$=" AMEND".|
000004e0  20 4a 24 3d 22 20 44 45  4c 45 54 45 22 0d 01 4a  | J$=" DELETE"..J|
000004f0  34 db 3a 72 65 74 74 6f  6d 65 6e 75 3d a3 3a f2  |4.:rettomenu=.:.|
00000500  64 62 6c 28 31 2c 59 6f  6e 42 24 2b 4a 24 2b 22  |dbl(1,YonB$+J$+"|
00000510  20 52 45 43 4f 52 44 20  20 20 22 2b bd 31 35 36  | RECORD   "+.156|
00000520  29 0d 01 54 97 f1 8a 34  2c 36 29 bd 31 33 31 22  |)..T...4,6).131"|
00000530  45 6e 74 65 72 20 72 65  63 6f 72 64 20 6e 75 6d  |Enter record num|
00000540  62 65 72 20 28 31 20 2d  20 22 3b 5a 25 3b 22 29  |ber (1 - ";Z%;")|
00000550  22 8a 32 2c 39 29 bd 31  33 31 22 49 66 20 72 65  |".2,9).131"If re|
00000560  63 6f 72 64 20 6e 75 6d  62 65 72 20 6e 6f 74 20  |cord number not |
00000570  6b 6e 6f 77 6e 20 65 6e  74 65 72 22 27 27 27 bd  |known enter"'''.|
00000580  31 32 39 22 3c 53 3e 22  bd 31 33 31 22 74 6f 20  |129"<S>".131"to |
00000590  53 65 61 72 63 68 20 6f  72 22 bd 31 32 39 22 3c  |Search or".129"<|
000005a0  4d 3e 22 bd 31 33 31 22  66 6f 72 20 4d 61 73 74  |M>".131"for Mast|
000005b0  65 72 20 4d 65 6e 75 22  0d 01 5e 1e f1 8a 31 36  |er Menu"..^...16|
000005c0  2c 31 37 29 bd 31 33 30  3b 3a e8 22 22 45 24 3a  |,17).130;:.""E$:|
000005d0  41 25 3d bb 45 24 0d 01  68 1d e7 45 24 3d 22 4d  |A%=.E$..h..E$="M|
000005e0  22 84 45 24 3d 22 6d 22  72 65 74 74 6f 6d 65 6e  |".E$="m"rettomen|
000005f0  75 3d b9 0d 01 72 25 e7  45 24 3d 22 53 22 84 45  |u=...r%.E$="S".E|
00000600  24 3d 22 73 22 f2 73 65  61 72 63 68 3a 72 65 74  |$="s".search:ret|
00000610  74 6f 6d 65 6e 75 3d b9  0d 01 7c 54 e7 72 65 74  |tomenu=...|T.ret|
00000620  74 6f 6d 65 6e 75 3d b9  20 e1 20 8b 20 e7 41 25  |tomenu=. . . .A%|
00000630  3c 31 84 41 25 3e 5a 25  ef 37 3a f2 64 62 6c 28  |<1.A%>Z%.7:.dbl(|
00000640  32 30 2c bd 31 32 39 2b  22 49 6e 76 61 6c 69 64  |20,.129+"Invalid|
00000650  20 65 6e 74 72 79 21 22  29 3a e3 57 25 3d 31 b8  | entry!"):.W%=1.|
00000660  38 30 30 30 3a ed 3a e5  8d 44 4a 41 0d 01 86 05  |8000:.:..DJA....|
00000670  e1 0d 01 90 05 3a 0d 01  9a 0b dd f2 69 6e 70 75  |.....:......inpu|
00000680  74 0d 01 a4 14 69 6e 70  75 74 4f 4b 3d a3 3a 2a  |t....inputOK=.:*|
00000690  46 58 34 2c 30 0d 01 ae  12 e7 72 65 74 74 6f 6d  |FX4,0.....rettom|
000006a0  65 6e 75 3d b9 20 e1 0d  01 b8 05 f5 0d 01 c2 36  |enu=. .........6|
000006b0  69 74 6d 24 28 30 29 3d  22 22 3a 63 64 65 24 28  |itm$(0)="":cde$(|
000006c0  30 29 3d 22 22 3a 72 6d  24 28 30 29 3d 22 22 3a  |0)="":rm$(0)="":|
000006d0  76 61 6c 24 28 30 29 3d  22 22 3a 2a 46 58 31 35  |val$(0)="":*FX15|
000006e0  2c 30 0d 01 cc 30 db 3a  f2 64 62 6c 28 31 2c 59  |,0...0.:.dbl(1,Y|
000006f0  6f 6e 42 24 2b 4a 24 2b  22 20 52 45 43 4f 52 44  |onB$+J$+" RECORD|
00000700  20 22 2b c3 41 25 2b 22  20 20 20 22 2b bd 31 35  | "+.A%+"   "+.15|
00000710  36 29 0d 01 d6 3b e7 61  6d 65 6e 64 3d b9 20 f1  |6)...;.amend=. .|
00000720  8a 30 2c 36 29 59 6f 6e  42 24 89 33 35 bd 31 35  |.0,6)YonB$.35.15|
00000730  36 3b 8a 33 2c 36 29 22  45 78 73 74 67 20 69 74  |6;.3,6)"Exstg it|
00000740  65 6d 3a 22 3b 69 74 6d  24 28 41 25 29 0d 01 e0  |em:";itm$(A%)...|
00000750  2a f1 8a 30 2c 37 29 42  6f 6e 59 24 89 33 35 bd  |*..0,7)BonY$.35.|
00000760  31 35 36 3b 8a 33 2c 37  29 22 4e 65 77 20 69 74  |156;.3,7)"New it|
00000770  65 6d 20 20 3a 22 3b 0d  01 ea 05 f5 0d 01 f4 08  |em  :";.........|
00000780  45 24 3d be 0d 01 fe 29  e7 97 45 24 3d 31 33 20  |E$=....)..E$=13 |
00000790  80 20 69 74 6d 24 28 30  29 3d 22 22 20 69 74 6d  |. itm$(0)="" itm|
000007a0  24 28 30 29 3d 69 74 6d  24 28 41 25 29 0d 02 08  |$(0)=itm$(A%)...|
000007b0  29 e7 97 45 24 3d 31 32  37 20 69 74 6d 24 28 30  |)..E$=127 itm$(0|
000007c0  29 3d c0 69 74 6d 24 28  30 29 2c a9 69 74 6d 24  |)=.itm$(0),.itm$|
000007d0  28 30 29 2d 31 29 0d 02  12 52 e7 97 45 24 3c 3e  |(0)-1)...R..E$<>|
000007e0  31 33 20 80 20 97 45 24  3c 3e 31 32 37 20 80 a9  |13 . .E$<>127 ..|
000007f0  69 74 6d 24 28 30 29 3c  32 33 20 69 74 6d 24 28  |itm$(0)<23 itm$(|
00000800  30 29 3d 69 74 6d 24 28  30 29 2b 45 24 20 8b 20  |0)=itm$(0)+E$ . |
00000810  e7 a9 69 74 6d 24 28 30  29 3d 32 33 20 80 20 45  |..itm$(0)=23 . E|
00000820  24 3c 3e bd 31 33 ef 37  0d 02 1c 1b f1 8a 31 34  |$<>.13.7......14|
00000830  2c 37 29 69 74 6d 24 28  30 29 22 20 22 3b bd 31  |,7)itm$(0)" ";.1|
00000840  32 37 3b 0d 02 26 0b fd  97 45 24 3d 31 33 0d 02  |27;..&...E$=13..|
00000850  30 3e e7 61 6d 65 6e 64  3d b9 20 f1 8a 30 2c 31  |0>.amend=. ..0,1|
00000860  31 29 59 6f 6e 42 24 89  31 35 bd 31 35 36 3b 8a  |1)YonB$.15.156;.|
00000870  33 2c 31 31 29 22 45 78  73 74 67 20 74 79 70 65  |3,11)"Exstg type|
00000880  3a 20 22 3b 63 64 65 24  28 41 25 29 0d 02 3a 2d  |: ";cde$(A%)..:-|
00000890  f1 8a 30 2c 31 32 29 42  6f 6e 59 24 89 31 35 bd  |..0,12)BonY$.15.|
000008a0  31 35 36 3b 8a 33 2c 31  32 29 22 49 74 65 6d 20  |156;.3,12)"Item |
000008b0  74 79 70 65 20 3a 20 22  3b 0d 02 44 05 f5 0d 02  |type : ";..D....|
000008c0  4e 08 45 24 3d be 0d 02  58 29 e7 97 45 24 3d 31  |N.E$=...X)..E$=1|
000008d0  33 20 80 20 63 64 65 24  28 30 29 3d 22 22 20 63  |3 . cde$(0)="" c|
000008e0  64 65 24 28 30 29 3d 63  64 65 24 28 41 25 29 0d  |de$(0)=cde$(A%).|
000008f0  02 62 29 e7 97 45 24 3d  31 32 37 20 63 64 65 24  |.b)..E$=127 cde$|
00000900  28 30 29 3d c0 63 64 65  24 28 30 29 2c a9 63 64  |(0)=.cde$(0),.cd|
00000910  65 24 28 30 29 2d 31 29  0d 02 6c 50 e7 97 45 24  |e$(0)-1)..lP..E$|
00000920  3c 3e 31 33 20 80 20 97  45 24 3c 3e 31 32 37 20  |<>13 . .E$<>127 |
00000930  80 a9 63 64 65 24 28 30  29 3c 32 20 63 64 65 24  |..cde$(0)<2 cde$|
00000940  28 30 29 3d 63 64 65 24  28 30 29 2b 45 24 20 8b  |(0)=cde$(0)+E$ .|
00000950  20 e7 a9 63 64 65 24 28  30 29 3d 32 20 80 20 45  | ..cde$(0)=2 . E|
00000960  24 3c 3e bd 31 33 ef 37  0d 02 76 1c f1 8a 31 35  |$<>.13.7..v...15|
00000970  2c 31 32 29 63 64 65 24  28 30 29 22 20 22 3b bd  |,12)cde$(0)" ";.|
00000980  31 32 37 3b 0d 02 80 0b  fd 97 45 24 3d 31 33 0d  |127;......E$=13.|
00000990  02 8a 3f e7 61 6d 65 6e  64 3d b9 20 f1 8a 32 30  |..?.amend=. ..20|
000009a0  2c 31 31 29 59 6f 6e 42  24 89 31 35 bd 31 35 36  |,11)YonB$.15.156|
000009b0  3b 8a 32 33 2c 31 31 29  22 45 78 73 74 67 20 72  |;.23,11)"Exstg r|
000009c0  6f 6f 6d 3a 20 22 3b 72  6d 24 28 41 25 29 0d 02  |oom: ";rm$(A%)..|
000009d0  94 2f f1 8a 32 30 2c 31  32 29 42 6f 6e 59 24 89  |./..20,12)BonY$.|
000009e0  31 35 bd 31 35 36 3b 8a  32 33 2c 31 32 29 22 52  |15.156;.23,12)"R|
000009f0  6f 6f 6d 20 63 6f 64 65  20 3a 20 22 3b 0d 02 9e  |oom code : ";...|
00000a00  05 f5 0d 02 a8 08 45 24  3d be 0d 02 b2 26 e7 97  |......E$=....&..|
00000a10  45 24 3d 31 33 20 80 20  72 6d 24 28 30 29 3d 22  |E$=13 . rm$(0)="|
00000a20  22 20 72 6d 24 28 30 29  3d 72 6d 24 28 41 25 29  |" rm$(0)=rm$(A%)|
00000a30  0d 02 bc 26 e7 97 45 24  3d 31 32 37 20 72 6d 24  |...&..E$=127 rm$|
00000a40  28 30 29 3d c0 72 6d 24  28 30 29 2c a9 72 6d 24  |(0)=.rm$(0),.rm$|
00000a50  28 30 29 2d 31 29 0d 02  c6 4c e7 97 45 24 3c 3e  |(0)-1)...L..E$<>|
00000a60  31 33 20 80 20 97 45 24  3c 3e 31 32 37 20 80 a9  |13 . .E$<>127 ..|
00000a70  72 6d 24 28 30 29 3c 32  20 72 6d 24 28 30 29 3d  |rm$(0)<2 rm$(0)=|
00000a80  72 6d 24 28 30 29 2b 45  24 20 8b 20 e7 a9 72 6d  |rm$(0)+E$ . ..rm|
00000a90  24 28 30 29 3d 32 20 80  20 45 24 3c 3e bd 31 33  |$(0)=2 . E$<>.13|
00000aa0  ef 37 0d 02 d0 1b f1 8a  33 35 2c 31 32 29 72 6d  |.7......35,12)rm|
00000ab0  24 28 30 29 22 20 22 3b  bd 31 32 37 3b 0d 02 da  |$(0)" ";.127;...|
00000ac0  0b fd 97 45 24 3d 31 33  0d 02 e4 3f e7 61 6d 65  |...E$=13...?.ame|
00000ad0  6e 64 3d b9 20 f1 8a 36  2c 31 36 29 59 6f 6e 42  |nd=. ..6,16)YonB|
00000ae0  24 89 32 33 bd 31 35 36  3b 8a 39 2c 31 36 29 22  |$.23.156;.9,16)"|
00000af0  45 78 73 74 67 20 76 61  6c 75 65 3a 20 22 3b 76  |Exstg value: ";v|
00000b00  61 6c 24 28 41 25 29 0d  02 ee 2e f1 8a 36 2c 31  |al$(A%)......6,1|
00000b10  37 29 42 6f 6e 59 24 89  32 33 bd 31 35 36 3b 8a  |7)BonY$.23.156;.|
00000b20  39 2c 31 37 29 22 49 74  65 6d 20 76 61 6c 75 65  |9,17)"Item value|
00000b30  20 3a 20 22 3b 0d 02 f8  05 f5 0d 03 02 05 f5 0d  | : ";...........|
00000b40  03 0c 0a f5 3a 45 24 3d  be 0d 03 16 2c e7 bb 28  |....:E$=....,..(|
00000b50  76 61 6c 24 28 30 29 29  3d 30 20 80 20 97 45 24  |val$(0))=0 . .E$|
00000b60  3d 31 33 20 80 20 4a 24  3c 3e 22 20 41 4d 45 4e  |=13 . J$<>" AMEN|
00000b70  44 22 20 ef 37 0d 03 20  3a e7 bb 28 76 61 6c 24  |D" .7.. :..(val$|
00000b80  28 41 25 29 29 3c 3e 30  20 80 20 97 45 24 3d 31  |(A%))<>0 . .E$=1|
00000b90  33 20 80 20 76 61 6c 24  28 30 29 3d 22 22 20 76  |3 . val$(0)="" v|
00000ba0  61 6c 24 28 30 29 3d 76  61 6c 24 28 41 25 29 0d  |al$(0)=val$(A%).|
00000bb0  03 2a 61 64 65 63 70 6e  74 3d a7 76 61 6c 24 28  |.*adecpnt=.val$(|
00000bc0  30 29 2c 22 2e 22 29 3a  e7 64 65 63 70 6e 74 3d  |0),"."):.decpnt=|
00000bd0  30 20 f2 76 61 6c 69 64  28 22 2e 30 31 32 33 34  |0 .valid(".01234|
00000be0  35 36 37 38 39 22 2b bd  31 33 2b bd 31 32 37 29  |56789"+.13+.127)|
00000bf0  20 8b 20 f2 76 61 6c 69  64 28 22 30 31 32 33 34  | . .valid("01234|
00000c00  35 36 37 38 39 22 2b bd  31 33 2b bd 31 32 37 29  |56789"+.13+.127)|
00000c10  0d 03 34 33 e7 64 65 63  70 6e 74 3c 3e 30 20 80  |..43.decpnt<>0 .|
00000c20  20 a9 76 61 6c 24 28 30  29 3e 64 65 63 70 6e 74  | .val$(0)>decpnt|
00000c30  2b 31 20 f2 76 61 6c 69  64 28 bd 31 33 2b bd 31  |+1 .valid(.13+.1|
00000c40  32 37 29 0d 03 3e 0a fd  45 25 3c 3e 30 0d 03 48  |27)..>..E%<>0..H|
00000c50  23 e7 97 45 24 3d 31 32  37 20 80 20 c2 76 61 6c  |#..E$=127 . .val|
00000c60  24 28 30 29 2c 31 29 3c  3e 22 2e 22 4c 25 3d 31  |$(0),1)<>"."L%=1|
00000c70  0d 03 52 22 e7 97 45 24  3d 31 32 37 20 80 20 c2  |..R"..E$=127 . .|
00000c80  76 61 6c 24 28 30 29 2c  31 29 3d 22 2e 22 4c 25  |val$(0),1)="."L%|
00000c90  3d 32 0d 03 5c 2a e7 97  45 24 3d 31 32 37 20 76  |=2..\*..E$=127 v|
00000ca0  61 6c 24 28 30 29 3d c0  76 61 6c 24 28 30 29 2c  |al$(0)=.val$(0),|
00000cb0  a9 76 61 6c 24 28 30 29  2d 4c 25 29 0d 03 66 50  |.val$(0)-L%)..fP|
00000cc0  e7 97 45 24 3c 3e 31 33  20 80 20 97 45 24 3c 3e  |..E$<>13 . .E$<>|
00000cd0  31 32 37 20 80 a9 76 61  6c 24 28 30 29 3c 38 20  |127 ..val$(0)<8 |
00000ce0  76 61 6c 24 28 30 29 3d  76 61 6c 24 28 30 29 2b  |val$(0)=val$(0)+|
00000cf0  45 24 20 8b 20 e7 a9 76  61 6c 24 28 30 29 3d 38  |E$ . ..val$(0)=8|
00000d00  20 80 20 45 24 3c 3e bd  31 33 ef 37 0d 03 70 51  | . E$<>.13.7..pQ|
00000d10  e7 97 45 24 3c 3e 31 32  37 20 64 65 63 70 6e 74  |..E$<>127 decpnt|
00000d20  3d a7 76 61 6c 24 28 30  29 2c 22 2e 22 29 3a e7  |=.val$(0),"."):.|
00000d30  64 65 63 70 6e 74 3d 30  20 80 20 a9 76 61 6c 24  |decpnt=0 . .val$|
00000d40  28 30 29 3e 34 20 76 61  6c 24 28 30 29 3d c0 76  |(0)>4 val$(0)=.v|
00000d50  61 6c 24 28 30 29 2c 35  29 2b 22 2e 22 0d 03 7a  |al$(0),5)+"."..z|
00000d60  22 f1 8a 32 32 2c 31 37  29 76 61 6c 24 28 30 29  |"..22,17)val$(0)|
00000d70  22 20 20 22 3b bd 31 32  37 3b bd 31 32 37 3b 0d  |"  ";.127;.127;.|
00000d80  03 84 5e e7 45 24 3d bd  31 33 20 80 20 bb 28 76  |..^.E$=.13 . .(v|
00000d90  61 6c 24 28 30 29 29 3c  2e 31 20 f1 8a 32 32 2c  |al$(0))<.1 ..22,|
00000da0  31 37 29 22 54 6f 6f 20  6c 6f 77 22 3b 3a ef 37  |17)"Too low";:.7|
00000db0  3a 76 61 6c 24 28 30 29  3d 22 22 3a e3 57 25 3d  |:val$(0)="":.W%=|
00000dc0  31 b8 35 30 30 30 3a ed  3a f1 8a 32 32 2c 31 37  |1.5000:.:..22,17|
00000dd0  29 89 28 37 29 8a 32 32  2c 31 37 29 3b 0d 03 8e  |).(7).22,17);...|
00000de0  13 fd bb 28 76 61 6c 24  28 30 29 29 3e 2e 30 39  |...(val$(0))>.09|
00000df0  0d 03 98 0b fd 97 45 24  3d 31 33 0d 03 a2 26 f2  |......E$=13...&.|
00000e00  64 62 6c 28 32 30 2c bd  31 33 30 2b 22 41 6c 6c  |dbl(20,.130+"All|
00000e10  20 4f 4b 3f 20 28 59 2f  4e 29 20 20 22 29 3a ef  | OK? (Y/N)  "):.|
00000e20  38 0d 03 ac 4f f5 3a 45  24 3d be 3a f2 76 61 6c  |8...O.:E$=.:.val|
00000e30  69 64 28 22 59 79 4e 6e  22 29 3a fd 45 25 3c 3e  |id("YyNn"):.E%<>|
00000e40  30 3a f2 64 62 6c 28 32  30 2c bd 31 33 30 2b 22  |0:.dbl(20,.130+"|
00000e50  41 6c 6c 20 4f 4b 3f 20  28 59 2f 4e 29 20 22 2b  |All OK? (Y/N) "+|
00000e60  45 24 29 3a e3 57 25 3d  31 b8 35 30 30 30 3a ed  |E$):.W%=1.5000:.|
00000e70  0d 03 b6 3f e7 45 25 3e  32 20 ef 37 3a f2 64 62  |...?.E%>2 .7:.db|
00000e80  6c 28 32 30 2c bd 31 32  39 2b 22 54 68 69 73 20  |l(20,.129+"This |
00000e90  69 6e 70 75 74 20 63 61  6e 63 65 6c 6c 65 64 2e  |input cancelled.|
00000ea0  22 29 3a e3 57 25 3d 31  b8 35 30 30 30 3a ed 0d  |"):.W%=1.5000:..|
00000eb0  03 c0 87 e7 45 25 3c 33  20 f2 64 62 6c 28 32 30  |....E%<3 .dbl(20|
00000ec0  2c bd 31 33 30 2b 22 49  6e 70 75 74 20 61 63 63  |,.130+"Input acc|
00000ed0  65 70 74 65 64 2e 22 29  3a 69 6e 70 75 74 4f 4b  |epted."):inputOK|
00000ee0  3d b9 3a e3 57 25 3d 31  b8 35 30 30 30 3a ed 3a  |=.:.W%=1.5000:.:|
00000ef0  69 74 6d 24 28 41 25 29  3d 69 74 6d 24 28 30 29  |itm$(A%)=itm$(0)|
00000f00  3a 63 64 65 24 28 41 25  29 3d 63 64 65 24 28 30  |:cde$(A%)=cde$(0|
00000f10  29 3a 72 6d 24 28 41 25  29 3d 72 6d 24 28 30 29  |):rm$(A%)=rm$(0)|
00000f20  3a 76 61 6c 24 28 41 25  29 3d 76 61 6c 24 28 30  |:val$(A%)=val$(0|
00000f30  29 3a f2 70 61 64 0d 03  ca 0e fd 69 6e 70 75 74  |):.pad.....input|
00000f40  4f 4b 3d b9 0d 03 d4 05  e1 0d 03 de 05 3a 0d 03  |OK=..........:..|
00000f50  e8 09 dd f2 64 65 6c 0d  03 f2 12 e7 72 65 74 74  |....del.....rett|
00000f60  6f 6d 65 6e 75 3d b9 20  e1 0d 03 fc 73 db 3a f2  |omenu=. ....s.:.|
00000f70  64 62 6c 28 31 2c 59 6f  6e 42 24 2b 22 20 44 45  |dbl(1,YonB$+" DE|
00000f80  4c 45 54 45 20 52 45 43  4f 52 44 20 22 2b c3 28  |LETE RECORD "+.(|
00000f90  41 25 29 2b 22 20 20 20  22 2b bd 31 35 36 29 3a  |A%)+"   "+.156):|
00000fa0  f2 73 63 72 65 65 6e 3a  f2 64 62 6c 28 32 30 2c  |.screen:.dbl(20,|
00000fb0  bd 31 33 30 2b 22 43 6f  72 72 65 63 74 20 72 65  |.130+"Correct re|
00000fc0  63 6f 72 64 20 74 6f 20  64 65 6c 65 74 65 3f 20  |cord to delete? |
00000fd0  28 59 2f 4e 29 20 20 22  29 3a ef 38 0d 04 06 5e  |(Y/N)  "):.8...^|
00000fe0  f5 3a 45 24 3d be 3a f2  76 61 6c 69 64 28 22 59  |.:E$=.:.valid("Y|
00000ff0  79 4e 6e 22 29 3a fd 45  25 3c 3e 30 3a e7 45 25  |yNn"):.E%<>0:.E%|
00001000  3e 32 20 ef 37 3a f2 64  62 6c 28 32 30 2c bd 31  |>2 .7:.dbl(20,.1|
00001010  33 30 2b 22 52 65 63 6f  72 64 20 6e 6f 74 20 63  |30+"Record not c|
00001020  61 6e 63 65 6c 6c 65 64  2e 22 29 3a e3 57 25 3d  |ancelled."):.W%=|
00001030  31 b8 35 30 30 30 3a ed  3a e1 0d 04 10 74 e7 45  |1.5000:.:....t.E|
00001040  25 3c 33 20 f2 64 62 6c  28 32 30 2c bd 31 32 39  |%<3 .dbl(20,.129|
00001050  2b 22 52 65 63 6f 72 64  20 64 65 6c 65 74 65 64  |+"Record deleted|
00001060  20 66 72 6f 6d 20 66 69  6c 65 2e 22 29 3a e3 57  | from file."):.W|
00001070  25 3d 31 b8 35 30 30 30  3a ed 3a 69 74 6d 24 28  |%=1.5000:.:itm$(|
00001080  41 25 29 3d 22 22 3a 63  64 65 24 28 41 25 29 3d  |A%)="":cde$(A%)=|
00001090  22 22 3a 72 6d 24 28 41  25 29 3d 22 22 3a 76 61  |"":rm$(A%)="":va|
000010a0  6c 24 28 41 25 29 3d 22  22 3a f2 70 61 64 0d 04  |l$(A%)="":.pad..|
000010b0  1a 05 e1 0d 04 24 05 3a  0d 04 2e 0c dd f2 73 65  |.....$.:......se|
000010c0  61 72 63 68 0d 04 38 97  63 6f 75 6e 74 25 3d 2d  |arch..8.count%=-|
000010d0  31 3a 68 69 67 68 41 3d  30 3a 73 65 61 72 63 68  |1:highA=0:search|
000010e0  24 3d 22 22 3a 54 24 3d  22 22 3a 6d 61 74 63 68  |$="":T$="":match|
000010f0  3d a3 3a 72 65 74 74 6f  6d 65 6e 75 3d a3 3a db  |=.:rettomenu=.:.|
00001100  3a f2 64 62 6c 28 31 2c  59 6f 6e 42 24 2b 22 20  |:.dbl(1,YonB$+" |
00001110  53 45 41 52 43 48 20 4d  45 4e 55 20 20 20 22 2b  |SEARCH MENU   "+|
00001120  bd 31 35 36 29 3a f2 73  75 62 6d 65 6e 75 28 22  |.156):.submenu("|
00001130  20 2d 20 53 65 61 72 63  68 20 6f 6e 20 22 29 3a  | - Search on "):|
00001140  e7 45 24 3d 22 4d 22 84  45 24 3d 22 6d 22 72 65  |.E$="M".E$="m"re|
00001150  74 74 6f 6d 65 6e 75 3d  b9 3a e1 0d 04 42 4b 66  |ttomenu=.:...BKf|
00001160  69 6e 64 24 3d 45 24 3a  e7 45 24 3d 22 31 22 6c  |ind$=E$:.E$="1"l|
00001170  65 6e 25 3d 32 33 20 8b  20 e7 45 24 3d 22 32 22  |en%=23 . .E$="2"|
00001180  6c 65 6e 25 3d 32 20 8b  20 e7 45 24 3d 22 33 22  |len%=2 . .E$="3"|
00001190  6c 65 6e 25 3d 32 20 8b  20 e7 45 24 3d 22 34 22  |len%=2 . .E$="4"|
000011a0  6c 65 6e 25 3d 38 0d 04  4c 57 f1 8a 30 2c 31 32  |len%=8..LW..0,12|
000011b0  29 bd 31 33 30 3b 3a e7  45 24 3d 22 34 22 f1 22  |).130;:.E$="4"."|
000011c0  45 6e 74 65 72 20 76 61  6c 75 65 20 28 73 65 61  |Enter value (sea|
000011d0  72 63 68 20 69 73 20 2b  2f 2d 20 32 35 29 22 20  |rch is +/- 25)" |
000011e0  8b 20 f1 22 45 6e 74 65  72 20 64 61 74 61 20 74  |. ."Enter data t|
000011f0  6f 20 73 65 61 72 63 68  20 66 6f 72 22 0d 04 56  |o search for"..V|
00001200  3c f1 8a 28 32 33 2d 6c  65 6e 25 29 2f 32 2c 31  |<..(23-len%)/2,1|
00001210  34 29 42 6f 6e 59 24 89  28 6c 65 6e 25 2b 32 29  |4)BonY$.(len%+2)|
00001220  bd 31 35 36 8a 28 28 32  33 2d 6c 65 6e 25 29 2f  |.156.((23-len%)/|
00001230  32 29 2b 33 2c 31 34 29  3b 0d 04 60 0a f5 3a 45  |2)+3,14);..`..:E|
00001240  24 3d be 0d 04 6a 29 e7  97 45 24 3d 31 32 37 20  |$=...j)..E$=127 |
00001250  73 65 61 72 63 68 24 3d  c0 73 65 61 72 63 68 24  |search$=.search$|
00001260  2c a9 73 65 61 72 63 68  24 2d 31 29 0d 04 74 46  |,.search$-1)..tF|
00001270  e7 97 45 24 3c 3e 31 33  20 80 20 97 45 24 3c 3e  |..E$<>13 . .E$<>|
00001280  31 32 37 20 80 a9 73 65  61 72 63 68 24 3c 6c 65  |127 ..search$<le|
00001290  6e 25 20 73 65 61 72 63  68 24 3d 73 65 61 72 63  |n% search$=searc|
000012a0  68 24 2b 45 24 20 8b 20  e7 97 45 24 3c 3e 31 33  |h$+E$ . ..E$<>13|
000012b0  ef 37 0d 04 7e 29 f1 8a  28 28 32 33 2d 6c 65 6e  |.7..~)..((23-len|
000012c0  25 29 2f 32 29 2b 33 2c  31 34 29 73 65 61 72 63  |%)/2)+3,14)searc|
000012d0  68 24 22 20 22 3b bd 31  32 37 3b 0d 04 88 0b fd  |h$" ";.127;.....|
000012e0  97 45 24 3d 31 33 0d 04  92 05 f5 0d 04 9c 64 f1  |.E$=13........d.|
000012f0  8a 30 2c 31 36 29 bd 31  33 30 22 44 6f 20 79 6f  |.0,16).130"Do yo|
00001300  75 20 77 61 6e 74 20 68  61 72 64 20 63 6f 70 79  |u want hard copy|
00001310  3f 20 28 59 2f 4e 29 22  3b 3a f5 3a 45 24 3d be  |? (Y/N)";:.:E$=.|
00001320  3a f2 76 61 6c 69 64 28  22 59 79 4e 6e 22 29 3a  |:.valid("YyNn"):|
00001330  fd 45 25 3c 3e 30 3a f1  45 24 3a e7 45 25 3c 33  |.E%<>0:.E$:.E%<3|
00001340  76 64 75 25 3d 32 20 8b  20 76 64 75 25 3d 33 0d  |vdu%=2 . vdu%=3.|
00001350  04 a6 0b 2a 46 58 31 35  2c 30 0d 04 b0 6a e7 76  |...*FX15,0...j.v|
00001360  64 75 25 3d 32 20 ef 32  3a f1 bd 33 32 3a ef 33  |du%=2 .2:..32:.3|
00001370  3a e3 57 25 3d 31 b8 31  30 30 30 3a ed 3a e7 96  |:.W%=1.1000:.:..|
00001380  28 2d 34 29 3c 3e 36 33  20 ef 37 3a f1 8a 30 2c  |(-4)<>63 .7:..0,|
00001390  31 36 29 bd 31 32 39 22  50 72 69 6e 74 65 72 20  |16).129"Printer |
000013a0  62 75 73 79 20 6f 72 20  6e 6f 74 20 6f 6e 20 6c  |busy or not on l|
000013b0  69 6e 65 20 20 22 3b 3a  e3 57 25 3d 31 b8 38 30  |ine  ";:.W%=1.80|
000013c0  30 30 3a ed 0d 04 ba 15  fd 96 28 2d 34 29 3d 36  |00:.......(-4)=6|
000013d0  33 3a 2a 46 58 31 35 2c  30 0d 04 c4 6c e7 76 64  |3:*FX15,0...l.vd|
000013e0  75 25 3d 32 20 72 6f 6c  6c 3d a3 3a f1 8a 30 2c  |u%=2 roll=.:..0,|
000013f0  31 36 29 bd 31 33 30 22  3c 52 3e 6f 6c 6c 20 6f  |16).130"<R>oll o|
00001400  72 20 3c 53 3e 69 6e 67  6c 65 20 73 68 65 65 74  |r <S>ingle sheet|
00001410  20 70 61 70 65 72 22 3b  3a f5 3a 45 24 3d be 3a  | paper";:.:E$=.:|
00001420  f2 76 61 6c 69 64 28 22  52 72 53 73 22 29 3a fd  |.valid("RrSs"):.|
00001430  45 25 3c 3e 30 3a f1 45  24 3a e7 45 25 3c 33 72  |E%<>0:.E$:.E%<3r|
00001440  6f 6c 6c 3d b9 0d 04 ce  17 ef 32 36 2c 31 32 3a  |oll=......26,12:|
00001450  41 25 3d 30 3a 45 24 3d  bd 31 33 38 0d 04 d8 42  |A%=0:E$=.138...B|
00001460  e7 76 64 75 25 3d 33 f2  64 62 6c 28 32 32 2c bd  |.vdu%=3.dbl(22,.|
00001470  31 33 30 2b 22 55 73 65  20 61 72 72 6f 77 20 6b  |130+"Use arrow k|
00001480  65 79 73 2c 20 6f 72 22  2b bd 31 32 39 2b 22 4d  |eys, or"+.129+"M|
00001490  22 2b bd 31 33 30 2b 22  65 6e 75 20 22 29 0d 04  |"+.130+"enu ")..|
000014a0  e2 1f ef 32 38 2c 30 2c  32 30 2c 33 39 2c 30 2c  |...28,0,20,39,0,|
000014b0  32 33 2c 31 2c 30 3b 30  3b 30 3b 30 3b 0d 04 ec  |23,1,0;0;0;0;...|
000014c0  05 f5 0d 04 f6 05 f5 0d  05 00 0b 2a 46 58 32 31  |...........*FX21|
000014d0  2c 30 0d 05 0a 50 e7 49  25 3c 3e 30 20 80 20 76  |,0...P.I%<>0 . v|
000014e0  64 75 25 3d 33 20 f5 3a  45 24 3d be 3a f2 76 61  |du%=3 .:E$=.:.va|
000014f0  6c 69 64 28 bd 31 33 39  2b bd 31 33 38 2b 22 4d  |lid(.139+.138+"M|
00001500  6d 22 29 3a fd 45 25 3c  3e 30 3a db 3a e7 45 24  |m"):.E%<>0:.:.E$|
00001510  3d 22 4d 22 84 45 24 3d  22 6d 22 41 25 3d 5a 25  |="M".E$="m"A%=Z%|
00001520  2b 31 0d 05 14 5e e7 45  24 3d bd 31 33 39 20 41  |+1...^.E$=.139 A|
00001530  25 3d 41 25 2d 31 3a e7  41 25 3c 31 20 f2 64 62  |%=A%-1:.A%<1 .db|
00001540  6c 28 31 30 2c bd 31 32  39 2b 22 53 74 61 72 74  |l(10,.129+"Start|
00001550  20 6f 66 20 66 69 6c 65  22 29 3a f5 3a 45 24 3d  | of file"):.:E$=|
00001560  be 3a f2 76 61 6c 69 64  28 bd 31 33 38 29 3a fd  |.:.valid(.138):.|
00001570  45 25 3c 3e 30 3a e7 41  25 3c 30 20 41 25 3d 30  |E%<>0:.A%<0 A%=0|
00001580  0d 05 1e 7f e7 45 24 3d  bd 31 33 38 20 41 25 3d  |.....E$=.138 A%=|
00001590  41 25 2b 31 3a e7 41 25  3d 5a 25 2b 31 20 80 20  |A%+1:.A%=Z%+1 . |
000015a0  76 64 75 25 3d 33 20 f2  64 62 6c 28 31 30 2c bd  |vdu%=3 .dbl(10,.|
000015b0  31 32 39 2b 22 45 6e 64  20 6f 66 20 66 69 6c 65  |129+"End of file|
000015c0  22 29 3a e7 76 64 75 25  3d 33 f5 3a 45 24 3d be  |"):.vdu%=3.:E$=.|
000015d0  3a f2 76 61 6c 69 64 28  bd 31 33 39 2b bd 31 33  |:.valid(.139+.13|
000015e0  38 2b 22 4d 6d 22 29 3a  fd 45 25 3c 3e 30 3a e7  |8+"Mm"):.E%<>0:.|
000015f0  45 24 3d bd 31 33 39 20  41 25 3d 41 25 2d 31 0d  |E$=.139 A%=A%-1.|
00001600  05 28 24 e7 66 69 6e 64  24 3d 22 31 22 20 49 25  |.($.find$="1" I%|
00001610  3d a7 69 74 6d 24 28 41  25 29 2c 73 65 61 72 63  |=.itm$(A%),searc|
00001620  68 24 29 0d 05 32 24 e7  66 69 6e 64 24 3d 22 32  |h$)..2$.find$="2|
00001630  22 20 49 25 3d a7 63 64  65 24 28 41 25 29 2c 73  |" I%=.cde$(A%),s|
00001640  65 61 72 63 68 24 29 0d  05 3c 23 e7 66 69 6e 64  |earch$)..<#.find|
00001650  24 3d 22 33 22 20 49 25  3d a7 72 6d 24 28 41 25  |$="3" I%=.rm$(A%|
00001660  29 2c 73 65 61 72 63 68  24 29 0d 05 46 61 e7 66  |),search$)..Fa.f|
00001670  69 6e 64 24 3d 22 34 22  20 80 20 bb 28 73 65 61  |ind$="4" . .(sea|
00001680  72 63 68 24 29 2d 32 35  2e 30 31 3c bb 28 76 61  |rch$)-25.01<.(va|
00001690  6c 24 28 41 25 29 29 20  80 20 bb 28 73 65 61 72  |l$(A%)) . .(sear|
000016a0  63 68 24 29 2b 32 35 2e  30 31 3e bb 28 76 61 6c  |ch$)+25.01>.(val|
000016b0  24 28 41 25 29 29 20 49  25 3d 31 20 8b e7 66 69  |$(A%)) I%=1 ..fi|
000016c0  6e 64 24 3d 22 34 22 49  25 3d 30 0d 05 50 17 e7  |nd$="4"I%=0..P..|
000016d0  bb 28 76 61 6c 24 28 41  25 29 29 3d 30 20 49 25  |.(val$(A%))=0 I%|
000016e0  3d 30 0d 05 5a 36 e7 41  25 3e 68 69 67 68 41 20  |=0..Z6.A%>highA |
000016f0  80 20 49 25 3c 3e 30 20  54 24 3d c3 28 bb 28 54  |. I%<>0 T$=.(.(T|
00001700  24 29 2b bb 28 76 61 6c  24 28 41 25 29 29 29 3a  |$)+.(val$(A%))):|
00001710  68 69 67 68 41 3d 41 25  0d 05 64 12 e7 41 25 3d  |highA=A%..d..A%=|
00001720  5a 25 2b 31 20 49 25 3d  39 39 0d 05 6e 0a fd 49  |Z%+1 I%=99..n..I|
00001730  25 3c 3e 30 0d 05 78 48  64 65 63 70 6e 74 3d a7  |%<>0..xHdecpnt=.|
00001740  54 24 2c 22 2e 22 29 3a  e7 64 65 63 70 6e 74 3c  |T$,"."):.decpnt<|
00001750  3e 30 20 80 20 bb 28 c1  54 24 2c 64 65 63 70 6e  |>0 . .(.T$,decpn|
00001760  74 2b 33 2c 31 29 29 3e  34 20 54 24 3d c3 28 bb  |t+3,1))>4 T$=.(.|
00001770  28 54 24 29 2b 28 2e 30  30 31 29 29 0d 05 82 1f  |(T$)+(.001))....|
00001780  e7 64 65 63 70 6e 74 3c  3e 30 20 54 24 3d c0 54  |.decpnt<>0 T$=.T|
00001790  24 2c 64 65 63 70 6e 74  2b 32 29 0d 05 8c 34 64  |$,decpnt+2)...4d|
000017a0  65 63 70 6e 74 3d a7 54  24 2c 22 2e 22 29 3a e7  |ecpnt=.T$,"."):.|
000017b0  64 65 63 70 6e 74 3d 30  20 80 20 bb 28 54 24 29  |decpnt=0 . .(T$)|
000017c0  3c 3e 30 20 54 24 3d 54  24 2b 22 2e 30 30 22 0d  |<>0 T$=T$+".00".|
000017d0  05 96 17 54 24 3d c4 28  39 2d a9 54 24 29 2c 22  |...T$=.(9-.T$),"|
000017e0  20 22 29 2b 54 24 0d 05  a0 13 64 65 63 70 6e 74  | ")+T$....decpnt|
000017f0  3d a7 54 24 2c 22 2e 22  29 0d 05 aa 1b e7 64 65  |=.T$,".").....de|
00001800  63 70 6e 74 3d 38 20 54  24 3d c2 54 24 2c 38 29  |cpnt=8 T$=.T$,8)|
00001810  2b 22 30 22 0d 05 b4 1c  e7 64 65 63 70 6e 74 3d  |+"0".....decpnt=|
00001820  39 20 54 24 3d c2 54 24  2c 37 29 2b 22 30 30 22  |9 T$=.T$,7)+"00"|
00001830  0d 05 be 24 e7 49 25 3c  3e 39 39 20 80 20 49 25  |...$.I%<>99 . I%|
00001840  3c 3e 30 20 80 20 76 64  75 25 3d 33 20 f2 73 63  |<>0 . vdu%=3 .sc|
00001850  72 65 65 6e 0d 05 c8 25  e7 49 25 3c 3e 39 39 20  |reen...%.I%<>99 |
00001860  80 20 49 25 3c 3e 30 20  80 20 76 64 75 25 3d 32  |. I%<>0 . vdu%=2|
00001870  20 f2 70 72 69 6e 74 65  72 0d 05 d2 0e fd 41 25  | .printer.....A%|
00001880  3e 5a 25 3a ef 32 36 0d  05 dc 9f e7 6d 61 74 63  |>Z%:.26.....matc|
00001890  68 3d b9 20 80 20 76 64  75 25 3d 33 f2 64 62 6c  |h=. . vdu%=3.dbl|
000018a0  28 36 2c bd 31 33 34 2b  22 54 6f 74 61 6c 20 76  |(6,.134+"Total v|
000018b0  61 6c 75 65 20 6f 66 20  74 68 69 73 20 6c 69 73  |alue of this lis|
000018c0  74 69 6e 67 22 29 3a f2  64 62 6c 28 31 30 2c bd  |ting"):.dbl(10,.|
000018d0  31 33 34 2b 22 60 20 22  2b 54 24 29 3a f2 64 62  |134+"` "+T$):.db|
000018e0  6c 28 32 32 2c bd 31 33  30 2b 22 50 72 65 73 73  |l(22,.130+"Press|
000018f0  22 2b bd 31 32 39 2b 22  4d 22 2b bd 31 33 30 2b  |"+.129+"M"+.130+|
00001900  22 66 6f 72 20 4d 65 6e  75 22 29 3a f5 3a 45 24  |"for Menu"):.:E$|
00001910  3d be 3a f2 76 61 6c 69  64 28 22 4d 6d 22 29 3a  |=.:.valid("Mm"):|
00001920  fd 45 25 3c 3e 30 0d 05  e6 48 e7 6d 61 74 63 68  |.E%<>0...H.match|
00001930  3d a3 20 ef 37 3a f2 64  62 6c 28 31 30 2c bd 31  |=. .7:.dbl(10,.1|
00001940  32 39 2b 22 4e 6f 20 6d  61 74 63 68 20 66 6f 75  |29+"No match fou|
00001950  6e 64 21 22 29 3a e3 57  25 3d 31 b8 38 30 30 30  |nd!"):.W%=1.8000|
00001960  3a ed 3a 72 65 74 74 6f  6d 65 6e 75 3d b9 0d 05  |:.:rettomenu=...|
00001970  f0 05 e1 0d 05 fa 05 3a  0d 06 04 0c dd f2 73 63  |.......:......sc|
00001980  72 65 65 6e 0d 06 0e 38  6d 61 74 63 68 3d b9 3a  |reen...8match=.:|
00001990  db 3a f2 64 62 6c 28 31  2c 59 6f 6e 42 24 2b 22  |.:.dbl(1,YonB$+"|
000019a0  20 52 45 43 4f 52 44 20  4e 6f 20 22 2b c3 41 25  | RECORD No "+.A%|
000019b0  2b 22 20 20 20 22 2b bd  31 35 36 29 0d 06 18 32  |+"   "+.156)...2|
000019c0  f1 8a 30 2c 37 29 59 6f  6e 42 24 89 33 35 bd 31  |..0,7)YonB$.35.1|
000019d0  35 36 3b 8a 33 2c 37 29  22 45 78 73 74 67 20 69  |56;.3,7)"Exstg i|
000019e0  74 65 6d 3a 22 3b 69 74  6d 24 28 41 25 29 0d 06  |tem:";itm$(A%)..|
000019f0  22 66 f1 8a 30 2c 31 32  29 59 6f 6e 42 24 89 31  |"f..0,12)YonB$.1|
00001a00  35 bd 31 35 36 3b 8a 33  2c 31 32 29 22 45 78 73  |5.156;.3,12)"Exs|
00001a10  74 67 20 74 79 70 65 3a  20 22 3b 63 64 65 24 28  |tg type: ";cde$(|
00001a20  41 25 29 8a 32 30 2c 31  32 29 59 6f 6e 42 24 89  |A%).20,12)YonB$.|
00001a30  31 35 bd 31 35 36 3b 8a  32 33 2c 31 32 29 22 45  |15.156;.23,12)"E|
00001a40  78 73 74 67 20 72 6f 6f  6d 3a 20 22 3b 72 6d 24  |xstg room: ";rm$|
00001a50  28 41 25 29 0d 06 2c 36  f1 8a 36 2c 31 37 29 59  |(A%)..,6..6,17)Y|
00001a60  6f 6e 42 24 89 32 33 bd  31 35 36 3b 8a 39 2c 31  |onB$.23.156;.9,1|
00001a70  37 29 22 45 78 73 74 67  20 76 61 6c 75 65 3a 20  |7)"Exstg value: |
00001a80  22 3b 76 61 6c 24 28 41  25 29 0d 06 36 05 e1 0d  |";val$(A%)..6...|
00001a90  06 40 05 3a 0d 06 4a 0d  dd f2 70 72 69 6e 74 65  |.@.:..J...printe|
00001aa0  72 0d 06 54 13 63 6f 75  6e 74 25 3d 63 6f 75 6e  |r..T.count%=coun|
00001ab0  74 25 2b 31 0d 06 5e 3e  e7 ac 72 6f 6c 6c 20 80  |t%+1..^>..roll .|
00001ac0  20 63 6f 75 6e 74 25 83  35 30 3d 30 db 3a f2 64  | count%.50=0.:.d|
00001ad0  62 6c 28 38 2c bd 31 32  39 2b 22 43 68 65 63 6b  |bl(8,.129+"Check|
00001ae0  20 70 61 70 65 72 22 29  3a f1 27 27 3a f2 77 61  | paper"):.'':.wa|
00001af0  69 74 0d 06 68 06 ef 32  0d 06 72 5e e7 ac 6d 61  |it..h..2..r^..ma|
00001b00  74 63 68 20 f1 89 28 35  29 22 52 45 43 20 4e 6f  |tch ..(5)"REC No|
00001b10  22 89 28 34 29 22 49 54  45 4d 20 44 45 53 43 52  |".(4)"ITEM DESCR|
00001b20  49 50 54 49 4f 4e 22 89  28 36 29 22 54 59 50 45  |IPTION".(6)"TYPE|
00001b30  20 20 52 4f 4f 4d 22 89  28 34 29 22 56 41 4c 55  |  ROOM".(4)"VALU|
00001b40  45 22 89 28 35 29 22 52  55 4e 4e 49 4e 47 20 54  |E".(5)"RUNNING T|
00001b50  4f 54 41 4c 22 27 0d 06  7c 0b 6d 61 74 63 68 3d  |OTAL"'..|.match=|
00001b60  b9 0d 06 86 14 e7 41 25  3c 31 30 20 f1 89 28 38  |......A%<10 ..(8|
00001b70  29 3b 41 25 3b 0d 06 90  1c e7 41 25 3e 39 20 80  |);A%;.....A%>9 .|
00001b80  20 41 25 3c 31 30 30 20  f1 89 28 37 29 3b 41 25  | A%<100 ..(7);A%|
00001b90  3b 0d 06 9a 14 e7 41 25  3e 39 39 20 f1 89 28 36  |;.....A%>99 ..(6|
00001ba0  29 3b 41 25 3b 0d 06 a4  4a f1 89 28 33 29 69 74  |);A%;...J..(3)it|
00001bb0  6d 24 28 41 25 29 89 28  33 29 63 64 65 24 28 41  |m$(A%).(3)cde$(A|
00001bc0  25 29 89 28 34 29 72 6d  24 28 41 25 29 89 28 33  |%).(4)rm$(A%).(3|
00001bd0  29 22 23 22 76 61 6c 24  28 41 25 29 89 28 34 29  |)"#"val$(A%).(4)|
00001be0  22 23 22 89 28 39 2d a9  28 54 24 29 29 54 24 0d  |"#".(9-.(T$))T$.|
00001bf0  06 ae 06 ef 33 0d 06 b8  05 e1 0d 06 c2 05 3a 0d  |....3.........:.|
00001c00  06 cc 11 dd f2 73 75 62  6d 65 6e 75 28 73 24 29  |.....submenu(s$)|
00001c10  0d 06 d6 ab ef 32 38 2c  34 2c 32 34 2c 33 35 2c  |.....28,4,24,35,|
00001c20  35 3a f1 bd 31 33 31 22  31 22 2b 73 24 2b 22 49  |5:..131"1"+s$+"I|
00001c30  74 65 6d 20 44 65 73 63  72 69 70 74 69 6f 6e 22  |tem Description"|
00001c40  27 27 bd 31 33 31 22 32  22 2b 73 24 2b 22 49 74  |''.131"2"+s$+"It|
00001c50  65 6d 20 54 79 70 65 22  27 27 bd 31 33 31 22 33  |em Type"''.131"3|
00001c60  22 2b 73 24 2b 22 52 6f  6f 6d 20 43 6f 64 65 22  |"+s$+"Room Code"|
00001c70  27 27 bd 31 33 31 22 34  22 2b 73 24 2b 22 56 61  |''.131"4"+s$+"Va|
00001c80  6c 75 65 22 27 27 bd 31  32 39 22 4d 20 2d 20 52  |lue"''.129"M - R|
00001c90  65 74 75 72 6e 20 74 6f  20 4d 65 6e 75 22 27 27  |eturn to Menu"''|
00001ca0  bd 31 33 30 22 53 65 6c  65 63 74 20 4f 70 74 69  |.130"Select Opti|
00001cb0  6f 6e 20 2e 20 2e 20 2e  20 22 3b 0d 06 e0 32 f5  |on . . . ";...2.|
00001cc0  3a 45 24 3d be 3a f2 76  61 6c 69 64 28 22 31 32  |:E$=.:.valid("12|
00001cd0  33 34 4d 6d 22 29 3a fd  45 25 3c 3e 30 3a e7 45  |34Mm"):.E%<>0:.E|
00001ce0  24 3d 22 4d 22 84 45 24  3d 22 6d 22 e1 0d 06 ea  |$="M".E$="m"....|
00001cf0  1c f1 45 24 3a f1 8a 30  2c 28 bb 28 45 24 29 2d  |..E$:..0,(.(E$)-|
00001d00  31 29 2a 32 29 bd 31 33  35 0d 06 f4 05 e1 0d 06  |1)*2).135.......|
00001d10  fe 05 3a 0d 07 08 0a dd  f2 73 61 76 65 0d 07 12  |..:......save...|
00001d20  7e 61 62 6f 72 74 3d a3  3a f2 64 62 6c 28 31 2c  |~abort=.:.dbl(1,|
00001d30  59 6f 6e 42 24 2b 22 20  53 41 56 45 20 43 55 52  |YonB$+" SAVE CUR|
00001d40  52 45 4e 54 20 46 49 4c  45 20 20 20 22 2b bd 31  |RENT FILE   "+.1|
00001d50  35 36 29 3a f2 64 61 74  61 3a e7 64 61 74 61 3d  |56):.data:.data=|
00001d60  30 f2 64 62 6c 28 31 30  2c bd 31 32 39 2b 22 4e  |0.dbl(10,.129+"N|
00001d70  6f 20 76 61 6c 69 64 20  64 61 74 61 20 69 6e 20  |o valid data in |
00001d80  6d 65 6d 6f 72 79 20 22  29 3a ef 37 3a e3 57 25  |memory "):.7:.W%|
00001d90  3d 31 b8 38 30 30 30 3a  ed 3a e1 0d 07 1c b1 f2  |=1.8000:.:......|
00001da0  6d 65 64 69 61 3a f2 64  62 6c 28 36 2c bd 31 33  |media:.dbl(6,.13|
00001db0  31 2b 22 46 69 6c 65 20  6e 61 6d 65 20 69 73 20  |1+"File name is |
00001dc0  22 2b 66 69 6c 65 24 29  3a f2 64 62 6c 28 39 2c  |"+file$):.dbl(9,|
00001dd0  bd 31 33 30 2b 22 50 72  65 73 73 22 2b bd 31 32  |.130+"Press"+.12|
00001de0  39 2b 22 52 45 54 55 52  4e 22 2b bd 31 33 30 2b  |9+"RETURN"+.130+|
00001df0  22 74 6f 20 6f 76 65 72  77 72 69 74 65 2c 20 6f  |"to overwrite, o|
00001e00  72 22 29 3a f2 64 62 6c  28 31 32 2c bd 31 33 30  |r"):.dbl(12,.130|
00001e10  2b 22 45 6e 74 65 72 20  6e 65 77 20 66 69 6c 65  |+"Enter new file|
00001e20  20 6e 61 6d 65 20 74 6f  20 53 41 56 45 22 29 3a  | name to SAVE"):|
00001e30  e8 8a 31 35 2c 31 35 29  22 22 45 24 3a e7 45 24  |..15,15)""E$:.E$|
00001e40  3c 3e 22 22 66 69 6c 65  24 3d 45 24 0d 07 26 1e  |<>""file$=E$..&.|
00001e50  e7 6d 65 64 69 61 24 3d  22 44 49 53 4b 22 f2 64  |.media$="DISK".d|
00001e60  69 73 6b 63 6f 6e 74 65  6e 74 0d 07 30 0e e7 61  |iskcontent..0..a|
00001e70  62 6f 72 74 3d b9 20 e1  0d 07 3a 2a e7 6d 65 64  |bort=. ...:*.med|
00001e80  69 61 24 3d 22 54 41 50  45 22 f1 8a 35 2c 31 35  |ia$="TAPE"..5,15|
00001e90  29 bd 31 33 30 bd 31 33  36 22 50 52 45 53 53 20  |).130.136"PRESS |
00001ea0  22 3b 0d 07 44 5d 63 68  25 3d ae 28 66 69 6c 65  |";..D]ch%=.(file|
00001eb0  24 29 3a f1 8a 30 2c 31  35 29 c4 33 39 2c 22 20  |$):..0,15).39," |
00001ec0  22 29 3a f2 64 62 6c 28  31 37 2c bd 31 33 33 2b  |"):.dbl(17,.133+|
00001ed0  22 53 61 76 69 6e 67 20  61 73 20 66 69 6c 65 20  |"Saving as file |
00001ee0  6e 61 6d 65 20 22 2b 66  69 6c 65 24 29 3a e7 6d  |name "+file$):.m|
00001ef0  65 64 69 61 24 3d 22 54  41 50 45 22 f1 27 27 0d  |edia$="TAPE".''.|
00001f00  07 4e 43 f1 23 63 68 25  3a e3 41 25 3d 31 b8 5a  |.NC.#ch%:.A%=1.Z|
00001f10  25 3a f1 23 63 68 25 2c  69 74 6d 24 28 41 25 29  |%:.#ch%,itm$(A%)|
00001f20  2c 63 64 65 24 28 41 25  29 2c 72 6d 24 28 41 25  |,cde$(A%),rm$(A%|
00001f30  29 2c 76 61 6c 24 28 41  25 29 3a ed 3a d9 23 63  |),val$(A%):.:.#c|
00001f40  68 25 0d 07 58 05 e1 0d  07 62 05 3a 0d 07 6c 11  |h%..X....b.:..l.|
00001f50  dd f2 64 69 73 6b 63 6f  6e 74 65 6e 74 0d 07 76  |..diskcontent..v|
00001f60  20 de 20 63 6c 69 25 20  31 34 3a 24 63 6c 69 25  | . cli% 14:$cli%|
00001f70  3d 22 41 43 2e 20 22 2b  66 69 6c 65 24 0d 07 80  |="AC. "+file$...|
00001f80  22 58 25 3d 63 6c 69 25  83 32 35 36 3a 59 25 3d  |"X%=cli%.256:Y%=|
00001f90  63 6c 69 25 81 32 35 36  3a d6 26 46 46 46 37 0d  |cli%.256:.&FFF7.|
00001fa0  07 8a a3 e7 45 24 3c 3e  22 22 ef 37 3a f1 27 27  |....E$<>"".7:.''|
00001fb0  8a 32 29 bd 31 32 39 22  46 69 6c 65 20 65 78 69  |.2).129"File exi|
00001fc0  73 74 73 20 2d 20 6f 76  65 72 77 72 69 74 65 3f  |sts - overwrite?|
00001fd0  20 28 59 2f 4e 29 20 22  3b 3a f5 3a 45 24 3d be  | (Y/N) ";:.:E$=.|
00001fe0  3a f2 76 61 6c 69 64 28  22 59 79 4e 6e 22 29 3a  |:.valid("YyNn"):|
00001ff0  fd 45 25 3c 3e 30 3a f1  45 24 3a e7 45 25 3e 32  |.E%<>0:.E$:.E%>2|
00002000  20 ef 37 3a f2 64 62 6c  28 31 37 2c bd 31 33 30  | .7:.dbl(17,.130|
00002010  2b 22 53 41 56 45 20 69  6e 73 74 72 75 63 74 69  |+"SAVE instructi|
00002020  6f 6e 20 61 62 6f 72 74  65 64 21 22 29 3a 61 62  |on aborted!"):ab|
00002030  6f 72 74 3d b9 3a e3 57  25 3d 31 b8 38 30 30 30  |ort=.:.W%=1.8000|
00002040  3a ed 0d 07 94 05 e1 0d  07 9e 05 3a 0d 07 a8 0a  |:..........:....|
00002050  dd f2 6c 6f 61 64 0d 07  b2 30 f2 64 62 6c 28 31  |..load...0.dbl(1|
00002060  2c 59 6f 6e 42 24 2b 22  20 4c 4f 41 44 20 4e 45  |,YonB$+" LOAD NE|
00002070  57 20 46 49 4c 45 20 20  20 22 2b bd 31 35 36 29  |W FILE   "+.156)|
00002080  3a f2 64 61 74 61 0d 07  bc b0 e7 64 61 74 61 3c  |:.data.....data<|
00002090  3e 30 ef 37 3a f2 64 62  6c 28 36 2c bd 31 32 39  |>0.7:.dbl(6,.129|
000020a0  2b 22 45 78 69 73 74 69  6e 67 20 64 61 74 61 20  |+"Existing data |
000020b0  77 69 6c 6c 20 62 65 20  6c 6f 73 74 21 20 22 29  |will be lost! ")|
000020c0  3a e3 57 25 3d 31 b8 33  30 30 30 3a ed 3a f2 64  |:.W%=1.3000:.:.d|
000020d0  62 6c 28 31 31 2c bd 31  33 33 2b 22 3c 4c 3e 20  |bl(11,.133+"<L> |
000020e0  74 6f 20 63 6f 6e 66 69  72 6d 20 4c 4f 41 44 20  |to confirm LOAD |
000020f0  22 29 3a f2 64 62 6c 28  31 34 2c bd 31 33 33 2b  |"):.dbl(14,.133+|
00002100  22 3c 41 3e 20 74 6f 20  41 62 6f 72 74 20 6c 6f  |"<A> to Abort lo|
00002110  61 64 20 72 6f 75 74 69  6e 65 20 22 29 3a f1 8a  |ad routine "):..|
00002120  31 37 2c 31 37 29 3b 3a  45 24 3d be 3a e7 45 24  |17,17);:E$=.:.E$|
00002130  3c 3e 22 4c 22 e1 0d 07  c6 53 ef 32 38 2c 30 2c  |<>"L"....S.28,0,|
00002140  32 34 2c 33 39 2c 36 2c  31 32 2c 32 36 3a f2 6d  |24,39,6,12,26:.m|
00002150  65 64 69 61 3a f2 64 62  6c 28 36 2c bd 31 33 30  |edia:.dbl(6,.130|
00002160  2b 22 45 6e 74 65 72 20  66 69 6c 65 20 6e 61 6d  |+"Enter file nam|
00002170  65 20 74 6f 20 4c 4f 41  44 20 22 29 3a e8 8a 31  |e to LOAD "):..1|
00002180  32 2c 31 30 29 22 22 45  24 0d 07 d0 4f e7 6d 65  |2,10)""E$...O.me|
00002190  64 69 61 24 3d 22 44 49  53 4b 22 63 68 25 3d 8e  |dia$="DISK"ch%=.|
000021a0  28 45 24 29 3a d9 23 30  3a e7 63 68 25 3d 30 f2  |(E$):.#0:.ch%=0.|
000021b0  64 62 6c 28 31 35 2c bd  31 32 39 2b 22 46 69 6c  |dbl(15,.129+"Fil|
000021c0  65 20 6e 6f 74 20 66 6f  75 6e 64 22 29 3a f1 27  |e not found"):.'|
000021d0  3a f2 77 61 69 74 3a e1  0d 07 e4 41 e7 6d 65 64  |:.wait:....A.med|
000021e0  69 61 24 3d 22 44 49 53  4b 22 20 f2 64 62 6c 28  |ia$="DISK" .dbl(|
000021f0  31 35 2c bd 31 33 33 2b  22 50 6c 65 61 73 65 20  |15,.133+"Please |
00002200  77 61 69 74 20 2e 20 2e  20 2e 20 4c 4f 41 44 69  |wait . . . LOADi|
00002210  6e 67 20 64 61 74 61 22  29 0d 07 ee 50 63 68 25  |ng data")...Pch%|
00002220  3d 8e 28 45 24 29 3a e3  41 25 3d 31 b8 5a 25 3a  |=.(E$):.A%=1.Z%:|
00002230  e8 23 63 68 25 2c 69 74  6d 24 28 41 25 29 2c 63  |.#ch%,itm$(A%),c|
00002240  64 65 24 28 41 25 29 2c  72 6d 24 28 41 25 29 2c  |de$(A%),rm$(A%),|
00002250  76 61 6c 24 28 41 25 29  3a ed 3a d9 23 63 68 25  |val$(A%):.:.#ch%|
00002260  3a 66 69 6c 65 24 3d 45  24 0d 07 f8 05 e1 0d 08  |:file$=E$.......|
00002270  02 05 3a 0d 08 0c 0b dd  f2 6d 65 64 69 61 0d 08  |..:......media..|
00002280  16 17 6d 65 64 69 61 24  3d 22 44 49 53 4b 22 3a  |..media$="DISK":|
00002290  2a 44 49 53 4b 0d 08 20  70 f2 64 62 6c 28 36 2c  |*DISK.. p.dbl(6,|
000022a0  bd 31 33 33 2b 22 41 72  65 20 79 6f 75 20 75 73  |.133+"Are you us|
000022b0  69 6e 67 20 3c 44 3e 69  73 6b 20 6f 72 20 3c 54  |ing <D>isk or <T|
000022c0  3e 61 70 65 22 29 3a f5  3a f1 8a 31 37 2c 39 29  |>ape"):.:..17,9)|
000022d0  3b 3a 45 24 3d be 3a f2  76 61 6c 69 64 28 22 44  |;:E$=.:.valid("D|
000022e0  64 54 74 22 29 3a fd 45  25 3c 3e 30 3a e7 45 25  |dTt"):.E%<>0:.E%|
000022f0  3e 32 6d 65 64 69 61 24  3d 22 54 41 50 45 22 3a  |>2media$="TAPE":|
00002300  2a 54 41 50 45 0d 08 2a  1b e7 6d 65 64 69 61 24  |*TAPE..*..media$|
00002310  3d 22 54 41 50 45 22 20  8c 2a 4f 50 54 31 2c 31  |="TAPE" .*OPT1,1|
00002320  0d 08 34 1b e7 6d 65 64  69 61 24 3d 22 54 41 50  |..4..media$="TAP|
00002330  45 22 20 8c 2a 4f 50 54  32 2c 31 0d 08 3e 05 e1  |E" .*OPT2,1..>..|
00002340  0d 08 48 05 3a 0d 08 52  0a dd f2 73 6f 72 74 0d  |..H.:..R...sort.|
00002350  08 5c 53 f2 64 62 6c 28  31 2c 59 6f 6e 42 24 2b  |.\S.dbl(1,YonB$+|
00002360  22 20 46 49 4c 45 20 53  4f 52 54 20 4d 45 4e 55  |" FILE SORT MENU|
00002370  20 20 20 22 2b bd 31 35  36 29 3a f2 73 75 62 6d  |   "+.156):.subm|
00002380  65 6e 75 28 22 20 2d 20  53 6f 72 74 20 6f 6e 20  |enu(" - Sort on |
00002390  22 29 3a e7 45 24 3d 22  4d 22 84 45 24 3d 22 6d  |"):.E$="M".E$="m|
000023a0  22 e1 0d 08 66 57 ef 32  38 2c 30 2c 32 30 2c 33  |"...fW.28,0,20,3|
000023b0  39 2c 31 34 3a f2 64 62  6c 28 31 2c bd 31 33 34  |9,14:.dbl(1,.134|
000023c0  2b 22 50 6c 65 61 73 65  20 77 61 69 74 20 2d 22  |+"Please wait -"|
000023d0  29 3a f2 64 62 6c 28 33  2c bd 31 33 34 2b 22 73  |):.dbl(3,.134+"s|
000023e0  6f 72 74 69 6e 67 20 69  6e 20 70 72 6f 67 72 65  |orting in progre|
000023f0  73 73 22 29 3a 41 25 3d  30 0d 08 70 0c f5 3a 73  |ss"):A%=0..p..:s|
00002400  77 6f 70 3d a3 0d 08 84  0d f5 3a 41 25 3d 41 25  |wop=......:A%=A%|
00002410  2b 31 0d 08 8e 2e e7 45  24 3d 22 31 22 20 80 20  |+1.....E$="1" . |
00002420  69 74 6d 24 28 41 25 29  3e 69 74 6d 24 28 41 25  |itm$(A%)>itm$(A%|
00002430  2b 31 29 20 73 77 6f 70  3d b9 3a f2 73 77 6f 70  |+1) swop=.:.swop|
00002440  0d 08 98 2e e7 45 24 3d  22 32 22 20 80 20 63 64  |.....E$="2" . cd|
00002450  65 24 28 41 25 29 3e 63  64 65 24 28 41 25 2b 31  |e$(A%)>cde$(A%+1|
00002460  29 20 73 77 6f 70 3d b9  3a f2 73 77 6f 70 0d 08  |) swop=.:.swop..|
00002470  a2 2c e7 45 24 3d 22 33  22 20 80 20 72 6d 24 28  |.,.E$="3" . rm$(|
00002480  41 25 29 3e 72 6d 24 28  41 25 2b 31 29 20 73 77  |A%)>rm$(A%+1) sw|
00002490  6f 70 3d b9 3a f2 73 77  6f 70 0d 08 ac 2e e7 45  |op=.:.swop.....E|
000024a0  24 3d 22 34 22 20 80 20  76 61 6c 24 28 41 25 29  |$="4" . val$(A%)|
000024b0  3e 76 61 6c 24 28 41 25  2b 31 29 20 73 77 6f 70  |>val$(A%+1) swop|
000024c0  3d b9 3a f2 73 77 6f 70  0d 08 b1 11 e7 73 77 6f  |=.:.swop.....swo|
000024d0  70 20 41 25 3d 41 25 2d  32 0d 08 b6 13 fd 73 77  |p A%=A%-2.....sw|
000024e0  6f 70 20 84 20 41 25 3d  5a 25 2d 31 0d 08 c0 14  |op . A%=Z%-1....|
000024f0  fd ac 73 77 6f 70 20 80  20 41 25 3d 5a 25 2d 31  |..swop . A%=Z%-1|
00002500  0d 08 ca 05 e1 0d 08 d4  05 3a 0d 08 de 0a dd f2  |.........:......|
00002510  73 77 6f 70 0d 08 e8 dd  69 74 6d 24 28 30 29 3d  |swop....itm$(0)=|
00002520  69 74 6d 24 28 41 25 29  3a 69 74 6d 24 28 41 25  |itm$(A%):itm$(A%|
00002530  29 3d 69 74 6d 24 28 41  25 2b 31 29 3a 69 74 6d  |)=itm$(A%+1):itm|
00002540  24 28 41 25 2b 31 29 3d  69 74 6d 24 28 30 29 3a  |$(A%+1)=itm$(0):|
00002550  63 64 65 24 28 30 29 3d  63 64 65 24 28 41 25 29  |cde$(0)=cde$(A%)|
00002560  3a 63 64 65 24 28 41 25  29 3d 63 64 65 24 28 41  |:cde$(A%)=cde$(A|
00002570  25 2b 31 29 3a 63 64 65  24 28 41 25 2b 31 29 3d  |%+1):cde$(A%+1)=|
00002580  63 64 65 24 28 30 29 3a  72 6d 24 28 30 29 3d 72  |cde$(0):rm$(0)=r|
00002590  6d 24 28 41 25 29 3a 72  6d 24 28 41 25 29 3d 72  |m$(A%):rm$(A%)=r|
000025a0  6d 24 28 41 25 2b 31 29  3a 72 6d 24 28 41 25 2b  |m$(A%+1):rm$(A%+|
000025b0  31 29 3d 72 6d 24 28 30  29 3a 76 61 6c 24 28 30  |1)=rm$(0):val$(0|
000025c0  29 3d 76 61 6c 24 28 41  25 29 3a 76 61 6c 24 28  |)=val$(A%):val$(|
000025d0  41 25 29 3d 76 61 6c 24  28 41 25 2b 31 29 3a 76  |A%)=val$(A%+1):v|
000025e0  61 6c 24 28 41 25 2b 31  29 3d 76 61 6c 24 28 30  |al$(A%+1)=val$(0|
000025f0  29 0d 08 f2 2e 69 74 6d  24 28 30 29 3d 22 22 3a  |)....itm$(0)="":|
00002600  63 64 65 24 28 30 29 3d  22 22 3a 72 6d 24 28 30  |cde$(0)="":rm$(0|
00002610  29 3d 22 22 3a 76 61 6c  24 28 30 29 3d 22 22 0d  |)="":val$(0)="".|
00002620  08 fc 05 e1 0d 09 06 05  3a 0d 09 10 09 dd f2 61  |........:......a|
00002630  64 6a 0d 09 1a 8a 6d 61  74 63 68 3d a3 3a f2 64  |dj....match=.:.d|
00002640  62 6c 28 31 2c 59 6f 6e  42 24 2b 22 20 56 41 4c  |bl(1,YonB$+" VAL|
00002650  55 45 20 41 44 4a 55 53  54 4d 45 4e 54 20 4d 45  |UE ADJUSTMENT ME|
00002660  4e 55 20 20 20 22 2b bd  31 35 36 29 3a f1 8a 30  |NU   "+.156):..0|
00002670  2c 36 29 bd 31 33 34 3b  3a e8 22 45 6e 74 65 72  |,6).134;:."Enter|
00002680  20 63 6f 64 65 20 72 65  66 20 74 6f 20 61 64 6a  | code ref to adj|
00002690  75 73 74 20 22 63 64 65  24 28 30 29 3a e7 a9 63  |ust "cde$(0):..c|
000026a0  64 65 24 28 30 29 3d 31  20 63 64 65 24 28 30 29  |de$(0)=1 cde$(0)|
000026b0  3d 63 64 65 24 28 30 29  2b 22 20 22 0d 09 24 88  |=cde$(0)+" "..$.|
000026c0  f5 3a 45 25 3d 31 3a f1  8a 30 2c 31 30 29 bd 31  |.:E%=1:..0,10).1|
000026d0  33 34 3b 3a e8 22 45 6e  74 65 72 20 70 65 72 63  |34;:."Enter perc|
000026e0  65 6e 74 61 67 65 20 61  64 6a 75 73 74 6d 65 6e  |entage adjustmen|
000026f0  74 20 22 45 24 3a e7 bb  28 45 24 29 3d 30 84 bb  |t "E$:..(E$)=0..|
00002700  28 45 24 29 3c 2d 39 39  f1 8a 30 2c 31 30 29 bd  |(E$)<-99..0,10).|
00002710  31 33 31 22 44 6f 6e 27  74 20 62 65 20 73 6f 20  |131"Don't be so |
00002720  73 69 6c 6c 79 20 21 22  3b 89 28 31 35 29 3b 3a  |silly !";.(15);:|
00002730  ef 37 3a e3 57 25 3d 31  b8 38 30 30 30 3a ed 3a  |.7:.W%=1.8000:.:|
00002740  45 25 3d 30 0d 09 2e 0a  fd 45 25 3c 3e 30 0d 09  |E%=0.....E%<>0..|
00002750  38 0c e3 41 25 3d 31 b8  5a 25 0d 09 42 8d e7 63  |8..A%=1.Z%..B..c|
00002760  64 65 24 28 30 29 3d 63  64 65 24 28 41 25 29 20  |de$(0)=cde$(A%) |
00002770  6d 61 74 63 68 3d b9 3a  f1 8a 31 2c 31 33 29 22  |match=.:..1,13)"|
00002780  41 64 6a 75 73 74 69 6e  67 20 69 74 65 6d 20 22  |Adjusting item "|
00002790  3b 41 25 3b 22 20 61 6e  64 20 53 65 61 72 63 68  |;A%;" and Search|
000027a0  69 6e 67 22 3b 3a 76 61  6c 24 28 41 25 29 3d c3  |ing";:val$(A%)=.|
000027b0  28 28 bb 28 76 61 6c 24  28 41 25 29 29 29 2a 28  |((.(val$(A%)))*(|
000027c0  31 30 30 2b bb 28 45 24  29 29 29 3a 76 61 6c 24  |100+.(E$))):val$|
000027d0  28 41 25 29 3d c3 28 bb  28 76 61 6c 24 28 41 25  |(A%)=.(.(val$(A%|
000027e0  29 29 2f 31 30 30 29 0d  09 4c 5a e7 bb 28 76 61  |))/100)..LZ..(va|
000027f0  6c 24 28 41 25 29 29 3e  39 39 39 39 39 2e 39 39  |l$(A%))>99999.99|
00002800  20 76 61 6c 24 28 41 25  29 3d 22 39 39 39 39 39  | val$(A%)="99999|
00002810  2e 39 39 22 3a f1 8a 37  2c 31 33 29 bd 31 32 39  |.99":..7,13).129|
00002820  22 49 74 65 6d 20 22 3b  41 25 22 20 76 61 6c 75  |"Item ";A%" valu|
00002830  65 20 74 6f 6f 20 68 69  67 68 22 3a f2 77 61 69  |e too high":.wai|
00002840  74 0d 09 56 63 e7 bb 28  76 61 6c 24 28 41 25 29  |t..Vc..(val$(A%)|
00002850  29 3c 2e 31 20 80 20 bb  28 76 61 6c 24 28 41 25  |)<.1 . .(val$(A%|
00002860  29 29 3e 30 20 76 61 6c  24 28 41 25 29 3d 22 20  |))>0 val$(A%)=" |
00002870  20 20 20 20 2e 31 30 22  3a f1 8a 37 2c 31 33 29  |    .10":..7,13)|
00002880  bd 31 32 39 22 49 74 65  6d 20 22 3b 41 25 22 20  |.129"Item ";A%" |
00002890  76 61 6c 75 65 20 74 6f  6f 20 6c 6f 77 22 3a f2  |value too low":.|
000028a0  77 61 69 74 0d 09 60 72  e7 63 64 65 24 28 30 29  |wait..`r.cde$(0)|
000028b0  3d 63 64 65 24 28 41 25  29 20 64 65 63 70 6e 74  |=cde$(A%) decpnt|
000028c0  3d a7 76 61 6c 24 28 41  25 29 2c 22 2e 22 29 3a  |=.val$(A%),"."):|
000028d0  e7 64 65 63 70 6e 74 3c  3e 30 20 80 20 bb 28 c1  |.decpnt<>0 . .(.|
000028e0  76 61 6c 24 28 41 25 29  2c 64 65 63 70 6e 74 2b  |val$(A%),decpnt+|
000028f0  33 2c 31 29 29 3e 34 20  76 61 6c 24 28 41 25 29  |3,1))>4 val$(A%)|
00002900  3d c3 28 bb 28 76 61 6c  24 28 41 25 29 29 2b 28  |=.(.(val$(A%))+(|
00002910  2e 30 30 31 29 29 0d 09  6a 1d e7 63 64 65 24 28  |.001))..j..cde$(|
00002920  30 29 3d 63 64 65 24 28  41 25 29 20 f2 64 65 63  |0)=cde$(A%) .dec|
00002930  70 6e 74 0d 09 74 05 ed  0d 09 7e 40 e7 6d 61 74  |pnt..t....~@.mat|
00002940  63 68 3d a3 20 ef 37 3a  f2 64 62 6c 28 31 30 2c  |ch=. .7:.dbl(10,|
00002950  bd 31 32 39 2b 22 4e 6f  20 6d 61 74 63 68 20 66  |.129+"No match f|
00002960  6f 75 6e 64 21 22 29 3a  f2 64 62 6c 28 32 32 2c  |ound!"):.dbl(22,|
00002970  70 24 29 3a 57 25 3d a5  0d 09 88 05 e1 0d 09 92  |p$):W%=.........|
00002980  05 3a 0d 09 9c 08 dd f2  6f 73 0d 09 a6 b5 6f 73  |.:......os....os|
00002990  3d b9 3a f2 64 62 6c 28  31 2c 59 6f 6e 42 24 2b  |=.:.dbl(1,YonB$+|
000029a0  22 20 4f 50 45 52 41 54  49 4e 47 20 53 59 53 54  |" OPERATING SYST|
000029b0  45 4d 20 41 43 43 45 53  53 20 20 20 22 2b bd 31  |EM ACCESS   "+.1|
000029c0  35 36 29 3a f2 6d 65 64  69 61 3a f2 64 62 6c 28  |56):.media:.dbl(|
000029d0  36 2c bd 31 32 39 2b 22  42 45 57 41 52 45 21 22  |6,.129+"BEWARE!"|
000029e0  29 3a f1 8a 30 2c 39 29  bd 31 33 34 22 41 6e 79  |):..0,9).134"Any|
000029f0  20 63 6f 6d 6d 61 6e 64  20 77 68 69 63 68 20 75  | command which u|
00002a00  73 65 73 20 63 6f 6d 70  75 74 65 72 20 6d 65 6d  |ses computer mem|
00002a10  6f 72 79 22 27 bd 31 33  34 22 77 69 6c 6c 20 63  |ory"'.134"will c|
00002a20  6f 72 72 75 70 74 20 74  68 69 73 20 70 72 6f 67  |orrupt this prog|
00002a30  72 61 6d 20 61 6e 64 20  64 61 74 61 2e 22 3b 0d  |ram and data.";.|
00002a40  09 b0 42 f5 3a f1 27 bd  31 33 30 22 45 6e 74 65  |..B.:.'.130"Ente|
00002a50  72 20 4f 53 20 63 6f 6d  6d 61 6e 64 2c 20 6f 72  |r OS command, or|
00002a60  22 bd 31 32 39 22 4d 22  bd 31 33 30 22 66 6f 72  |".129"M".130"for|
00002a70  20 4d 65 6e 75 2e 22 27  27 3a e8 22 2a 22 6f 73  | Menu."'':."*"os|
00002a80  24 0d 09 ba 19 e7 6f 73  24 3d 22 4d 22 84 6f 73  |$.....os$="M".os|
00002a90  24 3d 22 6d 22 e5 8d 64  62 49 0d 09 c4 19 de 20  |$="m"..dbI..... |
00002aa0  63 6c 69 25 20 a9 6f 73  24 3a 24 63 6c 69 25 3d  |cli% .os$:$cli%=|
00002ab0  6f 73 24 0d 09 ce 22 58  25 3d 63 6c 69 25 83 32  |os$..."X%=cli%.2|
00002ac0  35 36 3a 59 25 3d 63 6c  69 25 81 32 35 36 3a d6  |56:Y%=cli%.256:.|
00002ad0  26 46 46 46 37 0d 09 d8  37 e7 65 72 72 6f 72 20  |&FFF7...7.error |
00002ae0  ef 37 3a f2 64 62 6c 28  31 35 2c bd 31 32 39 2b  |.7:.dbl(15,.129+|
00002af0  22 46 69 6c 65 20 6e 6f  74 20 66 6f 75 6e 64 22  |"File not found"|
00002b00  29 3a f1 27 3a 65 72 72  6f 72 3d a3 0d 09 e2 19  |):.':error=.....|
00002b10  fd 6f 73 24 3d 22 4d 22  84 6f 73 24 3d 22 6d 22  |.os$="M".os$="m"|
00002b20  3a 6f 73 3d a3 0d 09 ec  05 e1 0d 09 f6 05 3a 0d  |:os=..........:.|
00002b30  0a 00 09 dd f2 65 6e 64  0d 0a 0a 39 f2 64 62 6c  |.....end...9.dbl|
00002b40  28 31 2c 59 6f 6e 42 24  2b 22 20 45 58 49 54 20  |(1,YonB$+" EXIT |
00002b50  46 52 4f 4d 20 50 52 4f  47 52 41 4d 20 20 20 22  |FROM PROGRAM   "|
00002b60  2b bd 31 35 36 29 3a f2  64 61 74 61 3a 2a 46 58  |+.156):.data:*FX|
00002b70  34 0d 0a 14 23 e7 64 61  74 61 3d 30 20 f2 64 62  |4...#.data=0 .db|
00002b80  6c 28 31 34 2c 22 46 69  6e 69 73 68 65 64 22 29  |l(14,"Finished")|
00002b90  3a f1 3a e0 0d 0a 1e a2  f2 64 62 6c 28 36 2c bd  |:.:......dbl(6,.|
00002ba0  31 32 39 2b bd 31 35 37  2b bd 31 33 35 2b 22 20  |129+.157+.135+" |
00002bb0  42 65 77 61 72 65 21 20  44 61 74 61 20 77 69 6c  |Beware! Data wil|
00002bc0  6c 20 62 65 20 6c 6f 73  74 21 20 20 20 22 2b bd  |l be lost!   "+.|
00002bd0  31 35 36 29 3a f2 64 62  6c 28 31 30 2c bd 31 32  |156):.dbl(10,.12|
00002be0  39 2b bd 31 35 37 2b bd  31 33 35 2b 22 20 3c 51  |9+.157+.135+" <Q|
00002bf0  3e 20 74 6f 20 51 75 69  74 20 2f 20 3c 4d 3e 20  |> to Quit / <M> |
00002c00  66 6f 72 20 4d 65 6e 75  20 20 20 22 2b bd 31 35  |for Menu   "+.15|
00002c10  36 29 3a 45 24 3d be 3a  e7 45 24 3d 22 51 22 f2  |6):E$=.:.E$="Q".|
00002c20  64 62 6c 28 31 34 2c 22  46 69 6e 69 73 68 65 64  |dbl(14,"Finished|
00002c30  22 29 3a f1 3a e0 0d 0a  28 05 e1 0d 0a 32 05 3a  |"):.:...(....2.:|
00002c40  0d 0a 3c 10 dd f2 64 62  6c 28 56 25 2c 4a 24 29  |..<...dbl(V%,J$)|
00002c50  0d 0a 46 43 f1 8a 30 2c  56 25 29 c4 37 39 2c 22  |..FC..0,V%).79,"|
00002c60  20 22 29 3a 48 25 3d 28  33 36 2d a9 4a 24 29 2f  | "):H%=(36-.J$)/|
00002c70  32 3a 4a 24 3d bd 31 34  31 2b 4a 24 3a f1 8a 48  |2:J$=.141+J$:..H|
00002c80  25 2c 56 25 29 4a 24 8a  48 25 2c 56 25 2b 31 29  |%,V%)J$.H%,V%+1)|
00002c90  4a 24 3b 0d 0a 50 05 e1  0d 0a 5a 05 3a 0d 0a 64  |J$;..P....Z.:..d|
00002ca0  09 dd f2 70 61 64 0d 0a  6e 7b 69 74 6d 24 28 41  |...pad..n{itm$(A|
00002cb0  25 29 3d 69 74 6d 24 28  41 25 29 2b c4 28 32 33  |%)=itm$(A%)+.(23|
00002cc0  2d a9 69 74 6d 24 28 41  25 29 29 2c 22 20 22 29  |-.itm$(A%))," ")|
00002cd0  3a 63 64 65 24 28 41 25  29 3d 63 64 65 24 28 41  |:cde$(A%)=cde$(A|
00002ce0  25 29 2b c4 28 32 2d a9  63 64 65 24 28 41 25 29  |%)+.(2-.cde$(A%)|
00002cf0  29 2c 22 20 22 29 3a 72  6d 24 28 41 25 29 3d 72  |)," "):rm$(A%)=r|
00002d00  6d 24 28 41 25 29 2b c4  28 32 2d a9 72 6d 24 28  |m$(A%)+.(2-.rm$(|
00002d10  41 25 29 29 2c 22 20 22  29 3a f2 64 65 63 70 6e  |A%))," "):.decpn|
00002d20  74 0d 0a 78 05 e1 0d 0a  82 05 3a 0d 0a 8c 0c dd  |t..x......:.....|
00002d30  f2 64 65 63 70 6e 74 0d  0a 96 4c 64 65 63 70 6e  |.decpnt...Ldecpn|
00002d40  74 3d a7 76 61 6c 24 28  41 25 29 2c 22 2e 22 29  |t=.val$(A%),".")|
00002d50  3a e7 64 65 63 70 6e 74  3d 30 20 80 20 bb 28 76  |:.decpnt=0 . .(v|
00002d60  61 6c 24 28 41 25 29 29  3c 3e 30 20 76 61 6c 24  |al$(A%))<>0 val$|
00002d70  28 41 25 29 3d 76 61 6c  24 28 41 25 29 2b 22 2e  |(A%)=val$(A%)+".|
00002d80  30 30 22 0d 0a a0 60 64  65 63 70 6e 74 3d a7 76  |00"...`decpnt=.v|
00002d90  61 6c 24 28 41 25 29 2c  22 2e 22 29 3a e7 64 65  |al$(A%),"."):.de|
00002da0  63 70 6e 74 3c 3e 30 20  80 20 bb 28 c1 76 61 6c  |cpnt<>0 . .(.val|
00002db0  24 28 41 25 29 2c 64 65  63 70 6e 74 2b 33 2c 31  |$(A%),decpnt+3,1|
00002dc0  29 29 3e 34 20 76 61 6c  24 28 41 25 29 3d c3 28  |))>4 val$(A%)=.(|
00002dd0  bb 28 76 61 6c 24 28 41  25 29 29 2b 28 2e 30 30  |.(val$(A%))+(.00|
00002de0  36 29 29 0d 0a aa 72 64  65 63 70 6e 74 3d a7 76  |6))...rdecpnt=.v|
00002df0  61 6c 24 28 41 25 29 2c  22 2e 22 29 3a 76 61 6c  |al$(A%),"."):val|
00002e00  24 28 41 25 29 3d c0 76  61 6c 24 28 41 25 29 2c  |$(A%)=.val$(A%),|
00002e10  64 65 63 70 6e 74 2b 32  29 3a 76 61 6c 24 28 41  |decpnt+2):val$(A|
00002e20  25 29 3d c4 28 38 2d a9  76 61 6c 24 28 41 25 29  |%)=.(8-.val$(A%)|
00002e30  29 2c 22 20 22 29 2b 76  61 6c 24 28 41 25 29 3a  |)," ")+val$(A%):|
00002e40  64 65 63 70 6e 74 3d a7  76 61 6c 24 28 41 25 29  |decpnt=.val$(A%)|
00002e50  2c 22 2e 22 29 0d 0a b4  27 e7 64 65 63 70 6e 74  |,".")...'.decpnt|
00002e60  3d 37 20 76 61 6c 24 28  41 25 29 3d c2 76 61 6c  |=7 val$(A%)=.val|
00002e70  24 28 41 25 29 2c 37 29  2b 22 30 22 0d 0a be 28  |$(A%),7)+"0"...(|
00002e80  e7 64 65 63 70 6e 74 3d  38 20 76 61 6c 24 28 41  |.decpnt=8 val$(A|
00002e90  25 29 3d c2 76 61 6c 24  28 41 25 29 2c 36 29 2b  |%)=.val$(A%),6)+|
00002ea0  22 30 30 22 0d 0a c8 05  e1 0d 0a d2 05 3a 0d 0a  |"00".........:..|
00002eb0  dc 0a dd f2 77 61 69 74  0d 0a e6 0b 2a 46 58 32  |....wait....*FX2|
00002ec0  31 2c 30 0d 0a f0 11 f1  27 8a 35 29 70 24 3b 3a  |1,0.....'.5)p$;:|
00002ed0  57 25 3d a5 0d 0a fa 05  e1 0d 0b 04 05 3a 0d 0b  |W%=..........:..|
00002ee0  0e 0f dd f2 76 61 6c 69  64 28 4a 24 29 0d 0b 18  |....valid(J$)...|
00002ef0  1b 45 25 3d a7 4a 24 2c  45 24 29 3a e7 45 25 3d  |.E%=.J$,E$):.E%=|
00002f00  30 20 ef 37 20 8b 20 e1  0d 0b 22 05 e1 0d 0b 2c  |0 .7 . ..."....,|
00002f10  05 3a 0d 0b 36 0a dd f2  64 61 74 61 0d 0b 40 2b  |.:..6...data..@+|
00002f20  64 61 74 61 3d 30 3a e3  41 25 3d 31 b8 5a 25 3a  |data=0:.A%=1.Z%:|
00002f30  64 61 74 61 3d 64 61 74  61 2b bb 28 76 61 6c 24  |data=data+.(val$|
00002f40  28 41 25 29 29 3a ed 0d  0b 4a 05 e1 0d 0b 54 05  |(A%)):...J....T.|
00002f50  3a 0d 0b 5e 0b dd f2 65  72 72 6f 72 0d 0b 63 53  |:..^...error..cS|
00002f60  e7 9f 3d 36 20 d9 23 30  3a f2 64 62 6c 28 31 35  |..=6 .#0:.dbl(15|
00002f70  2c bd 31 32 39 2b 22 49  6e 76 61 6c 69 64 20 66  |,.129+"Invalid f|
00002f80  69 6c 65 20 2e 20 2e 20  2e 20 4c 4f 41 44 20 61  |ile . . . LOAD a|
00002f90  62 6f 72 74 65 64 22 29  3a ef 37 3a e3 57 25 3d  |borted"):.7:.W%=|
00002fa0  31 b8 31 30 30 30 30 3a  ed 3a e5 8d 64 78 47 0d  |1.10000:.:..dxG.|
00002fb0  0b 68 16 e7 ac 6f 73 20  80 20 9f 3d 32 31 34 20  |.h...os . .=214 |
00002fc0  e5 8d 44 44 47 0d 0b 72  1d e7 6f 73 20 80 20 9f  |..DDG..r..os . .|
00002fd0  3d 32 31 34 20 65 72 72  6f 72 3d b9 3a e5 8d 64  |=214 error=.:..d|
00002fe0  58 49 0d 0b 7c a9 ee 85  87 3a ef 32 36 3a d9 23  |XI..|....:.26:.#|
00002ff0  30 3a ef 33 3a f1 8a 30  2c 31 38 29 89 28 32 34  |0:.3:..0,18).(24|
00003000  30 29 8a 30 2c 31 38 29  3a f6 3a f1 27 22 45 72  |0).0,18):.:.'"Er|
00003010  72 6f 72 20 63 6f 64 65  20 22 3b 9f 3b 22 20 61  |ror code ";.;" a|
00003020  74 20 4c 69 6e 65 20 22  3b 9e 27 22 50 72 65 73  |t Line ";.'"Pres|
00003030  73 20 3c 45 53 43 3e 20  74 6f 20 53 54 4f 50 20  |s <ESC> to STOP |
00003040  70 72 6f 67 72 61 6d 22  27 22 50 72 65 73 73 20  |program"'"Press |
00003050  3c 4d 3e 20 66 6f 72 20  4d 65 6e 75 2c 20 3c 47  |<M> for Menu, <G|
00003060  4f 54 4f 35 30 3e 20 74  6f 20 72 65 73 74 61 72  |OTO50> to restar|
00003070  74 22 3a 45 24 3d be 3a  e7 45 24 3d 22 4d 22 e5  |t":E$=.:.E$="M".|
00003080  8d 54 72 40 20 8b 20 8d  44 7c 4b 0d 0b 86 05 e1  |.Tr@ . .D|K.....|
00003090  0d ff                                             |..|
00003092
19-05-89/B\Insce.m0
19-05-89/B\Insce.m1
19-05-89/B\Insce.m2
19-05-89/B\Insce.m4
19-05-89/B\Insce.m5