设为首页收藏本站

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

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

  [复制链接]

签到天数: 1913 天

[LV.Master]伴坛终老

发表于 2009-3-9 22:09:11 | 显示全部楼层 |阅读模式
文章来源:http://zsltools.ycool.com/post.1074234.html
; w- s. ^9 @2 R, x  r, O: G; `" z  X0 n6 s. T+ T+ j  z4 F) g& L
火炎纹章776修改笔记& w! n6 p) x: |3 r- Q. C& u# c2 ^3 i
2006.1.25& |/ D7 [  a0 W$ i. o
作者:zHAOsILi[EGCG](.zZ~~) 转载请注明. n) M8 d! x% L/ j2 T7 D5 X8 O% z: G3 Z
( L0 q$ F! l! Y$ t% S& p

& Q# j3 _& k' W/ T, W修改工具:Geiger’s Snes9x Debugger Mark 9( k& _. T+ w4 e

& W; g/ Y' F" r( V3 G战后升级
. K! G3 Z& n' u  ?& B$ 83/EFDC 90 05       BCC $ 05->EA NOP0 x2 P! c# f9 V2 h
                              EA NOP( h9 P+ l6 i3 O& q0 v" A! ^

" G# w. a' h$ ^! K8 H) X0 z战后能力+16 y2 i% Z( J9 n* j( T6 \' w
$ 83/DFFF 20 B0 E2    JSR $ E2B0  [$ 83:E2B0]->A9 01 00 LDA #$ 0001$ K1 t' J, s: ^3 F
有BUG,敌人杂兵能力好像也用这段程序算,最后LV20的敌人杂兵能力基本全20-__-b
6 N8 g+ r+ t. O4 l( A2 Z0 @6 G1 x4 q) c
武器熟练直接到A4 ~9 E" y* [) [* |9 e
$ 83/E4E9 90 03       BCC $ 03 ->EA NOP6 c/ u; R+ C/ @4 b, w/ V& S
                               EA NOP( i' q( y. u1 m- s/ E
存放所全物品锁定
9 Q5 Z- w# ]( C; C存放所里的物品地址在$ 7E:4FD0,在整理道具菜单里选存放所时,这些数据会被传到$ 7E:6FCB,根据整理物品操作,在退出存放所时,把做的改动存回$ 7E:4FD0,所以只
) Y0 D. F# h$ n% g+ S( P5 `0 K要把读取和写入$ 7E:4FD0的操作用自己的程序代替,就虚拟出一个全物品的存放所,- x. W0 j* r) C9 r7 ?3 S
而且由于$ 7E:6FCB数组的空间大小不像$ 7E:4FD0只能存128件物品,足以存放超过1282 p% w+ E. v- Q9 u, m1 v, E
件物品,故可以突破存放所128件物品的限制,改出全物品。0 r/ U# s( O& V2 P3 {1 m
$ 85/C785 A2 FE 00    LDX #$ 00FE              ;X=(128-1)*25 D- d4 z! N0 W7 P* u8 m
$ 85/C788 BD D0 4F    LDA $ 4FD0,x[$ 7E:4FD0]   
. M* a0 x& w- Q' Y$ 85/C78B 9D CB 6F    STA $ 6FCB,x[$ 7E:6FCB]   ;从$ 4FD0存到$ 6FCB
. E* E; y8 d/ c) ]9 V2 J  h! H$ 85/C78E CA          DEX                     8 p2 o9 e: ^/ H0 k; h' j) @7 S
$ 85/C78F CA          DEX                     
* h& R* e+ ^5 `! u% S" u) F5 g$ 85/C790 10 F6       BPL $ F6    [$ C788]      ;循环128次
1 C! g& K5 k$ \8 n5 {4 d$ 85/C792 6B          RTL                     ;返回时X=$ FFFE6 }) s. Z% J3 o8 Z
$ 85/C793 A2 FE 00    LDX #$ 00FE              
3 [6 {+ m+ @, W+ O( l- Y$ 85/C796 BD CB 6F    LDA $ 6FCB,x[$ 7E:6FCB]   
8 f* A! d5 ?8 t$ B# |0 b4 w$ 85/C799 9D D0 4F    STA $ 4FD0,x[$ 7E:4FD0]   ;从$ 6FCB存到$ 4FD0
% y, M. X3 H( x3 ]! S$ 85/C79C CA          DEX                     3 {5 o4 h8 ?- L2 X: P
$ 85/C79D CA          DEX                     . `. [- L1 Z7 M, o& o/ H0 v
$ 85/C79E 10 F6       BPL $ F6    [$ C796]      9 M6 c! j8 p! [. ~. Q3 j, N
$ 85/C7A0 6B          RTL                     
& \; ~+ b9 r5 S2 A5 t5 K! i6 w实现全物品的代码如下:
; T4 q+ O$ R5 Y; N# G( a  zStart@ $ 85/C7858 T* f& @0 m6 f
LDX #$ 014C A2 4C 01;X=($ A7-1)*2
! c% S7 ?- w1 p4 E) eLDA #$ 3CA7 A9 A7 3C;从物品$ A7开始,数量为$ 3C个,如果用$ FF则是默认数量( F* t: P0 l2 v5 w, D9 l$ j9 O
@2 STA $ 6FCB,x 9D CB 6F4 d& Z% K% H, {1 V3 _$ \
DEC A  3A
; }, V2 }. Y( v8 \' hDEX  CA. Q9 `; C# |3 d% a
DEX  CA
+ Q' s: A6 J. b# k6 Z# g  NBRA @1  80 04;空间不够,利用从$ 6FCB存到$ 4FD0那段程序的空间+ B; K6 E: R, k  s
LDX #$ FFFE A2 FE FF;-|6 h' O4 h+ Q2 i3 c- `
RTL  6B;-------|这两句补偿$ 6FCB存到$ 4FD0那段程序
2 N  ^" Y$ F' b+ j# r@1 BPL @2 10 F2;循环$ A7次
" r* |) Y$ G4 p5 ?) {RTL  6B
! \" G' `# q: b* [  |最后改完后反汇编出来的结果:
3 r( C: O; Q) }( ~; X9 i$ 85/C785 A2 4C 01    LDX #$ 014C              ; _2 H5 V! Y7 U( L, x' m6 t$ y7 O
$ 85/C788 A9 A7 3C    LDA #$ 3CA7              
% S( b; q4 ~7 X. [9 k* S4 w! I5 k$ 85/C78B 9D CB 6F    STA $ 6FCB,x[$ 7E:6FC9]   # p7 a7 w0 D2 C4 Q- o2 e2 N
$ 85/C78E 3A          DEC A                  
- Q" R  D- r+ \- I: C" ?* J  r/ h  T( y$ 85/C78F CA          DEX                     
5 Z' G- r3 a! _3 ^$ 85/C790 CA          DEX                     6 j2 L5 e' s  t, V
$ 85/C791 80 04       BRA $ 04    [$ C797]      ;利用后面的空间, h1 K, A& I$ L# T- X
$ 85/C793 A2 FE FF    LDX #$ FFFE              ;
/ A6 z4 h) M0 x/ {4 ?8 j  R  ?, U$ 85/C796 6B          RTL                     ;注意一下,看看原来这里是什么3 |  K6 x5 A7 U  e1 X4 }
$ 85/C797 10 F2       BPL $ F2    [$ C78B]      6 P- x0 c5 v1 u7 F
$ 85/C799 6B          RTL                     
5 s. z4 ]' q2 B1 t$ 85/C79A EA          NOP                     ;避免出错,把多余的都NOP了  D  _/ l  \# u
$ 85/C79B EA          NOP                     ;' [! ~4 T+ I! q
$ 85/C79C EA          NOP                     ;  O0 D3 ~0 C/ J2 }* \# K8 R
$ 85/C79D EA          NOP                     ;9 |3 c9 F0 c) ?7 n. E5 J
$ 85/C79E EA          NOP                     ;
5 d" i# c* S5 T6 P. J4 Y1 c0 B! g$ 85/C79F EA          NOP                     ;
( j  {& n! f2 r* Z5 N: ?& T4 A+ _1 X$ 85/C7A0 6B          RTL                     ;
: X2 v6 D" `8 x$ E; X
4 y* O9 I0 E5 D7 P4 _# N; b[ 本帖最后由 疾风之狼 于 2009-3-31 20:37 编辑 ]

签到天数: 2 天

[LV.1]初来乍到

发表于 2009-3-10 12:41:38 | 显示全部楼层
学习了,但是有些专业术语还是不太明白
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-4-6 03:06

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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