The IBM Personal Computer - An Evaluation

Creative Computing Magazine, December, 1981

Graphics

Perhaps the most exciting feature of the IBM Personal Computer is its graphics capability. This is one place where IBM has learned their lesson well and where the price, performance, function, and feature consider¬ations become evident.

The IBM Monochrome Display has already been described. This display device does not support graphics it is a text only device. To get at the graphics features of the machine a Color Graphics Adapter card must be installed in a system slot. This adapater allows color monitors, black and white monitors, and televisions to be connected. Television sets also require an RF modulator, which IBM does not supply. The adpater can also drive several monitors or TVs, in any combination, at a time.

The adapter comes with its own 16kb of memory to store display infor¬mation. (The Monochrome Display adapter supplies 4kb to store display text.) This is absolutely terrific, because it means that even with the highest resolution graphics no program memory is used to store screen data! It also means that the $1595 minimal consumer configuration of a system unit and color graphics card actually provides 32kb of memory, 16kb for program and an independent 16kb for the display, and is eminently useable. And yes, in Basic you are still left with the available memory shown in Table 1. The adapter will also support a light pen, although IBM does not make one available, and light pen statements are included in Basic.

The adapter supports two text modes and two graphics modes. The text modes have resolutions of 25 lines of either 40 or 80 characters. There are sixteen foreground and eight background colors. These modes can either be used for text or for block graphics, using the characters in the display set. Incidentally, the same character set is supported on both the Monochrome Display and the Color Graphics Adapater, so software does not need to know the difference. The medium resolution graphics mode uses 200 dots vertically and 320 dots horizontally, and four colors can be displayed. Other colors may be created by plotting dots of different colors next to one another. The high resolution graphics mode uses 200 dots vertically and 640 dots horizontally, and is limited to black and white. The adapter allows horizontal text to be interspersed with graphics; PRINT statements from Basic output the text, and no special control or character generation is required from the software. In graphics mode, the character set is limited to 128 characters, which can be user-defined. The characters are 7 x 7 dots in an 8 x 8 box, with a single line of pixels for descenders. All display attributes of the Monochrome Display, except underline, are supported.

On a monitor, the adapter easily displays 80 character lines. On a television set, overscan will probably cause information on both the left and the right to be lost. The Color Graphics Adapter can be told to shift the display to overcome the problem, if only on one side. On some TVs it may be possible to see the entire 80 columns. On most TVs, this is unlikely.

In text mode the adapter can support multiple pages of text. If the display mode is 25 x 40, four pages can be stored, and in 25 x 80, two pages are stored. An "active" and "visual" page can be specified. The visual page is the one which the display hardware uses. The active page is the one written to with, for example, PRINT statements in Basic. Basic allows full control of this feature, which can be used to rapidly switch between screens of text or to animate using character graphics.

Cassette Basic provides a complete, if not elaborate, set of statements that allow access to the color graphics features. The COLOR statement is used to select the colors that will be displayed. The LINE statement can be used to draw a line from any point to any other point on the screen, to draw any rectangle, and to fill any rectangle with solid color. PSET and PRESET are used to set or erase any point on the display. The SCREEN statement selects the graphics mode.

Advanced Basic has very powerful graphics capabilities. The CIRCLE statement draws any circle or ellipse, any arc, and can also connect the ends of arcs to the center point, a kind of automatic pie-chart feature. The DRAW statement interprets a character string of commands which can be used to build arbitrary shapes. PAINT fills a space with a specified color in all directions, and stops only when blocked by another color. The most powerful commands, however, are GET and PUT. GET is used to read a section of the screen memory into a Basic array. PUT works in the other direction, transfering the array to screen memory.

With a little help, I wrote a graphics program in Advanced Basic that animated a ball. I didn't have time for anything elaborate, so I just made it move across the center of the screen from left to right. First, I used CIRCLE to draw the ball, and PAINT to fill it with another color. Then I used GET to retrieve the bit patterns I had drawn from the screen memory. After clearing the screen, I was able to PUT the ball anywhere I wanted to. PUT is also used to erase the object. My program consisted of a short loop which PUT the ball, paused, PUT the ball again to erase it, and advanced by some fixed step to the right. This program required 10 minutes to write. I could just have easily used the DRAW command to build an arbitrarily complex shape, and moved it around. By the way, when I ran my ball program with 15 steps across the screen the ball got from left to right in about a second.

IBM has written a set of demonstration programs which will be available to their dealer network. Some of these programs demonstrate the graphics capabilities very effectively. But here's the shocker those programs are written in Basic!

Table 4 shows how the IBM Pesonal Computer stacks up with other personal computers having color graphics capability. I think the Atari 800, with its graphics processor chip, probably outstrips IBM for performance. But when a feature comparison is made, I think IBM stands far ahead. Just think what 25 x 80 text mode means!

Next: DOS