|
|
发表于 2011-2-26 21:41:01
|
显示全部楼层
本帖最后由 克罗诺亚 于 2011-2-26 21:43 编辑 2 M5 v9 l1 N- a
- T2 ]6 N/ {6 q1 r) T Q6 a) s
第二个问题,点击breakpoints,然后如图。
! B) r1 e3 l; e# F1 Y+ O% A" F6 C) u' X& x
设置断点,运行游戏(RUN)。
/ D, p$ _$ q. Q. K0 g找敌人挨打,结果中断到这里。C11115. T/ t0 D& u: @! J
2 `$ u# J8 n; Z' U$ n% {" q; _/ z$ D
点击反汇编(Disassembly),出现开始地址(Start Address)和结束地址(End Addres).1 @) V& |# e! p# x( `7 |: b" B
分别设为C11105和C11125。% l$ g: A$ m; a& B: j, g! u
确定OK,然后如下图。
V- |# F# y) T
1 a& ~* I5 j. E: k/ {" i观察C11115附近,发现前面有条减法指令:
0 O4 ^8 P. Q, i$ l( U$C1/110F F5 3B SBC $3B,x [$00:083B] A:0040 X:0800 Y:0700 P:envMxdizC
; m) L7 A. b3 g4 B6 {! O这里要用到汇编语言,思考一下,将F5 3B 改为85 3B。) B8 J9 X% T2 d h3 d! H. Y9 K' \
用Lunar Address左边输入C1110F,右面会出现对应PC文件地址。( ^4 ^: Y9 o# R/ h# M
8 C1 E9 I+ M. Q8 z+ c- k5 D用16进制编辑器打开Rom,到01:110F,找到F5,将其修改为85.修改完毕。
* ~2 Q) {# q% `% y/ }9 i8 M& p1 u将F5 3B改为EA EA(NOP),应该也没问题。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
x
|