|
发表于 2011-2-26 21:41:01
|
显示全部楼层
本帖最后由 克罗诺亚 于 2011-2-26 21:43 编辑 ( M. u$ U3 E% L0 x& I; T
, m+ r: M8 V0 \: y, m/ b# j
第二个问题,点击breakpoints,然后如图。3 ~. J' B* F$ x& h& |4 N
! |1 u" \0 |' r; i0 s
设置断点,运行游戏(RUN)。
" l' C2 P) d5 _- q, \$ x找敌人挨打,结果中断到这里。C11115.
' A/ p( T$ v/ I. e( p. T
" A8 {0 o! q. ]7 }7 ^& w点击反汇编(Disassembly),出现开始地址(Start Address)和结束地址(End Addres).; h$ y* \- H- U% i, `2 e% |
分别设为C11105和C11125。
! s: {* D$ u% g# ?8 Q" k/ u确定OK,然后如下图。, p# T/ C( G+ ~8 T# N
8 N' `3 W9 C* ^" G* l3 Y) G% D观察C11115附近,发现前面有条减法指令:) J6 K2 S0 {' b
$C1/110F F5 3B SBC $3B,x [$00:083B] A:0040 X:0800 Y:0700 P:envMxdizC
/ Z/ U8 e7 j* D这里要用到汇编语言,思考一下,将F5 3B 改为85 3B。
. i7 _1 z) s7 K; I' I( z4 h1 a用Lunar Address左边输入C1110F,右面会出现对应PC文件地址。
8 p/ K3 I, Y$ E$ v
+ \9 s9 S7 H6 O8 ]! s用16进制编辑器打开Rom,到01:110F,找到F5,将其修改为85.修改完毕。9 U0 @# J. I' c# p9 H; k
将F5 3B改为EA EA(NOP),应该也没问题。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|