8-Bit Software Online Conversion
:0.$.SERVER2 - Listing
10*FX200,3
20*KEY14 1|M
30*KEY15 0|M
40*KEY12 0|M
50*KEY13 1|M
60ONERROR`%=FNA(ERR)
70CLOSE#0:PROCA:PROCB:PROCC(50):PROCD
:REPEAT:PROCB:PROCA:PROCE:PRINTTAB(1,4);
CHR$134;"PROGRAM SERVER":PROCF(2,9,8):PR
OCG:*FX15
180PROCH:£%=FNB(7,8,26,15):PROCI:IF£%=
4PROCJ:UNTILFALSE
210IF£%=2ANDa%>0PROCK:UNTILFALSE
220IF£%=1ANDa%>0PROCL:UNTILFALSE
230IF£%=6ANDa%>0PROCM:UNTILFALSE
240IF£%=7ANDa%>0PROCN:UNTILFALSE
250IF£%=3ANDa%>0PROCO:UNTILFALSE
260IF£%=5ANDa%>0PROCP:UNTILFALSE
270IF£%=8CLOSE#0:PROCC(300):CLS:PROCC(
400):PROCQ:PROCC(350):CLEAR:OSCLI"DIR :0
.$":CHAIN"SERVER1"
280UNTILFALSE
290DEFFNB(b%,c%,d%,e%):f%=(c%-1):*FX4,
2
320REPEAT:PRINTTAB(b%,c%);CHR$132;CHR$
157;CHR$134;TAB((b%+d%),c%);CHR$156:*FX1
5
350A$=GET$:g%=VALA$:IFA$=CHR$13GOTO420
370IFg%=0THENg%=-1
380IF(c%+g%)>e%PRINTTAB(b%,c%);SPC2:c%
=(f%+1):GOTO420
390IF(c%+g%)<(f%+1)PRINTTAB(b%,c%);SPC
2:c%=e%:GOTO420
400PRINTTAB(b%,c%);SPC2:c%=c%+g%
420UNTILA$=CHR$13:*FX4,0
440=(c%-f%)
460DEFPROCD:h%=0:a%=0:i%=0:j%=0:k%=0:B
$="":C$="":D$="":E$="":F$="":G$="":H$=""
:I$="":J$="":l%=0:m%=0:n%=0:o%=0:h%=0:PR
INTTAB(6,10);CHR$134;" Initialising"
:B=OPENIN"PROGFLE":a%=(EXT#B/220):CLOSE#
0:PRINTTAB(6,12);CHR$134;"Installing Con
text Menu";:PROCC(100):ENDPROC
550DEFFNC(b%,c%,d%,e%):m%=1:*FX4,2
580REPEAT:PRINTTAB(b%,c%);CHR$132;CHR$
157;TAB((b%+d%),c%);CHR$156:*FX15
610A$=GET$:g%=VALA$:IFA$=CHR$13GOTO670
630IFg%=0THENg%=-1
640PRINTTAB(b%,c%);SPC2:IFg%=1ANDm%<e%
b%=b%+d%:m%=m%+1
660IFg%=-1ANDm%>1THENb%=b%-d%:m%=m%-1
670UNTILA$=CHR$13:*FX4,0
690PRINTTAB(0,15);:=m%
720DEFPROCF(g%,b%,c%):RESTORE830:REPEA
T:READK$,p%:IFp%=g%PRINTTAB(b%,c%);CHR$1
34;K$
770IFp%=g%c%=c%+1
780UNTILK$="STOP":ENDPROC
830DATA "Load program only",2
840DATA "Search/View programs",2
850DATA "Program details",2
860DATA "Add new program",2
870DATA "Amend/Update programs",2
880DATA "Programs for Deletion",2
890DATA "Compress Program File",2
900DATA "Re-boot Systems Server",2
910DATA"Utility",4
920DATA"Incomplete",4
930DATA"Datafile",4
940DATA"Word Processor",4
950DATA"Other",4
960DATA"Game",4
970DATA"ROM Image",4
980DATA"ASCII Text",4
990DATA"Non BASIC",4
1000DATA"Not Input",4
1010DATA " PROGRAM",1
1020DATA " TYPE",1
1030DATA " OPTION",1
1040DATA " SURFACE",1
1050DATA " DISC",1
1060DATA " OWNER",1
1070DATA "FILENAME",1
1080DATA "DIRCTORY",1
1090DATA "NOTES",1
1100DATA "",1
1110DATA "",1
1120DATA " CORRECT",1
1130DATA "Type",3
1140DATA "Surface",3
1150DATA "Disc",3
1160DATA "Owner",3
1170DATA "Directory",3
1180DATA "CATALOGUE",3
1190DATA "Abandon",3
1200DATA"Drive 0",5
1210DATA"Drive 1",5
1220DATA"Drive 2",5
1230DATA"Drive 3",5
1240DATA"ADFS Disc",5
1250DATA"Delete Single Program",6
1260DATA"Delete Range of Programs",6
1270DATA"Delete Selected Programs",6
1280DATA"Delete All Programs",6
1290DATA"Select Previous Menu",6
1300DATA"Abandon Back to Last Menu",7
1310DATA"Confirm Complete Deletion",7
1320DATA"Record",8
1330DATA "STOP",99
1370DEFPROCB:VDU23;8202;0;0;0;:ENDPROC
1410DEFPROCQ:VDU23,0,10,64;0;0;0;:ENDPR
OC
1450DEFPROCC(q%):TIME=0:REPEATUNTILTIME
>q%:ENDPROC
1490DEFPROCR(r%):PROCI:FORm%=1TOr%:PRIN
TTAB(34,20);CHR$134:PROCC(25):PRINTTAB(3
4,20);CHR$132:PROCC(25):NEXT:ENDPROC
1590DEFPROCH:FORs%=19TO22STEP1:PRINTTAB
(34,s%);CHR$132:NEXT:PRINTTAB(34,21);CHR
$134:ENDPROC
1660DEFPROCS:PROCI:PRINTTAB(34,19);CHR$
134:ENDPROC
1710DEFPROCT:PROCI:PRINTTAB(34,22);CHR$
129:ENDPROC
1760DEFFND(s%,t%,u%):v%=0:IFs%<>0THENs%
=s%+1
1790u%=u%-1:L$="":M$="":IFs%=0ANDt%=0TH
EN=M$
1840PRINTTAB(s%,t%);"";:REPEAT
1860L$=GET$:IFL$=CHR$13GOTO1940
1880IFL$=CHR$127ANDv%<1VDU7:GOTO1860
1890IFL$=CHR$127PRINT;CHR$127;:M$=LEFT$
(M$,(LENM$-1)):v%=v%-1:GOTO1940
1900IFv%>=u%VDU7:GOTO1860
1910M$=M$+L$:PRINT;L$;:v%=v%+1
1940UNTILL$=CHR$13:=M$
1970DEFPROCI:FORs%=19TO22STEP1:PRINTTAB
(34,s%);CHR$132:NEXT:ENDPROC
2030DEFPROCA:FORs%=6TO22STEP1:IFs%=18GO
TO2090
2060IFs%=20GOTO2090
2070IFs%>17PRINTTAB(2,s%);SPC29:GOTO209
0
2080PRINTTAB(1,s%);SPC39
2090NEXT:ENDPROC
2120DEFPROCE:PRINTTAB(0,4);SPC39:ENDPRO
C
2160DEFPROCU:IFN$="U"N$="Utility"
2180IFN$="G"N$="Game"
2190IFN$="I"N$="Incomplete"
2200IFN$="R"N$="ROM Image"
2210IFN$="D"N$="Datafile"
2220IFN$="T"N$="Text"
2230IFN$="W"N$="Word Processor"
2240IFN$="N"N$="Non BASIC"
2250IFN$="O"N$="Other"
2260IFN$="X"N$="Not Input"
2270ENDPROC
2290DEFPROCV:IFO$="T"O$="*TYPE"
2310IFO$="L"O$="LOAD"
2320IFO$="C"O$="CHAIN"
2330IFO$="R"O$="*RUN"
2340IFO$="E"O$="*EXEC"
2350IFO$="LS"O$="*LIST"
2360IFO$="M"O$="MENU ONLY"
2370IFO$="LD"O$="*LOAD"
2380ENDPROC
2400DEFPROCJ:PROCS:CLOSE#0:B=OPENUP"PRO
GFLE":IFB=0CLOSE#B:B=OPENOUT"PROGFLE":i%
=0:PTR#B=0:GOTO2460
2440IFEOF#BCLOSE#B:B=OPENOUT"PROGFLE":i
%=0:PTR#B=0:GOTO2460
2450PTR#B=(a%*220)
2460PROCI
2470PROCA:PROCE:PROCQ:PRINTTAB(1,4);CHR
$134;"NEW PROGRAM":PROCF(1,1,6)
2500PRINTTAB(10,6);CHR$135:P$=FND(10,6,
28):IFP$=""GOTO2500
2520PRINTTAB(10,7);CHR$135:N$=FND(10,7,
2):PROCU:IFLENN$<2GOTO2520
2540PRINTTAB(11,7);N$
2550PRINTTAB(10,8);CHR$135:O$=FND(10,8,
3):PROCV:IFLENO$<3GOTO2550
2570PRINTTAB(11,8);O$
2580PRINTTAB(10,9);CHR$135:Q$=FND(10,9,
2):IFQ$<>"1"ANDQ$<>"2"ANDQ$<>"3"ANDQ$<>"
0"ANDQ$<>"A"GOTO2580
2600IFQ$="A"PRINTTAB(11,9);"ADFS disc"
2610PRINTTAB(10,10);CHR$135:R$=FND(10,1
0,6):PRINTTAB(10,11);CHR$135:S$=FND(10,1
1,21)
2630PRINTTAB(10,12);CHR$135:T$=FND(10,1
2,11):IFT$=""GOTO2630
2650IFINSTR(T$,".")<>0GOTO2630
2660IFINSTR(T$,":")<>0GOTO2630
2670IFQ$<>"A"ANDLENT$>7GOTO2630
2680PRINTTAB(10,13);CHR$135:U$=FND(10,1
3,21):IFU$=""GOTO2680
2700IFRIGHT$(U$,1)="."ANDLENU$>2ANDQ$<>
"A"GOTO2680
2710IFRIGHT$(U$,1)<>"."ANDLENU$>1ANDQ$<
>"A"GOTO2680
2720IFRIGHT$(U$,1)="."GOTO2750
2730IFQ$<>"A"ANDLENU$>1GOTO2680
2740U$=U$+"."
2750PRINTTAB(1,15);CHR$135:V$=FND(1,15,
39):PRINTTAB(1,16);CHR$135:W$=FND(1,16,3
9)
2770PRINTTAB(10,17);CHR$135:X$=FND(10,1
7,2):IFX$<>"Y"ANDX$<>"N"ANDX$<>"E"GOTO27
70
2790IFX$="E"PROCB:CLOSE#B:ENDPROC
2800IFX$="N"GOTO2470
2810PROCB:PROCS:w%=(a%+1):ONERRORk%=FNA
(ERR):GOTO2840
2830PTR#B=(a%+1)*220:PTR#B=a%*220
2840IFk%=9CLOSE#B:PROCC(200):CLS:PROCC(
200):PROCQ:PROCC(250):CLS:OSCLI"DIR :0.$
":CHAIN"SERVER1"
2850PRINT#B,P$,N$,O$,Q$,R$,S$,T$,U$,w%,
V$,W$,0:ONERROR`%=FNA(ERR)
2870a%=a%+1:PTR#B=(a%*220):i%=PTR#B:PRO
CR(3):PROCI:PRINTTAB(3,19);CHR$134;"ANOT
HER";TAB(15,19);CHR$134;"FINISH":PROCW:s
%=FNC(1,19,12,2):IFs%=1GOTO2460
2940PROCS:PROCC(100):CLOSE#B:PROCR(3):E
NDPROC
2990DEFPROCK:C=FALSE:PROCE:PROCA:PROCI:
PRINTTAB(1,4);CHR$134;"PROGRAM CATALOGUE
":PROCF(3,13,8):PROCG:x%=FNB(11,8,14,14)
:Y$="":PROCA:IFx%=1PROCX
3090IFx%=2PROCY
3100IFx%=3PROCZ
3110IFx%=4PROC`
3120IFx%=5PROC£
3130IFx%=7CLOSE#0:ENDPROC
3140IFY$=""Y$="ALL"
3150PROCC(50):PROCa(Y$,Z$):ENDPROC
3190DEFPROCX:PROCF(4,12,7):PROCE:PRINTT
AB(1,4);CHR$134;"SEARCH (type)"
3220y%=FNB(10,7,20,16):N$="":IFy%=1THEN
N$="Utility"
3250IFy%=2THENN$="Incomplete"
3260IFy%=3THENN$="Datafile"
3270IFy%=4THENN$="Word Processor"
3280IFy%=5THENN$="Other File"
3290IFy%=6THENN$="Game"
3300IFy%=7THENN$="ROM Image"
3310IFy%=8THENN$="ASCII Text"
3320IFy%=9THENN$="Non BASIC"
3330IFy%=10THENN$="Not Input"
3340IFLENN$<3GOTO3220
3350PRINTTAB(1,19);CHR$134;N$;" selecte
d":Y$="TYPE":Z$=N$:N$="":ENDPROC
3380DEFPROCY:PROCF(5,10,9):PROCE:PRINTT
AB(1,4);CHR$134;"SEARCH (surface)":z%=FN
B(8,9,14,13):IFz%=1THENQ$="Drive 0":`$="
0"
3430IFz%=2THENQ$="Drive 1":`$="1"
3440IFz%=3THENQ$="Drive 2":`$="2"
3450IFz%=4THENQ$="Drive 3":`$="3"
3460IFz%=5THENQ$="ADFS Disc":`$="A"
3470PRINTTAB(1,19);CHR$134;Q$;" selecte
d":Y$="SURFACE":Z$=`$:ENDPROC
3510DEFPROCZ:PROCE:PRINTTAB(1,4);CHR$13
4;"SEARCH (disc)"
3530PROCQ:PRINTTAB(7,9);CHR$134;"Enter
Disc Specification":R$=FND(15,11,8):PROC
B:IFR$=""GOTO3530
3550Y$="DISC":Z$=R$:R$="":ENDPROC
3580DEFPROC`:PROCE:PRINTTAB(1,4);CHR$13
4;"SEARCH (owner)"
3600PROCQ:PRINTTAB(6,9);CHR$134;"Enter
Owner Specification":S$=FND(8,11,21):PRO
CB:IFS$=""GOTO3600
3630Y$="OWNER":Z$=S$:S$="":ENDPROC
3660DEFPROC£:PROCE:PRINTTAB(1,4);CHR$13
4;"SEARCH (directory)"
3680PROCQ:PRINTTAB(4,9);CHR$134;"Enter
Directory Specification":U$=FND(8,11,21)
:PROCB:IFU$=""GOTO3680
3700IFRIGHT$(U$,1)<>"."U$=U$+"."
3710Y$="DIR":Z$=U$:U$="":ENDPROC
3740DEFPROCa(Y$,Z$):AA%=0:PROCE:PRINTTA
B(1,4);CHR$134;"PROGRAM CATALOGUE":PROCS
:PROCA:IFY$="ALL"Z$="All Records"
3800IFY$="SURFACE"PRINTTAB(1,21);CHR$13
4;"Matching";TAB(1,22);CHR$129;Q$:GOTO38
20
3810PRINTTAB(1,21);CHR$134;"Matching";T
AB(1,22);CHR$129;Z$
3820B=OPENIN"PROGFLE":IFB=0CLOSE#B:PRIN
TTAB(14,11);CHR$134;"No File":A=GET:ENDP
ROC
3840IFEOF#BCLOSE#B:PRINTTAB(14,11);CHR$
134;"No File":A=GET:ENDPROC
3850h%=6:BA%=0:PTR#B=0:D=FALSE:REPEAT:I
F(PTR#B+220)>EXT#BTHEND=TRUE:GOTO4050
3890INPUT#B,£$,a$,b$,c$,d$,e$,f$,g$,CA%
,L$,M$,DA%:BA%=BA%+1:PTR#B=BA%*220:IFDA%
<>0GOTO4050
3920E=FALSE:IFY$="PROGRAM"IF£$=Z$E=TRUE
3940IFY$="TYPE"IFa$=Z$E=TRUE
3950IFY$="SURFACE"IFc$=Z$E=TRUE
3960IFY$="DISC"IFd$=Z$E=TRUE
3970IFY$="OWNER"IFe$=Z$E=TRUE
3980IFY$="DIR"IFg$=Z$E=TRUE
3990IFY$="ALL"E=TRUE
4000IFE=TRUEPROCb(h%):h%=h%+1
4010IFh%>17PROCI:PRINTTAB(3,19);CHR$134
;"CONTINUE";TAB(15,19);CHR$134;"ABANDON"
:PROCW:AA%=FNC(1,19,12,2)
4020IFh%>17ANDAA%=2THEND=TRUE
4030IFh%>17ANDAA%=1PROCA:PROCS
4040IFh%>17THENh%=6
4050UNTILEOF#BORPTR#B>=EXT#BORD=TRUEORP
TR#B>=(a%*220):CLOSE#B:D=FALSE:PROCR(3):
IFC=FALSEPRINTTAB(10,12);CHR$134;"No Mat
ches Found"
4090PRINTTAB(1,19);CHR$132;CHR$157;CHR$
134;"PRESS RETURN ";CHR$156;SPC10:A=GET
:PROCA:ENDPROC
4120DEFPROCb(m%):C=TRUE:PRINTTAB(1,m%);
CHR$135;CA%;TAB(5,m%);CHR$134;£$:ENDPROC
4170DEFPROCW:PRINTTAB(1,21);CHR$134;"Us
e";CHR$129;"[";CHR$134;"and";CHR$129;"]"
;CHR$134;"cursor keys and":PRINTTAB(1,22
);CHR$134;"press";CHR$129;"<return>";CHR
$134;"key to select":ENDPROC
4220DEFPROCG:PRINTTAB(1,21);CHR$134;"Us
e";CHR$129;"up";CHR$134;"and";CHR$129;"d
own";CHR$134;"cursor keys":PRINTTAB(1,22
);CHR$134;"press";CHR$129;"<return>";CHR
$134;"key to select":ENDPROC
4260DEFPROCc:PRINTTAB(1,21);CHR$134;"En
ter";CHR$129;"PROGRAM No";CHR$134;"if kn
own or":PRINTTAB(1,22);CHR$134;"press";C
HR$129;"<return>";CHR$134;"and enter";CH
R$129;"NAME":ENDPROC
4320DEFPROCL:PROCA:PROCE:h$="":r%=0:PRO
Cc:PRINTTAB(1,4);CHR$134;"ACCESS PROGRAM
FILE":PRINTTAB(1,7);CHR$134;"PROG No";C
HR$135:PRINTTAB(1,8);CHR$134;" NAME";C
HR$135
4380PROCQ:i$=FND(9,7,5):PROCB:r%=VALi$:
IFr%<>0GOTO4410
4390IFr%>a%GOTO4380
4400PROCQ:h$=FND(9,8,29):PROCB
4410PROCS:B=OPENIN"PROGFLE":IFB=0CLOSE#
B:PRINTTAB(14,11);CHR$134;"No File":A=GE
T:ENDPROC
4440IFEOF#BCLOSE#B:PRINTTAB(14,11);CHR$
134;"No File":A=GET:ENDPROC
4450IFr%<>0PTR#B=(220*r%)-220ELSEPTR#B=
0
4460BA%=r%:D=FALSE:REPEAT:INPUT#B,j$,N$
,O$,Q$,R$,L$,M$,k$,EA%,l$,m$,DA%:IF(PTR#
B+220)>EXT#BTHEND=TRUE:GOTO4520
4500IFr%<>0THEND=TRUE:GOTO4520
4510BA%=BA%+1:PTR#B=BA%*220
4520UNTILj$=h$OREA%=r%OREOF#BORD=TRUEOR
PTR#B>=(a%*220):PROCI:D=FALSE:CLOSE#B:IF
j$<>h$ANDEA%<>r%PROCA:PRINTTAB(12,11);CH
R$134;"Program Absent";TAB(1,19);CHR$132
;CHR$157;CHR$134;"PRESS RETURN ";CHR$15
6:A=GET:PROCA:ENDPROC
4550PROCA:IFDA%<>0PROCA:PRINTTAB(6,11);
CHR$134;"Program Marked for Deletion";TA
B(1,19);CHR$132;CHR$157;CHR$134;"PRESS R
ETURN ";CHR$156:A=GET:PROCA:ENDPROC
4570PRINTTAB(1,7);CHR$134;"PROG No";CHR
$135;EA%;TAB(16,7);CHR$134;"OPTION";CHR$
135;O$:PRINTTAB(1,8);CHR$134;"DISC No";C
HR$135;R$;TAB(15,8);CHR$134;"SURFACE";CH
R$135;:IFQ$<>"A"PRINT;"Drive ";Q$
4600IFQ$="A"ANDLEFT$(k$,3)=":1."PRINT;"
ADFS drive 1"
4610IFQ$="A"ANDLEFT$(k$,3)<>":1."PRINT;
"ADFS drive 0"
4620PRINTTAB(1,10);CHR$134;" NAME";CHR$
135;j$:PRINTTAB(1,11);CHR$134;"CLASS";CH
R$135;N$:IFO$="MENU ONLY"PRINTTAB(1,12);
CHR$134;" TAG";CHR$135;"ACCESS PROHIBIT
ED";TAB(1,19);CHR$132;CHR$157;CHR$134;"P
RESS RETURN ";CHR$156:A=GET:PROCA:ENDPR
OC
4650PRINTTAB(1,12);CHR$134;" TAG";CHR$
135;"ACCESS GRANTED";TAB(3,19);CHR$134;"
LOAD ";TAB(15,19);CHR$134;"ABANDON":P
ROCW:s%=FNC(1,19,12,2):IFs%=2CLOSE#0:END
PROC
4660PRINTTAB(0,15);SPC45:PRINTTAB(1,14)
;SPC45;TAB(1,14);CHR$135;"Organising Pro
gram ... ";:TIME=0:REPEATUNTILTIME>100
:PRINT"done":PROCC(75):IFQ$="A"PROCd:n$=
M$:GOTO4730
4700*DISC
4710OSCLI("DRIVE "+Q$):n$=k$+M$
4730IFO$="CHAIN"PROCe
4740IFO$="LOAD"PROCf
4750IFO$="*TYPE"PROCg:ENDPROC
4760IFO$="*RUN"PROCh
4770IFO$="*EXEC"PROCi
4780IFO$="*LIST"PROCj:ENDPROC
4790IFO$="*LOAD"PROCk
4800STOP
4810DEFPROCe:CHAINn$:ENDPROC
4850DEFPROCf:CLS:PRINTCHR$134;"Loading
Selected Program":PRINT:*KEY0 LOAD loadt
his$|MVDU6|M
4890VDU21:*FX138,0,128
4910END
4930DEFPROCg:CLS:OSCLI("TYPE "+n$):PRIN
T:END
4980DEFPROCh:CLS:OSCLI("RUN "+n$):END
5030DEFPROCi:CLS:OSCLI("EXEC "+n$):PRIN
T:END
5090DEFPROCj:CLS:OSCLI("LIST "+n$):PRIN
T:END
5150DEFPROCk:CLS:OSCLI("LOAD "+n$):END
5200DEFFNA(s%):k%=0:PROCA:PROCT:IFERR=&
BFTHENk%=9:PRINTTAB(15,11);CHR$134;"Disc
Full"
5240IFERR=&BDTHENk%=9:PRINTTAB(10,11);C
HR$134;"Access Violation"
5250IFERR=&CCTHENk%=9:PRINTTAB(15,11);C
HR$134;"Bad Name"
5260IFERR=&A8THENk%=9:PRINTTAB(12,11);C
HR$134;"Broken Directory"
5270IFERR=&C7THENk%=9:PRINTTAB(14,11);C
HR$134;"Disc Error"
5280IFERR=&C6THENk%=9:PRINTTAB(15,11);C
HR$134;"Disc Full"
5290IFERR=&D6THENk%=9:PRINTTAB(15,11);C
HR$134;"Not Found"
5300IFERR=&CETHENk%=9:PRINTTAB(12,11);C
HR$134;"Bad Directory"
5310IFERR=&FETHENk%=9:PRINTTAB(12,11);C
HR$134;"Bad Command"
5320IFERR=&A9THENk%=9:PRINTTAB(10,11);C
HR$134;"Bad Free Space Map"
5330IFERR=&98THENk%=9:PRINTTAB(10,11);C
HR$134;"ADFS Compaction Reqd"
5340IFERR=&C3THENk%=9:PRINTTAB(15,11);C
HR$134;"ADFS (locked)"
5350PRINTTAB(2,15);CHR$134;"SYSTEMS mus
t re-boot - PRESS RETURN":IFk%=0PRINTTAB
(10,11)"";:REPORT:PRINT;" (";ERL;")":k%=
9
5370A=GET:IFk%=9PROCC(200):CLS:PROCC(20
0):PROCQ:PROCC(300):OSCLI"DIR :0.$":CHAI
N"SERVER1"
5390=k%
5410DEFPROCd:PRINTTAB(1,15);CHR$135;"Ac
cessing Directory ... ";:o$=LEFT$(k$,(LE
Nk$-1)):OSCLI"FADFS":OSCLI("DIR "+o$):PR
INT"done":PROCC(50):ENDPROC
5490DEFPROCM:PROCA:PRINTTAB(1,4);CHR$13
4;"MARK PROGRAM FOR DELETION":PROCF(6,7,
9):FA%=FNB(5,9,29,13):IFFA%=4PROCl
5550IFFA%=1PROCm
5560IFFA%=2PROCn
5570IFFA%=3PROCo
5580B$="":C$="":D$="":E$="":F$="":G$=""
:H$="":I$="":J$="":ENDPROC
5610DEFPROCl:PROCA:PROCF(7,7,9):GA%=FNB
(5,9,30,10):IFGA%=1ENDPROC
5660PROCS:B=OPENIN"PROGFLE":CLOSE#B:IFB
=0ENDPROC
5680OSCLI"DELETE PROGFLE":PROCR(5):PROC
A:PRINTTAB(11,8);CHR$134;"Deletion Compl
ete":PRINTTAB(8,10);CHR$134;"Suggest Com
pacting Disc":PRINTTAB(2,15);CHR$134;"SY
STEMS must re-boot - PRESS RETURN":A=GET
:PROCC(250):CLS:PROCC(250):PROCQ:PROCC(3
00):OSCLI"DIR :0.$":CHAIN"SERVER1":ENDPR
OC
5770DEFPROCm
5780PROCA:PRINTTAB(11,8);CHR$134;"Delet
e Program":PRINTTAB(8,10);CHR$134;"Enter
Program Number":PROCQ:B$=FND(16,12,5):P
ROCB:IFB$="E"CLOSE#0:ENDPROC
5830IFVALB$>a%GOTO5780
5840IFVALB$<1GOTO5780
5850PROCp:ENDPROC
5880DEFPROCo:PROCA:PRINTTAB(1,7);CHR$13
4;"Enter Record Numbers":PRINTTAB(1,8);C
HR$134;"of Selected Programs":FORs%=10TO
16:PROCF(8,1,s%):NEXT:PROCQ
5960PRINTTAB(8,10);CHR$135;:B$=FND(8,10
,5):IFVALB$>a%GOTO5960
5980IFVALB$<0GOTO5960
5990PRINTTAB(8,11);CHR$135;:C$=FND(8,11
,5):IFVALC$>a%GOTO5990
6010IFVALC$<0GOTO5990
6020PRINTTAB(8,12);CHR$135;:D$=FND(8,12
,5):IFVALD$>a%GOTO6020
6040IFVALD$<0GOTO6020
6050PRINTTAB(8,13);CHR$135;:E$=FND(8,13
,5):IFVALE$>a%GOTO6050
6070IFVALE$<0GOTO6050
6080PRINTTAB(8,14);CHR$135;:F$=FND(8,14
,5):IFVALF$>a%GOTO6080
6100IFVALF$<0GOTO6080
6110PRINTTAB(8,15);CHR$135;:G$=FND(8,15
,5):IFVALG$>a%GOTO6110
6130IFVALG$<0GOTO6110
6140PRINTTAB(8,16);CHR$135;:H$=FND(8,16
,5):IFVALH$>a%GOTO6140
6160IFVALH$<0GOTO6140
6170PROCB:PRINTTAB(3,19);CHR$134;"CONFI
RM";TAB(15,19);CHR$134;"ABANDON":PROCW:s
%=FNC(1,19,12,2):IFs%=2CLOSE#0:ENDPROC
6190PROCp:ENDPROC
6220DEFPROCn
6230PROCA:PRINTTAB(8,8);CHR$134;"Enter
Start Record Number":PROCQ:B$=FND(13,10,
5):PROCB:IFB$="E"ENDPROC
6270IFVALB$<1ORVALB$>a%GOTO6230
6280PROCA:PRINTTAB(8,8);CHR$134;"Enter
Finish Record Number":PROCQ:J$=FND(13,10
,5):PROCB:IFJ$="E"ENDPROC
6320IFVALJ$<=VALB$GOTO6280
6330IFVALJ$>a%GOTO6280
6340PROCp:ENDPROC
6370DEFPROCp:PROCS:PROCB:B=OPENIN"PROGF
LE":F=OPENOUT"NEW":IFB=0CLOSE#B:ENDPROC
6420IFEOF#BCLOSE#B:ENDPROC
6430m%=0:PTR#F=0:REPEAT:PTR#B=(m%*220):
INPUT#B,L$,M$,k$,l$,m$,p$,q$,r$,HA%,s$,t
$,IA%:IFJ$<>""l%=FNE(VALB$,VALJ$,HA%)
6480IFJ$<>""ANDl%=9THENl%=0:IA%=9
6490IFJ$<>""ANDl%=0GOTO6570
6500IFVALB$=HA%IA%=9
6510IFVALC$=HA%IA%=9
6520IFVALD$=HA%IA%=9
6530IFVALE$=HA%IA%=9
6540IFVALF$=HA%IA%=9
6550IFVALG$=HA%IA%=9
6560IFVALH$=HA%IA%=9
6570PRINT#F,L$,M$,k$,l$,m$,p$,q$,r$,HA%
,s$,t$,IA%:m%=m%+1:PTR#F=(m%*220):UNTILP
TR#B>=(a%*220)OR((m%*220)+220)>EXT#B:CLO
SE#B:CLOSE#F:m%=0:*DELETE PROGFLE
6630*RENAME NEW PROGFLE
6640PROCR(5):ENDPROC
6670DEFFNE(JA%,KA%,LA%):IFLA%>=JA%ANDLA
%<=KA%THEN=9
6690=0
6710DEFPROCN:PROCA:PROCE:PRINTTAB(1,4);
CHR$134;"COMPRESS PROGRAM FILE":PRINTTAB
(1,8);CHR$134;"This Routine Will ...":PR
INTTAB(1,10);CHR$134;"1. Repair ""Tatter
ed"" Records":PRINTTAB(1,12);CHR$134;"2.
Delete Marked Records":PRINTTAB(1,14);C
HR$134;"3. Renumber All Records"
6790PRINTTAB(3,19);CHR$134;"ABANDON";TA
B(15,19);CHR$134;"CONFIRM":PROCW:s%=FNC(
1,19,12,2):IFs%=1ENDPROC
6830PROCS:PROCA:PRINTTAB(10,11);CHR$134
;"Compressing File":B=OPENIN"PROGFLE":F=
OPENOUT"NEW":IFB=0CLOSE#B:ENDPROC
6890IFEOF#BCLOSE#B:ENDPROC
6900REPEAT:PTR#B=(n%*220):INPUT#B,£$,a$
,b$,c$,d$,e$,f$,g$,CA%,u$,v$,MA%:n%=n%+1
:IFMA%=9GOTO6960
6940PRINT#F,£$,a$,b$,c$,d$,e$,f$,g$,(o%
+1),u$,v$,MA%:o%=o%+1:PTR#F=(o%*220)
6960UNTILPTR#B>=(a%*220)OR((n%*220)+220
)>EXT#B:CLOSE#B:CLOSE#F:n%=0:o%=0:*DELET
E PROGFLE
6990*RENAME NEW PROGFLE
7000PROCR(5):PROCA:PRINTTAB(9,10);CHR$1
34;"Compression Complete":PRINTTAB(2,15)
;CHR$134;"SYSTEMS must re-boot - PRESS R
ETURN":A=GET:PROCC(250):CLS:PROCC(250):P
ROCQ:PROCC(300):OSCLI"DIR :0.$":CHAIN"SE
RVER1":ENDPROC
7070DEFPROCO:w$="":i$="":G=FALSE:NA%=0:
PROCA:PROCE:PRINTTAB(1,4);CHR$134;"PROGR
AM DETAILS"
7120PROCQ:PRINTTAB(1,7);CHR$134;"PROG N
o";CHR$135;TAB(1,8);CHR$134;" NAME";CH
R$135:i$=FND(9,7,5):PROCB:IFVALi$>0ANDVA
Li$<=a%GOTO7210
7140IFVALi$>a%GOTO7120
7150IFi$="E"CLOSE#0:ENDPROC
7160PRINTTAB(2,13);CHR$129;"For a Parti
al Name Search enter the":PRINTTAB(2,14)
;CHR$129;"""?"" symbol followed by searc
h text.":PRINTTAB(2,15);CHR$129;"Eg - ""
?Sys"" to search for ""Systems""":PROCQ:
w$=FND(9,8,21):PROCB:IFw$<>""PROCA:PRINT
TAB(13,11);CHR$134;"Searching"
7210PROCS:B=OPENIN"PROGFLE":IFB=0CLOSE#
B:ENDPROC
7240IFEOF#BCLOSE#B:ENDPROC
7250IFVALi$>0ANDVALi$<=a%AND(VALi$*220)
<=EXT#BPTR#B=(VALi$*220)-220:INPUT#B,£$,
a$,b$,c$,d$,e$,f$,g$,CA%,u$,v$,MA%:CLOSE
#B:PROCq(1)
7260IFi$<>""ENDPROC
7270Y$=RIGHT$(w$,(LENw$-1)):PTR#B=0:REP
EAT:PTR#B=(NA%*220):INPUT#B,£$,a$,b$,c$,
d$,e$,f$,g$,CA%,u$,v$,MA%:IFINSTR(£$,Y$)
>0PROCq(2):GOTO7330
7330NA%=NA%+1:UNTILPTR#B>=(a%*220)OR((N
A%*220)+220)>EXT#BORG=TRUE:CLOSE#B:G=FAL
SE:PROCA:PRINTTAB(11,11);CHR$134;"Search
Complete":PRINTTAB(1,19);CHR$132;CHR$15
7;CHR$134;"PRESS RETURN ";CHR$156:A=GET
:ENDPROC
7400DEFPROCq(OA%):PA%=0:PROCI:PROCA:PRI
NTTAB(1,6);CHR$134;"PROG No";CHR$135;CA%
;TAB(16,6);CHR$134;"OPTION";CHR$135;b$:P
RINTTAB(1,7);CHR$134;"DISC No";CHR$135;d
$:IFc$="A"PRINTTAB(15,7);CHR$134;"SURFAC
E";CHR$135;"ADFS drive ";
7470IFc$="A"ANDLEFT$(g$,2)=":1"PRINTTAB
(35,7);"1"
7480IFc$="A"ANDLEFT$(g$,2)<>":1"PRINTTA
B(35,7);"0"
7490IFc$<>"A"PRINTTAB(15,7);CHR$134;"SU
RFACE";CHR$135;"Drive ";c$
7500PRINTTAB(2,9);CHR$134;"NAME";CHR$13
5;£$:PRINTTAB(1,10);CHR$134;"CLASS";CHR$
135;a$:PRINTTAB(1,11);CHR$134;"OWNER";CH
R$135;e$:PRINTTAB(1,12);CHR$134;" FILE";
CHR$135;f$:IFg$="$."PRINTTAB(1,13);CHR$1
34;" DIR";CHR$135;"$ (root)"ELSEPRINTTA
B(1,13);CHR$134;" DIR";CHR$135;g$
7550PRINTTAB(1,14);CHR$134;"CONDN";CHR$
135:IFMA%=0PRINTTAB(8,14);"LIVE"ELSEPRIN
TTAB(8,14);"MARKED FOR DELETION"
7570PRINTTAB(1,16);CHR$135;u$;TAB(1,17)
;CHR$135;v$:IFOA%=2PRINTTAB(3,19);CHR$13
4;"CONTINUE";TAB(15,19);CHR$134;"ABANDON
":PROCW:PA%=FNC(1,19,12,2)
7590IFOA%=2ANDPA%=2THENG=TRUEELSEG=FALS
E
7600IFOA%=1PRINTTAB(1,19);CHR$132;CHR$1
57;CHR$134;"PRESS RETURN ";CHR$156:A=GE
T:ENDPROC
7610ENDPROC
7630DEFPROCP
7640PROCA:PROCE:PROCI:PRINTTAB(1,4);CHR
$134;"AMEND PROGRAM RECORD":PROCQ:PRINTT
AB(1,7);CHR$134;"PROG No";CHR$135;:INPUT
""w%:PROCB:IFw%>a%GOTO7640
7700IFw%<1CLOSE#0:ENDPROC
7710PROCS:B=OPENIN"PROGFLE":IFB=0CLOSE#
B:ENDPROC
7740IFEOF#BCLOSE#B:ENDPROC
7750IF((w%*220)-220)>=EXT#BCLOSE#B:ENDP
ROC
7760PTR#B=((w%*220)-220):INPUT#B,P$,N$,
O$,Q$,R$,S$,T$,U$,r%,V$,W$,QA%:CLOSE#B:P
ROCI:PROCF(1,1,6):PRINTTAB(3,17);CHR$134
;"STATUS":PRINTTAB(10,6);CHR$135;P$:PRIN
TTAB(10,7);CHR$135;N$:PRINTTAB(10,8);CHR
$135;O$:IFQ$="A"PRINTTAB(10,9);CHR$135;"
ADFS disc":GOTO7870
7860PRINTTAB(10,9);CHR$135;Q$
7870PRINTTAB(10,10);CHR$135;R$:PRINTTAB
(10,11);CHR$135;S$:PRINTTAB(10,12);CHR$1
35;T$:PRINTTAB(10,13);CHR$135;U$:PRINTTA
B(1,15);CHR$135;V$:PRINTTAB(1,16);CHR$13
5;W$:IFQA%=0PRINTTAB(10,17);CHR$135;QA%;
" (live)"
7940IFQA%=9PRINTTAB(10,17);CHR$135;QA%;
" (marked for deletion)"
7950P$=FNF(11,6,28,P$)
7960N$=FNF(11,7,2,N$):PROCU:IFLENN$<2GO
TO7960
7970PRINTTAB(11,7);SPC20;TAB(11,7);N$
7980O$=FNF(11,8,3,O$):PROCV:IFLENO$<3GO
TO7980
7990PRINTTAB(11,8);SPC20;TAB(11,8);O$
8000Q$=FNF(11,9,2,Q$):IFQ$<>"1"ANDQ$<>"
2"ANDQ$<>"3"ANDQ$<>"0"ANDQ$<>"A"GOTO8000
8010IFQ$="A"PRINTTAB(11,9);"ADFS disc"
8020R$=FNF(11,10,6,R$):S$=FNF(11,11,21,
S$)
8040T$=FNF(11,12,11,T$):IFT$=""GOTO8040
8060IFINSTR(T$,".")<>0GOTO8040
8070IFINSTR(T$,":")<>0GOTO8040
8080IFQ$<>"A"ANDLENT$>7GOTO8040
8090U$=FNF(11,13,21,U$):IFU$=""GOTO8090
8110IFRIGHT$(U$,1)="."ANDLENU$>2ANDQ$<>
"A"GOTO8090
8120IFRIGHT$(U$,1)<>"."ANDLENU$>1ANDQ$<
>"A"GOTO8090
8130IFRIGHT$(U$,1)="."GOTO8160
8140IFQ$<>"A"ANDLENU$>1GOTO8090
8150U$=U$+"."
8160V$=FNF(2,15,39,V$):W$=FNF(2,16,39,W
$)
8180x$=STR$QA%:x$=FNF(11,17,1,x$):IFx$<
>"9"ANDx$<>"0"GOTO8180
8200QA%=VALx$:IFQA%=0PRINTTAB(13,17);"(
live) "
8220IFQA%=9PRINTTAB(13,17);"(marked for
deletion) "
8230PRINTTAB(3,19);CHR$134;"CONFIRM";TA
B(15,19);CHR$134;"ABANDON":PROCW:IFFNC(1
,19,12,2)=2ENDPROC
8250PROCS:PROCA:PRINTTAB(12,11);CHR$134
;"Please Wait":B=OPENIN"PROGFLE":F=OPENO
UT"NEW":PTR#B=0:PTR#F=0:IFB=0CLOSE#0:END
PROC
8300IFEOF#BCLOSE#0:ENDPROC
8310RA%=0:REPEAT:PTR#B=(RA%*220):INPUT#
B,£$,a$,b$,c$,d$,e$,f$,g$,CA%,u$,v$,MA%:
IFCA%=w%ANDCA%=r%PRINT#F,P$,N$,O$,Q$,R$,
S$,T$,U$,r%,V$,W$,QA%:GOTO8370
8360PRINT#F,£$,a$,b$,c$,d$,e$,f$,g$,CA%
,u$,v$,MA%
8370RA%=RA%+1:PTR#F=(RA%*220):UNTILPTR#
B>=(a%*220)OR((RA%*220)+220)>EXT#B:CLOSE
#B:CLOSE#F:*DELETE PROGFLE
8410*RENAME NEW PROGFLE
8420PROCR(5):PROCA:PRINTTAB(9,10);CHR$1
34;"Alterations Complete":PRINTTAB(1,19)
;CHR$132;CHR$157;CHR$134;"PRESS RETURN
";CHR$156:A=GET:PROCA:ENDPROC
8460DEFFNF(JA%,KA%,LA%,y$):L$="":M$="":
v%=0:LA%=LA%-1:PRINTTAB(JA%,KA%);"";:PRO
CQ:REPEAT
8510L$=GET$:IFL$=CHR$13GOTO8590
8530IFL$=CHR$127ANDv%<1VDU7:GOTO8510
8540IFL$=CHR$127PRINT;CHR$127;M$=LEFT$(
M$,(LENM$-1)):v%=v%-1:GOTO8590
8550IFv%>LA%VDU7:GOTO8510
8560M$=M$+L$:PRINT;L$;:v%=v%+1
8590UNTILL$=CHR$13:IFM$<>""y$=M$
8610IFy$=" "y$=""
8620PRINTTAB(JA%,KA%);SPCLA%:PRINTTAB(J
A%,KA%);y$:PROCB:=y$