; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; * * ; * A C O P Y * ; * * ; * An Enhanced ZCPR3-Compatible * ; * File Copy Utility * ; * * ; * Copyright (c) 1986-90 * ; * by * ; * Terry Hazen * ; * 21460 Bear Creek Road * ; * Los Gatos, CA 95030 * ; * * ; * Voice.......... (408) 354-7188 * ; * Saratoga RBBS.. (408) 354-5934 * ; * Zee-Machine.... (408) 245-1420 * ; * Ladera Znode... (213) 670-9465 * ; * * ; * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ; ;======================================================================= Copying times are affected by many factors, including CPU speed, disk drive hardware, disk and directory fragmentation, and whether datestamping (requiring a physical track select to the !!!TIME&.DAT file) is being done. A set of copy speed tests was performed to compare the performance of ACOPY22, ACOPY30, AC49 and COPY164 in one specific and consistent environment on an 4mhz AMPRO system running NZCOM/ZSDOS. The copy utility under test was run from MDISK_ramdiskA using a copy alias, timed with TIME.COM, to copy 18 files/204k from floppy_diskC (96tpi with 3ms step rate) to floppy_diskD (48tpi with 6ms step rate) without CRC verification. The difference in the starting and ending TIME.COM readouts gave the elapsed times. Source and destination directories were prelogged. The ZR/ZSDOS copy utilities AC49 and COPY164 were run as comparisons. Percentages shown are improvements in copy time required by ACOPY30 over the time required by ACOPY22 under the same conditions: (1-(acopy30_time)/(acopy22_time))*100%. It should be noted that these times and percentages could vary greatly under different conditions and serve mainly to show the general degree of improvement that can result from source and destination disk directory caching. Sample copy alias: A0>time;acopy30 c:files*.* d: /v;time w/o datestamping Utility w/SPEEDUP w/oSPEEDUP w/datestamping ------------------------------------------------- ACOPY30: 55 sec 56 sec 89 sec (34%) (43%) (31%) ACOPY22: 84 sec 98 sec 129 sec AC49: 84 sec 92 sec 109 sec COPY164: 87 sec 93 sec 119 sec ; ; Revision History ; ---------------- ; ; 02/16/90 Now caches up to 256 source and 256 destination disk ; v3.0 directory entries in RAM, based on Hal Bower's SPEEDUP ; RSX, for extra fast copying, especially when using ; floppy disks. Fixed bug in disk free space routine and ; adapted it and DOS checking routines that should enable ; ACOPY30 to run properly under CP/M 3.0. Added two new ; options: 'A' (inactivated in distribution release but ; may be user-activated by patching) to limit copying to ; directory and not system files, and 'Y' to allow making ; destination files system files. ; - Terry Hazen ; ; 06/07/89 Unreleased version fixing long-time bug in DELARG that ; v2.2a doesn't properly delete last argument. Doesn't really ; affect operation but helps tidy up loose ends. ; - Terry Hazen ; ; 06/03/89 Fixes bug in ZSDOS datestamping functions by zeroing ; v2.2 FCBs and setting user numbers before making the ZSDOS ; datestamping calls. Otherwise identical to ACOPY21. ; - Terry Hazen. ; ; 05/16/89 Added optional third filename specification for files ; v2.1 to be excluded from copying. Will copy a file only if ; sufficient free space exists for it on the destination ; disk. Added 'D' option to archive the destination ; files. For mnemonic consistency, the 'A' option has ; been renamed to 'S' and the 'S' option has been renamed ; to 'X'. Reorganized the command line help screen option ; sequence by function and added default "Don't" prefix ; for ON when no other ON message exists. Added support ; for the DRVEC valid drive vector in the extended ZCPR3 ; environment. Now automatically copies datestamps from ; source to destination files when operating under either ; Z80DOS or ZDDOS/ZSDOS. New 'C' option allows suppression ; of datestamp copying. Sets the ZCPR3 program error flag, ; if present, depending on the type of error. ; - Terry Hazen ; ; 11/17/88 Added separate 'A' option for archiving source files. ; v2.0 'N' option still copies only non-archived files, but ; no longer automatically archives source files. Using ; both the 'A' and 'N' options is the same as using the ; old 'N' option. ACOPY20.PAT is now the correct file. ; - Terry Hazen ; ; 10/27/88 Added user patch area for things like Z80DOS patches. ; v1.9 Included in the user patch area, but not activated, ; are Gene Nolan's routines from ACOPOZ8D.Z80 for ; implementing date stamping under Z80DOS. See ACOPY.PAT ; for more information. Also added 'V' option to allow ; turning verification on or off. ; - Terry Hazen ; ; 05/06/88 Revised to support user numbers up to 32 and to operate ; v1.8 correctly with the ZCPR3 GO command. Now always resets ; destination filename archive bit. ; - Terry Hazen ; ; 12/11/87 Shortened status message display to remove intermediate ; v1.7 status messages from final display line. ; - Terry Hazen ; ; 10/30/87 Added du: to filename displayed on error return. ; v1.6 Files not matching the attribute specification are ; no longer displayed. Eliminated the '*' AND option. ; Changed the 'A' option letter to 'N' to better specify ; NON-archived files. Revised the help screen. ; - Terry Hazen ; ; 09/03/87 Limited release. Revised option display and status ; v1.5 messages and added '- Source Archived' status message. ; Changed QDELET to allow different lengths of strings ; to be deleted. Fixed typo in ZINIT routine that always ; reflected ZCPR3 QUIET flag setting regardless of what ; our flag's initial setting was. ; - Terry Hazen ; ; 03/10/87 Version 1.4 release. Added full ZCPR3 compatibility. ; v1.4 When operating in a ZCPR3 environment, accepts dir: as ; well as du: form, gets screen width, quiet flag, ; maxdrive, and maxuser from ZCPR3 environment, sets ; ZCPR3 program error flag if errors occur, sets ZEX ; status flag to 2 to suppress automatic input. Program ; name in HELP message is derived from external FCB. ; ZCPR3 features are ignored if ZCPR3 environment is not ; present. Displays the number of files copied on ; completion of the program. Program name, maxdrive, ; maxuser, screen width may be modified by patching for ; non-ZCPR3 applications. A patch location also allows ; cancellation of the 'Files Copied' display. ; - Terry Hazen ; ; 02/17/87 Internal, unreleased version. Added M (Move) option ; v1.3 to delete the source file after the copy is complete. ; Revised source to Z80 code for smaller size and faster ; assembly using Z80ASM. ; - Terry Hazen ; ; 09/15/86 Version 1.2 release. Added S (Skip) option to skip ; v1.2 copying if destination files of the same name already ; exist. ; - Terry Hazen ; ; 07/25/86 Version 1.1 release. Improved command line help ; v1.1 request parsing so that initial filename character ; can be '/' or '?' without calling up the help screen. ; Changed attribute option entry to allow default ORing ; of attribute selections. Added '*' option to change ; the attribute logic to AND (as in version 1.0). ; - Terry Hazen ; ; 06/03/86 Initial release. ; v1.0 - Terry Hazen ; ;=======================================================================