Morrow Owner's Review, Volume 4, #1, page 12 (Feb/Mar '87)
Forever Z
by Rick Charnes
I'd like to dedicate this first column to the many Morrow owners who have ordered the special bootable Z-System disk. The response has been very gratifying, and I hope to offer tips, hints and general "Z" miscellany to all intrepid explorers embarking on cosmic adventures through the Z-System skies. I can't guarantee that you'll be the same person when you return, but perhaps I can help with the navigation a bit.
I will cover two topics for this first column, as they will likely be the most useful and enjoyable programs you have: shells and aliases.
SHELLS
There are three shell utilities on the Morrow disk - VFILER, VNMNU and MENU. All Z users use one or more of these daily and find them indispensable and quite extraordinary.
What is a shell? In a way, you could say it's a secondary operating system. Once you run a program that's a shell, you can then run other programs from it. These other progams, rather than returning to your operating system prompt upon exit, return to your shell utility.
Shells exhibit one of the most intriguing aspects of Z-System ... the way its disparate parts are related to each other in a thousand subtle, and generally user-unnoticed, ways. Z is a unique operating system because it has such a large number of utilities that feature this dynamic and two-way relationship.
You'll often hear the word "utility" bandied about in "Z" literature, and here it has a specific meaning. You see, these programs are sort of lonely by themselves. In order for them to run at all, they first have to be given the "imprint" of the operating system. Dozens of tiny little messages are constantly being sent back and forth between the utilities and the operating system. General information is shared about the "system environment", as well as information specific to each program/operating system interaction. It's somewhat like school children passing notes to each other in class while no one else sees it going on ... that's the kind of information that makes the world go round, and Z-System run.
The most useful shell for everyday use and the one which you will use from the first day you boot up, is VFILER. If you can imagine NSWEEP, itself an extraordinary program, taken to the 100th power, you will begin to have some idea of what it is. Perhaps the thing you might want to do with that magical moment when you've got Z-System installed for the very first time is to just type V-F-I-L-E-R, carriage retum, and stand back.
The first thing you'll notice is that your files are displayed in five columns, unlike NSWEEP which gives you one. This way you can generally see the contents of an entire disk in one screen. You'll notice many of the familiar regular and "mass" operations of NSWEEP - copy, rename, delete, etc., but you have much more. You have the ability to "move" files from one disk/directory to another. Files are copied to the new area, then the old ones deleted. The features, however, that makes VFILER and the other shells shine are their menu functions, as I mentioned in my article last issue. Any kind of operation can be done from these menus, and in fact for a challenge I sometimes see if I can run my entire computer session from VFILER. It can be done, and the process is most educational. You can write these menus yourself or start off with the ready-made ones available from Z-Nodes in the ffle DEMO.LBR.
I have to warn you, though ... if you start enjoying yourself, you'll find yourself spending half your time "putting the finishing touches on" your menus instead of doing what you set out to do.
With VFILER you can write 36 different command lines that can be run either by pressing any of the 10 number keys alone, or by first pressing your escape key and then any of the letters. Remember the concept of a "pointer file." This means that your command line will act upon whichever file VFILER's friendly "pointer" (see it there?) is pointing to. You reference this file in your command line with "%f" for the entire file, "%n" for the filename and "%t" for the fiIe type.
Here's a sample command line I use for opening up and inspecting the contents of an LBR file. Remember, you're generally allowed 200 characters in your command line, which is about two and one half screen-widths. Think of what you can do with that! For the purposes of this article, of course, I can only show it on two separate lines, but when you type it in you enter it all on a single line. There's a Z-System tradition to display long lines in print form by separating them with ">>" and that's what I've done here. I invoke this "macro" (command line) with "N", since it uses NULU. Individual commands are always separated with a semicolon. (Fig. 1)
N if %t=lbr;echo ^[G4 OPENING UP %F AS A LIBRARY ... ^[GO >> Figure 1 |
To analyze: The initial "N" indicates the character that will invoke it from VFILER. You actually will be typing <ESC>, which is the lead-in character, then "N". Then VFILER checks the file type with the "IF" command to make sure it is indeed a library. If so, it goes to the next command, which "echoes" the sequence "<ESC>G4" to my terminal.
If you read my article last issue you know how much I like reverse video, which this enables. The text message tells me that it's opening the file up, appropriate substituting the library name for "%F" in the echoed message. Then "<ESC>GO" which appears here and on your screen as "^[GO" turns off the reverse video.
Because it looks so nice in reverse I like this attractive message to remain on the screen for a few seconds, so the "SAK /P4" tells the program SAK to pause operations for four seconds. Then NULU awakens and opens up the file, substituting its name for "%N". If the file is not a library (sometimes you'll hit "N" by mistake, I assure you!), the "ELSE" command takes over and we're echoed a message to that effect. The "FI" command is the equivalent of "ENDIF" and ends the "IF" interaction.
VFILER is an extraordinary program and I'm quite sure you'll find it to be one of the most treasured friends in your arsenal of Z tools.
The other two shell utilities are MENU and VMENU. The difference among this trio is interesting. VFILER shows you a screen's worth of files, or by hitting the "#" key the menu, but not both at the same time. MENU is at the other extreme. You never see your files, but you have much more room for descriptive material of your menu. Such beautiful displays are possible! In my word processing menu for MENUCOM I am able to edit the pointer file with NewWord, edit it with Wordstar, correct it with Correct-It, print it with my print spooler, soften it with HRDSFT, filter it with FILTW.COM or count the number of words in it - each with a single keystroke.
VMENU is right in between the two and is lovely in a different way - the top half of your screen fills with files and the bottom half with your menus. Yes, that's menus - plural; 255 menus are possible in both VMENU and MENU. You move from menu to menu, and list of files to the next, with a single keystroke. Ah, what infinite variety of forms in this Z world!
I am sure that you'll find uses for all three utilities and will enjoy learning about and taking advantage of the special features of each.
ALIASES
An alias is essentially a submit file wrapped up into a single COM file package. You'll probably spend hours dreaming up favorite combinations of commands you want to stuff into one, so I'll only tell you one of my simplest and most favorite. I've always disliked CP/M's reverse "statement formation logic", as in the following:
PIP NEWFILE=OLDFILE
... so I've taken Z-System's resident copying command, CP, and made myself a nice MS-DOS style copy program called appropriately enough, COPY.COM. To wit:
CP $2=$l
When I want to copy LOVELTR.TXT to drive BO:LETTERS> (remember, we can give names to our directories in Z-System) I can type ...
COPY LOVELTR.TXT LETTERS:
Gee - it makes me feel like I have a IBM PC...
Again, your only thing to watch for is the 200 character buffer, so you'll enjoy learning how to put the most in without hitting that magic upper limit.
I hope you are having a excellent time with Z-System. Don't forget to log on to your nearest Z-Node for the latest in the large number of excellent public domain utilities available. This grand adventure is just beginning.
Next time I'll cover, among other things, an amazing program called HSH that will actually let you recall and edit previously issued command lines as well as the one you're currently writing.
Z you next time...
Rick Charnes bought his MD-2 many years ago when he thought of hiinself primarily as a writer. Now a self-admitted fledgling technical type, his computer has turned from tool to toy. His immense love affair with ZCPR3 leaves some occasional time for mundane things like work. He is president of BAMDUA.