|
发表于 2011-2-26 21:41:01
|
显示全部楼层
本帖最后由 克罗诺亚 于 2011-2-26 21:43 编辑 # J7 [! G' ^0 r+ l N; Y
# ?1 K3 F( Y8 ~" S% @% G3 Z
第二个问题,点击breakpoints,然后如图。
7 r5 p% K% C: p. J7 ?
' H+ m' A! l% z* H# X" Y% H% Z设置断点,运行游戏(RUN)。1 p0 X" q- w; P, G
找敌人挨打,结果中断到这里。C11115.1 V1 |. M4 ?5 q
7 ^0 u; y0 `+ C& ^* E5 d
点击反汇编(Disassembly),出现开始地址(Start Address)和结束地址(End Addres)., F2 n/ |% w, r; L
分别设为C11105和C11125。- b* _8 C+ R4 c) z; i
确定OK,然后如下图。7 @ u' @ d$ {2 {+ W+ l9 j- i
* s! l4 v1 J3 s$ q: w9 Y% T观察C11115附近,发现前面有条减法指令:
. l) [$ c/ Q1 ?- j0 X/ T" C+ ]/ G& Z$C1/110F F5 3B SBC $3B,x [$00:083B] A:0040 X:0800 Y:0700 P:envMxdizC
, \! w8 c: b3 i8 Q+ R这里要用到汇编语言,思考一下,将F5 3B 改为85 3B。2 h7 x- M7 w X& N
用Lunar Address左边输入C1110F,右面会出现对应PC文件地址。
' }4 Q1 m3 r% ?) o: Y
7 Q5 v: q* }7 I+ Y& M用16进制编辑器打开Rom,到01:110F,找到F5,将其修改为85.修改完毕。
" P$ d- G4 p \: c' ]将F5 3B改为EA EA(NOP),应该也没问题。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|