800分!!!讨论关于变速齿轮原理,只要能解决,分嫌少可以加。 ( 积分: 300 )

  • 主题发起人 主题发起人 pcexplorer
  • 开始时间 开始时间
P

pcexplorer

Unregistered / Unconfirmed
GUEST, unregistred user!
最近一直再研究关于变速齿轮的问题,上网搜了很多资料,但还是没有解决,现在已经可以用API钩子钩住GetTickCount, timeGetTime函数,问题如何才能处理返回值,目前我的方法是:Result := GetTickCount * 希望的倍数,但是这样的问题是不够平滑,还有减速就不要处理,看到兄弟变速器源码,是改变8253但是会使系统时间也变快,他改变了8253的0号定时器,我又参考了很多微机原理的书籍,说8253的0号是系统用来计时的,1号是刷新内存的(不能改变),2号是可以用的,而且我能改变它的频率,关键如何在Windows下编写中断。如果用我的乘法会出现星际争霸倒计时:5, 4, 3然后就直接开始了没有2, 1这样。还有就是减速处理也不好。<br>我的处理函数:<br>function NewGetTickCount(): DWORD; stdcall;<br>begin<br> &nbsp;Result := GetTickCount * 倍数; //GetTickCount 调用系统原来的函数取得毫秒<br>end;<br><br>问题:<br>1,究竟如何改变速度,主要是要平滑。<br>2,如果采用改变8353办法,如何能是系统时间保持正常。<br>3,如果不使用0号定时器,使用2号定时器如何编写自己的中断程序,并处理。(现已经可以改变2号定时器了。)<br><br>欢迎大家讨论,分不是问题,只要能解决。(谢绝灌水,谢谢)
 
最近一直再研究关于变速齿轮的问题,上网搜了很多资料,但还是没有解决,现在已经可以用API钩子钩住GetTickCount, timeGetTime函数,问题如何才能处理返回值,目前我的方法是:Result := GetTickCount * 希望的倍数,但是这样的问题是不够平滑,还有减速就不要处理,看到兄弟变速器源码,是改变8253但是会使系统时间也变快,他改变了8253的0号定时器,我又参考了很多微机原理的书籍,说8253的0号是系统用来计时的,1号是刷新内存的(不能改变),2号是可以用的,而且我能改变它的频率,关键如何在Windows下编写中断。如果用我的乘法会出现星际争霸倒计时:5, 4, 3然后就直接开始了没有2, 1这样。还有就是减速处理也不好。<br>我的处理函数:<br>function NewGetTickCount(): DWORD; stdcall;<br>begin<br> &nbsp;Result := GetTickCount * 倍数; //GetTickCount 调用系统原来的函数取得毫秒<br>end;<br><br>问题:<br>1,究竟如何改变速度,主要是要平滑。<br>2,如果采用改变8353办法,如何能是系统时间保持正常。<br>3,如果不使用0号定时器,使用2号定时器如何编写自己的中断程序,并处理。(现已经可以改变2号定时器了。)<br><br>欢迎大家讨论,分不是问题,只要能解决。(谢绝灌水,谢谢)
 
呵呵,想给800,可是限制只能每次300,不过只要解决可以再开帖子给分。
 
兄弟变速器公布的源码,如果直接用会使系统时间变快,但是同样的变速精灵(就是兄弟变速器),变速齿轮就没有使系统时间变快,看来他们处理的方法并不是象源码中的那样。
 
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1268252
 
这类的帖子已经看过了,但是测试了好多次感觉还是不平滑,不知道有没有其它的好方法,比如就像如果用2号定时器该如何做。<br>欢迎继续讨论。
 
http://www.vrbrothers.com/cn/study/madebyus.asp
 
呵呵兄弟变速器提供的源码不好会使系统时间改变,鼠标也飞快,他们的变速精灵估计不是用的这个技术。<br>这个我我也看过了。<br>欢迎继续讨论。
 
更改主板时钟反映器
 
更改主板时钟反映器<br>就是修改8253,上面说过了有问题.<br><br>请高手们解答.
 
Delphi下深入windows核心编程里面有!是一个2000下的例子!用PortTalk做驱动的,
 
这个我已经看过了,就是修改8253.<br>问题是如何保持系统时间正常,和其它比如鼠标什么都正常,它上面的程序会使鼠标飞快,时间飞快.<br><br>请大家先仔细看上面的内容!<br><br>欢迎高手们讨论.
 
强烈关注,虽然水平不够,但留名回头看看有无结果:)
 
后退
顶部