|
发表于 2011-2-26 21:41:01
|
显示全部楼层
本帖最后由 克罗诺亚 于 2011-2-26 21:43 编辑 0 o6 k- [ [$ j
) K) g: a' Y; ~, Z& o第二个问题,点击breakpoints,然后如图。; R3 T$ G+ K( ?0 X/ A, f: q' I& V0 j
3 S6 K, `. z2 c4 c0 q( @6 ?
设置断点,运行游戏(RUN)。
/ z$ `6 c7 v( G6 ~4 m" ^找敌人挨打,结果中断到这里。C11115.* W. ?0 t' T/ j6 m
; Y e+ e9 x, t3 H( S5 b6 V
点击反汇编(Disassembly),出现开始地址(Start Address)和结束地址(End Addres).* k- Q* s/ h& e' L3 A/ k
分别设为C11105和C11125。
1 J' O; `. W& L P4 [7 n, J$ ^确定OK,然后如下图。: ^9 U) ?6 s% L
# w+ a7 y/ r# G- D
观察C11115附近,发现前面有条减法指令:
/ f1 b/ r: ?( j! }$C1/110F F5 3B SBC $3B,x [$00:083B] A:0040 X:0800 Y:0700 P:envMxdizC
q6 v# U3 i" B" P1 ]这里要用到汇编语言,思考一下,将F5 3B 改为85 3B。
P( I. o; C2 V- P1 N# v5 Y用Lunar Address左边输入C1110F,右面会出现对应PC文件地址。
. H: v, @- s) f: T0 q) E( \# A' l0 w3 u+ S% y
用16进制编辑器打开Rom,到01:110F,找到F5,将其修改为85.修改完毕。
" F' D5 Q: H" k" j t将F5 3B改为EA EA(NOP),应该也没问题。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|