Opentopia Directory Encyclopedia Tools

Video Graphics Array

Encyclopedia : V : VI : VID : Video Graphics Array


Video Graphics Array (VGA) is an analog computer display standard first marketed in 1987 by IBM. While it has been obsolete for some time, it was the last graphical standard that the majority of manufacturers decided to follow, making it the lowest common denominator that all PC graphics hardware supports prior to a device-specific driver being loaded. For example, the Microsoft Windows splash screen appears while the machine is still operating in VGA mode, which is the reason that this screen always appears in reduced resolution and color depth.

The term VGA is often used to refer to a resolution of 640×480, regardless of the hardware that produces the picture. It may also refer to the 15-pin D-subminiature VGA connector which is still widely used to carry analog video signals of all resolutions.

VGA was officially superseded by IBM's XGA standard, but in reality it was superseded by numerous extensions to VGA made by clone manufacturers that came to be known as "Super VGA".

Technical details

VGA is referred to as an "array" instead of an "adapter" because it was implemented from the start as a single chip, replacing the Motorola 6845 and dozens of discrete logic chips covering a full-length ISA board that the MDA, CGA, and EGA used. This also allowed it to be placed directly on a PC's motherboard with a minimum of difficulty (it only required video memory, timing crystals and an external RAMDAC), and the first PS/2 models were equipped with VGA on the motherboard.

The VGA specifications are as follows:

The VGA supports both All Points Addressable graphics modes, and alphanumeric text modes. Standard graphics modes are

As well as the standard modes, VGA can be configured to emulate many of the modes of its predecessors (EGA, CGA, and MDA).

Programming tricks

An undocumented but popular technique nicknamed Mode X (first coined by Michael Abrash) was used to make available programming techniques and graphics resolutions not possible in the standard Mode 13h. This was done by "unchaining" the 256 KiB VGA memory into four separate "planes", which would make all of VGA's 256 KiB of RAM available in 256-color modes. There was a trade-off for extra complexity and performance loss in some types of graphics operations, but this was mitigated by other operations becoming faster in certain situations:

However the monitor refresh rate had to be reduced to accommodate these modes, increasing eye-strain. They were also incompatible with some older monitors, producing display problems such as picture detail disappearing into overscan, flickering, vertical roll, and lack of horizontal sync depending on the mode being attempted. Because of this, most VGA tweaks used in commercial products were limited to "monitor-safe" combinations, such as 320×400 (double resolution, two video pages), 320×240 (square pixels), and 360x480 (highest resolution compatible with standard VGA monitors).

Text modes

Standard alphanumeric text modes for the VGA use 80×25 or 40×25 text cells. Each cell may choose from one of 16 available colors for its foreground and 8 colors for the background; the 8 background colors allowed are the ones without the high-intensity bit set. Each character may also be made to blink; all that are set to blink will blink in unison. The blinking option for the entire screen can be exchanged for the ability to choose the background color for each cell from among all 16 colors. All of these options are the same as those on the CGA adapter as introduced by IBM.

VGA adapters usually support both a monochrome and a color text mode, though the monochrome mode is almost never used. Black and white text on nearly all modern VGA adapters is drawn by using gray colored text on a black background in color mode. VGA monochrome monitors were sold (intended primarily for text applications), but most of them will work at least adequately with a VGA adapter in color mode.

In color text mode, each screen character is actually represented by two bytes. The lower, or character byte is the actual character for the current character set, and the higher, or attribute byte is a bitfield used to select various video attributes such as color, blinking, character set, and so forth. This byte-pair scheme is among the features that VGA inherited ultimately from CGA.

Addressing details

The video memory of the VGA is mapped to the PC's memory via a window in the range between 0xA0000 and 0xC0000 in the PC's real mode address space. Typically these are:

Due to the use of different address mappings for different modes it is possible to have an Monochrome Display Adapter and a color adapter such as the VGA, EGA, or CGA installed in one machine. At the beginning of the 1980s, this was used, for example, to display Lotus 1-2-3 spreadsheets in high-resolution text on a MDA display and associated graphics on a low-resolution CGA display. Later, many programmers used such a setup, with the monochrome card displaying debugging information while a program ran in graphics mode on the other card. Notably, Microsoft's CodeView debugger could work in a dual monitor setup to debug Windows. There were also DOS device drivers, usually named ox.sys, which implemented a serial interface simulation on the MDA display, and, for example, allowed the user to receive crash messages from debugging versions of Windows without using an actual serial terminal. It is also possible to use the "MODE MONO" command at the dos prompt to redirect the output to the monochrome display. When a Monochrome Display Adapter was not present you could include the 0xB000 - 0xB7FF memory space for programs. For example adding the line "DEVICE=EMM386.EXE I=B000-B7FF" would make this memory available to programs that you have loaded high.

References

Further reading

Computer display standard
Video hardware
MDA | Hercules | CGA | EGA | VGA | MCGA | 8514 | XGA
Display resolutions ([Image])
QVGA | VGA | SVGA | XGA | SXGA | SXGA+ | UXGA | QXGA | QSXGA | QUXGA | HXGA | HSXGA | HUXGA
Widescreen variants
WXGA | WSXGA/WXGA+ | WSXGA+ | WUXGA | WQXGA | WQSXGA | WHXGA | WHSXGA | WHUXGA | WQUXGA

 


From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.

Search Titles
0123456789
ABCDEFGHIJ
KLMNOPQRST
UVWXYZ?

E-mail this article to:

Personal Message: