8-Bit Software Online Conversion
                
             
        
        
    
:0.$.!Boot - Listing
    
       10REM¶*Basic                         
   20REM¶CHAIN"$.!Boot"                 
   30*Exec                              
   40REM ***                            
   50REM First three lines MUST NOT be e
dited                                   
   60REM 8BS Menu, S.Flintham.          
   70REM Modified by J.Ripley, C.J.Richa
rdson, J.G.Harston, V2.10               
   80MODE&87:VDU23;8202;0;0;0;          
   90PROCa:PROCb                        
  100ONERRORVDU3:MODE7:REPORT:PRINT" at 
line ";ERL:PROCc("FX21"):PROCc("KEY0 LIS
T "+STR$(ERL)+"|M"):PROCc("FX138,0,128")
:PROCd:END                              
  110REPEATe$=FNf:IFASCe$<>27:PROCg(e$) 
  120UNTILASCe$=27:MODE7:PROCd:END      
  130:                                  
  140DEFPROCa:*FX4,1                    
  150*FX225,128                         
  160*FX229,1                           
  170ENDPROC                            
  180DEFPROCd:*FX4                      
  190*FX225,1                           
  200*FX229                             
  210ENDPROC                            
  220:                                  
  230DEFFNS:IFTOP-PAGE>&2200:PRINT"Too l
ong"                                    
  240="$.!Boot"                         
  250DEFPROCb:*FX12                     
  260v$="MODE3TEXT MODE7TTXT ARCHIARCHIC
HAINBASICLOAD LOAD LIST LIST "          
  270d%=3:REM Description               
  280i%=4:REM ID                        
  290p%=5:REM Menu outline              
  300q%=6:REM "8-Bit Software"          
  310r%=3:REM Date + issue              
  320s%=4:REM Menu heading              
  330t%=5:REM Letters                   
  340u%=6:REM Menu items                
  350v%=3:REM Help prompt               
  360w%=4:REM Selection bar             
  370x%=5:REM Help screen title         
  380y%=6:REM Help screen text          
  390z%=7:REM Help screen prompt        
  400aa%=7:REM Scroll screen text       
  410ba%=7:REM Unused                   
  420:                                  
  430DIMh%256,l%(14):i$=FNj             
  440PROCfs("$"):RESTORE:READ n$,m$     
  450IFLEFT$(STR$(V%),5)="985"+n$:f%=VAL
(MID$(STR$(V%),6,2)):e%=VAL(MID$(STR$(V%
),8,2)) ELSE f%=1:e%=1                  
  460VDU26:CLS:PRINTCHR$(128+i%);" I.D. 
";i$;" ";CHR$(144+p%);"¶///////%¶///////
//////////¶";                           
  470PRINTCHR$(144+p%);"¶///////////*///
/////";CHR$(128+r%);"    Issue ";LEFT$(n
$,2);"-1 ";CHR$(144+p%);"¶";            
  480PRINTCHR$(144+p%);"¶";CHR$(144+q%);
"6£4 7i(h0 6) 0`$t` ` 0 0`          ";CH
R$(144+p%);"¶";                         
  490PRINTCHR$(144+p%);"¶";CHR$(144+q%);
"6£4!7ijj  2ijjj!5jhj`nj =!";CHR$(128+r%
);LEFT$(m$,8);CHR$(144+p%);"¶";         
  500PRINTCHR$(144+p%);"                
""£  £!" ! "! !" " !! £" "!         ";CH
R$(145);" ";                            
  510FORn%=1TO18:PRINTCHR$(144+p%);"¶";S
PC(36);CHR$(144+p%);"¶";:NEXT           
  520PRINTCHR$(144+p%);"¶|||||||||||||||
||||||||||||||||||||||¶";               
  530VDU28,2,22,37,5                    
  540ENDPROC                            
  550DEFPROCfs(A$):LOCALA%,Y%,E%,n%:fs%=
(USR&FFDA)AND&FF:l$=A$:IFA$="":l$="$.Lib
rary":IFfs%=4 ORfs%=65:l$=":0.%"        
  560PROCc("LIB "+l$):IFA$="":IFfs%>4:n%
=OPENIN("%"):IFn%:CLOSE#n%:l$="%"       
  570t3$=l$+".7to3":t7$=l$+".3to7":sc$=l
$+".Scroll":ar$=l$+".Archive":ENDPROC   
  580:                                  
  590DEFPROCc($h%):LOCALX%,Y%           
  600X%=h%:Y%=X%DIV256:CALL&FFF7        
  610ENDPROC                            
  620DEFPROCos(c$):IFLEFT$(c$,1)="*":PRO
Cc(c$):ENDPROC                          
  630I%=INSTR(c$," "):IFI%:PROCc("KEY0 |
@"+MID$(c$,I%+1)+"|M"):*FX138,0,192     
  640CHAINc$:ENDPROC                    
  650DEFFNj=$(PAGE+&2F)                 
  660DEFFNf:LOCALt$,n%,m$,s$,g%,m%      
  670CLS:PROCla(f%):READt$,n%           
  680IFn%>14:n%=14                      
  690PRINTTAB(0,0);CHR$(128+s%);TAB(1+(1
7.5-(LEN(t$)/2)),0);t$                  
  700FORm%=1TOn%:READm$,s$,s$,s$        
  710o%=VALs$:IFo%=0:o%=-1-INSTR(v$,LEFT
$(s$,5))DIV10                           
  720l%(m%)=o%:PRINTTAB(1,1+m%);"  ";CHR
$(128+t%);CHR$(64+m%);CHR$(128+u%);m$;TA
B(35,1+m%);CHR$156;:NEXT                
  730PRINTTAB(1,1+e%);CHR$(128+w%);CHR$1
57;                                     
  740PRINTTAB(0,17);CHR$(128+v%);"Press"
;CHR$129;"f0";CHR$(128+v%);"for help.";C
HR$(128+d%);                            
  750REPEAT:REPEAT*FX21                 
  760PRINTTAB(20,17);:IFl%(e%)>0:PRINT"A
nother menu  ";ELSE PRINTMID$("Runs Code
     80 Column Text40 Column TextArchive
       Basic Program Loads Basic   Lists
 Basic   -7            -8            -9 
           ",-14*l%(e%)+1,14);          
  770g%=GET:IF(g%AND&E0)=&60:g%=g%-32   
  780UNTILINSTR(CHR$128+CHR$138+CHR$139+
CHR$13+"48OPRSX",CHR$g%)OR(g%>64 ANDg%<=
64+n%)OR(g%=27ANDINKEY-1)               
  790PRINTTAB(1,1+e%);"  ";             
  800IFg%=138:e%=e%MODn%+1              
  810IFg%=139:e%=e%-1:IFe%=0:e%=n%      
  820IFg%>64ANDg%<=64+n%:e%=g%-64       
  830PRINTTAB(1,1+e%);CHR$(128+w%);CHR$1
57;                                     
  840V%=985000000+VALn$*10000+f%*100+e% 
  850UNTILINSTR("48OPRSX"+CHR$128+CHR$27
+CHR$13,CHR$g%):IFg%=128:PROCma         
  860PRINTTAB(5,1+e%);">";              
  870=CHR$(g%)+STR$(e%)                 
  880:                                  
  890DEFPROCma:LOCALg%:CLS              
  900PRINTTAB(5,0);CHR$(128+x%);"Using t
he 8BS menu system"                     
  910PRINTTAB(0,2);CHR$(128+y%);"Use the
 up and down cursor keys to"'CHR$(128+y%
);"move the bar or press the letter"'CHR
$(128+y%);"next to the required menu opt
ion to";CHR$(128+y%);"position it immedi
ately."                                 
  920PRINT'CHR$(128+y%);"Press RETURN to
 load or view the"'CHR$(128+y%);"highlig
hted program/article. If it"'CHR$(128+y%
);"is an article, pressing 8 will"'CHR$(
128+y%);"display it in 80 columns. Press
ing"                                    
  930PRINTCHR$(128+y%);"4 will display i
t in 40 columns,"                       
  940PRINTCHR$(128+y%);"P will print it 
out and pressing"'CHR$(128+y%);"O will a
llow you to view it in"'CHR$(128+y%);"te
letext mode with your own choice"'CHR$(1
28+y%);"of scrolling keys."             
  950PRINTTAB(0,16);CHR$(128+z%);"Press"
;CHR$(129);"f0";CHR$(128+z%);"for more h
elp or ESCAPE"'CHR$(128+z%);"to return t
o the menu...";                         
  960REPEAT:*FX21                       
  970g%=GET:UNTILg%=27ORg%=128          
  980IFg%=27:ENDPROC                    
  990CLS:PRINTTAB(5,0);CHR$(128+x%);"Usi
ng the 8BS menu system"                 
 1000PRINTTAB(0,2)CHR$(128+y%)"If it is 
a Basic program, pressing"'CHR$(128+y%)"
R will run it, S will load it, and"'CHR$
(128+y%)"X will load and list it. Pressi
ng"                                     
 1010PRINTCHR$(128+y%)"Return will run/l
oad/list the"'CHR$(128+y%)"program with 
the default option."                    
 1020PRINT'CHR$(128+y%);"Pressing SHIFT 
and ESCAPE together"'CHR$(128+y%);"at th
e menu will return you to"'CHR$(128+y%);
"BASIC."                                
 1030PRINTTAB(0,16);CHR$(128+z%);"Press 
ESCAPE to return to the"'CHR$(128+z%);"m
enu...";                                
 1040REPEAT:*FX21                       
 1050UNTILGET=27:ENDPROC                
 1060:                                  
 1070DEFPROCg(e$):IFASCe$=128:ENDPROC   
 1080LOCALn%,x$,d$,f$,s$                
 1090PROCla(f%):READd$,n%               
 1100FORn%=1TOVAL(MID$(e$,2))           
 1110READx$,d$,f$,s$:NEXT:VDU30,10,152  
 1120IFVALs$>99:IFVALs$DIV100=fs%:s$=RIG
HT$(s$,2) ELSE IFVALs$>99:s$="0"        
 1130o%=VALs$:IFo%>0:f%=o%:e%=1:ENDPROC 
 1140IFo%=0 ANDs$="0":ENDPROC           
 1150e$=CHR$ASCe$:PROCd:IFd$="%":d$=l$  
 1160REM IFfs%=4 AND MID$(f$,2,1)="/":f$
=LEFT$(f$,1)+"."+MID$(f$,3)             
 1170REM IFfs%=4 AND x$<>"":d$=x$       
 1180IFfs%=4:f$=LEFT$(f$,7-2*(MID$(f$,2,
1)="."))                                
 1190IFo%=0:o%=-1-INSTR(v$,LEFT$(s$,5))D
IV10                                    
 1200IFo%=-1:PROCu:ENDPROC              
 1210IFo%=-2:PROCv:ENDPROC              
 1220IFd$<>"":PROCc("DIR "+d$)          
 1230IFo%=-3:PROCos(ar$+" -quit $.!Boot|
M -e "+f$):ENDPROC                      
 1240IFo%>-7 ANDo%<-2 ANDe$<>CHR$13:o%=I
NSTR("XSR",e$)-7                        
 1250IFo%=-4:CHAINf$                    
 1260IFo%=-5:PROCc("KEY0 LOAD"""+f$+"""|
F|M"):PROCc("FX21"):PROCc("FX138,0,128")
:VDU22,7:END                            
 1270IFo%=-6:PROCc("KEY0 LOAD"""+f$+"""|
MLIST|F|N|M|O"):PROCc("FX21"):PROCc("FX1
38,0,128"):VDU22,7:END                  
 1280PROCos(s$+" "+f$):END              
 1290ENDPROC                            
 1300:                                  
 1310DEFPROCu                           
 1320IFd$<>"":f$=d$+"."+f$              
 1330IFe$="4":PROCos(t7$+" "+f$)        
 1340PROCos(sc$+" -lp *lp -4 "+t7$+" "+f
$+" -quit $.!Boot")                     
 1350ENDPROC                            
 1360DEFPROCv                           
 1370IFd$<>"":f$=d$+"."+f$              
 1380IFe$="8":Z%=0:PROCos(t3$+" "+f$)   
 1390IFe$="P":Z%=1:PROCos(t3$+" "+f$)   
 1400IFe$<>"O":PROCd:PROCc("KEY0 *Load "
+f$+"|MCALL &1904|M"):PROCc("FX138,0,128
"):END                                  
 1410CLS:PRINTCHR$(128+aa%);"Please pres
s the key to use to"'CHR$(128+aa%);"scro
ll up...":?&80=0:?&80=FNya              
 1420PRINT'CHR$(128+aa%);"Please press t
he key to use to"'CHR$(128+aa%);"scroll 
down...":*FX21                          
 1430?&81=FNya:PROCd:PROCc("KEY0 *LOAD "
+f$+"|M?&1974=?&80:?&1981=?&81:CALL&1904
|F|M"):*FX138,0,128                     
 1440VDU21:END                          
 1450ENDPROC                            
 1460DEFFNya:LOCALA%,B%:A%=&7A          
 1470REPEAT:B%=255-((USR&FFF4)AND&FF00)D
IV256:UNTILB% ANDB%<>182ANDB%<>?&80     
 1480=B%                                
 1490DEFPROCla(f%):LOCALm$,n%:RESTORE:RE
ADm$,m$:IFf%<2:ENDPROC                  
 1500REPEATREADm$,n%:REPEAT             
 1510READm$,m$,m$,m$:n%=n%-1:UNTILn%<1:f
%=f%-1:UNTILf%<2:ENDPROC                
 1520:                                  
 1530REM Issue num, Issue Date          
 1540DATA 52,24/10/96                   
 1550:                                  
 1560DATA Magazine Disc Menu,7          
 1570DATA About This Disc,:0,Thi1,-2    
 1580DATA Editorial,:0,Editori,-1       
 1590DATA Program Info Menu,,,2         
 1600DATA Messages Menu,,,3             
 1610DATA Articles Menu,,,4             
 1620DATA Adverts Menu,,,5              
 1630DATA 8BS Messaging System,:0,SendMe
s,-4                                    
 1640:                                  
 1650DATA Program Info,9                
 1660DATA Program Info Collection,:2,Doc
1,-2                                    
 1670DATA Messaging System Info,:0,QMesI
nf,-2                                   
 1680DATA Arch/Dearchiver Info,:0,A/Dinf
o,-2                                    
 1690DATA Text File Reader Info,:0,ScroI
nf,-1                                   
 1700DATA Prime Numbers,:2,Primes,-1    
 1710DATA Time/Date Functions,:2,Times,-
1                                       
 1720DATA View Printer Driver Generator,
:2,VPDinf,-2                            
 1730DATA Messages Menu,,,3             
 1740DATA Return To Main Menu,,,1       
 1750:                                  
 1760DATA Messages,8                    
 1770DATA FIGHT FIGHT FIGHT!,:0,FromK6X,
-2                                      
 1780DATA To You,:0,uu,-2               
 1790DATA Comments on Programs,:0,Commen
t,-2                                    
 1800DATA Help Offered,:0,HelpYou,-2    
 1810DATA Help Wanted,:0,HelpMe,-2      
 1820DATA General Messages,:0,Gen1,-2   
 1830DATA Articles Menu,,,4             
 1840DATA Return To Main Menu,,,1       
 1850:                                  
 1860DATA Articles,9                    
 1870DATA Regular Contacts,:0,Contact,-2
                                        
 1880DATA Prime Numbers,:2,Prime,-1     
 1890DATA 8BS Charges,:2,Charges,-2     
 1900DATA On Timing,:2,OhNo,-2          
 1910DATA Who Dunnit,:2,WhoDun,-1       
 1920DATA 8BS Membership List,:2,Mship,-
1                                       
 1930DATA TBI Totals,:2,TbiTot,-1       
 1940DATA Adverts Menu,,,5              
 1950DATA Return To Main Menu,,,1       
 1960:                                  
 1970DATA Adverts Menu,8                
 1980DATA 8BS Advert,:2,8BSAD,-1        
 1990DATA For Sale,:0,ForSale,-2        
 2000DATA Wanted,:0,Wanted,-2           
 2010DATA Superior Software Offer,:0,Sup
Soft,-1                                 
 2020DATA From 4WL,:2,From4WL,-1        
 2030DATA From D6G,:2,D6Gad,-1          
 2040DATA From D6E,:2,D6Ead,-1          
 2050DATA Return To Main Menu,,,1       
 2060: