EMU618社区

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

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

 关闭 [复制链接]

签到天数: 1973 天

[LV.Master]伴坛终老

发表于 2009-3-9 22:09:11 | 显示全部楼层 |阅读模式
文章来源:http://zsltools.ycool.com/post.1074234.html* `% J( a& ?) T2 D5 P. v

% K/ n( O) N; l) T9 z1 c) D火炎纹章776修改笔记
( E6 @( X+ i9 G3 b* O  {: \2006.1.25
4 T" r3 ?9 i4 q, e作者:zHAOsILi[EGCG](.zZ~~) 转载请注明0 x' g% l) u5 C7 R+ f! w7 D

. b& F4 Y7 {% M. x  W% @
' v: Y$ o6 @( P4 K! J/ V修改工具:Geiger’s Snes9x Debugger Mark 9
  I9 W' P4 H/ k! h2 @7 M# r' ]: u7 H) }! N8 g% {$ `$ j9 b# Z3 P
战后升级
" ?; ?5 x! }6 w# F9 V" N  |, r$ 83/EFDC 90 05       BCC $ 05->EA NOP
7 G( Z+ A) Q4 ^% a3 t                              EA NOP
& y% T7 C! w$ w, b9 ]5 P) X. Z+ o5 t% I
战后能力+1
  M$ j. F% b8 i$ 83/DFFF 20 B0 E2    JSR $ E2B0  [$ 83:E2B0]->A9 01 00 LDA #$ 00017 s. E6 r$ O0 ?7 T  {
有BUG,敌人杂兵能力好像也用这段程序算,最后LV20的敌人杂兵能力基本全20-__-b  D& ?! q( m3 Y; v' {

- o" S9 U  n- t/ }$ s武器熟练直接到A
  ?6 z' M$ T; i" X/ c- t$ 83/E4E9 90 03       BCC $ 03 ->EA NOP' x( E" y9 H6 e+ V! H, m: H; K
                               EA NOP
# t( O; u9 M2 Y) P5 r- O存放所全物品锁定, ~: O0 }" U  Q( {7 D
存放所里的物品地址在$ 7E:4FD0,在整理道具菜单里选存放所时,这些数据会被传到$ 7E:6FCB,根据整理物品操作,在退出存放所时,把做的改动存回$ 7E:4FD0,所以只
; A: c' @7 X5 Y3 v3 Z- {" v1 M- Z要把读取和写入$ 7E:4FD0的操作用自己的程序代替,就虚拟出一个全物品的存放所,
" Z) p9 z, i: ?8 i3 S8 m, v6 H而且由于$ 7E:6FCB数组的空间大小不像$ 7E:4FD0只能存128件物品,足以存放超过128
2 E# m8 k: t# G件物品,故可以突破存放所128件物品的限制,改出全物品。
! w: F; T6 p  H' o& j$ 85/C785 A2 FE 00    LDX #$ 00FE              ;X=(128-1)*2+ h9 c$ w( Q- I
$ 85/C788 BD D0 4F    LDA $ 4FD0,x[$ 7E:4FD0]   ! V/ ]2 O+ b+ F7 J$ q) E1 l9 D
$ 85/C78B 9D CB 6F    STA $ 6FCB,x[$ 7E:6FCB]   ;从$ 4FD0存到$ 6FCB+ ^$ U) j4 J% N8 m! d0 a
$ 85/C78E CA          DEX                     0 Y9 b: m! J+ K+ M: q" _: @! y
$ 85/C78F CA          DEX                     3 H. z9 t/ _8 ?
$ 85/C790 10 F6       BPL $ F6    [$ C788]      ;循环128次
( |. O8 b7 L* n" A* l( q$ 85/C792 6B          RTL                     ;返回时X=$ FFFE$ v6 f9 M5 |; Z5 p  j) y
$ 85/C793 A2 FE 00    LDX #$ 00FE              
! u2 G4 A; k0 q* Q" m; F$ 85/C796 BD CB 6F    LDA $ 6FCB,x[$ 7E:6FCB]   
  |! K9 H, D, t9 Z! A( n$ 85/C799 9D D0 4F    STA $ 4FD0,x[$ 7E:4FD0]   ;从$ 6FCB存到$ 4FD0
! w: m* l! u0 @9 [+ {* l$ 85/C79C CA          DEX                     ) q$ s) b3 c$ d& r
$ 85/C79D CA          DEX                     . r  m& O9 n- H6 U$ O* O. T0 ~
$ 85/C79E 10 F6       BPL $ F6    [$ C796]      4 K$ B/ k6 U; l6 _. R2 _( u
$ 85/C7A0 6B          RTL                     - K- y( {; a3 }) \
实现全物品的代码如下:! L1 G: d! X' d+ S4 }# E" N0 K/ i
Start@ $ 85/C785# h( D: ~+ {, s7 |. U0 I
LDX #$ 014C A2 4C 01;X=($ A7-1)*26 X, h9 j1 ?  Y/ r2 z. r) U4 m0 M
LDA #$ 3CA7 A9 A7 3C;从物品$ A7开始,数量为$ 3C个,如果用$ FF则是默认数量/ Q, Z  C3 b+ Q4 W
@2 STA $ 6FCB,x 9D CB 6F
! p1 |8 D" v3 Y  }% i& S$ J# [% IDEC A  3A
( u! Y) [7 P: k2 o+ z- T& y9 W. eDEX  CA
9 s/ t/ [' U# o+ x2 i, N7 sDEX  CA
% w( ]( F- u5 U2 tBRA @1  80 04;空间不够,利用从$ 6FCB存到$ 4FD0那段程序的空间# o7 E5 f$ Q! I5 h0 v) B
LDX #$ FFFE A2 FE FF;-|
1 X: |, Z5 a; v0 C& i: DRTL  6B;-------|这两句补偿$ 6FCB存到$ 4FD0那段程序
+ B. q9 @  ^2 J3 L. U) w, D* U@1 BPL @2 10 F2;循环$ A7次
1 i) \) d1 a; @/ H4 rRTL  6B! U; k6 ^; E# D0 t
最后改完后反汇编出来的结果:) n7 z, C( p& s; P. M* S0 a& s% W
$ 85/C785 A2 4C 01    LDX #$ 014C              
: M! Q8 _7 a5 g$ X; L2 l$ 85/C788 A9 A7 3C    LDA #$ 3CA7              
+ }! W/ O  ~; c5 D3 x/ U$ 85/C78B 9D CB 6F    STA $ 6FCB,x[$ 7E:6FC9]   
' o, X# |, L  A; i" `6 m0 {$ 85/C78E 3A          DEC A                     A& v# p. s$ G, X4 ]( O+ P4 ^
$ 85/C78F CA          DEX                     
: U7 h+ ?! e% {- l% O: H- M2 I9 F$ 85/C790 CA          DEX                     
6 G. Y0 J. Z' C$ 85/C791 80 04       BRA $ 04    [$ C797]      ;利用后面的空间6 c. N3 L3 S/ {7 k
$ 85/C793 A2 FE FF    LDX #$ FFFE              ;1 y, J8 c" l$ K: V( W7 y
$ 85/C796 6B          RTL                     ;注意一下,看看原来这里是什么
7 Q- @! [! g; {2 B5 w$ 85/C797 10 F2       BPL $ F2    [$ C78B]      # c! @; b4 g5 I4 N! ^7 s% t6 h
$ 85/C799 6B          RTL                     " k7 c1 T0 x0 @( v( d& V
$ 85/C79A EA          NOP                     ;避免出错,把多余的都NOP了
0 u+ d4 F2 o/ t5 a$ 85/C79B EA          NOP                     ;* K& @; l, ^* |9 A) y
$ 85/C79C EA          NOP                     ;
! G" S+ r& `9 z$ ~$ 85/C79D EA          NOP                     ;' S, K% R0 N* x6 H4 P) e4 w. b
$ 85/C79E EA          NOP                     ;; B8 x; C" I* E+ H6 M( H9 e% W7 V! S
$ 85/C79F EA          NOP                     ;
/ _/ F% b  M/ \) I+ e+ I9 L) W$ 85/C7A0 6B          RTL                     ;% y; h: z/ H- x  [

- X5 G: T; v" P2 p' @7 |[ 本帖最后由 疾风之狼 于 2009-3-31 20:37 编辑 ]

签到天数: 2 天

[LV.1]初来乍到

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

本版积分规则

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

GMT+8, 2025-6-9 10:56 , Processed in 1.066406 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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