Jump to content

Video Graphics Array

From Alfawiki
Video Graphics Array (VGA)
Company typeIndustry standard / Technology
IndustryComputer graphics
Founded1987
FounderIBM
ProductsVideo display controller, VGA graphics format, DE-15 VGA connector

Video Graphics Array (VGA) represents a video display controller and an industry-standard graphics format introduced alongside the IBM PS/2 series in 1987. Within three years, it became widespread across the IBM PC compatible ecosystem. The designation encompasses the display specification, the 15-pin D-subminiature VGA connector, as well as the typical Graphics display resolution associated with VGA devices.

As the final IBM graphics standard to gain broad acceptance among PC manufacturers, VGA established itself as the lowest common denominator supported by nearly all PC graphics hardware produced after 1990. This extensive adoption solidified VGA’s role as a core video and programming benchmark, elements of which continue to influence modern GPUs and CPUs.

Third-party manufacturers expanded VGA into various enhanced iterations collectively known as Super VGA. Over time, proprietary graphics processing units supplanted these standards but still maintain compatibility with common VGA modes and interfaces. The analog VGA interface has been further developed to accommodate resolutions up to , with specialized use cases pushing beyond this threshold.

Hardware design

The integration of the color palette RAM and its digital-to-analog converter (DAC) into a single unit (the RAMDAC) combined with embedding the cathode-ray tube controller (CRTC) within the primary VGA chip reduced the number of discrete components compared to earlier graphics adapters. Consequently, VGA required only external video memory and timing crystals.

This simplification allowed IBM to embed VGA functionality directly onto the PS/2 motherboard, contrasting with earlier IBM PC models (PC, PC/XT, PC AT) that necessitated separate display adapters installed into expansion slots. The term "array" rather than "adapter" was used to reflect its status as an integrated system component instead of an add-in card.

Unlike preceding graphics adapters such as MDA, CGA, and EGA, IBM initially did not release a standalone VGA card. The first commercial implementation of VGA was integrated into the IBM PS/2 system, featuring 256 KB of video RAM and introducing a new DE-15 connector that replaced the older DE-9 design. Later, IBM provided the IBM PS/2 Display Adapter, a discrete card enabling VGA support on systems lacking built-in capability.

Certain devices and cables omitted pin 9, which supplies power to an EEPROM within the monitor responsible for communicating its specifications to the graphics card. The absence of pin 9 signals usage of an earlier version of the VGA standard.

Capabilities

VGA is compatible with all graphics modes supported by MDA, CGA, and EGA adapters while also introducing several new modes.

Standard graphics modes

  • in either 4 or 16 colors (maintaining CGA/EGA compatibility)
  • in 256 colors (Mode 13h)
  • and in 16 colors or monochrome (CGA/EGA compatibility)
  • [[640×480|Template:Resx]] in either 16 colors or monochrome

The 16-color and 256-color modes offered fully programmable palettes, with each palette entry selectable from an 18-bit (262,144-color) range. Other modes utilized standard EGA or CGA palettes but permitted palette remapping through VGA-specific commands.

Template:Resx graphics mode

The initial implementation of the 256-color resolution was introduced by IBM's Professional Graphics Controller, although VGA itself did not offer compatibility with the PGC. As VGA-compatible cards with enhanced features became widespread, its 16-color mode established itself as the fundamental standard for graphics adapters. By the mid-1990s, operating systems such as Windows 95 and OS/2 Warp 3 treated this mode as the default, lacking native support for lower resolutions or alternate memory configurations without additional drivers. Even into the early 2000s, despite the emergence of the VESA standard, the "VGA" mode persisted as a vital compatibility option across PC platforms.

Alternative graphics modes

Non-conventional display modes provide horizontal resolutions ranging from 512 to 800 pixels in 16 colors, or between 256 and 400 pixels in 256 colors. Vertical resolutions vary from 200 to 410 lines at a refresh rate of 70 Hz, from 224 to 512 lines at 60 Hz, and can reach up to 600 lines at reduced refresh rates as low as 50 Hz, depending on the monitor's capabilities.

High-resolution modes featuring square pixels include versions such as or , both supporting 16 colors. Medium to low resolution settings like offer a palette of 256 colors. Extended resolutions with "fat" pixel aspect ratios and 256 colors include modes like (at 50 Hz) or (at 60 Hz), while "thin" pixel configurations with 16 colors at 70 Hz are available in modes such as .

"Narrow" display modes like preserve the pixel aspect ratio found in wider modes but reduce memory consumption by masking unused screen areas instead of modifying timing parameters. This approach is particularly useful for arcade game ports or console emulation.

For instance, the PC edition of Pinball Fantasies employs non-standard "high resolution" modes such as , which allow a larger section of the pinball table to be visible.

Typical text modes

VGA supports multiple text display modes including:

  • , which uses a pixel font resulting in an effective resolution of
  • , featuring a font sized at
  • or , utilizing an grid font at either or

Additional programmable text modes can accommodate approximately cells, with an active display area close to cells.

Variants such as or , employing fonts sized at or on a pixel display, replace the flicker-prone 60 Hz mode with extra text lines and square character blocks, thereby improving text density.

Technical specifications

In contrast to earlier video cards that relied on binary TTL signals (and composite output for CGA), VGA introduced an analog video interface transmitting pure RGB signals at a maximum amplitude of 0.7 volts peak-to-peak. Coupled with an 18-bit RAMDAC (6 bits per RGB channel), this allowed for a color palette of up to 262,144 hues.

Key features outlined in the original VGA specification include:

  • Selectable master pixel clocks of either 25.175 MHz or 28.322 MHz
  • Maximum horizontal resolution of 640 pixels in graphics mode and up to 720 pixels in text mode
  • Vertical resolution capped at 480 lines
  • Refresh rates available at either 60 or 70 Hz
  • Support for Vertical blank interrupt (though limited on some clone adapters)
  • Planar graphics mode supporting up to 16 colors (4 bit planes)
  • Packed-pixel mode offering 256 colors (Mode 13h)
  • Hardware-assisted smooth scrolling capabilities
  • Absence of a dedicated Blitter, but provision for rapid data transfers via "VGA latch" registers
  • Inclusion of Barrel shifter functionality and support for split screen displays

Signal timings

VGA's standard horizontal frequency in its mode precisely doubles that of the NTSC-M system, enabling optional TV-out configurations and VGA-to-TV adapters during its initial development. This frequency is also nominally twice that of CGA, which supported composite monitor displays.

The VGA timing specifications, which rely on 25.175 and 28.322 MHz crystal oscillators and a nominal horizontal scan rate of 31.469 kHz, can be altered through software that bypasses the built-in VGA firmware—an approach frequently used by MS-DOS games. Nevertheless, only conventional modes or those closely aligned with standard horizontal and vertical sync timings function reliably on original VGA monitors from the late 1980s and early 1990s; using nonstandard timing values posed risks of hardware damage and was typically avoided.

"Multisync" CRT displays from third-party manufacturers, combined with "super EGA," VGA, and SVGA graphics cards, supported a broader spectrum of resolutions and refresh rates by operating at variable sync frequencies and pixel clock rates.

For the widely adopted VGA mode (, 60 Hz, progressive scan), horizontal timing parameters are detailed in resources such as the HP Super VGA Display Installation Guide.

Typical uses of selected modes

Traditionally, the video mode at 70 Hz served as the default for booting VGA-compatible x86 personal computers displaying graphical boot screens, while text-mode boots utilized at 70 Hz.

This practice has evolved as POST and BIOS interfaces now often employ higher resolution modes, utilizing EDID information to adapt to connected monitors.

The mode at 60 Hz was the standard graphics setting for Windows versions up to Windows 2000, commonly featuring 16 colors. It remains accessible in Windows XP through "low resolution video" boot options and compatibility settings, despite later Windows editions defaulting to and generally lacking support for resolutions below .

The necessity for such broadly compatible low-resolution modes has diminished as VGA-only hardware has become increasingly uncommon.

In the early 1990s, at 70 Hz was frequently used for PC gaming, where hardware doubled both pixels and lines to produce a output.

The Windows 95/98/Me LOGO.SYS boot screen employed a 320×400 resolution that was pixel-doubled to at 70 Hz. This configuration matched the standard text mode's line count, permitting seamless transitions without requiring monitor resynchronization.

Connector

The conventional VGA interface utilizes a 15-pin D-subminiature "E" shell connector, commonly referred to as "DE-15" or "HD-15".

All VGA connectors carry analog RGBHV signals—red, green, blue, horizontal sync, and vertical sync. Modern versions incorporate VESA DDC pins to facilitate display identification.

Because VGA transmits low-voltage analog signals, signal quality can degrade over poor or extended cable lengths. To mitigate this, shielded cables are employed alongside internal coaxial wiring dedicated to each color channel. Additionally, "broken out" cables use separate coaxial cables with BNC connectors for individual signals.

BNC breakout cables feature five connectors—one each for Red, Green, Blue, Horizontal Sync, and Vertical Sync—excluding other VGA lines. The fully shielded coaxial construction minimizes crosstalk and electromagnetic interference. Notably, BNC RGB video cables existed prior to VGA across various markets and industrial applications.

Color palette

The VGA color architecture employs register-based palettes to translate colors across different bit depths into its 18-bit output range. It maintains compatibility with earlier EGA and CGA adapters, while offering support for increased palette bit depth within these legacy modes.

For EGA 16-color configurations, VGA provides 16 palette registers; in 256-color modes, this expands to 256 registers. Each register holds a 3×6 bit RGB value, which selects a color from the DAC’s 18-bit gamut.

These palette registers are initially set to IBM’s default color schemes for each mode. For instance, EGA modes default to the CGA 16-color palette, whereas the 256-color mode begins with a combination of 16 CGA colors, 16 shades of gray, and an additional 216 IBM-chosen colors optimized for common applications. After this initial setup, palettes can be modified independently of video memory contents, enabling techniques such as palette cycling.

In the 256-color configuration, the DAC merges four separate 2-bit color values from individual planes into a single 8-bit index that references the palette. The CPU interface similarly combines these planes through a "chain-4" mechanism, resulting in each pixel being represented as a packed 8-bit palette index.

Use

VGA video memory is mapped into the PC’s real mode address space between segments 0xA0000 and 0xBFFFF:

  • Segment 0xA0000 is allocated for EGA/VGA graphics modes (64 KB)
  • Segment 0xB0000 serves monochrome text modes (32 KB)
  • Segment 0xB8000 is designated for color text and CGA-compatible graphics (32 KB)

Standard VGA cards also provide port-mapped I/O ranges between addresses 0x3B0 and 0x3DF.

The distinct memory mappings allowed early systems to operate a monochrome adapter (such as MDA or Hercules) alongside a color adapter (VGA, EGA, CGA) simultaneously. During the early 1980s, this setup enabled users to display high-resolution spreadsheets on monochrome monitors while running graphical programs on CGA displays. Developers leveraged this dual-adapter environment to present debugging information on monochrome screens while executing graphics applications on the color card. Debugging tools like Borland’s Turbo Debugger and Microsoft’s CodeView supported these dual-monitor arrangements.

Certain device drivers, such as ox.sys, emulated serial interfaces over monochrome displays, facilitating crash message outputs during debugging sessions of Windows versions without requiring physical serial terminals.

The command "MODE MONO" could redirect output to monochrome adapters; if no such hardware was detected, the memory range from 0xB000 to 0xB7FF could be repurposed as additional RAM.

Contemporary PCI or PCIe graphics cards that support VGA functionality may expose legacy VGA registers within PCI configuration space, which can be remapped by system BIOS or operating systems.

Programming

By "unchaining" VGA’s 256 KB memory into four discrete "planes," the hardware supports its full range of 256-color modes. Although this introduces programming complexity and can degrade performance in some operations, it accelerates others:

  • Filling polygons with a single color becomes more efficient by setting four pixels simultaneously with one hardware write.
  • The video adapter can perform faster copying of video RAM blocks than transfers via the CPU-to-VGA interface.
  • Hardware support for multiple video pages enables advanced techniques like double buffering, triple buffering, or split-screen displays—capabilities not available in standard Mode 13h (320×200 pixels with 16 colors).
  • VGA allows higher-resolution arbitrary display modes up to certain limits with either 16 or 256 colors and supports custom horizontal and vertical pixel arrangements.

Software packages such as Fractint, Xlib, and ColoRIX utilized these enhanced 256-color modes on standard adapters by employing variable widths (including 256, 320, and 360 pixels) and heights (200, 240, 256 or up to 400, 480, and 512 lines), reaching resolutions like 384×576 or even 400×600 pixels. The most widely adopted resolution was , which provided a standard layout of 40 columns with a square pixel aspect ratio of approximately 4:3. The " ×8" resolution mode—commonly referred to as Mode X—was popularized by Michael Abrash through publications in Dr. Dobb's Journal.

The highest resolution modes remained niche due to fixed horizontal scan rates on conventional VGA monitors; multisync displays capable of handling variable timings were expensive at the time. To accommodate increased vertical line counts in these modes, vertical refresh rates had to be lowered, resulting in more noticeable flicker and eye strain. For example, running at reduced vertical refresh rates dropped from the standard ~60 Hz down to approximately ~50 Hz at certain resolutions; theoretical maximums could fall near ~48 Hz.

Some nonstandard modes caused compatibility problems such as loss of overscan areas, vertical rolling images, synchronization issues, or complete absence of display depending on monitor capabilities. Consequently, most commercial VGA enhancements adhered to standards-compliant "monitor-safe" configurations—for example: , which offers square pixels with three video pages at a refresh rate of about 60 Hz; , doubling vertical resolution with two video pages at roughly 70 Hz; and , representing the highest resolution compatible with typical VGA monitors and cards at one video page running around 60 Hz in 256 colors—or providing double horizontal resolution when operating in a sixteen-color mode.

Hardware manufacturers

A variety of firms developed graphics cards compatible with VGA standards:

  • ATI Technologies: Graphics Solution Plus, Wonder lineup, Mach series
  • S3 Graphics: S3 911, 911A, 924, 801, 805, 805i, 928, 805p, 928p, along with the S3 Vision and Trio series
  • Matrox: MAGIC RGB
  • Plantronics: Colorplus
  • Paradise Systems: PEGA 1, PEGA 1a, PEGA 2a
  • Tseng Labs: ET3000, ET4000, ET6000
  • Cirrus Logic: CL-GD400, CL-GD500, CL-GD5000 series
  • Trident Microsystems: TVGA 8000 series, TVGA 9000 series, TGUI9000 series
  • IIT (8x8)
  • NEC
  • Chips and Technologies
  • Silicon Integrated Systems (SiS)

Tamerack

  • Realtek

Oak Technology LSI Corporation Hualon Cornerstone Imaging

  • Winbond
  • AMD

Western Digital Intergraph Texas Instruments Gemini (no longer active) Genoa Systems (no longer active)

Super VGA (SVGA)

In 1988, NEC along with other VESA members such as ATI Technologies and Western Digital introduced Super VGA (SVGA), which increased the maximum display resolution to 800×600 pixels—representing a 56% improvement over VGA’s top resolution of 640×480 pixels.

Extended Graphics Array (XGA)

IBM launched Extended Graphics Array (XGA) in 1990, establishing a new standard widely acknowledged for its 1024×768 pixel display resolution.

External links