CFOG's PIP, June 1988, Volume 7 No. 4, Whole No. 66, page 62
NZ-COM Arrives
[What follows is essentially a press release. We're still awaiting details, but it appears that CFOG will be distributing NZ-COM, Z3-PLUS, and other new versions of Z-System. Alpha Systems, the distributor of the new Z-System versions, has decided to attempt to work through user groups. Ben Cohen will be the CFOG contact with Alpha Systems. If this all works out we hope to have full details and a demo at an upcoming meeting. We're hoping to have confirmation shortly that the new Z-Systems will run with WestWind RAM drives and Trantor hard drives. -- bhc]
Joe Wright, Bridger Mitchell, and Jay Sage have just completed NZ-COM and Z3PLUS, new versions of the Z-System that are automatic, universal, and dynamic. NZ-COM runs on CP/M-2.2 computers; Z3PLUS runs on CP/M-Plus computers. NZ-COM does run on Apple CP/M cards.
NZ-COM and Z3PLUS are automatic: no installation is required. In particular, no changes have to be made in the BIOS. There is no need for source code, editing, assembling, MOVCPM, SYSGEN, or DDT. The Z-System can be removed at any time by issuing a command that reinstates the user's underlying CP/M system. Joe Wright invented the basic technique with his Z3-DOT-COM and Z-COM products several years ago. Bridger Mitchell has (hooray!) extended the technique to CP/M-Plus systems, and many very substantial enhancements have been added.
The new systems are universal: system modules can be provided in a file format that can be used on any system with memory allocated for that module. Bridger Mitchell invented a new relocatable file format which we call ZRL, for Z-system ReLocatable. It is based on the seldom-used named common facility supported in advanced assemblers. For example, the new command processor, ZCPR34, can be supplied as a small, binary file (e.g., ZCPR34.Z.RL) that can be loaded into any CP/M 2.2-based Z-System, no matter how its memory is configured (Z3PLUS has an equivalent command processor). There is no longer a need to assemble from source code with a Z3BASE.LIB file configured to describe the user's particular system. The same is true for RCPs [Resident Command Packages, containing commands always present, similar to CP/M's DIR, ERA, and REN], FCPs [Flow Control Packages, containing IF, OR, ELSE, etc., commands], DOSs, and other code modules.
Jay Sage's contribution to the effort (besides the version 3.4 command processor) was to make the operating systems dynamic. It is no longer necessary to make a static, once-and-for-all trade-off between Z-System features and program memory space. The operating system is now more like an application program -- it can be changed at any time, even right in the middle of a multiple command line. It can be changed manually or automatically under the control of aliases that use the Z-System flow control facility.
Now you can allocate memory (1.5K typically) for an IOP (input/output package) only when you are actually using an IOP. When a memory-hungry application program is to be run, you can drop the two largest buffers, the RCP and IOP, which usually take 3.5K of memory. If you need still more room, you can drop the NDR [Named Directories register] and FCP. You can make a minimum Z-System that takes only 1.0K and still provides its most important features. If your application requires absolutely every available byte of memory, you can drop back to CP/M. Using SUBMIT, even this process can be automated! The Z-System can disappear, an application can run under standard CP/M, and the Z-System can be reestablished, all automatically as a result of a single user command! You never even know that Z-System was gone.
With NZ-COM's system definition utility MKZCM (MaKe Z-Com) you can define the sizes of the following modules: CCP, DOS, BIOS, IOP, RCP, FCP, NDR, shell stack, and an all-purpose user buffer. The last can be used for "aboveBIOS" items like DateStamper, BYE, special drivers, and so on. In the case of the shell stack, you can define both the size and number of stack entries supported. And, by the way, that was not a misprint above -- you can define systems with nonstandard CCP, DOS, and BIOS sizes. [This seems to indicate that the WestWind/Trantor problem has been overcome, though it does not name it explicitly, and so far I haven't gotten a copy to try it with. -- bhc] This allows for some rather interesting experiments and configurations. Z3PLUS allows similar capabilities.
You can now have several versions of command processor or DOS and load a new one with a simple command. NZ-COM is supplied with four significant variants of the command processor; Z3PLUS includes two versions, one of which puts the time in the prompt. Similarly, with NZ-COM you can switch between ZRDOS (supplied with NZ-COM) and other versions of the DOS now (or soon) available, such as P2DOS, Z80D0S, ZSDOS, and ZDDOS. (Z3PLUS uses the CP/M-Plus DOS.)
Each product includes an extensive manual (more than 70 pages in 'IBM' format binder, written by Jay Sage and Bridger Mitchell) covering the particular product and Z-System in general. There are many examples and hints. Each product is priced at $69.95 for the standard version including the necessary operating system files and a minimum set of Z utilities. [If and when CFOG becomes an official distributor for Z-System, CFOG II and CFOG's library will become repositories of larger amounts of Z-System utilities. -- bhc] NZ-COM is offered in a version with some sources (including the source to ZCPR34) at $99.95. Eventually there will probably be some higher priced versions that include a more extensive set of Z utilities on diskette. For those who have access to Z-Nodes, Royal Oak, or Simtel20, there will be no need to spend the extra money on these versions. For those who for some unusual reason cannot use NZ-COM (or for the stubborn who insist on an inferior, manually installed system), the source to ZCPR34 is available separately at $49. 95.
For those who have not heard, Joe Wright's Alpha Systems has taken over the marketing of Z-System from Echelon, which is essentially out of business. We don't have full details on everything, but if you want to receive full information on the new products when we receive it, send a return addressed and stamped envelope to CFOG at Box 1674, Chicago, IL 60690.