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, having only the low resolution 256-color mode, and really only compatible with CGA.
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 clone manufacturers decided to follow, making it even today the only standard graphics interface that 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.
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 640×480, regardless of the hardware that produces the picture.
For embedded devices, now there exist QVGA (320×240) and QQVGA (160×120) and 1/8 VGA (240×160).
An XVGA display has 1024 by 768 pixels of 256 colours. IBM call this mode "8514".
In color 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 bitfield used to select various video attributes such as color, blinking, character set, and so forth.