我的程序在MSDOS6.22下运行(纯DOS),分辨率为800X600,色深为8。
所有的函数(矩形、直线)都是由画点函数构成。
请问:换页技术是否显示换页呢?如果不是该如何实现呢?
/
//显存换页函数
/
void _Cdecl set_vbe_page(int page)
{
if (g_cur_vbe_page != page)
{
_BX = 0;
_DX = g_cur_vbe_page = page;
_AX = 0x4F05;
__int__(0x10);
}
}
/
//画点函数
/
void _Cdecl putpixel(int x,int y,int color)
{
long addr;
int page;
char far *videoptr = (char far *)0xa0000000L;
addr = (long)y * 800 + x;
page = (int)(addr >> 16);
set_vbe_page(page);
*(videoptr+(unsigned int)(addr&0xffff))= color;
}