Scor­pio News


April–June 1987 – Volume 1. Issue 2.

Page 22 of 51

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:

A4>B0:     –––>     B0>6:     –––>     B6>C:     –––>     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 SCREEN.

A0>NOTE This is a comment
A0>NOTE A semicolon will have the same effect
A0>;Like this

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.

Page 22 of 51