Enhanced Graphics Adapter

From Wikipedia, the free encyclopedia
Enhanced Graphics Adapter
IBM EGA card.jpg
Original 64 kB IBM EGA card
Release dateOctober 1984; 36 years ago (October 1984)[1]
ArchitectureMotorola 6845, Chips and Technologies
Cards
Entry-levelIBM EGA card, Chips and Technologies, ATI EGA Wonder
Mid-rangeATI EGA Wonder 800
High-endATI EGA Wonder 800+
History
PredecessorMonochrome Display Adapter, Color Graphics Adapter
SuccessorVideo Graphics Array

The Enhanced Graphics Adapter (EGA) is an IBM PC graphics adapter and de facto computer display standard from 1984 that superseded the CGA standard introduced with the original IBM PC, and was itself superseded by the VGA standard in 1987. In addition to the original EGA card manufactured by IBM, many compatible third-party cards were manufactured, and EGA graphics modes continued to be supported by VGA and later standards.

History[]

EGA was introduced in October 1984 by IBM,[2][3] shortly after its new PC/AT. The EGA could be installed in previously released IBM PCs, but required a ROM upgrade on the mainboard.[4]

Between 1984 and 1987, several third-party manufacturers produced compatible cards, such as the Autoswitch EGA[5] or Genoa Systems Super EGA chipset.[6] Later cards supporting an extended version of the VGA were similarly named Super VGA.

The EGA standard was made obsolete by the introduction in 1987 of MCGA and VGA with the PS/2 computer line.[7]

Hardware design[]

IBM MDA, CGA and EGA monitors, all supported by the EGA card

The original IBM EGA was an 8-bit PC ISA card with 64 KB of onboard RAM. An optional daughter-board (the Graphics Memory Expansion Card) provided a minimum of 64 KB additional RAM, and up to 192 KB if fully populated with the Graphics Memory Module Kit.[8] Without these upgrades, the card would be limited to four colors in 640×350 mode.[9]

Output was via direct-drive RGB,[10] as with the CGA, but no composite video output was included.[11] MDA and CGA monitors could be driven, as well as newly released enhanced color monitors for use specifically with EGA.[12]

EGA-specific monitors used a dual-sync design which could switch from the 15.7 kHz of 200-line modes to 21.8 kHz for 350-line modes.[12]

A non-IBM EGA card

Many EGA cards have DIP switches on the back of the card to select the monitor type. If CGA is selected, the card will operate in 200-line mode and use 8x8 characters in text mode. If EGA is selected, the card will operate in 350-line mode and use 8×14 text.

Some third-party cards using the EGA specification were sold with the full 128 KB of RAM from the factory, while others included as much as 256 KB to enable multiple graphics pages, multiple text-mode character sets, and large scrolling displays.[5] A few third-party cards, such as the ATI Technologies EGA Wonder, built on the EGA standard to additionally offer features such as extended graphics modes as high as 800x560 and automatic monitor type detection.[13]

Capabilities[]

EGA produces a display of up to 16 colors (using a fixed palette, or one selected from a gamut of 64 colors, depending on mode) at several resolutions up to 640×350 pixels, as well as two monochrome modes at higher resolutions. EGA cards include a ROM to extend the system BIOS for additional graphics functions, and a custom CRT controller (CRTC).[14]

The IBM EGA CRTC supports all of the modes of the IBM MDA and CGA adapters through specific mode options,[14] but it is not fully register-compatible with the Motorola MC6845 used in those cards, so software that directly programs the registers to select modes may produce different results on the EGA.[15]

Supported resolutions are 320×200 and 640×200 (on a CGA monitor), 720×350 and 640×350 (on an MDA monitor) and 320×350 and 640×350 (on an EGA monitor). The CGA resolutions are also supported when using an EGA monitor.[16] EGA scans at 21.8 kHz when 350-line modes are used and 15.7 kHz when 200-line modes are used.

In the 640×350 high resolution mode, which requires an enhanced EGA monitor, 16 colors can be selected from a palette comprising all combinations of two bits per pixel for red, green and blue, allowing four levels of intensity for each primary color and 64 colors overall. The 640×200 and 320×200 graphics modes provide backwards compatibility with CGA software and monitors, but permit use of all sixteen colors in the CGA palette simultaneously, instead of the fixed four colors available in those modes on the actual CGA.[16]

EGA's 16-color graphic modes utilize bit planes and mask registers[17] together with CPU bitwise operations[18] to enable accelerated graphics, techniques that would go on to be used in VGA.

Modes[]

EGA supports:

  • 640×350 w/16 colors (from a 6 bit palette of 64 colors), pixel aspect ratio of 1:1.37.
  • 640×350 w/2 colors, pixel aspect ratio of 1:1.37.
  • 640×200 w/16 colors, pixel aspect ratio of 1:2.4.
  • 320×200 w/16 colors, pixel aspect ratio of 1:1.2.

Text modes:

  • 40×25 with 8×8 pixel font (effective resolution of 320×200)
  • 80×25 with 8×8 pixel font (effective resolution of 640×200)
  • 80×25 with 8×14 pixel font (effective resolution of 640×350)
  • 80×43 with 8×8 pixel font (effective resolution of 640×344)

Extended graphics modes of third party boards:

  • 640×400
  • 640×480
  • 720×540

Color palette[]

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.

Standard EGA monitors do not support use of the extended color palette in 200-line modes, because the monitor cannot distinguish between being connected to a CGA card or being connected to an EGA card outputting a 200-line mode. EGA redefines some pins of the connector to carry the extended color information. If the monitor were connected to a CGA card, these pins would not carry valid color information, and the screen might be garbled if the monitor were to interpret them as such. For this reason, standard EGA monitors will use the CGA pin assignment in 200-line modes so the monitor can also be used with a CGA card.[citation needed]

Some EGA monitors are switchable, meaning they can be set up to use the full palette even in 200-line modes, often through a mechanical switch. Only a few commercial games were released with support for the extended color palette in 320×200 or 640×200 (including the DOS version of Super Off Road).[citation needed]

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. For instance, 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).

The table below displays an example palette matching the standard 16 CGA colors, with their representations in hex, decimal and binary. The binary representation is in the form "rgbRGB" where the lowercase letters are the low-intensity bits, and uppercase letters are high-intensity bits.

Default EGA 16-color palette (CGA colors)
Number Color Hexadecimal 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

Specifications[]

The EGA uses a female nine-pin D-subminiature (DE-9) connector for output, identical to the CGA connector, and the signal standard and pinout is backwards-compatible with CGA, allowing EGA monitors to be used on CGA cards and vice versa.

When operating in EGA modes, three pins are repurposed for EGA's secondary RGB signals:

Pin CGA purpose EGA purpose
2 Second ground Secondary red
6 Intensity Secondary green
7 Reserved Secondary blue

When operating in 200-line CGA modes, the EGA card is fully backwards compatible with a standard IBM CGA monitor; however, third-party monitors had varying compatibility.[citation needed]

Front and rear views of the TVM MD-3, a third party EGA monitor. DE-9 input, mode switch, contrast and brightness controls at front, V-Size and V-Hold knobs at rear.

Third-party monitors sometimes connected pin two to ground internally. When connected to an EGA card, this shorts the EGA's secondary red output to ground and can damage the card. Also, some monitors were wired with pin two as their sole ground, and these will not work with the EGA.[citation needed]

Conversely, an EGA monitor should work with a CGA adapter, but if it is not set to CGA mode, the secondary red signal will be grounded (always zero) and the secondary blue will be floating (unconnected), causing all high-intensity colors except brown to display incorrectly, and all colors to potentially have a variable blue tint due to the indeterminate state of the unconnected secondary blue.[citation needed]

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

Pinout[]

EGA connector pinout when looking at back of computer
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

Memory mapping[]

For color text and CGA graphics modes, video memory is mapped to 16 KB of addresses beginning at address B8000h, and in monochrome (MDA-compatible) text mode, video memory occupies 16 KB beginning at B0000h. These address mappings are for backwards compatibility.

For modes new to the EGA, the video memory begins at address A0000h and occupies 64 KB. The different base addresses for color vs. monochrome modes makes it possible for an EGA to be used simultaneously with a monochrome graphics card in the same computer, or for an EGA in MDA text mode to used simultaneously with a CGA in the same computer.

EGA's native graphics modes are planar, as opposed to the interlaced CGA and Hercules modes. Video memory is divided into four pages (except 640×350×2, which has two pages), one for each component of the RGBI color space, with each bit representing one pixel. If a bit in the red page is enabled, but none of the equivalent bits in the other pages are, a red pixel will appear in that location on-screen. If all the other bits for that particular pixel were also enabled, it would become white, and so forth.

Planes are different sizes depending on the mode:

EGA video plane sizes
Mode Plane size
200-line modes,

640×350×2 mode

8KB
640×350 with 64kB RAM 16KB
640×350 with 128kB RAM 32KB

All planes reside at segment A000 in the CPU's address space. They are bank-switched, and only one plane can be read on the CPU bus at once, however, the programmer may set the control registers on the card to select which planes are written to, which permits writing to several at once. An exception is read mode 1, in which all four planes are read and compared with programmed "Color Compare" data, and a byte indicating the result of comparing all four planes can be read on the I/O bus.

Adoption[]

Commercial software began supporting EGA by 1986 and Sierra's King's Quest III was one of the earliest PC games to use it. By 1987, EGA support was commonplace.[20] Most software made up to 1991 could run in EGA, although the vast majority of commercial games used 320×200 with 16 colors for backwards compatibility with CGA and Tandy, and to support users who did not own an enhanced EGA monitor. 350-line modes were mostly used by freeware/shareware games and application software, although SimCity is a notable example of a commercial game that runs in 640×350×16 mode.[citation needed]

See also[]

Notes[]

  1. ^ IBM Announcement Letter Number 184-114 dated September 10, 1984, http://www-01.ibm.com/common/ssi/ShowDoc.wss?docURL=/common/ssi/rep_ca/4/897/ENUS184-114/index.html&lang=en&request_locale=en
  2. ^ High-Resolution Standard Is Latest Step in DOS Graphics Evolution, InfoWorld, June 26, 1989, p. 48
  3. ^ News Briefs, Big Blue Turns Colors, InfoWorld, Oct. 8, 1984
  4. ^ IBM EGA Installation Instructions (PDF). 1984. p. 1.
  5. ^ Jump up to: a b Inc, InfoWorld Media Group (1986-07-28). InfoWorld. InfoWorld Media Group, Inc.
  6. ^ Inc, InfoWorld Media Group (1987-02-23). InfoWorld. InfoWorld Media Group, Inc.
  7. ^ Scott Mueller, Upgrading and Repairing PCs, Tenth Edition, Que,1998, 0-7897-1636-4, page 515
  8. ^ IBM EGA Installation Instructions (PDF). pp. 9, 10, 11.
  9. ^ IBM Enhanced Graphics Adapter manual (PDF). p. 7.
  10. ^ IBM Enhanced Graphics Adapter manual (PDF). p. 83.
  11. ^ Hart, Glenn A. (December 25, 1984). "IBM Sets a New Standard". PC Magazine. Ziff-Davis Publishing. 3 (25): 173.
  12. ^ Jump up to: a b IBM Enhanced Graphics Adapter manual (PDF). pp. 5, 6, 7.
  13. ^ Inc, InfoWorld Media Group (1987-08-17). InfoWorld. InfoWorld Media Group, Inc.
  14. ^ Jump up to: a b IBM Enhanced Graphics Adapter manual (PDF). pp. 1, 81.
  15. ^ IBM Enhanced Graphics Adapter manual (PDF). p. 75.
  16. ^ Jump up to: a b IBM Enhanced Graphics Adapter manual (PDF). pp. 5, 6, 7.
  17. ^ Complete Instructions to BLOAD and BSAVE EGA and VGA Screens, Microsoft
  18. ^ Abrash, Michael (2001). "Chapter 43: Bit-plane animation". Graphics Programming Black Book. Coriolis Group Books. pp. 1342. ISBN 1-57610-174-6. Retrieved February 6, 2017.
  19. ^ 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 2, 1984.
  20. ^ Inc, Ziff Davis (1987-06-23). PC Mag. Ziff Davis, Inc.

References[]

Retrieved from ""