Q:RFU by Jesse Bob Overholte:Version 2.00{d:Initializationn800:2:AZ: 9900xFL$(25),FL!(25)큂ES$(27):RV$ES$"p":NV$ES$"q":CL$ES$"K":CF$ES$"J"CC$(29)(28)(30)(31)(13))I13:CT$(I):Ie "Duplication","Line Concatenation","Text Replacement" 1000,2000,3000,4000,5000,6000,7000,8000:Read directory & display itł50000Ђ51000X$RV$:52000,:Select file & get function/6@0,;" ";;" ";;::X$: X$""310^@CC(CC$,X$):CC0310: :X$NV$:52000J@240,CL$: CC400,500,600,700,800TX$RV$:52000:300:Cursor leftă IX1 IXIX1ʃރ:Cursor right IXNF IXIX1:IX1X:Cursor up&b IX4 IXIX4,l?:Cursor downZ (IX4)NF IXIX4`  (FL$(IX),2)"BA" FL$(IX)ń* (FL$(IX),2)"DO" X$"Menu"(13)FL$(IX)(13):53000::˄4߄:F1-File size %:"File: ";RV$;" ";FL$(IX);NV$;20);"Location: ";FL!(IX)M54000::"File size: ";LN;"bytes."k (FL$(IX),2)"DO"1100X(LN30.5):L(X60):XXL60$:"Time to upload: ";L;"Min.";X;"Sec."مLX$"to continue.":55000V51000:X$RV$:52000: :F2-List a file 2 (FL$(IX),2)"DO" 9000g@240,CL$;"List to isplay or

rinter? < >";|@240(0)2,"";X$݄$(1):L("DPdp",X$): L0 2050Ɔ  L2 LL2:X$("DP",L,1) X$;:AD!FL!(IX):: L 2100,2200 42800: I1 500: I:!>X(AD!):AD!AD!1?H X26 ES$ : 2900dR X33 (X);: 2110 : X$""\X$X$(X):X(AD!):AD!AD!1: X32 2140fI40(0): (X$)1 (X$)40 ˇp X$: 2120뇘:P66:T3:B3:L64:M8:N1"Page length (lines) [";P;"]";: P2"Top margin [";T;"]";: TT"Bottom margin [";B;"]";: Bt"Line length [";L;"]";: L"Left margin [";M:"]";: M"Copies [";N;"]";: N2800:2430ֈX(AD!):AD!AD!1 X26 ES$ 2500, X13 2400:X(AD!):AD!AD!1: X10 2300 : 2310Q X33 (X);: 2300 : X$""$ X$X$(X):X(AD!):AD!AD!1: X32 2340. IL(0)M: (X$)I (X$)L 24008 X$: 2310։` :CC1: C0 2460j B0 2430t I1 B:: I ~ T0 2450 I1 T:: I, CPTB: (M);:D CCB_ C0 :CC1: 2510r X26 2540 NN1: N0 2430:AD!FL!(IX): 2300 2900ˊ @280,"Push to stop.";ъ T X$"for menu.":55000^ 51000:X$RV$:52000: :F3-Make a memo$ D (FL$(IX),2)"DO" 9000^ FL$(IX) APP AS 1p #1,(39,"-") #1,;" ";;" "; :810:F4-Copy a file ы (FL$(IX),2)"DO" 9000 :"Copy ";RV$;" ";FL$(IX);NV$;" to: ";RV$;" ";:X(0)9FL$"": FL$: FL$"" @X,"";: 4040 L1 (FL$):I((FL$,L,1)): I96 I123 (FL$,L,1)CHF$(I32) L:@X,FL$;NV$;ȌAP0: (FL$,":")0 (FL$,4)"RAM:"4100 @40,"Append to ";FL$;56000:AP(X$"Y")@80,"Copy types available:"F I1 3:"<"(I48);"> ";CT$(I): I} @280,"Which type of copy? < >";:@280(0)2,"";"X$݄$(1):CT("123",X$): CT04130:X$,@80,CF$:CT341706"Text string: ";: S$: S$"" CT1:@80,CF$:4170@"Replacement: ";: R$HJ@80,CT$(CT);" copy in progress...";ES$;"p";T54000:LNLN1: FL$(IX) AS 1: AP FL$ APP AS 2 : FL$ PUT AS 2^ CT 4200,4300,4400ǎh57000:4900L0: I01: (1) #2,"":4350 : I0#1,X$: (X$)0 4340)#2,"": L #2,""7L0:4350L#2,X$;" ";:L1[ I: 4900m0X$"":L(S$): I0 1:I0:XL(X$): X04430ďD XLN I1:4450 : X$X$Є$(X,1):LNLNXN X$S$ #2,R$;:X$"":4450X#2,(X$,1);:X$(X$,2)&bI:#2,X$;: LN0ͣ#2,$(LN,1);7$ ES$;"Q";:P.:"Copy completed."j8X$"for menu.":55000B50000:51000:IX1:X$RV$:52000::F5-BACKUP files 鐜@0,CL$;"RAM file BACKUP to cassette";:X$NV$:52000*@280,CF$;"ll or elected files? < >";:@280(0)2,"";dX$݄$(1):M("ASas",X$): M0 5040 : M2 MM2 ("AS",M,1);:CY$(NF,"N")ϑ IX1 NF:X$"N": (FL$(IX),2)"CO" 5080 : M1 X$"Y": 5080@280,CL$;"Copy ";FL$(IX);:56000 (CY$,IX,1)X$: X$"Y" X$RV$:52000) IX]@280,CF$;"Pause before copy":56000:P(X$"Y")X$"to begin BACKUP.":55000:@280,CF$;@0,CF$;"Copying marked files to cassette:";̒ L15000:5700  IX1 NF: FL$(IX)"@.BA" 5400:(CY$,IX,1)"N":IXNF  IX:L2000:5700j(@280,CF$;"Writing [DIR] file to cassette.";: "CAS:[DIR]" PUT AS 22#2,"Backup as of ";: IX1 NFƓ< (CY$,IX,1)"Y" 54000"PRINT#2,FL$(IX);",";LNѓF IX:P IX1 NF: (CY$,IX,1)"N" 5300#Z P X$"to copy next file.":55000-d54006 IX^@0,CL$;"RAM file BACKUP complete."wX$"for menu":5500051000:IX1:X$RV$:52000ݔX(FL$(IX),"."):FL$(FL$(IX),X1):FX$(FL$(IX),X1):54000"@280,CF$;"Copying: ";FL$(IX);" Size:";LN;:L2000:5700:, FX$"BA" 5600 : 5500J6@40,CF$;:z| FL$(IX) AS 1: "CAS:"FL$ PUT AS 2LNLN1:57000::̕@40,"":X$"POKEAD!,B:POKEAD!+1,T:RETURN"(13):53000AD!63100:B(AD!):T(AD!1)+X!FL!(IX): AD!1,(X!256): AD!,X!(AD!1)256: FL$ED: I1 L: I::[p:F6-Name changecz @240,CL$;:"New file name: ";X$ʖI1(X$):X((X$,I,1)): X96 X123 (X$,I,1)(X32)Җ I (X$,".")0 X$X$(FL$(IX),3)1 FL$(IX) AS X$:FL$(IX)X$:X$RV$:52000:@240,CL$;=X$"":SX:F7-Kill a file[b l:@240,CL$;"OK to kill ";FL$(IX);:56000v X$"N" @240,CL$;:ϗ@240,CL$;"Killing ";FL$(IX);:@0,""; (FL$(IX),2)"BA" X$"RUN"(13):530006 FL$(IX):50000:51000:IX1:X$RV$:52000:X$"":E@:F8-MenuKJe(#:DO file error trap2#@240,CL$;"The file must be a .DO file!";<#&:General error trapؘ&:"****Error trap taken!****":&X: X22 XX27+&X(X1)2796: ((X));((X1));" error in line";:I&X$"to restart.":55000:cP:Read RAM DirectoryZNF0: X1694 1441 11dÊ (X)128 50090nÊ ((X)24)050090xNFNF1:AD!(X1)(X2)256:PNF: P1 500600PP1: AD!FL!(P) FL!(P1)FL!(P):FL$(P1)FL$(P):50050 : PP1qFL!(P)AD!:X$". ": I9 10:(X$,I7,1)((XI)): I:L8Ê (XL)32 LL1: 50070њX$(L2,32)X$: I3 L:(X$,I2,1)((XI))::FL$(P)X$ךÂFL!(NF1)(64434)(64435)256:PB!(63909)(63910)256$Ê NF0 =ð::@176,"NO FILES"YX$"for Menu.":55000:r8:Display directoryBǰ: ;" ";;" ";;LX!FL!(NF1)(1)26716Vǣ" Free:";X!;`L1: I1NF:@L40,FL$(I);:LL10: I"jǾ0,0:@280,"SIZE LIST MEMO COPY BKUP NAME KILL MENU";(tǍG :Highlight selected filek*FL$" "FL$(IX)(9(FL$(IX)))4ˣ@(IX1)1040,X$;FL$;NV$;>ˍ:Keyboard simulation subroutineۜ : Input: x$ contains keyboard :ENTRIES TO BE SIMULATED!X$(X$,32): I1 (X$)OX!(I1)265451:X!,((X$,I,1)):X!1,0d&ς I:65450,(X$)j0ύ:Calculate length of fileX!FL!(IX1): FL!(IX)PB! PB!X! X!PB!ϝLNX!FL!(IX)::Wait for ֣@280,CL$;"Push ";X$;:&֊ $(1)(13) 55020,֍D:Get Y/N responsejڣ" (Y/N)? < >";:@40(0)2,"";X$݄$(1):X("YNyn",X$): X0 56020 : X2 XX2X$("YN",X,1): X$;:䞨:Copy a file by blocks of 255B(LN255):LNLNB255: B0 57030/ށ I1 B:#2,$(255,1);: IJފ LN0 #2,$(LN,1);Pލ