TVGA彩色视频模式.docx

上传人:b****4 文档编号:5543474 上传时间:2023-05-08 格式:DOCX 页数:7 大小:18.72KB
下载 相关 举报
TVGA彩色视频模式.docx_第1页
第1页 / 共7页
TVGA彩色视频模式.docx_第2页
第2页 / 共7页
TVGA彩色视频模式.docx_第3页
第3页 / 共7页
TVGA彩色视频模式.docx_第4页
第4页 / 共7页
TVGA彩色视频模式.docx_第5页
第5页 / 共7页
TVGA彩色视频模式.docx_第6页
第6页 / 共7页
TVGA彩色视频模式.docx_第7页
第7页 / 共7页
亲,该文档总共7页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

TVGA彩色视频模式.docx

《TVGA彩色视频模式.docx》由会员分享,可在线阅读,更多相关《TVGA彩色视频模式.docx(7页珍藏版)》请在冰点文库上搜索。

TVGA彩色视频模式.docx

TVGA彩色视频模式

TVGA彩色视频模式

本文从网络收集而来,上传到平台为了帮到更多的人,如果您需要使用本文档,请点击下载按钮下载本文档(有偿下载),另外祝您生活愉快,工作顺利,万事如意!

  摘要本文首先分析了TVGA的结构和其显示原理,然后进一步阐述了其256彩色模式下的存储模式,并给出了的实用编程技术,还附了一个在TVGA显示器上显示256色图像的源程序。

  关键词DAC彩色表

  增强型视频图形阵列TVGA自从Trident公司开发出来,现在以成为IBM和其他兼容机上普遍适用的图形显示器。

TVGA提供与VGA寄存器级兼容能力,并增强了几种显示模式,特别是它能很方便的显示256种颜色,为我们提供了丰富多彩的照片式图像显示。

为了让读者能对TVGA的256色模式有一个清楚而全面的认识,文章将从结构显示原理以及存储模式等方面来介绍,最后并给出TVGA256色模式下的编程技术。

  一、TVGA视频模式

  TVGA提供了与VGA寄存器级兼容能力,而且大大增强了图形、文本模式,支持256K×4DRAM、等离子体显示控制,它可以模拟VGA、EGA、CGA、MDA和256色图形方式,有640×400、640×480、800×600和1024×768四种模式。

  TVGA除拥有VGA标准图形模式外,还有扩展VGA模式。

在配置512K视频缓冲区(DRAM)的系统中,256色的分辨率可达到800×600;若配置1MBDRAM,还可以达到1024×768更高的分辨率。

  表1给出TVGA扩展图形模式的说明。

  @@;表1@@

  由表1可知TVGA提供4种256色扩充模式:

5CH(640×400)、5DH(640×480)、5EH(800×600)和62H(1024×768)。

在此后的文中,所谈及的TVGA256色的视频模式就是上述四种模式。

  二、TVGA结构

  TVGA主要由:

定序器、CRT控制器、图形控制器、属性控制器、DAC支持逻辑、主总线接口及显示寄存器接口等7部分组成,它们之间的逻辑关系如图1所示。

  @@;图1@@

  1.定序器

  定序器为DRAM接口提供基本的存储器时序,为CRT提供字符时钟,并执行某些存储器地址解码。

它通过5个可以读写的寄存器进行控制。

它们有两个I/O地址(3C4和3C5)。

3C4是序号寄存器,用于选择工作寄存。

数据输出到I/O地址为3C5的寄存器。

  控制器

  CRT控制器通过产生显示器光栅的同步信号等来控制显示器,它也可以定义屏幕上显示数据的格式。

  3.图形控制器

  图形控制器位于存储器与系统处理器之间的数据通道中。

在缺省状态下,图形控制器是透明的:

数据在处理器之间直接进行逻辑操作,为图形算法提

  供硬件支持。

同样,图形控制器有两个I/O地址:

3CE和3CF,前者是序号寄存器,用于选择图形控制器各工作寄存器来驱动TVGA模拟显示器

  4.属性控制寄存器

  属性控制寄存器把图形控制器接收的数据格式化后进行视频显示。

它操作调色板、屏幕边界(或过扫描区)和背景色彩。

光标闪烁、下划线和显示逻辑地址也由它控制。

在图形模式下,属性控制器把内存中的数据转化成彩色查找表的地址,并由视频DAC转换成模拟电平来驱动TVGA模拟显示器。

  5.数模转换器(DAC)

  数模转换器,是TVGA系统中的可编程控制设备。

它把TVGA产生的二进制彩色信息转换成可由监视器显示的信号,DAC含有256个颜色数据寄存器,每个含有可显示的每种颜色。

每个数据寄存器保存18位彩色信息,红绿蓝各占6位。

这些基色位控制三色模拟显示的驱动。

TVGA256模式时,显示缓冲区的每一项由18位组成,分成三部分,各6位,分别代表红绿蓝的值。

查找表中每一项是可以设置的,因此可有256k种颜色可以设置,由于查找表最多只有256色,所以同时显示的颜色只有256种。

显示缓冲区、视频DAC和彩色查找表、显示屏的关系可用图2来表示。

  @@;图2@@

  用于访问视频DAC的寄存器有5个,见表2。

  @@;表2@@

  选择查找表2中256个内部色彩寄存器,另有两个独立的寄存器,读序号寄存器仅用于读DAC颜色查找表,写序号寄存器仅用于写DAC颜色表。

彩色寄存器宽18位,把8位序号写入3C8写序号寄存器,然后写6位数到数据寄存器(3C9),那么8位序号彩色寄存器的3个分量就得到修改。

每写3个字节,3C8写寄存器自动加一,因此不必重复设置序号便可给一组寄存器赋值。

同样,向读寄存器(3C7)写入8位序号,然后从3C9中读3个6位值,便可得到该序号彩色寄存器值。

每读3个字节,序号寄存器就自动加一,因此不必设置序号就可读出一组彩色寄存

  器值。

  读DAC状态寄存器(3C7)可以知道彩色查找表当前是读还是写。

D0,D1位上的00值表示处于读模式,01值表示处于写模式。

  三、TVGA256视频模式的存储模式

  TVGA256图形模式,包括模式5C、5D、5E和62等。

在这几种模式中,彩色查找表(调色板)的设置都是通过对端口3C7、3C8、3C9的读写达到重置彩色查找表的目的。

这几种显示模式缓冲区的起始地址都是A0000,而所需缓存容量都大于TVGA基本的64KB,因此TVGA在控制卡上增加了一部缓存,它是通过3C4,3C5来存取。

  存储映射方式

  显示存储器DRAM在系统主存储空间的映射方式有两种,也就是两种页模式(PAGEMODE),第一种允许CPU访问DRAM的地址范围为A0000—BFFFF,即128K模式;另一种地址范围为A0000—AFFFF,即64K模式。

前一种模式,在使用位平面存储方式下,一次可以访问128K的位平面;而后一种模式则需要另外一个I/O端口位来选择读出的是哪一个64K。

TVGA的视频BIOS缺省置为64K模式。

可根据需要选择页模式,页模式由图形控制器中的辅助寄存器控制。

图形控制器有I/O地址3CE和3CF,3CE为索引端口地址,3CF为数据端口地址。

而辅助寄存器则为3CE的第6号索引寄存器。

该寄存器中存放着可修改的单字节数据,各位意义如下:

  4,5,6,7位:

保留:

  2,3位:

DRAM在主存储区内的地址范围

  00—A0000~BFFFF(128K)

  01—A0000~AFFFF(64K)

  10—B0000~B7FFF(32K)

  11—B8FFF~BFFFF(32K)

  1位:

置为0;

  0位:

若为0,表文本方式;若为1,表图形方式。

  在64K页模式下,由于一幅640×480的256色图象至少需要240K缓存,这大大的超过了64K页模式下的缓存,因此TVGA在VGA64K基础上,利用定序器控制器的地址寄存器(索引号为0EH)来分别控制数据传送到不同的几个64KB缓存中。

定序器控制器的索引端口地址为3C4,数据端口地址为3C5。

而地址寄存器则为0E号索引,存放

  着单字节数据,各位意义如下:

  4,5,6,7位:

保留;

  2,3位:

0到3号存储块选择;

  1位:

页选择:

读DRAM时,若为1,表读第一页;

  若为0,表读第零页;特别注意,写DRAM时,

  若为1,表写第零页;若为0,表写第一页;

  0位:

段选择。

  像素寻址

  图形显示模式下TVGA使用自然坐标系对其存储器进行寻址,各像素根据坐标在屏幕上定位,原点位于屏幕左上角,坐标最大点(Xmax,Ymax)位于右下角。

  屏幕像素地址为20位(不包括0XA0000基地址),格式为:

  16,17,18,19位:

意义同定序器控制器的地址寄存器的4,5,6,7位;

  0..15位:

表段内偏移地址。

  四、TVGA编程技术

  在TVGA256色视频模式下,主要用于显示高质量照片式点阵式图像。

原图像可以从彩色图像扫描仪中或电视摄像机中获得,只要把原图像格式转换成TVGA的256彩色显示格式,就可以直接把图像送TVGA显示存储器。

本节所有例程都是用TURBOC语言写成,并都在微机上调试通过。

  1.模式设置

  用BIOS中的INT10H可完成模式设置,下面只讨论256色图形模式的设定。

在每次模式设置前,还要设置缓冲区的存储模式。

  

(1)缓冲区存储模式设置

  ①128K模式

  voidmode128K()

  {unsignedchari;

  outp(0x3ce,0x06);

  i=0x01;

  i=(i0x0f);

  outp(0x3cf,i);

  }

  ②64K模式

  voidmode64K()

  {unsignedchari;

  outp(0x3ce,0x06);

  i=0x05;

  i=(i0x0f);

  outp(0x3cf,i);

  

(2)图形显示模式设置

  set-mode(intmode)

  {unionREGSin,out;

  =(unsignedchar)mode;

  =0;

  int86(0x10,in,out);

  }

  2.画点程序和读点程序

  不妨设当前模式下的横向和纵向的最大分辨率maxx,maxy已知。

  putpixel(intx,inty,unsignedcharcolor)

  {longaddress,offset;

  unsignedcharsegnumber;

  charfar*p;

  address=y*maxx+x;

  offset=(address0x0000ffff);

  segnumber=(address0x000f0000;)

  outp(0x3c4,0x0e);

  =segnumber;

  =(0x0f)_x02;

  outp(0x3c5,);

  p=(charfar*)0xA0000000;

  *(offset+p)=color;

  }

  getpixel(intx,inty,unsignedcharcolor)

  {longaddress,offset;

  unsignedcharsegnumber;

  charfar*p;

  address=y*maxx+x;

  offset=(address0x0000ffff);

  segnumber=(address0x000f0000);

  outp(0x3c4,0x0e);

  outp(0x3c5,segnumber);

  p=(charfar*)0xA0000000;

  color=*(offset+p);

  }12下一页欢迎浏览更多论文联盟首页→理学论文→物理学论文文章

  

本文从网络收集而来,上传到平台为了帮到更多的人,如果您需要使用本文档,请点击下载按钮下载本文档(有偿下载),另外祝您生活愉快,工作顺利,万事如意!

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2