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);
}
其它的方式同理可得,这里就不再赘述了。