EMU618社区

 找回密码
 立即注册
搜索
查看: 9144|回复: 14

[求助] 向高手提问:关于双截龙2的体力不减的问题

 关闭 [复制链接]

该用户从未签到

发表于 2007-9-20 21:28:59 | 显示全部楼层 |阅读模式
昨晚小试牛刀依据
[原创]菜鸟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:9D  1E  04 {sta $041E,x}
然后在内存表里开始修改
AE D2:4C  11  FA(由于内存表里找到的连续FF  FF  FF地址在HEX  WORKSHOP无法找到,所以把无条件转移指引到FA  11,此乃文字区域也,对游戏影响应该不大)
FA11:9D  1E  04  A9  7F  9D  1E  04  4C  D5 AE
游戏运行OK,所以再用HEX  WORKSHOP修改保存后用VirtuaNES测试,发觉不只1P体力不减,连敌方的体力也不减。
晕,一头雾水ing
特此发贴请教高手如何正确修改
HACK版ROM已上传,请指正。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

评分

1

查看全部评分

签到天数: 1 天

[LV.1]初来乍到

发表于 2007-9-20 23:19:52 | 显示全部楼层
由于这个游戏系列的主角和敌人的体力使用同一地址,所以要做体力的HACK难度挺大,要做个判断指令,跳转当然也必不可少。

我只知道这些,其他我就不懂了呵呵:L

签到天数: 2 天

[LV.1]初来乍到

发表于 2007-9-20 23:36:43 | 显示全部楼层

......

在下用FPE修改居然可以...:yumen:

签到天数: 1813 天

[LV.Master]伴坛终老

发表于 2007-9-20 23:49:05 | 显示全部楼层
AE D2:4C  11  FA(由于内存表里找到的连续FF  FF  FF地址在HEX  WORKSHOP无法找到,所以把无条件转移指引到FA  11,此乃文字区域也,对游戏影响应该不大)

FA11:9D  1E  04  A9  7F  9D  1E  04  4C  11  FA

FA11这一行指令怎么看起来像死循环,4C  11  FA又跳回FA11?写错了么?:L

偶说一下9D 1E 04这一条指令,这条指令作用是以寄存器X为偏移量,把寄存器A数据所写进041E地址;你知道这一条指令不是单变化,也可能影响到其他数据。

所以你FA11这个一行指令应该是这么修改:把A9 7F 9D 1E 04中的9D修改为8D,OK!

评分

1

查看全部评分

签到天数: 2 天

[LV.1]初来乍到

发表于 2007-9-20 23:51:52 | 显示全部楼层

顺便发发FPE锁定的项目吧...

0059E73Eh:127
不知道ROM里面怎么放...:call:

该用户从未签到

 楼主| 发表于 2007-9-21 20:57:38 | 显示全部楼层
AE D2:4C  11  FA(由于内存表里找到的连续FF  FF  FF地址在HEX  WORKSHOP无法找到,所以把无条件转移指引到FA  11,此乃文字区域也,对游戏影响应该不大)

FA11:9D  1E  04  A9  7F  9D  1E  04  4C  11  FA

FA11这一行指令怎么看起来像死循环,4C  11  FA又跳回FA11?写错了么?

偶说一下9D 1E 04这一条指令,这条指令作用是以寄存器X为偏移量,把寄存器A数据所写进041E地址;你知道这一条指令不是单变化,也可能影响到其他数据。

所以你FA11这个一行指令应该是这么修改:把A9 7F 9D 1E 04中的9D修改为8D,OK!
-----------------------
照你的说的改了!测试OK!多谢多谢!

ps:发贴时写错了,FA11:最后是写4C  D5  AE。没有死循环。
原贴去改一下了。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

评分

1

查看全部评分

签到天数: 1 天

[LV.1]初来乍到

发表于 2007-9-21 21:27:01 | 显示全部楼层
倒是把我看糊涂了。。。。。。。:L

签到天数: 1813 天

[LV.Master]伴坛终老

发表于 2007-9-21 23:25:13 | 显示全部楼层
原帖由 victorstrife 于 2007-9-20 23:51 发表
0059E73Eh:127
不知道ROM里面怎么放...:call:


victorstrife,0059E73Eh:127.........这个是什么来?一头雾水.........:L

原帖由 小粽子 于 2007-9-21 21:27 发表
倒是把我看糊涂了。。。。。。。:L


粽子兄,你没看糊涂,你虽然知道这个游戏敌我扣血指令是共用的

那么我来分析一下:

假设FA11一行是这样写的话:9D  1E  04  A9  7F  9D  1E  04  4C  D5 AE,结果不单变成自己体力不减,也可能变成敌人体力不减;因为7F数值不单写进到自己体力地址,有可能写进到敌人体力地址去

如果把A9  7F  9D  1E  049D修改为8D的话,结果只会使自己体力不减,不会使敌人体力不减;因为7F数值只会写进到自己体力地址,不会写进到敌人体力地址

9D和8D这两个STA指令虽然相同,但这两个指令寻区方式不一样,9D是绝对X变址(直接X变址),8D是绝对寻址(直接寻址)

关于寻区方式说明偶不说了,你可以查一下《6502汇编大奥秘》,里面有寻区方式说明

闪人.....

评分

1

查看全部评分

签到天数: 1 天

[LV.1]初来乍到

发表于 2007-9-22 17:47:27 | 显示全部楼层
9D和8D这两个STA指令虽然相同,但这两个指令寻区方式不一样,9D是绝对X变址(直接X变址),8D是绝对寻址(直接寻址)


这么一分析,我有点明白了~~
改天偶去试试双截龙3~~:loveliness:

签到天数: 4 天

[LV.2]偶尔看看I

发表于 2007-9-22 23:36:29 | 显示全部楼层
粽子~
干脆把一个系列都改了吧……

签到天数: 1 天

[LV.1]初来乍到

发表于 2007-9-23 09:02:12 | 显示全部楼层
原帖由 G-NET 于 2007-9-22 23:36 发表
粽子~
干脆把一个系列都改了吧……

让疾风老狼来干吧~~我偷会闲~~:loveliness:

该用户从未签到

发表于 2007-9-23 11:04:32 | 显示全部楼层
楼子这没意思吧,:victory: 我可是一人通关呀

签到天数: 2 天

[LV.1]初来乍到

发表于 2007-9-23 15:35:29 | 显示全部楼层

FPE查出来的内存地址...

原帖由 疾风之狼 于 2007-9-20 23:49 发表
AE D2:4C  11  FA(由于内存表里找到的连续FF  FF  FF地址在HEX  WORKSHOP无法找到,所以把无条件转移指引到FA  11,此乃文字区域也,对游戏影响应该不大)

FA11:9D  1E  04  A9  7F  9D  1E  04  4C  11  ...


不过跟ROM里面那个有没有关系就不得而知了,所以才放上来...
其最终结果当然是一样的...

该用户从未签到

发表于 2007-9-24 12:31:42 | 显示全部楼层
6楼有下载 好东西

签到天数: 7 天

[LV.3]偶尔看看II

发表于 2007-9-25 21:59:03 | 显示全部楼层
太麻烦了!!!游戏也就几百K~~~
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|国治模拟精品屋 ( 沪ICP备15012945号-1 )

GMT+8, 2024-12-29 18:51 , Processed in 1.087890 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表