|
发表于 2011-2-26 21:41:01
|
显示全部楼层
本帖最后由 克罗诺亚 于 2011-2-26 21:43 编辑
& _' ^- O# ~* ?! }" `' b# n; a, F1 B- U" C) k4 h+ Y
第二个问题,点击breakpoints,然后如图。6 K( h4 p. i# u
% B/ p5 r8 M1 G+ f- [) v设置断点,运行游戏(RUN)。
0 U; [- i W$ s5 \9 w) h3 {* H0 D找敌人挨打,结果中断到这里。C11115.& i+ G0 g' d# z) T7 p
1 R: `5 f' V3 N' {; [点击反汇编(Disassembly),出现开始地址(Start Address)和结束地址(End Addres).
" Z2 Z: x+ p. `% ~分别设为C11105和C11125。
) E. ^' g0 _1 T# A9 E) @( I! b确定OK,然后如下图。3 w1 N, j/ Q7 t
2 A; {+ v) t. `. r观察C11115附近,发现前面有条减法指令:, W" d$ v3 F6 [2 x0 w; m4 r/ R
$C1/110F F5 3B SBC $3B,x [$00:083B] A:0040 X:0800 Y:0700 P:envMxdizC
; G1 N8 e G# Y0 ~8 i! k这里要用到汇编语言,思考一下,将F5 3B 改为85 3B。7 E# I7 a j9 v
用Lunar Address左边输入C1110F,右面会出现对应PC文件地址。
. ?: l% x# ]3 p% I, O% I, h) v5 y0 e/ S6 _; Z
用16进制编辑器打开Rom,到01:110F,找到F5,将其修改为85.修改完毕。' B" }) g. L8 P: U" }
将F5 3B改为EA EA(NOP),应该也没问题。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|