The following is the text of a review of BackGrounder II that I wrote for
the KUGEL, the newsletter of the Boston Computer Society Kaypro Users Group.
------------------------------
Backgrounder II
Jay Sage
I would like to describe here what I think is the most impressive and�
exciting piece of software ever introduced for CP/M (Z80-compatible)�
computers -- Backgrounder II from Plu*Perfect Systems. This program offers�
what one might perhaps expect to find on a 16-bit computer with megabytes of�
memory but would dismiss as utterly impossible on a little 8-bit computer�
with only 64 kilobytes of memory. Kaypro owners might remember an earlier�
product called Backgrounder, but this version -- which runs on any CP/M2.2�
computer, not just Kaypros -- goes way beyond the original.
Let's learn about it with an example. It's morning, and you sit down�
at your computer to start work on a letter. After turning on the computer,�
you get the familiar CP/M prompt "A>". To invoke BGii you enter the command�
"LOADBG", initiating a process in which BGii automatically configures itself�
for your system and installs itself, even running a set of startup commands�
of your choice. The BG system prompt now appears:
09:12 A0:BASE>
There are two striking differences. First, BGii offers alternative�
named directories for the drive and user number areas in CP/M. Part of your�
startup command sequence involved the automatic loading of a named directory�
file, so BGii now knows that you want to associate the name BASE with drive�
A user 0, the name TEXT with drive B user 0, and so on.
The second thing you notice about the system prompt is that the current�
time of day appears in it. You are also using Plu*Perfect Systems superb�
DateStamper (DS) program, which automatically maintains time/date stamps on�
your files (and not just 'last update' as in MS-DOS but creation time, last�
modification time, and last access time). BGii works hand-in-hand with DS,�
so it always knows the date and time.
Now you want to go to your TEXT directory and run your wordprocessor. �
You used to enter the command "B:" first, and then "A:WS" to get WordStar�
running. With BGii you can enter the single command line:
TEXT:;WS
First of all, with BGii you can move to B0:, the text directory, by name�
("B:", of course, would work also). Second, you can put many commands in�
the same line, so you don't have to wait for one to finish before you can�
enter the next. Just separate them by semicolons. Third, you didn't have�
to tell the computer that WordStar is on the A drive. With BGii the�
computer is smart enough to find your programs for you, automatically. You�
have set up a command search path that includes A0: (drive A user 0), so�
when BGii didn't find WS.COM on drive B user 0, it automatically looked for�
it (and found it) in A0:.
Once inside WordStar you begin to work on the letter. You enter the�
address header at the top and position yourself to where the date goes. �
You've been working very hard and have lost track of the date, but it�
doesn't matter. You just hit the BGii function key sequence "\D" (backslash�
then 'D') and the date appears, just as if you had typed it. The BGii�
function key facility, coupled with DateStamper, got the date from the�
system clock and put it into the text.
Now, well into the text of the letter, you are writing that you are�
buying a certain item from Japan at a cost of 83,650 yen, which at the�
present exchange rate of 163 yen to the dollar will cost....let's see, how�
much is that in dollars? Your little pocket calculator must be around here�
somewhere. Oh well, no matter. You press the function key sequence "\C"�
and the BGii calculator pops up on the screen. You enter "83650/163=" and�
there is the answer. You don't even bother writing it down; you just exit�
from the BGii calculator by pressing "Q". Now you are back in WordStar,�
with the screen just as you left it. You press the function key sequence�
"\A" (A for answer) and what appears in the text but "513.19018404" (I just�
used BGii while writing this article!), the answer to your calculation. You�
don't need all those figures, so you backspace leaving just "513.19". That�
was handy!
A little farther into the letter, you're getting into some serious�
financial discussion and need data from the spreadsheet you developed last�
night. Before you had BGii you would have had to exit from the word�
processor, load and run the spreadsheet program, write down the data, exit�
from the spreadsheet, rerun the wordprocessor, find your place in the�
document, and put in the information. But with BGii that is a thing of the�
past. Now you press the function key sequence "\S" (for swap), and task�
swapping begins. After a short delay, a new system prompt appears:
09:52 b0:text>
Your word processing task has been suspended, and from the new system�
prompt you can run any other program you wish. The prompt appears in lower�
case to remind you that you are in Backgrounder's lower task, the main task�
being called the upper task. First you change to the DATA directory, where�
you keep all your spread sheets, by entering the command "DATA:". Now the�
prompt is:
09:53 b1:data>
While you were working late last night on the spreadsheet, you created�
several versions of the data file. You were sure you would remember which�
was the last one, but that was yesterday. Now you're not so sure. �
Fortunately you have DateStamper, and you run its directory program SDD,�
which lists the files with the times/dates of creation, modification, and�
access. You quickly identify the most recent version, invoke your spread�
sheet program, and read in the data file.
To make the operation of the spread sheet program easier, weeks ago you�
created a special set of 'keystroke macros' using BGii's built-in�
capability. And you really appreciate the way BGii has automatically loaded�
those key definitions as it loaded the spread sheet program. Even when you�
swap tasks, BGii makes sure the right set of 'macros' is always there with�
each task. It is also very easy to add new definitions while you are�
running a program.
You are now adjusting the data on the screen to get it into the right�
format for inclusion in the letter. Unfortunately, there is one spread�
sheet function you always forget how to use, and it is not covered�
adequately by the built-in help information. The last time this happened�
and you finally figured out what to do, you added an information screen to�
the custom help file you have been preparing on your spread sheet program. �
Wouldn't it be handy if you could look at it now, without leaving the spread�
sheet? Of course, with BGii you can! You press the BGii suspend key�
(control-caret), and still another prompt appears:
10:03 b0:text}
You are now in background mode, 'behind' the lower task (the curly brace�
tells you that this is background mode, and the lower case text indicates�
the lower task). From this prompt you cannot run COM-file programs, but�
many powerful BGii background functions are at your disposal.
You enter the command "HELP SPRSHEET", and your help file appears on�
the screen. (By the way, BGii found it automatically on drive A user 10,�
the designated help directory.) It offers a menu of topics, and you quickly�
identify the one with the information you need. After pressing the key�
corresponding to that menu choice, the screen appears. Your memory�
refreshed, you exit the help system with control-c and press the suspend key�
again to reactivate the spread sheet. Its screen reappears on your terminal�
just as you had left it.
The spread-sheet editing process is a little involved (no wonder you�
have a hard time remembering it), and you are going to have to repeat an�
operation quite a few times. Before you do it the first time, you press�
your function key sequence "\R". The terminal bell rings twice, reminding�
you that the BGii key-recording mode has been initiated. You go through the�
process the first time and then enter the sequence "\R" again. A prompt�
appears on the screen asking which key you want that series of key strokes�
to be assigned to. You enter "\1", and from now on when you press "\1" the�
entire sequence you entered before will be executed again. Amazing! In no�
time you have the spread sheet screen just the way you want it. Now if you�
could just get it into the letter in the word processor. Would BGii make�
you do that manually? Of course not!
After pressing the suspend key again to get the background prompt, you�
enter the command "SCREEN TEXT:DATA.DOC". Your whole spread sheet screen is�
saved in a file called DATA.DOC in the directory TEXT: (B0:) where your word�
processing files are. The background prompt reappears. Just in case you�
need to make any changes in the spread sheet, you decide to leave that task�
active. From the background prompt, you enter the command "SWAP" to return�
to WordStar. Its screen reappears just as you left it. You read in the�
DATA.DOC file and continue your work. (I just described moving an entire�
screen between tasks. With BGii it is also possible, using the CUT and�
PASTE commands, to move designated sections of screens. Those 'CUT'�
sections can even be assigned to function keys and made part of permanent�
'keystroke macro' files.)
Suddenly you have a flash of inspiration about another project you are�
working on, and you'd like to make a couple of notes before the ideas�
evaporate from your mind. You are tempted to scribble them down on a scrap�
of paper, but you know how those little scraps tend to get lost. So again�
you call on BGii. A press of function key sequence "\J" invokes the JOT�
function. A little notepad file appears on the screen. To enter the time�
and date of your brainstorm, you type "\T\D". The line "11:35:25 January�
19, 1987" (I just did it) appears in the text. You continue by typing in�
the idea, close the file, and return to your main task.
Finally the letter is done. You send it off to the printer using the�
BGii print spooling capability. While the file is printing (this is the�
only case in which BGii performs true concurrent multitasking -- two tasks�
running apparently simultaneously), you return to the spread sheet to do�
some final cleanup. You spool the spread sheet output to the printer (you�
don't have to wait for the other file to be finished), exit from the spread�
sheet program, and begin some other tasks (consult your jotpad for all those�
great ideas you had earlier).
So much for this example. There are thousands more. One of the things�
that impressed me so much with Backgrounder during its development (I served�
as a test site) is that there is no end to the possibilities is offers. New�
uses were constantly springing to mind, uses that had not occurred even to�
the author, Bridger Mitchell, when he conceived the program.
The hardest thing I have found about using Backgrounder is breaking old�
habits. I am so used to the limitations of the old system that I still�
often forget to take advantage of BGii capabilities. I close files and�
leave a program before I remember that this is no longer necessary. I enter�
lengthy command sequences repeatedly, forgetting that the BGii keystroke�
macro capability is so accessible and easy to use.
Now for the technical and financial details. What do you need to run�
BGii? If you have a Kaypro CP/M computer, you are all set and need not read�
the next few paragraphs except out of curiousity; BGii is fully functional�
on the Kaypro machines. For people with other computers, here are the�
requirements.
First, your computer must use a Zilog Z80-compatible chip (this�
includes the National NSC800 and the Hitachi HD64180 but not the Intel 8080�
and 8085 chips). Your disk operating system must be Digital Research's�
standard version 2.2 BDOS (BGii will not work with CP/M-Plus) or the ZRDOS�
replacement disk operating system from Echelon, versions 1.1, 1.2, 1.3, or�
1.7. A few, but not all, of the common BDOS patches are acceptable.
Second, your terminal must, at the least, support direct cursor�
addressing, clear-screen, clear-to-end-of-line, and clear-to-end-of-screen�
functions. Some of the features of BGii (the SCREEN, JOT, CUT, and PASTE�
functions described above, among others) require a special screen driver�
that demands additional terminal features. Such drivers are already�
available for Kaypro computers and Heath/Zenith model 19 (and compatible)�
terminals. Drivers for other popular terminals, such as those from�
Televideo and Wyse, are nearly ready for release now. But please note: BGii�
is an extremely powerful and useful program even without the functions that�
require a screen driver. I use an odd-ball terminal and am using BGii�
without a screen driver. As I'm sure you can tell, I love it anyway!
BGii does use up some memory and disk space. Obviously it can't do all�
the things it does without availing itself of some system resources. The�
memory requirement is 4.75K, 2K of which is the standard command processor. �
If some program of yours won't run with the reduced memory, however, you can�
always issue the "BG OFF" command. This instantly restores your system to�
its normal state. You can run your memory-hungry program and then reload BG�
with "LOADBG".
BGii is completely compatible with ZCPR3 systems. (That is the subject�
for another whole KUGEL article. I am very active in the development of the�
ZCPR3 advanced operating system replacement for CP/M 2.2 and made sure that�
BGii works with it flawlessly. In fact, the BGii command processor is even�
more advanced than the standard one in ZCPR3.) In a ZCPR3 system, BGii can�
reuse space normally allocated to ZCPR3 buffers that are no longer needed by�
ZCPR3. The memory requirement can then be reduced to 2.75K or even 0.75K.
BGii is a virtual memory system, frequently swapping data between�
system memory and disk memory. For full-featured operation, BGii requires a�
swap file of about 100K. This swap file should be kept on a harddisk or�
ramdisk, so that swapping will take place quickly. BGii will run on a�
floppy-disk system, but operation will be much slower. Plu*Perfect Systems�
does not recommend BGii for floppy-only systems, but if you make use only of�
the background mode and not task switching, operation on a floppy system is�
often acceptable.
In any case, you don't have to leave to chance any questions about how�
well BGii will run on your system. There is a demo version that is�
available free of charge. It is identical to the full-fledged version�
except that you will be restricted to drive A. If BGii works properly on�
your system, there is no doubt that you will eagerly spend the money for the�
unfettered version. You can get the demo version from Compuserve and from�
other remote access computer systems (mine can be reached at 617-965-7259,�
password "DDT"). You can also send me a diskette or diskettes (with total�
capacity for at least 220K). These diskettes should be formatted, sent in a�
suitable, reusable mailer, and accompanied by return postage and a return-address sticker. They will then be returned to you with the demo version of�
the program. We can handle almost all 5" formats (but not odd-ball hard-sectored formats) and standard 8" formats, so I will not try to list them�
here.
This brings us neatly to the money question. BGii costs only $75 and�
comes with a neat manual in an IBM-style three-ring binder. Shipping &�
handling charges are typically $4 per order (no matter how many items in the�
order), and, if you are in the same state as the dealer, that state's sales�
tax must be added.
Currently, BGii is available from four sources. My favorite, not�
surprisingly, is Sage Microsystems East. The similarity in name is no�
accident; this is my wife's company (you don't think I would let her pass up�
offering a great program like BGii
). See her ad in this issue of the KUGEL�
for more information. A second source is NAOG, Bruce Morgen's North�
American One-Eighty Group, an organization supporting computers based on the�
sensational Hitachi HD64180 8-bit microprocessor with on-chip advanced�
memory management capability. Bruce also helped in the BGii testing, and he�
can be reached in Warminster, PA, at 215-443-9031. Third is the Lillipute�
Z-Node in Chicago (312-649-1730, modem only). Finally, you can get BGii�
directly from its developer, Plu*Perfect Systems (P.O. Box 1494, Idyllwild,�
CA 92349).
DateStamper is $49. It will work on almost any CP/M-type computer,�
including those with Intel 8080 or 8085 microprocessors. You don't even�
have to have a real-time clock in your computer. In that case you will have�
to enter the date manually each day when DateStamper is loaded, and the time�
stamps will not be in wall-clock time but in index time. The index will�
start at +0000 and increase by 1 for each disk access. You won't be able to�
tell the actual time a file was created or accessed, but you will be able to�
tell the order in which they were created or accessed.
----------
Jay Sage is well known to those who attend BOSKUG meetings, at which he has�
presented several programs and conducted training sessions in ZCPR3,�
telecommunications, and Z80 assembly-language programming. In addition, he�
is the Director of the BCS CP/M Computers Group, sysop of Z-Node #3, and�
software librarian of ZSIG, the SIG/M of the ZCPR3 world. In his spare time�
he enjoys playing with computers!