8-Bit Software Online Conversion

Cassette Database - Listing

10ONERROR:IFERR=222:F%=OPENOUT"Data": BPUT#F%,0:BPUT#F%,1:BPUT#F%,0:PRINT#F%,S TRING$(39," "),STRING$(30," "):CLOSE#F% 20DEFFNS="Castore" 30F%=OPENUP"Data" 40A%=BGET#F% 50P%=0 60*FX4 1 70MODE7 80F$=STRING$(40," "):F$="" 90G$=STRING$(40," "):G$="" 100H$=STRING$(40," "):H$="" 110I$=STRING$(40," "):I$="" 120J$=STRING$(40," "):J$="" 130K$=STRING$(40," "):K$="" 140VDU23;8202;0;0;0; 150ONERROR:REM 160H%=1 170I%=1 180J%=1 190K%=1 200L%=1 210B%=3 220U%=0 230REPEAT 240PROCtit 250PRINTTAB(5,16)" (Z) Back one reco rd. " 260PRINTTAB(5)" (X) Forward one reco rd. " 270PRINTTAB(5)" (E)dit this record. " 280PRINTTAB(5)" (S)earch facilities. " 290PRINTTAB(5)" (A)dd a record. (Q)u it. " 300REPEAT 310PROCGetRecord 320PROCPrintRecord 330REPEAT 340*FX21 350A$=GET$ 360UNTILINSTR("ZzXxEeSsAaQq",A$) 370IF INSTR("Qq",A$) CLOSE#F%:END 380IF INSTR("Zz",A$) P%=P%-&4C 390IF INSTR("Xx",A$) P%=P%+&4C 400IF INSTR("Ee",A$) PROCedit 410IF INSTR("Aa",A$):PTR#F%=EXT#F%:BPU T#F%,0:BPUT#F%,1:BPUT#F%,0:PRINT#F%,"Fre e"+STRING$(35," "),STRING$(30," ") 420UNTIL INSTR("Ss",A$) 430PROCsearch 440UNTILFALSE 450DEFPROCGetRecord 460*FX200,1 470IF P%>(EXT#F%-&4C) P%=0 480IF P%<0 P%=(EXT#F%-&4C) 490PTR#F%=P% 500T%=BGET#F% 510S%=BGET#F% 520N%=BGET#F% 530INPUT #F%,Tit$,Name$ 540IF S%=1 S$="A" ELSE S$="B" 550*FX200 560ENDPROC 570DEFPROCtit 580CLS 590PRINT'TAB(7)"   600PRINTTAB(7)"   610ENDPROC 620DEFPROCsearch 630REPEAT 640PROCtit 650PRINT''" A. View all information" 660PRINT" B. View all A sides" 670PRINT" C. View all B sides" 680PRINT" D. View all artists on tape (n)" 690PRINT" E. View all songs on tape (n )" 700PRINT" F. View all artists" 710PRINT" G. View all songs" 720PRINT" H. Search by song" 730PRINT" I. Search by artist" 740PRINT" J. View all on tape (n)" 750PRINT" K. Printer on/off:";:IF B%=2 PRINT" ON" ELSE PRINT" OFF" 760PRINT" L. Go to a particular record " 770PRINT" M. Quit to main menu" 780REPEAT:A$=GET$:UNTIL INSTR("AaBbCcD dEeFfGgHhIiJjKkLlMm",A$) 790PRINT'" Selected - ";A$ 800FORD%=1TO4000:NEXT 810IF INSTR("Aa",A$) PROCView(1) 820IF INSTR("Bb",A$) PROCView(2) 830IF INSTR("Cc",A$) PROCView(3) 840IF INSTR("Dd",A$) H%=0:I%=0:J%=0:K% =0:PROCView(4) 850IF INSTR("Ee",A$) H%=0:I%=0:J%=0:L% =0:PROCView(5) 860IF INSTR("Ff",A$) H%=0:I%=0:J%=0:K% =0:PROCView(6) 870IF INSTR("Gg",A$) H%=0:I%=0:J%=0:L% =0:PROCView(7) 880IF INSTR("Hh",A$) PROCView(8) 890IF INSTR("Ii",A$) PROCView(9) 900IF INSTR("Jj",A$) PROCView(10) 910IF INSTR("Kk",A$):IF B%=3 B%=2 ELSE IF INSTR("Kk",A$) B%=3 920IF INSTR("Ll",A$):PRINT" Which Reco rd 1 - ";STR$(EXT#F%/&4C);" ?":REPEAT:IN PUT P%:UNTILP%>0 AND P%<=EXT#F%/&4C:P%=P %*&4C-&4C:A$="M" 930UNTIL INSTR("Mm",A$) 940IF U%<>0 P%=P%-&4C 950ENDPROC 960DEFPROCedit 970PRINTTAB(0,22)" Use Cursors to sele ct Field." 980PRINT" COPY to change. RETURN to fi nish" 990X%=7 1000Y%=9 1010PRINTTAB(X%,Y%+1);"^" 1020REPEAT 1030A%=GET 1040PRINTTAB(X%,Y%+1);" " 1050IF A%=138 IF Y%<13 Y%=Y%+2:X%=1:A%= 0:IFY%=13 X%=6 1060IF A%=139 IF Y%>9 Y%=Y%-2:X%=1:A%=0 :IF Y%=9 X%=7 1070IF A%=137:IF Y%=9 IF X%<27 X%=X%+10 :A%=0 1080IF A%=136:IF Y%=9:IF X%>7 X%=X%-10: A%=0 1090IF A%<>13 PRINTTAB(X%,Y%+1);"^"TAB( X%,Y%); 1100IF A%=135 PROCchange 1110UNTILA%=13 1120*FX200,1 1130PTR#F%=P% 1140BPUT#F%,T% 1150BPUT#F%,S% 1160BPUT#F%,N% 1170PRINT#F%,Tit$,Name$ 1180*FX200 1190PRINTTAB(0,22)SPC(74) 1200ENDPROC 1210DEFPROCchange 1220*FX4 1230PRINTTAB(X%,Y%+1);" ";TAB(X%-1,Y%+1 ); 1240IF Y%=9 IF X%=7 INPUT T% 1250IF Y%=9 IF X%=17 INPUT S$:IF S$="A" S%=1 ELSE IF Y%=9 IF X%=17 S%=2 1260IF Y%=9 IF X%=27 INPUT N% 1270IF Y%=11 INPUT LINE Tit$:Tit$=Tit$+ STRING$(40," "):Tit$=LEFT$(Tit$,39) 1280IF Y%=13 INPUT LINE Name$:Name$=Nam e$+STRING$(30," "):Name$=LEFT$(Name$,30) 1290PROCPrintRecord 1300PRINTTAB(X%,Y%+1);"^"; 1310*FX4 1 1320ENDPROC 1330DEFPROCPrintRecord 1340VDUB% 1350IF B%=3 PRINTTAB(0,7);" Record ";ST R$(((PTR#F%+&4C)/&4C)-1);" of ";STR$(EXT #F%/&4C);" " 1360IF H% PRINTTAB(0,9);" Tape: ";STR$( T%);" "; 1370IF I% PRINTTAB(10);" Side: ";:IF S% =1 PRINT"A"; ELSE IF I% PRINT "B"; 1380IF J% PRINTTAB(20);" Song: ";STR$(N %);" " 1390IF B%=3 PRINTSPC40; 1400IF K% PRINT" ";Tit$; 1410IF B%=3 PRINTSPC40; 1420IF L% PRINT" By : ";Name$; 1430IF B%=3 PRINTSPC(80) ELSE PRINT 1440VDU3 1450ENDPROC 1460DEFPROCView(Q%) 1470PROCtit 1480P%=0 1490IF Q%=4 OR Q%=5 OR Q%=10:INPUT''" W hich Tape? "R% 1500IF Q%=8 PRINT'" Song title to searc h for?":INPUTF$:F$=FNUpperCase(F$) 1510IF Q%=9 PRINT'" Artist to search fo r?":INPUTG$:G$=FNUpperCase(G$) 1520REPEAT 1530*FX21 1540U%=0 1550PROCGetRecord 1560IF Q%=1 OR Q%=10 AND T%=R% PROCPrin tRecord:U%=1 1570IF Q%=2 IF S%=1 PROCPrintRecord:U%= 1 1580IF Q%=3 IF S%=2 PROCPrintRecord:U%= 1 1590IF Q%=4 AND T%=R% OR Q%=6 VDUB%:PRI NT" Tape ";STR$(T%);" ";Name$:U%=1:VDU3 1600IF Q%=5 AND T%=R% OR Q%=7 VDUB%:PRI NT Tit$;:U%=1:IF B%=2 PRINT"Tape ";STR$( T%);:VDU3 1610IF Q%=5 AND T%=R% OR Q%=7:VDUB%:PRI NT:VDU3 1620IF Q%=8 PROCCompare(Tit$,F$) 1630IF Q%=9 PROCCompare(Name$,G$) 1640IF Q%<4 OR Q%>7:IF B%=3:IF U%=1 PRI NT" Press a key to continue or Q to quit ":IF INSTR("Qq",GET$) U%=2 1650IF Q%<4 OR Q%>7:IF U%<>2 PRINTTAB(0 ,16)" Searching....";SPC(23) 1660P%=P%+&4C 1670UNTILP%=EXT#F% OR U%=2 1680PRINT''" FINISHED. PLEASE PRESS A K EY" 1690REPEATUNTILGET 1700H%=1:I%=1:J%=1:K%=1:L%=1 1710ENDPROC 1720DEFFNUpperCase(H$) 1730I$="" 1740FORM%=1TOLEN H$ 1750O%=ASC MID$(H$,M%,1) 1760IF O%>90 O%=O%-32 1770I$=I$+CHR$(O%) 1780NEXT 1790=I$ 1800DEFPROCCompare(J$,K$) 1810J$=FNUpperCase(J$) 1820IF INSTR(J$,K$) PROCPrintRecord:U%= 1 1830ENDPROC