SFC简单修改教程
作者:FlameCyclone(QQ:1490868135)
时间:2015.12.27
工具:
1.调试器:snes9x1.51.ep10r1;
2.试验品:sfc平台rom一个;
3.辅助工具Hxd(可以不用).
打开调试器,设置好按键:
载入ROM:
此时会弹出调试器窗口:
单击Run(运行)按钮,之后正常运行:
进行游戏后,打开作弊码查找工具:
接下来查找我们要修改的东西,比如生命不减.
先单击Reset(重置),再单击OK(确定)回到游戏,去死一下.
死后生命减少,然后打开作弊码查找工具:选择小于选项,
再单击Search(查找)按钮,此时查找的地址变少了,但还是很多,所以继续查找,建议使用S/L大法,死前存档,死后查找小于,再读档,再查找大于,反复循环,直到找到地址.
如图:
可以肯定生命地址就是7E1F8A,把它记下来,关掉查找窗口.接下来进入修改阶段.
回到调试器,单击Breakpoint(断点):
输入生命地址,把Write(写入)打钩,单击OK按钮,这样就设置了对生命地址的写操作断点:
回去游戏送死:
游戏暂停了,调试器下方的窗口出现的程序就是断点程序:
$01/9B91 DE 8A 1D DEC $1D8A,x[$05:1F8A] A:0000 X:0200 Y:0000 P:envmxdiZC
首先来讲讲该指令:
对1D8A执行递减操作(这里使用的是绝对X变址)由于X=0200,所以变址就是1D8A+0200=1F8A了.
接下来单击Show Hex,就打开了Hex编辑器:
Viewing(视区),选择ROM,然后分别输入819B90和819F00(只要包含调试器上断点程序就可以)
找到断点指令:
可以对其修改:
把它改为读取指令,比如BD 8A 1D(改第一个字节就可以了),再单击Save ROM(保存ROM).
单击Breakpoint按钮,取消写断点的钩,再单击OK:
然后单击Run(运行),然后进行游戏测试,看看生命会不会减少:
发现生命和预料一样,没有减少(注意,有些游戏可能存在多条指令对生命的写操作,本教程试验品的第2关就使用第二个指令来减少生命,只要去第二关做相同操作修改即可,这里不多叙述)