10 GOTO100 20 ******************************** 21 * * MAGIC SID MACHINE V2.2 * * 22 * A MODIFICATION OF 'MAGIC * 23 * MUSIC MACHINE' V2.0 WRITTEN * 24 * BY DAVE SCHMOLDT * 25 * * 27 * ADAPTED TO RUN SIDPLAYER * 28 * FILES, USING ROUTINES FROM * 29 * THE BOOK 'ALL ABOUT THE * 30 * COMMODORE 64' VOLUME 2 * 31 * BY CRAIG CHAMBERLAIN * 32 * * 33 * ALL MUSIC FILES TO BE USED * 34 * BY THIS PROGRAM MUST HAVE THE* 35 * '.MUS' EXTENSION AFTER THE * 36 * FILENAME. * 37 * HANDLES UP TO 200 FILES/DISK * 38 * * 39 * TERRY KRYGER [71106,221] * 40 * 3/20/86 * 41 ******************************** 100 DIMPL$(200),PN$(200),SE(200),TX$(5) 101 DN=8:SA=780:SX=781:SY=782:SP=783 102 GOSUB5000 103 OV$="" 104 DO$="" 105 RO$="[146]" 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]" 110 IFF=0THENPRINTCHR$(147) 120 GOSUB610 125 IFF=1THEN230 150 PRINT"[147]"; 160 POKE53280,0:POKE53281,0 170 FORS=55296TO55335:POKES,0:POKES+960,0:NEXT 190 FORS=1024TO1063:POKES,244:POKES+960,244:NEXT 200 PRINT"[144]";:A$=" THE MAGIC SID MACHINE 2.2 ":GOSUB630 210 PRINT "[144]"; 220 PRINTDO$;:A$=" DAVE SCHMOLDT / T. KRYGER ":GOSUB630 230 PRINT"" 240 IFF=0THEN1580 245 WAIT56320,16 248 POKESS,7 260 Q=0 270 FORS=55296TO55335:CO=INT(1+RND(1)*14):POKES,CO:POKES+(999-Q),CO:Q=Q+2: NEXT 300 PRINT""; 310 IFF=0THENGOSUB670 320 PRINT"[146]";:F=1 340 PRINT"";:A$=" ":GOSUB630 350 PRINT"";:A$=" ":GOSUB630 370 PRINT"[145]"; 380 FORX=1TO5:PRINTLEFT$(DO$,10+X);:A$=TX$(X):GOSUB630:NEXT 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]" 410 PRINT"";:CO=149 450 FORC=1TO9 460 CO=INT(1+RND(1)*14):POKE646,CO 470 PRINTLEFT$(DO$,C+1);:PRINTA$; 480 PRINTDO$; 490 PRINTLEFT$(U$,C);:PRINTA$; 500 GETRE$:IFRE$=" "THENPOKESS,0:SYSDP:R=0:FORL=54276TO54296:POKEL,0:NEXT 510 IFRE$=" "THEN930 520 IFRE$<>"^"THEN570 530 POKESS,0:SYSDP:FORL=54276TO54296:POKEL,0:NEXT:F=0:SD=A 540 GOSUB610:GOTO1580 570 NEXT:PRINT""; 590 IFPEEK(SS)THEN450 595 SYSDP 600 FORL=54276TO54296:POKEL,0:NEXT:GOTO930 610 PRINT"";:FORJK=1TO23:PRINT" ";:NEXT 620 PRINT"";CHR$(142):RETURN 630 PRINTSPC(20-LEN(A$)/2)A$; 640 RETURN 650 GETKE$:IFKE$=""THEN650 660 RETURN 670 GOSUB610:PRINT"[146]";:A$="[156]PRESS ANY KEY WHEN READY" 680 POKE646,4:GOSUB630 690 GOSUB650 700 GOSUB610:Q=0 710 FORS=55296TO55335:CO=INT(1+RND(1)*14):POKES,CO:POKES+(999-Q),CO:Q=Q+2: NEXT 720 PRINT"[158]":A$="READING DIRECTORY":GOSUB630:PRINT 730 X=1 740 OPEN15,8,15,"I0":CLOSE15:A$="" 750 OPEN8,8,0,"$0":FORC=1TO8:GET#8,A$:NEXT:C=1:DN$="":FORC=1TO16 760 GET#8,A$:DN$=DN$+A$:NEXT:GET#8,A$:GET#8,A$:GET#8,A$ 770 DN$=DN$+A$:GET#8,A$:DN$=DN$+A$:GET#8,A$:GET#8,A$:DN$=DN$+"/"+A$ 780 GET#8,A$:DN$=DN$+A$:GET#8,A$:C=1:PRINT"DISK TITLE ---> [156]"DN$:PRINT 790 FORH=1TO4:GET#8,A$:NEXT 800 GET#8,A$:IFST<>0THEN920 810 IFA$=""THEN920 820 IFASC(A$)<>34THEN800 830 GET#8,A$:IFASC(A$)<>34THENPN$=PN$+A$:GOTO830 840 GET#8,A$:IFASC(A$)=32THEN840 850 GET#8,A$:IFA$<>""THEN850 860 PRINTLEFT$(DO$,16);" "; 880 A$=" "+ PN$:PRINT"[145]";:GOSUB630 885 IFRIGHT$(PN$,4)<>".MUS"THEN890 887 PL$(X)=PN$:X=X+1 890 PN$="" 900 IFST=0THEN790 920 CLOSE8:A=X:NS=A-1 930 GOSUB610:PRINT""; 1090 IFSK=1THEN2460 1100 IFFY=1THEN2430 1110 IFFG=1THEN2410 1120 IFFR=1THENGOSUB2240:GOTO1580 1130 GOSUB610 1140 V=1:NS=A-1 1160 Q=0:NP=INT((A-1)/26)+1 1165 PG=0:FORI=1TOA:SE(I)=.:NEXT 1170 FORS=55296TO55335:CO=INT(1+RND(1)*14):POKES,CO:POKES+(999-Q),CO:Q=Q+2: NEXT 1180 PRINT"[154]";:EP=26*PG+26:IFPG=NP-1THENEP=(A-1) 1190 FORCA=PG*26+1TOEP 1200 IFCA>(PG*26+13)THENPRINTLEFT$(OV$,CA+10-(26*PG));:GOTO1220 1210 PRINTLEFT$(DO$,CA-(26*PG)+4); 1220 PRINT""CHR$(CA+64-(26*PG))RO$+" "; 1230 IFSE(CA)THENPRINT""; 1240 PRINTLEFT$(PL$(CA),LEN(PL$(CA))-4)"[154]" 1250 NEXT 1310 PRINTLEFT$(DO$,21); 1320 A$="[158]ENTER YOUR CHOICES IN ANY ORDER":GOSUB630 1330 PRINTLEFT$(DO$,23); 1340 A$=" RETURN[158]=MENU SPACE[158]=DONE" 1345 IFCA>26THENA$="F7[158]=MORE"+A$ 1347 GOSUB630 1350 PRINT"[156]"; 1360 GETAN$:IFAN$=""THEN1360 1365 IFAN$="[136]"THENPG=PG+1:IFPG>(NP-1)THENPG=0 1367 IFAN$="[136]"THENGOSUB610:GOTO1180 1370 IFAN$=CHR$(13)THENGOSUB610:GOSUB1580 1380 IFAN$=" "ANDV=1THENGOSUB610:GOTO1580 1390 IFAN$=" "THENFORT=1TOV:PL$(T)=PN$(T):NEXT:A=V-1:FY=1: GOTO2300 1400 REM DONE CHOOSING 1410 IFASC(AN$)<65ORASC(AN$)>90THEN1360 1420 N=ASC(AN$)-64+(26*PG) 1430 PN$(V)=PL$(N):SE(N)=1 1440 IFN>CA-1THEN1360 1450 IFN<1THEN1360 1474 IFN>(PG*26+13)THEN1476 1475 FORI=55418TO55434:POKEI+(N-(26*PG))*40,1:NEXT:GOTO1490 1476 FORI=55437TO55453:POKEI+(N-13-(26*PG))*40,1:NEXT 1490 V=V+1:GOTO1360 1580 TT=0:PRINT"[158]";:CLOSE15 1590 FORS=55296TO55335:POKES,0:POKES+960,0:NEXT 1610 PRINTCHR$(14):PRINT"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO"; 1620 PRINT"O O"; 1630 PRINT"O 1. [195]REATE OR UPDATE A DIRECTORY FILE O"; 1640 PRINT"O O"; 1650 PRINT"O 2. [195]HOOSE SONGS FROM DIRECTORY FILE O"; 1660 PRINT"O O"; 1670 PRINT"O 3. [195]HOOSE SONGS (NO DIRECTORY FILE) O"; 1680 PRINT"O O"; 1690 PRINT"O 4. [208]LAY ALL SONGS IN DIRECTORY FILE O"; 1700 PRINT"O O"; 1710 PRINT"O 5. [208]LAY ALL SONGS ON DISK (NO FILE) O"; 1720 PRINT"O O"; 1730 PRINT"O 6. [211]END DIRECTORY FILE TO PRINTER O"; 1740 PRINT"O O"; 1750 PRINT"O 7. [197]ND O"; 1760 PRINT"O O"; 1770 PRINT"OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO" 1790 T1$="OOOOOOOOOOOOOOOOOOOO" 1800 T2$="OOOOOOOOOOOOOOOOOOOO" 1810 R1$="[157]O[157]O[157]O[157]O[157]O[157]O[157]O[157]O" 1820 R2$="[157]O[157]O[157]O[157]O[157]O[157]O[157]O" 1830 B1$="OOOOOOOOOOOOOOOOOOOO" 1840 B2$="OOOOOOOOOOOOOOOOOOOO" 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" 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" 1870 TT$=" [212]HE [205]AGIC [211]ID [205]ACHINE " 1880 B1$=""+T1$+R1$+B1$+L1$ 1890 B2$=""+T2$+R2$+B2$+L2$ 1900 H=2 1910 PRINTB1$ 1920 PRINTB2$ 1930 PRINTTT$ 1940 POKE646,H:H=H+1:IFH=16THENH=2 1950 GETA$:IFA$=""THEN1910 1960 POKE646,14 1970 IFA$="1"THENFR=1:SK=0:FG=0:FY=0:GOTO670 1980 IFA$="2"THENSK=0:FG=0:FY=0:SD=0:FR=0:GOTO2060 1990 IFA$="3"THENSK=0:FG=0:FR=0:FY=0:GOTO670 2000 IFA$="4"THENSK=1:GOTO2060 2010 IFA$="5"THENSD=0:SK=0:FR=0:FY=0:FG=1:GOTO670 2020 IFA$="6"THENSD=0:SK=0:FR=0:FY=0: FP=1:GOTO2060 2030 IFA$="7"THENGOSUB610:PRINT"[147][158]";CHR$(142):END 2040 GOTO1790 2050 REM **LOAD DIR** 2060 GOSUB610:A$="READING DIRECTORY FILE.....":PRINT"":GOSUB630:CLOSE8 2070 OPEN15,8,15,"I0:":OPEN8,8,8,"SIDCAT,S,R":INPUT#15,Y,B$,C,D:CLOSE15 2075 IFY=62THEN2110 2090 IFFP=1THENCLOSE4:OPEN4,4,7 2100 CLOSE8:OPEN8,8,8,"SIDCAT,S,R": PRINT"" 2110 IFY=62THENPRINT"":A$="YOU MUST CREATE A FILE FIRST":GOSUB630:CLOSE8 2120 IFY=62THEN FORDE=1TO2000: NEXTDE:GOSUB610:CLOSE15:GOTO1580 2140 INPUT#8,DN$:IFFP=1THENPRINT#4," ":PRINT#4,DN$:PRINT#4," " 2150 INPUT#8,A 2160 FORWE=1TOA 2170 INPUT#8,PL$(WE) 2180 IFFP=1THENPRINT#4,PL$(WE) 2190 NEXT 2200 IFFP=1THENFP=0:PRINT#4," ":PRINT#4," ":CLOSE4:CLOSE8:GOSUB610:GOTO1580 2210 IFSK=1THENCLOSE8:CLOSE15:GOTO2300 2220 CLOSE8:CLOSE15:A=A+1:GOTO1130 2230 REM ** WRITE DIRECTORY FILE ** 2240 GOSUB6000:GOSUB610 2242 A$="WRITING DIRECTORY FILE":GOSUB630:CLOSE8:OPEN15,8,15,"S0:SIDCAT" 2245 CLOSE15 2250 OPEN8,8,8,"SIDCAT,S,W" 2260 PRINT#8,DN$ 2270 PRINT#8,A-1 2280 FORQW=1TOA-1:PRINT#8,PL$(QW):NEXT 2290 CLOSE8:R=0:GOSUB610:RETURN 2300 GOSUB610:F=1 2310 SD=1 2320 PT$=LEFT$(PL$(SD),LEN(PL$(SD))-4):F=1:REM PT$=FILE NAME TO PRINT 2330 PRINT"[158]";:A$="[SPACE] WILL STOP SONG DURING PLAY":GOSUB630 2380 PRINTLEFT$(DO$,19);:A$="^ = BACK TO MENU":GOSUB630 2390 PRINT"";:A$="LOADING "+PT$:GOSUB630 2395 CF=FRE(0) 2400 F$=PL$(SD):LA=PEEK(49)+256*PEEK(50)+1000:GOSUB2510:REM LOAD SONG 2405 SYSHK:POKESX,LO:POKESY,HI:SYSPL 2406 GOSUB2700 2407 GOTO120 2410 IFFG=1THENSD=SD+1:IFSD>A-1THEN1580 2420 IFFG=1THEN2320 2430 IFFY=1THENSD=SD+1 2440 IFSD>ATHEN1580 2450 GOTO2320 2460 SD=SD+1:IFSD>ATHENGOTO1580:REM INCREMENT COUNTER FOR NEXT SONG 2470 GOTO2320 2510 POKESA,1:POKESX,DN:POKESY,0:SYS65466:GOSUB2550 2520 HI=INT(LA/256):LO=LA-256*HI 2530 POKESA,0:POKESX,LO:POKESY,HI:SYS65493:IFPEEK(SP)AND1THEN2570 2540 LA=PEEK(SX)+256*PEEK(SY):RETURN 2550 FORK=1TOLEN(F$):POKE584+K,ASC(MID$(F$,K)):NEXT 2560 POKESA,LEN(F$):POKESX,73:POKESY,2:SYS65469:RETURN 2570 P=PEEK(SA):PRINT" ERROR: ";:IFP=4THENPRINT"FILE NOT FOUND":END 2580 IFP=5THENPRINT"DEVICE NOT PRESENT":END 2590 PRINTST:END 2699 REM ** GET TEXT ** 2700 FORI=1TO5:TX$(I)="":NEXT:CT=0 2710 TX=PEEK(SX)+256*PEEK(SY) 2715 CT=CT+1:IFCT>5THENRETURN 2720 PX=PEEK(TX):IFPX=0THENRETURN 2730 IFPX=13THENTX=TX+1:GOTO2715 2735 IFPX=32THENTX=TX+1:GOTO2720 2737 IFPX=34THENPX=39 2740 TX$(CT)=TX$(CT)+CHR$(PX):TX=TX+1:IFLEN(TX$(CT))>39THEN2715 2750 PX=PEEK(TX):IFPX=0THENRETURN 2752 IFPX=13THENTX=TX+1:GOTO2715 2754 IFPX=34THENPX=39 2770 GOTO2740 5000 SS=49152:HK=49423:PL=49446:DP=49620:PRINT"[147] PLEASE WAIT..." 5010 P1=PEEK(648):POKE648, 192 :A$=CHR$(34)+CHR$(34)+CHR$(20) 5012 POKE53280,8:PRINT"";:PRINT:PRINT:PRINT:PRINT 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"; 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"; 5024 POKE53280,7:POKE648, 193 :PRINT:PRINT:PRINT""; 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]"; 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"; 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]"; 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"; 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]"; 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"; 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]"; 5040 POKE53280,6:POKE648, 194 :PRINT:PRINT:PRINT""; 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"; 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],"; 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])"; 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]"; 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]-"; 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]"; 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]"; 5056 PRINT"[221][146]E[192]=[146][215][192][189][146]H[192]0[205]P[146][165]=[146]3[192]"; 5058 POKE53280,5:POKE648, 195 :PRINT:PRINT:PRINT""; 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]"; 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"; 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]"; 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"; 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] <"; 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])"; 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]"; 5074 PRINT"E[190]"; 5076 POKE53280,4:POKE648, 196 :PRINT:PRINT:PRINT""; 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](%"; 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"; 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]"; 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"; 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]"; 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]^"; 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"; 5092 PRINT"[192][146]8=[146]B[192][146])G[208]"; 5094 POKE53280,3:POKE648, 197 :PRINT:PRINT:PRINT""; 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]"; 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]"; 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"; 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]"; 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]"; 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"; 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]]"; 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"; 5112 POKE53280,10:POKE648, 198 :PRINT:PRINT:PRINT""; 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"; 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"; 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]@"; 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"; 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"; 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"; 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"; 5128 PRINT"[208][146]B)[146]H"; 5130 POKE53280,15:POKE648, 199 :PRINT:PRINT:PRINT""; 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]"; 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]"; 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] "; 5138 POKE648,P1:PRINT"" 5140 POKE49664,157:POKE49920,240:POKE50176,189 5150 RETURN 5999 REM *SORT* 6000 PRINT" WANT ALPHABETIZED DIRECTORY? (Y/N)" 6002 GETA$:IFA$=""THEN6002 6004 IFA$="N"THENRETURN 6006 IFA$="Y"THEN6008 6007 GOTO6002 6008 GOSUB610:PRINT"SORTING " 6010 FORI=1TO NS-1:FORJ=I+1TONS 6015 PRINT"";I;J 6020 IFPL$(J)<=PL$(I)THENTE$=PL$(J):PL$(J)=PL$(I):PL$(I)=TE$ 6030 NEXT:NEXT 6040 RETURN