Everything about VGA


According to Abbreviationfinder.org, VGA stands for Video graphics array. (V ideo g raphics a rray). Standard analog computer display, (subminiature D 15-pin VGA connector first marketed in 1988 by IBM); such as 640 × 480 resolution. This resolution has been superseded in the computer market, and it is becoming popular again for mobile devices.

VGA was the last graphics standard introduced by IBM that most PC clone manufacturers conformed to, making it today (as of 2007) the minimum that all graphics hardware supports before loading a specific device. For example, the Microsoft Windows screen appears while the machine is still operating in VGA mode, which is why this screen will always appear with reduced resolution and color depth.

It was officially superseded by IBM’s standard XGA but has actually been superseded by numerous slightly different clone extensions to VGA made by manufacturers that became collectively known as Super VGA.


In 1987, IBM introduced the Display Hardware known as VGA. It was installed on their IBM PS / 2 line of computers. While the PC was only a marginal success and was soon not to provide a large market for IBM, VGA became universal for many different PC makers. While its real meaning was video graphics matrix, it has gained recognition as a video graphics adapter, since many of the different types of adapters are VGA-compatible.

While still used in most computers, newer types of VGA have appeared that make it increasingly obsolete. Officially, it was superseded by the XGA, which was made by IBM. However, other companies began to create their own types of VGA and therefore it was superseded long before the updated version of IBM was released.

VGA connector

A VGA connector as it is commonly known (other names include RGBHV connector, D-sub 15, sub mini mini D15 and D15), three-row 15-pin DE-15. There are four versions: original, DDC2, the older and less flexible DE-9, and a Mini-VGA used for laptops.

The common 15 – pin connector found on most cards Video, Monitors for computers, and other devices, it is almost universally called “HD-15”. HD is “high density” which distinguishes it from connectors that have the same form factor, but only on 2 rows of pins. However, this connector is often mistakenly referred to as DB-15 or HDB-15.

VGA connectors and associated cabling are almost always used exclusively to carry analog RGBHV (red – green – blue – horizontal sync – vertical sync) components, along with DDC2 digital clock and data video signals. In case size is a limitation (such as laptops) a mini-VGA port may occasionally feature instead of the full-size VGA connector.

Technical details

VGA is called ” Matrix ” (Array ) instead of “adapter” (adapter), since it was implemented from the beginning as a single Chip, replacing the Motorola 6845 and dozens of discrete logic chips that cover a total length of an ISA card that MDA, CGA and EGA used. This also allows them to be placed directly on the PC motherboard with minimal fuss (it only requires video memory and an external RAMDAC). The first IBM PS / 2 models were equipped with VGA on the motherboard. The VGA specifications are as follows:

  • 256 KB Video RAM
  • Modes: 16-color and 256-color
  • 262144 color palette values ​​(6 bits for red, green and blue)
  • Selectable master clock of 25.2 MHz or 28.3
  • Maximum of 720 horizontal pixels
  • 480 lines maximum
  • Refresh rate up to 70 Hz
  • Empty vertical interrupt (Not all cards support it)
  • Flat mode: maximum 16 colors
  • Packed pixel mode: in 256 colors mode (13h mode)
  • Scrolling support
  • Some operations for bitmaps
  • Barrel shifter
  • Support to split the screen
  • 7 V peak to peak
  • 75 ohm impedance (9.3mA – 6.5mW)

VGA supports both all-point addressable modes and alphanumeric text modes. The standard graphics modes are:

  • 640 × 480 in 16 colors
  • 640 × 350 in 16 colors
  • 320 × 200 in 16 colors
  • 320 × 200 in 256 colors (13h mode)

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

Standard text modes

The standard alphanumeric text modes for VGA use 80 × 25 or 40 × 25 text cells. Each cell can choose between one of the 16 colors available for its foreground and 8 colors for the background; the 8 background colors are allowed without the High Intensity Bit. Each character can also flash, and all those that are set to flash will flash in unison.

The blinking option for the entire screen can be changed by the ability to choose the background color for each of the cells from all 16 colors. All of these options are the same as the CGA adapter presented by IBM.

VGA adapters generally support text mode in both black and white and color, although Monochrome mode is almost never used. Black and white on almost all modern VGA adapters do so with gray text on a black background in color mode. Monochrome VGA monitors were sold primarily for text applications, but most of them work well with at least one VGA adapter in color mode.

Occasionally a faulty connection between a modern monitor and a VGA Video Card will cause the card to detect the monitor as monochrome, thus causing the BIOS and the initial boot sequence to appear in Grayscale. Generally, once the video card drivers have been loaded (for example, by booting the operating system) this detection will be overloaded and the monitor will return to color.

In color text mode, each character on the screen is actually represented by two Bytes. The lower, is the actual character for the current character set, and the upper, or byte attribute is a bit field used to select the different video attributes, such as color, flicker, character set, etc. This pair-byte scheme is one of the features that VGA ultimately inherited from CGA.

VGA color palette

The VGA color system is compatible with EGA and CGA adapters, adding another level of configuration on top. CGA was able to display up to 16 colors, and EGA expanded this by allowing each of the 16 colors to be chosen from a color palette of 64 (these 64 colors are made up of two bits for red, green, and blue: two bits × three channels, which is equal to six bits, which is equal to 64 different values). VGA further extends the capabilities of this system by increasing the EGA palette from 64 inputs to 256 inputs. Two blocks of more than 64 colors with progressively darker tones were added, along 8 “blank” entries that were set to black.

In addition to expanding the palette, each of the 256 inputs could be assigned an arbitrary color value via the VGA DAC. The EGA BIOS only allowed 2 bits per channel to represent each input, while VGA allowed 6 bits to represent the intensity of each of the three primaries (red, blue, and green). This provided a total of 63 different intensity levels of red, green and blue, resulting in 262144 possible colors, any 256 could be assigned to the palette (and, in turn, of the 256, any 16 of them could be displayed in modes CGA video). This method allowed for new colors to be used in EGA and CGA graphics modes, providing a reminder of how the different palette systems are set together.

To set the text color to very dark red in text mode, for example, it will have to be set to one of the CGA colors (for example, the default color, # 7: light gray.) This color is then mapped to one the EGA palette, in the case of CGA color 7, is mapped to EGA input 42. The VGA DAC should be configured to change color 42 to dark red, and then immediately anything that appears on the screen in light gray (CGA color 7) will turn dark red. This feature is often used in 256-color DOS games.

While the supported CGA and EGA modes allowed 16 colors to be displayed at once, other VGA modes, such as the widely used 13h mode, allowed all 256 palette entries to be displayed on the screen at the same time, and so on. modes any 256 colors could be viewed out of the 262144 colors available.

Addressing details

VGA Video memory is mapped to PC memory through a window in the range between segments 0xA000 and 0xC000 in real-mode address space. Typically these segments are:

  • 0xA000 for EGA / VGA graphics modes (64 KB)
  • 0xB000 for monochrome in text mode (32 KB)
  • 0xB800 for color in text mode and supported graphics CGA modes (32 KB)

Due to the use of different address assignments for different modes, it is possible to have a monochrome display adapter and a color adapter, such as VGA, EGA, or CGA installed on the same machine. In the early 1980s this was used to display Lotus 1-2-3 spreadsheets in high resolution text on an MDA display and associated graphics in low resolution CGA on one display simultaneously.

Many programmers also use such a service with the monochrome card that displays debugging information while running a program on the other card in graphics mode. Several debuggers, as Borland Turbo Debugger, D86 (by Alan J. Cox) and CodeView of Microsoft could work in a dual monitor configuration.

Either Turbo Debugger or CodeView could be used to debug Windows. There are also DOS device drivers, such as ox.sys, which implemented a serial interface for simulation on the MDA screen, for example, allowing the user to receive debug error messages from Windows versions without using a real serial terminal.

You can also use the command “MONO MODE” in the Prompt for DOS to redirect output to the monochrome display. When a Monochrome Display Adapter was not present, the memory address space 0xB000 – 0xB7FF could be used additionally for other programs (for example, by adding the line “DEVICE – EMM386.EXE I – B000-B7FF” in config.sys), this memory would be available for programs that can be loaded into high memory.

Programming tips

An undocumented but popular technique dubbed Mode X (coined by Michael Abrash) was used to make programming techniques and graphic resolutions possible that were not otherwise possible in the Mode 13h standard. This was done by “dismembering” the 256 KB of VGA memory into four “planes”, which would make all of the 256 KB of VGA RAM available in 256 color modes. There was an extra trade-off for complexity and performance loss in some graphics operations, but it was mitigated by other operations more and more rapidly in certain situations:

  • Polygon filling of one color could be sped up due to the ability to set four Pixels with a single write on the Hardware.
  • The video adapter could help in copying video RAM regions, which is sometimes faster than doing it with the slow CPU to VGA interface .
  • Various higher resolution modes are possible: in 16 colors, 704 × 528, 736 × 552, 768 × 576, and up to 800 × 600 were possible. Software such as ColoRIX (a 256-color graphics processing program) also supported 256-color color modes using many combinations of the 256, 320, and 360 pixel columns, and 200, 240, 256, 400, and rows. 480 lines (the upper limit of 640 × 400, which uses almost all VGA Bytes 256 KB of video RAM). However, 320 × 240 is the best known and frequently used as it is the typical 4: 3 picture format with square pixel resolution.
  • The use of multiple video pages in Hardware allows the programmer to perform double buffering , which is available in all 16 color VGA modes, it was not possible to use the 13h mode.

Sometimes the monitor’s refresh rate had to be lowered to accommodate these modes, increasing eye strain. They are also incompatible with some older monitors, causing display problems such as missing image detail, flickering, vertical and horizontal ” Scrolling ” and out of sync depending on the mode being attempted.

Because of this, most of the VGA settings used in commercial products were limited to “monitor-safe” combinations, such as 320 × 240 (square pixels, three pages of videos), 320 × 400 (twice the resolution, two pages of videos), and 360 × 480 (VGA standard maximum resolution supported by monitors, one page video).