- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DOS下的SVGA编程
DOS下的SVGA编程 发布时间:2008-07-17 22:42:14
技术类别:工业控制 DOS下的SVGA编程第一章 SVGA显示卡和VBE标准视频图形阵列 适配器(vidio graphics array, VGA)是IBM公司在1987年制定的显示卡标准,它提供的字符和图形两种模式,图形分辨率最大是640 * 480 * 16色或者320 * 200 * 256色,这个标准是显示卡发展的一个丰碑,改变了各厂商混战相互不兼容的局面,而且统一了软件接口标准,为程序开发提供了特别大的方便。VGA显示的调 用方法放在了BIOS中,统一使用int 10h功能,主要功能有设置显示模式,文本窗口上卷下卷、光标和字符串,使用调色板、位面结构、读像素和写像素等。
当然,VGA逐 渐不能满足需要了。在80年代末至90年代初,市场上出现了以TVGA系列、S3系列、Cirrus Logic系列、ET系列等为首的一批显示卡,它们都提供了比VGA分辨率更高、颜色更丰富的显示模式,又完全兼容VGA显示卡,它们被统称为Super VGA(超级VGA,简写为SVGA)。他们在高分辨率高颜色数的控制方面又需要制定一个新的标准。为此视频电子学标准协会VESA(Vidio Electronics Standards Association)提出了一组扩展的BIOS功能调用接口——VBE(VESA BIOS Extension)标准,在软件接口层次上实现了各种SVGA显示卡之间的兼容性。
时至今日,或许有些显示卡已不兼容VGA标 准,但是所有的显示卡厂商都无一例外地支持VBE标准。几乎所有的Super VGA卡都提供了符合VESA SVGA标准的扩展BIOS。通过一组int 10h, AH=4Fh中断调用,使用VESA SVGA的扩展功能而不必了解各种显示卡的硬件细节,基于该标准编写的程序就具有非常广泛的硬件兼容性。
VBE标准到已经发布过3个版本。1991年10月VESA发布了VBE1.2,这个标准规定了应用程序访问高性能显示卡的简易性接口,允许应用程序查询显示卡的特性并设置成合适的模式,包括分辨率,色彩丰富的模式。VBE1.2是现代显示卡广泛采用的标准。
1994 年11月发布VBE2.0,它最重要的改进是增加了保护模式支持(VBE功能0Ah),提高了VBE的性能。另外,VESA组织还从VBE V2.0版标准开始增加了扩展VBE功能,包括显示器能源管理PM,显示器数据通道DDC等一些非常有用的功能。1998年9月发布VBE V3.0,主要增加了对显示卡,显示器扫描频率的控制和对平面显示器的控制。每个标准都完全向前兼容,在VESA的中文网站上可以免费下载到 VBE3.0,网址。
下面章节我们就开始讲SVGA 640*480*256色分辨率怎样调用VBE1.2 BIOS功能编程。
第二章 DOS内存和SVGA的位面结构虽 然不同的SVGA显示卡的体系结构不同,但它们最初都是从标准VGA的结构上扩充而来的,包括五大功能模块,即显示控制器、定序器,属性控制器、图形控制 器和显示存储器(VRAM)。SVGA卡640*480*256色的显示模式也和VGA卡的256色模式类似,每个像素点8位,整个VRAM地址空间按扫 描行连续存放,超过 64K的地址空间采用位面映射机制分块影射到主机提供的地址上。主机提供的地址空间叫做窗口,SVGA把VRAM分成小块(称为位面),每块64K,分别 映射到窗口上。
下面的表格就是是DOS系统中的内存安排,注意从地址A0000h(即640KB)开始是用于显示的视频缓冲区和BIOS的地址空间,这正是我们图形编程中要用到的地址。
在上图中“图形模式视频缓冲区”就是主机提供的窗口,大小是64KB。下面的图表示640*480*256色显示模式的位面映射机制。
有 的显示模式窗口大小和位面大小不一定是64KB,有可能内存窗口小,显示存储器(VRAM)中的每一个64K位面没有放满,也就是说VRAM中有效的显示 信息不是连续的。如果要确定某个显示模式具体的窗口大小、位面尺寸和个数,颜色信息等等,就要调用VBE BIOS功能4F01h。
第三章 调色板在SVGA 640*480*256显示模式下,一个像素对应显示存储器(VRAM)中用一个字节,每个字节表示一种颜色。但它不是一个真正的颜色,而是颜色的索引 号,对应于SVGA调色板上的256个颜色寄存器。实际的颜色码来自于颜色寄存器中,每种颜色18位,红绿蓝各6位,共可以表示256K种不同的颜色,不 过同时在显示器上显示的只有256种。
通过I/O端口地址3C8h和3C9h设置调色板,这样写代码:struct COLOR{?
您可能关注的文档
最近下载
- 临海市城市生活垃圾焚烧发电厂扩建工程环境影响报告.pdf
- 2025内蒙古鄂尔多斯市公安机关招聘留置看护警务辅助人员115人笔试参考题库附答案解析.docx VIP
- 模电教案-李国丽.doc
- 2023版中国结直肠癌及癌前病变内镜诊治共识PPT课件.pptx VIP
- 证监会现场核查工作底稿-A股首次公开发行IPO保荐底稿.docx VIP
- UIC513-1994铁路车辆乘坐舒适性评估.pdf VIP
- 2025年医学课件-右心声学造影.pptx VIP
- 企业内部控制培训课件完整版(164页PPT).ppt VIP
- 2024年秋人教版七年级英语上册全册课件:Unit 7.pptx VIP
- Unit 6 A day in the life Section B (课件)-2024-2025学年人教版英语七年级上册.pptx VIP
文档评论(0)