8-Bit Software Online Conversion
                
             
        
        
    
8BS Magazine Search - Listing
    
       10*KEY 0 *COMP.|MCHAIN"SEARCH"|M     
   30a%=0:h%=10:v%=10:p%=3:pa%=15:P$="Of
f":Pa$="Off":E%=1:s%=0:F%=0:G%=0:H$="   
  ......................................
............":PROCSr                    
   40ONERRORMODE7:PROCErr               
   50MODE7:REPEAT:PROCEnter:IFs%=1MODE0:
PROCSearch:PROCF:s%=0:MODE7             
   60IFs%=2MODE0:PROCSearch2:PROCF:s%=0:
MODE7                                   
   70IFs%=3MODE7:PROCAdd:s%=0:MODE7     
   80IFs%=4PROCInput("Please Enter  Issu
e Number",14,21):MODE0:PROCSearch4:MODE7
:s%=0                                   
   90UNTILs%=5:PROCEnd:END              
  110DEFPROCSearch:VDU23,1,0;0;0;0;:VDU2
8,1,28,77,1:V%=-1:PROCbox:F%=OPENIN"Comp
let":VDUp%:VDUpa%:REPEAT:INPUT#F%,A$:C$=
A$:A$=FNlower                           
  120A=INSTR(A$,E$):IFA>0 F$=C$:C1$="1" 
  130X=INSTR(A$,B$):PROCmove:IFa%=1ANDF$
<>C$ANDC1$="1"V%=V%+1:PRINTTAB(0,V%)F$:C
1$="0"                                  
  140IFX>0ANDF$<>C$ANDC1$="1"V%=V%+1:PRI
NTTAB(0,V%)';F$:C1$="0":V%=V%+1         
  150IFX>0ANDF$<>C$V%=V%+1:PRINTTAB(0,V%
)C$                                     
  160IFV%>=27 V%=26                     
  170UNTILEOF#F%:CLOSE#F%:F%=0:a%=0     
  180VDU3:VDU15:ENDPROC                 
  200DEFPROCSr                          
  210CLS                                
  220FORL%=0TO2STEP2                    
  230P%=&900                            
  240[                                  
  250OPT L%                             
  260LDY#&FF                            
  270.loop                              
  280INY                                
  290LDA store%,Y                       
  300CMP#13                             
  310BEQout                             
  320ORA#32                             
  330STA store%,Y                       
  340JMP loop                           
  350.out                               
  360RTS                                
  370.store%                            
  380]                                  
  390NEXT                               
  400ENDPROC                            
  410DEFFNlower                         
  420$store%=A$                         
  430CALL&900                           
  440=$store%                           
  460DEFPROCInput(G$,H%,I%)             
  470PRINTTAB(6,19)" ";G$;"  "          
  480PRINTTAB(H%+2,21)" (";TAB(I%,21);" 
)"                                      
  490INPUTTAB(H%+4,21);A$               
  500PRINTTAB(8,17)" Please wait : Scann
ing":A=INKEY(150)                       
  510A$=FNlower:B$=A$                   
  520E$="8-bit":s%=1                    
  530ENDPROC                            
  550DEFPROCScreen:T%=11                
  560PRINTTAB(0,0);CHR$(141);" Welcome t
o the 8-Bit Magazine Search":PRINTTAB(0,
1)CHR$(141);" Welcome to the 8-Bit Magaz
ine Search":PRINTTAB(0,2)CHR$(134);CHR$(
157);TAB(39,2)CHR$(156);TAB(16,5)CHR$(14
1);" MENU";TAB(16,6)CHR$(141);" MENU"   
  570PRINTTAB(T%,8)" 1:Specific Search";
TAB(T%,9)" 2:Title List";TAB(T%,10)" 3:B
lock Search";TAB(T%,12)" 5:Printer ";P$;
TAB(T%,13)" 6:Add New Issue";TAB(T%,17)"
   Press Number";TAB(T%,11)" 4:Issue Sea
rch";TAB(T%,15)" 8:Exit Program"        
  575PRINTTAB(T%,14)" 7:Paged Mode ";Pa$
                                        
  580ENDPROC                            
  600DEFPROCPrinter:IFp%=2THENp%=p%+1:P$
="Off":GOTO620                          
  610IFp%=3THENp%=2:P$="On "            
  620PRINTTAB(T%,12)" 5:Printer ";P$:END
PROC                                    
  640DEFPROCEnter                       
  650PROCScreen:VDU23,1,0;0;0;0;0       
  660REPEAT:G=GET:UNTILG>48ANDG<57:IFG=4
9PROCInput("Please Enter Search String",
9,26):ENDPROC                           
  670IFG=50PROCTS                       
  680IFG=51PROCBlock                    
  690IFG=52 s%=4:ENDPROC                
  700IFG=53PROCPrinter:s%=6:ENDPROC     
  710IFG=54 s%=3:ENDPROC                
  720IFG=55PROCPaged:s%=6:ENDPROC       
  725IFG=56 s%=5:ENDPROC                
  730ENDPROC                            
  750DEFPROCEnd:CLS:E%=0:PRINTTAB(0,12)"
 Thank you for using MAG SEARCH":ENDPROC
                                        
  770DEFPROCTS                          
  780PRINT''SPC(8)" Please wait : Scanni
ng":A=INKEY(150)                        
  790A$="8-BIT SOFTWARE":s%=1           
  800A$=FNlower:B$=A$                   
  810E$="8-bit software":s%=1           
  820a%=1                               
  830ENDPROC                            
  850DEFPROCBlock                       
  860PRINTTAB(T%,16);" Blocks Available 
 ";CHR$(156):T%=2:T1%=21                
  870PRINTTAB(T%,18)" :A.Magazine";TAB(T
1%,18);" :B.Utilities ";TAB(T%,19)" :C.G
ames & Demos";TAB(T1%,19);" :D.ADFS";TAB
(T%,20)" :E.Articles";TAB(T1%,20);" :F.A
dverts";TAB(T%,21);" :G.Program Info";TA
B(T1%,21);" :H.Messages"                
  880A1$="22"                           
  890REPEAT:G=GET:UNTILG>64ANDG<73      
  900IFG=65 A$="Magazine":A1$="main"    
  910IFG=66 A$="Utilities"              
  920IFG=67 A$="DEMOS":A1$="games"      
  930IFG=68 A$="ADFS"                   
  940IFG=69 A$="Articles"               
  950IFG=70 A$="Adverts"                
  960IFG=71 A$="Program Info"           
  970IFG=72 A$="Messages"               
  980A$=FNlower:B$=A$                   
  990E$="8-bit":s%=2                    
 1000ENDPROC                            
 1020DEFPROCSearch2:VDU23,1,0;0;0;0;0;:V
DU28,1,28,77,1:V%=-1:PROCbox:F%=OPENIN"C
omplet":VDUp%:VDUpa%:REPEAT:INPUT#F%,A$:
C$=A$:A$=FNlower                        
 1030A=INSTR(A$,E$):X=INSTR(A$,B$):B=INS
TR(A$,A1$):PROCmove:IFA>0 F$=C$:C1$="1" 
 1040IFX<>0ORB<>0ANDF$<>C$ANDLEN(A$)<27A
NDC1$="1"V%=V%+1:PRINTTAB(0,V%)F$:C1$="0
"                                       
 1050IFX<>0ORB<>0ANDF$<>C$ANDLEN(A$)<27 
V%=V%+1:PRINTTAB(0,V%)C$:REPEAT:INPUT#F%
,A$:V%=V%+1:PRINTTAB(0,V%)A$:UNTILLEN(A$
)<2:C1$="0"                             
 1060IFV%>=27 V%=26                     
 1070UNTILEOF#F%:CLOSE#F%:F%=0:a%=0:VDU3
:VDU15:ENDPROC                          
 1100DEFPROCAdd:Q$=FNdisctype(0):IFQ$="A
DFS"W$="Update"                         
 1105IFQ$="DFS"W$=":2.$.Update"         
 1110VDU23,1,0;0;0;0;0;:*FX200,1        
 1120B$="":C$="     ....................
..............................":EMPTY$="
"                                       
 1130PRINT" Please Enter Saved File Name
":INPUT" ";f$                           
 1140F%=OPENIN"COMPLET"                 
 1150G%=OPENOUTW$                       
 1160PRINTTAB(0,0);CHR$(141);" Welcome t
o the 8-Bit Magazine Search";TAB(0,1)CHR
$(141);" Welcome to the 8-Bit Magazine S
earch";TAB(0,2)CHR$(134);CHR$(157);TAB(3
9,2)CHR$(156)                           
 1170PRINTTAB(0,5);CHR$(141);" Updateing
 Issue";TAB(0,6)CHR$(141);" Updateing Is
sue";TAB(0,7)CHR$(134);CHR$(157);TAB(18,
7)CHR$(156):PRINT':PRINTCHR$(141);"  WAR
NING":PRINTCHR$(141);"  WARNING"        
 1180PRINTTAB(0,14)" Creating New Data F
ile"'" Wait until main screen reappears"
:PRINTTAB(0,16)" File Completed   :":PRI
NTTAB(0,17)" Approximate Time :"        
 1190REPEAT:INPUT#F%,A$:IFA$=" File Ends
 :-- Maximum Issue 99 at present"GOTO123
0                                       
 1195PRINT#G%,A$                        
 1200B%=EXT#F%-PTR#F%:B%=B%DIV177:PRINTT
AB(20,17);B%DIV60;" Mins ";B%MOD60;" Sec
s "                                     
 1210c%=EXT#F%/100:d%=INT(PTR#F%/c%):PRI
NTTAB(20,16);d%;"%"                     
 1220UNTILEOF#F%                        
 1230CLOSE#F%:F%=0                      
 1240PRINT'" Reading New Issue Data &"'"
 Updateing File"                        
 1250PROCConvert                        
 1260PRINT#G%,B$:PRINT#G%,C$:PRINT#G%,B$
                                        
 1265PRINT#G%," File Ends :-- Maximum Is
sue 99 at present"                      
 1270CLOSE#G%                           
 1280PRINT'" Now Tidying Files  Nearly F
inished"                                
 1290OSCLI"DEL. COMPLET"                
 1300IFQ$="ADFS"OSCLI"REN. Update Comple
t"                                      
 1305IFQ$="DFS"OSCLI"COPY 2 0 Update":OS
CLI"REN. Update Complet"                
 1310CLS:*FX200,0                       
 1320OSCLI"FX138,0,128":END             
 1330ENDPROC                            
 1350DEFPROCConvert                     
 1360F%=OPENINf$                        
 1370REPEAT                             
 1380A$=EMPTY$:REPEAT                   
 1390A%=BGET#F%:IFA%<>13ANDA%<>10 A$=A$+
CHR$(A%)                                
 1400UNTILA%=13                         
 1410PRINT#G%,A$                        
 1420UNTILEOF#F%                        
 1430CLOSE#F%:F%=0                      
 1440ENDPROC                            
 1460DEFPROCSearch4:PROCbox:PRINTTAB(2,3
0)"Searching":VDU23,1,0;0;0;0;0;:VDU28,1
,28,77,1:R$="issue ":V$=R$+B$:F%=OPENIN"
COMPLET":NX%=0:Z%=EXT#F%:Y%=EXT#F%DIV2:X
%=0:PTR#F%=Y%                           
 1470VDUp%:VDUpa%:REPEAT:REPEATUNTILBGET
#F%=0:PTR#F%=PTR#F%-1:REPEAT:INPUT#F%,A$
:UNTILA$=H$:INPUT#F%,A$:INPUT#F%,A$:C$=A
$:A$=FNlower:A=INSTR(A$,R$):I$=MID$(A$,A
+6,2):NX%=VAL(I$):NZ%=VAL(B$)           
 1480IFNX%<NZ%X%=Y%:PROCptr             
 1490IFNX%>NZ%Z%=Y%:PROCptr             
 1500IFNZ%=28 NX%=NZ%:PTR#F%=0          
 1510UNTILNX%=NZ%:VDUp%:VDUpa%:PRINTC$:R
EPEAT:INPUT#F%,A$:PRINTA$:UNTILA$=H$:CLO
SE#F%:F%=0:VDU3:VDU15:PROCF:ENDPROC     
 1530DEFPROCptr:Y%=Z%-X%:Y%=Y%DIV2+X%:PT
R#F%=Y%:ENDPROC                         
 1550DEFPROCErr:a%=0                    
 1560REPORT:PRINTERL                    
 1570IFF%<>0PRINT"Closing File":CLOSE#F%
                                        
 1580IFG%<>0PRINT"Closing File":CLOSE#G%
                                        
 1590F%=0:G%=0:G=GET                    
 1600A=INKEY(100)                       
 1610ENDPROC                            
 1630DEFPROCF:VDU28,0,31,79,30:PRINTTAB(
1,0)"            |--Current Search Compl
eted  Press Space when ready--|       ":
A=INKEY(10000):ENDPROC                  
 1650DEFPROCmove:VDU28,0,31,79,30:VDU3:c
%=EXT#F%/100:d%=INT(PTR#F%/c%):d%=INT(d%
/4)                                     
 1660PRINTTAB(d%+15,0);"-*"             
 1665B%=EXT#F%-PTR#F%:B%=B%DIV354:PRINTT
AB(50,0);B%DIV60;" Mins ";B%MOD60;" Secs
 "                                      
 1670VDU28,1,28,77,1:VDUp%:ENDPROC      
 1690DEFPROCbox:MOVE0,70:DRAW1279,70:DRA
W1279,30:DRAW0,30:DRAW0,1020:DRAW1278,10
20:DRAW1278,30:VDU28,0,31,79,30:PRINTTAB
(1,0)"Searching: 0%|--------------------
-------| 100%":VDU28,1,28,77,1:ENDPROC  
 1710DEFPROCFSF                         
 1720X%=0:Y%=0                          
 1730A%=USR&FFDAMOD&100                 
 1740ENDPROC                            
 1800A$=FNdisctype(0)                   
 1820DEFFNdisctype(drive%)              
 1830LOCALB%:B%=&100                    
 1840?B%=drive%:B%!1=&E000              
 1850B%!5=&5303:B%?9=33                 
 1860X%=0:Y%=1:A%=&7F                   
 1870CALL&FFF1                          
 1880IFB%?10=0="DFS"                    
 1890IFB%?10=&18="ADFS"                 
 1900="ERROR"                           
 2000DEFPROCPaged:IFpa%=14THENpa%=pa%+1:
Pa$="Off":GOTO2020                      
 2010IFpa%=15THENpa%=14:Pa$="On "       
 2020PRINTTAB(T%,14)" 7:Paged Mode ";Pa$
:ENDPROC