BIOS中断_int86

时间:2015-02-07 23:31:31

标签: c interrupt bios

我正在尝试一些旧代码,以及#34; 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完成的。这只是为了学习目的!谢谢:))

1 个答案:

答案 0 :(得分:0)

在OpenWatcom下,您正在寻找的电话是int386我相信:

int386(0x10, &inregs, &outregs);