1 REM Extracted from Jesse Bob Overholt's RAM File Utility (RFU) 2 CLEAR256,62299:LOADM"SUBLIB":POKE62959,MAXFILES:IFMAXFILES<2THENMAXFILES=2 3 CLEARFRE(0)/2:DEFINTA-O:DEFSTRP-Z 4 DIMU(21),F(21),K(5):Z=CHR$(27):SCREEN,0 5 W="Copy Kill"+SPACE$(21)+"New Menu" 6 PRINTZ"U";:CLS:PRINT@280,Z"T"W 7 PRINT@129,"COPY/KILL File Utility"; 9 M=0:ONKEYGOSUB13,52,,,,,11,12:KEYON 10 PRINT@48,DATE$;" ";DAY$;" ";:PRINTTIME$;:IFMTHEN6ELSE10 11 PRINTZ"U";:CLS:CLEAR256,MAXRAM:MAXFILES=PEEK(62959):NEW 12 CLEAR256,MAXRAM:MAXFILES=PEEK(62959):MENU 13 KEYOFF:P="Select file to Copy." 15 GOSUB59:IFY=""THENM=-1:RETURN 16 IFRIGHT$(Y,3)<>".DO"THENBEEP:GOTO15 17 CLS:PRINT"File selected: "Y:PRINT:PRINT"Copy to: ";:LINEINPUTV 18 CLS:PRINT"Copy Options:":PRINT"<1> As-Is, no changes":PRINT"<2> Remove tabs, spaces" 19 PRINT"<3> Text replacement":PRINT"<4> Remove CR/LF's" 20 PRINT@280,"Which option? ";:PRINT"< >";:PRINT@296,Z"P"; 21 X=INKEY$:IFX=""THEN20ELSECO=INSTR("1234",X):IFCO=0THEN20ELSEPRINTX;Z"Q"; 22 OPENYFORINPUTAS1:OPENVFOROUTPUTAS2:CLS:IFCO<>3THEN24 23 S="":R="":LINEINPUT"Search for: ";S:LINEINPUT"Replace with: ";R:IFS=""THENCO=1 24 G=0:PRINT@160,"Bytes copied: ";:PRINT@280,SPACE$(39);:IFEOF(1)THEN51 25 ONCOGOTO26,32,37,44 26 E=E-1:D=FIX(E/255):IFD=0THEN30 27 FORJ=1TOD:PRINT#2,INPUT$(255,1); 28 G=G+255:PRINT@174,G;:E=E-255 29 NEXT 30 IFE=0THEN31ELSEPRINT#2,INPUT$(E,1);:G=G+E 31 GOTO51 32 D=-1:FORJ=0TO1:J=0:I=ASC(INPUT$(1,1)):IFI=13THEND=-1:GOTO35 33 IFI=34THEND=NOTD:GOTO35 34 IFI=32ORI=9THENIFDTHEN36 35 PRINT#2,CHR$(I);:G=G+1:PRINT@174,G;:IFEOF(1)THENJ=1 36 NEXT:GOTO51 37 Q=S:D=LEN(S):FORI=1TOD 38 :MID$(Q,I,1)=INPUT$(1,1):IFEOF(1)THENQ=LEFT$(Q,I):GOTO43 39 NEXT 40 IFQ=STHENPRINT#2,R;:G=G+LEN(R)+2:PRINT@174,G;:GOTO37 41 PRINT#2,LEFT$(Q,1);:G=G+1:PRINT@174,G; 42 MID$(Q,1,D-1)=MID$(Q,2):MID$(Q,D,1)=INPUT$(1,1):IFNOTEOF(1)THEN40 43 PRINT#2,Q;:G=G+LEN(Q):PRINT@174,G;:GOTO51 44 D=0:FORJ=0TO1:J=0:LINEINPUT#1,X 45 IFLEN(X)>0THEN48 46 PRINT#2,"":IFDTHENPRINT#2,"":G=G+4ELSEG=G+2 47 D=0:GOTO49 48 PRINT#2,X" ";:G=G+LEN(X)+1:D=-1 49 PRINT@174,G;:IFEOF(1)THENJ=1:PRINT#2,"" 50 NEXT 51 CLOSE:PRINT@174,G+1;:GOSUB81:M=-1:RETURN 52 KEYOFF:P="Select file to Kill." 54 GOSUB59:IFY=""THENM=-1:RETURN 55 BEEP:PRINT@280,"Ok to Kill ";:PRINTY" (Y/N)? ";Z"P"; 56 X=INKEY$:IFX=""THEN56ELSEI=INSTR("YyNn",X):IFI=0THEN56 57 PRINTMID$("YYNN",I,1)Z"Q";:IFI>2THEN54 58 KILLY:GOTO54 59 PRINTZ"U";:CLS:PRINT@280,Z"T";:PRINTP;CHR$(12); 61 K(1)=-1705:C=0 62 FORJ=0TO1:J=0:GOSUB86:IFNOTK(0)THENJ=1:GOTO64 63 U(C)=Y:F(C)=K(1):PRINTY" ";:C=C+1:IF(CMOD3)=0THENPRINT 64 NEXT 65 U(C)="->Quit<-":PRINTU(C):C=C+1 66 L=0:H=0:Q="":FORI=28TO31:Q=Q+CHR$(I):NEXTI 67 PRINT@L*40+H*12,Z"p";:PRINTU(L*3+H);Z"q"; 68 X=INKEY$:IFX=""THEN68ELSEIFX=CHR$(13)THEN79 69 I=INSTR(Q,X):IFI=0THEN68ELSEG=L*3+H 70 ONIGOTO71,73,75,77 71 G=G+1:IFG>=CTHENG=0 72 GOTO78 73 G=G-1:IFG<0THENG=C-1 74 GOTO78 75 IFG>2THENG=-3:ELSE68 76 GOTO78 77 IFG+3 to ";:PRINT"continue."; 83 IFINKEY$<>CHR$(13)THEN83 85 RETURN 86 Y="":L%=PEEK(64434):H%=PEEK(64435):A!=L%+H%*256:E=0:K%(2)=VARPTR(Y) 88 CALLHIMEM+1,3,VARPTR(K(0)):IFNOTK%(0)THEN90 89 B=K%(3):A!=K%(4)+65536:E=K%(5) 90 RETURN