home *** CD-ROM | disk | FTP | other *** search
/ Carousel Volume 2 #1 / carousel.iso / comdore / 64music / magicsid.prg (.txt) < prev    next >
Commodore BASIC  |  1987-07-26  |  12KB  |  330 lines

  1. 10 GOTO100
  2. 20 ********************************
  3. 21 *  * MAGIC SID MACHINE V2.2 *  *
  4. 22 *   A MODIFICATION OF 'MAGIC   *
  5. 23 * MUSIC MACHINE' V2.0 WRITTEN  *
  6. 24 *       BY DAVE SCHMOLDT       *
  7. 25 *                              *
  8. 27 *   ADAPTED TO RUN SIDPLAYER   *
  9. 28 *  FILES, USING ROUTINES FROM  *
  10. 29 *   THE BOOK 'ALL ABOUT THE    *
  11. 30 *   COMMODORE 64'  VOLUME 2    *
  12. 31 *    BY CRAIG CHAMBERLAIN      *
  13. 32 *                              *
  14. 33 *  ALL MUSIC FILES TO BE USED  *
  15. 34 * BY THIS PROGRAM MUST HAVE THE*
  16. 35 *  '.MUS' EXTENSION AFTER THE  *
  17. 36 *          FILENAME.           *
  18. 37 * HANDLES UP TO 200 FILES/DISK *
  19. 38 *                              *
  20. 39 *   TERRY KRYGER [71106,221]   *
  21. 40 *           3/20/86            *
  22. 41 ********************************
  23. 100 DIMPL$(200),PN$(200),SE(200),TX$(5)
  24. 101 DN=8:SA=780:SX=781:SY=782:SP=783
  25. 102 GOSUB5000
  26. 103 OV$=""
  27. 104 DO$=""
  28. 105 RO$="[146]"
  29. 106 U$="[145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145][145]"
  30. 110 IFF=0THENPRINTCHR$(147)
  31. 120 GOSUB610
  32. 125 IFF=1THEN230
  33. 150 PRINT"[147]";
  34. 160 POKE53280,0:POKE53281,0
  35. 170 FORS=55296TO55335:POKES,0:POKES+960,0:NEXT
  36. 190 FORS=1024TO1063:POKES,244:POKES+960,244:NEXT
  37. 200 PRINT"[144]";:A$=" THE MAGIC SID MACHINE 2.2 ":GOSUB630
  38. 210 PRINT "[144]";
  39. 220 PRINTDO$;:A$=" DAVE SCHMOLDT / T. KRYGER ":GOSUB630
  40. 230 PRINT""
  41. 240 IFF=0THEN1580
  42. 245 WAIT56320,16
  43. 248 POKESS,7
  44. 260 Q=0
  45. 270 FORS=55296TO55335:CO=INT(1+RND(1)*14):POKES,CO:POKES+(999-Q),CO:Q=Q+2: NEXT
  46. 300 PRINT"";
  47. 310 IFF=0THENGOSUB670
  48. 320 PRINT"[146]";:F=1
  49. 340 PRINT"";:A$="                                       ":GOSUB630
  50. 350 PRINT"";:A$="                                       ":GOSUB630
  51. 370 PRINT"[145]";
  52. 380 FORX=1TO5:PRINTLEFT$(DO$,10+X);:A$=TX$(X):GOSUB630:NEXT
  53. 400 A$="[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192]"
  54. 410 PRINT"";:CO=149
  55. 450 FORC=1TO9
  56. 460 CO=INT(1+RND(1)*14):POKE646,CO
  57. 470 PRINTLEFT$(DO$,C+1);:PRINTA$;
  58. 480 PRINTDO$;
  59. 490 PRINTLEFT$(U$,C);:PRINTA$;
  60. 500 GETRE$:IFRE$=" "THENPOKESS,0:SYSDP:R=0:FORL=54276TO54296:POKEL,0:NEXT
  61. 510 IFRE$=" "THEN930
  62. 520 IFRE$<>"^"THEN570
  63. 530 POKESS,0:SYSDP:FORL=54276TO54296:POKEL,0:NEXT:F=0:SD=A
  64. 540 GOSUB610:GOTO1580
  65. 570 NEXT:PRINT"";
  66. 590 IFPEEK(SS)THEN450
  67. 595 SYSDP
  68. 600 FORL=54276TO54296:POKEL,0:NEXT:GOTO930
  69. 610 PRINT"";:FORJK=1TO23:PRINT"                                        ";:NEXT
  70. 620 PRINT"";CHR$(142):RETURN
  71. 630 PRINTSPC(20-LEN(A$)/2)A$;
  72. 640 RETURN
  73. 650 GETKE$:IFKE$=""THEN650
  74. 660 RETURN
  75. 670 GOSUB610:PRINT"[146]";:A$="[156]PRESS ANY KEY WHEN READY"
  76. 680 POKE646,4:GOSUB630
  77. 690 GOSUB650
  78. 700 GOSUB610:Q=0
  79. 710 FORS=55296TO55335:CO=INT(1+RND(1)*14):POKES,CO:POKES+(999-Q),CO:Q=Q+2: NEXT
  80. 720 PRINT"[158]":A$="READING DIRECTORY":GOSUB630:PRINT
  81. 730 X=1
  82. 740 OPEN15,8,15,"I0":CLOSE15:A$=""
  83. 750 OPEN8,8,0,"$0":FORC=1TO8:GET#8,A$:NEXT:C=1:DN$="":FORC=1TO16
  84. 760 GET#8,A$:DN$=DN$+A$:NEXT:GET#8,A$:GET#8,A$:GET#8,A$
  85. 770 DN$=DN$+A$:GET#8,A$:DN$=DN$+A$:GET#8,A$:GET#8,A$:DN$=DN$+"/"+A$
  86. 780 GET#8,A$:DN$=DN$+A$:GET#8,A$:C=1:PRINT"DISK TITLE ---> [156]"DN$:PRINT
  87. 790 FORH=1TO4:GET#8,A$:NEXT
  88. 800 GET#8,A$:IFST<>0THEN920
  89. 810 IFA$=""THEN920
  90. 820 IFASC(A$)<>34THEN800
  91. 830 GET#8,A$:IFASC(A$)<>34THENPN$=PN$+A$:GOTO830
  92. 840 GET#8,A$:IFASC(A$)=32THEN840
  93. 850 GET#8,A$:IFA$<>""THEN850
  94. 860 PRINTLEFT$(DO$,16);"                                      ";
  95. 880 A$="    "+ PN$:PRINT"[145]";:GOSUB630
  96. 885 IFRIGHT$(PN$,4)<>".MUS"THEN890
  97. 887 PL$(X)=PN$:X=X+1
  98. 890 PN$=""
  99. 900 IFST=0THEN790
  100. 920 CLOSE8:A=X:NS=A-1
  101. 930 GOSUB610:PRINT"";
  102. 1090 IFSK=1THEN2460
  103. 1100 IFFY=1THEN2430
  104. 1110 IFFG=1THEN2410
  105. 1120 IFFR=1THENGOSUB2240:GOTO1580
  106. 1130 GOSUB610
  107. 1140 V=1:NS=A-1
  108. 1160 Q=0:NP=INT((A-1)/26)+1
  109. 1165 PG=0:FORI=1TOA:SE(I)=.:NEXT
  110. 1170 FORS=55296TO55335:CO=INT(1+RND(1)*14):POKES,CO:POKES+(999-Q),CO:Q=Q+2: NEXT
  111. 1180 PRINT"[154]";:EP=26*PG+26:IFPG=NP-1THENEP=(A-1)
  112. 1190 FORCA=PG*26+1TOEP
  113. 1200 IFCA>(PG*26+13)THENPRINTLEFT$(OV$,CA+10-(26*PG));:GOTO1220
  114. 1210 PRINTLEFT$(DO$,CA-(26*PG)+4);
  115. 1220 PRINT""CHR$(CA+64-(26*PG))RO$+" ";
  116. 1230 IFSE(CA)THENPRINT"";
  117. 1240 PRINTLEFT$(PL$(CA),LEN(PL$(CA))-4)"[154]"
  118. 1250 NEXT
  119. 1310 PRINTLEFT$(DO$,21);
  120. 1320 A$="[158]ENTER YOUR CHOICES IN ANY ORDER":GOSUB630
  121. 1330 PRINTLEFT$(DO$,23);
  122. 1340 A$="   RETURN[158]=MENU   SPACE[158]=DONE"
  123. 1345 IFCA>26THENA$="F7[158]=MORE"+A$
  124. 1347 GOSUB630
  125. 1350 PRINT"[156]";
  126. 1360 GETAN$:IFAN$=""THEN1360
  127. 1365 IFAN$="[136]"THENPG=PG+1:IFPG>(NP-1)THENPG=0
  128. 1367 IFAN$="[136]"THENGOSUB610:GOTO1180
  129. 1370 IFAN$=CHR$(13)THENGOSUB610:GOSUB1580
  130. 1380 IFAN$=" "ANDV=1THENGOSUB610:GOTO1580
  131. 1390 IFAN$=" "THENFORT=1TOV:PL$(T)=PN$(T):NEXT:A=V-1:FY=1: GOTO2300
  132. 1400 REM DONE CHOOSING
  133. 1410 IFASC(AN$)<65ORASC(AN$)>90THEN1360
  134. 1420 N=ASC(AN$)-64+(26*PG)
  135. 1430 PN$(V)=PL$(N):SE(N)=1
  136. 1440 IFN>CA-1THEN1360
  137. 1450 IFN<1THEN1360
  138. 1474 IFN>(PG*26+13)THEN1476
  139. 1475 FORI=55418TO55434:POKEI+(N-(26*PG))*40,1:NEXT:GOTO1490
  140. 1476 FORI=55437TO55453:POKEI+(N-13-(26*PG))*40,1:NEXT
  141. 1490 V=V+1:GOTO1360
  142. 1580 TT=0:PRINT"[158]";:CLOSE15
  143. 1590 FORS=55296TO55335:POKES,0:POKES+960,0:NEXT
  144. 1610 PRINTCHR$(14):PRINT"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO";
  145. 1620 PRINT"O                                      O";
  146. 1630 PRINT"O 1. [195]REATE OR UPDATE A DIRECTORY FILE O";
  147. 1640 PRINT"O                                      O";
  148. 1650 PRINT"O 2. [195]HOOSE SONGS FROM DIRECTORY FILE  O";
  149. 1660 PRINT"O                                      O";
  150. 1670 PRINT"O 3. [195]HOOSE SONGS (NO DIRECTORY FILE)  O";
  151. 1680 PRINT"O                                      O";
  152. 1690 PRINT"O 4. [208]LAY ALL SONGS IN DIRECTORY FILE  O";
  153. 1700 PRINT"O                                      O";
  154. 1710 PRINT"O 5. [208]LAY ALL SONGS ON DISK (NO FILE)  O";
  155. 1720 PRINT"O                                      O";
  156. 1730 PRINT"O 6. [211]END DIRECTORY FILE TO PRINTER    O";
  157. 1740 PRINT"O                                      O";
  158. 1750 PRINT"O 7. [197]ND                               O";
  159. 1760 PRINT"O                                      O";
  160. 1770 PRINT"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"
  161. 1790 T1$="OOOOOOOOOOOOOOOOOOOO"
  162. 1800 T2$="OOOOOOOOOOOOOOOOOOOO"
  163. 1810 R1$="[157]O[157]O[157]O[157]O[157]O[157]O[157]O[157]O"
  164. 1820 R2$="[157]O[157]O[157]O[157]O[157]O[157]O[157]O"
  165. 1830 B1$="OOOOOOOOOOOOOOOOOOOO"
  166. 1840 B2$="OOOOOOOOOOOOOOOOOOOO"
  167. 1850 L1$="[145][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O"
  168. 1860 L2$="[145][145]O[157][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O[157][145][145]O"
  169. 1870 TT$="         [212]HE [205]AGIC [211]ID [205]ACHINE       "
  170. 1880 B1$=""+T1$+R1$+B1$+L1$
  171. 1890 B2$=""+T2$+R2$+B2$+L2$
  172. 1900 H=2
  173. 1910 PRINTB1$
  174. 1920 PRINTB2$
  175. 1930 PRINTTT$
  176. 1940 POKE646,H:H=H+1:IFH=16THENH=2
  177. 1950 GETA$:IFA$=""THEN1910
  178. 1960 POKE646,14
  179. 1970 IFA$="1"THENFR=1:SK=0:FG=0:FY=0:GOTO670
  180. 1980 IFA$="2"THENSK=0:FG=0:FY=0:SD=0:FR=0:GOTO2060
  181. 1990 IFA$="3"THENSK=0:FG=0:FR=0:FY=0:GOTO670
  182. 2000 IFA$="4"THENSK=1:GOTO2060
  183. 2010 IFA$="5"THENSD=0:SK=0:FR=0:FY=0:FG=1:GOTO670
  184. 2020 IFA$="6"THENSD=0:SK=0:FR=0:FY=0: FP=1:GOTO2060
  185. 2030 IFA$="7"THENGOSUB610:PRINT"[147][158]";CHR$(142):END
  186. 2040 GOTO1790
  187. 2050 REM **LOAD DIR**
  188. 2060 GOSUB610:A$="READING DIRECTORY FILE.....":PRINT"":GOSUB630:CLOSE8
  189. 2070 OPEN15,8,15,"I0:":OPEN8,8,8,"SIDCAT,S,R":INPUT#15,Y,B$,C,D:CLOSE15
  190. 2075 IFY=62THEN2110
  191. 2090 IFFP=1THENCLOSE4:OPEN4,4,7
  192. 2100 CLOSE8:OPEN8,8,8,"SIDCAT,S,R": PRINT""
  193. 2110 IFY=62THENPRINT"":A$="YOU MUST CREATE A FILE FIRST":GOSUB630:CLOSE8
  194. 2120 IFY=62THEN FORDE=1TO2000: NEXTDE:GOSUB610:CLOSE15:GOTO1580
  195. 2140 INPUT#8,DN$:IFFP=1THENPRINT#4," ":PRINT#4,DN$:PRINT#4," "
  196. 2150 INPUT#8,A
  197. 2160 FORWE=1TOA
  198. 2170 INPUT#8,PL$(WE)
  199. 2180 IFFP=1THENPRINT#4,PL$(WE)
  200. 2190 NEXT
  201. 2200 IFFP=1THENFP=0:PRINT#4," ":PRINT#4," ":CLOSE4:CLOSE8:GOSUB610:GOTO1580
  202. 2210 IFSK=1THENCLOSE8:CLOSE15:GOTO2300
  203. 2220 CLOSE8:CLOSE15:A=A+1:GOTO1130
  204. 2230 REM ** WRITE DIRECTORY FILE **
  205. 2240 GOSUB6000:GOSUB610
  206. 2242 A$="WRITING DIRECTORY FILE":GOSUB630:CLOSE8:OPEN15,8,15,"S0:SIDCAT"
  207. 2245 CLOSE15
  208. 2250 OPEN8,8,8,"SIDCAT,S,W"
  209. 2260 PRINT#8,DN$
  210. 2270 PRINT#8,A-1
  211. 2280 FORQW=1TOA-1:PRINT#8,PL$(QW):NEXT
  212. 2290 CLOSE8:R=0:GOSUB610:RETURN
  213. 2300 GOSUB610:F=1
  214. 2310 SD=1
  215. 2320 PT$=LEFT$(PL$(SD),LEN(PL$(SD))-4):F=1:REM PT$=FILE NAME TO PRINT
  216. 2330 PRINT"[158]";:A$="[SPACE] WILL STOP SONG DURING PLAY":GOSUB630
  217. 2380 PRINTLEFT$(DO$,19);:A$="^ = BACK TO MENU":GOSUB630
  218. 2390 PRINT"";:A$="LOADING "+PT$:GOSUB630
  219. 2395 CF=FRE(0)
  220. 2400 F$=PL$(SD):LA=PEEK(49)+256*PEEK(50)+1000:GOSUB2510:REM LOAD SONG
  221. 2405 SYSHK:POKESX,LO:POKESY,HI:SYSPL
  222. 2406 GOSUB2700
  223. 2407 GOTO120
  224. 2410 IFFG=1THENSD=SD+1:IFSD>A-1THEN1580
  225. 2420 IFFG=1THEN2320
  226. 2430 IFFY=1THENSD=SD+1
  227. 2440 IFSD>ATHEN1580
  228. 2450 GOTO2320
  229. 2460 SD=SD+1:IFSD>ATHENGOTO1580:REM INCREMENT COUNTER FOR NEXT SONG
  230. 2470 GOTO2320
  231. 2510 POKESA,1:POKESX,DN:POKESY,0:SYS65466:GOSUB2550
  232. 2520 HI=INT(LA/256):LO=LA-256*HI
  233. 2530 POKESA,0:POKESX,LO:POKESY,HI:SYS65493:IFPEEK(SP)AND1THEN2570
  234. 2540 LA=PEEK(SX)+256*PEEK(SY):RETURN
  235. 2550 FORK=1TOLEN(F$):POKE584+K,ASC(MID$(F$,K)):NEXT
  236. 2560 POKESA,LEN(F$):POKESX,73:POKESY,2:SYS65469:RETURN
  237. 2570 P=PEEK(SA):PRINT" ERROR: ";:IFP=4THENPRINT"FILE NOT FOUND":END
  238. 2580 IFP=5THENPRINT"DEVICE NOT PRESENT":END
  239. 2590 PRINTST:END
  240. 2699 REM ** GET TEXT **
  241. 2700 FORI=1TO5:TX$(I)="":NEXT:CT=0
  242. 2710 TX=PEEK(SX)+256*PEEK(SY)
  243. 2715 CT=CT+1:IFCT>5THENRETURN
  244. 2720 PX=PEEK(TX):IFPX=0THENRETURN
  245. 2730 IFPX=13THENTX=TX+1:GOTO2715
  246. 2735 IFPX=32THENTX=TX+1:GOTO2720
  247. 2737 IFPX=34THENPX=39
  248. 2740 TX$(CT)=TX$(CT)+CHR$(PX):TX=TX+1:IFLEN(TX$(CT))>39THEN2715
  249. 2750 PX=PEEK(TX):IFPX=0THENRETURN
  250. 2752 IFPX=13THENTX=TX+1:GOTO2715
  251. 2754 IFPX=34THENPX=39
  252. 2770 GOTO2740
  253. 5000 SS=49152:HK=49423:PL=49446:DP=49620:PRINT"[147]          PLEASE WAIT..."
  254. 5010 P1=PEEK(648):POKE648, 192 :A$=CHR$(34)+CHR$(34)+CHR$(20)
  255. 5012 POKE53280,8:PRINT"";:PRINT:PRINT:PRINT:PRINT
  256. 5020 PRINT"@@@@@@@@@@@@@@@@@@@@@@@@@[204]F[194][146][204]X[197][163][193][146]@@[201][192][201][192][201][192][146][160]ABD@GNA@[191][146]@BDEG";
  257. 5022 PRINT"IK^XK[146][190][186][146]F,[179][166]O[184][146].FNV_(3=[200][212][161][174][189]L[146][184][164][208]<(T@@BCEGH";
  258. 5024 POKE53280,7:POKE648, 193 :PRINT:PRINT:PRINT"";
  259. 5026 PRINT"JLMOQR@[160][146]@DHL[185][146]@[181][146][184]"A$"[146]B=[146]SC][192][192]=>[192]][146]SC[202][208][177]N[146]@[192][146][216]";
  260. 5028 PRINT"[160])[146]@M[146]@[192]F[187]D[188] 8Y[146]@[192]H[208][186]M[146]U[212]M[146]V[212])[146]HM[146]\[192]M[146]W[212]M[146]][192]M[146]X";
  261. 5030 PRINT"[212])PM[146]^[192])[146]LM[146]_[192])[212]E[190]"A$"[146]B)[146]A][146]![192])[146]D][146]'[192]=[146]H[193]][146][190][192]";
  262. 5032 PRINT"=[205][192]E[189])[146]@(Q[189][200]Q[189][200]Q[189])[146]H][146]N[192]][146][163][192][200]Q[189][200]Q[189])[146][192]][146]Q[192]Q[189])[146] ][146]T";
  263. 5034 PRINT"[192][200]Q[189])[181]][146]W[192][200]Q[189][202][146]P8%[187][146]X[169]FE[189])[146]@*([146][165][188]E[190]][146][178][192]][146][184][192]%[189]][146][175]";
  264. 5036 PRINT"[192]][146][181][192][146]X[177][187]E[189]%[190][200][146][177][187][200][168][160][146]C[208][160]&[189]([146][160][184]-[193][192]M[146]TC-[194][192]M[146]UC[216][160]-[146]M";
  265. 5038 PRINT"[220]-[146]@[192][146]0"A$"I@([146])G[176][146]X[216]L[146]@[192])[212]E[188][146][216]"A$"[146]C=[146]Z[192]";
  266. 5040 POKE53280,6:POKE648, 194 :PRINT:PRINT:PRINT"";
  267. 5042 PRINT"][146]U[212][202][146]P[183])[212]E[188][176][146][180][168][146]0[172]-[146]@[192][146]=[202][192][176][146]+=[205][192]E[187]=[146]E[192] [146]@Q[187]=[146]H";
  268. 5044 PRINT"[192][200]Q[187]=[146]K[192][200]Q[187]=[146]N[192][200]Q[187]=[146]T[192][200][200]Q[187]=[146]W[192][200]Q[187][168][160][146]C[208][200]-[146]Q[192].[146]R[192],";
  269. 5046 PRINT"[146]S[192]M[146]D[212]N[146]K[212]L[146]R[212]"A$"[146]@-[146]@[192][146]=[202][192][176][146]MN[146] [192][146] 9[192]-[146]@[192][146])";
  270. 5048 PRINT"[184][208][146]M[168][160][146]C[208][166]-[146]@[192][146])[191],)[146]HM[146]@[192][146][172][193][192][146][172][195][192][255][146]![192][176][146][209]=[146]$[192]";
  271. 5050 PRINT"[146]0[179][208][146]P=[146]'[192][221][146]![192]P[146]H=[146]Q[192][146])[190]][146]Q[192]=[146]*[192][176][146][214]J=[146]E[192]0[146]1[189]-";
  272. 5052 PRINT"[192]][146]E[192](=[146]H[192][146][189]0[192]][146]H[192][146][200]X[221][146][212][192][146][168][189][146][215][192]P[146]3=[146][212][192]][146]E[192]=[146][215]";
  273. 5054 PRINT"[192]][146]H[192])[146]@][146]*[192][146]XP[146]_[176][146][181][189][146]-[192]][146]E[192]=[146]H[192][189][146]0[192]][146]H[192]=[146][212][192]";
  274. 5056 PRINT"[221][146]E[192]=[146][215][192][189][146]H[192]0[205]P[146][165]=[146]3[192]";
  275. 5058 POKE53280,5:POKE648, 195 :PRINT:PRINT:PRINT"";
  276. 5060 PRINT"[176][146][160] [146]@[255][146]6[192][208][146]1=[146]9[192][146]]<[192][208][146][=[146][197][192]][146]?[192]][146]6[192]=[146]3[192][146]J=[146][194]";
  277. 5062 PRINT"[192]P[146]D[201][191][146][169]@][146]3[192][208][146]P=[146]?[192]][146]6[192]X[146]8[189][146]3[192]][146]3[192][201][146]@PAH[146]X[189]9";
  278. 5064 PRINT"[192]][146]9[192][146][200]X[146][189]<[192]][146]<[192]([146][168]XP[146]B[176][146][200][189][212][192]][146]E[192]X[146][189][215][192]][146]H[192]=[146][218]";
  279. 5066 PRINT"[192][176][146]PX[189]K[192]][146]K[192]=[146][221][192][146][189]N[192]][146]N[192] [146]@=[146][169][192][176][146]\PA[200][146]X[173]Z[192][146][200])G";
  280. 5068 PRINT"M[146]Z[192][146][168][170][202][202]X[185]F[193][146]X[173][[192]M[146][[192][146][172][195][192]=[146][175][192]E[189]=[146][178][192]E[190][208][146]F[172][197][192][146] <";
  281. 5070 PRINT"[192]-[146]@[192][146]=[202][192][176][178] [146]@1[189]E[191][200]1[189](%[189][146]X[169]BE[189]][146][175][192]%[190][146][169]@E[190]][146][178][192]%[191][146])";
  282. 5072 PRINT"C[208][210]=[146][212][192]][146]E[192]=[146][215][192]][146]H[192]X][146]B[192][146])8[202][202][202][189][200][192]E[189]X[146])[192][146]J**(9[207][192]";
  283. 5074 PRINT"E[190]";
  284. 5076 POKE53280,4:POKE648, 196 :PRINT:PRINT:PRINT"";
  285. 5078 PRINT"=[146]B[192][146])G[176][146][166][176]T(9[210][192][146][165][190][146]X[189][203][192][146]PEX[169]L[166][189][201][146]LP[146]D[169][146]L[198][189]E[190](%";
  286. 5080 PRINT"[191][146][200]9[166][192]E[191]9[218][192]$[189]H[146]0F[198][191][146][170]H[146]P[186][146]X[189][206][192]][146][212][192]%[191][146][189][209][192]][146][215][192][146][168]E";
  287. 5082 PRINT"[191][146])\[176]6=[146]-[192][146]]0[192][176][146]V=[146]E[192][221][146][212][192]=[146]H[192][189][146][215][192])[190][146][170]][146]*[192]P[146]Q[176]";
  288. 5084 PRINT"[146][202]][146]*[192]=[146][212][192]][146]E[192]=[146][215][192]][146]H[192]=[146]$[192][146]J[208][146]5=[146][218][192][176][146]L=[146][160][192]][146]K";
  289. 5086 PRINT"[192]=[146][163][192]][146]N[192]=[146][166][192][176][146]O$[189][146]X[185][178][192]$[190][146]X[185][186][192][146]XP[146]H=[146][169][192][176][146]K=[146][172]";
  290. 5088 PRINT"[192]M[146][[192])[146]@M[146]Z[192]%[191]([146]) E[191]X[146])[192]][146]$[192]X[146])\[202][202](-[146]_[192]H[176][146]\-[146]^";
  291. 5090 PRINT"[192][208][146]A8H[176][146]F[170]0[146]1H[208][186]$[191]E[191][176][146]G[202]0[146]%[165][191]0[146]$][146]![192]=[146]Q[192][146])[182]][146]Q";
  292. 5092 PRINT"[192][146]8=[146]B[192][146])G[208]";
  293. 5094 POKE53280,3:POKE648, 197 :PRINT:PRINT:PRINT"";
  294. 5096 PRINT"[146]C[190]$[192]=[146]Q[192][146][169]@][146]Q[192][146][172][197][192])[146]P,)[146]XM[146]@[192][146][160]X[146][200]%[191][146][202]0[146][176][202][202]";
  295. 5098 PRINT"0[146]^[202]0[146]N][146][163][192]][146]N[192][146][168]][146][160][192]][146]K[192][146][160][202]P[146]BI[184]][146][209][192][146][168]][146][206][192]";
  296. 5100 PRINT"[146][160][202]P[146]K[202][168]0[146]F][146][172][192]M[146][[192][146][160]([176][146]"A$"[168]H[176][146]#H[176][146]$H[176][146]%H[176][146]2H";
  297. 5102 PRINT"[176][146]3H[176][146]<H[176][146]=H[176][146][217]H[176][146][218]H[176][146][219][172][199][192][146][168]M[146]^[192][146][160]M[146]_[192][146][160]][146]'[192]";
  298. 5104 PRINT"[146][160]][146][187][192]%[189]][146][181][192]%[190]][146][184][192][146][160]0[146][213]M[146]A[192][146][160]][146][218][192][146]JP[146]AHX][146][221][192]";
  299. 5106 PRINT"[146][160]][146][169][192][146][160]([208][146]D][146]3[192][146][160]][146][194][192]<[146]3[192][208][146]O][146]3[192]X][146]9[192]][146]<[192])[146]A";
  300. 5108 PRINT"][146]6[192][146][160]][146][197][192][146][160]][146][166][192][146][160][202]P[146]B[200][146]X[200])G[185]L[193]][146][200][192][146][168][202][202][202]X[185]M[193]]";
  301. 5110 PRINT"[146][203][192][146][160][202]P[146]H][146]0[192][146][168]][146]-[192][146][160][168][202]0[146][213][202]0[146]%[202]0[146]E[202] [176][208][146]F";
  302. 5112 POKE53280,10:POKE648, 198 :PRINT:PRINT:PRINT"";
  303. 5114 PRINT"JJJJ [146]OE[191]X0[146]I=T[192][146]E[191]][146]T[192][146][160]=W[192][146]E[191]][146]W[192][146][160][202]0[146],[202]0[146][210]E";
  304. 5116 PRINT"[191]=[146][190][192][221][146]I[193][176][146][194][190][146][190][192](%[189]YA[192]%[190]YM[192]$[191]9)[192][176][146]*E[190]9Y[192]E[189][146][160]0[146][195][202]0";
  305. 5118 PRINT"[146]4(%[189]YY[192]%[190]Y)[192]=[146][190][192][221][146]I[193][176][146]M[190][146][190][192]()[146]@YM[192][146][160])[146]0,)[146](M[146]@";
  306. 5120 PRINT"[192][146][160]JJJJ[205]\[192][146])[176][146][205]\[192]P[146][175][205]][192][146])O[205]][192]M[146]][192][146][160][202][202]0[146][163][202]([176][146]WH";
  307. 5122 PRINT"[176][146]*H[176][146]6H[176][146]>H[176][146][198]-[146]][192][146])[191]P[146][178]I@0[146][174],[146]][192]0[146]G[200]X[146])O[208][146]G";
  308. 5124 PRINT"[160]X[146])O[176][146]DHL[146]][192][146][160]=[202][192][146][201][191][146]-\[192]P[146]$][202][192]0[146]_=[146]Q[192][146])[187]P[146]2I";
  309. 5126 PRINT"D0[146].=[146]Q[192][146])[189]P[146]'IB0[146]#-[146]\[192][146])[183]P[146]BIHM[146]\[192][146][160][202]0[146]'[202]0[146]T";
  310. 5128 PRINT"[208][146]B)[146]H";
  311. 5130 POKE53280,15:POKE648, 199 :PRINT:PRINT:PRINT"";
  312. 5132 PRINT"JJJJ[221]Q[192][146])[176][146][221]Q[192]][146]Q[192][146][160]JJJJ[205]][192][146])[176][205]][192]M[146]][192][146][160][202]([208][146]U=[146][187]";
  313. 5134 PRINT"[192][176][146]E[255][146][187][192][176][146]J=[146][181][192]E[189]=[146][184][192]E[190][146][160]H[208][146] =[146][190][192][221][146]H[193][176][146]R[255][146][190][192]";
  314. 5136 PRINT"(H9M[192][176][146]GE[190]9A[192]E[189][146][160])[146] M[146]@[192][146][160]-[146]@[192][146][221][202][192]M[146]@[192]HXQ[187][200]Q[187][146][160] ";
  315. 5138 POKE648,P1:PRINT""
  316. 5140 POKE49664,157:POKE49920,240:POKE50176,189
  317. 5150 RETURN
  318. 5999 REM *SORT*
  319. 6000 PRINT"  WANT ALPHABETIZED DIRECTORY? (Y/N)"
  320. 6002 GETA$:IFA$=""THEN6002
  321. 6004 IFA$="N"THENRETURN
  322. 6006 IFA$="Y"THEN6008
  323. 6007 GOTO6002
  324. 6008 GOSUB610:PRINT"SORTING  "
  325. 6010 FORI=1TO NS-1:FORJ=I+1TONS
  326. 6015 PRINT"";I;J
  327. 6020 IFPL$(J)<=PL$(I)THENTE$=PL$(J):PL$(J)=PL$(I):PL$(I)=TE$
  328. 6030 NEXT:NEXT
  329. 6040 RETURN
  330.