|
发表于 2011-2-26 21:41:01
|
显示全部楼层
本帖最后由 克罗诺亚 于 2011-2-26 21:43 编辑 ! u4 a) v. f( N" W9 t6 ]4 Z
4 }3 X( U6 w& V9 w
第二个问题,点击breakpoints,然后如图。* R0 u& j% U. _* \$ f& ]
N9 l) d- S L设置断点,运行游戏(RUN)。
5 j% r. R$ J, W+ Z3 u' V找敌人挨打,结果中断到这里。C11115.
8 [4 l' n* |7 e& w4 t# `1 v& K7 i% J8 _, x9 S- w" @3 z
点击反汇编(Disassembly),出现开始地址(Start Address)和结束地址(End Addres).7 r q* @3 @, I! X0 ?
分别设为C11105和C11125。
6 s) M3 X& {& K9 m v' U6 u6 m% Q确定OK,然后如下图。5 @+ @. r* ?/ ]& F K* O
" y2 ^) Y" A( q- y2 H; i1 B观察C11115附近,发现前面有条减法指令:
: e0 k+ i0 V# l1 y$C1/110F F5 3B SBC $3B,x [$00:083B] A:0040 X:0800 Y:0700 P:envMxdizC ' m) W/ s1 k' F7 x
这里要用到汇编语言,思考一下,将F5 3B 改为85 3B。
2 u8 N4 R. P0 b# u5 y用Lunar Address左边输入C1110F,右面会出现对应PC文件地址。
, ?. k# i; }/ f# p& E
6 q6 E }# x; z% i7 E用16进制编辑器打开Rom,到01:110F,找到F5,将其修改为85.修改完毕。
% A4 q- n- P) Y4 H将F5 3B改为EA EA(NOP),应该也没问题。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|