Difference between revisions of "Video Graphics Array"

From TheAlmightyGuru
Jump to: navigation, search
(Graphics Modes)
(Graphics Modes)
(12 intermediate revisions by the same user not shown)
Line 1: Line 1:
The '''Video Graphics Array (VGA)''' is a video graphics standard created by [[IBM]], initially for their [[IBM PS/2]] line of personal computers first released in 1987-04-02, and was then adopted by IBM clones and later IBM personal computers. Expanding upon their earlier [[Color Graphics Adapter]] and [[Enhanced Graphics Adapter]], VGA includes a higher resolution, greater color depth, and backward compatibility with the previous two standards. The device is called an "array" rather than an "adapter" because it was directly integrated into the computer's motherboard rather than an adapter card, however, third party manufacturers did make VGA adapter cards which could be used to give VGA capabilities to computers that didn't have a built-in VGA. The two most popular VGA modes was 640x480 at 16 colors and 320x200 at 256 colors.
+
[[Image:VGA - Onboard.jpg|thumb|256x256px|The VGA chip, RAMDAC, and timing crystals integrated onto a motherboard.]]
  
In modern parlance, the term "VGA" is used to refer to a DE-15 video connector regardless of the signal format rather than the IBM hardware.
+
The '''Video Graphics Array (VGA)''' is a video graphics standard created by [[IBM]], initially for their [[IBM PS/2]] line of personal computers first released on 1987-04-02, and was then adopted by IBM clones and later IBM personal computers. Expanding upon their earlier [[Color Graphics Adapter]] and [[Enhanced Graphics Adapter]], VGA includes a higher resolution, greater color depth, and backward compatibility with the previous two standards. The device is called an "array" rather than an "adapter" because it was directly integrated into the computer's motherboard rather than an adapter, which has caused people to misidentify the name. Too add to the confusion, third party manufacturers did make VGA adapter cards which could be used to give VGA capabilities to computers that didn't have a built-in VGA. The two most popular VGA display modes was 640x480 at 16 colors and 320x200 at 256 colors, although the device supports several more.
  
VGA was the last IBM graphics standard to see widespread adoption as third party competitors were developing competing [[Super VGA]] systems as early as 1988, and, by the time IBM got around to developing their official VGA replacement, the [[Extended Graphics Array]] (XGA) in 1990, they were no longer leading the thechnology, and software developers didn't adopt it as readily.
+
VGA was the last IBM graphics standard to see widespread adoption as third party competitors were developing competing [[Super VGA]] systems as early as 1988, and, by the time IBM got around to developing their official VGA replacement, the [[Extended Graphics Array]] (XGA) in 1990, they were no longer leading the technology, and software developers didn't adopt it as readily.
  
My family's first computer, which they bought in 1991, had a VGA which was already obsolete when we bought it. I was stuck with its inferior graphics until we got a new computer some time after 1995, long after SVGA had taken over. However, since there was no agreed upon VGA+ standard between 1987 and 1995 (when [[Windows 95]] got standards back on track), developers were hesitant to adopt better graphics cards, so most software of the time continued to support the obsolete VGA standard.
+
Even though it's no longer relevant to modern hardware, the term "VGA" is still used to generically describe any display mode used by the VGA, [[Super VGA]], or [[Extended Graphics Array]] hardware. It is also used to describe the DE-15 video connector regardless of the signal format.
 +
 
 +
My family's first computer had a VGA which was already obsolete when we bought it in 1991. I was stuck with its inferior graphics until we got a new computer some time after 1995, long after SVGA had taken over. Most [[MS-DOS]] games maxed out at 320x200 with 256 colors and I ran [[Windows 3]] at 640x480 with 16 colors. However, this wasn't too bad since there was no agreed upon VGA+ standard between 1987-1995, so developers were hesitant to use better graphics cards since only a handful of people actually had them, so most software continued to support the obsolete VGA standard. It wasn't until [[Windows 95]] came out that increasing standards became universal.
  
 
==Colors==
 
==Colors==
Line 15: Line 17:
  
 
In the 640x480 graphics mode and 720x400 text mode, VGA uses the first 16 color indexes by default, although they are also user-definable. All other modes are for backward compatibility and use the same colors as their older counterparts.
 
In the 640x480 graphics mode and 720x400 text mode, VGA uses the first 16 color indexes by default, although they are also user-definable. All other modes are for backward compatibility and use the same colors as their older counterparts.
 +
 +
===Examples===
 +
<gallery widths="320" heights="240">
 +
Color Palette - RGB - Test.png|24-bit color original image.
 +
VGA - 640x480 - Default Palette.png|640x480 16-color with default palette.
 +
VGA - 640x480 - Custom Palette.png|640x480 16-color with custom palette.
 +
VGA - 320x200 - Default Palette.png|320x200 256-color with default palette.
 +
VGA - 320x200 - Custom Palette.png|320x200 256-color with custom palette.
 +
</gallery>
  
 
==Display Modes==
 
==Display Modes==
Line 21: Line 32:
  
 
{| class="wikitable"
 
{| class="wikitable"
! Character Resolution !! Character Size !! Pixel Resolution !! Colors !! Mode
+
! Character Resolution !! Character Size !! Pixel Resolution !! Colors !! Palette !! Mode
 
|-
 
|-
| 80x25 || 9x16 || 720x400 || 16 (6-bit RGB definable) || VGA
+
| 80x25 || 9x16 || 720x400 || 16 || 6-bit RGB definable || VGA
 
|-
 
|-
| 80x25 || 9x16 || 720x400 || 2 || MDA
+
| 80x25 || 9x16 || 720x400 || 2 || Black & white || MDA
 
|-
 
|-
| 80x25 || 8x16 || 720x400 || 16 || MCGA
+
| 80x25 || 8x16 || 640x400 || 16 || 6-bit RGB definable || MCGA
 
|-
 
|-
| 40x25 || 9x16 || 360x400 || 16 (6-bit RGB definable) || VGA
+
| 40x25 || 9x16 || 360x400 || 16 || 6-bit RGB definable || VGA
 
|-
 
|-
| 80x50 || 8x8 || 640x400 || 16 || EGA
+
| 80x50 || 8x8 || 640x400 || 16 || definable from 64 colors || EGA
 
|-
 
|-
| 80x43 || 8x8 || 640x344 || 16 || EGA
+
| 80x43 || 8x8 || 640x344 || 16 || definable from 64 colors || EGA
 
|-
 
|-
| 80x25 || 8x8 || 640x200 || 16 || CGA
+
| 80x25 || 8x8 || 640x200 || 16 || fixed || CGA
 
|-
 
|-
| 40x25 || 8x8 || 320x200 || 16 || CGA
+
| 40x25 || 8x8 || 320x200 || 16 || fixed || CGA
 
|}
 
|}
  
Though they weren't officially supported, VGA could also be programmed to accept all sorts of variation within its text modes. For example, changing the character size from 9x16 to 8x10 would result in a character resolution of 90x40.
+
VGA text mode allowed for a fair amount of customization for. You could redefine all of the characters in the font and you could even set the height and width of the text to a custom size. For example, changing the character size from 9x16 to 8x10 would result in a character resolution of 90x40.
 +
 
 +
Very few programs took advantage of these features. [[Word Perfect]] for MS-DOS with VGA support allowed the user to put the text display into 50-row mode, which would display more of the document by sacrificing readability. A program that modified the VGA font is ''[[MegaZeux]]''.
 +
 
 +
<gallery>
 +
QuickBASIC v4.5 - DOS - Screenshot - Title (8x16).png|[[QuickBASIC]], text mode, 8x16, 640x400.
 +
QuickBASIC v4.5 - DOS - Screenshot - Title (9x16).png|[[QuickBASIC]], text mode, 9x16, 720x400.
 +
Word Perfect 6.2 - DOS - Screenshot - 50-Row Text Mode.png|Word Perfect, text mode, 8x8, 640x400.
 +
</gallery>
  
 
===Graphics Modes===
 
===Graphics Modes===
 
{| class="wikitable"
 
{| class="wikitable"
! Pixel Resolution !! Colors !! Mode
+
! Pixel Resolution !! Colors !! Palette !! Mode
 +
|-
 +
| 640x480 || 16 || 6-bit RGB definable || VGA
 +
|-
 +
| 640x480 || 2 || Black & white || MDA
 
|-
 
|-
| 640x480 || 16 (6-bit RGB definable) || VGA
+
| 640x350 || 16 || definable from 64 colors || EGA
 
|-
 
|-
| 640x480 || 2 || MDA
+
| 640x200 || 16 || definable from 64 colors || EGA
 
|-
 
|-
| 640x350 || 16 (64 color palette definable) || EGA
+
| 640x200 || 2 || definable from 16 colors || CGA
 
|-
 
|-
| 640x200 || 16 (64 color palette definable) || EGA
+
| 320x240 || 256 planar || 6-bit RGB definable || VGA (Mode X)
 
|-
 
|-
| 640x200 || 2 (16 color palette definable) || CGA
+
| 320x200 || 256 linear || 6-bit RGB definable || VGA (Mode 13h)
 
|-
 
|-
| 320x200 || 256 (6-bit RGB definable) || VGA
+
| 320x200 || 256 planar || 6-bit RGB definable || VGA (Mode Y)
 
|-
 
|-
| 320x200 || 16 (64 color palette definable) || EGA
+
| 320x200 || 16 || definable from 64 colors || EGA
 
|-
 
|-
| 320x200 || 4 (Limited palette definable) || CGA
+
| 320x200 || 4 || definable from 4 possible options || CGA
 
|}
 
|}
 +
 +
A lot of unofficial display resolutions can also be accomplished by coding directly to the display controller. You could get up to 800 pixels wide (while sacrificing height) and 600 pixels tall (while sacrificing width). You can also get larger than spec resolutions by decreasing the refresh rate. However, since these abnormal resolutions required a monitor that supported them, they were rarely used.
 +
 +
<gallery>
 +
Doom - DOS - Screenshot - Title.png|''[[Doom]]'', 320x200, 256 colors.
 +
King's Quest V - DOS - Screenshot - Crispin's House.png|''[[King's Quest V: Absence Makes the Heart Go Yonder!]], 320x200, 256 colors.
 +
Lemmings - DOS - Screenshot - Title - VGA.png|''[[Lemmings]]'', 640x350, 16 colors.
 +
Might and Magic III - Isles of Terra - DOS - Screenshot - Title.png|''[[Might and Magic III: Isles of Terra]]'', 320x200, 256 colors.
 +
Microsoft Solitaire - WIN3 - Screenshot - Version 3.11.png|''[[Solitaire (Microsoft)|Solitaire]]'', 640x480 16 colors.
 +
SimFarm - DOS - Screenshot - Title.png|''[[SimFarm]]'', 640x480, 16 colors.
 +
</gallery>
 +
 +
==Media==
 +
===Documentation===
 +
<gallery>
 +
IBM - PS2 - Hardware Interface Technical Reference - 1988-05.pdf|IBM PS/2 Hardware Interface Technical Reference (VGA is section 13).
 +
</gallery>
 +
 +
==Links==
 +
{{Link|Wikipedia|https://en.wikipedia.org/wiki/Video_Graphics_Array}}
 +
{{Link|ModdingWiki|http://www.shikadi.net/moddingwiki/Raw_VGA_Image}}
 +
 +
 +
[[Category: Computers]]
 +
[[Category: Computer Hardware]]

Revision as of 15:37, 18 November 2019

The VGA chip, RAMDAC, and timing crystals integrated onto a motherboard.

The Video Graphics Array (VGA) is a video graphics standard created by IBM, initially for their IBM PS/2 line of personal computers first released on 1987-04-02, and was then adopted by IBM clones and later IBM personal computers. Expanding upon their earlier Color Graphics Adapter and Enhanced Graphics Adapter, VGA includes a higher resolution, greater color depth, and backward compatibility with the previous two standards. The device is called an "array" rather than an "adapter" because it was directly integrated into the computer's motherboard rather than an adapter, which has caused people to misidentify the name. Too add to the confusion, third party manufacturers did make VGA adapter cards which could be used to give VGA capabilities to computers that didn't have a built-in VGA. The two most popular VGA display modes was 640x480 at 16 colors and 320x200 at 256 colors, although the device supports several more.

VGA was the last IBM graphics standard to see widespread adoption as third party competitors were developing competing Super VGA systems as early as 1988, and, by the time IBM got around to developing their official VGA replacement, the Extended Graphics Array (XGA) in 1990, they were no longer leading the technology, and software developers didn't adopt it as readily.

Even though it's no longer relevant to modern hardware, the term "VGA" is still used to generically describe any display mode used by the VGA, Super VGA, or Extended Graphics Array hardware. It is also used to describe the DE-15 video connector regardless of the signal format.

My family's first computer had a VGA which was already obsolete when we bought it in 1991. I was stuck with its inferior graphics until we got a new computer some time after 1995, long after SVGA had taken over. Most MS-DOS games maxed out at 320x200 with 256 colors and I ran Windows 3 at 640x480 with 16 colors. However, this wasn't too bad since there was no agreed upon VGA+ standard between 1987-1995, so developers were hesitant to use better graphics cards since only a handful of people actually had them, so most software continued to support the obsolete VGA standard. It wasn't until Windows 95 came out that increasing standards became universal.

Colors

The default VGA 256 color palette.

In 320x200 graphics mode, VGA supports 256 color indexes with the default palette displayed to the right. It was designed to be backward-compatible with both the CGA and EGA palettes, so the first 16 colors match the CGA/EGA standard. After that, there are 16 shades of gray, and then a 24-index color spectrum beginning with blue and rotating toward red, yellow, green, and back to blue. The spectrum is repeated two more times with each subsequent copy having a lower saturation than the previous. Those 72 colors are repeated two more times with each subsequent copy having a lower intensity. There are also 8 indexes at the end left black, I'm presuming because it would take nine indexes to accommodate another color using this scheme, though I don't know why they didn't just pad out the gray scale with the unused values or provide eight more unique colors.

Although this is the default color set, the entire palette could be customized. Each index can be made up of red, green, and blue intensities ranging from 0-63 (6-bit). It was common for games developed for the VGA platform to have palette files among their resources which would be exactly 768 bytes in size, enough bytes to define an RGB intensity for each index. Because of this, it's common for game editors to assume a 768-byte file is a palette lookup.

In the 640x480 graphics mode and 720x400 text mode, VGA uses the first 16 color indexes by default, although they are also user-definable. All other modes are for backward compatibility and use the same colors as their older counterparts.

Examples

Display Modes

Text Modes

Default VGA 9x16 character set.
Character Resolution Character Size Pixel Resolution Colors Palette Mode
80x25 9x16 720x400 16 6-bit RGB definable VGA
80x25 9x16 720x400 2 Black & white MDA
80x25 8x16 640x400 16 6-bit RGB definable MCGA
40x25 9x16 360x400 16 6-bit RGB definable VGA
80x50 8x8 640x400 16 definable from 64 colors EGA
80x43 8x8 640x344 16 definable from 64 colors EGA
80x25 8x8 640x200 16 fixed CGA
40x25 8x8 320x200 16 fixed CGA

VGA text mode allowed for a fair amount of customization for. You could redefine all of the characters in the font and you could even set the height and width of the text to a custom size. For example, changing the character size from 9x16 to 8x10 would result in a character resolution of 90x40.

Very few programs took advantage of these features. Word Perfect for MS-DOS with VGA support allowed the user to put the text display into 50-row mode, which would display more of the document by sacrificing readability. A program that modified the VGA font is MegaZeux.

Graphics Modes

Pixel Resolution Colors Palette Mode
640x480 16 6-bit RGB definable VGA
640x480 2 Black & white MDA
640x350 16 definable from 64 colors EGA
640x200 16 definable from 64 colors EGA
640x200 2 definable from 16 colors CGA
320x240 256 planar 6-bit RGB definable VGA (Mode X)
320x200 256 linear 6-bit RGB definable VGA (Mode 13h)
320x200 256 planar 6-bit RGB definable VGA (Mode Y)
320x200 16 definable from 64 colors EGA
320x200 4 definable from 4 possible options CGA

A lot of unofficial display resolutions can also be accomplished by coding directly to the display controller. You could get up to 800 pixels wide (while sacrificing height) and 600 pixels tall (while sacrificing width). You can also get larger than spec resolutions by decreasing the refresh rate. However, since these abnormal resolutions required a monitor that supported them, they were rarely used.

Media

Documentation

Links

Link-Wikipedia.png  Link-ModdingWiki.png