Video Graphics Array

Video Graphics Array (VGA) is a computer display standard first marketed in 1987 by IBM. VGA belongs to a family of earlier IBM video standards and largely remains backward compatible with them. VGA can be seen as an enhancement of and successor to the previous EGA and CGA graphics adapters. MCGA, also produced by IBM, was similar except that it was a simpler version of the VGA hardware.

SVGA was extended from VGA, defined by Video Electronics Standards Association instead of IBM.

VGA is referred to as an "array" instead of an "adapter" because it was implemented from the start as a single chip (a gate array), replacing the Motorola 6845 and a full-length ISA board full of discrete components 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. Since it wasn't restricted to being an add-on board, the name refers to the chip itself.

As with most IBM hardware the VGA was extensively cloned by other manufacturers. While the VGA has been obsolete in original form for some time it was the last IBM standard that the majority of PC clone manufacturers decided to follow, making it even today the only standard graphics interface that can be relied on to be present on the PC architecture. VGA was technically superseded by IBM's XGA standard, but in reality it was superseded by the numerous extensions to the VGA by clone manufactuers that came to be known as Super VGA.

VGA remains a relevant graphics standard. It forms the "lowest common denominator" that all PC graphics cards need to support prior to a device-specific driver being loaded. On Windows machines, 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 compared to following screens.


Technical details

The VGA specifications are as follows:

  • 256KByte Video RAM
  • 16 colour and 256 colour modes
  • 262144 (2^18: six bits [64 values] each for red, green, and blue) colour palette
  • Selectable 25MHz or 28MHz master clock
  • Maximum of 720 horizontal pixels
  • Maximum of 480 lines
  • Refresh rates at up to 70 Hz
  • planar mode: up to 16 colours (4 bit planes)
  • packed-pixel mode: 256 colours (Mode 13h)
  • Hardware smooth scrolling support
  • Some 'Raster Ops' support
  • Barrel shifter
  • Split screen support
  • Soft fonts

The VGA supports both All Points Addressable graphics modes, and Alphanumeric Text modes. Standard graphics modes are:

  • 640480 in 16 colours
  • 640350 in 16 colours
  • 320200 in 16 colours
  • 320200 in 256 colours (Mode 13h)

As well as the standard modes the VGA supports many of the modes of its predecessors the EGA, CGA and MDA and due to its configurable nature, un-documented modes.

The term "VGA" is also often used to refer to a resolution of 640480, regardless of the hardware that produces the picture. For embedded devices, there now exist QVGA (320240) and QQVGA (160120) and 1/8 VGA (240160). An XVGA display has 1024 by 768 pixels of 256 colours. IBM calls this mode "8514" after the model number of the first IBM monitor capable of displaying this resolution.

Programming tricks

An undocumented, but popular 256 colour mode called Mode X was used to make available programming techniques and graphics resolutions not possible in the standard Mode 13h. This was a trade off for extra complexity and performance loss in some types of graphics operations. Several higher-resolution display modes were possible, but 320240 was probably the best known and most-frequently used since it was a regular 4:3 resolution with square pixels. Another popular feature of Mode X was 'page-flipping', also known as double buffering The official Mode 13h was not capable of double buffering, so a double buffered 256-color display could only be achieved through Mode X. Double Buffering was also possible in some standard 16 (or less) color modes.

Text modes

Standard alphanumeric text modes for the VGA are 8025 and 4025 text cells. Each cell may choose from one of 16 available colours for its foreground and 8 colours for the background. The character may also be made to blink, or at the expense of the blinking option, the background may be selected from 16 colours.

VGA adapters usually support both a monochrome and a color text mode, even 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.

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.

Addressing details

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

  • 0xB000 for monochrome text mode
  • 0xB800 for colour text mode and CGA-compatible graphics modes
  • 0xA000 for EGA/VGA graphics modes

Due to the use of different address mappings for different modes it is possible to have an Monochrome Display Adapter and a colour 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 MDA and associated graphics on low-resolution CGA. 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 over the MDA, and, for example, allowing the user to receive crash messages from debugging versions of Windows without using an actual serial terminal.da:VGA de:Video Graphics Array fr:Video graphics array nl:Video Graphics Array ja:Video Graphics Array sv:VGA th:การ์ดแสดงผล


  • Art and Cultures
    • Art (
    • Architecture (
    • Cultures (
    • Music (
    • Musical Instruments (
  • Biographies (
  • Clipart (
  • Geography (
    • Countries of the World (
    • Maps (
    • Flags (
    • Continents (
  • History (
    • Ancient Civilizations (
    • Industrial Revolution (
    • Middle Ages (
    • Prehistory (
    • Renaissance (
    • Timelines (
    • United States (
    • Wars (
    • World History (
  • Human Body (
  • Mathematics (
  • Reference (
  • Science (
    • Animals (
    • Aviation (
    • Dinosaurs (
    • Earth (
    • Inventions (
    • Physical Science (
    • Plants (
    • Scientists (
  • Social Studies (
    • Anthropology (
    • Economics (
    • Government (
    • Religion (
    • Holidays (
  • Space and Astronomy
    • Solar System (
    • Planets (
  • Sports (
  • Timelines (
  • Weather (
  • US States (


  • Home Page (
  • Contact Us (

  • Clip Art (
Personal tools