作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试《3d 游戏编程的黑艺术》一书中的一些旧代码。我知道它已经过时了,但我开始阅读它,它很有趣。我下载了 OpenWatcom C 编译器并创建了一个新的 DOS 项目,以便编译这些旧代码。我已经编译了一段设置了 Videomode int13h 的代码,然后我就能够将像素绘制到屏幕上。但这是通过一个名为 _setvideomode() 的 C 函数完成的。在下面的示例中,视频模式是通过 _int86 函数设置的,该函数进行中断调用,原型(prototype)应该位于 bios.h 中,但 OpenWatcom 说:找不到函数 _int86 的原型(prototype)。我现在陷入困境,不知道该怎么办;)这是代码:
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/
我是一名优秀的程序员,十分优秀!