Classic Computer Magazine Archive CREATIVE COMPUTING VOL. 10, NO. 6 / JUNE 1984 / PAGE 221

IBM images. (Programs for the IBM PCjr) Susan Glinert-Cole.

We finally got a PCjr a few weeks ago, and I found some time to play around with it. It is a cute machine, but after having scratched my way to computer literacu with a PC for over two years, I can't help but feel disappointed in jr. The two biggest faults with the machine are its keyboard and its speed.

The keyboard, despite the rationalizations and justifications on the part of IBM about its being peanut butter-proof, is just plain terrible. The keys are fairly flat on the top--a particularly inconsiderate design decision. They have a very poor feel, are woobly, and have a peculiarly unpleasant texture. What is even more irritating is the fact that the letters are silk-screened behind each key onto a medium grey bacjground, making them very difficult to see. I takes two keystrokes to make a function key on this keyboard; one to press the FN key and thus toggle the "function" mode, and one to pass the number key desired. Touch typing, or even reasonably quick typing, is out of the question.

While the keyboard problem can be resolved by purchasing a third-party offering, the slowness of the system cannot be overcome so easily. The PCjr handles video memory in a different manner than the Pc and PC/XT. In the latter machines, the video memory is dual-ported, that is, it is accessible to both the 8088 and the video display chip at the same time. In the PCjr, however, the video memory is alternately accessible to the CPU and the video display chip. The two chips must wait, if necessary, for their respective turns. The result of all of this is that you can forget about zippy screen updates; letters creep out of the display like sleepy little animals emerging from a warm hole in the ground. One company, which manufactures an excellent set of games for the PC, said that they were having trouble converting their games to th ePCjr because of the slow video update problem.

One of the better features of the PCjr is its documentation. MAnuals like the Guide to Operations and Basic Self Tutor are clearly written and illustrated with cheerful and colorful drawings. They are certainly oriented toward the younger set in many places, although I would imagine that a child of, say 12, might find the drawings childish and the prose somethimes heavy going. The manuals epitomize the undecided nature of the machine: it is somewhat inadequate for serious use but a trifle expensive for a toy.

I looked at several of the software offerings that IBM is currently selling for the PCjr and, in general, was not terribly impressed. A few random samplings of these packages are described below. One thing to take heart from: many software packages for the PC will run on jr without any trouble at all, so the selection is not really as limited as it might seem at the outset. Home Word

The word processor that showed up with the PCjr is Home Word, by Sierra On-Line. Like many of the IBM offerings for this machine, the product is packaged in a plastic box large enough to hold a cassette, a slim instruction manual, a paper template and a disk. Home Word itself does not come on cassette; one copy-protected disk is supplied, and a backup costs $20.

The Home Word disk is required only during startup, after which it is replaced by a data disk. Startup will cause impatient people some mild agony, because the program grinds out several colorful screens before geting down to the business of word processing.

In keeping with the simplistic concept of the Pcjr, the manuel and software are icon-, rather than prose-oriented. This is a positive feature for some people, especially young ones. The first work screen presents pictures of a filing cabinet, a printer, an exit sign, two indeterminate sets of rectangles which represent layout and editing, and a group of lines that stand for preset values. Underneath each picture is a prose description of the object: printer, files, exit, and so on.

Throughout Home Word, the way to get things done is to slide a grey rectangle around the screen until it surrounds the icon of your choice. If you want to print a document, for example, you use the cursor keys to move the rectangle to the picture of the printer and press ENTER. When such a selection is made, a clear English MEssage appears on the Screen telling you what you have just selected and what you can do next. If you get tired of playing with pictures, there is a full set of CTRL (or ALT) key assignments that will let you call out a function directly.

Home Word is very easy to use, and it is rare to have to consult the manuel for information. The program is also reasonably flexible; text can be moved, copied eraded, searched, replaced, and printed. Layout alternatives include setting top/bottom/right/left margins, setting spacing and tab stops, justifying text, and centering lines. Unfortunately, the screen can become amazingly busy very quickly, because formatting instrudtions are spelled out in bright red letters whenever they have been set within the text. If the margins have been set to 10 and 80, for example, one line in the document will scream: SET LEFT/ RIGHT MARGINS 10,80.

There are several nice touches in Home Word: you can save a document in ASCII and do a "page preview" to see how the layout looks on the printer. While editing, if you choose to keep the icons on the screen, a square in the righthand corner reflects the way the text looks on he current page. There is a tiny red flashing dot the cursor is currently located, too. This is cute, but each time you touch the keyboard, the preview square is updated and this takes a second or two. Which brings me to the biggest problem with Home Word: it is agonizing slow.

Even tough typing is impossible on the keyboard, a moderate hunt and pecker can outpace Home Word. The display was anywhere from two to twelve letters behind the keyboard, and this can be irritating for all but the most patient of souls. If you are used to fast work processing on a Pc Home Word will drive you nuts. Adventures in Math

An inventive and clever educational game is adventures in Math. Here, you must find your way around the castle, solving math problems so you can collect treasures and open doors. It is a graphic adventure; that is as you move around, the scenes change, and just as in text adventures, you can get very lost. The object of the game is to collect all the treasures and get out o the castle. I found it a very well done nd entertaining little package, and this disk is not copy protected. The only objection I have is that the scenes are all in the same boring magenta-cyan-white-black palate so familiar to PC owners. I am mystified. After all, one of the big selling points of the PCjr is the 16 colors in graphics mode. I guess that this and other games are done in the old colors to make them compatible with the PC, but that isn't taking good advantage of what the PCjr can offer in terms of pretty displays. Drawing Circles Around the Jr

Robert Alonso submitted the program in Listing 1 and a description for drawing a cirlce with PCjr.

The IBM PC has satisfied many an executive's colorful pie chart dreams with the CIRCLE instruction available from Basic A. This command allows quick and easy creation of a colored circle anywhere on the screen. CIRCLE however, is not included in the standard cassette Basic that comes with the PCJR. Owners pf PCjr who would like to draw perfect circles at will on the display have two choices: buy the advaned Basic cartridge or write a program that will substitute for CIRCLE. I chose the latter avenue.

While CIRCLE is absent from the command set, the PCjr does have the Pset instruction, which will plot a point anywhere on the screen. PSEt, in conjunction with a simple coordinate geometry formula, is the key to creating a circle drawing routine. The forumal used is based on the fact that a circle is simply a series of points equidistant from the center. The distance formula in line 50 is used to test whether pointas generated by the nested loops XZ and XY are R units away from the center. The center is determined by the values assigned to X and Y in line 20, and the distance from the center to the circumference is determined by the value assigned to R in the same line.

Although the combination of Pset and the distance formula facilitates the circle plot, there still remains the problem of time. Interpreted Basic is a very slow language. Drawing a circle can become a "take-a-coffee-break" experence. The logic behind the original routine was that all the points belonging to a circle with (X,Y) coordinates and a radius R would have to be within a square created by the points (X-R,Y-R), (X+R,Y-R), (X+R,Y+R), (X-R, Y+R). I used nested loops to test every (X,Y) combination of points within the square and to plot those that were approximately R units away from the center. This method works, but is very time consuming.

I then thought about creating an arc in one quadrant of the circle and reflecting it to the other three quadrants. By employing a trick I'll call "mirroring" the program draws a circle about 75% faster than the brute force method. If you look at the program listing you will notice that there are formulas within the PSet statements in lines 90 and 100. These are the ones that do the actual mirroring.

The program is designed to work in medium-resolution mode (screen 1), but you can easily modify it to work in high-resolution mode by eliminating the COLOR command and changing the SCREEN command to SCREEN 2. You can also use the program as subroutine in one of your own programs by eliminating the CLS INSTRUCTIONS AND RENUMBERING THIS PROGRAM APPROPRIATELY. Don't FORGET TO REPLACE THE END statement with a RETURN instruction. Also, make sure that the variable names used in this subroutine are not also used in the body of the main program. How to Lose Ten Pounds of Floppy Disks

Of all the various parts and pieces of my computer system, the one that I would have the most difficult time parting with is the fixed disk. I acquired this wonderful gadget about two months ago from Apparat, and have been entirely satisfied with its performance, although setup was not exactly a piece of cake because of the some flaky chip or another on the disk controller board.

This disk is best refeered to as an IBM emulator: all software that can be installed or used with the Ibm fixed disk can theoretically be used with Apparat's with no software drivers. Strictly speaking, however, this statement really applies to all software and hardware that uses legitimate system calls to the disk controller and does not trespass in any way on address lines that IBM has reserved for the Fixed disk.

I have had only two problems, both of them network installations, and in both cases the conflicts were traced to "not-quite-cricket" behavior on the part of the network manufacturers. In one case the company used several reserved fixed disk address lines in implementing the network, and in the other case the software bypassed the legal system calls and tried to talk directly to the disk controller.

The fixed disk itself looks like a Miniscribe and is housed in a grey and beige metal cabinet. The unit is about half as wide and about three-quarters as long as the PC system unit. The hard disk controller board, which also has an RS-232 port on it, must be installed in the main system unit. You cannot place it in an IBM expansion chassis if you happen to have one.

No special software is required for installation; all setup is done with the PC-DOS FORMAT and FDISK programs exactly as described in the DOS manual. If you are possessed of an antique 64K motherboard and want to be able to boot directly from the fixed disk, Apparat supplies a ROM and instructions for removing the old ROM chip from the U33 socket and replacing it with the new one. This step is unnecessary if you have the newer 256K motherboard. Having one of the ancient system boards, I had to perform this little exercise which, although not particularly difficult, requires removal of all expansion boards to get a clear view of the socket.

Once the disk is installed, you can start feeding files into it. Tne megabytes is a lot of storage space, and demands a different philosophical outlook on disk organization from ten pounds of floppy disks stored carefully in little plastic boxes. Several people, having been floored by a directory which suddenly contained 342 files, have requested that I describe an approach to fixed disk organization. The problem here, of course, is that everyone has a personnal preference for a certain kind of order (or chaos, as the case may be). The principles of erecting a hierarchical directory, however, are the same no matter how you see fit to apply them.

First of all, recall that DOS 2.0 will support a system of directories which can themselves contain files and subdirectories. The subdirectories in turn can contain further subdirecotories and files; this scheme can be continued until you run out of disk space, patience, or both. Although the rood directory has a limit of 512 entries, the subdirectories are themselves files, and have only the practical limit of disk space on their contents.

Beginning at the top of this directory tree is the Root directory. It is usually

described as drive C: , and can be assigned

a volume name. Figure 1 shows my own rood directory. As you can see, it contains only four files, and these particular ones must reside in the root directory for them to be located by the system. Other files which must reside there are device drivers and any programs you call from AUTOEXEC.BAT IF THEY ARE CALLED PRIOR TO A PATH SPECIFICATION WITHIN THE START-UP FILE.

the PATH command tells the system where it is to look for files whenever it cannot find what it needs in the default directory. Figure 2 shows my AUTOEXEC.BAT file, and you can see that my PATH command tells DOS always to llok first in the root directory

(C: ), then in the subdirectories
C: UTIL.DOS, C: UTIL, C:WP, and
C: PEDIT.  If DOS still cannot locate a

file, it will give the error message: bad COMMAND OR FILE NAME or something equally depressing. You can assign a path at any time, but placing an extended search path into the AUTOEXEC.BAT file allows you to place programs (but not device drivers) to be run at startup in other, more sensible directories. This keeps the root directory clean and enables you to keep better track to things. For example, you can see from my AUTOEXEC.BAT file that the program ASTCLOCK, which is not located in the root directory, is called after the path assignment; the system uses the assigned path to locate this program in one of the subdirectories (specifically UTIl).

I consider myself fairly eclectic computer user: I do programming, word processing, and database management; play games; and fiddle with financial matters. My subdirectories reflect this general orientation. SC contains SuperCalc 3 and its ancilliary files, DBASE contains dBase II, PEDIT contains the screen editor PEDIT WP holds the word processor Word Perfect, and so on.

Under the WP directory are several subdirectories: LETTERS, IMAGES, PERSONAL and others. Because WordPerfect handles path names with aplomb and has commands for changing the current subdirectory, I find this subdivision of text material very satisfactory. Other word processors might not be so flexible about path names, so you might be reduced to 1) keeping all word processing material, including the program files and your own text files, in one gigantic subdirectory or 2) copying the desired working document of the moment into the subdirectory that contains the word processor. If you are in the market for a word processor, it will ease your life considerably if you buy one that can handle path names without choking.

SuperCalc 3 will not handle subdirectories at all, so all files that I generate with this program are lumped together in that one directory. Depending on how much work you are willing to do to keep a disk organized, you can sort your own files manually from DOS into the appropriate directories, and then copy the ones you are interested in at the moment into the main SuperCalc directory. This procedure, of course, also applies to any program that will not handle path names.

The subdirectory WORKING contains all the compilers I am wont to use. Each complier, along with its requisite files, is placed in its own subdirectory. There is one more layer under each compiler directory too, called OLDFILES. This directory contains old programs and assorted fragments that I want to keep around for a while, but am not presently working on.

Because the PC-Dos linker,

LINK.EXE, IS IN  UTIL.DOS and can

thus be found by the system, it is not necessary to have separate copies of LINK.EXE in all the compiler subdirectories. The only caveat to this is that if you want to link two files which are in separate subdirectories, LINK.EXE will get lost, because it cannot handle path names.

One way to handle this problem, if you do a lot of program generation, is to keep all OBJ files, regardless of their linguistic origin, in one directory and do all linking from inside there.

The prompt command in the AUTOEXE.BAT file. sets the prompt to display the curremt directory, surrounded by square bracketa and followed by the usual [is not >] character. I, therefore, always know where I am (at least from a directory standpoint) without having to ask the system. And if you were wondering how I got the directories in the listing to appear with square, rather than angle brackets, I refer you to a prior "Images" that talked about using Debug to get inside of COMMAND.COM. I think the square brackets look neater than the defaults and are easier to distinguish from files as well. Caging the Terrible Decibel

although my word processor can print and edit documents concurrently, I usually do not take advantage of this feature because of the noise factor. My printer generates such a racket that I usually have to leave the room while it is screeching and clanking its way to hard copy. i have been looking around for a sound control printer stand and finally found one that is beautifully designed and engineered and actually diminishes the noise to a mere shadow of its former self. It is perfectly possible, for example, to stand next to the printer stand and talk on the telephone in a low tone. Formerly, the telephone was unusable as a communications device even twenty feet from the printer.

The top of this printer stand is clear acrylic for visibility and is mounted on a special hinge that supports the cover when you lift it up. The cover is mounted slightly away from the base, to allow paper to be fed into back-loading printers. the interior is lined with acoustical foam, and there is a slit in the bottom to accommodate bottom-feed printers. About 4" of paper can be placed underneath. There are several different models available for a range of printers, so check with the manufacturer for prices and availability. Apogee also makes monitor stands, floppy disk boxes, and a neat device that allows you to mount a ful-sized CRT on top of a portable computer like the Osborne.

Products: HomeWord (computer program)
Adventures in Math (computer program)