|
|
发表于 2011-2-26 21:41:01
|
显示全部楼层
本帖最后由 克罗诺亚 于 2011-2-26 21:43 编辑 & I( p D, @/ R: c* ~9 s; h
a2 b0 M& R9 Z! d$ @第二个问题,点击breakpoints,然后如图。
! F% {0 h) b& O# w7 H
7 C' U3 X+ m% l* x9 r3 R9 z5 j& E设置断点,运行游戏(RUN)。7 u* ?2 H4 ~& G6 Y
找敌人挨打,结果中断到这里。C11115.
# d0 ~! b: Z* ?/ T1 c9 G( t: Q) p. _* C7 B; W# n
点击反汇编(Disassembly),出现开始地址(Start Address)和结束地址(End Addres).
: _ D$ j3 e: r/ B' }分别设为C11105和C11125。
3 |9 M& z7 K2 }1 y6 c" O$ Q确定OK,然后如下图。0 v& t+ U' v8 Z' f( F. A
2 @1 l4 u1 O3 V$ D5 E
观察C11115附近,发现前面有条减法指令:8 z" D E, Q' M1 X( y* J
$C1/110F F5 3B SBC $3B,x [$00:083B] A:0040 X:0800 Y:0700 P:envMxdizC $ A* V- ~ d9 {& `6 ^/ ^
这里要用到汇编语言,思考一下,将F5 3B 改为85 3B。
8 n8 D; s' ~! O$ B d/ h用Lunar Address左边输入C1110F,右面会出现对应PC文件地址。
$ N& b/ S9 }) u; S4 `/ A3 m! R' M( B
用16进制编辑器打开Rom,到01:110F,找到F5,将其修改为85.修改完毕。- ` S7 q6 x: R
将F5 3B改为EA EA(NOP),应该也没问题。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|