# Extended Graphics Array

The eXtended Graphics Array (usually called XGA) is a graphics card manufactured by IBM and introduced for the IBM PS/2 line of personal computers in 1990 as a successor to the 8514/A. It supports, among other modes, a display resolution of 1024 × 768 pixels with 256 colors at 43.5 Hz (interlaced), or 640 × 480 at 60 Hz (non-interlaced) with up to 65,536 colors. The XGA-2 added an 800 × 600 65,536 color mode and 1024 × 768 60 Hz non-interlaced.
The XGA was introduced at $1095 with 512K VRAM and additional $350 for the 512 KB memory expansion (equivalent to $2600 and $820, respectively, in 2023). As with the 8514/A, XGA required a Micro Channel architecture bus at a time when ISA systems were standard, however due to more extensive documentation and licensing ISA clones of XGA were made. XGA was integrated into the motherboard of the PS/2 Model 95 XP 486.
An improved version called XGA-2 was introduced in 1992 at $360, worth $780 in 2023 dollars.
XGA gives its name to the resolution 1024 × 768, as IBM's VGA gave its name to 640 × 480, despite the IBM 8514/A and PGC cards respectively supporting those resolutions prior to the eponyms.

## Features

The 8514 had used a standardised API called the "Adapter Interface" or AI. This interface is also used by XGA, IBM Image Adapter/A, and clones of the 8514/A and XGA such as the ATI Technologies Mach 32 and IIT AGX. The interface allows computer software to offload common 2D-drawing operations (line-draw, color-fill, and block copies via a blitter) onto the hardware. This frees the host CPU for other tasks, and greatly improves the speed of redrawing a graphics visual (such as a pie-chart or CAD-illustration). Hardware-level documentation of the XGA was also made, which had not been available for the 8514/A.
XGA introduced a 64x64 hardware sprite which was typically used for the mouse pointer.

### Differences from 8514/A

* Register-compatible with VGA
* Adds a 132 column text mode and high color in 640 × 480
* Requires a minimum of 80386 host CPU
* Provides a 3-dimensional drawing space called a "bitmap" which may reside anywhere in system memory
* Adds a sprite for a hardware cursor
* The Adapter Interface driver is moved to a .SYS file instead of TSR program
* Provisions made for multitasking environment
* XGA can act as bus master and access system memory directly
* Hardware level documentation has been provided by IBM

### XGA-2

XGA-2 added support for non-interlaced 1024 × 768 and made 1MB VRAM standard. It had a programmable PLL circuit and pixel clocks up to 90 MHz, enabling a 75 Hz refresh rate at 1024 × 768. The 800 × 600 resolution was added with 16 bit high color support. The DAC was increased to 8 bits per channel, and the accelerated functions were enabled at 16 bit color depth. Faster VRAM also improved performance.

## Output capabilities

The XGA offered:
* 640 × 480:
** graphics mode with 256 colors at once (8-bit) out of 262,144 (18-bit RGB palette);
** graphics with 65,536 colors at once (16-bit "high color");
** text mode with 80×34 characters
* 1024 × 768:
** graphics with 256 colors out of 262,144;
** text with 85×38 or 146×51 characters
XGA-2 introduced:
* 640 × 480 graphics with 256 colors out of 16.7M (24-bit palette);
* 800 × 600 graphics with 65,536 colors at once;
* 1024 × 768 graphics with 256 colors out of 16.7M
Later clone boards offered additional resolutions:
* 640 × 480 graphics with 16.7M accessible colors at once (if it were possible with 640 × 480 pixels) (24-bit "true color");
* 800 × 600 graphics with 16.7M colors at once;
* 1280 × 1024 graphics with 65,536 and 16.7M colors at once

## Clones

Unlike with the 8514/A, IBM fully documented the hardware interface to XGA. Further, IBM licensed the XGA design to SGS-Thomson (inmos) and Intel. The IIT AGX014 was largely compatible with the XGA-2 and offered some enhancements.
The VESA Group introduced a common standardized way to access features like hardware cursors, Bit Block transfers (Bit Blt), off screen sprites, hardware panning, drawing and other functions with VBE/accelerator functions (VBE/AF) in August 1996. This, along with standardised device drivers for operating systems such as Microsoft Windows, eliminated the need for a hardware standard for graphics.