如何在Turbo c2.0中使用高分辩率显示模式

Author: 惊寒 Date: 2001年 36期

?牐燭urbo C至今都还是不少C语言支持者的常用工具,它的功能已非常强大。可是当初在设计时为了方便移植到不同系统,它的图像处理功能相对稍弱(当时有的系统没有显示器)。它支持的最高显示模式是640×480×16色,现在已经很不适合开发者的要求了。因此,我们必须自行开发出更好的图形模式。
  ?牐牻饩龇椒ň褪峭ü鼴IOS的功能调用:INT 10H。INT 10H BIOS中断通常被称为视频服务中断(Video Services Interrupt),因为它可以直接控制系统中的视频显示,将显示适配器设置成与VGA中适配器的VESA方式一致的Super VGA方式。调用时将AX设置为4f02,BX值参照上面的表格:(^36020505a^)
  ?牐犚韵率且桓鍪褂?640×480×256显示模式的例子:
  ?牐?#include <stdio.h>
  ?牐?#include <conio.h>
  ?牐?#include <dos.h>
  ?牐?/*图形映像的首地址是在内存的0xa000文本映像则是在0xb000*/
  ?牐爑nsigned char far*buffer=MK_FP(0xa000,0x0000;
  ?牐爒oid main(void)
  ?牐爗??
  ?牐?/* 设置AX寄存器为4F02,BX寄存器为所需方式的值*/
  ?牐牐逜X=0x4f02;
  ?牐牐連X=0x0101;
  ?牐?/* 调用中断 INT 10H */
  ?牐爂eninterrupt(0x10);
  ?牐牐?
  ?牐牐?
  ?牐牐?
  ?牐?/* 将屏幕设回文本模式若无此句则不能正常退出 */
  ?牐牐逜X=0x0003??
  ?牐?/*调用中断 INT 10H */
  ?牐爂eninterrupt(0x10);??
  ?牐爙??
  ?牐犉渌姆绞酵砜傻茫饫锞筒辉僮甘隽恕?