The diagram of Fig 1. shows the segments and buffers that would be present in a
full implementation of Z2 or Z3, although the addresses are flexible, and the
size of the redirected I/O segment is variable or nil.
USER areas and moving about.
The only way in which the software can be effectively controlled on a Winchester
drive is to use the USER facility of CP/M. To a non-technical user of the
system, it appears that the disk is divided into a number of ‘watertight’
compartments, and these know nothing about other user areas. This is
rather how CP/M treats USER areas. In fact all that happens is that the first
byte in the directory entry for any file is marked with a number that may be
0E5H, which means that the file is erased, or between 0 and 0Fh (01FH – Z system
supports users to 31).
This number indicates the USER area in which the file would be displayed for
example by a DIR command, or be ‘seen’ by PIP command.
CP/M utilities are unable (in general) to access files not in their USER area.
The Z system and its utilities have much greater ability however, and can reach
across USER areas, EVEN on different drives. Thus commands like:
A0>DIR C6: or C4>ERA A2:MYFILE.TXT
are perfectly legal. The CP/M method of accessing an USER area is also
extremely inflexible. To move from A4: to B3: needs one to type B: and then
USER 3. The Z method permits one to go as follows:
C6:>D2: –––> D2>
which is much easier. The Named Directory facility of Z3 adds even more
flexibility, as will be described.
CCP and RCP Commands
The size limitation of 2k restricts the Z2 CCP to virtually the same commands as
are provided with ZCPR/CCPZ, and prevents the CCP from being able to deal with
Named directories itself, but does allow the movement described above. The USER
command has been removed from Z2 and Z3 since it is redundant.
The size problem is overcome in Z3 by providing an additional 2k Command package
in the RCP segment. This brings several advantages. The number and power of
commands is extended. The RCP segment may be changed at any time to bring in
other overlays with different features. The Z3 CCP can optionally be assembled
to deal with Named directories, Password protection of directories, minimize the
search ‘path’, give preference to DU: forms or to DIR: forms (i.e. to Drive/User
or Named Forms) and so on. This increases the amount of code to the extent that
there is little room for the standard and extra commands. It becomes a
balancing act, trying various TRUE or FALSE combinations until the minimum
amount of memory it wasted in the CCP area, and then providing the remaining
commands in the RCP.
Options available in the CCP are DIR, LIST, TYPE, GO, ERA, SAVE, REN, GET, JUMP,
NOTE. In my system the Z3 CCP provides ERA, SAVE, GO, and NOTE. GO will run a
program in the TPA at 100H. NOTE allows a comment line to be displayed on the
A0>NOTE This is a comment
A0>NOTE A semicolon will have the same effect
The RCP segment .LIB source code, like that for the CCP, will allow selection of
more commands than will fit into 2k, so a compromise is necessary. In practice
this is not much of a problem. The commands available for selection are CP,
DIR, ERA, LIST, TYPE, PEEK, POKE, PROT, REG, REN, NOTE, ECHO, WHL and WHLQ.