The Display System


Every computer needs a display system so that you can monitor its operation-see what you type or load from storage, follow the progress of calculations, and read and review the results.


In designing the display system for its original Personal Computer, IBM drew upon its experience won in the office with the making of millions of computer terminals. These essential characteristics were those that would appeal to your eye-it required sharp, easy-to-read characters and no annoying flicker. Moreover, for greater versatility in displaying information and maintaining those displays, IBM chose a particular technology for electronically organizing the data bound for the display.


In its PC design, IBM broke away from the technology popular with mainframe computers and the typical implementations of machines-the so-called teletype video display by which the computer sends a string of characters to a terminal, each string broken into lines with carriage returns much the way a typewriter works (and exactly like the typewriter-gone-automaton called the teletype does; hence the name for the technology). Using a teletype interface, the computer sends out the lines without regard for where they will appear on-screen, and the circuitry in the display terminal does most of the worrying about where the text will appear on-screen.


One line is posted beneath the previous one until the screen is filled, and then the terminal makes more room at the bottom by pushing the oldest line on the screen off the top, scrolling it into oblivion.


Another display technology had won favor with Apple Computer, however-one that was more versatile and better suited to systems with built-in display systems as opposed to computers with separate terminals. Called character-mapping, this technique divided the screen into a matrix of character positions and assigned each character position a memory location. The display system then matched the character designation in the map with the dot-pattern of the character stored elsewhere in a font library (which can be either RAM or ROM). Independently of the host microprocessor, the video system sends the appropriate dot information from the font library to the screen.


The advantage of this arrangement is that it is fast and efficient, from the microprocessor and memory point of view. It needs to deal with only efficient character codes. Only two kilobytes of data need to be moved or stored for a full 80-column-by-25-row screen of text. This arrangement also eliminates much of the cost of a terminal. Making it work only requires a display-essentially a picture tube and its control circuitry-instead of a complete terminal.


It gives the programmer an easy and absolute way of positioning characters on-screen. The program need only push the character code into the appropriate position in the matrix of display memory. With a teletype system, the programmer has no certain way of ensuring the absolute position of a character on-screen. The best that can be done is to use positioning codes that tell the terminal where to place the beginning character of each string. The program and programmer then must keep track of how many characters are sent to the terminal (to know when they move down to the next line) or send positioning codes every few characters. Either way, the programmer faces more work than simply selecting a matrix position.


In the IBM scheme of character mapping, an extra byte is added in the matrix for each character of the display to hold character attribute information-that is, an indicator as to whether the character should be displayed as dim, highlighted, underlined, or shown in reverse video. IBM also chose to put the character and attribute bytes for each on-screen cell adjacent to one another, using a total of four kilobytes of memory area. Although this arrangement seems obvious, it would have been just as effective to put the attributes in a second, separate map displaced from the first in memory. The advantages of each are esoteric-it is only important to know the exact arrangement used should you want to dabble in programming and take direct control of the PC display system.