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$