rollin7
驱动牛犊
驱动牛犊
  • 注册日期2005-05-17
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望13点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:3253回复:6

关于在DOS下把分辨率设为800*600?

楼主#
更多 发布于:2005-05-17 23:04
现在遇到一问题,在DOS下用图形方式显示,需要分辨率为:800*600,用的编译器为:TC3.0
看了一些资料,知道通过BIOS的中断10能解决问题:
  _AX=0x4f02;
  _BX=0x102;
  geninterrupt(0x10);

执行完之后AL=0x4f,AH=0,那应该表示设置成功。可是后面应该怎么做呢?这一段程序是否就代替了initgraph()的功能呢?可是如果不调用initgraph()的话,后面的画图以及汉字显示都无法进行,而要是再调用一次initgraph(),那分辨率又变成640*480了,希望各位高手指点一二。

[编辑 -  5/17/05 by  rollin7]
Sunbeam
驱动小牛
驱动小牛
  • 注册日期2001-10-29
  • 最后登录2010-01-29
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望12点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-05-18 16:56
在DOS显示图形很麻烦。通过BIOS的中断调用可以解决常见的方式。
好象800*600的真彩色显示不支持吧? 所以大都时候要针对显示芯片
来编程,如果实时模块的话,就得利用内存窗口来读写显存。保护模
式就不存在这个问题,但是我没有写过。initgraph()功能很弱,可能也是调用BIOS,比较通用吧。

[编辑 -  5/18/05 by  Sunbeam]
堂堂正正做人,明明白白做事
mesolinux
驱动牛犊
驱动牛犊
  • 注册日期2005-05-16
  • 最后登录2005-08-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-05-31 14:51
支持VESA的显卡就可以调用SuperVGA模式,设置800x600了,不过操作显存需要用窗口的方式来实现。
具体的信息查看
http://www.qzx.com/pc-gpe/
提供一些DOS游戏的技术,包括VGA的文档。
steven__xu
驱动牛犊
驱动牛犊
  • 注册日期2004-08-24
  • 最后登录2013-09-03
  • 粉丝0
  • 关注0
  • 积分2分
  • 威望20点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-06-03 10:05
borland的graphics库不支持VESA,如果你要用VESA,就要自己向显存里面写每一个象素。
DJGPP的graphics库好像支持一些VESA模式(不记得是否支持HiColor,TrueColor),并且基本上跟Borland的函数一致。你可以考虑用它来开发软件。
Sunbeam
驱动小牛
驱动小牛
  • 注册日期2001-10-29
  • 最后登录2010-01-29
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望12点
  • 贡献值0点
  • 好评度11点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-06-07 17:33
想不到现在还有这样的项目。我在98年做的类似项目时候已经感到很郁闷了。 汉字通用显示有多种方法。做得好的可参考当年汉卡的方法。如果不要求对所有显卡通用的显示,可以只针对某一显示芯片来做封装,我们当年的项目这是这样来做的。
堂堂正正做人,明明白白做事
rollin7
驱动牛犊
驱动牛犊
  • 注册日期2005-05-17
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分4分
  • 威望13点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-06-07 18:52
不知各位老大知不知道哪有函数原型可以参照参照?
newsoil
驱动牛犊
驱动牛犊
  • 注册日期2002-03-16
  • 最后登录2011-10-11
  • 粉丝0
  • 关注0
  • 积分118分
  • 威望43点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-07-11 08:31
直接用DJGPP来开发就可以了。直要你的显示器指出1024*768都可以。
游客

返回顶部