|
发表于 2011-2-26 21:41:01
|
显示全部楼层
本帖最后由 克罗诺亚 于 2011-2-26 21:43 编辑
* q% r) n% k* q# k+ ?! ?# I1 ?, Z% f1 g
第二个问题,点击breakpoints,然后如图。
, X/ I V5 L' e; z% Q. s! K# u- q* _1 e ^
设置断点,运行游戏(RUN)。9 H" h. j% i. o& o
找敌人挨打,结果中断到这里。C11115.
( B% n$ H' B0 Y) Q
& ~- {2 R6 L1 F2 N5 J# D点击反汇编(Disassembly),出现开始地址(Start Address)和结束地址(End Addres).% D( ^" m# V, @( T; }
分别设为C11105和C11125。
) d+ }1 b4 A* m4 w4 D) ~2 V- W确定OK,然后如下图。
! @# Q$ F+ F3 t/ S/ P+ o' [ i, A! p7 C' b5 P; _# `6 o: \+ G
观察C11115附近,发现前面有条减法指令:
y1 \# U( W9 M$C1/110F F5 3B SBC $3B,x [$00:083B] A:0040 X:0800 Y:0700 P:envMxdizC
; p! ?! `6 P Y这里要用到汇编语言,思考一下,将F5 3B 改为85 3B。- u7 N8 x; r4 l: L+ B" l& j
用Lunar Address左边输入C1110F,右面会出现对应PC文件地址。
8 f0 V; Z7 M4 `: X/ ?- b8 A( A" s; n- O2 u6 u
用16进制编辑器打开Rom,到01:110F,找到F5,将其修改为85.修改完毕。) A& `0 T9 ^% V0 S* K0 F+ i ^
将F5 3B改为EA EA(NOP),应该也没问题。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|