VGA (Video Graphics Array) is a standard analog computer display, miniature D-pin 15-pin connector, first released by IBM in 1988 at 640×480 resolution.
What is a VGA Connector?
VGA was the last graphics standard introduced by IBM that most PC clone manufacturers followed, making it the minimum level that all Graphics Hardware supports today before installing a specific device. For example, the Microsoft Windows screen is visible while the machine is still running in VGA mode. Therefore, this screen always appears with reduced resolution and color depth.
It officially replaced IBM’s standard XGA. However, it was replaced by a large number of different extensions made by manufacturers, collectively known as Super VGA.
Historical
In 1987, IBM introduced Display Hardware, also known as VGA. It was installed in the IBM PS/2 line of computers. While the PC was only marginally successful and would not soon provide a large market for IBM, VGA became universal for many different PC manufacturers.
Its real name is Video Graphics Array, but it became known as Video Graphics Adapter because most of the different adapter types were compatible.
Although it is still used in most computers, newer types have emerged that are becoming increasingly obsolete.
XGA, which IBM made, was officially replaced by IBM. However, other companies began producing their types. Therefore, it was replaced long before IBM’s updated version was released.
VGA Connector
A VGA connector, as it is known, is a three-row 15-pin DE-15. There are four versions: the original, DDC2, the oldest and least flexible DE-9, and a Mini-VGA used for laptops.
The standard 15-pin connector found on most video cards, computer monitors, and other devices is almost universally called HD-15. HD distinguishes it from connectors with the same density factor but only two rows of pins. However, this connector is often incorrectly called DB-15 or HDB-15.
VGA connectors and their associated cables are almost always used to carry only DDC2 digital clock and data video signals, as well as analog RGBHV components. In cases of size constraints, a mini port may sometimes be found instead of a full-size VGA connector.
Properties
Since it was implemented as a single Chip from the beginning, the EGA was used as an “Array” instead of an “adapter” because it replaced the Motorola 6845 and the dozens of discrete logic chips that spanned the entire length of the MDA, CGA, and ISA board.
This also allows it to be installed directly on the PC motherboard with minimal hassle. 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 colors and 256 colors
- 262144 color palette values (6 bits for red, green, and blue)
- Selectable 25.2 MHz or 28.3 central clock
- 720 horizontal pixels maximum
- 480 lines maximum
- Refresh rate up to 70 Hz
- Blank vertical cut (Not all cards support)
- Flat mode: maximum of 16 colors
- Packed pixel mode: 256-color mode (13-hour mode)
- Scroll stand
- Some bitmap operations
- Barrel changer
- Support split screen
- 0.7 V peak-to-peak
- 75-ohm impedance (9.3mA – 6.5mW)
It supports all addressable point modes and alphanumeric text modes. Standard graphics modes:
- 640×480 in 16 colors
- 640×350 in 16 colors
- 320×200 in 16 colors
- 320×200 in 256 colors
Besides the standard modes, it can be configured to emulate any of its previous modes (EGA, CGA, and MDA).
Standard Text Modes
Standard alphanumeric text modes use 80×25 or 40×25 text cells. Each cell can choose from 16 available foreground colors and eight background colors. All eight background colors are allowed without High-Density bits. Each character can also flash, and all those set to flash will flash together.
The option to flicker for the entire screen can be replaced with the ability to choose a background color for each cell from all 16 colors. All of these options are the same as the CGA adapter offered by IBM.
Adapters usually support both black and white and color text modes, but Monochrome mode is rarely used. Almost all modern adapters do this in black and white, with gray text on a black background in color mode.
Monochrome monitors were primarily sold for text applications. However, most work well in color mode with at least one VGA adapter.
Sometimes, a faulty connection between a modern monitor and a Video Card will cause the card to perceive the monitor as monochrome. Therefore, the BIOS and initial boot sequence will appear as Grayscale.
Usually, once the video card drivers are loaded, this perception is overridden, and the monitor turns color. In color text mode, each character on the screen is actually represented by two Bytes.
The smallest is the actual character for the current character set, and the top character or byte attribute is a bit field used to select different video attributes such as color, dithering, character set, etc. This byte-equivalent scheme is one of the features that VGA eventually inherited from CGA.
Color Palette
The VGA color system is compatible with EGA and CGA adapters and adds another level of configuration. CGA could display up to 16 colors. EGA expanded on that by allowing each of the 16 colors to be selected from a palette of 64.
VGA further expands the capabilities of this system by increasing the EGA palette from 64 to 256 inputs. In addition to the 8 “blank” inputs set to black, two blocks of more than 64 colors with progressively darker tones have been added.
In addition to expanding the palette, each of the 256 inputs can be assigned an arbitrary color value via the VGA DAC. While the EGA BIOS only allowed 2 bits per channel to represent each input, VGA allowed 6 bits to describe the intensity of each of the three primaries (red, blue, and green).
This gives a total of 63 different levels of red, green, and blue intensity, making 262,144 possible colors, of which 256 can be assigned to the palette. This method allows the use of new palette systems in EGA and CGA graphic modes, reminding us of how different palette systems were combined.
For example, to set colored text to a very dark red in text mode, the text must be set to one of the CGA colors. This color is then mapped to the EGA palette individually; in the case of CGA color seven, it is mapped to EGA input 42.
The VGA DAC must be configured to change color 42 to dark red. Immediately, everything that appears on the screen in gray light (CGA color 7) turns dark red. This feature is often used in 256-color DOS games.
The supported CGA and EGA modes allow 16 colors to be displayed simultaneously. Other VGA modes, such as the widely used 13-clock mode, allowed all 256 palette inputs to be displayed on the screen at the same time. In these modes, 256 colors can be displayed out of the 262144 available colors.
Address İnfo
VGA Video memory is mapped to PC memory through a window between the 0xA000 and 0xC000 segments in the real-mode address space. Usually, these segments are:
- 0xA000 (64 KB) for EGA/VGA graphics modes
- 0xB000 (32 KB) for monochrome in text mode
- 0xB800 CGA modes supported for text mode color and graphics (32 KB)
Because of the different address assignments used for the other modes, it is possible to have a monochrome display adapter and a color adapter such as VGA, EGA, or CGA installed in 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 on a low-resolution CGA display at the same time.
Many programmers also use this facility with a monochrome card, displaying debugging information while running a program in graphics mode on the other card. Various debuggers, such as Borland Turbo Debugger, D86 (by J. Alan Cox), and Microsoft’s CodeView, can work in a dual-monitor setup.
Either Turbo Debugger or CodeView can be used to debug Windows. There are also DOS device drivers, such as ox.sys, that implement a serial interface for simulating an MDA display. For example, it allows the user to receive debugging error messages from versions of Windows without using an actual serial terminal.
It is also possible to use the “MONO MODE” command in the DOS Prompt to redirect output to a monochrome display. When the Monochrome Display Adapter is not present, additional memory address space 0xB000 – 0xB7FF is available for other programs. This memory can be used for programs that can be loaded into high memory.
VGA Programming
An undocumented but popular technique nicknamed Mode X (created by Michael Abrash) was used to enable programming techniques and graphics resolutions that were not in the Mode 13h standard.
This was done by splitting the 256 KB of VGA memory into four planes, which would make all 256 KB of VGA RAM available in 256-color color modes. There was extra compensation for the complexity and performance loss in some graphics operations, but in some cases, it was reduced by other operations more quickly:
- Filling polygons with one color can be speeded up due to the ability to set four Pixels with a single write to the hardware.
- The video adapter can help copy video RAM zones, which is sometimes faster than doing it with a slow CPU and VGA interface.
Several higher resolution modes are possible: 704×528, 736×552, 768×576 and up to 800×600 in 16 colors.
Software such as ColoRIX also supported 256-color color modes using many combinations of 256, 320, and 360-pixel columns and 200, 240, 256, 400, and 480 rows. However, 320×240 is the most well-known and most commonly used because it is the typical 4:3 image format with a square pixel resolution.
Using multiple video pages in hardware allows the developer to use double buffering, which is available in all 16-color VGA modes, and it was not possible to use the 13-clock mode.
Sometimes, the monitor’s refresh rate had to be reduced to accommodate these modes, increasing eye strain. They are also incompatible with some older monitors, which can cause display issues such as missing image detail, flickering, vertical and horizontal scrolling, and lack of synchronization depending on the model being tested.
For this reason, most VGA settings used in commercial products are limited to monitor-safe combinations such as 320×240, 320×400, and 360×480.