Enhanced Graphics Adapter

From Wikipedia, the free encyclopedia
  (Redirected from Enhanced Graphics Adaptor)
Jump to: navigation, search
IBM EGA card - 64kB version
A non-IBM EGA card
Screenshot of the Arachne web browser using the 640x350 graphics mode. The screenshot contains 14 colors.

The Enhanced Graphics Adapter (EGA) is an IBM PC computer display standard specification which is between CGA and VGA in terms of color and space resolution. Introduced in September 1984[1][2] by IBM shortly after (but not exclusively for) its new PC/AT, EGA produces a display of 16 simultaneous colors from a palette of 64 at a resolution of up to 640×350 pixels. The EGA card includes a 16 kB ROM to extend the system BIOS for additional graphics functions, and includes the Motorola MC6845 video address generator as used in the CGA.

Each of the 16 colors can be assigned a unique RGB color code via a palette mechanism in the 640×350 high-resolution mode; the 64 palette colors are a balanced RGB color set comprising all possible combinations of two bits per pixel for red, green and blue. EGA also includes full 16-color versions of the CGA 640×200 and 320×200 graphics modes; only the 16 CGA/RGBI colors are available in these modes[citation needed]. EGA 4-bit (16 colors) graphic modes are also notable for a sophisticated use of bit planes and mask registers[3] together with CPU bitwise operations,[4] which constitutes an early graphics accelerator inherited by VGA and numerous compatible hardware.

The original CGA modes are also present, though EGA is not 100% hardware compatible with CGA. EGA can drive an MDA monitor by a special setting of switches on the board; only 640×350 high-resolution monochrome graphics and the standard MDA text mode are available in this mode.

EGA cards use the PC ISA bus and were available starting in 8-bit versions. The base IBM EGA card came with 64 kB of video memory installed, only enough for 4 colors in high-resolution graphics. Expansion to 256 kB required a daughterboard. Eventually, most EGA cards and clones would come with 256 kB of memory. A few third-party EGA clones (notably the ATI Technologies and Paradise boards) feature a range of extended graphics modes (e.g., 640×400, 640×480 and 720×540), as well as automatic monitor type detection, and sometimes also a special 400-line interlace mode for use on CGA monitors.

The EGA standard was made obsolete by the introduction of VGA by IBM in April 1987 with the PS/2 computer line.[5]

Shortly before the introduction of VGA, Genoa Systems introduced a half-size graphics card built around a proprietary chip set, which they called Super EGA (later cards supporting an extended version of the VGA were similarly named Super VGA).[6]

VGA text sample animation.gif
Sample of text mode characters
with cursor.

Color palette[edit]

EGA Color Table

The EGA palette allows all 16 CGA colors to be used simultaneously, and it allows substitution of each of these colors with any one from a total of 64 colors (two bits each for red, green and blue). This also allows the CGA's alternate brown color to be used without any additional display hardware. The later VGA standard built on this by allowing each of the 64 colors to be further customized.

The full 64-color EGA palette

When selecting a color from the EGA palette, two bits are used for the red, green and blue channels. This allows each channel a value of 0, 1, 2 or 3. To select the color magenta, the red and blue values would be medium intensity (2, or 10 in binary) and the green value would be off (0). When calculating the intended value in the 64-color EGA palette, the binary number of the intended entry is of the form "rgbRGB" where a lowercase letter is the least significant bit of the channel intensity and an uppercase letter is the most significant bit. For magenta, the most significant bit in the red and blue values is a 1, so the uppercase R and B placeholders would become 1. All other digits are zeros, giving the binary number 000101 for the color magenta. This is 5 in decimal, so setting a palette entry to 5 would result in it being set to magenta. All the color values for the default colors are listed in the table on the right.

Default EGA 16-color palette
(set up to match the standard CGA colors)
Color rgbRGB Decimal
0 – black (#000000) 000000 0
1 – blue (#0000AA) 000001 1
2 – green (#00AA00) 000010 2
3 – cyan (#00AAAA) 000011 3
4 – red (#AA0000) 000100 4
5 – magenta (#AA00AA) 000101 5
6 – brown (#AA5500) 010100 20
7 – white / light gray (#AAAAAA) 000111 7
8 – dark gray / bright black (#555555) 111000 56
9 – bright blue (#5555FF) 111001 57
10 – bright green (#55FF55) 111010 58
11 – bright cyan (#55FFFF) 111011 59
12 – bright red (#FF5555) 111100 60
13 – bright magenta (#FF55FF) 111101 61
14 – bright yellow (#FFFF55) 111110 62
15 – bright white (#FFFFFF) 111111 63


The EGA uses a female 9-pin D-subminiature (DE-9) connector which looks identical to the CGA connector. The hardware signal interface, including the pin configuration, is largely compatible with CGA. The differences are in the repurposing of three pins for the EGA's secondary RGB signals: the CGA Intensity pin (pin 6) has been changed to Secondary Green (Intensity); the second ground of CGA (pin 2) has been changed to Secondary Red (Intensity), and pin 7 (Reserved on the CGA) is used for Secondary Blue (Intensity). If the EGA is operated in the modes having the same scan rates as CGA, a connected CGA monitor should operate correctly, though if the monitor connects pin 2 to ground, the shorting of the EGA's Secondary Red (Intensity) output to ground could conceivably damage the EGA adapter. Similarly, if the CGA monitor is wired with pin 2 as its sole ground (which is poor design), it will not work with the EGA, though it will work with a CGA. Finally, because of the use of the CGA's Intensity pin as Secondary Green, on a CGA monitor connected to an EGA, all CGA colors will display correctly, but all other EGA colors will incorrectly display as the standard CGA color which has the same values for the g, R, G, and B bits (ignoring the r and b bits.) Conversely, an EGA monitor should work with a CGA adapter, but the Secondary Red signal will be grounded (always 0) and the Secondary Blue will be floating (unconnected), causing all high-intensity CGA colors except brown to display incorrectly and all colors to perhaps (but probably not) have a blue tint due to the indeterminate state of the unconnected Secondary Blue.

The IBM 5154 EGA monitor has a special IBM 5153 CGA compatibility mode when operating with CGA sync signals, and it will automatically change to the CGA pinout to avoid all of the mentioned problems when operating in this mode.[7]


Female DE-9, on EGA (computer).
Pin numbers (looking at socket): top row is pins 1-5, bottom row is pins 6 to 9, both numbered from right to left in this illustration.

DE9 Diagram.svg

Pin assignments
Pin Name Function
1 GND Ground
2 SR Secondary Red (Intensity)
3 PR Primary Red
4 PG Primary Green
5 PB Primary Blue
6 SG Secondary Green (Intensity)
7 SB Secondary Blue (Intensity)
8 H Horizontal Sync
9 V Vertical Sync


Type Digital, TTL
Resolution H × V 640x350, other modes available
H-freq 15.7 or 21.8 kHz
V-freq 60 Hz
Colors 6-bit (64)

See also[edit]


  1. ^ High-Resolution Standard Is Latest Step in DOS Graphics Evolution, InfoWorld, June 26, 1989, p. 48
  2. ^ News Briefs, Big Blue Turns Colors, InfoWorld, Oct 8, 1984
  3. ^ Complete Instructions to BLOAD and BSAVE EGA and VGA Screens, Microsoft
  4. ^ Abrash, Michael (2001). "Chapter 43: Bit-plane animation". Graphics Programming Black Book. Coriolis Group Books. p. 1342. ISBN 1-57610-174-6. Retrieved March 2010. 
  5. ^ Scott Mueller, Upgrading and Repairing PCs, Tenth Edition, Que,1998, 0-7897-1636-4 page 515
  6. ^ Hardware, Genoa Systems Ready to Ship $449 Half-Size Graphics Card, InfoWorld, February 23, 1987
  7. ^ IBM Options and Adapters, Volume 1, "Enhanced Color Display", Page 4: "When operating in Mode 1, the display maps the 4 input bits into 16 of the possible 64 colors as shown in the following chart.". August 2nd, 1984.