首页 理论教育 实现VESA标准的显示卡操作方法

实现VESA标准的显示卡操作方法

时间:2023-10-21 理论教育 版权反馈
【摘要】:凡是符合VESA标准的显示卡或显示设备,都可以通过一组既定的方式来进行操作。当然,为了提升竞争力,一般的显示卡都支持VESA标准,就像一般的计算机,都能够支持Windows操作系统一样。VESA标准体系有很多子标准,包含显示相关的方方面面。VBE标准对各种显示模式进行了统一的编号,只要通过BIOS调用,告诉显示卡的显示模式编号,显示卡就可切换到指定的模式下进行工作,前提是该显卡支持设定的工作模式。

实现VESA标准的显示卡操作方法

VESA是国际视频电子标准学会(Video Electronics Standards Association)的缩写,这是一个专门制定计算机显示标准的组织,由它制定的标准,就叫做VESA标准,目前已发展到VESA 3.0版本。凡是符合VESA标准的显示卡或显示设备,都可以通过一组既定的方式来进行操作。当然,为了提升竞争力,一般的显示卡都支持VESA标准,就像一般的计算机,都能够支持Windows操作系统一样。否则会没有市场,除非完全是为了研究或者好玩。

VESA标准体系有很多子标准,包含显示相关的方方面面。但与本章的主题关系最紧密的,是一个叫做VBE(Vesa BIOS Extension)的标准。顾名思义,就是在标准BIOS功能基础上进行扩展,使得只要通过BIOS调用,就可操作显卡的标准。在进一步介绍之前,先引入显示模式的概念,即显卡的工作模式。比如显卡可以工作在800×600像素模式,每个像素可以有256色,等等。VBE标准对各种显示模式进行了统一的编号,只要通过BIOS调用,告诉显示卡的显示模式编号,显示卡就可切换到指定的模式下进行工作,前提是该显卡支持设定的工作模式。一些常用工作模式见表11-1。

表11-1 常用工作模式

978-7-111-41444-5-Chapter11-1.jpg

(续)(www.xing528.com)

978-7-111-41444-5-Chapter11-2.jpg

在这个表格中,每像素颜色数有两种表示方式,第一种是纯数字,比如16、256等,指的是一个像素最多可以有16色,或者256色。具体显示哪个颜色,由一个调色板来控制。另外一种表示形式是诸如5:6:5、8:8:8等,这指明一个像素颜色的三基色(RGB,红/绿/蓝)分别占用的比特数。比如8:8:8,说明一个像素的颜色值需要用24个比特表示,其中R/G/B各占8个比特。这样一个像素总共可以达到224种颜色,这就是所谓的真彩色。

一般的显示卡,只要不是太古老,上表中的所有显示模式都是支持的。在Hello China V1.75的实现中,作者选择0x118号工作模式作为GUI模块的标准工作模式。一旦试图切换到GUI模式(在字符界面下执行GUI命令),Hello China会首先检查显卡是否支持这种模式。如果不支持,则不能切入GUI模式。从作者测试的情况来看,大部分计算机的显示卡都是支持的。

现在就面临两个问题:一是如何判断显示卡是否支持0x118模式。虽然大部分是支持的,但是不排除存在不支持的情况,因此必须做出判断。二是如何切入0x118号模式。显然,VBE定义了明确的BIOS功能扩展,来完成这两个功能。下面分别说明。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈