10 REM*** MUSIC DATABASE *** 15 REM*** (C) SAV 1992 *** 20 POKE53280,0:POKE53281,0 25 A=A+1:IFA=1THENPRINTCHR$(147)"LOADING CODE..":LOAD"MD-CODE",8,1 30 SYS53008 32 POKE788,52:POKE792,193 35 CLR:V=53248:J=56320:C=211:L=214:CL=58732 40 DEF FNB(B)=(1024+Y*40+X):DEF FNX(X)=((PEEK(V)+(PEEK(V+16)AND1)*256-24)/8) 45 DEF FNY(Y)=((PEEK(V+1)-50)/8) 50 ME=50959:MO=49155:REM MENU AND MOUSE ON 51 RV=50280:REM RECORD VIEW 52 RE=52132:REM RECORD ENTRY 53 PF=51665:REM PRINT SCREEN 54 DIMAR$(200),TT$(200):GOSUB800 55 SP=14:GOSUB1000 65 SYSMO:SYSME 70 IF(PEEK(J)AND17)=17THEN70 75 X=INT(FNX(X)):Y=INT(FNY(Y)) 80 IFPEEK(FNB(B))<49ORPEEK(FNB(B))>54THEN70 85 ONPEEK(FNB(B))-48GOTO90,92,94,96,500,600 90 A$="ALBUMS":GOTO100 92 A$="SINGLES":GOTO100 94 A$="CASSETTES":GOTO100 96 A$="VIDEOS" 100 DD=1:GOSUB500:DD=0 101 GOSUB870:GOSUB9000 102 IFQ=1THEN55 103 A=1:SYSMO:GOSUB1000 104 GOSUB700:GOSUB850 106 ONPEEK(FNB(B))-48GOTO110,200,1050:GOSUB850 110 SYS49421:POKEL,10:POKEC,9:SYSCL 111 PRINT"[213][195][178][195][195][195][195][195][195][195][178][195][195][195][195][195][195][195][178][195][201]" 112 PRINTTAB(9)"[194][158] [146][194][155] ADD [194][155] EDIT [194][158] [146][194]":PRINTTAB(9)"[202][195][177][195][195][195][195][195][195][195][177][195][195][195][195][195][195][195][177][195][203]" 113 IF(PEEK(J)AND17)=17THEN113 114 X=INT(FNX(X)):Y=INT(FNY(Y)) 115 IFY=11ANDX=10THEN120 116 IFY=11ANDX=28THEN400 117 GOTO113 120 IFFX=199THENA=A-28:GOTO104 125 DD=1:GOSUB500:DD=0:OPEN2,8,2,A$+",S,A":POKEV+21,3:SYSMO:ED=0 130 SYS52132:POKE1274,160:POKE1293,160:POKEL,6:POKEC,15:SYSCL:PRINT"[155]"A$ 131 POKEL,13:POKEC,0:SYSCL:PRINTFX+1:POKEL,13:POKEC,0:SYSCL:PRINT"[194][155]" 134 IF(PEEK(J)AND17)=17THEN134 135 X=INT(FNX(X)):Y=INT(FNY(Y)) 136 IFPEEK(FNB(B))=49THEN140 138 IFPEEK(FNB(B))=50THENA=A-28:CLOSE2:GOTO104 139 GOTO134 140 AR$="":TT$="":AT=1549:LE=10:GOSUB900:POKE204,1 142 FORS=0TOLE:H=PEEK(AT+S):IFH>26THEN146 144 H$=CHR$(H+64):GOTO148 146 H$=CHR$(H) 148 AR$=AR$+H$:NEXT:AR$=LEFT$(AR$,W) 150 AT=1561:LE=21:GOSUB900:POKE204,1 152 FORS=0TOLE:H=PEEK(AT+S):IFH>26THEN156 154 H$=CHR$(H+64):GOTO158 156 H$=CHR$(H) 158 TT$=TT$+H$:NEXT:TT$=LEFT$(TT$,W) 159 IFEDTHEN177 160 SYS52132:POKEL,6:POKEC,15:SYSCL:PRINT"[155]SATISFIED?" 162 POKEL,13:POKEC,0:SYSCL:PRINTFX+1:POKEL,13:POKEC,0:SYSCL:PRINT"[194][155]" 164 POKEL,13:POKEC,5:SYSCL:PRINTAR$:POKEL,13:POKEC,17:SYSCL:PRINTTT$ 166 IF(PEEK(J)AND17)=17THEN166 168 X=INT(FNX(X)):Y=INT(FNY(Y)) 170 IFX=10 AND Y=6THEN178 172 IFX=29 AND Y=6THEN175 174 GOTO166 175 IFED=1THENED=0:GOTO130 176 GOTO130 177 AR$(ES)=AR$:TT$(ES)=TT$:A=A-28:GOTO104 178 POKEV+21,0:SYS49408:PRINT#2,AR$:PRINT#2,TT$ 180 FX=FX+1:AR$(FX)=AR$:TT$(FX)=TT$:POKEV+21,3:SYSMO 182 IF FX=199THEN190 184 GOTO130 190 CLOSE2:A=A-28:GOTO104 195 : 200 REM * PRINT FILE * 205 PP=0:SYS51665:SYS49408:OPEN4,4,4:POKE2,4:SYS49764:CLOSE4:SYSMO 210 IFPEEK(2)THENPP=1:POKEC,6:POKEL,21:SYSCL:PRINT"[158]WARNING! [155]PRINTER NOT PRESENT" 220 IF(PEEK(J)AND17)=17THEN220 225 X=INT(FNX(X)):Y=INT(FNY(Y)) 230 IFX=12ANDY=14THENA=A-14:GOTO104 235 IFX=12ANDY=8THEN250 240 GOTO220 250 IFPPTHENA=A-14:GOTO104 255 POKEC,6:POKEL,21:SYSCL:PRINT"[155] CLICK MOUSE TO PRINT FILE. " 257 A=0:SYS49408:GOSUB1000 260 IF(PEEK(J)AND17)=17THEN260 265 SYS51665:OPEN4,4,4:OPEN9,4,9 270 PRINT#9,CHR$(27)+CHR$(104)+CHR$(2); 271 PRINT#9,CHR$(27)+CHR$(120)+CHR$(49); 272 PRINT#9,CHR$(27)+CHR$(45)+CHR$(49); 273 PRINT#9,CHR$(27)+CHR$(107)+CHR$(0); 275 PRINT#9,CHR$(27)+CHR$(101)+CHR$(48)+CHR$(48); 280 PRINT#9,CHR$(27)+CHR$(80); 285 PRINT#9,CHR$(27)+CHR$(15); 286 PRINT#9,CHR$(27)+CHR$(97)+CHR$(49); 287 PRINT#4,A$:PRINT#9,CHR$(27)+CHR$(104)+CHR$(0); 290 PRINT#9,CHR$(27)+CHR$(97)+CHR$(48);:PRINT#9,CHR$(27)+CHR$(48); 295 PRINT#9,CHR$(27)+CHR$(45)+CHR$(48); 300 IF(PEEK(J)AND17)=17THEN310 305 PRINT#9,CHR$(27)+CHR$(64);:PRINT#4:CLOSE4:CLOSE9:GOTO103 310 A=A+1:A1=A+70:A2=A1+70 315 IFA>70THEN350 320 PRINT#4,A;AR$(A)"---"TT$(A);:PRINT#9,CHR$(9); 325 PRINT#4,A1;AR$(A1)"---"TT$(A1);:PRINT#9,CHR$(9); 330 IFA2>200THENPRINT#4," ":GOTO300 335 PRINT#4,A2;AR$(A2)"---"TT$(A2):GOTO300 340 GOTO300 350 PRINT#4:CLOSE4:CLOSE9:GOTO103 400 REM *** EDIT ENTRY *** 402 SYS52132:POKE1274,160:POKE1293,160:POKEL,6:POKEC,15:SYSCL 404 PRINT"[155]EDIT MODE ":AT=1545:LE=2:ED=1:ES=0:H$="" 406 GOSUB900 407 FORS=0TOLE:H=PEEK(AT+S) 408 IFH=32THEN400 409 IFH<48ORH>57THEN400 410 HH$=CHR$(H):H$=H$+HH$:NEXT:ES=VAL(H$) 411 IFES>FXTHEN400 412 SYS52132:POKE1274,160:POKE1293,160:POKEL,6:POKEC,15:SYSCL 414 PRINT"[155]EDIT MODE " 416 POKEL,13:POKEC,0:SYSCL:PRINT ES 417 POKEL,13:POKEC,0:SYSCL:PRINT"[194]" 418 POKEL,13:POKEC,5:SYSCL:PRINTAR$(ES):POKEL,13:POKEC,17:SYSCL:PRINTTT$(ES) 420 ED=1:GOTO140 500 REM DIRECTORY 502 POKEV+21,0:SYS49408 505 OPEN8,8,8:POKE2,8:SYS49764:CLOSE8 510 IFPEEK(2)THEN550 512 IFDDTHENRETURN 515 PRINTCHR$(147):SYS49664:PRINT"CLICK MOUSE!!!!" 520 IF(PEEK(J)AND17)=17THEN555 525 GOTO55 550 SYS49421:SYSMO:POKEL,10:POKEC,9:SYSCL 552 PRINT"[213][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][195][201]":PRINTTAB(9)"[194] DRIVE NOT PRESENT [194] 553 [153][163]9)"PEEK -CLICK MOUSE- PEEK":[153][163]9)"MID$LENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLEN(null)" 555 [139]([194](J)[175]17)[178]17[167]555 560 [137]55 600 [143] QUIT PROGRAMME 611 [158]49421:[151]L,10:[151]C,9:[158]CL 612 [153]"(null)LEN=LENLENLENLENLENLENLENLENLENLENLENLENLENLENLEN=LENRIGHT$" 613 [153][163]9)"PEEKYPEEKLISTQUIT PROGRAMME?PEEKNPEEK":[153][163]9)"MID$LEN>LENLENLENLENLENLENLENLENLENLENLENLENLENLENLEN>LEN(null)" 620 [139]([194](J)[175]17)[178]17[167]620 625 X[178][181]([165]X(X)):Y[178][181]([165]Y(Y)) 626 [139][194]([165]B(B))[179][177]25[167]55 630 [153][199](147):[151]V[170]21,0:[158]49408:[128] 700 [143]** DISPLAY FILE ** 701 [158]50280:[151]L,2:[151]C,14:[158]CL:[153]A$:[153]"LIST" 702 [139]A[177]186[167]A[178]186 703 [139]A[179]1[167]A[178]1 704 [129]S[178]1[164]14 705 [151]L,6[170]S:[151]C,0:[158]CL:[153];A 706 [151]L,6[170]S:[151]C,0:[158]CL:[153]"PEEKLIST" 708 [151]L,6[170]S:[151]C,5:[158]CL:[153]AR$(A) 710 [151]L,6[170]S:[151]C,17:[158]CL:[153]TT$(A) 712 A[178]A[170]1:[139]A[177]200[167] [153]"":[142] 716 [130]:[153]"":[142] 800 [129]S[178]1[164]200:AR$(S)[178]"*":TT$(S)[178]"*":[130]:[142] 850 [139]([194](J)[175]17)[178]17[167]850 852 X[178][181]([165]X(X)):Y[178][181]([165]Y(Y)) 854 [139][194]([165]B(B))[178]43[167][141]700:[137]850 856 [139][194]([165]B(B))[178]45[167]A[178]A[171]28:[141]700:[137]850 858 [139][194]([165]B(B))[179]49[176][194]([165]B(B))[177]51[167]850 860 [142] 870 [158]49421:[151]L,10:[151]C,9:[158]CL 872 [153]"(null)LENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENRIGHT$" 874 [153][163]9)"PEEK LIST PLEASE WAIT  PEEK":[153][163]9)"MID$LENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLEN(null)" 876 [142] 900 [143] ** DATA INPUT ** 909 [151]C,0:[151]L,18:[158]CL 910 [153]"(null)LENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLEN=LENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENRIGHT$"; 911 [153]"PEEKLISTA B C D E F G H IPEEKLIST0 1 2 3 4 5 6 7 8 9 PEEK"; 912 [153]"PEEK LISTJ K L M N O P Q -LENLENLENLENLENLENLENLENLEN=LENLENLENLENLENLENLENLENLENLEN<"; 913 [153]"PEEKLISTR S T U V W X Y ZPEEKCONTDELETE OPEN WAIT PEEK CONTRETURN OPEN WAIT PEEK"; 914 [153]"PEEK LIST( ) / - , .  PEEKCONTLETTER  PEEK OPEN WAITCONT QUIT  PEEK"; 915 [153]"MID$LENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLENLEN>LENLENLENLENLENLENLENLENLEN>LENLENLENLENLENLENLENLENLENLEN(null)" 916 [139]AT[178]1549[167]U[178]5:[151]C,U:[151]L,13:[158]CL:[151]204,0 917 [139]AT[178]1561[167]U[178]17:[151]C,U:[151]L,13:[158]CL:[151]204,0 918 [139]AT[178]1545[167]U[178]1:[151]C,U:[151]L,13:[158]CL:[151]204,0 919 W[178]0 920 [139]([194](J)[175]17)[178]17[167]920 922 X[178][181]([165]X(X)):Y[178][181]([165]Y(Y)) 924 [139]Y[179]18 [176] Y[177]23[167]920 926 [139]X[178]30[175]Y[178]22[167][151]204,1:[137]960 928 [139]X[178]37[175]Y[178]21[167][151]204,1:[137]950 930 [139]X[178]26[175]Y[178]21[167]940 932 [139][194]([165]B(B))[177]57[167]920 934 [151]204,1:[151]AT[170]W,[194]([165]B(B)) 936 W[178]W[170]1:[139]W[177]LE [167][142] 937 [151]L,13:[151]C,U[170]W:[158]CL:[151]204,0 938 [137]920 940 [139]W[178]0[167]920 942 W[178]W[171]1:[151]AT[170]W,32:[151]AT[170](W[170]1),32 944 [151]L,13:[151]C,U[170]W:[158]CL:[151]204,0:[137]920 950 [139]W[178]LE [167][142] 952 [139]ED [167][142] 955 [151]AT[170]W,32:[142] 960 [139]ED[167]A[178]A[171]28:[137]104 965 [137]130 1000 [143] SPRITE PLACEMENT 1005 [151]V[170]21,3:[151]V[170]1,57:[151]V,32:[151]V[170]39,1:[151]V[170]16,2:[151]V[170]2,60:[151]V[170]3,60 1010 [151]V[170]40,7:[151]2040,13:[151]2041,SP 1015 [142] 1050 [158]49421:[151]L,10:[151]C,9:[158]CL 1052 [153]"(null)LEN=LENLENLENLENLENLENLENLENLENLENLENLENLENLENLEN=LENRIGHT$" 1054 [153][163]9)"PEEKYPEEKLISTSAVE EDIT FILE?PEEKNPEEK":[153][163]9)"MID$LEN>LENLENLENLENLENLENLENLENLENLENLENLENLENLENLEN>LEN(null)" 1056 [139]([194](J)[175]17)[178]17[167]1056 1058 X[178][181]([165]X(X)):Y[178][181]([165]Y(Y)) 1060 [139]Y[178]11[175]X[178]10[167]1068 1062 [139]Y[178]11[175]X[178]28[167]1066 1064 [137]1056 1066 [141]870:[141]800:[137]35 1068 [143]*** SAVE EDITED FILE *** 1070 [141]870:[158]49408:DD[178]1:[141]500:DD[178]0:[159]1,8,15,"R:TEMP="[170]A$:[160]1 1072 [159]2,8,2,A$[170]",S,W":[152]2,A$:[152]2,A$ 1074 [129]S[178]1[164]FX:[152]2,AR$(S):[152]2,TT$(S):[130] 1076 [159]1,8,15,"S:TEMP":[160]1 1078 [141]800:[137]35 8000 [143]** FILE CHECK/CREATE ** 9000 [143] ** INPUT FILE DATA ** 9005 [159]15,8,15:Q[178]0 9010 FX[178]0:[159]2,8,2,A$[170]",S,R" 9015 [132]15,E,E$:[139]E[177]20[167]9080 9016 [160]15:[160]2 9017 [159]2,8,2,A$[170]",S,R" 9020 : 9030 [132]2,X$:AR$(FX)[178]X$ 9035 [132]2,XX$:TT$(FX)[178]XX$ 9040 [139] ST [175] 64 [167][160] 2:[142] 9045 FX[178]FX[170]1 9070 [137]9020 9080 [160]15:[160]2 9082 [158]49421:[151]L,10:[151]C,9:[158]CL 9084 [153]"(null)LEN=LENLENLENLENLENLENLENLENLENLENLENLENLENLENLEN=LENRIGHT$" 9085 [153][163]9)"PEEK PEEKSYSNO FILE PRESENTPEEK PEEK" 9086 [153][163]9)"-LEN(null)LENLENLENLENLENLENLENLENLENLENLENLENLENLENLEN(null)LEN<" 9087 [153][163]9)"PEEKYPEEKLISTCREATE NEW FILEPEEKNPEEK":[153][163]9)"MID$LEN>LENLENLENLENLENLENLENLENLENLENLENLENLENLENLEN>LEN(null)" 9088 [151]V[170]21,3:[158]MO 9089 [139]([194](J)[175]17)[178]17[167]9088 9090 X[178][181]([165]X(X)):Y[178][181]([165]Y(Y)) 9091 [139]Y[178]13 [175] X[178]10[167]10000 9092 [139]Y[178]13 [175] X[178]28[167]Q[178]1:[142] 9094 [137]9089 10000 [159]2,8,2,A$[170]",S,W":[152]2,A$:[152]2,A$:[160]2:[142]