论文天下|会计论文|管理论文|计算机论文|医药学论文|经济学论文|法学论文|社会学论文|文学论文|教育论文|理科论文|工科论文|艺术论文|哲学论文|文化论文|外语论文|格式论文
论文天下
计算机应用论文  计算机理论论文  计算机网络论文  电子商务论文  软件工程论文  操作系统论文  通信技术论文   
微机UNIX直接视频图形程序设计

吴建林

unix操作系统提供了x-ind图形窗口系统和penlk图形用户界面,这些系统不仅昂贵、庞大,而且不便于移植以前开发的ds图形应用程序。本文介绍利用微机内部硬件控制,针对ega/vga图形适配器,进行直接视频图形程序设计。对于比较熟悉p-at体系结构和视频程序设计知识的程序员来说,更喜欢后者,因为能有效地利用硬件特性,加快图形处理速度。
进行图形程序设计时,还须考虑视频接口的一个重要特性——虚拟终端功能,因为它允许控制几个独立的图形应用窗口,允许多个应用程序在同一个终端上进行切换。本文提供针对ib标准终端对虚拟终端进行有效管理的手段。
微机unix直接视频图形程序设计有两种方法,一种是利用设备驱动程序(见参考文献1),另一种是针对ib标准终端进行编程,本文介绍后者。
一、图形程序设计
1.检测视频适配器
视频显示器是由视频适配器硬件控制的,视频适配器决定了图形方式下显示图形的分辨率及可能的颜色[2]。利用系统调用itl中的ns-urrent命令可以检测到当前的视频适配器,即:
itl(0,ns-urrent,null)
返回-1时表示出错,即没有相应的视频适配器硬件,如果检测到vga卡则返回值为vga,如果检测到ega卡则返回值为ega,……。
2.初始化图形系统
初始化图形必须完成下列任务。
(1) 获取当前的视频显示方式
itl的ns-get命令用来判断当前适配器的显示方式,即:
itl(0,ns-get,null)
它返回显示方式的值,这些值在包含文件vtkd.h中均有定义,如:s-vag640x480为vga适配器设置成640x480分辨率彩色图形模式。
(2) 设置图形模式
直接将图形模式值放入itl中的命令项即可设置相应的图形模式,如itl(0,s-vga640x480,null)
将vga适配器设置成640x480分辨率的彩色图形模式。
(3) 获取图形模式下视频缓冲区物理地址
利用itl的apns命令可以实现此功能,即:
har *srne;
srne=(har *)itl(0,apns,null)
所有实现基本图素的操作都将针对srne进行,srne就是ega/vga相应的四个位平面的重叠地址,有关ega/vga的结构可参阅[2]。
3.实现基本图素
ds操作系统下,对ega/vga的各种视频i/寄存器进行操作是很方便的,可以直接使用汇编语言in和ut指令进行读写。然而,unix操作系统下,对物理硬件的访问都是由unix系统核心和设备驱动程序管理的,要访问ega/vga的各种i/寄存器,必须获得对其访问的特权,为了实现这种功能要求,可以使用下列itl系统调用方式:
itl(0,vga-iprivl,1) 获取vga的各种i/寄存器的访问特权
itl(0,ega-iprivl,1) 获取ega的各种i/寄存器的访问特权
unix操作系统基本上是采用语言编写的,只是在低层的系统内核方面才使用低级的汇编语言,遵循这一原则,对ega/vga的i/寄存器的访问可以采用汇编语言,而实现图形系统的基本图素则采用语言。
如果用户的unix系统中已有inb()和utb()函数(嵌入在/usr/inlude/sys/inline.h中),则可以直接使用它们完成对各种i/寄存器的读写,否则,必须编写下列低级汇编语言例程:
/*向一端口输出一字节*/
/*从一端口输入一字节 */
vid utb(int prt,uhar value)
{
-as push edx
-as v edx,prt
-as v al,value
-as ut dx,al
-as pp edx
}
uhar inb(int prt)
{
-as push edx
-as v edx,prt
-as in al,dx
-as pp edx
}
基本图素一般包括:设置颜色,对调色板的操作,画点、线、弧、矩形、圆、椭圆、多边形、画扇形、饼图,任意图形填充,多边形填充,保存屏幕,恢复屏幕等,这些操作均可用语言实现,细节问题可参阅[2]。
4.关闭图形系统
退出图形系统之前必须恢复ega/vga各i/寄存器的值,并将显示模式恢复到进入图形模式之前的模式。采用下列itl调用实现:
itl(0,desith | ldde,null)
ldde是进入图形方式之前获取的方式,unix系统中,获取的方式和设置的方式之间的关系为:

未完...点击下方链接下载完整文档

微机UNIX直接视频图形程序设计

吴建林 unix操作系统提供了x-ind图形窗口系统和penlk图形用户界面,这些系统不仅昂贵、庞大,而且不便于移植以前开发的ds图形应用程序。本文介绍利用微机内部硬件控制,针对ega/vga图形适配器,进行直接视频图形程序设计。对于比较熟悉p-at体系结构和视频程
  • 上一篇:基于Vxworks实时操作系统的串口通信程序设计与实现
  • 下一篇:架设基于Linux(2.6内核)的服务器集群
  • 避免误删,找回Windows8删除文件
    改善嵌入式Linux实时性能的方法
    微软发布Windows8操作系统
    开放教育计算机操作系统课程教学
    于PCI9656设备驱动程序的Linux2.
    搭建基于Linux桌面环境的影音平
    浅谈Windows XP系统漏洞的防范
    基于Cent OS操作系统的虚拟机应
    提高实时操作系统的实时性能和可
    浅谈基于内容检索的媒体语义特征
    《计算机操作系统》课程教改研究
    windows nt环境下fddi网卡驱动程
    《Linux操作系统》工学结合教学
    iPad3问世前夜 Win8出鞘:微软舞
    感受便捷Windows8鲜为人知的五十
    | 设为首页 | 加入收藏 | 联系我们 | 论文发表

    Copyright 2006-2020 © 论文天下 All rights reserved 本站所有内容均由SPider自动索引,如有侵权请联系QQ:2486851删除