Video Graphics Array (VGA) is a video display controller and accompanying de facto graphics standard, first introduced with the IBM PS/2 line of computers in 1987, which became ubiquitous in the IBM PC compatible industry within three years. The term can now refer to the computer display standard, the 15-pin D-subminiature VGA connector, or the resolution characteristic of the VGA hardware.

VGA was the last IBM graphics standard to which the majority of IBM PC compatible computer manufacturers conformed, making it the lowest common denominator that virtually all post-1990 PC graphics hardware can be expected to implement.

VGA was adapted into many extended forms by third parties, collectively known as Super VGA, then gave way to custom graphics processing units which, in addition to their proprietary interfaces and capabilities, continue to implement common VGA graphics modes and interfaces to the present day.

The VGA analog interface standard has been extended to support resolutions of up to for general usage, with specialized applications improving it further still.

Hardware design The color palette random-access memory (RAM) and its corresponding digital-to-analog converter (DAC) were integrated into one chip (the RAMDAC) and the cathode-ray tube controller (CRTC) was integrated into a main VGA chip, which eliminated several other chips in previous graphics adapters, so VGA only additionally required external video RAM and timing crystals.

This small part count allowed IBM to include VGA directly on the PS/2 motherboard, in contrast to prior IBM PC modelsPC, PC/XT, and PC ATwhich required a separate display adapter installed in a slot in order to connect a monitor. The term array rather than adapter in the name denoted that it was not a completely independent expansion device, but a single component that could be integrated into a system.

Unlike the graphics adapters that preceded it (MDA, CGA, EGA and many third-party options), there was initially no discrete VGA card released by IBM. The first commercial implementation of VGA was a built-in component of the IBM PS/2, in which it was accompanied by 256 KiB of video RAM, and a new DE-15 connector replacing the DE-9 used by previous graphics adapters. IBM later released the standalone IBM PS/2 Display Adapter, which utilized the VGA but could be added to machines that did not have it built in.

On some machines and cables, pin 9 was missing. Pin 9's purpose is to power an EEPROM chip in the monitor, which tells the graphics card the capabilities on the monitor. Systems or cables missing this are likely using an older version of VGA.

Capabilities

The VGA supports all graphics modes supported by the MDA, CGA and EGA cards, as well as multiple new modes.

Standard graphics modes in 4 or 16 colors (CGA/EGA compatibility) in 256 colors (Mode 13h) and in 16 colors or monochrome (CGA/EGA compatibility) in 16 colors or monochrome

The 16-color and 256-color modes had fully redefinable palettes, with each entry selected from an 18-bit (262,144-color) gamut.

The other modes defaulted to standard EGA or CGA-compatible palettes and instructions, but still permitted remapping of the palette with VGA-specific commands.

graphics mode The resolution (at 256 colors rather than 16) was originally used by IBM in PGC graphics (which VGA offers no backward compatibility for) but did not see wide adoption until VGA was introduced. As the VGA began to be cloned in great quantities by manufacturers who added ever-increasing capabilities, its , 16-color mode became the de facto lowest common denominator of graphics cards. By the mid 1990s, a ×16 graphics mode using the VGA memory and register specifications was expected by operating systems such as Windows 95 and OS/2 Warp 3.0, which provided no support for lower resolutions or bit depths, or support for other memory or register layouts without additional drivers. Well into the 2000s, even after the VESA standard for graphics cards became commonplace, the "VGA" graphics mode remained a compatibility option for PC operating systems.

Other graphics modes Nonstandard display modes can be implemented, with horizontal resolutions of:

512 to 800 pixels wide, in 16 colors 256 to 400 pixels wide, in 256 colors And heights of: 200, or 350 to 410 lines (including 400-line) at 70 Hz refresh rate, or 224 to 256, or 448 to 512 lines (including 240 or 480-line) at 60 Hz refresh rate 512 to 600 lines at reduced vertical refresh rates (down to 50 Hz, and including e.g. 528, 544, 552, 560, 576-line), depending on individual monitor compatibility. For example, high resolution modes with square pixels are available at or in 16 colors, or medium-low resolution at with 256 colors. Alternatively, extended resolution is available with "fat" pixels and 256 colors using, e.g., (50 Hz) or (60 Hz), and "thin" pixels, 16 colors and the 70 Hz refresh rate with e.g. mode.

"Narrow" modes such as tend to preserve the same pixel ratio as in e.g. mode unless the monitor is adjusted to stretch the image out to fill the screen, as they are derived simply by masking down the wider mode instead of altering pixel or line timings, but can be useful for reducing memory requirements and pixel addressing calculations for arcade game conversions or console emulators.

The PC version of Pinball Fantasies has the option to use non-standard, "high res" modes, such as , allowing it to display a larger portion of the pinball table on screen. The game Scorched Earth uses a default resolution of , with many other nonstandard resolutions available.

Standard text modes

VGA also implements several text modes:

, rendered with a pixel font, with an effective resolution of , with a font, with an effective resolution of or , with an font grid, with an effective resolution of or pixels.

As with the pixel-based graphics modes, additional text modes are possible by programming the VGA correctly, with an overall maximum of about cells and an active area spanning about cells.

One variant that is sometimes seen is or , using an or font and an effective pixel display, which trades use of the more flickery 60 Hz mode for an additional 5 or 10 lines of text and square character blocks (or, at , square half-blocks).

Technical details Unlike the cards that preceded it, which used binary TTL signals to interface with a monitor (and also composite, in the case of the CGA), the VGA introduced a video interface using pure analog RGB signals, with a range of 0.7 volts peak-to-peak max. In conjunction with a 18-bit RAMDAC (6-bit per RGB channel), this produced a color gamut of 262,144 colors.

The original VGA specifications follow:

Selectable 25.175 MHz or 28.322 MHz master pixel clock Maximum of 640 horizontal pixelsPS/2 Video Subsystem Technical Reference Manual 1992 http://www.mcamafia.de/pdf/ibm_hitrc10.pdf in graphics mode, and 720 pixels in text mode Maximum of 480 lines Refresh rates at 60 or 70 Hz (actually 59.94 and 70.086) Vertical blank interrupt (Not all clone cards support this.) Planar mode: up to 16 colors (4 bit planes) Packed-pixel mode: 256 colors (Mode 13h) Hardware smooth scrolling support No Blitter Supports fast data transfers via "VGA latch" registers Barrel shifter Split screen support

There are two types of "video modes" to be distinguished: the mode as perceived by the display and the mode as perceived by the BIOS and higher software. The former is solely defined by the timing characteristics of the display signal. The latter is defined not only by the intended display signal, but also the data the VGA card uses to generate the signal: either be grid of characters (text mode) or a grid of pixels (a framebuffer, graphics mode), with a varying amount of data dedicated to color information. As a result, each display-mode can correspond to multiple BIOS-modes.

Signal timings The intended standard value for the line frequency of VGA's mode (31.469 kHz = 25.175 MHz / 800 = 28.322 MHz / 900) is exactly double the value used in the CCIR System M (used in NTSC-M) video system (15.734 kHz), as this made it much easier to offer optional TV-out solutions or external VGA-to-TV converter boxes at the time of VGA's development.

In the well-known @60 mode, there are 525 lines per field (480 of which are visible) with a field frequency of 59.94 Hz, the same as NTSC-M. Each horizontal line runs for 31.778 μs and contains 800 pixels, 640 of which are addressable.VESA Display Monitor Timing Standard, 640 x 480 at 60 Hz (non-interlaced), "Industry standard" and "For Reference Only - Not VESA Standard". https://glenwing.github.io/docs/VESA-DMT-1.10.pdf page 10 The doubling of the clock is due to VGA using a progressive (480p) scanning mode as opposed to the interlaced (480i) mode of NTSC-M.

(For this most common VGA mode, the horizontal timings can be found in the HP Super VGA Display Installation Guide and in other places.HP D1194A Super VGA Display & HP D1195A Ergonomic Super VGA Display Installation Guide, Hewlett Packard)

The line frequency is slightly more than twice that of CGA (15.700 kHz), which supported both NTSC and composite monitors. (Although not an exact match of the specified NTSC H-freq, CGA signal lies within the tolerance of receivers.)

Non-standard timings All "derived" VGA timings (i.e., those which use the master 25.175 and 28.322 MHz crystals and, to a lesser extent, the nominal 31.469 kHz line rate) can be varied by software that bypasses the VGA firmware interface and communicates directly with the VGA hardware, as many MS-DOS-based games did. However, only the standard modes, or modes that at least use almost exactly the same H-sync and V-sync timings as one of the standard modes, can be expected to work with the original late-1980s and early-1990s VGA monitors. The use of other timings may, in fact, damage such monitors and thus was usually avoided by software publishers.

Third-party "multisync" CRT monitors were more flexible, and in combination with "super EGA", VGA, and later SVGA graphics cards using extended modes, could display a much wider range of resolutions and refresh rates at arbitrary sync frequencies and pixel clock rates.

Typical uses of selected modes

@ 60 Hz This "standard VGA" mode is the default Windows graphics mode (usually with 16 colors), 090425 epanorama.net up to Windows 2000. It remains an option in XP via the boot menu "low resolution video" option and per-application compatibility mode settings, despite newer versions of Windows now defaulting to and generally not allowing any resolution below to be set. The need for such a low-quality, universally compatible fallback has diminished since the turn of the millennium, as . / @ 70 Hz / @ 70 Hz These modes are the same to the monitor: they all have a 31.469 kHz line, and 70.086 Hz field. There are 449 lines per field (320×200 is presented as 640×400 to the display through double-scanning in the VGA card). As a result, the display does not need to re-synchronize when switching between these modes, which could otherwise have taken several seconds. (The 25.175 MHz pixel clock is used on the former two for 800 pixels per line, and the 28.322 MHz on the latter two for 900 pixels per line.) @ 70 Hz is traditionally the mode used for booting VGA-compatible x86 personal computers. It is almost always backed by a text mode having a character grid with -sized characters. The Windows 95/98/Me LOGO.SYS boot-up image was resolution, displayed with pixel-doubling to present a at 70 Hz signal to the monitor. Pressing to return to text mode would be instant due to not needing re-sync. A @ 70 Hz "text mode" is used by MS-DOS for system boot. (Because there is no VGA text mode for (only a VESA one), it is likely a doubling of the text modes 0 and 1 inherited from CGA.)