个人计算机屏幕cga图形模式下文本显示过程的制作方法

文档序号:2638213阅读:900来源:国知局
专利名称:个人计算机屏幕cga图形模式下文本显示过程的制作方法
技术领域
本发明涉及个人计算机屏幕CGA图形模式下文本显示过程,该计算机带有一个处理器和分配给它的存储所显示文本二进制模式的存储器,以及一个经外部总线与这类处理器相连的视频卡。这种视频卡有一个视频存储器,其所存储的内容可显示于视频屏幕上,而根据文本字符的要求,其二进制模式中的首位从存储器调出,并补充作为像素模式的字符颜色(前景色)和背景色存储在视频存储器内及显示于屏幕上。
CGA图形模式有执行BIOS代码4的320×200位模式,这种模式能在屏幕上同时显示4种颜色(但有一定限制);执行BIOS代码6的620×200位模式,这种模式能显示2种颜色,最后是执行BIOS术语中作为模式代码5的上述第一种图形模式的变种,这种模式采用各种灰度代替颜色。这些图形模式很少为现在的软件程序使用或调用,但由于一些过去的程序还需要调用这些模式,所以操作系统基本上仍然支持它们。只有支持上述模式4、5和6的那些个人计算机才是完全兼容的。
当显示图形时,应用程序必须将每个像素的两位数值直接写入视频存储器。但是,在显示文本时,可以采用特殊的方式,而提供的BIOS功能则使应用程序员更加容易地显示文本,从而使得程序在这种情况下不必逐个像素地去创建一个文本字符。在某一个存储器内至少存储了一套已完成的二进制模式,从而生成一套标准的文本字符。为了能显示文本字符,应用程序只需将所显示文本字符的ASCII码告知BIOS程序,由其提供各个像素信息。
可以从欧洲专利71744中了解到上述这种程序。要显示的字符的二进制模式的显示方式为对于每个即将显现在屏幕上的像素只使用一位。接着增加为两位,随后就加入颜色或灰度属性等。这样,该信息(即每个像素的两位)就经外部总线传送到了视频卡。
当显示文本时,待显示的文本字符的像素就以所选择的前景色在屏幕上生成。上述这些像素周围的背景则以所选择的背景色再现,例如前景色为黄色,而前景色为蓝色。为了简化描述起见也把两种不同的灰度称之为前景色和背景色。
可以从欧洲专利71744中了解上述这种过程。待显示字符的二进制模式以每个像素一位的形式存储。对于屏幕上所访问的每个像素只使用一位。
在已知的这个过程中,这些位首先由一个增加为两个,然后加入颜色属性。以这种方式表示的信息(即每个像元两位)经外部总线传送到视频存储器并存储下来。
在该过程中,所有的两位信息(即这种情况下一个像元的数值)不管实际的像素表示是否修改(若修改则为前景色,反之为背景色),都写入视频存储器。这使得每次经外部总线可传送相当数量的信息。
本发明的目标是通过突破CGA标准的限制并充分利用当今个人计算机的能力改善和加快个人计算机屏幕CGA图形模式下的文本显示。
基于上述处理,采用以下途径达到本发明的目标,即外部总线宽度至少为16位,而视频卡至少为VGA卡,待显示文本字符整个像素模式以接近处理器的速度生成于存储器中并以这种形式经外部总线传送至视频卡,并存储在视频存储器中。
按照本发明,与CGA兼容的图形模式4、5和6用来举例说明改进和加快显示,其兼容性仍然保留。VGA视频卡的工作方式与CGA视频卡不同,但可以充分利用其特性和能力。外部总线至少为16位,即其传送的数据量是CGA标准的两倍。X386以上的处理器能够进行快得多的数据处理。按照本发明,所显示的文本字符的完整像素信息(包括颜色和属性等)以处理器的速度在RAM存储器中生成,随后以完整的形式经外部总线传送至视频卡。由每个像素上若干位组成的文本字符的显示由处理器生成并最终以适应于视频存储器存储的形式送向视频卡。这样做的优点是对于那些像素,经过外部总线传送的只是变化前景色的信息。
按照本发明,CGA兼容图形模式在这方面明显得到了改进,并且借助于这些图形模式至少在个人计算机从最初的8088/8086处理器到80386及其以上处理器的升级过程中明显地提高了软件程序调用这些图形模式的处理速度。使用需要调用上述CGA兼容图形模式的旧软件的用户在购买、使用当今的计算机时就能得到这个好处。如果采用上述专利所述的CGA标准,该用户就只有放弃旧软件而享受不到这个好处。
在较佳的实施例中,处理器带有高速缓冲存储器或分配给处理器的这类存储器,由此可提高处理和显示速度。
如果用户需要负像视频显示,则逆转上述逻辑,即使前景色变为背景色而背景色变为前景色。如果诸如亮度等的属性需要改变,就选择另一种前景色显示更亮的像素。
在本发明较佳实施例中,BIOS中断10h被捕捉、存储和转入一个内部路径,检查是否为视频模式4、5和6。在这种方式下,其余的视频模式保持不变,只是改变了上述CGA兼容模式。
本发明将参考附图作进一步阐述,其中描述了一个非限制性实施例。该实施例将参考以下的附图加以描述。附图包括

图1为计算机启动时初始化检测程序运行流程,图2为CGA兼容模式4、5和6下BIOS中断10h转向的流程图,以及图3为按照本发明的文本显示运行流程图。
图1表示在初始化检测(即所谓的POST,是“开机自检”的英文缩写)时的程序运行。当开启计算机(即“启动”)时,要执行涉及个人计算机核心硬件(即处理器、存储器、中断控制器、DMA等)的若干检测。还要检测位于主机板或扩展卡上用来扩充或代替BIOS功能的扩充ROM。通过由其分配给存储器的开头两个字节可以识别出这类扩充。
如图2所示,ROM模式块现在用于根据其路径对中断向量10h重定向。由此以新功能代替了普通的BIOS功能。POST检测结束于POST END。此后中断10h按普通方式调用。
由图2可见,扩充ROM的中断10h是存储在地址00000300中。接着它被重定向并指向截取的中断部分10h。这样该子程序就被调用,其中首先检测功能AH是否为6、7、9A或E。如果应答是否定的,就从视频BIOS中内存位置00000300调用。如果应答是肯定的,就开始检测是否为CGA兼容模式4、5或6。对于否定的应答就再次从名义上的视频BIOS地址处调用,反之则按照本发明在系统BIOS中重定向于地址F000F065。
修改的BIOS代码环境带有下列入口参数BH属性DL颜色(BHX3)CX文本字符重复个数ESDI用作偶数光栅线在存储器中光栅行和光栅列校正的定位输入器。DSSI指向待显示文本字符集的定位输入器(指针)代码执行如下1.重复CX次a.重复4次(4×2光栅行对=8光栅点,存于SI、DI中)
i.在DH中保存偶数字节(8×1个像素/位)并将AX设置为0ii.重复8次(1)DH左移1位(2)如有进位,AL和DL进行“或”运算(3)AX左移2位iii.交换AL、AH的内容iv.如果属性值大于127,那么AX和ES[DI]进行“异或”运算v.存储在存储器中vi.对ESDI执行移动指令,使其指向奇数光栅行(扫描行)vii.保持奇数的字节并重复步骤ii—vviii.对ESDI执行移动指令,使其指向偶数光栅行(扫描行)b.增加到下一文本字符位置S(DI+2=2)2.结束。
图3表示来自偶数扫描行和奇数扫描行图像结构的单独步骤。
对于一块具有VGA特性最低标准的视频卡,其具有VGA卡(例如超级VGA)的最低标准的分辨率。
术语屏幕意指所谓的阴极射线管,其中至少引出一束电子束,成像屏罩为线条状,屏幕上涂有荧光材料。
权利要求
1.个人计算机屏幕CGA图形模式下文本显示过程,该个人计算机带有处理器和分配给它的存储所显示文本二进制模式的存储器,以及一个经外部总线与这类处理器相连的视频卡;这种视频卡有一个视频存储器,其所存储的内容可显示于视频屏幕上,而根据文本字符的要求,其二进制模式中的首位从存储器调出,并补充作为像素模式的字符颜色(前景色)和背景色存储在视频存储器内及显示于屏幕上,其特征在于,外部总线宽度至少为16位,而视频卡至少为VGA卡,待显示文本字符整个像素模式以处理器的立即环境在RAM存储器中生成,随后以这种形式经外部总线传送至视频卡,对于文本输出,每个像素产生一个包含两位的位序列,特别是像00,它确定了背景色,而所存储的文本符号的位模式与该位序列相联系,当各像素内所存储的位模式的位为0时,则其不作改变,当各像素内所存储的位模式的位为1时,则产生包含两位、确定所需前景色并存储在视频存储器内的比特序列。
2.如权利要求1所述过程,其特征在于,处理器带有高速缓冲存储器或直接分配给处理器的这类存储器。
全文摘要
本发明涉及在个人计算机显示屏幕上CGA图形模式下的文本显示过程。在文本输出期间,每一个像素生成一位序列,包含一个二位序列,尤其是00,来确定背景色。文本符号存入的位模式与上述位序列相接。这样,若各像素存入的位模式有0位时,则不作任何改变,若各像素存入的位有1位时,则生成一个二位的位序列,它确定所需要的前景色,并存入视频存储器内。
文档编号G09G5/36GK1123576SQ95190107
公开日1996年5月29日 申请日期1995年2月17日 优先权日1994年2月21日
发明者G·普雷, W·鲍厄 申请人:馥比斯微机股份公司, 阿华德国际软件股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1