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