IBM Monochrome Display Adapter

The Monochrome Display Adapter (MDA, also MDA card, Monochrome Display and Printer Adapter, MDPA) is IBM's standard video display card and computer display standard for the IBM PC introduced in 1981. The MDA does not have any pixel-addressable graphics modes, only a single monochrome text mode which can display 80 columns by 25 lines of high-resolution text characters or symbols useful for drawing forms.

Hardware design
The original IBM MDA was an 8-bit ISA card with a Motorola 6845 display controller, 4 KB of RAM, a DE-9 output port intended for use with an IBM monochrome monitor, and a parallel port for attachment of a printer, avoiding the need to purchase a separate card.

Capabilities
The MDA was based on the IBM System/23 Datamaster's display system, and was intended to support business and word processing use with its sharp, high-resolution characters. Each character is rendered in a box of 9 × 14 pixels, of which 7 × 11 depicts the character itself and the other pixels provide space between character columns and lines. Some characters, such as the lowercase "m", are rendered eight pixels across.

The theoretical total screen display resolution of the MDA is 720 × 350 pixels, if the dimensions of all character cells are added up, but the MDA cannot address individual pixels to take full advantage of this resolution. Each character cell can be set to one of 256 bitmap characters stored in ROM on the card, and this character set cannot be altered from the built-in hardware code page 437. The only way to simulate "graphics" is through ASCII art, obtaining a low resolution 80 × 25 "pixels" screen, based on character positions.

Code page 437 has 256 characters (0-255), including the standard 95 printable ASCII characters from (32-126), and the 33 ASCII control codes (0-31 and 127) are replaced with printable graphic symbols. It also includes another 128 characters (128-255) like the aforementioned characters for drawing forms. Some of these shapes appear in Unicode as box-drawing characters.

There are several attribute values - bit flags that can be set on each character on the screen. These are invisible, underline, normal, bright (bold), reverse video, and blinking. Reverse video swaps the foreground and background colors, while blinking causes text to flash periodically. Some of these attributes can be combined, so that e.g. bright, underlined text can be rendered.

Early versions of the MDA board have hardware capable of outputting red, green and blue TTL signals on the normally unconnected DE-9 video connector pins, theoretically allowing an 8-color display with a suitable monitor. The registers also allow the monochrome mode to be set on and off. No (widely) published software exists to actually control the feature.

It is also possible to combine the values of output pins 7 (Video) and 6 (Intensity) , to generate four brightness levels. Video corresponds to 2/3 luminance and Intensity to 1/3 luminance), but the actual display of these levels is monitor-dependent:

Use
The MDA was released alongside the IBM Color Graphics Adapter, and in fact could be installed alongside the CGA in the same computer. A command included with PC DOS permitted switching the primary display between the CGA and MDA cards.

Because of the lack of pixel-addressable graphics, MDA owners were unable to play PC games released with graphics support. However, textmode games were released for the PC (including text adventures) and at least one game, IBM's One Hundred And One Monochrome Mazes, requires MDA. Box-drawing characters made the production of rudimentary graphics practical for early PC game titles, including BBS door games or titles such as Castle Adventure.

Another use for the MDA was as a secondary display for debugging. Applications like SoftICE and the Windows debugger permitted the simultaneous use of an MDA and another graphics card, with the MDA displaying a debugger interface while the other card was showing the primary display.

Disadvantage
A typical 8-bit monochrome card could turn the 16-bit 8 MHz ISA bus into an 8-bit 4 MHz PC bus, which resulted in having the bus bandwidth cut by up to 75%. If the monochrome card was added to the PC as a second card besides a normal VGA card for debugging purposes, this resulted in slow VGA performance. Microsoft recommended in its Writing HOT Games for Microsoft Windows (1994) to remove the monochrome card in such a setup for maximum speed of the VGA card.

Reception
The author of an internal IBM publication stated in October 1981 that he had planned to purchase the CGA adapter but changed his mind after seeing its poor display quality. Describing MDA as beautiful, he observed that "you stare at text a whole lot more than you stare at color graphics". MDA was more popular than CGA for business applications. The higher resolution of MDA's text and inclusion of a printer port made it more appealing for the business applications that were the focus of the original PC. However, dissatisfaction with its limitations quickly led to third parties releasing competing hardware.

A well known example was the Hercules Graphics Card. Introduced in 1982, it offered both an MDA-compatible high resolution text mode and a monochrome graphics mode. The founder of Hercules Computer Technology, Van Suwannukul, created the Hercules Graphics Card so that he could work on his doctoral thesis on an IBM PC using the Thai alphabet, which was impossible at the low resolution of CGA or the fixed character set of MDA. It could address individual pixels, and displayed a black and white picture of 720 × 348 pixels. This resolution was superior to the CGA card, yet offered pixel-addressable graphics, so despite lacking color capability, the Hercules adapter's offer of high resolution bitmap graphics combined with MDA-grade text quality made it a popular choice, which was even shipped with many clones.

Specifications
MDA cards used a DE-9 output port intended for a digital TTL monitor, like the IBM monochrome monitor.

The signal had the following specifications:
 * Type: Digital, TTL
 * Resolution: 720 × 350
 * Horizontal frequency: 18.432 kHz
 * Vertical frequency: 50 Hz
 * Colors: Monochrome, with 2 to 4 intensity levels (depending on monitor)

Clone boards
Other boards offer MDA compatibility, although with differences on how attributes are displayed or the font used.


 * 3270 PC
 * Amstrad PPC / PC20
 * Control Systems Artist 1
 * Tamarack Microelectronics TD3088A3