10 GOTO230 20 ******************************** 30 * * MAGIC SID MACHINE V2.2 * * 40 * A MODIFICATION OF 'MAGIC * 50 * MUSIC MACHINE' V2.0 WRITTEN * 60 * BY DAVE SCHMOLDT * 70 * * 80 * ADAPTED TO RUN SIDPLAYER * 90 * FILES, USING ROUTINES FROM * 100 * THE BOOK 'ALL ABOUT THE * 110 * COMMODORE 64' VOLUME 2 * 120 * BY CRAIG CHAMBERLAIN * 130 * * 140 * ALL MUSIC FILES TO BE USED * 150 * BY THIS PROGRAM MUST HAVE THE* 160 * '.MUS' EXTENSION AFTER THE * 170 * FILENAME. * 180 * HANDLES UP TO 144 FILES/DISK * 190 * * 200 * TERRY KRYGER [71106,221] * 205 * 3/20/86 * 210 * STROBE LIGHT ADDED BY * 215 * DAN SWITZER 7/8/86 * 220 ******************************** 230 DIMPL$(144),PN$(144),SE(144),TX$(5):DN=8:SA=780:SX=781:SY=782:SP=783 240 GOSUB2160 250 OV$="" 260 DO$="":RO$="[146]":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]" 270 BL$=" " 280 O$="O O" 290 OO$="OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO" 300 IFF=0THENPRINTCHR$(147) 310 GOSUB590:IFF=1THEN370 320 PRINT"[147]";:POKE53280,0:POKE53281,0 330 FORS=55296TO55335:POKES,0:POKES+960,0:NEXT 340 FORS=1024TO1063:POKES,244:POKES+960,244:NEXT 350 PRINT"[144]";:A$=" THE MAGIC SID MACHINE 2.2 ":GOSUB610 360 PRINTDO$;:A$=" DAVE SCHMOLDT / T. KRYGER ":GOSUB610 370 PRINT"":IFF=0THEN1250 375 PRINT"[147]" 377 PRINT"" 380 WAIT56320,16 390 POKESS,7:Q=0 400 FORS=55296TO55335:CO=INT(1+RND(1)*14):POKES,CO:POKES+(999-Q),CO:Q=Q+2:NEXT 410 PRINT"";:IFF=0THENGOSUB640 420 PRINT"[146]";:F=1 430 PRINT"";:A$=BL$:GOSUB610 440 PRINT"";:A$=BL$:GOSUB610 450 PRINT"[145]";:FORX=1TO5:PRINTLEFT$(DO$,10+X);:A$=TX$(X):GOSUB610:NEXT 460 PRINT" " 470 PRINT"";:CO=149 480 FORC=1TO9 481 POKE 53281,0:POKE 53280,0 482 FORDERT=1TO01:NEXTDERT 483 POKE 53281,1:POKE 53280,1 490 CO=INT(1+RND(1)*14):POKE646,CO:PRINTLEFT$(DO$,C+1);DO$;LEFT$(U$,C); 500 GETRE$:IFRE$=" "THENPOKESS,0:SYSDP:R=0:FORL=54276TO54296:POKEL,0:NEXT 510 IFRE$=" "THEN870 520 IFRE$<>"^"THEN550 530 POKESS,0:SYSDP:FORL=54276TO54296:POKEL,0:NEXT:F=0:SD=A 540 GOSUB590:GOTO1250 550 NEXT:PRINT""; 560 IFPEEK(SS)THEN480 570 SYSDP 580 FORL=54276TO54296:POKEL,0:NEXT:GOTO870 590 PRINT"";:FORJK=1TO23:PRINTBL$;" ";:NEXT 600 PRINT"";CHR$(142):RETURN 610 PRINTSPC(20-LEN(A$)/2)A$;:RETURN 620 GETKE$:IFKE$=""THEN620 630 RETURN 640 GOSUB590:PRINT"[146]";:A$="[156]PRESS ANY KEY WHEN READY" 650 POKE646,4:GOSUB610:GOSUB620:GOSUB590:Q=0 660 FORS=55296TO55335:CO=INT(1+RND(1)*14):POKES,CO:POKES+(999-Q),CO:Q=Q+2: NEXT 670 PRINT"[158]":A$="READING DIRECTORY":GOSUB610:PRINT 680 X=1:OPEN15,8,15,"I0":CLOSE15:A$="" 690 OPEN8,8,0,"$0":FORC=1TO8:GET#8,A$:NEXT:C=1:DN$="":FORC=1TO16 700 GET#8,A$:DN$=DN$+A$:NEXT:GET#8,A$:GET#8,A$:GET#8,A$ 710 DN$=DN$+A$:GET#8,A$:DN$=DN$+A$:GET#8,A$:GET#8,A$:DN$=DN$+"/"+A$ 720 GET#8,A$:DN$=DN$+A$:GET#8,A$:C=1:PRINT"DISK TITLE ---> [156]"DN$:PRINT 730 FORH=1TO4:GET#8,A$:NEXT 740 GET#8,A$:IFST<>0THEN860 750 IFA$=""THEN860 760 IFASC(A$)<>34THEN740 770 GET#8,A$:IFASC(A$)<>34THENPN$=PN$+A$:GOTO770 780 GET#8,A$:IFASC(A$)=32THEN780 790 GET#8,A$:IFA$<>""THEN790 800 PRINTLEFT$(DO$,16);" "; 810 A$=" "+ PN$:PRINT"[145]";:GOSUB610 820 IFRIGHT$(PN$,4)<>".MUS"THEN840 830 PL$(X)=PN$:X=X+1 840 PN$="" 850 IFST=0THEN730 860 CLOSE8:A=X:NS=A-1 870 GOSUB590:PRINT""; 880 IFSK=1THEN1920 890 IFFY=1THEN1890 900 IFFG=1THEN1870 910 IFFR=1THENGOSUB1740:GOTO1250 920 GOSUB590 930 V=1:NS=A-1:Q=0:NP=INT((A-1)/26)+1:PG=0:FORI=1TOA:SE(I)=.:NEXT 940 FORS=55296TO55335:CO=INT(1+RND(1)*14):POKES,CO:POKES+(999-Q),CO:Q=Q+2:NEXT 950 PRINT"[154]";:EP=26*PG+26:IFPG=NP-1THENEP=(A-1) 960 FORCA=PG*26+1TOEP 970 IFCA>(PG*26+13)THENPRINTLEFT$(OV$,CA+10-(26*PG));:GOTO990 980 PRINTLEFT$(DO$,CA-(26*PG)+4); 990 PRINT""CHR$(CA+64-(26*PG))RO$+" "; 1000 IFSE(CA)THENPRINT""; 1010 PRINTLEFT$(PL$(CA),LEN(PL$(CA))-4)"[154]" 1020 NEXT 1030 PRINTLEFT$(DO$,21); 1040 A$="[158]ENTER YOUR CHOICES IN ANY ORDER":GOSUB610 1050 PRINTLEFT$(DO$,23); 1060 A$=" RETURN[158]=MENU SPACE[158]=DONE" 1070 IFCA>26THENA$="F7[158]=MORE"+A$ 1080 GOSUB610 1090 PRINT"[156]"; 1100 GETAN$:IFAN$=""THEN1100 1110 IFAN$="[136]"THENPG=PG+1:IFPG>(NP-1)THENPG=0 1120 IFAN$="[136]"THENGOSUB590:GOTO950 1130 IFAN$=CHR$(13)THENGOSUB590:GOSUB1250 1140 IFAN$=" "ANDV=1THENGOSUB590:GOTO1250 1150 IFAN$=" "THENFORT=1TOV:PL$(T)=PN$(T):NEXT:A=V-1:FY=1:GOTO1800 1160 REM DONE CHOOSING 1170 IFASC(AN$)<65ORASC(AN$)>90THEN1100 1180 N=ASC(AN$)-64+(26*PG):PN$(V)=PL$(N):SE(N)=1 1190 IFN>CA-1THEN1100 1200 IFN<1THEN1100 1210 IFN>(PG*26+13)THEN1230 1220 FORI=55418TO55434:POKEI+(N-(26*PG))*40,1:NEXT:GOTO1240 1230 FORI=55437TO55453:POKEI+(N-13-(26*PG))*40,1:NEXT 1240 V=V+1:GOTO1100 1250 TT=0:PRINT"[158]";:CLOSE15 1260 FORS=55296TO55335:POKES,0:POKES+960,0:NEXT 1270 PRINTCHR$(14):PRINT"";OO$; 1280 PRINTO$;:PRINT"O 1. [195]REATE OR UPDATE A DIRECTORY FILE O";O$; 1290 PRINT"O 2. [195]HOOSE SONGS FROM DIRECTORY FILE O";O$; 1300 PRINT"O 3. [195]HOOSE SONGS (NO DIRECTORY FILE) O";O$; 1310 PRINT"O 4. [208]LAY ALL SONGS IN DIRECTORY FILE O";O$; 1320 PRINT"O 5. [208]LAY ALL SONGS ON DISK (NO FILE) O";O$; 1330 PRINT"O 6. [211]END DIRECTORY FILE TO PRINTER O";O$; 1340 PRINT"O 7. [197]ND O";O$; 1350 PRINTOO$ 1360 T1$="OOOOOOOOOOOOOOOOOOOO":B1$=T1$ 1370 T2$="OOOOOOOOOOOOOOOOOOOO":B2$=T2$ 1380 R1$="[157]O[157]O[157]O[157]O[157]O[157]O[157]O[157]O" 1390 R2$="[157]O[157]O[157]O[157]O[157]O[157]O[157]O" 1400 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" 1410 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" 1420 TT$=" [212]HE [205]AGIC [211]ID [205]ACHINE " 1430 B1$=""+T1$+R1$+B1$+L1$:B2$=""+T2$+R2$+B2$+L2$:H=2 1440 PRINTB1$:PRINTB2$:PRINTTT$ 1450 POKE646,H:H=H+1:IFH=16THENH=2 1460 GETA$:IFA$=""THEN1440 1470 POKE646,14 1480 IFA$="1"THENFR=1:SK=0:FG=0:FY=0:GOTO640 1490 IFA$="2"THENSK=0:FG=0:FY=0:SD=0:FR=0:GOTO1570 1500 IFA$="3"THENSK=0:FG=0:FR=0:FY=0:GOTO640 1510 IFA$="4"THENSK=1:GOTO1570 1520 IFA$="5"THENSD=0:SK=0:FR=0:FY=0:FG=1:GOTO640 1530 IFA$="6"THENSD=0:SK=0:FR=0:FY=0: FP=1:GOTO1570 1540 IFA$="7"THENGOSUB590:PRINT"[147][158]";CHR$(142):END 1550 GOTO1360 1560 REM **LOAD DIR** 1570 GOSUB590:A$="READING DIRECTORY FILE.....":PRINT"":GOSUB610:CLOSE8 1580 OPEN15,8,15,"I0:":OPEN8,8,8,"SIDCAT,S,R":INPUT#15,Y,B$,C,D:CLOSE15 1590 IFY=62THEN1620 1600 IFFP=1THENCLOSE4:OPEN4,4,7 1610 CLOSE8:OPEN8,8,8,"SIDCAT,S,R": PRINT"" 1620 IFY=62THENPRINT"":A$="YOU MUST CREATE A FILE FIRST":GOSUB610:CLOSE8 1630 IFY=62THEN FORDE=1TO2000: NEXTDE:GOSUB590:CLOSE15:GOTO1250 1640 INPUT#8,DN$:IFFP=1THENPRINT#4," ":PRINT#4,DN$:PRINT#4," " 1650 INPUT#8,A 1660 FORWE=1TOA 1670 INPUT#8,PL$(WE) 1680 IFFP=1THENPRINT#4,PL$(WE) 1690 NEXT 1700 IFFP=1THENFP=0:PRINT#4," ":PRINT#4," ":CLOSE4:CLOSE8:GOSUB590:GOTO1250 1710 IFSK=1THENCLOSE8:CLOSE15:GOTO1800 1720 CLOSE8:CLOSE15:A=A+1:GOTO920 1730 REM ** WRITE DIRECTORY FILE ** 1740 GOSUB2820:GOSUB590 1750 A$="WRITING DIRECTORY FILE":GOSUB610:CLOSE8:OPEN15,8,15,"S0:SIDCAT" 1760 CLOSE15:OPEN8,8,8,"SIDCAT,S,W" 1770 PRINT#8,DN$:PRINT#8,A-1 1780 FORQW=1TOA-1:PRINT#8,PL$(QW):NEXT 1790 CLOSE8:R=0:GOSUB590:RETURN 1800 GOSUB590:F=1:SD=1 1810 PT$=LEFT$(PL$(SD),LEN(PL$(SD))-4):F=1:REM PT$=FILE NAME TO PRINT 1820 PRINT"[158]";:A$="[SPACE] WILL STOP SONG DURING PLAY":GOSUB610 1830 PRINTLEFT$(DO$,19);:A$="^ = BACK TO MENU":GOSUB610 1840 PRINT"";:A$="LOADING "+PT$:GOSUB610:CF=FRE(0) 1850 F$=PL$(SD):LA=PEEK(49)+256*PEEK(50)+1000:GOSUB1940:REM LOAD SONG 1860 SYSHK:POKESX,LO:POKESY,HI:SYSPL:GOSUB2040:GOTO310 1870 IFFG=1THENSD=SD+1:IFSD>A-1THEN1250 1880 IFFG=1THEN1810 1890 IFFY=1THENSD=SD+1 1900 IFSD>ATHEN1250 1910 GOTO1810 1920 SD=SD+1:IFSD>ATHENGOTO1250:REM INCREMENT COUNTER 1930 GOTO1810 1940 POKESA,1:POKESX,DN:POKESY,0:SYS65466:GOSUB1980 1950 HI=INT(LA/256):LO=LA-256*HI 1960 POKESA,0:POKESX,LO:POKESY,HI:SYS65493:IFPEEK(SP)AND1THEN2000 1970 LA=PEEK(SX)+256*PEEK(SY):RETURN 1980 FORK=1TOLEN(F$):POKE584+K,ASC(MID$(F$,K)):NEXT 1990 POKESA,LEN(F$):POKESX,73:POKESY,2:SYS65469:RETURN 2000 P=PEEK(SA):PRINT"[147] ERROR: ";:IFP=4THENPRINT"FILE NOT FOUND":END 2010 IFP=5THENPRINT"DEVICE NOT PRESENT":END 2020 PRINTST:END 2030 REM ** GET TEXT ** 2040 FORI=1TO5:TX$(I)="":NEXT:CT=0 2050 TX=PEEK(SX)+256*PEEK(SY) 2060 CT=CT+1:IFCT>5THENRETURN 2070 PX=PEEK(TX):IFPX=0THENRETURN 2080 IFPX=13THENTX=TX+1:GOTO2060 2090 IFPX=32THENTX=TX+1:GOTO2070 2100 IFPX=34THENPX=39 2110 TX$(CT)=TX$(CT)+CHR$(PX):TX=TX+1:IFLEN(TX$(CT))>39THEN2060 2120 PX=PEEK(TX):IFPX=0THENRETURN 2130 IFPX=13THENTX=TX+1:GOTO2060 2140 IFPX=34THENPX=39 2150 GOTO2110 2160 SS=49152:HK=49423:PL=49446:DP=49620:PRINT"[147] PLEASE WAIT..." 2170 P1=PEEK(648):POKE648,192 :A$=CHR$(34)+CHR$(34)+CHR$(20) 2180 POKE53280,8:PRINT"";:PRINT:PRINT:PRINT:PRINT 2190 PRINT"@@@@@@@@@@@@@@@@@@@@@@@@@[204]F[194][146][204]X[197][163][193][146]@@[201][192][201][192][201][192][146][160]ABD@GNA@[191][146]@BDEG"; 2200 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"; 2210 POKE53280,7:POKE648,193:PRINT:PRINT:PRINT""; 2220 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]"; 2230 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"; 2240 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]"; 2250 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"; 2260 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]"; 2270 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"; 2280 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]"; 2290 POKE53280,6:POKE648,194:PRINT:PRINT:PRINT""; 2300 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"; 2310 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],"; 2320 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])"; 2330 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]"; 2340 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]-"; 2350 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]"; 2360 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]"; 2370 PRINT"[221][146]E[192]=[146][215][192][189][146]H[192]0[205]P[146][165]=[146]3[192]"; 2380 POKE53280,5:POKE648,195:PRINT:PRINT:PRINT""; 2390 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]"; 2400 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"; 2410 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]"; 2420 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"; 2430 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] <"; 2440 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])"; 2450 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]"; 2460 PRINT"E[190]"; 2470 POKE53280,4:POKE648,196:PRINT:PRINT:PRINT""; 2480 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](%"; 2490 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"; 2500 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]"; 2510 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"; 2520 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]"; 2530 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]^"; 2540 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"; 2550 PRINT"[192][146]8=[146]B[192][146])G[208]"; 2560 POKE53280,3:POKE648,197:PRINT:PRINT:PRINT""; 2570 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]"; 2580 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]"; 2590 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"; 2600 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]"; 2610 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]"; 2620 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"; 2630 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]]"; 2640 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"; 2650 POKE53280,10:POKE648,198:PRINT:PRINT:PRINT""; 2660 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"; 2670 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"; 2680 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]@"; 2690 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"; 2700 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"; 2710 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"; 2720 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"; 2730 PRINT"[208][146]B)[146]H"; 2740 POKE53280,15:POKE648,199:PRINT:PRINT:PRINT""; 2750 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]"; 2760 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]"; 2770 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] "; 2780 POKE648,P1:PRINT"" 2790 POKE49664,157:POKE49920,240:POKE50176,189:POKE53280,14 2800 RETURN 2810 REM *SORT* 2820 PRINT" WANT ALPHABETIZED DIRECTORY? (Y/N)" 2830 GETA$:IFA$=""THEN2830 2840 IFA$="N"THENRETURN 2850 IFA$="Y"THEN2870 2860 GOTO2830 2870 GOSUB590:PRINT"SORTING " 2880 FORI=1TO NS-1:FORJ=I+1TONS 2890 PRINT"";I;J 2900 IFPL$(J)<=PL$(I)THENTE$=PL$(J):PL$(J)=PL$(I):PL$(I)=TE$ 2910 NEXT:NEXT:RETURN