10 REM CD 20 FORI%=0 TO 2 STEP 2 30 P%=&900 40 [OPTI% 50 .cd 60 LDY #0 70 .findend 80 LDA(&F2),Y:INY:CMP#13:BEQhelp:CMP#32:BNE findend:BEQ findd1 90 .help 100 JSR print 110 EQUB10 120 EQUS"DFS file DIRECTORY CHANGER " 122 EQUW&0A0D 130 EQUB10 140 EQUS"*CD " 150 EQUW&0A0D 160 EQUB10 170 EQUS" may be * " 180 EQUW&0A0D 182 EQUS"all files will then goto " 184 EQUW&0A0D 190 EQUW &000A 200 RTS 210 .findd1 220 LDA(&F2),Y:CMP #32:BNE gck1 230 .skip1 240 INY:LDA(&F2),Y:CMP #32:BEQ skip1 250 .gck1 260 CMP#13:BNE clrbuf1:JMP help 262 .clrbuf1 270 LDA #32:LDX #16 280 .clr1 290 DEX:STA buffer,X:BNE clr1 300 .getd1 310 LDA (&F2),Y:STA buffer,X 312 INY:INX 314 CMP #13:BEQ fault 316 CMP #32:BNE getd1:BEQ findd2 320 .fault 330 BRK:EQUB 128 332 EQUS "new directory ????" 334 EQUB 0 340 .findd2 350 LDA(&F2),Y:CMP #32:BNE gck2 360 .skip2 370 INY:LDA (&F2),Y:CMP #32:BEQ skip2 380 .gck2 390 CMP#13:BEQ fault 400 LDA #32:LDX #16 410 .clr2 420 DEX:STA buffer2,X:BNE clr2 430 .getd2 440 LDA (&F2),Y:STA buffer2,X 442 INY:INX 444 CMP #13:BEQ clrblks 446 CMP #32:BNE getd2 447 .clrblks 448 LDA #0:LDX #36 449 .clr3 450 DEX:STA block,X:BNE clr3 455 \ get current drive No. 460 LDX #1 470 LDA #block2 AND &FF:STA block,X 480 INX 490 LDA #block2 DIV 256:STA block,X 500 LDX #block AND &FF:LDY #block DIV 256 510 LDA #5:JSR &FFD1 512 \ read directory 520 LDX #14:LDA block2,X:STA block 530 LDX #1:LDA #0:STA block,X 540 INX:LDA #&0E:STA block,X 550 INX:INX 560 INX:LDA #3:STA block,X 570 INX:LDA #&53:STA block,X 580 INX:INX 590 INX:LDA #&21:STA block,X 600 LDX #block AND &FF:LDY #block DIV 256 610 LDA #&7F:JSR &FFF1 620 622 \ perform FNCD 630 LDX #31:LDY #7 640 .loop 650 TYA:CLC:ADC #8:TAY 660 LDA buffer:CMP #ASC("*"):BEQ alter 670 CMP &E00,Y:BNE ck 680 .alter 690 LDA buffer2:STA &E00,Y 700 .ck 710 DEX:BNE loop 712 \ write directory 720 LDX #6:LDA #&4B:STA block,X 730 LDX #block AND &FF:LDY #block DIV 256 740 LDA #&7F:JSR &FFF1 750 RTS \ Return to basic 760 .print 770 JSR &FFE7:LDY #0:PLA:STA pr1+2:PLA:STA pr1+3 780 .pr1 790 INY:LDA &FFFF,Y \DUMMY 800 JSR &FFE3:BNE pr1 810 TYA:CLC:ADC pr1+2:TAX:BCC pr2:INC pr1+3 820 .pr2 830 LDA pr1+3:PHA:TXA:PHA:RTS 840 .buffer EQUS "XXXXXXXXXXXXXXXX":EQUB13 850 .buffer2 EQUS "XXXXXXXXXXXXXXXX":EQUB13 860 .block EQUW 0 870 EQUD 0 880 EQUD 0 890 EQUD 0 900 EQUD 0 910 .block2 EQUW 0 920 EQUD 0 930 EQUD 0 940 EQUD 0 950 EQUD 0 970 ] 980 NEXT 990 REM OSCLI"*SAVE CD "+STR$~cd+" "+STR$~P%