我正在尝试从“ 3d游戏编程的妖术”一书中获取一些旧代码。我知道它已经过时了,但是我开始阅读它,它既有趣又有趣。我下载了OpenWatcom C编译器,并制作了一个新的DOS项目,以便甚至编译此旧代码。我已经在设置Videomode int13h的代码上进行了编译,然后能够在屏幕上绘制像素。但这是通过名为_setvideomode()的C函数完成的。在以下示例中,通过_int86函数设置了视频模式,该函数进行中断调用,并且原型应位于bios.h中,但是OpenWatcom表示:没有为函数_int86找到原型。我现在陷入困境,不知道该怎么做;)这是代码:
void setGraphxMode(int mode){
union REGS inregs,outregs;
inregs.h.ah = 0;
inregs.h.al = (unsigned char)mode;
_int86(0x10,&inregs,&outregs);
}
int main(){
return 0;
}
对此,我们将不胜感激,是的,我知道:目前,图形是通过DirectX或OpenGL完成的。这只是出于学习目的!谢谢 :)
最佳答案
在OpenWatcom下,您要查找的电话是int386,我相信:
int386(0x10, &inregs, &outregs);
关于c - BIOS中断_int86,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28388775/