设为首页收藏本站

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

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

  [复制链接]

签到天数: 1992 天

[LV.Master]伴坛终老

发表于 2009-3-9 22:09:11 | 显示全部楼层 |阅读模式
文章来源:http://zsltools.ycool.com/post.1074234.html9 T) d# w1 S$ m" a

* j3 s( h' a8 `/ w2 H火炎纹章776修改笔记
/ R9 n- I  q* j/ m4 |9 g9 ^2006.1.25
2 f7 {0 {# X% g# Z: V作者:zHAOsILi[EGCG](.zZ~~) 转载请注明
- g1 P: N* e9 A9 |) J$ l1 b  h; H" O$ }' V$ M2 H# h
' S/ g3 q- w+ m9 e/ |$ f: _
修改工具:Geiger’s Snes9x Debugger Mark 91 F- h6 j8 `& c3 G; d: N
/ R* N  I& p% }+ [+ A& o
战后升级
' T: [5 K8 w- s* C7 Z$ 83/EFDC 90 05       BCC $ 05->EA NOP- R0 _0 K0 r. Z9 Y
                              EA NOP7 ?% a2 J8 j+ {1 q; w% B

  G; N2 Z3 S1 h( G& I* H: P$ b战后能力+1) t- D( w" N  f/ F" e# F0 F
$ 83/DFFF 20 B0 E2    JSR $ E2B0  [$ 83:E2B0]->A9 01 00 LDA #$ 0001
! X: b' q  L% v& k- T, k) i, q有BUG,敌人杂兵能力好像也用这段程序算,最后LV20的敌人杂兵能力基本全20-__-b
% D0 I  N; _% h
; n& y) ?2 A7 |/ y0 m4 t  O, n武器熟练直接到A
/ Y/ z3 K& u. [/ B& y; W! Y$ 83/E4E9 90 03       BCC $ 03 ->EA NOP' V8 z% e+ K8 t% r; {5 A
                               EA NOP
; ?4 f) }: c0 _, |存放所全物品锁定
% Y' J  [  E  w0 ?* n存放所里的物品地址在$ 7E:4FD0,在整理道具菜单里选存放所时,这些数据会被传到$ 7E:6FCB,根据整理物品操作,在退出存放所时,把做的改动存回$ 7E:4FD0,所以只
! V4 G! e* b. v* G* C要把读取和写入$ 7E:4FD0的操作用自己的程序代替,就虚拟出一个全物品的存放所,- e) h& m$ ^4 K: e4 p
而且由于$ 7E:6FCB数组的空间大小不像$ 7E:4FD0只能存128件物品,足以存放超过128
" H5 c% h* h: e, J% B# v$ X2 F6 c件物品,故可以突破存放所128件物品的限制,改出全物品。9 S2 E) j: ~& [2 v. l/ S1 M
$ 85/C785 A2 FE 00    LDX #$ 00FE              ;X=(128-1)*2" u: H* N- k1 l$ k9 n  a, C; X$ \
$ 85/C788 BD D0 4F    LDA $ 4FD0,x[$ 7E:4FD0]   7 W$ J8 \+ G  {: ~8 e
$ 85/C78B 9D CB 6F    STA $ 6FCB,x[$ 7E:6FCB]   ;从$ 4FD0存到$ 6FCB
, _2 I+ l" d; C7 _" M$ W' ~$ 85/C78E CA          DEX                     % b- H1 m  E/ ~# w
$ 85/C78F CA          DEX                     
: R" v7 _! @; p$ 85/C790 10 F6       BPL $ F6    [$ C788]      ;循环128次
7 n" f9 {' n$ C  x7 a8 B5 X+ Y$ x$ 85/C792 6B          RTL                     ;返回时X=$ FFFE6 X# g& s! K% o, k! [! b- z
$ 85/C793 A2 FE 00    LDX #$ 00FE              
0 x* T2 ]! I, M7 k$ 85/C796 BD CB 6F    LDA $ 6FCB,x[$ 7E:6FCB]   
/ B5 i+ U6 h; q+ B% [7 k$ 85/C799 9D D0 4F    STA $ 4FD0,x[$ 7E:4FD0]   ;从$ 6FCB存到$ 4FD0  e. o6 ]$ F1 r) P: _
$ 85/C79C CA          DEX                     5 v" x* H* o0 I  W9 `
$ 85/C79D CA          DEX                     3 q: g% W* ?' L/ `7 d
$ 85/C79E 10 F6       BPL $ F6    [$ C796]      
7 m  Q: J+ |0 L8 e/ [4 Y$ 85/C7A0 6B          RTL                     ; j/ c4 H  z1 m: v2 {$ r) n& [
实现全物品的代码如下:  y( M1 g8 [* T( l" {2 R( S: W
Start@ $ 85/C785
9 ^: F4 x4 Z* MLDX #$ 014C A2 4C 01;X=($ A7-1)*2
% ?' L* F$ r, i+ [LDA #$ 3CA7 A9 A7 3C;从物品$ A7开始,数量为$ 3C个,如果用$ FF则是默认数量
1 b" N* B" M8 F& @0 l  y@2 STA $ 6FCB,x 9D CB 6F
$ ]+ |' e+ c/ gDEC A  3A
( Q0 P4 @# ]/ QDEX  CA6 k; x0 U3 q2 `' K! u* F
DEX  CA
5 Z5 z2 ~9 P2 }BRA @1  80 04;空间不够,利用从$ 6FCB存到$ 4FD0那段程序的空间# r, v# x  W% v% @; g
LDX #$ FFFE A2 FE FF;-|
1 `6 R6 W* l0 n+ Y* vRTL  6B;-------|这两句补偿$ 6FCB存到$ 4FD0那段程序2 ^4 v% `" W: {' }* W9 s, l$ d, }
@1 BPL @2 10 F2;循环$ A7次
, W3 F3 ?6 @2 u8 E* P: hRTL  6B
2 q) b6 `% Y( D. A$ w$ m2 u# u最后改完后反汇编出来的结果:
' \2 s* t8 ?4 x( y! I; D2 A$ 85/C785 A2 4C 01    LDX #$ 014C              " D/ M% N' V4 t8 ]5 O% L
$ 85/C788 A9 A7 3C    LDA #$ 3CA7              ' C4 I' \% @6 H: H: `6 H% X
$ 85/C78B 9D CB 6F    STA $ 6FCB,x[$ 7E:6FC9]   1 W) B! @4 e* E! U2 G& g
$ 85/C78E 3A          DEC A                   6 B; \2 w  ~$ o! ^+ C: b
$ 85/C78F CA          DEX                     
1 f! t& F1 ?4 i& |. |; P$ 85/C790 CA          DEX                     
3 D$ x6 u  H' R: h& Z$ 85/C791 80 04       BRA $ 04    [$ C797]      ;利用后面的空间
3 G/ F6 e( L# D' G$ 85/C793 A2 FE FF    LDX #$ FFFE              ;' c, f% o3 X: `/ M, Z/ t
$ 85/C796 6B          RTL                     ;注意一下,看看原来这里是什么! }, U* Q; i0 S
$ 85/C797 10 F2       BPL $ F2    [$ C78B]      6 M1 Q" x: d/ }8 @' `
$ 85/C799 6B          RTL                     
7 I6 W6 O5 l( H* V- D$ F$ 85/C79A EA          NOP                     ;避免出错,把多余的都NOP了& r. H. I1 i1 r/ }* |5 R
$ 85/C79B EA          NOP                     ;
5 N" c; j8 g& ?  F$ g$ 85/C79C EA          NOP                     ;& l6 f  m6 F6 \
$ 85/C79D EA          NOP                     ;
3 w9 W) ]' I0 Q6 W3 Z. f$ 85/C79E EA          NOP                     ;5 y4 Q1 F8 G; F. t  J! y' U/ u
$ 85/C79F EA          NOP                     ;
4 t9 C' `: |7 m8 k$ 85/C7A0 6B          RTL                     ;
  {* Y  O6 a. Q; z! n  D
( Y( J$ P$ e' ?% A8 a$ B[ 本帖最后由 疾风之狼 于 2009-3-31 20:37 编辑 ]

签到天数: 2 天

[LV.1]初来乍到

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-25 20:30

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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