|
发表于 2011-2-26 21:41:01
|
显示全部楼层
本帖最后由 克罗诺亚 于 2011-2-26 21:43 编辑
6 s$ Z7 S1 p$ p% [1 W% J% b: b6 W4 H5 _$ ^, `: x
第二个问题,点击breakpoints,然后如图。* J' ~+ U, ?* ]8 O( `( c
( ?2 E( z0 g$ o1 H, ?1 M3 @* J设置断点,运行游戏(RUN)。
8 M# x, z0 x: J# \* b8 b找敌人挨打,结果中断到这里。C11115.2 {1 }5 J* G2 f/ N5 B
' r: T5 |1 `; P1 Q3 _9 ?6 p0 M
点击反汇编(Disassembly),出现开始地址(Start Address)和结束地址(End Addres).
/ M' l' O5 Z+ U B5 P分别设为C11105和C11125。
; Z5 ^- i, T* H' D ^确定OK,然后如下图。6 F+ B9 U j* z! [5 |( v0 z' T
" W0 T1 J% T* Y观察C11115附近,发现前面有条减法指令:
8 G8 V: n: S. X2 M4 b! ^$C1/110F F5 3B SBC $3B,x [$00:083B] A:0040 X:0800 Y:0700 P:envMxdizC
' _+ W! J( ^- @% b+ q, K# S这里要用到汇编语言,思考一下,将F5 3B 改为85 3B。& ] I4 L3 \) S3 K, D8 G+ s! n
用Lunar Address左边输入C1110F,右面会出现对应PC文件地址。) c: v. A1 M2 }" c6 b: ~
5 c/ v E, e3 a. n用16进制编辑器打开Rom,到01:110F,找到F5,将其修改为85.修改完毕。
; p$ W0 F- M- ]7 D将F5 3B改为EA EA(NOP),应该也没问题。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|