向高手提问:关于双截龙2的体力不减的问题
昨晚小试牛刀依据[原创]菜鸟NES HACK简单教程(7.12修正)
http://bbs.emu618.com/viewthread.php?tid=21186
的指引。
修改DD2,使用的软件是TLP,Photoshop cs,VirtuaNES-debug,Hex Workshop...
查CHT得知DD2的体力值地址是041E,所以在DEBUG下断点后查到AED2:9D1E04 {sta $041E,x}
然后在内存表里开始修改
AE D2:4C11FA(由于内存表里找到的连续FFFFFF地址在HEXWORKSHOP无法找到,所以把无条件转移指引到FA11,此乃文字区域也,对游戏影响应该不大)
FA11:9D1E04A97F9D1E044CD5 AE
游戏运行OK,所以再用HEXWORKSHOP修改保存后用VirtuaNES测试,发觉不只1P体力不减,连敌方的体力也不减。
晕,一头雾水ing
特此发贴请教高手如何正确修改
HACK版ROM已上传,请指正。 由于这个游戏系列的主角和敌人的体力使用同一地址,所以要做体力的HACK难度挺大,要做个判断指令,跳转当然也必不可少。
我只知道这些,其他我就不懂了呵呵:L
......
在下用FPE修改居然可以...:yumen: AE D2:4C11FA(由于内存表里找到的连续FFFFFF地址在HEXWORKSHOP无法找到,所以把无条件转移指引到FA11,此乃文字区域也,对游戏影响应该不大)FA11:9D1E04A97F9D1E044C11FA
FA11这一行指令怎么看起来像死循环,4C11FA又跳回FA11?写错了么?:L
偶说一下9D 1E 04这一条指令,这条指令作用是以寄存器X为偏移量,把寄存器A数据所写进041E地址;你知道这一条指令不是单变化,也可能影响到其他数据。
所以你FA11这个一行指令应该是这么修改:把A9 7F 9D 1E 04中的9D修改为8D,OK!
顺便发发FPE锁定的项目吧...
0059E73Eh:127不知道ROM里面怎么放...:call: AE D2:4C11FA(由于内存表里找到的连续FFFFFF地址在HEXWORKSHOP无法找到,所以把无条件转移指引到FA11,此乃文字区域也,对游戏影响应该不大)
FA11:9D1E04A97F9D1E044C11FA
FA11这一行指令怎么看起来像死循环,4C11FA又跳回FA11?写错了么?
偶说一下9D 1E 04这一条指令,这条指令作用是以寄存器X为偏移量,把寄存器A数据所写进041E地址;你知道这一条指令不是单变化,也可能影响到其他数据。
所以你FA11这个一行指令应该是这么修改:把A9 7F 9D 1E 04中的9D修改为8D,OK!
-----------------------
照你的说的改了!测试OK!多谢多谢!
ps:发贴时写错了,FA11:最后是写4CD5AE。没有死循环。
原贴去改一下了。 倒是把我看糊涂了。。。。。。。:L 原帖由 victorstrife 于 2007-9-20 23:51 发表
0059E73Eh:127
不知道ROM里面怎么放...:call:
victorstrife,0059E73Eh:127.........这个是什么来?一头雾水.........:L
原帖由 小粽子 于 2007-9-21 21:27 发表
倒是把我看糊涂了。。。。。。。:L
粽子兄,你没看糊涂,你虽然知道这个游戏敌我扣血指令是共用的
那么我来分析一下:
假设FA11一行是这样写的话:9D1E04A97F9D1E044CD5 AE,结果不单变成自己体力不减,也可能变成敌人体力不减;因为7F数值不单写进到自己体力地址,有可能写进到敌人体力地址去
如果把A97F9D1E04中9D修改为8D的话,结果只会使自己体力不减,不会使敌人体力不减;因为7F数值只会写进到自己体力地址,不会写进到敌人体力地址
9D和8D这两个STA指令虽然相同,但这两个指令寻区方式不一样,9D是绝对X变址(直接X变址),8D是绝对寻址(直接寻址)
关于寻区方式说明偶不说了,你可以查一下《6502汇编大奥秘》,里面有寻区方式说明
闪人..... 9D和8D这两个STA指令虽然相同,但这两个指令寻区方式不一样,9D是绝对X变址(直接X变址),8D是绝对寻址(直接寻址)
这么一分析,我有点明白了~~
改天偶去试试双截龙3~~:loveliness: 粽子~
干脆把一个系列都改了吧…… 原帖由 G-NET 于 2007-9-22 23:36 发表
粽子~
干脆把一个系列都改了吧……
让疾风老狼来干吧~~我偷会闲~~:loveliness: 楼子这没意思吧,:victory: 我可是一人通关呀
FPE查出来的内存地址...
原帖由 疾风之狼 于 2007-9-20 23:49 发表AE D2:4C11FA(由于内存表里找到的连续FFFFFF地址在HEXWORKSHOP无法找到,所以把无条件转移指引到FA11,此乃文字区域也,对游戏影响应该不大)
FA11:9D1E04A97F9D1E044C11...
不过跟ROM里面那个有没有关系就不得而知了,所以才放上来...
其最终结果当然是一样的... 6楼有下载 好东西 太麻烦了!!!游戏也就几百K~~~
页:
[1]