The ZCPRS System
by C. Bowden G30CB
Part 2 – ZCPR3 Installation - Software Tools
Although Z3 is accompanied by a considerable amount of documentation on its
installation it is sometimes difficult to pick out the important points, and
often, there are easier or better methods of carrying out the work. This is
particularly true in respect of the choice of software tools and methods. In my
opinion, the installation information provided on patching the Cold Boot
routines is rather too specific to the particular BIOS used by the author of Z3,
and made to appear very rigid in application. Those without such experience in
machine code and operating systems might find it difficult to understand or
implement. Some tips and alternative methods of installation are suggested in
The installation of Z3 falls into several operations.
Choosing the commands required in the Z3 CCP and RCP. Choosing names for
the named directory. Deciding on the Default ‘PATH’ and startup commands.
Choosing the segment and buffer memory mapping to be utilized.
Editing the Z3 .LIB files for the generation of Z3 and each of the required
segments, and assembling the associated .ASM files.
Creating the Z3 segments from the .HEX files, and renaming them as SYS.xxx,
Generating a CP/M image file with the CCP, BDOS and BIOS at the desired
Modifying the BIOS, and reassembling, or patching the CP/M image.
Alternatives, avoiding BIOS modifications, are also possible.
Overlaying the CCP, BIOS (and BDOS?), and saving this new system,
optionally with the Z3 segments and Buffers included. (See Later.)
Sysgening or Syswinning this new system, and ‘Booting’ it.
Installing the 70 odd Z3 utilities.
At this stage, Z3 should be fully operational. Further changes can be carried
out after experience of the system has been gained, and since the source codes
of all of the utilities is provided, these may be customized as well, if
desired, although in general, most people will be happy with them as they are.
Some of the above operations will be described in more detail under ‘Methods’,
but it is useful to consider the many options available to the installer in
carrying them out.
An essential pert of the installation is to assemble the .ASM source files
needed to create ZCPR3 and the system segments. These files are written in 8080
mnemonics, and use several macros to define Z80 opcodes.
This means that the DRI Macro Assembler MAC.COM must be utilized to assemble
these files as they stand. If one does not have MAC, then one could resort to
trying one of several other methods. If M80 is available, it might assemble
these files, with minor alterations and removal of the macros. Alternatively
the macros could be removed, and the code translated into Z80. I did this with
Z2, as an experiment, using the public domain (PD) program XLATE3.
After the first try at assembly with M80 there were about a dozen errors that
were easily resolved by editing the source code, and I soon obtained a file that
produced code compatible with that from the 8080 source via MAC. As another
alternative, the macros in the relevant .ASM file could possibly substituted
with some alternative coding, that would allow assembly with ASM.COM. As a last