home *** CD-ROM | disk | FTP | other *** search
- R60
- Z-System Corner
-
- The Trenton Computer Festival
-
- Jay Sage
-
-
- Announcements
-
- The announcements for this time are about some excitingì
- price reductions. A small band of programmers has longì
- enjoyed the help of the wonderful DSD (Dynamic Screenì
- Debugger) in getting the bugs out of our code. The $130ì
- price tag, however, was a deterrent to many. I recentlyì
- located and spoke with the author, John Otken, and suggestedì
- that there would be a great advantage in reducing the price.ì
- More people would get to take advantage of his superbì
- program, and he would actually make more money because ofì
- the increased sales. He agreed to my suggested price of $50!
-
- I hope that many more of you will take advantage of thisì
- opportunity. DSD is not only a powerful aid in debuggingì
- problems with code; it is also a wonderful way to learnì
- about how programs work. The full-screen display allows oneì
- to see everything that is happening during programì
- execution. One sees a section of disassembled source code,ì
- the contents of the CPU registers, the contents of theì
- stack, and two blocks of memory. In all cases, symbolic asì
- well as numeric data can be seen, and all user entries canì
- make use of defined symbols.
-
- There have been two price reductions of interest toì
- owners of SB180 computers. XBIOS has been reduced from $75ì
- to $50, as a reflection of the fact that it is no longerì
- actively supported. We have also acquired the remainingì
- stock of the excellent Electronic Technical Servicesì
- ETSIO180+ board. Its low power CMOS design includes aì
- battery-backed real-time clock, two high speed (115.2 kbps)ì
- serial ports, 24 bits of parallel I/O, and an SCSI interfaceì
- for hard disk drives. It is fully supported by XBIOS (whichì
- is required to run the board). I use the ETSIO180+ on my ownì
- computer and have been very satisfied with it. The originalì
- price was $280; we will sell the remaining stock (currentlyì
- about six boards) for just $100 each (or $145 includingì
- XBIOS).
-
-
- The Trenton Fiascos
-
- The main contents of my column for this month wereì
- originally intended for publication in the printedì
- proceedings for this year's Trenton Computer Festival.ì
- Although _our_ session there was again a great successì
- (because of the speakers), the organization of TCF hasì
- deteriorated alarmingly over the past few years.
-
- When I originally sent in my speaker form for TCF, Iì
- checked the box indicating that I would contribute a writtenì
- piece. Shortly before the deadline, when they had notì
- received my submission, I was called by Sol Libes, who runsì
- the conference, asking if I was going to write something. Iì
- told him that I was still interested if there was time. Heì
- said that it could be accepted if I got it in by the end ofì
- the next weekend. We agreed that I would upload it to theì
- board run by the Amateur Computer Group of New Jersey. Onceì
- it was there, I was to call Sol.
-
- I worked extremely hard for a couple of days, staying upì
- until 3 am to get it finished and uploaded to the ACGNJì
- board. As instructed, I placed a voice call to Sol. He wasì
- not there, so I left a message on his answering machine.ì
- When he did not call back, I called several more times,ì
- leaving messages each time. Finally he returned my call, andì
- we agreed that he would call me again if there was anyì
- problem with the file I had left for him. I never heardì
- anything further.
-
- You can imagine my dismay when I learned during theì
- festival that my article had not been included. I still haveì
- no idea why, as no one has had the courtesy to contact me.ì
- Was its omission deliberate? I'm inclined to think it wasì
- administrative incompetence, since most other aspects of theì
- conference organization were also handled poorly.
-
- On my speaker registration form I had checked boxesì
- indicating the equipment that I wanted them to supply in ourì
- meeting room. My speaker confirmation form indicated thatì
- the information had been recorded, but I telephoned theì
- program coordinator the day before I drove down just to beì
- absolutely sure. Do you think the equipment was there? No.ì
- And do you think that anyone at TCF knew what to do aboutì
- it? No. We had to struggle through a couple of talks before,ì
- almost by accident, we stumbled upon the people who had theì
- equipment (no one had told them we needed it).
-
- I had hoped that the following material would be read byì
- an audience that might include many people with CP/Mì
- computers who did not know that magazines like TCJ andì
- advances like Z-System existed. So that my effort on thisì
- composition was not totally wasted, I am presenting it here.
-
-
- CP/M Is Not Dead!
-
- I'm sure you all know the famous Mark Twain anecdote.ì
- Somehow the newspapers picked up a story that he had died. ì
- At his next public appearance he delighted in relating thatì
- his reported death was, as he put it, "greatly exaggerated." ì
- The rumored death of CP/M, the granddaddy of microcomputerì
- operating systems, is similarly exaggerated!
-
- Unfortunately, the erroneous impression about CP/M isì
- much harder to correct. Were it simply the result of falseì
- reports in the media, one could bring the truth to theì
- media's attention and have them publish a correction.ì
- Regrettably, the belief that CP/M is dead arises via a ì
- mechanism that cannot be used to correct the view.
-
- I will try here to give you some impression of theì
- vitality that continues to flourish in the CP/M world,ì
- particularly in connection with the development of the Z¡
- System, a highly advanced successor operating system toì
- CP/M. While maintaining total compatibility with CP/M andì
- its software base, the Z-System brings concepts and featuresì
- that are as advanced as can be found on any computerì
- anywhere. Nothing can give a 4-MHz Z80 with 64 kilobytes ofì
- memory the raw computing horsepower of a 33-MHz 80386ì
- microprocessor with several megabytes of memory, but the Z-ì
- System can give an old CP/M computer a surprisingly powerfulì
- user interface and can turn it into a fun, educational, andì
- productive machine.
-
- At the end of this article, I have listed three magazinesì
- with strong CP/M support. By subscribing to them you will beì
- able to learn about sources for public-domain programs andì
- the names and addresses of vendors who actively supportì
- 8-bit software and hardware products. You are also welcomeì
- to call me.
-
-
- Why Do People Think CP/M Is Dead?
- =================================
-
- The community did not learn of the death of CP/M, as withì
- Mark Twain, by reading a report; they inferred it fromì
- personal experience. The mainline computer magazines, suchì
- as Byte, gradually carried less and less news about CP/Mì
- until eventually they carried none. Why did they stop? ì
- Basically because the volume of interest shifted naturallyì
- enough to MS-DOS and the newer hardware. There was no longerì
- much activity in CP/M hardware development or sales, andì
- almost all mainline software houses stopped developing newì
- CP/M programs. Soon most of them stopped even offering theirì
- old CP/M programs for sale. Some, like Borland, have evenì
- gone so far as to deny that CP/M products they once offeredì
- were _ever_ offered by their company! (I swear I remember aì
- Borland Turbo Modula 2, but many people tell me that whenì
- they contact Borland they are _assured_ that Borland _never_ì
- offered that product.)
-
- This situation notwithstanding, a very high level of CP/Mì
- activity did continue, but not in the spotlight. There wereì
- smaller, specialty magazines that continued to focus onì
- hobbyist computing, and there were also smaller softwareì
- vendors who continued to support CP/M with great ì
- enthusiasm. For veteran CP/M users there was some chance ofì
- their learning about these alternate sources of supportì
- before the mainline sources shut the door on CP/M, but evenì
- many of the veterans lost touch.
-
- For new owners of CP/M computers -- and though it mightì
- surprise you, there are many -- the situation is worse. ì
- Typically, they have inherited a retired CP/M computer fromì
- a family member, friend, user group, or even a stranger. ì
- When they try to contact the sources for CP/M informationì
- and support listed in their old documentation, they findì
- them to be either out of business totally or at least out ofì
- the CP/M business. And these days the sales representativesì
- at the software houses have often never even heard of CP/M! ì
- No wonder these new CP/M computer owners conclude that CP/Mì
- is dead.
-
-
- The Real Story
- ==============
-
- It is natural that the major focus of interest inì
- computers will continually shift toward the latest, mostì
- advanced, and most widely sold hardware. Nevertheless, aì
- tremendous level of activity still exists in the CP/M world,ì
- most of it centered on the further development of the Z-ì
- System.
-
- Why would someone still be interested in CP/M? Theì
- special spirit that persists in the CP/M world is oneì
- important factor. As in the Unix world, there is a veryì
- strong sense of community and sharing. This includes a wellì
- established tradition of public-domain software, that is,ì
- programs written specifically for the benefit of the generalì
- community and shared totally with that community. Byì
- contrast, the MS-DOS world has what they misleadingly callì
- "shareware." These programs are distributed for free, butì
- users are told that they must send money to the author ifì
- they continue to use them.
-
- A second attraction in the CP/M world is the intellectualì
- challenges and rewards it offers. The relative simplicity ofì
- the Z80 microprocessor and the CP/M operating system allowì
- easy entry to new programmers. Although extremely rare inì
- the DOS world, it is nearly universal in the CP/M world thatì
- programs are published with source code. This has severalì
- far-reaching consequences. In terms of quality, it meansì
- that the development of a program is not limited to theì
- conceptual and coding ability of a single author. Others inì
- the community can take that source code, make improvementsì
- to the program, and return the results to the community.ì
- Many of the most important CP/M programs have a very longì
- history of development involving many authors.
-
- Reading source code is also an indispensable vehicle forì
- learning about how a computer system works. New programmersì
- can quickly learn coding techniques and apply them to newì
- applications. Amazingly, source code is available not onlyì
- for the numerous utility programs but also for at least ì
- some versions of all parts of the operating system as well.
-
- The seminal event in the survival of CP/M took placeì
- almost exactly a decade ago. Richard Conn, eager to make hisì
- own contribution to a community that he felt had helped himì
- so much, spearheaded a group effort to write replacementì
- code for the Console Command Processor (CCP) portion of theì
- CP/M operating system. The result, named ZCPR for Z80ì
- Command Processor Replacement, was released to the public inì
- February, 1982.
-
- Not much later, I discovered this much improved commandì
- processor and installed it on my CP/M computer. Then I didì
- something even more significant: I looked at the sourceì
- code. To my amazement, I discovered that the operatingì
- system, that "holy of holies," is nothing more than a ì
- computer program, rather like any other, and that I, albeitì
- untrained in systems programming, could not only understandì
- it but experiment with changing it! Discoveries like thisì
- from reading source code continue to inspire new CP/Mì
- hobbyist programmers, and computer bulletin boards and userì
- group meetings continue to be scenes of intense discussion.
-
-
- The Features of Z-System
- ========================
-
- The ZCPR command processor has gone through severalì
- stages of evolution, and the same approach has now beenì
- applied as well to the Basic Disk Operating System (BDOS)ì
- component of the CP/M operating system. The combined resultì
- is now referred to as the Z-System, and it represents a ì
- remarkable point in the development of microcomputerì
- operating systems. It has many, many features inspired byì
- minicomputer and mainframe operating systems and some notì
- available even on those powerful machines. When I use my DOSì
- 386 machine at work, there are many Z-System features that Iì
- sorely miss, and I am constantly amazed at their absenceì
- from an operating system whose code is bigger than theì
- entire memory address space on a CP/M machine!
-
- For the most part, the original Digital Research CP/Mì
- accomplished in admirable fashion the essential functions itì
- was required to perform: to run a few resident commands andì
- to load external commands from disk. However, it devotedì
- little attention to the user interface and did not provideì
- many services to make the operator's life easy. To be fair,ì
- of course, CP/M was born in the days when 16K of memory costì
- about $500 (in 1970s dollars, no less) and occupied anì
- entire S-100 card, roughly the size of the motherboard of aì
- modern DOS machine.
-
- The central goal of the Z-System since the beginning hasì
- been to make it easier and more convenient to operate theì
- computer. My own ideal has been to have the computer performì
- all tasks that it can handle on its own and to leave to theì
- user only those tasks that a computer cannot figure out byì
- itself. In other words, the computer should take care of allì
- the routine matters; the human operator should handle onlyì
- the thinking. I will now run through a short summary of Z¡
- System features and try to indicate how they make theì
- operator's life easier.
-
- User Area Access
-
- CP/M introduced the concept of disk "user" areas, whichì
- allowed the operating system to group files into separateì
- logical directories. Unfortunately, CP/M provided noì
- practical way to access files across user areas, which madeì
- them almost useless.
-
- Z-System makes it very easy and convenient to organizeì
- your files. Where CP/M allowed only a drive prefix in fileì
- specifications (e.g., B:TEXT.DOC), Z-System allows driveì
- and/or user number prefixes (e.g., A3:WORK.WS) so that filesì
- in other user areas as well as other drives can beì
- referenced directly. In addition, Z-System allows meaningfulì
- names (similar to DOS subdirectory names) to be assigned toì
- drive/user areas (so we might have LETTERS:JOE.WS). Thisì
- provides an interface that is far more suitable to the wayì
- people think and remember.
-
- Terminal Independence and the Environment
-
- While some would argue that the DOS hardware and softwareì
- standards established by IBM's market dominance haveì
- resulted in an enforced mediocrity, there is no doubt thatì
- having a single environment in which to operate makes lifeì
- much easier for applications programmers. Programs for DOSì
- generally work right out of the box on any IBM-compatibleì
- computer. Configuration is required only for fine-tuning.
-
- CP/M, on the other hand, was designed to allow programsì
- to run on an extremely wide variety of hardware. In thoseì
- days, "personal" computer took on a different meaning --ì
- each person designed and built his own hardware. CP/M couldì
- be made to work with all of them, but elaborate ì
- configuration procedures were generally required, especiallyì
- to match programs to the particular terminal used. To thisì
- day, we still have to deal with this hardware diversity.
-
- What CP/M could have provided, but didn't, was a meansì
- for conveying to application programs information about theì
- operating environment. Z- System has several modules thatì
- afford such communication. An area called the environmentì
- descriptor (ENV) contains information about the system ì
- configuration. Another system area called the message bufferì
- (MSG) stores information that one program can leave for useì
- by another program that runs later.
-
- Part of the ENV is a section called the TCAP or Terminal¡
- CAPability descriptor (if you know Unix, you will recognizeì
- this). When the appropriate TCAP has been loaded, a Z-Systemì
- program will automatically use the right video control codesì
- for that terminal.
-
- Command Processing Enhancements
-
- Under CP/M, you had to specify where the COM file to beì
- run was located (otherwise the current drive was assumed). ì
- This is a perfect example of something that a computer canì
- easily be smart enough to do for you, and Z-System does. Asì
- with modern versions of DOS (which took many years to catchì
- on to this Z-System feature), you specify a list ofì
- directory areas that the operating system will scan for aì
- requested COM file. Unlike DOS, Z-System does not insistì
- that the current directory be first in the path; it canì
- appear wherever you want it to, or not at all.
-
- With Z-System one is also no longer limited to issuingì
- commands one at a time (DOS has been even slower to catch onì
- to this). A single line of command input can contain a wholeì
- sequence of commands. As a result, you do not have toì
- interrupt your thinking to wait for one command to finish ì
- before you can specify the second and subsequent steps in aì
- process. You can work out a strategy for what you want toì
- accomplish and issue all the commands at once, before youì
- forget or get confused.
-
- Many oft-repeated computational tasks involve sequencesì
- of commands (e.g., editing, spell-checking, printing). Inì
- such cases, the Z-System alias facility (similar in someì
- ways to CP/M's submit or DOS's batch operations but far moreì
- flexible -- more akin to Unix scripts) can be used to defineì
- a new command name, which, when invoked, performs the entire ì
- sequence. This saves the user a lot of typing but moreì
- importantly eliminates the need to remember exactly what theì
- sequence is. Basically, you solve the problem once and putì
- the solution into an alias script. From then on, theì
- computer is smart enough to take care of the complex ì
- details for you.
-
- Conditional Command Execution
-
- There is only so much one can accomplish on a computerì
- (or in life) without making decisions. Have you ever seen aì
- programming language with no ability to perform tests andì
- act in different ways depending on the results? Flow controlì
- (IF/ELSE/ENDIF) is unique to the Z-System command ì
- processor. Other operating systems that offer flow controlì
- at all limit it to operation inside a batch or scriptì
- language. A special set of Z-System commands can test a wideì
- range of conditions, and the tests can be nested to a depthì
- of eight levels.
-
- Command Processor Shells
-
- If you do not want to deal with the operating system atì
- the command level or if you want to have a command processorì
- with extended features, the Z-System shell facility allowsì
- you to install substitute user interfaces of your own choiceì
- at will. They can even be nested within each other.
-
- Shells come in two common varieties: menu shells andì
- history shells. The menu interfaces allow the user to pickì
- tasks with single keystrokes and have the shell programì
- generate the complex sequences of commands required toì
- perform those tasks. The menu system shields the user from ì
- complexity, saves typing, and greatly reduces the chance ofì
- error.
-
- History shells are enhanced command processors thatì
- remember your commands and allow you to recall and editì
- previous command lines. I wish the Apollo Domainì
- minicomputer system I use at work (not to mention my DOS ì
- computer) had a history shell as nice as Z-System's LSH. Itì
- works like a wordprocessor on the command history, allowingì
- searching and extensive editing.
-
- What If You Make a Mistake
-
- This is one of the other areas in which most operatingì
- systems behave in an abominably primitive manner. When youì
- issue a command that cannot be performed, they just issue anì
- error message and then dump you back to square one. Oftenì
- you are not even told what sort of error occurred (considerì
- DOS's wonderfully helpful "bad command" message).
-
- The Z-System behaves in a civilized manner under theseì
- circumstances. When an error occurs, the command processorì
- turns the bad command line over to a user-specified errorì
- handler. The most sophisticated error handlers allow theì
- operator to edit the command and thus recover easily fromì
- typing mistakes.
-
- The system environment even contains an error type, whichì
- the error handler can use to give you more specificì
- information about what went wrong. It may be the familiarì
- error of a COM file that could not be found, but there areì
- many other possible causes for the difficulty. A file that ì
- you specified as an argument might not have been foundì
- (e.g., "TYPE FILENAM" when you meant "TYPE FILENAME"), orì
- you may have specified an ambiguous file name to a programì
- that cannot accept one (e.g., "TYPE *.DOC").
-
- System Security
-
- Like minicomputer and mainframe operating systems, the Z¡
- System is a secure operating system. This means that it hasì
- mechanisms for limiting what any particular user can do orì
- get access to. Commands that perform dangerous operationsì
- (such as erasing, copying, or renaming files) can be ì
- disabled when ordinary users are operating the system butì
- enabled when a privileged user is at work. Areas of yourì
- disk can be restricted from access for storage ofì
- confidential or other sensitive information. These securityì
- features come in very handy in the implementation of aì
- remote access system or bulletin board.
-
- Summary
-
- To sum it up, the goal of the Z-System is to provide anì
- operating environment that can be tailored extensively toì
- user preferences and that can be made to handle on its ownì
- and automatically as many computational details as it can,ì
- leaving the user free to concentrate solely on those ì
- aspects of computer operation that require humanì
- intelligence.
-
-
- Z-System, The State of the CP/M Art
- ===================================
-
- Now that you've seen the remarkable features of the Z¡
- System, you might be curious about how it can be installedì
- on your CP/M computer. In this regard, the most spectacularì
- step in the evolution of Z-System took place about threeì
- years ago. At that time some major programming breakthroughs ì
- made it possible to configure and install the Z-System as ifì
- it were an application program running on the CP/M computer. ì
- Before that, you really had to be a rather skilled assemblyì
- language programmer to get Z-System running.
-
- The new Z-System comes in two flavors: NZCOM forì
- computers that use version 2.2 of CP/M and Z3PLUS forì
- computers running CP/M-Plus. Joe Wright, Bridger Mitchell,ì
- and I were the main developers.
-
- NZCOM and Z3PLUS embody, I believe, some of the mostì
- exciting and remarkable developments in the history ofì
- microcomputer operating systems. With all the microcomputersì
- I have had experience with, the operating system has been aì
- static entity. You boot up the computer, and there you haveì
- the operating system, fixed and immutable. Few computersì
- offer more than one operating system. With those that do,ì
- changing the operating system usually requires rebooting andì
- starting over. And never do you, the user, get to define theì
- characteristics of the operating system. You just take whatì
- the manufacturer decides to give you.
-
- With NZCOM and Z3PLUS the operating system becomes aì
- flexible tool just like an application program. You canì
- change operating system configurations at any time, evenì
- right in the middle of a multiple command line sequence. Youì
- can do it manually, or alias scripts can do it ì
- automatically in response to conditions in the system!
-
- You can change the whole operating system or just a partì
- of it. Would you like a different command processor? Noì
- problem. With a simple command, NZCOM or Z3PLUS will loadì
- another one. No assembly or configuration is required. Ifì
- you want to experiment with a new disk operating systemì
- (BDOS), NZCOM can load a new one in a jiffy. This makes forì
- a whole new world of flexibility and adaptability, learningì
- and experimentation.
-
- Do you need more memory to run a big application program? ì
- Fine. While that application is running, just load a smallì
- operating system without some of the bells and whistles. ì
- Then, after that task is finished, go back to the big systemì
- with named directories, lots of resident commands, orì
- special input/output facilities (such as keyboard redefinersì
- or redirection of screen or printer output to disk). Untilì
- you try NZCOM or Z3PLUS, it is hard to imagine how easy itì
- is to do these things.
-
-
- Sources of Support
- ==================
-
- Here are three magazines that provide significant CP/Mì
- support. By reading them you will learn about sources forì
- public-domain software (both by modem and on disk) and aboutì
- vendors who sell CP/M commercial software (a vendor listing,ì
- CPMSRC.LST, posted on bulletin boards runs to 15 printedì
- pages).
-
- The major, professional publication with strong coverageì
- of Z-System and CP/M is "The Computer Journal." Its sixì
- issues per year have a broad hobbyist focus, with articlesì
- on several operating systems, programming languages,ì
- embedded controllers, hardware projects, and many otherì
- topics.
-
- The Computer Journal ($18/yr)
- P.O. Box 12
- S. Plainfield, NJ 07080-0012
- voice: 908-755-6186
- modem (Z-Node #32): 908-754-9067
- on GEnie as $TCJ
-
- Two other, more informal magazines of interest to the 8-bitì
- community are:
-
- The Z-Letter ($15/yr)
- Lambda Software Publishing
- 720 S. Second Street
- San Jose, CA 95112
- voice: 408-293-5176
-
- Eight Bits and Change ($15/yr)
- Small Computer Support
- 24 East Cedar Street
- Newington, CT 06111
- voice: 203-666-3139
- modem (Z-Node #12): 203-665-1100.
-