Color Graphics Adapter (CGA) The first mainstream video card to support color graphics on the PC was IBM's Color Graphics Adapter (CGA) standard. The CGA supports several different modes; the highest quality text mode is 80x25 characters in 16 colors. Graphics modes range from monochrome at 640x200 (which is worse than the Hercules card) to 16 colors at 160x200. The card refreshes at 60 Hz. Note that the maximum resolution of CGA is actually significantly lower than MDA: 640x200. These dots are accessible individually when in a graphics mode but in text each character was formed from a matrix that is 8x8, instead of the MDA's 9x14, resulting in much poorer text quality. CGA is obsolete, having been replaced by EGA.
Enhanced Graphics Adapter (EGA) IBM's next standard after CGA was the Enhanced Graphics Adapter or EGA. This standard offered improved resolutions and more colors than CGA, although the capabilities of EGA are still quite poor compared to modern devices. EGA allowed graphical output up to 16 colors (chosen from a palette of 64) at screen resolutions of 640x350, or 80x25 text with 16 colors, all at a refresh rate of 60 Hz. You will occasionally run into older systems that still use EGA; EGA-level graphics are the minimum requirement for Windows 3.x and so some very old systems still using Windows 3.0 may be EGA. There is of course no reason to stick with EGA when it is obsolete and VGA cards are so cheap and provide much more performance and software compatibility Video Graphics Adapter (VGA) The replacement for EGA was IBM's last widely-accepted standard: the Video Graphics Array or VGA. VGA, supersets of VGA, and extensions of VGA form today the basis of virtually every video card used in PCs. Introduced in the IBM PS/2 model line, VGA was eventually cloned and copied by many other manufacturers. When IBM fell from dominance in the market, VGA continued on and was eventually extended and adapted in many different ways. Most video cards today support resolutions and color modes far beyond what VGA really is, but they also support the original VGA modes, for compatibility. Most call themselves "VGA compatible" for this reason. Many people don't realize just how limited true VGA really is; VGA is actually pretty much obsolete itself by today's standards, and 99% of people using any variant of Windows are using resolution that exceeds the VGA standards. True VGA supports 16 colors at 640x480 resolution, or 256 colors at 320x200 resolution (and not 256 colors at 640x480, even though many people think it does). VGA
colors are chosen from a palette of 262,144 colors (not 16.7 million) because VGA uses 6 bits to specify each color, instead of the 8 that is the standard today. VGA (and VGA compatibility) is significant in one other way as well: they use output signals that are totally different than those used by older standards. Older displays sent digital signals to the monitor, while VGA (and later) send analog signals. This change was necessary to allow for more color precision. Older monitors that work with EGA and earlier cards use so-called "TTL" (transistor-transistor logic) signaling and will not work with VGA. Some monitors that were produced in the late 80s actually have a toggle switch to allow the selection of either digital or analog inputs. See here for more on the issue of analog and digital signalling. Note that standard VGA does not include any hardware acceleration features: all the work of creating the displayed image is done by the system processor. All acceleration features are extensions beyond standard VGA. Super VGA (SVGA) and Other Standards Beyond VGA VGA was the last well-defined and universally accepted standard for video. After IBM faded from leading the PC world many companies came into the market and created new cards with more resolution and color depths than standard VGA (but almost always, backwards compatible with VGA). Most video cards (and monitors for that matter) today advertise themselves as being Super VGA (SVGA). What does a card saying it is SVGA really mean? Unfortunately, it doesn't mean much of anything. SVGA refers collectively to any and all of a host of resolutions, color modes and poorly-accepted pseudo-standards that have been created to expand on the capabilities of VGA. Therefore, knowing that a card that supports "Super VGA" really tells you nothing at all. In the current world of multiple video standards you have to find out specifically what resolutions, color depths and refresh rates each card supports. You must also make sure that the monitor you are using supports the modes your video card produces; here too "Super VGA compatible" on the monitor doesn't help you. To make matters more confusing, another term is sometimes used: Ultra VGA or UVGA. Like SVGA, this term really means nothing also. :^) Some people like to refer to VGA as 640x480 resolution, SVGA as 800x600, and UVGA as 1024x768. This is overly simplistic however, and really is not something that you can rely upon. The proliferation of video chipsets and standards has created the reliance on software drivers that PC users have come to know so well. While Microsoft Windows, for example, has a generic VGA driver that will work with almost every video card out there, using the higher resolution capabilities of your video card requires a specific driver written to work with your card. (The VESA standards have changed this somewhat, but not entirely).
IBM did create several new video standards after VGA that expanded on its capabilities. Compared to VGA, these have received very limited acceptance in the market, mainly because they were implemented on cards that used IBM's proprietary Micro Channel Architecture (which received no acceptance in the market). You may hear these acronyms bandied about from time to time: •
•
•
8514/A: This standard was actually introduced at the same time as standard VGA, and provides both higher resolution/color modes and limited hardware acceleration capabilities as well. By modern standards 8514/A is still rather primitive: it supports 1024x768 graphics in 256 colors but only at 43.5 Hz (interlaced), or 640x480 at 60 Hz (non-interlaced). XGA: This acronym stands for Extended Graphics Array. XGA cards were used in later PS/2 models; they can do bus mastering on the MCA bus and use either 512 KB or 1 MB of VRAM. In the 1 MB configuration XGA supports 1,024x768 graphics in 256 colors, or 640x480 at high color (16 bits per pixel). XGA-2: This graphics mode improves on XGA by extending 1,024x768 support to high color, and also supporting higher refresh rates than XGA or 8514/A.
The closest thing to a true SVGA standard is the set of standards created by VESA. VESA Super VGA Standards In an attempt to bring some order to the chaos of competing and incompatible Super VGA standards on the market, the Video Electronics Standards Association (VESA) has worked to establish new video interface standards. The intention of these standards is to once again provide a standardized application program interface between video hardware and application software. This would allow software developers to write their code to work with a single standard video model instead of having to write custom code to support the many different cards in use in the market today. Originally ignored by many vendors, VESA support is now becoming generally accepted as beneficial, and something that buyers look for when shopping for a video card. This is in part due to the growing number of programs (especially games) that require VESA SVGA compatibility in order to function at peak performance. The VESA SVGA standard is called the VESA BIOS Extension, sometimes abbreviated as VBE. There are actually more than one now, as more than one version of the standard exists. What's interesting about VBE is that it can be implemented in either hardware or software. Some video cards support a particular VBE standard in hardware. Those that do not can use a small memory-resident program--which is sometimes called a "VESA driver" even though it technically isn't a driver--that will provide VESA support for many cards that don't support VBE natively. This flexibility has helped encourage the widespread adoption of the standard because even proprietary hardware can be made to work with standard software, mostly transparently.
There are two common VBE standards currently in use: version 1.2 and version 2.0. Obviously, version 1.2 is seen much more in hardware than version 2.0 because it is older. Many newer cards provide native VBE 2.0 support. For those that do not, there are memory-resident programs such as SciTech's Display Doctor that can be used to provide VBE 2.0 support. For older cards, a program such as Display Doctor can actually improve performance because it controls the hardware more efficiently than the on-board BIOS does. Hardware support for VBE version 2.0 is preferable as this avoids the necessity of using a software program to provide VESA support. However, there are reports of some cards that have buggy implementations of VBE 2.0 that don't always work 100% correctly. In these cases supplementing with something like UniVBE can eliminate some of these problems.