4 POKE56,102:CLR:PRINTCHR$(142) 5 IFPEEK(49182)=203THEN60 6 POKE53281,0:POKE53280,0:PRINT"[147]" 7 CD=PEEK(186):SYS57812"SCREEN",CD,0:POKE780,0:POKE781,0:POKE782,4:SYS65493 9 FORX=55296TO56319:POKEX,7:NEXT 55 SYS57812"BINC000",CD,0:POKE780,0:POKE781,0:POKE782,192:SYS65493 60 POKE53280,7:POKE53281,7:POKE646,0 61 PK=12*4096:PV=PK+30:SYSPK:CD=0 69 DIMT,R,B,I,A$,C,DT$,FL$,IL$,X,X$,XX$,G,Z$,C$,M$,XX,FC,F,MF,MC,DV,BL,DC,BH,GG 70 DIMS,T$,DB,DP,D$,SZ,Q$,MA,CA,CC,CM,J,H,M1,C1 71 CM$="DMFTC+-Q "+CHR$(13)+CHR$(145)+CHR$(17)+CHR$(157)+CHR$(29)+CHR$(19) 72 CM$=CM$+CHR$(147)+"/RNX"+CHR$(92) 75 DL=-1:CF=-1:ME=0 80 DIMDI$(1,30),CL(30),SZ(30),DP(30),CN$(30) 100 FL$="" 110 IL$=FL$:FORI=1TO18:IL$=IL$+CHR$(17):NEXT 120 GOTO500 140 IFCM<>1THENPRINT"[147]MS-DOS DEVICE NUMBER NOT ALLOCATED":GOTO2030 141 PRINT"LOADING MS-DOS DIRECTORY...":PRINT:OPEN15,DV,15:PRINT#15,"UJ":CLOSE15 150 M1=1:SYSPK:SYSPK+3:FORX=1TO30:DI$(0,X)="":NEXT 170 DL=0:BL=PEEK(52048):BH=PEEK(52050):S=PEEK(52051):IFPEEK(52049)>0THENDC=1 180 IF(SAND1)THENGOSUB380:DL=-1:RETURN 190 PRINT"SCANNING MS-DOS DIRECTORY...":PRINT 200 DB=BL+256*BH 205 SYSPK+21:BL=PEEK(52048):X=PEEK(52049):BH=PEEK(52050) 206 MA=BL+BH*256+X*65536 210 IFDC=0THEN360 220 FORDP=DBTO27135STEP32 230 IFPEEK(DP)=0ORPEEK(DP)=229THEN345 240 IFPEEK(DP+11)AND24THEN345 250 DL=DL+1:IFDL>30THENDL=30:DP=DB:GOTO360 260 D$=RIGHT$(" "+STR$(DL),3)+" BIN PRG " 270 A$="":FORI=0TO10:A$=A$+CHR$(PEEK(DP+I)):NEXT 277 A$=LEFT$(A$,8)+" "+RIGHT$(A$,3) 290 PRINTDL;A$ 300 D$=D$+A$+" " 310 CL(DL)=PEEK(DP+26)+256*PEEK(DP+27) 320 SZ=PEEK(DP+28)+256*PEEK(DP+29)+65536*PEEK(DP+30) 330 DI$(0,DL)=D$+RIGHT$(" "+STR$(SZ),6) 335 DP(DL)=DP 340 SZ(DL)=SZ 345 IFDB>27135THENDP=DB:GOTO360 350 NEXTDP 360 SYS46374:RETURN 380 E=PEEK(PV+2) 381 PRINTCHR$(18);"[144]MS-DOS DISK ERROR #";MID$(STR$(E),2) 383 IFE=0THENPRINT"** DISK FULL?? **" 385 POKE49184,0 390 PRINT"TYPE A KEY[146]":GOSUB5000:RETURN 420 PRINT"[147]"; 421 IFME=0THENPRINT"MS-DOS"; 422 IFME<>0THENPRINT"CBMDOS"; 423 PRINT"[146]";" MS=";MID$(STR$(DV),2); 430 PRINT" CBM=";MID$(STR$(CD),2); 435 IFME=0THENPRINT" FRE="MA 436 IFME<>0THENPRINT" FRE="CA 440 RETURN 460 PRINTIL$;"D=DIR M=MSDEV F=CBMDEV C=COPY Q=QUIT " 470 PRINT "T=TOGGLE R=REMOVE X=CBMCPY /=MENU +-=PG"; 480 RETURN 500 T=1:C=0:R=0 510 IFME=0THENMF=DL:MC=2 515 IFME<>0THENMF=CF:MC=1 520 GOSUB420 521 IFME<>0THEN542 530 PRINT"NUM S TRN TYP FILENAME EXT LENGTH" 540 PRINT"--- - --- --- -------- --- ------" 541 GOTO550 542 PRINT"NUM S TRN FILENAME T LENGTH" 543 PRINT"--- - --- ---------------- - ------" 550 GOSUB460 560 B=T+16:IFB>MFTHENB=MF 575 PRINTFL$;:IFT>MFTHEN590 580 FORI=TTOB:PRINTDI$(ME,I):NEXT 590 IFMF<0THENPRINT"[146]"; 591 IFMF=0THENPRINT"[146]" 600 IFMF<=0THEN660 610 PRINTLEFT$(IL$,R+5);CHR$(18); 620 ONC+1GOTO630,640,650 630 PRINTSPC(4);MID$(DI$(ME,T+R),5,3):GOTO660 640 PRINTSPC(7);MID$(DI$(ME,T+R),8,5):GOTO660 650 PRINTSPC(12);MID$(DI$(ME,T+R),13,5):GOTO660 660 GETA$:IFA$=""THEN660 670 FORG=1TOLEN(CM$):IFA$=MID$(CM$,G,1)THENI=G 675 NEXT 680 IFMF>0THENPRINTLEFT$(IL$,R+5);DI$(ME,T+R) 690 IFI=0THEN600 700 ONIGOTO760,1050,1110,950,1150,1000,1020,730,860,860,770,790,810,830,850 705 ONI-15GOTO500,713,1400,713,1499,713 710 STOP 713 ME=-(ME=0) 714 GOTO500 730 CLOSE5:CLOSE15:PRINT"[147]THANKS CRAIG BRUCE!!":PRINT:PRINT:POKE186,CD 740 PRINT:PRINT"ADAPTED FOR THE C64 FROM":PRINT"LITTLE RED READER[146] FOR THE C128" 741 PRINT"BY CRAIG BRUCE":PRINT 742 PRINT"ADAPTION BY":PRINT"DOREEN HORNE":PRINT"BRISBANE, AUSTRALIA" 743 :PRINT:PRINT"AUGUST 2000":END 760 IFME=1ANDC1THENSYS46374 761 IFME=1THENGOSUB420:GOSUB2499:GOTO500 762 IFME=0ANDM1THENSYS46374 765 GOSUB420:GOSUB140:GOTO500 770 R=R-1:IFR<0THENR=B-T 780 GOTO600 790 R=R+1:IFT+R>BTHENR=0 800 GOTO 600 810 C=C-1:IFC<0THENC=MC 820 GOTO600 830 C=C+1:IFC>MCTHENC=0 840 GOTO600 850 R=0:C=0:GOTO600 860 IFMF<=0THEN600 870 X=T+R:ONC+1GOSUB890,910,930 880 PRINTLEFT$(IL$,R+5);DI$(ME,X):GOTO600 890 IFMID$(DI$(ME,X),6,1)=" "THENX$="*" 895 IFMID$(DI$(ME,X),6,1)<>" "THENX$=" " 896 L=LEN(DI$(ME,X)) 897 L$=LEFT$(DI$(ME,X),5)+X$+RIGHT$(DI$(ME,X),L-6) 900 DI$(ME,X)=L$:RETURN 910 IFMID$(DI$(ME,X),9,1)="A"THENX$="BIN" 915 IFMID$(DI$(ME,X),9,1)<>"A"THENX$="ASC" 916 L=LEN(DI$(ME,X)) 917 L$=LEFT$(DI$(ME,X),8)+X$+RIGHT$(DI$(ME,X),L-11) 920 DI$(ME,X)=L$:RETURN 930 IFMID$(DI$(ME,X),14,1)="S"THENX$="PRG" 935 IFMID$(DI$(ME,X),14,1)<>"S"THENX$="SEQ" 936 L=LEN(DI$(ME,X)) 937 L$=LEFT$(DI$(ME,X),13)+X$+RIGHT$(DI$(ME,X),L-16) 940 DI$(ME,X)=L$:RETURN 950 IFMF<=0THEN600 960 FORX=1TOMF 970 ONC+1GOSUB890,910,930 980 NEXTX 990 GOTO520 1000 R=0:IFB=MFTHENT=1:GOTO510 1010 T=T+17:GOTO510 1020 IFMF<=0THEN660 1025 R=0:IFT=1THENT=MF-(MF-INT(MF/17)*17)+1:IFT<=MFTHEN510 1030 T=T-17:IFT<1THENT=1 1040 GOTO510 1050 PRINTIL$;:PRINT" " 1052 PRINT" " 1060 PRINTIL$;:PRINT"MS-DOS DEVICE NUMBER (8-30) ";:INPUT"[157][157][157][157]";DV 1062 IFCD=DVTHENPRINT"MS-DOS & CBM-DOS DEVICES MUST DIFFER":GOSUB5000:GOTO1050 1090 POKEPV+3,DV:POKEPV+4,DT:SYSPK:DL=-1 1100 CM=1:GOTO500 1110 PRINTIL$;:PRINT" " 1115 PRINT" " 1120 PRINTIL$;:PRINT"CBM-DOS DEVICE NUMBER (0-30) ";:INPUT"[157][157][157][157]";CD 1130 IFCD=DVTHENPRINT"MS-DOS & CBM-DOS DEVICES MUST DIFFER":GOSUB5000:GOTO1110 1140 CF=-1:CC=1:CLOSE5:OPEN5,CD,15:GOTO500 1150 IFCC<>1THENPRINT"[147]CBM DEVICE NUMBER NOT ALL0CATED":GOTO2030 1151 IFME=1THEN2000 1152 PRINT"[147]COPY MS-DOS -> CBM-DOS":PRINT:PRINT 1160 IFDL<=0THENFC=0:GOTO1190 1170 FC=0:FORF=1TODL:IFMID$(DI$(0,F),6,1)="*"THENGOSUB1200 1180 NEXTF 1190 PRINT:PRINT"FILES COPIED =";FC;" - TYPE KEY":GOSUB5000 1191 PRINT"[147]TO VIEW THE FILES COPIED TO THE CBM DIRECTORY, USE '/' THEN 1192 [153]"'DIR' AGAIN.":[153]:[153]"TYPE A KEY":[141]5000:[137]520 1200 FC[178]FC[170]1 1210 X$[178][202](DI$(0,F),19,8)[170]"."[170][202](DI$(0,F),29,3) 1220 CF$[178]"":[129]I[178]1[164][195](X$):[139][202](X$,I,1)[179][177]" "[167]CF$[178]CF$[170][202](X$,I,1) 1230 [130] 1231 [139][201](CF$,1)[178]"."[167]CF$[178][200](CF$,[195](CF$)[171]1) 1232 CF$[178]CF$[170]","[170][202](DI$(0,F),14,1) 1240 [153][196](FC);". ";[199](34);CF$;[199](34);[163]20);SZ(F)"BYTES"; 1245 [153][163]35);[202](DI$(0,F),9,3) 1250 CL[178]CL(F):LB[178]SZ(F)[171][181](SZ(F)[173]65536)[172]65536 1254 A$[178]"":X[178][195](CF$):[129]I[178]1[164]X 1255 A$[178]A$[170][202](CF$,I,1) 1256 [139][198]([202](CF$,I,1))[178]126[167]A$[178][200](CF$,I[171]1):A$[178]A$[170][199](32)[170][201](CF$,X[171]I):I[178]X:[137]1258 1257 [130] 1258 CF$[178]A$ 1260 [159]1,CD,7,(CF$)[170]",W" 1270 [141]3050:[139]DS[179]20[175]DS[179][177]63[167]1320 1271 [139]DS[177]19[175]DS[179][177]63[167]1310 1275 [153]"CBM FILE EXISTS; OVERWRITE (Y/N)"; 1280 [160]1:[133]X$:[139]X$[178]"N"[167]FC[178]FC[171]1:[142] 1285 [152]5,"S0:"CF$ 1286 [159]1,CD,7,(CF$)[170]",W" 1300 [141]3050:[139]DS[179]20[167]1320 1310 [153]"CBM DISK ERROR: "[170]DS$:FC[178]FC[171]1:[160]1:[142] 1320 [151]PV[170]6,CL[173]256:[151]PV[170]5,CL[171][194](PV[170]6)[172]256 1330 [151]PV[170]8,LB[173]256:[151]PV[170]7,LB[171][194](PV[170]8)[172]256 1340 TR[178]0:[139][202](DI$(0,F),9,1)[178]"A"[167]TR[178]255 1350 [151]182,TR:[158]PK[170]6 1355 S[178][194](52051) 1357 [139](S[175]1)[167][141]380:FC[178]FC[171]1 1370 [141]3050:[139]DS[177]19[167]1310 1380 [160]1:[142] 1400 [153]"LOADREMOVE (DELETE) SELECTED MS-DOS FILES:":[153] 1401 [139]ME[179][177]0[167][153]"MS-DOS MENU MUST BE SELECTED!":[137]2030 1402 [153]"DELETION IRREVERSIBLE":[133]"CONTINUE (Y/N)";A$ 1403 [153]:[139]A$[179][177]"Y"[167]520 1410 [139]DL[179][178]0[167]FC[178]0:[137]1440 1420 FC[178]0:F[178]1:[158]52736 1425 [139][202](DI$(0,F),6,1)[178]"*"[167][141]1470:FC[178]FC[170]1:F[178]F[171]1 1430 F[178]F[170]1:[139]F[179][178]DL[167]1425 1434 [129]G[178]49227[164]49229:[151]G,255:[130]:[153]"FLUSHING...":[158]PK[170]12 1440 [153]:[153]"FILES REMOVED =";FC 1445 [158]PK[170]21:A[178][194](52048):X[178][194](52049):Y[178][194](52050) 1446 MA[178]A[170]Y[172]256[170]X[172]65536 1448 [153]"TYPE A KEY":[141]5000:[137]500 1470 [153]"REMOVING ";[199](34);[202](DI$(0,F),19,13);[199](34) 1490 [151]PV[170]10,DP(F)[173]256:[151]PV[170]9,DP(F)[171][194](PV[170]10)[172]256 1492 [158]PK[170]15 1494 DI$(0,F)[178]DI$(0,DL):SZ(F)[178]SZ(DL):DP(F)[178]DP(DL):CL(F)[178]CL(DL) 1495 DL[178]DL[171]1 1496 [142] 1499 [153]"LOADCOPY CBM-DOS TO CBM-DOS:":[153] 1500 [139]CC[179][177]1[167][153]"LOADSOURCE CBM DEVICE NUMBER NOT ALL0CATED":[137]2030 1501 [139]CF[179][178]0[167][153]"COMMODORE DIRECTORY NOT LOADED":[137]2030 1502 X[178]0:[133]"DEVICE NUMBER TO COPY TO";X:[153] 1503 [139]X[179]8[176]X[177]30[167][153]"BAD DEVICE NUMBER!":[137]2030 1504 [139]X[178]CD[167][153]"CANNOT COPY TO SAME DEVICE":[137]2030 1505 [159]8,X,15 1506 [129]F[178]1[164]CF:[139][202](DI$(1,F),6,1)[179][177]"*"[167]1570 1507 [153]DI$(1,F):[159]1,CD,2,CN$(F)[170]",R":[141]3050:[139]DS[177]19[167]1530 1508 CF$[178]CN$(F)[170]","[170][202](DI$(1,F),31,1)[170]",W" 1509 [159]2,X,3,CF$ 1510 [141]3051:[139]DS[179]20[175]DS[179][177]63[167]1550 1511 [139]DS[177]19[175]DS[179][177]63[167]1530 1512 [133]"FILE EXISTS: OVERWRITE (Y/N)";X$:[139]X$[179][177]"Y"[167]1560 1520 [160]2:[152]8,"S0:"[170](CN$(F)) 1525 [159]2,X,3,CF$:[141]3051:[139]DS[179]20[167]1550 1530 [153]"CBM DOS ERROR: ";DS$:[137]1560 1550 [158]PK[170]24 1555 [141]3050:[139]DS[177]19[167][153]"LOADDISK ERROR",DS$:[137]1560 1556 [141]3051:[139]DS[177]19[167][153]"LOADDISK ERROR",DS$ 1560 [160]1:[160]2 1570 [130]F 1580 [153]"DONE - TYPE A KEY":[160]8:[141]5000:[137]510 2000 [153]"LOADCOPY CBM-DOS TO MS-DOS:":[153]:[153] 2010 [139]DL[177][178]0[167]2035 2020 [153]"MS-DOS DIRECTORY MUST BE LOADED FIRST" 2030 [153]"TYPE A KEY":[141]5000:[137]510 2035 FC[178]0 2036 [129]F[178]1[164]CF:[139][202](DI$(1,F),6,1)[179][177]"*"[167]2045 2040 FC[178]FC[170]1:C$[178]CN$(F) 2041 [153][202]([196](FC),2);" ";[202](DI$(1,F),14,16);[202](DI$(1,F),34);":"; 2042 [141]6000:[153]M$ 2043 TR[178]0:[139][202](DI$(1,F),9,1)[178]"A"[167]TR[178]255 2044 [158]46374:[141]2100 2045 [130]:[139]FC[178]0[167]2049 2046 [129]G[178]49227[164]49229:[151]G,255:[130]:[153]"FLUSHING...":[158]PK[170]12 2047 [158]PK[170]21:A[178][194](52048):X[178][194](52049):Y[178][194](52050) 2048 MA[178]A[170]Y[172]256[170]X[172]65536 2049 [153]:[153]"FILES COPIED =";FC:[137]2030 2100 [153]"FINDING FREE MS-DOS DIRECTORY ENTRY!":[158]52736:[129]I[178]0[164]30[171]1 2105 [129]DP[178]DB[164]27135[169]32 2110 [139][194](DP)[178]0[176][194](DP)[178]229[167]2140 2120 [130]DP 2130 [153]"NO FREE MS-DOS DIRECTORY ENTRIES":FC[178]FC[171]1:[142] 2140 [130]I 2160 [129]I[178]1[164][195](M$):[151]DP[170]I[171]1,[198]([202](M$,I,1))[175]127:[130] 2170 [129]I[178]11[164]31:[151]DP[170]I,0:[130] 2180 [151]DP[170]26,255:[151]DP[170]27,15 2190 [151]PV[170]10,DP[173]256:[151]PV[170]9,DP[171][194](PV[170]10)[172]256:[158]52773 2200 [153]"ON COPYING! ":[159]1,CD,2,C$ 2300 [151]182,TR:[158]PK[170]9:S[178][194](52051) 2301 [160]1 2305 [141]3050:[139]DS[177]19[167][153]"LOADCBM DISK ERROR",DS$:FC[178]FC[171]1:[142] 2306 [139]S[175]1[167]FC[178]FC[171]1:[141]380:[142] 2310 [158]52736:X$[178]" ASC SEQ ":[139]TR[178]0[167]X$[178]" BIN PRG " 2320 DL[178]DL[170]1:D$[178][201](" "[170][196](DL),3)[170]X$ 2330 D$[178]D$[170][200](M$,8)[170]" "[170][201](M$,3) 2340 CL(DL)[178][194](DP[170]26)[170]256[172][194](DP[170]27) 2350 SZ[178][194](DP[170]28)[170]256[172][194](DP[170]29)[170]65536[172][194](DP[170]30) 2360 DI$(0,DL)[178]D$[170][201](" "[170][196](SZ),8) 2370 DP(DL)[178]DP 2380 SZ(DL)[178]SZ 2395 [142] 2499 [158]46374:Z$[178]"":[139]CC[179][177]1[167][153]"LOADCBM DEVICE NUMBER NOT ALL0CATED":[137]2030 2500 [153]"LOADING COMMODORE DOS DIRECTORY":[153]:G[178]0:C1[178]1:[129]X[178]1[164]30:DI$(1,X)[178]"":[130] 2501 [159]1,CD,0,"$0:!#$%&":[141]3050:[139]DS[177]19[167][153]"LOADDISK ERROR",DS$:[160]1:[142] 2502 [129]X[178]1[164]34:[161]#1,X$:[130] 2503 [161]#1,X$:X[178][195](X$):[139]X[167]X[178][198](X$) 2504 [161]#1,X$:Y[178][195](X$):[139]Y[167]Y[178][198](X$) 2505 CA[178](X[170]Y[172]256)[172]256:[160]1 2506 [159]1,CD,0,"$0":[161]#1,A$,A$:CF[178][171]1:Q$[178][199](34):XX[178]0 2507 [139]Z$[177]""[175]G[178]0[167][153]"DISK ="Z$:G[178]1:[153] 2508 [158]PK[170]27:[141]3050:[139]DS[177]19[167][153]"LOADDISK ERROR",DS$:[160]1:[142] 2509 B[178][194](PV[170]11)[170]256[172][194](PV[170]12):T$[178][199]([194](PV[170]13)) 2510 X[178][194](PV[170]14) 2520 [139]X[178]0[167]2670 2530 X$[178]"":[129]I[178]PV[170]15[164]PV[170]15[170]X[171]1:X$[178]X$[170][199]([194](I)):[130] 2575 CF[178]CF[170]1 2590 [139]CF[178]0[167]Z$[178]Q$[170]X$[170]Q$:[137]2650 2600 CN$(CF)[178]X$ 2610 A$[178][200](X$[170]" ",17)[170]T$[170][201](" "[170][196](B[172]254),8) 2620 [139]T$[178]"S"[167]DI$(1,CF)[178][201](" "[170][196](CF),3)[170]" ASC "[170]A$ 2625 [139]T$[178]"P"[167]DI$(1,CF)[178][201](" "[170][196](CF),3)[170]" BIN "[170]A$ 2630 [153]DI$(1,CF) 2650 XX[178]XX[170]1:[139]XX[178]31[167]2670 2655 [137]2507 2670 [158]46374:[160]1:[142] 3050 [132]5,DS,DS$,J,H:[142] 3051 [132]8,DS,DS$,J,H:[142] 5000 [151]198,0:[146]198,1:[151]198,0:[142] 6000 GG[178]0:X[178][195](C$):ZZ$[178]" " 6001 [139]X[178][179]3[167]M$[178]C$:[137]6094 6005 G[178][195](C$)[171]3:[139][202](C$,G,1)[178]"."[167]Z$[178][201](C$,3):GG[178]1:[137]6085 6010 [139]GG[178]0[175]X[177][178]12[167]X[178]12:M$[178][200](C$,12):[137]6094 6015 [139]GG[178]0[175]X[179]12[167]M$[178][200](C$,X):[137]6094 6085 [139]X[178][177]12[167]M$[178][200](C$,8):X[178]12:[137]6094 6090 M$[178][200](C$,X[171]4) 6094 XX$[178]"":Z[178][195](M$):[129]I[178]1[164]Z 6095 X$[178][199]([198]([202](M$,I,1))[175]127):[139]X$[178]"."[176]X$[178]" "[167]X$[178]"_" 6096 XX$[178]XX$[170]X$ 6097 [130]I:[139]GG[167]M$[178][200](XX$,X[171]4)[170][200](ZZ$,12[171]X[170]1)[170]Z$:[137]6101 6098 [139]X[178]12[167]M$[178]XX$:[137]6101 6099 [139]X[179]12[167]M$[178][200](XX$,X)[170][200](ZZ$,12[171]X) 6101 M$[178][200](M$,8)[170][201](M$,3):[142]