2008-08-01 | 来源:互联网 | 小编:疾风之狼 | 人看过
本人MD游戏初步HACK过程:
偶以MD《魂斗罗》日文版为例:
1。先拿到MD《魂斗罗》EC码:
[P1 生命数]
ON=FA0D,9
[P1 能源值]
ON=FA0C,3
[P1 全部武器]
ON=FA0E,3E;FA10,9
[P1 透明]
OFF=0000,0
ON=D758,98
[P2 生命数]
ON=FA2D,9
[P2 能源值]
ON=FA2C,3
[P2 全部武器]
ON=FA2E,3E;FA30,9
[P2 透明]
OFF=0000,0
ON=D7D8,98
[GameInfo]
Name=魂斗罗 (SEGA-MD)
System=MD
Text=魂斗罗,双人、射击游戏!
偶先说一下,在MD调试器中FA0D地址不是魂斗罗命数地址,而是体力地址,FA0C才是魂斗罗命数地址。
有一些游戏地址会偏移。
2。接下来打开MD调试器,弹出如下图1和图2:
图1是游戏窗口,图2是调试器,偶说解一下图2调试器:
CPU Register:CPU寄存器
VDP Register:VDP寄存器
在PC:右边有指令显示
Break Point是用来设置断点
Watch Point是用来设置监视点
在Break Point和Watch Point下方有3个按钮,分别是:
“Append...”按钮:添加断点或监视点
“Delete”按钮:删除断点或监视点
“Edit...”按钮:编辑断点或监视点
在Debug Function下方有4个按钮,分别是:
“Reset”按钮:重启游戏
“Run”按钮:运行游戏,再按一次就是暂停游戏
“Step”按钮:单步执行
“Memory”按钮:内存编辑和查看,要自己输入地址才能查看到
在右上方的Layer Ctl是图层开关
FMReg List和Variable Spy这两个暂时不清楚是什么来
“Screen Shot”按钮:截图
“Load...”按钮:加载ROM
“Make Infor...”按钮:生成报告,可以用记事本或者写字板打开查看
3。接下来开始跟踪修改,目标是命不减!
(1) 先加载ROM,选择好人物后进入游戏,按Watch Point下方的“Append...”弹出如图3界面:
在PC Register右边方框内输入地址FA0C,再在下方OP Mode的Write选项前面打勾,再把右边Enable选项也打上勾,再点OK!一个监视点就这样设置好了,当FA0C地址有新数据写入时,游戏就会自动中断!
(2)设置好监视点后,随便被敌人打死,游戏自动中断。如图4:
(3)点击调试器PC:右边下拉按钮,你会看到一大批指令,偶把一部分指令抄下来看指令时从下至上看)
0000 00011E26 121C MOVE.B (A2),D6
0001 00011E24 1253 SUBQ.B #1,(A2)->将寄存器A2存放地址数据减1,将这条指令NOP掉就命不减。
0002 00011E1C 0660 BRA 11E24
0003 00011E1A 007A MOVEQ #$0,D5
0004 00011E16 F845 LEA $FA0C.W,A2->将FA0C地址数据载入寄存器A2
注意这一条0001 00011E24 1253 SUBQ.B #1,(A2),这个指令作用是将寄存器A2存放地址数据减1,只要将这条指令NOP掉,等于命不减了。NOP指令代码是:71 4E
将121C 1253抄下来,并交换得出:53 12 1C 12
(4)关闭,MD调试器,打开WINHEX,查找53 12 1C 12,如图5:
(5)找到后,将53 12修改为4E 71,保存。
(6)打开GENS模拟器,并在模拟器中将[自动修正校验]选项打勾,加载经过修改后《魂斗罗》日文版ROM开始玩吧。是否不死命了。如图6:
HACK MD过程到此完结。
BY 疾风之狼
PS:这个是偶初次HACK MD过程,此教程偶作了一些修改和删减。
转载请注明作者名字和文章出处
上一篇:回忆80后街机经典游戏大盘点