8-Bit Software Online Conversion

Singles Database - Listing

10REM Music database. 20REM For Phil Arundel. 30REM By C.J.Richardson. 40REM For more information about PD 50REM software send an SAE to: 60REM C.J.Richardson. 70REM 8-Bit Software. 80REM 17 Lambert Park Road. Hedon. 90REM Hull. Tel. 0482 896868 100REM V1a With OPENUP 110DEFFNS="RecDb1a" 120MODE7 130VDU23;8202;0;0;0; 140PROCd("Remove program disc,"):PROCd ("insert data disc into drive 0.") 150PROCd("Then press a key") 160REPEATUNTILGET 170ONERROR VDU3,15:IF ERR=214 PROCopen files ELSE REPORT:PRINTERL:PRINT"PRESS A KEY":IFERR<>222 PROCclose:REPEATUNTILGE T ELSE REPEATUNTILGET 180*INFO Records 190P%=0:PROCopen:PROCclose 200REPEAT:CLS:*FX21 210PROCd("Record database by C.J.Richa rdson") 220PROCd("Records:"+STR$X%) 230IFX%<6588 PROCd("1.(A)dd data") ELS E PROCd("Database full!") 240PROCd("2.(E)dit data") 250PROCd("3.(V)iew all data") 260PROCd("4.(T)itle/performer search") 270PROCd("5.(R)ecord company search") 280PROCd("6.(Y)ear of release search") 290PROCd("7.(S)ort by artist alphabeti cally") 300IFP%=0:PROCd("8.(P)rinter off") ELS E PROCd("8.(P)rinter on") 310REPEAT:A$=GET$:UNTILINSTR("AEVTRYSP 12345678",A$):CLS:PROCopen 320IFX%<6588IFINSTR("A1",A$)PROCd("Add record "+STR$(X%+1)):PROCadd:PROCwrite1 330IFINSTR("E2",A$)P%=0:PROCedit 340IFINSTR("V3",A$)PROCviewall 350IFINSTR("TRY456",A$)PROCsearch 360IFINSTR("S7",A$)PROCsort 370IFINSTR("P8",A$)P%=P%EOR1 380PROCclose 390UNTILFALSE 400DEFPROCopen 410F%=OPENUP":0.Records" 420G%=OPENUP":2.Records" 430ENDPROC 440DEFPROCclose 450X%=(EXT#F%+EXT#G%)/62 460CLOSE#F% 470CLOSE#G% 480ENDPROC 490DEFPROCopenfiles 500PROCd("No datafile found on disc") 510PROCd("To set up datafiles press Y" ) 520PROCd("Pressing Y will destroy any" ) 530PROCd("file by the name of Record") 540PROCd("On side 0 and 2 of the disc" ) 550PROCd("in the drive. Y/N") 560IFGET$<>"Y"ENDPROC 570F%=OPENOUT":0.Records" 580G%=OPENOUT":2.Records" 590CLS:PROCd("Enter the first record") :PROCadd:PROCwrite1 600PROCclose 610ENDPROC 620DEFPROCd(D$):PRINTTAB(16-LEN(D$)/2) ;"   630DEFPROCadd 640REPEAT:PROCd("Enter performer/group name") 650INPUTT$:T%=ASC(LEFT$(T$,1)):UNTILT% >64ANDT%<91 660T$=T$+STRING$(26," ") 670T$=LEFT$(T$,26) 680PROCd("Enter A side title") 690PROCg 700PROCd("Enter B side title") 710PROCg 720CLS 730PROCi 740T$=T$+U$ 750CLS 760PROCd("Enter year of release. Eg 93 ") 770REPEAT:INPUTU$ 780UNTILLENU$=2 790T$=T$+U$ 800FORL%=1TO56 810IFASC(MID$(T$,L%))>96 T$=LEFT$(T$,L %-1)+CHR$(ASC(MID$(T$,L%))-32)+MID$(T$,L %+1) 820NEXT 830ENDPROC 840DEFPROCi 850PROCd("Enter record company code:") 860RESTORE:L%=0:R%=0:REPEAT:READU$:IFU $<>""PRINTTAB(R%)STR$L%;". ";U$;:R%=R%+1 4:IFR%=42R%=0 870L%=L%+1 880UNTILU$="" 890PRINT 900REPEAT 910INPUTU$ 920IFLENU$=1U$="0"+U$ 930UNTILLENU$=2 AND VALU$<L%-1 940ENDPROC 950DEFPROCg 960INPUTU$ 970U$=U$+STRING$(15," ") 980U$=LEFT$(U$,15) 990T$=T$+U$ 1000ENDPROC 1010DATAOTHER,A+M,ASYLUM,BMG,EPIC,MUTE, POLYGRAM,REPRISE,"" 1020DEFPROCwrite1 1030PTR#F%=EXT#F% 1040PTR#G%=EXT#G% 1050IFEXT#F%<&31DC4 PRINT#F%,T$ ELSE IF EXT#G%<&31DC4 PRINT#G%,T$ ELSE PROCd("D ISC FULL!! Press a key"):REPEATUNTILGET: REM NOT NEEDED 1060ENDPROC 1070DEFPROCedit 1080PROCd("Enter item number to edit") 1090PROCh 1100INPUT#I%,T$:T%=T%+1:PROCpres 1110PTR#I%=PTR#I%-62 1120PROCd("Entry "+STR$T%) 1130PROCadd 1140PRINT#I%,T$ 1150ENDPROC 1160DEFPROCh 1170PROCd("1 to "+STR$X%) 1180REPEAT:INPUT T%:UNTILT%>0AND T%<=X% 1190IFT%<3295 I%=F% ELSE I%=G% 1200T%=T%-1:IF T%<3294:PTR#I%=T%*62 ELS E PTR#I%=(T%-3294)*62 1210ENDPROC 1220DEFPROCviewall 1230PROCd("View all data") 1240PROCd("Enter start record") 1250PROCh 1260IFP%=1PROCd("Prepare printer, press a key"):REPEATUNTILGET:VDU2 ELSE PROCd( "Press shift to scroll text"):VDU14 1270REPEAT 1280T%=T%+1 1290INPUT#I%,T$ 1300PROCpres 1310IF PTR#I%=EXT#I% I%=G% 1320UNTILPTR#G%=EXT#G% AND I%=G% 1330VDU3,15 1340PROCd("Press a key") 1350REPEATUNTILGET 1360ENDPROC 1370DEFPROCpres 1380RESTORE 1390FORL%=0TOVAL(MID$(T$,57,2)) 1400READU$ 1410NEXT 1420PRINT"Record: ";STR$T% 1430PRINT"Performer: ";LEFT$(T$,26);" " ;:IFP%=0PRINT 1440PRINT"Company: ";U$;" ";:IFP%=0PRIN T 1450PRINT"Released: 19";RIGHT$(T$,2) 1460PRINT"A side: ";MID$(T$,27,15);" "; :IFP%=0PRINT 1470PRINT"B side: ";MID$(T$,42,15) 1480PRINT 1490ENDPROC 1500DEFPROCj 1510FORL%=1TOLENS$ 1520IFASC(MID$(S$,L%))>96 S$=LEFT$(S$,L %-1)+CHR$(ASC(MID$(S$,L%))-32)+MID$(S$,L %+1) 1530NEXT 1540ENDPROC 1550DEFPROCsearch 1560PROCd("Search") 1570IFINSTR("T4",A$)PROCd("Please enter search name"):INPUTS$:PROCj 1580IFINSTR("R5",A$)PROCi:S$=U$ 1590IFINSTR("Y6",A$)PROCd("Enter search year eg 93"):REPEAT:INPUTS$:UNTILLENS$= 2 1600PROCd("Search to start from:") 1610PROCh 1620IFP%=1PROCd("Prepare printer. Press a key"):REPEATUNTILGET:VDU2 ELSE PROCd( "Press shift to scroll"):VDU14 1630REPEAT 1640INPUT#I%,T$ 1650T%=T%+1 1660IF INSTR("Y6",A$)=0 IFINSTR(T$,S$) PROCpres 1670IF INSTR("Y6",A$)IFRIGHT$(T$,2)=S$ PROCpres 1680IF PTR#I%=EXT#I% I%=G% 1690UNTILPTR#G%=EXT#G% AND I%=G% 1700VDU3,15 1710PROCd("Press a key") 1720REPEATUNTILGET 1730ENDPROC 1740DEFPROCsort 1750PROCd("Alphabetical sort by artist" ) 1760PROCd("Source drive 0") 1770PROCd("Destination drive 1") 1780PROCd("Ensure disc in drive 1 is BL ANK!") 1790PROCd("Press C to confirm and start ") 1800PROCd("Any other to abandon") 1810IFGET$<>"C" ENDPROC 1820H%=OPENOUT":1.Records" 1830I%=OPENOUT":3.Records" 1840U$="@":U%=0 1850REPEAT 1860K%=H% 1870U$=CHR$(ASC(U$)+1) 1880PTR#F%=0 1890PTR#G%=0 1900J%=F% 1910REPEAT 1920INPUT#J%,T$ 1930IFLEFT$(T$,1)=U$:PRINT#K%,T$:PRINTT AB(0,12);:U%=U%+1:PROCd(STR$U%+" out of "+STR$X%+" sorted"):PROCd("Sorting "+U$) 1940IFPTR#J%=EXT#F% J%=G% 1950IFPTR#K%=&31DC4 K%=I% 1960UNTILPTR#G%=EXT#G% AND J%=G% 1970UNTILU$="Z" OR U%=X% 1980CLOSE#H% 1990CLOSE#I% 2000ENDPROC