General Information on Cataloging system Format of MAST.CAT file Volume Identifiers Updating Process Retreiving data from catalog Special Features of FMAP :CATALOG:General Information on Cataloging system This document describes a system for cataloging all of a users CP/M diskettes. Written by Ward Christensen. The master cataloging system consists of the following: MAST.CAT The catalog itself FMAP.COM Used to create NAMES.SUB, the "transaction file" for catalog update CAT.COM Like DIR, i.e. the lookup program CAT2.COM Quick kludge program, lists entire catalog, printing each filename only once, & stringing disk names out after. UCAT.COM The update program, merges NAMES.SUB into MAST.CAT UCAT.COM It now catalogs the "volume serial" (-name.nnn). :CATALOG:Format of MAST.CAT file The format of MAST.CAT is: First, a list of names of files not to be cataloged, in parentheses. The list supplied with the sample is: (ASM.COM DDT.COM LOAD.COM PIP.COM SID.COM STAT.COM SUB.COM <-- I renamed SUBMIT on most disks SUBMIT.COM) Then a list of all cataloged files, in the form: filename.type diskname.serial For example: ALLOC.COM SYSRES.802 :CATALOG:Volume identifiers A disk must have a special filename on it, which is the volume indentifier: -diskname.serial, such as "-SYSRES.801". This may be done via: save 0 b:-sysres.801 (FOR CP/M SYSTEMS) save b:-sysres.801 1 (FOR CDOS SYSTEMS) NOTE that the SAP (sort and pack directory) program previously distributed by the CP/M U.G. deletes all 0-length file entries, so if you use this utility, do a save 1, not a save 0. :CATALOG:Updating Process To update the catalog for a disk, use FMAP to create the NAMES.SUB file (which contains a sorted listing of the files on the particular disk). Filename $$$.SUB is automatically skipped, as I recall. FMAP B: Q will write NAMES.SUB to the logged in disk. Then type UCAT which will merge NAMES.SUB with MAST.CAT, and erase NAMES.SUB. Note that UCAT is a "belts and suspenders" type program, i. e. it creates NEW.CAT, and merges NAMES.SUB with MAST.CAT and puts it there. It then does: era mast.bak ren mast.bak=mast.cat ren mast.cat=new.cat This means that unless you era mast.bak, there will be 3 copies of the master catalog on the disk during the ucat execution. If you don't have sufficient space for it, era mast.bak first. :CATALOG:Retreving data from catalog CAT works just like DIR, i.e. "*" and "?" are allowed. However, it takes a second operand (after the filename/type) which is the disk information, in the form NAME.SERIAL - without the dash. Sample queries: CAT <-- ALL FILES CAT *.* WORK.* <-- ALL FILES ON ANY "WORK" DISK CAT *.ASM <-- ALL .ASM FILES CAT *.* *.8* <-- ALL FILES ON DISKS WITH SERIAL NUMBERS 8xx Note that the "-diskname.serial" file is written to the disk (it wasn't under the earlier UCAT in the CP/M users group). Thus you can get a list of all disk serials via: CAT -*.* but other than this one file entry, the "-" characters are eliminated from the directory, i.e. the disk names are stored as 7 characters (or less). :CATALOG:Special Features of FMAP FMAP has some additional options: FMAP displays a sorted listing on the console FMAP specs displays a selective listing. Specs mean *.asm, etc just like DIR. FMAP specs D writes the names to NAMES.SUB with $1 $2 before the name, and $3 after: $1 $2FOO.COM $3 Thus $1 may be substituted with a command name, $2 with a disk name, and $3 if the program takes options (only my programs do, as far as I know) FMAP specs Q writes the sorted names, without any "$", to NAMES.SUB. FMAP specs M writes the names to NAMES.SUB with $1 $2 $3 before the name, and $4 after: $1 $2 $3FOO.COM $4 This is specifically for use with the modem program. For example, to send all .ASM files from the B: disk to another person: FMAP B: M <-- MAKE NAMES.SUB MODEM SO.600 NAMES.SUB <-- SEND THEM NAMES.SUB SUBMIT NAMES MODEM SO.600 B: <-- SUBMIT THE SEND MODEM gets substituted for $1, SO.600 for $2, and B: for $3. FMAP specs UNN creates CP/M users group catalog volume "nn". Not generally useful, but thought you might like to know how it was done. NOTE that I have found the FIND program (also distributed on this users group disk) to be very useful when used with MAST.CAT - suppose you have the following in MAST.CAT: BIOS1.ASM BVIOS.ASM CBIOS.ASM M2BIOS.ASM It's ovbious that CAT cannot find all your BIOS related files - but if you type: FIND MAST.CAT IOS You will find them all  .