2015-03-15 | 来源:互联网 | 小编:admin | 人看过
对于有HACK过FC游戏经验的人看这个教程应该不难吧!^_^
偶以《恶魔城XX》为例:
1。先找到游戏作弊码,偶查了下EC自带作弊码,晕.....竟没有命数作弊码....- -
只好自行查找,偶用ZSNES 1.51自带作弊码查找功能查找,查到《恶魔城XX》命数地址:7E009E
2。有作弊码就好办,接下来需要一个SFC调试器,推荐使用SNES9X DEBUGGER,目标是HACK成命不减。打开SNES9X DEBUGGER,载入《恶魔城XX》ROM,载入ROM后模拟器立即弹出Debug Console界面,如图1:
偶说一下Debug Console界面部分功能作用:
“Step Into”:查看下一步指令
“Step Out”:执行下一步指令
“Clear Text”:清除Debug Console界面下方显示的指令
“Run”:运行游戏
“Reset”:重启游戏
“Show Hex”:内存查看和修改
“Breakpoints”:设置断点
#00/FF90 18 CLC A:0000 X:0000 Y:0000 P:EnvMXdIzc:#00/FF90是地址,18是指令机械码,A是寄存器A,X是寄存器X,Y是寄存器Y,P是状态标志位寄存器
3。点击RUN开始游戏,进入游戏后,按Breakpoints进入断点设置界面,如图2:
左边方框是输入地址,Read是读,Write是写。
偶在左边方框输入7E009E,并在Write选项打勾,再点OK退出,一个断点就这样设置好了。
之后故意死一命后,游戏自动中断,Debug Console界面下方出现一条指令,如图3:
$80/CA5A 85 9E STA $9E [$00:009E] A:0001 X:D800 Y:D900 P:envmxDIzC
这条指令作用是将累加器A的数据写入到9E地址。看下指令前面的地址是80CA5A,偶知道减命指令一定是在80CA50至80CA5F范围内。
4。点击Show hex进入Hex Editor界面,在中间两个方框中分别输入80CA50、80CA5F,再点击Set Range,Hex Editor界面下方立即显示出来,如图4:
在上图看到偶高亮选中85 9E(STA $9E)没?注意前面A5 9E E9 01 00,偶来分析一下,A5 9E(LDA $9E)意思是将9E地址数据读入累加器A,E9 01 00(SBC #$0001)意思是将累加器A数据减1,结果存入累加器A;接下来就好办,只要把E9 01 00中的01修改为00就命不减。修改之前先把80CA50这一行数据全抄下来,再把E9 01 00中的01修改为00,如图5:
修改完毕后关闭Hex Editor,再按Breakpoints进入把Write打勾取消,再按RUN继续运行游戏。
命数是否不减了,呵呵!如图6:
5。关闭SNES9X DEBUGGER,接下来打开WINHEX或者UE,查找你刚才抄下来数据,如图7:
找到后将E9 01 00中01修改为00,保存关闭WINHEX或者UE。之后用ZSNES模拟器载入经过修改的《恶魔城XX》ROM测试,是否命不减了,修改成功。
以后请自行摸索吧.....^_^
教程至此结束。
BY 疾风之狼
这教程很久以前应某人要求写的,教程内容作一些修改和删减。
有错误请指正。
上一篇:GBA HACK教程
下一篇:GB游戏简单修改教程