中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 编程语言 > 综合其它
VGA显示系统
作者:未知 时间:2005-09-13 23:33 出处:Blog.ChinaUnix.net 责编:chinaitpower
              摘要:VGA显示系统

显示硬件基础

  进行TC256色图形编程时,是直接与显卡硬件在打交道。那么,就让我们从显卡谈起吧。
  显示卡(adapter)是一块插在PC主机的电路版。一般显示卡由寄存器、存储器(显示RAM和ROM BIOS)、控制电路三大部分组成。随着PC机的发展,PC机的显示系统经历了由CGA、EGA、VGA、SVGA到现在的VESA系列的发展过程。
  在早期的显示系统中,CGA、EGA等显示卡配置的显示器是严格配套的,一种显卡只与一种显示器匹配使用。随着技术的发展,出现了可变频的显示器,它使用自动跟踪技术,同一显示器可以适应CGA、EGA、VGA等各种显示卡。这使得我们用TC操作显示卡模拟VESA工作模式成为可能。
  颜色和灰度是衡量显示系统的又一重要参数。最初的彩色显示系统CGA只能显示固定的16种颜色,到EGA时可以使用64种颜色种的16种颜色,而发展到VGA时可以使用256K种颜色中的16种颜色,现在的显示卡甚至可以支持到32位真彩色并使用所有颜色。颜色与灰度的发展受显示内存的限制。在16色模式中,一个像素点只需要log2 16=4位内存即半个字节;而在256色模式中,一个像素点则要占log2 256=8位即一个字节;在16位真彩色模式下,一个像素要占用整整两个字节。所以,在CGA高分辨率方式下,只能同时使用两种颜色,因为640*200*1/8 = 16000(byte)接近16k。而到了VGA,实现640*480分辨率16种颜色时,由于一个像素有16种颜色,最少需要占4位,因此,需要内存640*480*4/8 = 153600(byte)≈ 150k。
此外,RAM的扩大还受到PC机中留作显示用的地址空间的限制,一般不超过64K。因为,当使用大于64K的地址空间时,通过PC机访问显示缓冲区的控制就变得较为复杂了(使用换页机制)。
  现在的显卡可以兼容多种显示模式,因此,显卡在固化的ROM BIOS中为每一种模式分配了一个代号。用户在使用PC机编程时,直接输入该代号,再通过显示卡的BIOS调用即可使用此种模式。
  通常,显示模式号<0x14的是标准模式,其它的为非标准模式,非标准模式因显示卡的不同而不同。
  1.下表列举了所有的标准字符模式:<点击此处>
  2.下表列举了所有的标准图形模式:<点击此处>
  3.非标准字符模式:
  这类字符模式一般与某种显卡有关,其模式号由某类生产厂家自行确定。这类显示模式的行列变化范围都比较大,但均超出25行*80列的范围。
  4.非标准图形模式:
  非标准的图形模式也是变化多样的,但每个卡的特点主要体现在这些图形模式中。下表介绍了常见的非标准图形模式:<点击此处>

显示缓冲区与颜色定义

  PC机的显示卡上的RAM存储器中的数据按照显示器显示格式进行存储。我们知道,计算机只能以二进制方式存储数据,每位有两种状态(0与1)。对于单色显示器,内存中只需存放一张表,表中每一位对应屏幕上一个像素点,该位为1则表示该点是亮点。而对于彩色显卡来,要表示屏幕上像素点的信息,仅用一为就不够了。对于显示16色的显示模式,就需4位定义一种颜色。到了EGA显示卡时,已经开始有了显示卡兼容性。在VGA模式时由于颜色较多,分辨率提高带来点数的增加,所需要的显存增大,从而出现了一种以“彩色位平面”的存储结构来表示颜色信息。CGA400、CEGA、CH、VGA均采用彩色位平面的存储结构。一般VGA的基本配置有256K的显示缓冲区(BANK A)。当支持16种以下的颜色时,使用存储位平面结构,此时256K的显示缓冲区被分位4个64K的存储位平面,屏幕上的一个点,由存储位平面的各一位组合后表示,最多表示16种颜色。当支持256种颜色时,要使用线性内存结构,4个存储位平面线性链接,形成256K的线性内存(Linear system)。
  在使用16色和256色模式显示时,需要一张颜色表,以将显存的数据“翻译”为屏幕上的点信息。所谓颜色表,就是我们通常所指的“调色板”。当显示器要显示屏幕上的一个点时,先由显示卡将显存中的数据读出,然后对照颜色表,得到一组RGB颜色信息,然后调整显示器的射线管,在屏幕相应位置显示一个点。当显存中所有的点都显示后,就得到我们所看到的图像。用户还可以根据自己显示的需要,更改颜色表的RGB对应值,得到我们自定义的颜色。
  在显示模式到了真彩色级别时,由于显示内存中存储的已经是像素点的RGB信息,因此调色板就变得没有意义。因此,在真彩色模式中,不再需要调色板。

视频BIOS ROM

  显示卡都有自己的专用视频BIOS支持。此BIOS是视频控制程序,固化在ROM中,成为显卡的一部分,显示卡上的视频BIOS功能要比PC的视频BIOS强大的多,它除了支持CGA、EGA、VGA等各标准显示模式外,还支持各种专用模式和针对显存的专用操作,可以独立于CPU单独处理显存图像,比如2D变换、3D环境计算等等非常复杂的运算。一般VGA视频BIOS的入口地址在C000H——CFFFFH之间。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有