|
|
发表于 2011-2-26 21:41:01
|
显示全部楼层
本帖最后由 克罗诺亚 于 2011-2-26 21:43 编辑
Z/ q# Y5 i/ n
& U0 b6 J' O' Q m* o- G第二个问题,点击breakpoints,然后如图。
) j% j9 p4 ^2 c4 Y' i
0 |1 A0 l8 u1 t ^* p设置断点,运行游戏(RUN)。
5 T* `6 k2 @4 z" V$ }找敌人挨打,结果中断到这里。C11115.
' _1 i1 U& g# J
: ~. f; ~" t& n& W# P点击反汇编(Disassembly),出现开始地址(Start Address)和结束地址(End Addres).
) y% g7 q2 B) P) l) l分别设为C11105和C11125。
s: f3 e0 I: X6 ?5 a0 k+ o+ ^确定OK,然后如下图。
* _9 v$ w# }" T2 j, n, J+ T, A8 x Z
观察C11115附近,发现前面有条减法指令:
5 |& J% Q9 e" W$C1/110F F5 3B SBC $3B,x [$00:083B] A:0040 X:0800 Y:0700 P:envMxdizC
X0 ]8 T3 b8 X! H \, q+ M0 i! F+ C这里要用到汇编语言,思考一下,将F5 3B 改为85 3B。
1 ]$ _/ ^$ n7 ~# b9 ]' e" j' C+ l用Lunar Address左边输入C1110F,右面会出现对应PC文件地址。
+ x/ l0 N0 ?' t" y l1 y3 J
5 }7 |" y: Q. j2 J, x* ~. V3 f( x7 o用16进制编辑器打开Rom,到01:110F,找到F5,将其修改为85.修改完毕。
I) ~1 W% W$ m- q& u- N7 w6 a将F5 3B改为EA EA(NOP),应该也没问题。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|