home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
cpminfo
/
cpm-cc24.art
< prev
next >
Wrap
Text File
|
1994-07-13
|
12KB
|
209 lines
==============================================================================
[ THE KAY*FOG RBBS | Filename=CPM-CC24.ART | posted 07/05/86 | 205 lines 12k ]
The CP/M Connection Originally published in
by Computer Currents
Ted Silveira 5720 Hollis Street
(copyright and all rights reserved) Emeryville, CA 94608
April 8, 1986
THE WONDERFUL WORLD OF Z
If you've spent any time browsing through bulletin boards or
catalogs of public domain CP/M software, you've run across ZCPR,
especially its latest incarnation, ZCPR3. But if you asked someone what
ZCPR3 was, you probably got a blank look or an enthusiastic rush of
words trailing off into "You really have to see it. . . ."
ZCPR3 is tough to describe because it's not a program but an
operating environment supported by over 70 utility programs. I realize
that "operating environment" doesn't tell you much either, so let me try
an analogy. ZCPR3 affects your whole computer the way a key definition
program like SmartKey affects your word processing program--it makes
many things easier and makes other things possible that weren't possible
before.
The core of ZCPR3 is an enhancement of your normal CP/M 2.2
operating system (ZCPR3 isn't for CP/M Plus). When you add ZCPR3, you
get an operating system that is compatible with CP/M programs (with a
very few exceptions) but is more powerful and more flexible than CP/M
ever was.
The CP/M operating system is divided into three parts: the CCP
(console command processor), BDOS (basic disk operating system), and
BIOS (basic input/output system). The CCP interprets all the commands
you enter at the A> prompt and also contains CP/M's built-in commands
DIR, REN, ERA, TYPE, SAVE, and USER. The BDOS provides basic program
services--opening and closing files, reading from and writing to the
disk--so that programs you run don't have to bother with the mechanics
of these things themselves. Both the CCP and the BDOS are licensed from
Digital Research, makers of CP/M, and are the same on all CP/M 2.2
computers (with the exception of a few oddball systems).
The BIOS, on the other hand, is customized for (i.e., written
specifically for) a particular computer (a Kaypro 2X, a Morrow MD3,
etc.) and is provided by the computer manufacturer rather than by
Digital Research--that's why it's sometimes called the CBIOS (for custom
BIOS). The BIOS translates the general functions handled by the BDOS
(disk access, file handling, etc.) into detailed instructions to the
specific computer hardware (select drive A, move the head to track 2,
read 16 sectors, etc.). It does the nitty-gritty work of controlling
your computer.
In its simplest form, ZCPR3 replaces CP/M's normal CCP, while the
BDOS and BIOS remain the same. (ZCPR3 gets its name from the fact that
it's written in Z80 assembly language--Z80 Command Processor
Replacement, version 3.) Because ZCPR3 is written in very efficient Z80
code, it crams extra features into the space occupied by the normal CCP.
To really show its stuff, though, ZCPR3 needs some extra space for
buffer storage and extra functions. A standard CP/M operating system
uses about 9K out of your total 64K or RAM (random access memory),
leaving about 55K for programs to run in. A thorough ZCPR3 installation
typically uses an extra 2-4K depending on the number of enhancements you
choose, so it leaves about 51-53K free for programs. But some people
have all-out installations that leave even less. Most CP/M programs
will run comfortably with 48K free, and some, like WordStar and dBase
II, with less. A few programs, such as large MBasic programs, may
require more.
[What Do You Get From ZCPR3?]
If you're going to give up part of your valuable 64K RAM to ZCPR3,
you ought to get something in return. And so you do. In fact, it would
take me half a dozen columns to cover all the features of ZCPR3, so what
follows is a brief overview, at best.
[The Built-in Commands] Even the most minimal ZCPR3 installation
enhances the CCP's built-in commands. For example, the ERA command
echoes the names of files it has erased and can be set to require
verification before any erasure. The TYPE command will pause after
every 22 lines instead of scrolling continuously. And if you try to
rename a file with the name of an already existing file, the REN command
will ask if you want to delete the old file.
You also get some new commands. LIST, for example, sends a file to
the printer, ECHO sends a message to the screen, and GO reruns the last
command or program you executed.
[The Minimal Extras] The enhancements possible with ZCPR3 go far
beyond the CCP commands, though. With little or no loss in memory
space, you can get the following features:
_Search Paths_ With ZCPR3, you can set a search path that your
computer will follow when trying to execute a command. My two floppy
system is set to search drive A for a program if it can't be found on
the current drive, so if I'm on drive B and want to run WordStar, I can
just give the command [WS] without worrying about whether WordStar is
located on drive B or drive A.
If you have a hard disk, the search path really comes into its own.
You could, for example, have the system first look for a program in the
current drive and user area, then in user area 0 of the current drive,
then in user area 15 of the current drive, then in user are 0 of drive
A, and finally in user area 15 of drive A. And you can change the
search path while you're working so that you can use one path when you
do word processing and another when you do spreadsheets.
_Multiple Command Buffer_ With ZCPR3, you can have a 200 character
buffer to hold commands. With such a buffer, you can enter a string of
commands (separated by semicolons) at the A> prompt and have ZCPR3 run
the commands off one after the other--an instant batch file. On my
system, for example, the command [SK WS1;WS B:LETTERS;TW B:LETTERS] will
run SmartKey and load the key definition file WS1.DEF, then start up
WordStar and open the file B:LETTERS, and finally, when I exit WordStar,
run a spelling check on B:LETTERS using The Word Plus.
_Named Directories_ Instead of drive and user areas like A0: and
B14:, you can give your directories names such as WORDSTAR or DBASE.
Then instead of seeing an A> or A0> prompt, you'll see WORDSTAR> (or
whatever you've chosen). And to move to the dBase II section of your
hard disk, you'll just enter [DBASE:] at the prompt. Named directories
aren't important on floppy disks, but they help tremendously on a hard
disk.
_Other ZCPR3 Buffers_ ZCPR3 also can have other buffers that allow
its utilities to get information about the operating environment
(including terminals and printers), pass messages to each other, and in
the case of special "shell" programs, reload themselves after executing
another program.
The total overhead for all these ZCPR3 buffers is 1K, and it's well
worth the space, as they add many of the features that make ZCPR3 such a
nice environment to work in.
[The Outer Limits] If you want to go full-dress, you can set aside
extra buffer space--2K, 4K, 6K, or more--for "dynamically loadable
packages," program-like segments of code that can be loaded into memory
to provide extra functions. Once loaded, these packages stay resident
until you remove them or cold boot (reset). You can also change the
packages, loading a new set of features whenever you like. These
packages come in three types:
_Flow Command Packages_ A flow command package (FCP) contains
logic commands (such as IF, IF ERROR, IF EXIST, and ELSE) that can
control the flow of command execution. For example, you can create a
command like [IF EXIST b:survival.doc; era a:survival.doc; ELSE; pip
b:=a:survival.doc;era a:survival.doc;FI]. This command will first check
to see if SURVIVAL.DOC exists on drive B. If so, the command will erase
SURVIVAL.DOC from drive A. If SURVIVAL.DOC doesn't exist on B, the
command will copy it from A to B and then erase it from A. (The FI
command signals the end of the logical branching.)
You're not likely to use flow commands directly, but they're
invaluable in batch files, menus, and other automated operations.
_Resident Command Packages_ A resident command package (RCP) can
contain enhanced versions of CCP commands, but its real value is in new
commands. These include GET (to load a program into memory without
running it) and PEEK (to examine the contents of memory). The two most
useful RCP commands are CP, a built-in file copy command, and POKE,
which lets you patch any part of memory, including a currently loaded
program. You can combine POKE with the GET and GO commands to actually
patch programs like WordStar on the fly.
_Input/Output Packages_ The input/output packages (IOP) contain
various input/output device drivers. At the moment, IOPs are mostly do-
it-yourself projects, but there are three commercial IOPs available from
Echelon, Inc., of Los Altos. These are PKEY, a simple key definition
program, RECORDER, which saves everything crossing your screen into a
disk file, and BPRINTER, a print spooler.
[ZCPR3 and the Public Domain]
Because ZCPR3 is available through bulletin boards and user groups,
there's a certain amount of confusion about its status. ZCPR3 is not in
the public domain and never has been. It is a copyrighted product
released free for non-commercial use to individuals. It is also
available for a reasonable sum (considering what you're getting and the
cost of downloading the _megabytes_ that make up the ZCPR3 system) from
Echelon, Inc., of Los Altos, the official distributor of ZCPR3. Echelon
also distributes a number of commercial products meant to work with
ZCPR3, including the three IOPs mentioned above.
[Coming Next]
I've given you only the merest glance at ZCPR3. Next issue, I'll
give you a better look at ZCPR3's real power, when I cover menus,
aliases, smart batch files, on-the-fly patching, and other wonders.
Don't miss it.
Information on ZCPR3 and accompanying programs:
Echelon, Inc. Main Echelon/ZCPR3 bulletin board:
855 N. San Antonio Road
Los Altos, CA 94022 Z-Node Central
415/948-3820 415/489-9005
------------------------------------------------------------------------------
Ted Silveira is a freelance writer and contributing editor to several
computer-oriented publications. He appreciates suggestions or feedback
and can be reached through the KAY*FOG RBBS (415)285-2687 and CompuServe
(72135,1447) or by mail to 2756 Mattison Lane, Santa Cruz, CA 95065.
------------------------- End of CPM-CC24.ART Text -------------------------