標(biāo)題:微機(jī)unix直接視頻圖形程序設(shè)計(jì)

  unix操作系統(tǒng)提供了x-window圖形窗口系統(tǒng)和openlook圖形用戶界面,這些系統(tǒng)不僅昂貴、龐大,而且不便于移植以前開(kāi)發(fā)的dos圖形應(yīng)用程序。本文介紹利用微機(jī)內(nèi)部硬件控制,針對(duì)ega/vga圖形適配器,進(jìn)行直接視頻圖形程序設(shè)計(jì)。對(duì)于比較熟悉pc-at體系結(jié)構(gòu)和視頻程序設(shè)計(jì)知識(shí)的程序員來(lái)說(shuō),更喜歡后者,因?yàn)槟苡行У乩糜布匦,加快圖形處理速度。
  進(jìn)行圖形程序設(shè)計(jì)時(shí),還須考慮視頻接口的一個(gè)重要特性——虛擬 ……(快文網(wǎng)http://hoachina.com省略359字,正式會(huì)員可完整閱讀)…… 
  更多相關(guān)文章:微機(jī)unix直接視頻圖形程序
…。
  2.初始化圖形系統(tǒng)
  初始化圖形必須完成下列任務(wù)。
  (1)獲取當(dāng)前的視頻顯示方式
  ioctl的cons-get命令用來(lái)判斷當(dāng)前適配器的顯示方式,即:
  ioctl(0,cons-get,null)
  它返回顯示方式的值,這些值在包含文件vtkd.h中均有定義,如:sw-vag640x480c為vga適配器設(shè)置成640x480分辨率彩色圖形模式。
  (2)設(shè)置圖形模式
  直接將圖形模式值放入ioctl中的命令項(xiàng)即可設(shè)置相應(yīng)的圖形模式,如ioctl(0,sw-vga640x480c,null)
  將vga適配器設(shè)置成640x480分辨率的彩色圖形模式。
  (3)獲取圖形模式下視頻緩沖區(qū)物理地址
  利用ioctl的mapcons命令可以實(shí)現(xiàn)此功能,即:
  char*scrnmem;
  scrnmem=(char*)ioctl(0,mapcons,null)
  所有實(shí)現(xiàn)基本圖素的操作都將針對(duì)scrnmem進(jìn)行,scrnmem就是ega/vga相應(yīng)的四個(gè)位平面的重疊地址,有關(guān)ega/vga的結(jié)構(gòu)可參閱[2]。
  3.實(shí)現(xiàn)基本圖素
  dos操作系統(tǒng)下,對(duì)ega/vga的各種視頻i/o寄存器進(jìn)行操作是很方便的,可以直接使用匯編語(yǔ)言in和out指令進(jìn)行讀寫(xiě)。然而,unix操作系統(tǒng)下,對(duì)物理硬件的訪問(wèn)都是由unix系統(tǒng)核心和設(shè)備驅(qū)動(dòng)程序管理的,要訪問(wèn)ega/vga的各種i/o寄存器,必須獲得對(duì)其訪問(wèn)的特權(quán),為了實(shí)現(xiàn)這種功能要求,可以使用下列ioctl系統(tǒng)調(diào)用方式:
  ioctl(0,vga-ioprivl,1)獲取vga的各種i/o寄存器的訪問(wèn)特權(quán)
  ……(未完,全文共3879字,當(dāng)前只顯示934字,請(qǐng)閱讀下面提示信息。收藏微機(jī)unix直接視頻圖形程序設(shè)計(jì)

上一篇:基于計(jì)算機(jī)網(wǎng)絡(luò)的"自適應(yīng)式遠(yuǎn)程教育"模式的研究
下一篇:動(dòng)態(tài)哈夫曼編碼的改進(jìn)