home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
DEMON
/
ZCCP0293.ARC
/
ZCCP.TXT
< prev
next >
Wrap
Text File
|
1993-02-07
|
14KB
|
308 lines
The following is used by permission and remains copyright Randy Winchester.
===========================================================================
ZCCP Documentation, Version 1.0
by Randy Winchester <randy@mit.edu>
ZCCP Features
This documentation is provided to assist the user in getting a
ZCCP system up and running. It is not an exhaustive course on Z-
System or ZCPR. The following list details which ZCPR features
are provided with ZCCP, and which ones aren't.
* ZCPR 3.3 compatibility. ZCCP can run a wide range of utilities
an applications created for ZCPR 3.3 and ZCPR 3.4.
* TCAP. A Z3T termcap file describing terminal characteristics
can be loaded into the system. Z-System programs make use of the
TCAP for output to the screen - a big improvement over the old
method of patching individual programs with terminal control
codes. TCAP files are loaded by the ZCCP LOADSEG command.
* Named directories. Up to 12 user areas can be assigned names.
Named Directory Registers (*.NDR files) are loaded by the ZCCP
LOADSEG command.
* Command Search Path. ZCCP will search for commands along a
user defined search path. Up to six path elements
(directories) can be defined.
* Environment block. Contains TCAP, Named Directory, and Path
information. Also includes a map of active disk drives and
other system information. The environment block can be viewed
with the Z-System SHOW utility.
* Flow control. Conditional processing for batch files. Relies
on Z-System IF.COM for setting the flow state. Other flow
control commands (FI, ELSE, XIF, OR, AND) are resident.
* Multiple commands can be entered on the command line. The
command line buffer will hold up to 225 characters. Commands
should be separated by semicolons.
* Extended Command Processor. If a command is not a built-in
flow command, resident command, or located on disk along the
search path, the command line is passed to an extended command
processor. A typical extended command processor is ARUNZ, a
sophisticated batch file executor with alias features. To use
a program as an extended command processor, rename it to
CMDRUN.COM and place it in the ROOT directory of your boot disk.
* Error handler. In the event that the extended command
processor can't handle a command, control is passed to an error
handler. Error handlers give information about the error
(instead of the useless CP/M "?" message) and allow the command
line to be edited and reused.
* Resident commands. The following commands are built in:
CLS - clears the screen
NOTE - text following the NOTE command is treated as a
comment.
FI - Flow control: terminate the current IF level
ELSE - Flow control: toggle the flow state
XIF - Flow control: exit all pending IF levels
OR - Flow control: OR IF tests to set flow state
AND - Flow control: AND IF tests to set flow state
* Shell stack. Up to four shell levels can be defined. Z-System
provides a choice of several different shells. Applications such
as terminal programs and word processors can also be assigned
shell status.
* ZCCP uses the LOADSEG command for direct loading of RSX files
that have not been GENCOMed. Example: LOADSEG SAVE.RSX loads
SAVE.RSX.
There are some things that Z3Plus will do that ZCCP won't do.
- ZCCP does not support a Flow Command Package (FCP). It relies
on the transient IF command. Other flow commands (FI, ELSE, XIF,
OR, AND) are resident in ZCCP.
- A Resident Command Package (RCP) is not implemented. CLS and
NOTE are resident in ZCCP. All other commands must be loaded
from disk. This isn't as much of a handicap as it might sound
if you have a fast RAM drive to store frequently used commands.
- ZCCP can not load type 4 programs (used with ZCPR 3.4). It
loads standard COM files at 100H, and type 3 programs that load
in high memory. Most type 4 programs have type 3 or COM
equivalents, so this should not be a problem.
- ZCCP can not reexecute loaded programs. This trick is usually
performed on Z-Systems with a GO command that jumps to 100H.
Since ZCCP also loads at 100H, a GO command would only restart
ZCCP.
ZCCP Files
Three files are included in ZCCP.ARK:
File name Size Description
============ ==== ==========================================
CCP .COM 3k ZCCP replacement for CCP.COM
LOADSEG .COM 3k Loader for named directories and termcaps
ZINSTAL .ZPM 1k Segment containing environment information
Getting Started - Preparing a Boot Disk
Format a system boot disk using the same proceedure that you normally
would.
Copy the files from ZCCP.ARK to user area 0 of the newly
formatted disk.
Copy CPM+.SYS (some systems may use a slightly different name for this
file) to user 0 of the boot disk. The CPM+.SYS must include the BDOS
segments from ZPM3. Use the ZPM3 MAKEDOS utility to overlay your
system file with ZPM3. (Commodore 128 users must generate a new
system using the ZPM3 BDOS segments. The MAKEDOS utility does not
work properly on a C128.)
Locate a copy of a Z-System alias utility. A good one is
SALIAS16, although others should work also. Copy it to user 0 of
the boot disk.
At this point, reboot the system with the new system disk. After the
system boots, you won't be able to do much with it. The only resident
commands are CLS and NOTE, and ZCCP can only locate commands if they
are prefixed with the drive and user number.
The next step is to create a startup alias. When ZCCP boots, it
looks for a file named STARTZPM.COM and executes commands from
it. STARTZPM.COM is created with a ZCPR alias utility. Here is
a listing of a STARTZPM.COM created with SALIAS:
=============================================================
A0>SALIAS STARTZPM
15: ; Logs the ROOT directory (A15) on the
; current drive.
LOADSEG NAMES.NDR TCAP.Z3T
; LOADSEG loads the Named Directory Register
; and TCAP.
; Directories can now be referred to by
; name, as in the next command:
SETPTH10 /C COMMANDS RAM2 WORK $$$$ $$0 ROOT
; SETPTH sets the command search path.
; The /c option first clears any existing path.
; Directories are then listed in the
; order searched. In this case, COMMANDS
; is a 64K ramdisk (drive/user F0) where
; frequently used commands are stored. RAM2 is
; an additional RAM disk. (drive/user M0).
; WORK is a standard 3.5" floppy disk
; drive, (drive/user C15) where some 700K
; of utilities and applications are
; located. $$$$ refers to the currently
; logged drive and user area. $$0 refers
; to user area 0 of the current drive.
; The ROOT directory is on drive A, user
; 15, where startup utilities and system
; files can be found.
AUTOTOG ON ; Turns on keyboard control of ZPM3 Auto
; Command Prompting. Auto Command
; Prompting is toggled by entering CTRL-Q.
COMMANDS: ; Logs the commands directory.
IF ~EXIST CP.* ; Test to see if commands are loaded.
; This line reads: "If the CP command
; does not exist . . ." and sets the flow
; state to true if the file doesn't exist.
C1:CP C1:*.* F0:
; ". . . copy all of the commands in
; drive/user C1 to the commands (F0)
; directory . . ."
FI ; ". . . end if."
ROOT: ; Log the root directory (A15).
CP C:ZF*.* M0: ; Copy ZFILER.COM and ZFILER.CMD to the
; REU2 directory (M0).
VERROR ; Install VERROR error handler.
DATE S ; Set the system time and date.
ZF ; Invoke ZFILER as a shell.
=============================================================
Of course, your STARTZPM alias will vary depending on the
hardware you need to support, your software preferences, and your
work habits. This alias is close to the upward size limit that
ZCCP can handle based on the capacity of the multiple command
buffer. At the very least, I recommend an alias that will set up
a search path and load a TCAP.
Actually, I put the cart before the horse in this example. If
you try to reboot your system with the LOADSEG command as listed,
you'll notice that you don't have a NAMES.NDR file. There isn't
one distributed with ZCCP either. Z-System utilities won't let
you edit the NDR either, since the buffer for it hasn't been
created yet. This turned out to be a nasty chicken/egg
situation, hopefully solved by the inclusion of a sample
NAMES.NDR file containing simply A0:SYSTEM and A15:ROOT.
At this point, you should have a mostly functioning ZCCP system disk.
Reboot the system with the new disk. You might want to correct any
problems with it or tweak it to perfection before moving on.
List of Z-System Utilities for ZCCP
Some of the following utilities are essential, others are nice to
have. The version numbers listed are the latest known versions at the
time that this documentation was written. Utilities can be found on
ZNode BBSs, and some of them are available on Internet anonymous ftp
sites (Simtel20 or its mirror sites).
SALIAS16 - already mentioned in the example above. SALIAS (or
one of the other ZCPR alias utilities) are essential.
SD138B - excellent DIRectory utility. SD offers many
different types of sorts, list formats, etc., displays date
stamps, and supports output to a file.
MKDIR32 - utility for manipulating directory names and Named
Directory Register (*.NDR) files.
ERASE57 - erases files.
ZFILER10 - a file management shell that can launch applications.
It is programmable in that it can execute user defined macros
from a file. Multiple files can be "tagged" and operated on by
other programs. ZFILER is an excellent program, sort of a GUI
desktop without the slow graphics.
SETPTH10 - used to set the command search path. Essential!
VERROR17 - error handler that displays the command line for
reediting. VERROR17 is the only error handler that I found that
works with ZCCP.
ZEX50 - Z-System EXecutive is a powerful batch file processor
that replaces the CP/M SUBMIT command.
LBRHLP22 - Z-System Help utility displays help files. Help
files can be crunched (*.HZP), and/or loaded from a HELP.LBR
library.
ARUNZ09 - runs an alias script from a text file. ARUNZ is
frequently used as an extended command processor. To use ARUNZ
(or any other executable utility) as an extended command
processor, rename it to CMDRUN.COM.
VLU102 - Video Library Utility views or extracts files from
libraries. Versions of VLU above 1.02 do not work reliably with
ZPM3/ZCCP.
Z33IF16 - is the IF.COM discussed in the section on flow control.
SHOW14 - displays an immense amount of information about your
Z-System. SHOW also includes a memory patching function.
ZCNFG24 - configures Z-System program options. Most Z-System
programs are distributed with a configuration (*.CFG) file that
produces a menu of configuration options when run with ZCNFG.
ZP17 - Z-System Patch utility edits files, disk sectors, or
memory, and includes a built-in RPN calculator and number base
converter.
ZMAN-NEW - This is a manual describing Z-System features in
depth. It is based on earlier versions of Z-System, and is a
little dated, but otherwise contains information that you won't
find anywhere else. Not everything in the manual applies to
operation of ZPM3/ZCCP, but with the documentation presented
here, you should be able to get a good idea of what works and
what doesn't.
A TCAP termcap file for your system - This file is essential if you
want to use any ZCPR programs that need a TCAP.
ZCCP Technical Notes
ZCCP is a replacement CCP that implements ZCPR 3.3. It loads at
100H and is stored in the bank 0 CCP buffer for fast reloading as
does the standard CCP. By contrast, Z3Plus loads into high
memory and can be overwritten by transient commands, requiring
reloading Z3Plus from disk. Because ZCCP replaces the CCP, a
ZCCP system has more TPA (transient program area) than a Z3Plus
system. A ZCCP system on the C128 has more than 57K of TPA,
almost the same amount as a standard C128 CP/M system.
This should be enough information to get started with ZPM3/ZCCP.
Set up a boot disk, experiment with some Z-System utilities, read
ZMAN-NEW, and get some applications running. You'll agree that
ZPM3/ZCCP breaths new life into CP/M.
*******************************************************************************
* Randy Winchester * randy@mit.edu * PO Box 1074, Cambridge, MA 02142 *
*******************************************************************************