home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
cpm
/
utils
/
sysutl
/
tools.lbr
/
TOOLS.DZC
/
TOOLS.DOC
Wrap
Text File
|
1987-08-06
|
6KB
|
144 lines
INTRODUCTION
Over the years I've heard a lot of folks complain about what a
poor operating system CP/M is. For a long time I had a bit of
trouble understanding this, because I've been using CP/M for
quite some time and really like it. Then I realized: it's not the
operating system kernel they dislike, it's the TOOLS. The baroque
unfriendliness of ED is legendary, and few CP/M users waste much
time tossing it in favor of a nice screen editor. But even such
"necessities" as STAT and PIP leave a lot to be desired, as do
the built-in commands such as DIR and REN.
An operating system really consists of 3 parts:
o The kernel, consisting of I/O drivers and the file system.
o The command processor (CCP, for CP/M).
o The utility programs (tools) supplied with the system.
The kernel of CP/M is pretty nice. It supports about every
function one could desire except heirarchical directories and
multitasking, and it does it quite a bit more efficiently than
most. It's the other two parts of the system that seem to give
people heartburn, and indeed, these two elements can make or
break an otherwise nice operating system. That's not too
surprising, since these are the parts that represent the user's
interface to the system. CCP replacements such as ZCPR3 take care
of the second area. It's the third one that I address here.
Looking back on it, I realized that I have gradually replaced
_ALL_ the utilities of plain vanilla CP/M with more friendly
tools from various sources. This includes all the built-in
commands except SAVE, which is pretty hard to get around. Some
tools I wrote myself, some are from the public domain, and one is
proprietary. Over the years, I've managed to make CP/M a pretty
comfortable environment for me.
The purpose of this library is to give other people access to
the tools that have proven useful for me. What I'm doing here is
to describe the environment that I have built for myself, and
provide those parts of it that are legal to distribute. Of
course, one man's meat is another man's poison, and I wouldn't
expect you to find this particular set of tools as comfortable
for you as I do for me. A lot depends upon your style, and the
kinds of things you like to use your computer for.
Fortunately, each of us has the option of configuring our system
to be comfortable for ourselves. That's what the 'P' in 'PC' is
all about. I would encourage you to take a look at your
environment and the tools you are using, and make whatever
changes you think will make life more enjoyable. Still, the tools
provided here have a proven track record with at least one of us,
and you may find them useful as a starting point for your own
personalized environment. I hope you like them.
WHAT IS A TOOL?
The CP/M built-in commands DIR, ERA, REN, and TYPE, are built in
so as to make them readily available without having to do a disk
access. Gary Kildall reasoned that these commands would be
used often enough so that the RAM space that they occupy would be
justified. It sounds like a reasonable enough decision, but in
retrospect it has turned out not to be such a great idea. The
reason is that all four of these commands need disk accesses
anyway, so the small amount of extra time that would have been
required to read them from the disk is hardly noticeable. More
importantly, they aren't very good. That's why Rick Conn elected
to make them optional in ZCPR3.
The utilities included in this package are just COM files,
programs like any other. So what makes them utility tools? Simply
that they tend to be used often in the typical session, just like
the built-in functions. To be useful in such a mode, they should
have the following qualities:
o They should be small enough to be able to be read from the
disk in negligible time.
o They should return to the CP/M command level without a time-
consuming warm boot.
o They should support command line arguments, and the syntax of
the command line should be consistent from tool to tool.
The tools supplied here conform to these rules. The syntax I've
chosen is one that should be familiar to users of Multics, Unix,
MSDOS, OS-9, or ZCPR3:
COMMAND ARG ARG ARG ....
that is, the command followed by arguments, all separated by one
or more spaces. In general, the arguments can consist of
arbitrarily long lists of arguments, and wild card file names are
supported.
THE TOOLS
The following tools are supplied in this LBR file:
o LS - A replacement for DIR
o PR - A replacement for TYPE
o RN - A replacement for REN
o DL - A replacement for ERA
o DUMP - A replacement for the CP/M utility
o CP - A replacement for PIP (DOC only ... program is not PD)
o LIST - A file print utility
o FORMAT - A replacement for the CP/M utility (Kaypro '84 only)
o SYSGEN - A replacement for the CP/M utility (Kaypro only, DOC
only)
FEATURES AND OPTIONS
A word about style and organization: Different people have
different ideas about what features and options should be
included in a program. Some folks try to make a program to be all
things for all people, by trying to anticipate all possible uses
for the program and providing optional arguments for them. A
typical example might be SD116, which wll give a directory sorted
either vertically or horizontally, depending upon optional
arguments provided on the command line. Other people would rather
have two different programs for such cases.
I tend strongly toward the latter view. Lots of experience has
proven to me that, unless I use the programs every day, I tend to
forget what the options are, anyhow. There have been a number of
studies in the literature that show that I'm not alone in this
respect. For this reason, my programs tend to be gutless wonders:
small, fast, and special-purpose, with a minimum of frills. If I
want to do something different, I either get or write a new
program. Admittedly, this may not work for everyone, but it's
worked nicely for me. In any case, all the tools in this package
follow that philosophy.