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!