视频图形阵列

视频图形阵列

此条目介绍的是一种电脑显示标准。关于该标准的接口,请见“VGA端子”。

本条目存在以下问题,请协助改善本条目或在讨论页针对议题发表看法。

此条目需要精通或熟悉相关主题的编者参与及协助编辑。 (2014年8月7日)请邀请适合的人士改善本条目。更多的细节与详情请参见讨论页。

此条目可参照英语维基百科相应条目来扩充。 (2020年7月28日)若您熟悉来源语言和主题,请协助参考外语维基百科扩充条目。请勿直接提交机械翻译,也不要翻译不可靠、低品质内容。依版权协议,译文需在编辑摘要注明来源,或于讨论页顶部标记{{Translated page}}标签。

视频图形阵列(英语:Video Graphics Array,缩写:VGA)是IBM的一个使用模拟信号的电脑显示标准,在1987年随IBM PS/2系列计算机推出。VGA是大多数PC制造商所遵循的最后一个IBM图形标准,几乎1990年后的所有PC图形硬件都最低支持VGA。

当用VGA来表示分辨率时,通常是指640×480。

目录

1 颜色显示

2 存储器寻址

3 程序技巧

4 技术性细节

5 标准文字模式

6 VGA色版

7 参考文献

8 延伸阅读

颜色显示

编辑

VGA除了扩展为256色的EGA式色版外,这256种颜色是可以改变的。可以透过VGA DAC,任意的指定为任何一种颜色。这就程度上改变了原本EGA的色版规则。因为在CGA上,只有16种无法改的色彩。在EGA上虽然仍只能显示16种色彩,但这16种色彩其实是从64彩色盘中挑选出的。EGA分配给每个色频(RGB)两个比特,

2

2

{\displaystyle 2^{2}}

=4种变化,

4

3

{\displaystyle 4^{3}}

个色频=64种色彩。而VGA在指定色版颜色时,一个颜色频道有6个bit,红、绿、蓝各有64种不同的变化,因此总共有262,144种颜色。在这其中的任何256种颜色可以被选为色版颜色(而这256种的任何16种可以用来显示CGA模式的色彩)。

这个方法最终仍然使了VGA模式在显示EGA和CGA模式时,能够使用前所未有的色彩,因为VGA是使用模拟的方式来绘出EGA和CGA画面。提供一个色版转换的例子:要把文字模式的字符颜色设置为暗红色,暗红色就必须是CGA 16色集合中的一种颜色(譬如说,取代CGA默认的7号灰色),这个7号位置将被指定为EGA色版中的42号,然后VGA DAC将EGA #42指定为暗红色。则画面上的原本的CGA七号灰色,都会变成暗红色。这个技巧在256色的VGA DOS游戏中,常常被用来表示加载游戏的淡入淡出画面。

总结来说,CGA和EGA同时只能显示16种色彩,不过EGA有更多色盘可用。而VGA不但兼容于CGA或EGA模式,更可以使用Mode 13h模式一次显示256色版中的所有色彩,而这256种颜色是从262,144种颜色(18-bit)中挑出的。

存储器寻址

编辑

VGA所使用的显存,透过一个窗口对应于PC的主存储器,它们的真实地址为0xA000和0xC000之间的存储器。典型地来说地址的开始点是:

0xA000使用于EGA/VGA图型模式(4 KB)

0xB000单色文字模式(2 KB)

0xB800彩色文字模式和CGA兼容模式(2 KB)

由于使用的区段皆不相同,在同一部机器上设备一个单色显卡(MDA)和另一个彩色显卡(VGA、EGA或CGA)是不冲突的。在1980年代初,这种典型的搭配方式用于Lotus 1-2-3表格上,一部高清晰单色屏幕用来显示文字,而另一部低解析的CGA屏幕用来显示图表。许多程序员也用这种配置来开发软件,一部屏幕显示debug细节,另一部屏幕则显示真正的软件运行画面。许多商业的调试软件都支持这种配置,例如Borland的Turbo Debugger、由Alan J. Cox开发的D86、微软的CodeView等,Turbo Debugger和CodeView可以甚至可拿来debug微软的Windows软件。也有DOS驱动程序如ox.sys模拟一个终端来接受Windows的debug消息,而不用真正接上另一个终端。在DOS底下使用“单色模式”指令,使其输出转向单色也是可能的。另外,假如电脑上并无单色显卡,那么可以使用EMM386.EXE程序让其他程序可以使用B000-B7FF这一段存储器。(于config.sys文件中加入"DEVICE=EMM386.EXE I=B000-B7FF")

程序技巧

编辑

一个未被纪录但十分广泛使用的技术称作Mode X(由Michael Abrash导入),使程序员能够使用在Mode 13h之下无法做到的分辨率。他将256 KiB连续的显存“解开”并分成四个层次,因此在256色模式时全部256 KiB的存储器都可以使用。技术上这将使得处理变得更复杂,并且性能降低。但在一些特殊情况下,性能损失的情况可以被弥补:

单色的多边形填色增快,因为一次写入可以设置四个像素。

VGA可以用来协助显存之间的拷贝,有些时候会比使用8088或80286等慢速CPU更快。

提供更高的分辨率:16色可使用704×528、736×552、768×576、甚至800×600。诸如Xlib(1990年代早期的C图形函数库)和ColoRIX(256色的图形程序)支持256色下的各种分辨率调和:直行256、320和360个像素,以及水平行200、240、256、400和480个像素的组合(上限的640×400几乎用掉256 KiB中每一个byte)。不过,320×240仍然是最常被使用的,因它为典型的4:3比例,为方形像素。

multiple video pages让程序员能够使用双重缓冲(所有的16色模式都可),这在Mode 13h无法办到。

有时候,显示器必须降低更新频率来满足这些模式,这会造成眼睛的疲劳这样的低分辨率虽然在PC市场早已淡出,但在Pocket PC和PDA市场,它正逐渐成为标准。它也常被用来指称15针的D型接头,这种接头仍然用来传输各式各样分辨率的模拟信号。

VGA曾经被IBM官方宣布使用XGA标准所取代,但在历史上,它其实是被其他的OEM制造商用所谓的SVGA标准所取代。

技术性细节

编辑

VGA中的A指的是“阵列(array)”而非“转换器(adapter)”,因为它从一开始就被设计为一个单一的集成芯片,用来取代Motorola 6845和数十个离散的逻辑芯片组合而成的ISA母版,这种设计是之前的MDA、CGA和EGA所使用的。VGA的这个特性允许它轻易的植入PC的主板之中,只需要额外的显存、振荡器和一个RAMDAC,就具备显示功能。IBM PS/2电脑系列就是采用将VGA放置于主板上的设计。

VGA的规格表如下:

256 KiB的Video RAM

16色和256色模式

总共262,144种颜色的色版(红、绿、蓝三色各6bit,总共

(

2

6

)

3

{\displaystyle (2^{6})^{3}}

种)

选择性的25.2 MHz或28.3 MHz处理频率

最多720个水平像素

最多480条线

最高70 Hz的更新频率

Vertical Blanking interrupt(不是所有卡都支持)

平面模式:最多16色(4bit面板)

Packed-pixel模式:256色(Mode 13h)

顺畅滚动画面的能力

Some "Raster Ops" support

Barrel shifter

支持分割画面

VGA支持可单独操控像素的APA(All Points Addressable)模式,也支持字母与数字的文字模式。标准的图形模式如下:

640×480×16色

640×350×16色

320×200×16色

320×200×256色(Mode 13h)

它也支持用模拟的方式画出向下兼容的分辨率:EGA、CGA和MDA。

标准文字模式

编辑

标准的VGA文字模式使用80×25或40×25个字母或数字组成的平面。每个字符的块状区域可以选择16种前景色和8种背景色;8种背景色来自bit容量较低的集合(以今天的标准来说,例如ffffff或者是000000)。而字符本身也可设置是否闪烁,而字符的闪烁动作都是同时的。画面的闪烁功能和选择背景颜色的功能是可交换的,换句话说两者只能择一。以上这些选项和IBM先前生产的CGA转换器是相同的。

VGA虽然支持黑白和彩色的文字模式,但黑白模式很少使用。大多的VGA在显示黑白模式时使用彩色模式,即是将灰色字画在黑色背景上。而使用VGA的单色显示器也能很好的支持这样的彩色模式。现代显示器和显卡若连接不当,偶尔会导致显卡的VGA部分侦测显示器为单色的,而这将使BIOS开机显示为黑白模式。通常在加载操作系统和适当的驱动程序以后,显卡的设置被覆盖,显示器就会变回彩色。

在彩色的文字模式中,每个字符其实由两个byte代表。较低的一个byte用来显示字符,而较高的byte就用来代表彩色、闪烁等等属性。这种成对的byte模式是从CGA就一直传续下来的。

VGA色版

编辑

VGA的色彩系统可以向前兼容于EGA和CGA转换器,而它在其上又新增了一种设置。CGA可以显示16种色彩,EGA则将其扩展成从64种颜色色版选出的16色模式(即红绿蓝各2 bits)。VGA则更将其扩展成256种颜色色版,但为了向前兼容,一次只能选择256种之中的64种(例如第一个64种颜色集合、第二个...)。所以一个。它们也不兼容于较老旧的显示器,将造成诸如overscan、闪烁、垂直滚动、缺乏水平同步等等缺点。因为如此,多数的商业软件使用的VGA调适都限制在显示器的“安全界线”之下,例如320×400(双倍分辨率,2 video pages)、320×240(方形像素,3 video pages)和360x480(最高的兼容分辨率,1 video page)。

参考文献

编辑

延伸阅读

编辑

J. D. Neal. VGA Chipset Reference. Hardware Level VGA and SVGA Video Programming Information Page. 1997 [2007-06-27]. (原始内容存档于2013-06-27).

Jordan Brown and John Kingman. CHRP™ VGA Display Device Binding to IEEE 1275-1994 Standard for Boot(Initialization, Configuration)Firmware. 1.0. 1996-05-06 [2007-06-27]. (原始内容存档于2006-09-09).

相关创意

来说下历代天空的特效吧
365手机安全卫士下载

来说下历代天空的特效吧

📅 07-01 👁️ 3632