Documentation for XCAT502.MAC Harold F. Bower 27 August 1985 - DateStamper is trademarked by Plu*Perfect Systems - CP/M is trademarked by Digital Research PURPOSE: XCAT Version 5 provides the capability to Cross-index and list the contents of a Master Catalog file (MAST.CAT) produced by the companion MCAT v5 Catalog- ing program. Output can be directed to selectable devices and files, and re- execution of the program is possible without returning to CP/M. The program features screen-oriented operation while retaining the line-oriented method of previous versions. Operating parameters can be varied from within the program, or set from the main command line. BACKGROUND: This program is a logical extension of Irv Huff's XCAT version 4.2. Changes made to produce this version were significant enough to warrant upgrading the version number. Among the more important changes are: - Screen oriented operation using Plu*Perfect Systems' TERMCAP definition. Screen installation can be performed with DDT, by reassembly, or with SETTERM (a DateStamper utility). - Incorporation of interfaces to Plu*Perfect Systems' DateStamper(tm) system to display current date and time (if clock present). - Automatic adjustment of internal parameters within the program, thus avoiding the need to re-assemble the program for different capabil- ities or to retain multiple copies. - The ability to sense catalog options implemented by MCAT v5 (Date/ User) and adjust (with warning to the operator) internal settings to properly display the data. - Addition of user areas to drive designations for the location of MAST.CAT catalogs. These are variable from within the program. - 'Expert' provisions to short-circuit the built-in parameters and change initial settings from the main command line when calling XCAT. This provision also causes immediate execution of XCAT with the program running to completion. Errors during execution cause a return to the menu mode for correction and re-execution. - Provision of a 'Search' capability to selectively list file names, types, and 3-character disk ID. Each parameter is selectable from the command line or from the interactive mode. Standard ambiguous file name and typing is provided. If a non-ambiguous disk ID is selected, a Directory-type display is provided. This feature should replace utilities such as FIND.COM for many applications. - Correction of a defect in XCAT42 which would only handle user areas up to 15. New code properly handles user areas 0 thru 31. - Selectable output to Disk File (by selectable name, disk and user number), Printer (Roll paper with cut lines or hardware formfeed), or terminal screen paginated by screen size. - Provisions for accomodating non-standard CCP sizes without over- write. These features were added in a fashion which provides enhancements while retaining compatibility with existing catalogs. The companion MCAT v5 program is needed to take complete advantage of these expanded capabilities. The only change that must be made to cross-reference existing catalogs is the addition of a special "header field" as the first entry in the IGNORE list at the beginning of each MAST.CAT. Definitions of this field are in the docu- mentation for MCAT, and can be added with a common editor. OPERATION: The basic XCAT Version 5 operates in an interactive manner with the opera- tor by providing printed status and prompt statements on the user's terminal device. It should operate satisfactorily on any computer running CP/M version 2 or 3. The optional date field, however, is only accurate for catalogs created with MCAT v5 with Plu*Perfect's DateStamper(tm). To access the built-in HELP feature, type : XCAT ? To bring up the basic system in the interactive mode, simply type : XCAT A series of messages will appear announcing the program, printing a list of available commands, and informing the operator of the default settings for the program. The Basic commands are preceded by a karat (^) signifying that the command is initiated by entering the Control-key equivalent of the next char- acter (e.g. ^D means 'Control' and 'D' keys depressed together). If Plu*Perfect Systems' DateStamper(tm) system is not installed, you will be asked to enter the current month and day. The year entry is contained as a binary coded decimal digit in the program header and need be changed only once per year. Date information is validated on entry. Invalid entries are voided and the BELL or tone is sounded. Five basic parameters can be changed by the operator. Each is available by one of the command control keys from within the program, and can be changed from the default settings by parameters passed on the command line. These are: - ^Log MAST.CAT (Control-L). This is the Drive and User area where a cata- log (MAST.CAT) is located. If changing the parameter from the Menu, a single letter, one or two digits, or letter followed by one or two dig- its are all acceptable. Any non-numeric character (after the first letter, if present) terminates the entry. If entering the parameter from the command line, the identification must be preceded by a "<" character. If no Drive letter or user is contained, the currently logged values are assumed. Acceptable entries are: "). When this parameter is varied, the Device is automatically changed to "Disk File" to reduce key- strokes by assuming that a disk file is desired. Acceptable entries are: >C3: >B: >D15:MAST.EXT >10: (Colon is required) Since precedence is assigned to the last entry, care must be taken to avoid superceding previous device selections as: XCAT -C >TEST.LST Output will go to the disk file since the ">" supercedes the "-C"onsole. XCAT >DIR.LST -P Output will go to printer vice DIR.LST - ^Format (DU) (Control-F). This permits the operator to select or desel- ect the optional USER and DATE fields in the display. If the MAST.CAT being read was initialized using MCAT50, a special header field will be sensed by XCAT and compared to the current settings. If the settings do NOT match, the BELL will be sounded, and the operator will be asked to "C"hange the settings to correspond to the MAST.CAT, "P"roceed with cross-referencing using the defined settings, or "A"bort back to the command mode. When changing the format, the operator will be asked whether or not to include each field. Answer "Y" if you want to disp- lay the entry, or "N" if you do not. If setting the format from the command line, the lead character must be a dollar sign "$". Acceptable entries are: $ (No USER, No DATES) $D (Add DATES, No USER) $U (Add USER, No DATES) $UD or $DU (Add Both) - ^Search (Control-S). This command permits the user to select a subset of the filenames and/or disks in a Master Catalog. If a unique 3-charac- ter disk ID (no wildcard chars), a horizontally-sorted directory list is produced. Ambiguous and unambiguous entries are supported using standard wildcard characters ("*" and "?"). A search string can also be entered from the command line. XCAT assumes that any string not prefixed by one of the four reserved characters is a search string parameter. The Disk ID field is prefixed by a leading comma and can be entered as a separate field, or appended to filename.type specifi- cation as: *.MAC,801 (all .MAC files on disk -.801) While this does not permit selection of files beginning with certain characters, it is considered a minor limitation. Using the search feature, special programs such as FIND.COM should be unnecessary. Examples of command line entries are: XCAT *.MAC -C (List all MAC files to the console) XCAT HELP*.* >B:H.LST (List all files starting with HELP to a file on B: called H.LST) XCAT *.WS -P ,3* (List all .WS files on disks -.300 thru -.399 to the printer) XCAT ,534 -C (List directory for disk -.534 to the console) The ordering of these parameters is not important, and any or all may be omitted. Acceptable entries are: XCAT A9:FILES.PRN $DU XCAT $U -C XCAT >A0:NAMES.LST $U XCAT ????????.??? / -.??? Output : A10: MAST.LST | ============================================================================= For Help, reboot then type : XCAT ? Ready - (Control-C to Abort, Space or to Continue) : - - - - - - - - - - - - - - Bottom of Screen - - - - - - - - - - - - - - - Portions of the screen are highlighted or displayed in reverse video to enhance readability. In the above example, the Master Catalog will be expected on Drive B, user area 3 and both USER and DATE fields are expected. The output will go to a disk file names MAST.LST, located on Drive A, user area 10. The "Search" criteria showsthat all files of all types on all disks will be includ- ed in the MAST.LST file. Installation with DDT. The default parameters of XCAT can be changed with DDT or equivalent debugging tool without the need to reassemble the program. The procedure is to read in XCAT.COM to 100H, and change the desired values, reboot, and save the program. The sequence is: DDT XCAT.COM Next PC 2580 0100 - ^C A>SAVE 37 XCAT1.COM The locations of parameters to be changed can be gathered from the source code. Default settings, other than cursor addressing, are: 113H Number of lines on the display 114H Number of character positions per line on the display 193H Current year in BCD (e.g. 85H for 1985) 194H DATES flag. Set 0FFH (True) if Dates desired, else 00H (No) 195H USER flag. Set 0FFH (True) if Users desired, else 00H (No) 196H Default drive to assume for the location of MAST.CAT on start. Change this to suit your tastes. (A=0, B=1, C=2, etc). 197H Default user area for MAST.CAT on the drive at location 196H. 198H Default output indicator. The options are: 'C' (43H) - Console output 'F' (46H) - Disk File output 'P' (50H) - Printer output 199H Display US or European dates. Set 0FFH for month/day/year or 00H for day/month/year. 19AH Separation character for date. Conventions are 2FH ("/") for US dates (e.g. mm/dd/yy) and 2EH (".") for European dates (e.g. dd.mm.yy) although this is often varied. 19BH 16-bit (2-byte) value containing the size of your CCP/ZCPR or other console processor replacement. The default value is 2K (0800H). It is the offset below the CP/M BDOS that is protected during operation permitting fast return on MCAT completion. 19DH Number of lines per page on Printer output. The standard entry is 60 (3CH). Terminal installation can be performed in accordance with the locations in the source code, or by the use of Plu*Perfect Systems' SETTERM routine supplied with the DateStamper(tm) system. Enjoy using Version 5 of XCAT and the companion MCAT version 5. I would appreciate any comments, bugs or suggestions on ways to improve the programs. If you make any improvements or enhancements to these programs, please coordin- ate them with me before release so that some semblance of order can be main- tained. Thank you. Harold F. Bower 'Hal' WA5JAY Box 946 APO NY 09128