微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题如何在Turbo c2.0中使用高分辩率显示模式
栏目软件世界
作者惊寒
发布2001年36期
  Turbo C至今都还是不少C语言支持者的常用工具,它的功能已非常强大。可是当初在设计时为了方便移植到不同系统,它的图像处理功能相对稍弱(当时有的系统没有显示器)。它支持的最高显示模式是640×480×16色,现在已经很不适合开发者的要求了。因此,我们必须自行开发出更好的图形模式。
  解决方法就是通过BIOS的功能调用:INT 10H。INT 10H BIOS中断通常被称为视频服务中断(Video Services Interrupt),因为它可以直接控制系统中的视频显示,将显示适配器设置成与VGA中适配器的VESA方式一致的Super VGA方式。调用时将AX设置为4f02,BX值参照上面的表格:(

)
  以下是一个使用640×480×256显示模式的例子:
  #include <stdio.h>
  #include <conio.h>
  #include <dos.h>
  /*图形映像的首地址是在内存的0xa000文本映像则是在0xb000*/
  unsigned char far*buffer=MK_FP(0xa000,0x0000;
  void main(void)
  {
  /* 设置AX寄存器为4F02,BX寄存器为所需方式的值*/
  _AX=0x4f02;
  _BX=0x0101;
  /* 调用中断 INT 10H */
  geninterrupt(0x10);
  .
  .
  .
  /* 将屏幕设回文本模式若无此句则不能正常退出 */
  _AX=0x0003
  /*调用中断 INT 10H */
  geninterrupt(0x10);
  }
  其它的方式同理可得,这里就不再赘述了。