unix1998
驱动老牛
驱动老牛
  • 注册日期2002-05-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2072回复:9

DavidWang_jimei兄请进

楼主#
更多 发布于:2004-01-10 19:19
非常感谢DavidWang_jimei兄提供的资料!
目前我已经完成了关机程序,不过这个程序在其他主板上就不好用,我换了端口(原来用的是4005h)就可以了。
还没有找到有什么规律。不过也该告一段落了。

送20分表示感谢!
minsoft
驱动小牛
驱动小牛
  • 注册日期2001-07-30
  • 最后登录2007-03-06
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-01-13 18:22
其实用int 15是可以的,不过你过于简单了,你想一次调用int 15就完成系统的关机,这个想法不现实。你可以找分APM SPEC 看一下,它有一个调用序列,即先判断系统是否支持APM,什么版本,然后要初始化APM即所谓的边接,此时根据你所处系统状态不同如32位/16位还有不同的处理,而后才能调用INT 15改变系统电源状态。
用APM的好处是不受具体的主板限制,只要其支持APM就行(绝大多数支持)
少了e,就少了全部
unix1998
驱动老牛
驱动老牛
  • 注册日期2002-05-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-01-15 11:35
你说的很对,的确需要进行版本判断,不过我的程序非常靠前 ,此时int 15还没有被加载呢,因此无法使用了。
DavidWang_jimei
驱动牛犊
驱动牛犊
  • 注册日期2003-09-13
  • 最后登录2005-07-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2004-01-16 10:45
其实,我也认为你的做法兼容性不好。
哈哈,谢谢你的加分:)
DavidWang_jimei
驱动牛犊
驱动牛犊
  • 注册日期2003-09-13
  • 最后登录2005-07-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2004-01-16 10:49
PMBase并不是一个固定的端口,可以由BIOS指定的,一般常用的值是800h,400h。
unix1998
驱动老牛
驱动老牛
  • 注册日期2002-05-08
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分6分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2004-01-16 11:32
呵呵,我在p4的机器上,port是5005h。
DavidWang_jimei
驱动牛犊
驱动牛犊
  • 注册日期2003-09-13
  • 最后登录2005-07-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2004-01-16 11:48
AMI的做法一般是800h。Award的不清楚。
在南桥的芯片组里有相关的寄存器来给pmbase付值。不同的芯片组的位置也不同。
DavidWang_jimei
驱动牛犊
驱动牛犊
  • 注册日期2003-09-13
  • 最后登录2005-07-31
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-01-16 11:50
另外,unix兄是作PnP ROM的吧,能不能请教关于BBS和PnPRom的问题?还请unix兄赐教。
changjt
驱动牛犊
驱动牛犊
  • 注册日期2002-12-09
  • 最后登录2010-01-27
  • 粉丝0
  • 关注0
  • 积分1分
  • 威望2点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-01-16 23:18
关于作OptionROM的话题我也很感兴趣,在不改变主板BIOS的前提下通过OptROM来扩展BIOS功能实不失为一个好方法.
我计划想做一种BIOS调试卡,现在已初具雏形,可以在POST过程中截停,然后就可以查看当前寄存器和内存中的数据以及建立起来的中断向量,比如很多BIOS执行过程中的遗迹在POST结束后都会被清除,而使用这种方法就可以看到了,目前功能还很简陋,后续会增加驻留,这样就可以跟踪其他ROM的执行过程了.
但现在有一个很大的问题,就是如何来控制各个OptionROM的加载顺序,我的ROM程序需要捕获初始化向量,而BBS里只规定了启动设备的启动顺序可调,并没有说各个外插卡的初始化顺序是怎样的.比如说,外插一块NIC卡和一块SCSI卡,在不同的机器上它们的初始化顺序可能是不同的,虽然启动顺序可以在setup里设的一样,这样我如何能保证我的ROM卡被BIOS最先初始化呢?
谁知道的能给讲讲BIOS是如何仲裁各个OptionROM的初始化顺序的吗?在AMIBIOS里好像叫DIM吧,设备初始化管理.
DavidWang_jimei,要不我们新开一贴讨论一下?
kermit
驱动小牛
驱动小牛
  • 注册日期2002-11-29
  • 最后登录2010-03-29
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望2点
  • 贡献值0点
  • 好评度2点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-02-16 10:28
ROM卡是不需要初始化的啊.
你只要把它放到D000的区间就可以拉.我也做了一个BIOS调试卡的.
你可以去看看,给点意见啊!!

www.eyeteck.com
游客

返回顶部