CPA - ComPare Ascii utility for ZCPR Systems by Malcom Kemp and Carson Wilson 20 Feb 89 The CPA utility will analyze two text files on a line by line basis, reporting any differences through a split screen with one window per file. For purposes of this utility, lines are limited to 1015 characters and are terminated by a pair. Also, before comparison, all tab characters are expanded. Lines of lengths longer than the screen width will wrap, causing following of the lines in BOTH windows to scroll down. The utility is invoked as "CPA [dir:]ufn [dir:][ufn]", where the file specifications must be unambiguous, but otherwise any allowable Z-system specification. If a file is missing, or a line exceeding 1015 characters is found in a file, CPA exits to the operating system with the appropriate error message. The compare will proceed until a mismatch occurs or until the end of one or both files is reached, whichever comes first. At this time, the names and current lines, and file date stamps if available are displayed. If a mismatch was found, the mismatched line will be shown as the last line in each display. The user can then manipulate the lines in each screen to achieve synchronization, and begin the compare again. The compare will continue from the line AFTER the displayed line forward. If your terminal supports video attributes, the display will highlight the text in each window beyond the point of mismatch. Under ZSDOS or Z3PLUS, file datestamps are displayed along with each filename. For both systems, the stamp displayed is normally the last modify stamp. If the last modify stamp is not found, the create stamp is instead displayed, and the date is followed by a lower case 'c'. Since CP/M Plus defines the same field for either the Update or Last Access stamp depending on the disk label, stamps designated 'c' may actually be the last access stamp, depending on your particular system. Use the CP/M Plus "SHOW d:[LABEL" command to tell what stamps are active on a particular disk. If no datestamps are available on the disk(s), just the filename(s) appear. If datestamping is active, but the file(s) do not have valid stamps (day is not in range 1..31), two dashes will appear instead of one between the filename and the line number. CPA buffers as much of both files a TPA permits. This allows a limited "back up" facility, but if the files are larger than the available memory, you will not be able to back up to the beginning of one or both files; you must restart CPA to review these areas. Five commands are available while CPA is active: X, ^X - Scroll the current screen up. E, ^E - Scroll the current screen down. , S - Switch screens. G - Go on comparing at the next pair of lines. ^C - Abort to operating system. 1. ^X - Scroll up. Pressing X or control-X causes the current screen to scroll up (move forward in the file) one line at a time until the end of the file is reached. 2. ^E - Scroll down. Pressing E or control-E causes the current screen to scroll down (move backward in the file) one line at a time until either line one of the file or the beginning of the current bufferful of text is reached. While CPA uses all available TPA to buffer text, large files may 3. - Switch screens. Pressing the space bar or S toggles scroll control between windows. Scroll up and Scroll down commands now affect the alternate window. 4. G - Go on comparing at the next pair of lines. Pressing G causes CPA to continue comparing the files until the next mismatch or until the end of one or both files is reached. 5. ^C - Abort to operating system. Pressing control-C at any time aborts the file compare and returns you to the operating system. Carson Wilson is the author of this version of CPA, based on Malcom Kemp's original version 1.0. Carson Wilson is the operator at Antelope Freeway Remote Access System, Chicago 312/764-5162 300/1200/2400 baud - 24 hours