EMU618社区

 找回密码
 立即注册
搜索
查看: 2375|回复: 1

[转载HACK教程] 火炎纹章776修改笔记(作者:zHAOsILi[EGCG](.zZ~~) )

 关闭 [复制链接]

签到天数: 2070 天

[LV.Master]伴坛终老

发表于 2009-3-9 22:09:11 | 显示全部楼层 |阅读模式
文章来源:http://zsltools.ycool.com/post.1074234.html
# G& h0 A* F& e: H" Y; d$ `* g' o9 I. L6 P# W# \
火炎纹章776修改笔记
' Z. o. d( G! Z! N* D6 R* d2006.1.25
. A. [& V: c0 f% u作者:zHAOsILi[EGCG](.zZ~~) 转载请注明, ?1 g) `9 ]& d# o2 o

8 _5 q* a2 J" `" ~0 ?: t( Q2 l" m. P8 l
修改工具:Geiger’s Snes9x Debugger Mark 9
" h; d' E! n9 x8 M
0 z4 v( E, p9 ]1 |) U战后升级) P/ `; d; ]# ^- b3 S0 n
$ 83/EFDC 90 05       BCC $ 05->EA NOP0 ^1 }! r( ?. S8 R3 a* q" z
                              EA NOP
6 [# G' q& a, e" |6 @( t) i3 J1 _7 I! L
战后能力+1
  O$ j7 Q/ p& g/ G$ 83/DFFF 20 B0 E2    JSR $ E2B0  [$ 83:E2B0]->A9 01 00 LDA #$ 0001
6 ~5 W, U! a5 a4 ^9 L( X有BUG,敌人杂兵能力好像也用这段程序算,最后LV20的敌人杂兵能力基本全20-__-b1 r4 ~/ F2 R8 o2 ~& a  X. x
2 D! p" L0 v$ B( ]$ M% A
武器熟练直接到A$ K% C7 B6 r  T# {! O: z
$ 83/E4E9 90 03       BCC $ 03 ->EA NOP
) _, v. A' H/ V) b3 ]5 X5 k                               EA NOP
' x1 V( q4 M( P9 M& p  _3 R+ ?存放所全物品锁定
, K  O" B) ]" W6 z0 `5 y存放所里的物品地址在$ 7E:4FD0,在整理道具菜单里选存放所时,这些数据会被传到$ 7E:6FCB,根据整理物品操作,在退出存放所时,把做的改动存回$ 7E:4FD0,所以只
& J; x( ~, j/ N' o9 G要把读取和写入$ 7E:4FD0的操作用自己的程序代替,就虚拟出一个全物品的存放所,
0 v) K& i. F4 v而且由于$ 7E:6FCB数组的空间大小不像$ 7E:4FD0只能存128件物品,足以存放超过128
$ D. M2 b5 V* E% E件物品,故可以突破存放所128件物品的限制,改出全物品。
5 L2 |3 v: g; ~% }/ c$ 85/C785 A2 FE 00    LDX #$ 00FE              ;X=(128-1)*2
1 S0 B0 _& {# u* G: Y+ n$ 85/C788 BD D0 4F    LDA $ 4FD0,x[$ 7E:4FD0]   
4 P2 z! ~* \$ X9 ]% v$ 85/C78B 9D CB 6F    STA $ 6FCB,x[$ 7E:6FCB]   ;从$ 4FD0存到$ 6FCB6 x5 R4 a& W. a% E7 A! N# K
$ 85/C78E CA          DEX                     * A$ }2 n- T  C( h& w5 Y
$ 85/C78F CA          DEX                     
, n8 S7 _% m2 y3 H; T$ 85/C790 10 F6       BPL $ F6    [$ C788]      ;循环128次( J+ {/ s4 h" P# f. x! u
$ 85/C792 6B          RTL                     ;返回时X=$ FFFE
% T9 S$ g( m, O) u& V9 ?$ 85/C793 A2 FE 00    LDX #$ 00FE              ' I( }) m% @6 s! y& n
$ 85/C796 BD CB 6F    LDA $ 6FCB,x[$ 7E:6FCB]   / ?( n& B% ^9 ^- Q
$ 85/C799 9D D0 4F    STA $ 4FD0,x[$ 7E:4FD0]   ;从$ 6FCB存到$ 4FD0% c8 B0 a. ]& D& i2 M
$ 85/C79C CA          DEX                     0 ~  [2 b( d) K( H% X9 L3 X
$ 85/C79D CA          DEX                     7 N6 b, W  t% ^! a
$ 85/C79E 10 F6       BPL $ F6    [$ C796]      ( ^1 V- d) u$ @% K  [+ @3 u
$ 85/C7A0 6B          RTL                     5 q$ }( v+ t: g0 I
实现全物品的代码如下:
3 i' T7 G/ f, X$ YStart@ $ 85/C785
7 P2 c* I; f" }/ A6 X, cLDX #$ 014C A2 4C 01;X=($ A7-1)*2, m0 l. W4 ?0 n; e9 s3 e6 y5 ?
LDA #$ 3CA7 A9 A7 3C;从物品$ A7开始,数量为$ 3C个,如果用$ FF则是默认数量
) a9 V: o, m2 \2 I# l: u" f4 r  b@2 STA $ 6FCB,x 9D CB 6F( Y5 T0 Q* B6 |% E: v3 H
DEC A  3A3 o( {0 H9 l: x% P) \
DEX  CA
# i: w1 `/ z1 S7 I" SDEX  CA
) O: ]6 _6 a; S4 A7 \BRA @1  80 04;空间不够,利用从$ 6FCB存到$ 4FD0那段程序的空间
5 L3 J1 j* U5 R$ @% h, p' `, L: LLDX #$ FFFE A2 FE FF;-|
1 X. i4 w; M0 S9 R- t4 uRTL  6B;-------|这两句补偿$ 6FCB存到$ 4FD0那段程序4 E( B- A( n$ C" t6 t
@1 BPL @2 10 F2;循环$ A7次/ |9 E9 g( m! O% p  k2 v( x+ }
RTL  6B6 t. ^9 L* a" _! q$ v* G% _" m
最后改完后反汇编出来的结果:! `: G; {1 K+ n, L" n; i
$ 85/C785 A2 4C 01    LDX #$ 014C              , }: {9 _0 a8 c1 Q) A/ q
$ 85/C788 A9 A7 3C    LDA #$ 3CA7              7 B" J% q& U; g) A7 k
$ 85/C78B 9D CB 6F    STA $ 6FCB,x[$ 7E:6FC9]   
3 ]$ O% o  `* u$ 85/C78E 3A          DEC A                  
2 D% I7 m) ~& |+ L  a$ 85/C78F CA          DEX                     " D: \; v  {& h/ M% f
$ 85/C790 CA          DEX                     ( X4 K; p& Q3 U. G
$ 85/C791 80 04       BRA $ 04    [$ C797]      ;利用后面的空间
9 r/ j# {" H+ n$ 85/C793 A2 FE FF    LDX #$ FFFE              ;5 x# \3 M9 w5 W% @0 e) y
$ 85/C796 6B          RTL                     ;注意一下,看看原来这里是什么
/ L9 \  r* S/ i& H. a3 G& D3 ^$ 85/C797 10 F2       BPL $ F2    [$ C78B]      0 M7 [6 ^) y5 X" {3 t7 h4 d1 |
$ 85/C799 6B          RTL                     ' O& J/ N% N* e
$ 85/C79A EA          NOP                     ;避免出错,把多余的都NOP了
  w, I0 d$ F' E1 W% A  `$ 85/C79B EA          NOP                     ;
: x+ \/ e. i% A5 M$ 85/C79C EA          NOP                     ;5 T/ W, G% e9 E  n* Q
$ 85/C79D EA          NOP                     ;
7 q& ]6 E! b3 s" C0 w4 l& h8 Q5 i$ 85/C79E EA          NOP                     ;, \. O- n5 b4 f
$ 85/C79F EA          NOP                     ;
2 F" _0 E0 m& i+ {$ 85/C7A0 6B          RTL                     ;1 t" X* w- o% `. z0 G! p4 s. @! Z2 C
. X  g* I$ X  [5 o% {7 `% H9 ?
[ 本帖最后由 疾风之狼 于 2009-3-31 20:37 编辑 ]

签到天数: 2 天

[LV.1]初来乍到

发表于 2009-3-10 12:41:38 | 显示全部楼层
学习了,但是有些专业术语还是不太明白
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|国治模拟精品屋 ( 沪ICP备15012945号-1 )

GMT+8, 2025-9-14 23:21 , Processed in 1.100586 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表