|
发表于 2011-2-26 21:41:01
|
显示全部楼层
本帖最后由 克罗诺亚 于 2011-2-26 21:43 编辑 8 [$ L# L T* i+ D0 \3 u% ^$ k; |" M
' b! L& b V& E- p+ N. z第二个问题,点击breakpoints,然后如图。6 _$ x- v# X$ d
X( {4 U' A/ L设置断点,运行游戏(RUN)。
+ i! q/ R: n; l7 N6 ~找敌人挨打,结果中断到这里。C11115.) S9 J8 W C2 y
5 g& l$ C7 F& I# j- e8 X+ u
点击反汇编(Disassembly),出现开始地址(Start Address)和结束地址(End Addres).
9 A+ r/ Z3 N; X分别设为C11105和C11125。* ~, B7 R$ m G# \8 P1 b n% W1 C
确定OK,然后如下图。
: q! M7 Z, W( ?" }* [. M8 t7 E5 S; Z; @, L
+ ]. Z0 _* j3 f& J观察C11115附近,发现前面有条减法指令:
4 Z9 Z3 v! E- l$ O4 V. `$C1/110F F5 3B SBC $3B,x [$00:083B] A:0040 X:0800 Y:0700 P:envMxdizC
* l; D) Q5 v+ }+ Q+ u这里要用到汇编语言,思考一下,将F5 3B 改为85 3B。8 j8 J9 t7 ], P: x7 h* `
用Lunar Address左边输入C1110F,右面会出现对应PC文件地址。
- v: \ H; d4 O% `2 e Y: C- E0 P3 j; c* f) z8 }
用16进制编辑器打开Rom,到01:110F,找到F5,将其修改为85.修改完毕。0 _/ b; o$ C, n, ?' h7 P& ^ L% a
将F5 3B改为EA EA(NOP),应该也没问题。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|