|
发表于 2011-2-26 21:41:01
|
显示全部楼层
本帖最后由 克罗诺亚 于 2011-2-26 21:43 编辑
! e( u% c& |% h& G
4 G- V5 _5 A, a# J! i第二个问题,点击breakpoints,然后如图。
8 i' n* U6 @3 u) c7 S8 N1 v+ A6 _$ m. ~5 C' t; u0 R; ?
设置断点,运行游戏(RUN)。
$ D( H5 @- p* r2 r找敌人挨打,结果中断到这里。C11115.% i1 m+ d) H. y) C- K9 Z
: I/ \7 Q% D4 j- a# a6 P! i点击反汇编(Disassembly),出现开始地址(Start Address)和结束地址(End Addres).# _, h8 @! P6 k" F8 q& G2 T0 |. v) Z
分别设为C11105和C11125。
0 w: ?% M6 f% p+ z确定OK,然后如下图。: _% f( j6 q- ], m" N) G
6 O0 t* D- a% Z3 R5 h4 g观察C11115附近,发现前面有条减法指令:! r$ {9 ?5 |; S$ k8 v8 Q
$C1/110F F5 3B SBC $3B,x [$00:083B] A:0040 X:0800 Y:0700 P:envMxdizC
+ `8 |5 r8 O8 a5 J$ x: _这里要用到汇编语言,思考一下,将F5 3B 改为85 3B。
( n2 V3 f( z8 l0 o用Lunar Address左边输入C1110F,右面会出现对应PC文件地址。8 R0 @& z5 H5 ?
1 q& C+ P' a* D% K
用16进制编辑器打开Rom,到01:110F,找到F5,将其修改为85.修改完毕。
& P' H% v$ u! |; B7 p% `0 k4 l将F5 3B改为EA EA(NOP),应该也没问题。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|