當前位置:學問君>學習教育>畢業論文>

DOS真彩色模式下真彩色圖像顯示技術

學問君 人氣:7.71K

摘要 該文透過介紹Cirrus GD5434卡等幾種高、真彩色卡及其顯示模式,詳述了DOS環境下與硬件無關的VESA高彩色仿真真彩色、真彩色圖像全息顯示的一般性方法,還提示了24位PCX真彩色圖像解壓縮快速顯示編程的要點。最後給出C語言編程示例。

DOS真彩色模式下真彩色圖像顯示技術

一、高、真彩色顯示卡
近年來,順應CAD、CG及多媒體技術進步的要求,許多彩色適配器板卡廠商先後推出性能價格比較高的一系列高彩色(High Color)和真彩色(True Color)SuperVGA顯示卡。如Trident Microsystems公司的TGUI94XX、TGUI96XX,Cirrus Logic的GD543X、GD544X,Tseng Laboratories的ET4000, ARK Logic的ARK1000,、ARK2000,S3 Incorporated的 S3 86CXXX等等。它們除了繼續支援標準VGA模式外,都支援16色、256色、32K高彩色、64K高彩色及16.7M真彩色VESA BIOS 擴展模式,版本大多爲VESA 1.2, 卡上具有32K、64K及16.7M DAC,有16位ISA、32位VESA、32位 PCI總線等多種接口,顯示VRAM配置一般有1M、2M、4M,一般都帶有硬件加速的32位或64位圖形加速引擎(Graphics Engine),滿足了當今386~586各種檔次的PC機對更多色彩、更高分辨率的要求。
表1整理了市場上常見的GD5434(64位GUI)、TGUI9440AGi(32位GUI)和ARK2000PV(64位GUI)三種PCI總線高、真彩色顯示卡的OEM BIOS調用模式號、色彩數、分辨率、VESA模式對照及其相應的VRAM佔用等數據。其他支援 VESA 1.2的顯示卡只要查閱卡附手冊得到OEM(原始設備製造商)自訂的高、真彩色模式號或其對應的VESA模式號。有些配4M VRAM的顯示卡甚至可支援1280×1024 16M色(VESA 1.2 11BH模式)。
表1

二、高、真彩色編程與256色編程的異同
高、真彩色模式編程在寫視頻緩衝區端口索引號、頁切換方式、置模式號等方面類同擴展256色編程,例如,Trident的高、真彩色顯示卡,寫視頻緩衝區端口索引號仍是(0x3C4, 0xE)和(0x3C5, page^2),視頻視窗頁粒度仍是64, 頁切換方式仍是64K 頁、128K頁任選。不同點在於:高、真彩色模式已經不再使用256組DAC寄存器索引號及調色板概念,而使用像素字長的RGB 分量數據直接描述色彩及飽和度,寫視頻緩衝區映射到VRAM後由新的64K DAC或16M DAC將色彩數據轉爲模擬信號送多頻彩色顯示器,256 色編程中有關調色板的BIOS中斷全部失去作用;其次,由於用多個字節表示一個像素,高、真彩色DAC 轉換的時間成倍增加,顯示速度過分依賴卡上圖形引擎(Graphics Engine)的效率,再加上數據成倍佔用RAM或VRAM,所以顯示速度明顯慢於256色圖像顯示。
另外,不同廠商自訂的訪問端口寄存器索引號的方式均各不相同,直接根據硬件特性的編程必然缺乏通用性。若按照這些顯示適配卡都支援的 VESA ( VideoElectronics Standards Association)標準擴展BIOS功能調用接口編程,從而實現軟件接口層次上的相容性,所編程序便可在衆多的Super VGA卡上執行,有關 VESA編程的詳細資料請查閱有關書刊。
表2是高、真彩色像素的分量結構示意,是理解高、真彩色圖像編程的關鍵。
表2