IBM Monochrome Display Adapter

From Wikipedia, the free encyclopedia
Monochrome Display Adapter
IBM PC original MDA and parallel printer adapter
Release date1981; 43 years ago (1981)
Discontinued1984
ArchitectureMotorola 6845
Cards
Entry-levelIBM MDA, Control Systems Artist 1, Hitachi HD6845SP, UMC UM6845
History
SuccessorHercules Graphics Card, Enhanced Graphics 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[edit]

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.[1]

Capabilities[edit]

Characters of code page 437
Image rendered in MDA text mode using semigraphics blocks

The MDA was based on the IBM System/23 Datamaster's display system,[2] 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.[3]

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.[1]

Attribute Display
Invisible Invisible
Normal Normal
Underline Underline
Bright Bright
Bright underline Bright underline
Reverse video Reverse video
Invisible reverse Invisible reverse

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.[4][1][5][6]

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

Output pin values Displayed
brightness
6 – Video 7 – High intensity
0 0
0 1
1 0
1 1

Use[edit]

IBM 5151 monitor driven by a Monochrome Display Adapter (MDA)

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.[10]

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.[11] 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[12] and the Windows debugger[13] 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[edit]

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.[14]

Reception[edit]

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".[15] 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.[16]

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.[17] 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.[18]

Specifications[edit]

DE-9 connector, looking at back of PC

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

MDA connector pin assignments[7][8][6]
Pin Function
1 Ground
2 Ground
3, 4, 5 Not used
6 Intensity
7 Video
8 Horizontal sync (+)
9 Vertical sync (−)

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)[8][19]

Clone boards[edit]

MDA Video card with Hitachi HD6845 (= Motorola MC6845)

Other boards offer MDA compatibility, although with differences on how attributes are displayed or the font used.[1][20]

See also[edit]

References[edit]

  1. ^ a b c d Elliott, John C. (2005-11-06). "Monochrome Display Adapter: Notes". Archived from the original on 2016-11-23. Retrieved 2016-11-23.
  2. ^ Bradley, David J. (September 1990). "The Creation of the IBM PC". BYTE. pp. 414–420. Retrieved 2 April 2016.
  3. ^ IBM Monochrome Display and Printer Adapter (PDF). IBM.
  4. ^ Wilton, Richard (1987). Programmer's Guide To PC And PS/2 Video Systems. Microsoft Press. p. 51. ISBN 1-55615-103-9.
  5. ^ "IBM 5150 - early version". minus zero degrees (-0º) IBM 51xx PC Family Computers. Retrieved 2014-08-30.
  6. ^ a b c "IBM: MDA / CGA / EGA". minus zero degrees (-0º) IBM 51xx PC Family Computers. Retrieved 2022-11-17.
  7. ^ a b IBM Personal Computer Hardware Library: Technical Reference (Revised edition, 1983).
  8. ^ a b c d Elliott, John (June 8, 2020). "Monochrome Display Adapter Notes". John Elliott's homepage.
  9. ^ "RGB Classic Games - Character attributes". www.classicdosgames.com. Retrieved 2022-05-06.
  10. ^ Elliott, John (April 24, 2011). "Dual-Head operation on vintage PCs". John Elliott's homepage. Retrieved 2020-08-16.
  11. ^ Manes, Stephen (1984-01-24). "It's Not Easy Being Green". PC Magazine. p. 391. Retrieved 24 October 2013.
  12. ^ Using SoftICE (PDF). Compuware Corporation. 1998. p. 12.
  13. ^ Glass, Brett (April 1, 1991). "The AT's Shortcomings Force Single-Monitor Programming". InfoWorld. p. 62.
  14. ^ Writing HOT Games for Microsoft Windows – The Microsoft Game Developers' Handbook (PDF). Microsoft Windows Multimedia. 1994. p. 17.
  15. ^ Dievendorff, Dick (1981). IBM Personal Computer Questions and Answers. IBM. p. 25.
  16. ^ Gibson, Steve (September 19, 1988). "IBM's EGA Unified Backward-Compatible CGA, MDA, Hercules Standards". InfoWorld. p. 49.
  17. ^ "The Resolution Time Line: Additional Pixels Enhance Quality". PC Magazine. May 16, 1989. p. 96.
  18. ^ Ponting, Bob (June 26, 1989). "High-Resolution Standard is Latest Step in DOS Graphics Evolution". InfoWorld. p. 48.
  19. ^ There are four possible combinations of values for the 'Intensity' and 'Video' pins, but not all monitors will display them as four distinct intensity levels.
  20. ^ "VGA Legacy". vgamuseum.info. Archived from the original on June 29, 2014. Retrieved June 28, 2014.