------------------ FATCAT Version 2.4 the FATter but faster disk Cataloguer ------------------------------------- {FATCAT and all files in FATCAT24.LBR and all subsequent versions are copyright 1986 by Steven M. Cohen and therefore remain his property. You are free to use it and to freely distribute it, but you may not sell it or bundle it as part of another package to be sold without the express written consent of the author. } FATCAT is a new multi-featured disk cataloguing program for z80 CP/M and ZCPR3 systems. It was designed with the User's convenience foremost in mind. It builds upon the foundation of other cataloguing systems, which were a boon to early micro computer users, but improves upon them by eliminating many inconveniences which these early programs inflicted upon their users. Many users, once the catalog grew to be of substantial size, began finding it hard to justify the time spent waiting for the disk drives to put everything in its proper place in the catalog. They grew gradually lazier about cataloguing and, after awhile, stopped altogether, convinced that cataloguing was a hopeless task, a nice idea but not worth the trouble. Sound familiar? We think FATCAT will change your mind about disk cataloguing. Sit back and follow us through a brief tour of FATCAT's many features. .HEFATCAT -- the FATter but Faster Disk Cataloguer --------------------------------- FEATURES OF FATCAT -- An Overview --------------------------------- Rapid fire insertion of diskettes FATCAT isn't magic, it may not even be as fast as some other programs. It is simply more intelligently designed, so that disk insertion (your job) is separated, time-wise, from the job of updating the catalog (the computer's job). The filenames are simply appended sequentially to a temporary, unsorted, file. Very fast. Then when you are done, the computer does the tedious work of sorting, inserting, deleting, without making YOU share its tedium. Get a cup of coffee, read the paper, go to bed. When you return you'll find a fully sorted catalog. Full Library File Support Simple, bug-free. The name of the library is stored with the name of the library file -- not just the disk number. Hard-Disk Mode for cataloguing a hard drive, user-area by user-area, as well as a conventional floppy mode that catalogs the entire disk at once. Clean-Up Mode lets you erase files, rename files, and add those zero-length disk name files without leaving FATCAT. No more "SAVE 0 - DISK.094" Also displays file size. Attractive Catalog Output Module outputs to printer, CRT, or both simultaneously. CRT display can either be paged or continuous, and is switchable back and forth. Scans the whole catalog, or "wildcards" for specific grouped filenames, either by filename or by disk number. New in version 2.1, the output module is accessible either through the menu or from its own command line. This flexibility allows for such things as batch processed lists separated by category, or even for use as a file listing for Remote Systems. New in version 2.3, output can optionally be given in a cross-reference fashion similar to XCAT, as well as the former FATCAT format. New in version 2.4, this output can also be directed to a disk file so that it may be further modified to your taste with a word processor program before printing it. Disk Information Module keeps track of disk names and free space on each disk. Easily Configurable for different modes of operation, e.g. placement of catalog files, name of catalog files, etc. Configurations easily saved to disk for quick loading on subsequent sessions. --------------------------- GETTING STARTED WITH FATCAT --------------------------- MINIMUM EQUIPMENT necessary to run FATCAT Minimum equipment to use FATCAT is a computer with a z-80 microprocessor, at least 43K TPA (that is a 50K CP/M system), two floppy drives of 180K or more. Preferable would be drives of 350+ K. FILES IN THIS LIBRARY This library should contain the following files. Those with 'Z' as the second letter of the filename extent are "crunched" files that must be uncrunched with the included UNCR.COM after you have extracted them from the library. FATCAT.COM -- The basic .COM file that starts the program OUTCAT.COM -- This .COM file is essential for OUTPUT, runs either by itself or is called by FATCAT. FATCAT2.CZN FATCAT3.CZN -- Chain files essential for running FATCAT FATCAT3.0Z0 FATCAT3.0Z1 FATCAT3.0Z2 FATCAT3.0Z3 FATCAT3.0Z4 FATCAT3.0Z5 FATCAT3.0Z6 OUTCAT.0Z0 OUTCAT.0Z1 -- Overlay files essential for running FATCAT FATCAT.WZ -- This documentation FATCAT.TZC -- Table of contents APPENDIX.AZ APPENDIX.BZ VERS24.UPD -- Supplements covering installation and configuration, and changes from vers. 2.0 FATCAT.MMG -- File for chain printing this with MailMerge README.1ST -- Some additional "quickie" documentation Z3INSTP.CZM -- An auto-installer needed to install on ZCPR3 systems FATCATIN.COM -- FATCAT specific installation routines. FATCATIN.DZA Z3 users can use Z3INSTP, but those of FATCATIN.MZG you still in the CP/M dark ages can use these programs to install FATCAT. UNCR.COM -- Steven Greenberg's uncrunching utility which must be used to uncrunch all crunched files in this library. See above. FIRST STEPS AND PRECEPTS NOW HEAR THIS! FATCAT must first be INSTALLED before it can be used. Read and follow carefully the instructions in APPENDIX A to learn how. Once installed, you may run FATCAT. However, the VERY FIRST THING you should try do with it is CONFIGURE FATCAT for your system by entering
at the main menu. Configuration is
covered in APPENDIX B which you should read before going further.
If FATCAT is not configured to your system you may not get the
most out of it and in fact, it may not run at all. Once installed
and configured, you are ready to go.
DISK NAMES-- some simple rules
Like many other catalog programs FATCAT uses the convention that
the file that sorts to the top of the list of files is the name
file of the disk. Usually, this is a 0-length file which is
nothing more than a directory entry. It has a unique name which
differentiates it from any other file on any other disk. Most
particularly its "type" (the three characters following the
period) must absolutely be unique. For any such scheme to work,
certain rules must be followed. For FATCAT there are only two
rules:
<1> The first character of such a disk name file may be
anything in the ASCII range of 32 - 47 which is legal in a
filename. The most typical is the hyphen ('-',ASCII 45). Other
systems have used the space character (' ', ASCII 32) but if you
choose this you will not be able to touch these files with CCP
commands such as ERA and others. Some people may find this to be
a good feature. Certainly the comma(','), period('.'), and
asterisk('*') should be avoided at all costs, as they have
specific meanings to operating systems. Whatever you choose, be
consistent.
<2> While FATCAT is somewhat flexible about the first
character used, it is very finicky about the "type" part of such
disk names. The file type must be numeric, with any blanks filled
in by zeroes. Further, the number .000 is reserved so do not
give it to any of your disks.
In light of the above rules the following disk file names
are good:
-DISK.007
-UTILITY.007
DISK .007 (note the preceding space)
!DISK .007
/DISK .007
whereas these are not
-DISK.7 (fill out type with zeroes)
*DISK.007 (Confusable with wildcards)
.DISK---.007 (Two periods not allowed)
DISK----.007 (Will not rise to the top in sort)
-DISK---.A07 (Only numerals in type, please)
Special Note on disk Names to Users of Plu*Perfect DateStamper
FATCAT vers. 2.1 has been rewritten so as not to conflict
with the DateStamper. It will not store any date information but
it will no longer conflict with DateStamper's expectation that
its !!!TIME&.DAT file be first in any sort. This works as
follows:
If the DateStamping toggle in FATCAT configuration is turned
on (see Appendix B) and if the user area or group of user areas
being catalogued contains any files with the DATESTAMPER name
(!!!TIME&.DAT), then FATCAT will swap the first and first non-
DateStamper names in the directory. This means that FATCAT now
expects the file immediately following any Datestamper files in
the directory to be the name of the disk. What this means to the
FATCAT user is that you should avoid disk names beginning with the
space character or the exclamation point as these would conflict
with Date Stamper.
-------------------------
RUNNING THE FATCAT SYSTEM
-------------------------
There are two basic modes of running the FATCAT system. The
first is interactively, calling up the FATCAT program and going
through the menus. This is the only way to catalog or recatalog
disks, update the catalog, get information on disks, or create
configuration files.
For outputting the catalog the user has the choice of the
interactive mode just mentioned, or by a separate command line,
OUTCAT, whose parameters tell the program all it needs to know.
This latter means will be more convenient for quick and dirty
searches, as well as for various batch-processing projects.
---------------------------------------------
Invoking FATCAT Interactively
Summary of FATCAT commands from the Main Menu
---------------------------------------------
FATCAT is invoked from the CP/M or ZCPR3 command line simply
by typing its name at the prompt thus:
A>FATCAT
Invoking FATCAT in this way causes FATCAT to search the
default drive and user area for a configuration file called
STANDARD.CFG and load it into memory. If this file is not found,
the defaults are used.
No other parameters are necessary; one optional parameter,
however, may be typed. The program will treat this as a request
to search the default area for a configuration file whose
filename is the parameter and whose filetype is .CFG. That is,
typing
A>FATCAT HARDDISK
will cause FATCAT to search for a file called HARDDISK.CFG on the
default drive/user and load its values into memory. If this file
is not found or cannot be read for some reason, default values
are supplied with the program and will be used.
These configuration files and their uses will be explained
later. They are a convenience for the user; it is worth
mentioning here, however, that if a given .CFG file is not found,
it is not a disaster; different configuration files can be loaded
or created under the P option of the main menu, which will be
discussed in detail below.
When FATCAT is invoked, a banner screen is displayed and a
report on the Configuration file load is provided. You are then
directed to type any key upon which the following screen is
displayed:
----------------------------------------------------------------
Main FATCAT Menu
----------------------------------------------------------------
----> C> to Catalog Floppy Disks
----> H> to Catalog A Hard Disk
----> D> to Delete a Disk from the catalog
----> T> to Toggle cleanup mode now: < On>
----> P> to change default Parameters
----> U> to Update catalog
----> O> to Output catalog in FATCAT format
----> X> to Output catalog in Cross-Reference format
----> R> to ReIndex New .RIX and .LIX files
----> M> to Make New .RCX and .LCX files
----> I> to output disk Information
----> -- Configuring FATCAT
It is very important to configure FATCAT before you attempt
to run it. So you should select the option the first time
you call up FATCAT and get it configured for your system before
attempting anything else.
ALL information on how to do this is found in APPENDIX B.
Please see Appendix B now.
Option option. You move about in the same way and can modify
these file names to your heart's content. Do be careful, though.
Once you have eliminated these file names, there's no way to
change this short of redoing your entire catalog.
Now that the preliminaries are out of the way, FATCAT gets
down to the brass tacks of updating. First, the disk name is
entered into the disk name index file. (.DNX) Second, the program scans the index files (.RIX and .LIX) against the
temporary file, adding all those files in the temporary which
aren't in the index and deleting those which are in the index but
not in the temporary file. If the Reindexing toggle is off (the
default), the same additions and deletions will also be made at
this time to the catalog files. FATCAT has a way of detecting
where one disk's area in the temporary file ends and the next
disk's begins. It informs you of any additions or deletions on
the screen, though, again, these may scroll by too fast for it to
be of much help to you. At the end of the update a count of the
regular files and the library files is displayed.
If the Reindexing toggle is ON, an entirely new pair of
catalog files (.RCX and .LCX) is now created and filled from the
index files.
-----> Please don't try to Update before you have catalogued any
-----> disks. You'll only get an error Message. You must have
-----> a temporary (.TCX) file to update from.
-----> Updating is quite simple for the user. Just don't forget
-----> to do it!
Option option before running it.
And what if both the indexes and the catalogs are fouled?
Well, there is still no substitute for a proper backup of all
files onto backup floppies.
That leaves us only
Option option of FATCAT and a more detailed description is
given in Appendix B.
If this parameter is not specified, OUTCAT will look for the
file STANDARD.CFG. If this is not found, as a last resort,
defaults hard-coded into OUTCAT will be used. These defaults may
or may not work on your system. This is the exact same way
Configuration is handled by FATCAT.
>PARAMETER -- Output device
This parameter controls both where output is to be directed,
and its format. The first character is a '>' followed (without
an intervening space) by one of the following:
CON: or CRT: for output to screen
LST: or PRN: for output to printer
anything else here will be treated as the name of a file
to which output is to be directed.
If this parameter is omitted then SCREEN output will be
defaulted.
+PARAMETER -- To engage XCAT format
Simply a Plus sign preceded and followed by spaces will be
treated by the program as a request to use the XCAT format. If
this parameter is not included format will default to the
standard FATCAT format.
"PARAMETER" -- Page Header
This parameter specifies a header to be printed at the top
of each page of output, usually printer output, but some
applications may find some use for page headings on screen
output. This header will be output immediately following the
page number.
This parameter is identified by the preceding and trailing
double quote marks. Any characters (including spaces) may be
placed between the quotes, except, of course another double
quote.
If this parameter is eliminated, the header will simply be
the page number.
.PARAMETER -- Disk search limiter
This parameter can be given twice on the command line. If
given twice one instance will be the low disk number to include
in the search and the other will be the high disk number to be
included. The order of these two parameters in unimportant. If
only one such parameter is given, then only the single disk
number will be searched. If no such parameter is given then all
disks will be searched.
UNPREFIXED PARAMETERS -- Search Keys
This parameter control which files will be selected for
listing. There is no special character that must precede such
parameters. All that is required here is an ambiguous filename
which may use CP/M wildcards e.g. *.* or *.?Q? or Z*.*.
If nothing is given under this parameter, the default is to
search for all files on all disks.
If a faulty parameter of this type is supplied, the program
aborts back to the operating system level.
EXAMPLES -- Putting it all together on the command line
Below are some sample command lines with their results,
followed by a faulty command line.
OUTCAT
Outputs all files on all disks to the CRT. Searches STANDARD.CFG
for configuration and prints no page header.
OUTCAT /REMOTE +
Same as above but searches REMOTE.CFG for config and displays
output in cross-reference format.
OUTCAT /REMOTE >CON:
Same as above except output in FATCAT format.
OUTCAT >PRN:
Same as above only searches STANDARD.CFG for config, and outputs
to printer.
OUTCAT >LST: *.?Q?
Same as above only restricts search to files matching the
wildcard *.?Q? (i.e. all squeezed files.)
OUTCAT >LST: "LIST OF SQUEEZED FILES" + *.?Q?
Same as above only "LIST OF SQUEEZED FILES" is the header and
Format is cross-reference.
OUTCAT /SPECIAL >PRN: "LIST OF SQUEEZED FILES" *.?Q? .400
.999
Same as above only config comes from SPECIAL.CFG and search
restricted to disks 400-999 and format is FATCAT.
OUTCAT /SPECIAL >SQUEEZED.CAT *.?Q? .400 .999
Same as above except output is to the file SQUEEZED.CAT. When
outputting to files no header is used; even if one is requested,
it is simply ignored.
OUTCAT .400
Displays to screen a listing of all files on disk .400
--------------------------------------------------------
A COMMAND LINE WHICH WON'T DO WHAT YOU WANT IT TO
OUTCAT >P "List of squeezed files *.?Q?
First of all, note that since the CCP is processing the command
line everything will be raised to UPPER CASE, which really is no
problem, but be aware of it. Secondly, since there is no
trailing quote, the *.?Q? will be taken as part of the header and
a default search of all files will be performed.
We can't go into every case. Just follow the rules laid out
above and you will not be surprised. They may seem complicated,
but most on-the-fly use of this feature can usually just revolve around a single parameter and defaults have been selected to be
the most common choices.
AUTOMATING OUTPUT -- Suggested applications
WHERE THE &*!#@ IS ...
1> Can't find the file TERRIFIC.PAS?
Command line OUTCAT TERRIFIC.PAS will quickly tell you where it
should be.
2> Or maybe you're not quite so sure of the name. Some DataBase
program was it DB-CHECK.CMD or DBCHECK.PRG or what?
Command line OUTCAT DB*.* will at least scan for all files
beginning with DB.
These kinds of searches are much faster than getting into the
menu mode to do it.
SPECIALIZED PRINTOUTS -- Batch File Control
Phil Newman complained that he'd like to be able to print
subdivided lists of his catalog. He has intelligently subdivided
his catalog by category. So using the SUBMIT facility of CP/M or
the ZEX facility of ZCPR3, batch commands like this become
possible:
OUTCAT >LST: "DATABASE FILES" *.* 100 199
OUTCAT >UTILS.CAT *.* 200 299
OUTCAT >PRN: "GAME FILES" *.* 300 329
OUTCAT >PRN: "SPREADSHEETS" *.* 330 399
etc.
REMOTE SYSTEMS -- ZCPR3 Alias control
Terry Smythe gave me an idea which never occurred to me when
I was designing FATCAT, but it can in fact be used as a remote
system file directory for Z3 systems, if it is regularly updated.
FATCAT.COM and OUTCAT.COM should of course be hidden in an
inaccessible user area. Then an accessible area would contain an
alias that would remain invisible to the caller, but would allow
him to access the catalog for viewing.
Compose an alias called SEARCH which would be something like:
DU:OUTCAT /REMOTE >CON: "SUPER RCPM FILES AS OF 1/1/86" $1
Of course, the alias would have to also handle access to the
restricted directory, and there are several ways to do this.
THE USER WOULD BE TYPING IN:
SEARCH DB*.*
and would automatically be presented with a formatted listing of
all files beginning with "DB". Etc. Etc. The important point
here is using aliases to allow the SYSOP select the parameters he
wishes to control, protecting them from the user while allowing
the user all LEGITIMATE flexiblility. In this case, the only
legitimate control a user would need would be to specify the
files to be searched. And the SYSOP can help by specifying the
header which gives the date of the last update. He would have
only to remember to modify the alias after updating the Catalog.
-----------------------------------------------------
Conclusion -- the Past, Present, and Future of FATCAT
-----------------------------------------------------
At this point, I'd like to acknowledge the excellent
contribution to FATCAT that Phil Newman has made. Phil is the
discerning user, par excellence. His complaints about catalog
programs were what got me off onto this project in the first
place. When I first heard his complaints, I didn't think that
what he wanted could be accomplished. But Phil was right. And
his contributions didn't end here; Phil was my faithful beta
tester, finding all sorts of obscure bugs that needed to be
ironed out.
Specially helpful to version 2.4 were Jeff Moro who made
many incisive criticisms (not all of which were attended to,
unfortunately), and Robert Petrie who worked with me from afar to
get FATCAT working with CP/M+.
I'd also like to thank all those users who sent me feedback
on previous Versions. You gave me the ideas needed to make
version 2.3 even better. In particular, thanks to Ed Johnson of
Victoria, B.C. who found a whopper of a bug in the output search
routines.
If FATCAT is a more functional program than some of its
predecessors, that does not diminish the significance of their
contribution. After all it was the Ward Christensens and other
pioneers who made today's computer developments possible. Their
brainstorms were the original ones.
Similarly, FATCAT will one day, soon, I'm sure be
superseded. Someone (maybe me) will rewrite the thing in
assembly language. After all FATCAT is loaded with features but
it's also very FAT space wise. And there are some features it
lacks, most notably, a mechanism for recording comments about
files. In this version I wanted to stick as closely as possible
to data that was fully automatic, that is recorded to disk by the
operating system itself. This cuts down the chances for error.
Future versions will have to get beyond this hurdle.
Also deserving of much praise is Richard Jacobson whose
Lillipute Z-Node in Chicago (312-649-1730 and 312-664-1730)
continues to set new standards of excellence for remote
computerists. Without his Z- Node, I never would have been able
to put this package together. I would appreciate that any
compliments, complaints, bug reports, etc. be sent to me care of
this excellent bulletin board.
Turbo-Pascal is a trademark of Borland International, Inc.
Mailmerge is a trademark of MicroPro, Inc.
DateStamper is a trademark of Plu*Perfect Systems.