EMU618社区

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

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

 关闭 [复制链接]

签到天数: 1769 天

[LV.Master]伴坛终老

发表于 2009-3-9 22:09:11 | 显示全部楼层 |阅读模式
文章来源:http://zsltools.ycool.com/post.1074234.html' b7 o2 L/ H2 w0 }' O& L- j

' S0 I4 N3 `% Y" R: f9 a, s( k% t火炎纹章776修改笔记, m! a  ^; G* Z( m
2006.1.25
' |. f8 a$ c8 i& T1 w# Z( {& T: R) [, _作者:zHAOsILi[EGCG](.zZ~~) 转载请注明: c/ E; C& D; Y: G) E4 x

2 H. ^) E7 \! g* L9 h* Q- I1 J1 J- o" O  n
修改工具:Geiger’s Snes9x Debugger Mark 9. u+ U0 K& U. A1 `% b
3 K9 m9 t5 t7 W. v. e$ j8 o$ g
战后升级
& }$ M" x$ Y1 ]* V1 ?) \% L; d$ 83/EFDC 90 05       BCC $ 05->EA NOP
% @' [" x$ [0 K: G                              EA NOP
# |4 g, B( {# l! f
; a; j9 c! l9 P0 P" v0 y4 K* j战后能力+1
. k$ N  Z  S; d1 n; J& P# @6 k$ 83/DFFF 20 B0 E2    JSR $ E2B0  [$ 83:E2B0]->A9 01 00 LDA #$ 0001( n& m. _3 A) E4 K. w, b. u. }+ E% ]. ~
有BUG,敌人杂兵能力好像也用这段程序算,最后LV20的敌人杂兵能力基本全20-__-b9 A+ N6 ~$ N! P( q# q  S

3 g/ R- V/ G5 O6 N, q% D武器熟练直接到A) V/ }5 O: @/ u; f7 K- Z5 W8 w
$ 83/E4E9 90 03       BCC $ 03 ->EA NOP6 p0 o& t% y: p: p+ e8 Q
                               EA NOP
6 t: \/ w) j+ D$ A/ g存放所全物品锁定
) e9 A- O- [: ]# t8 H0 e存放所里的物品地址在$ 7E:4FD0,在整理道具菜单里选存放所时,这些数据会被传到$ 7E:6FCB,根据整理物品操作,在退出存放所时,把做的改动存回$ 7E:4FD0,所以只
: f8 |, V: H& R7 S要把读取和写入$ 7E:4FD0的操作用自己的程序代替,就虚拟出一个全物品的存放所,
! ]6 a2 K% Y( H7 g: @) S& g而且由于$ 7E:6FCB数组的空间大小不像$ 7E:4FD0只能存128件物品,足以存放超过128$ {! f$ h6 t& m0 M- I1 k* e
件物品,故可以突破存放所128件物品的限制,改出全物品。
/ T# B% l7 y0 s2 T$ 85/C785 A2 FE 00    LDX #$ 00FE              ;X=(128-1)*2% w" k. T- h, z: W2 m# ~/ X* J
$ 85/C788 BD D0 4F    LDA $ 4FD0,x[$ 7E:4FD0]   $ U$ j5 @9 ?& m# Y9 |4 ^5 m. W) q: R
$ 85/C78B 9D CB 6F    STA $ 6FCB,x[$ 7E:6FCB]   ;从$ 4FD0存到$ 6FCB3 n0 Z  N# n9 ]' r& Y1 X  ^
$ 85/C78E CA          DEX                     
  d* p9 f' V6 r! i$ 85/C78F CA          DEX                     ( j2 X+ y# a) _
$ 85/C790 10 F6       BPL $ F6    [$ C788]      ;循环128次  e7 M" A9 G/ D' m- N  y- c' d9 t
$ 85/C792 6B          RTL                     ;返回时X=$ FFFE0 ]. a7 w! Y6 l0 X: e! L
$ 85/C793 A2 FE 00    LDX #$ 00FE              + V' _4 C" \. p
$ 85/C796 BD CB 6F    LDA $ 6FCB,x[$ 7E:6FCB]   % j) b5 N$ ?5 G
$ 85/C799 9D D0 4F    STA $ 4FD0,x[$ 7E:4FD0]   ;从$ 6FCB存到$ 4FD0
' N3 T8 R! H% C, T# s5 m3 H$ 85/C79C CA          DEX                     
" m  P" ]8 o& X: v# G- a7 Q+ H: e$ 85/C79D CA          DEX                     1 N# R- j' q7 L" i% ]" m9 p
$ 85/C79E 10 F6       BPL $ F6    [$ C796]      
' k( A9 D6 ^/ E7 J$ 85/C7A0 6B          RTL                     
) O* {9 ~* s9 n' V7 p8 g实现全物品的代码如下:1 m8 D6 [  d3 b4 V/ V
Start@ $ 85/C785$ y+ A$ z0 u. s
LDX #$ 014C A2 4C 01;X=($ A7-1)*2
  r2 ?) z: b* LLDA #$ 3CA7 A9 A7 3C;从物品$ A7开始,数量为$ 3C个,如果用$ FF则是默认数量' @, T* l+ C0 x% g- ]1 t
@2 STA $ 6FCB,x 9D CB 6F
4 K# ~& j) K- {5 }6 I7 E8 FDEC A  3A
3 c8 Q" k2 i( l9 n8 v" d& I5 bDEX  CA
5 v; t+ f$ m( i/ t" gDEX  CA# E) ?9 N! D+ r5 v$ \& O/ T6 h4 |
BRA @1  80 04;空间不够,利用从$ 6FCB存到$ 4FD0那段程序的空间
7 @8 y6 ?2 ~/ I3 c5 [LDX #$ FFFE A2 FE FF;-|
) U4 N; n2 p. k8 c6 e8 MRTL  6B;-------|这两句补偿$ 6FCB存到$ 4FD0那段程序) b5 c9 A. \; S+ N5 c
@1 BPL @2 10 F2;循环$ A7次( S* {0 f) s! M5 F
RTL  6B
* A# S" d1 n; @5 p3 R$ T* A最后改完后反汇编出来的结果:- p, T4 n" m- c5 {3 C- J2 M3 p
$ 85/C785 A2 4C 01    LDX #$ 014C              
( q' L: ]. p# d  {$ ?# v$ 85/C788 A9 A7 3C    LDA #$ 3CA7              3 \% F+ N( R" W8 {( ]- x
$ 85/C78B 9D CB 6F    STA $ 6FCB,x[$ 7E:6FC9]   . {# x9 S& R1 T7 [! `* x' q7 ]
$ 85/C78E 3A          DEC A                  
3 N' C$ J3 @# ^: Z$ 85/C78F CA          DEX                     
  u+ E: S7 ?! i7 j7 u. O$ 85/C790 CA          DEX                     
% m1 E( ?/ M7 R: _$ 85/C791 80 04       BRA $ 04    [$ C797]      ;利用后面的空间0 g( }( {3 z3 i, ?% \$ \" a% f
$ 85/C793 A2 FE FF    LDX #$ FFFE              ;
; [2 k1 u8 z( Y1 i2 |5 n" _$ 85/C796 6B          RTL                     ;注意一下,看看原来这里是什么
7 k2 |/ x- X, l$ w$ 85/C797 10 F2       BPL $ F2    [$ C78B]      
5 C" N, n$ t0 u$ G; U2 N$ 85/C799 6B          RTL                     
: K8 G0 A+ S; a9 R& D6 S$ 85/C79A EA          NOP                     ;避免出错,把多余的都NOP了
( F" e8 p" ]3 h% r  q5 s4 |$ 85/C79B EA          NOP                     ;
6 ^) s) a0 P. u3 _' z( i, D  z# }2 w$ 85/C79C EA          NOP                     ;
) v% V1 f  P) K, u$ _$ 85/C79D EA          NOP                     ;
6 w# v7 B1 P  d3 ]$ 85/C79E EA          NOP                     ;
4 I( F# z% r* Q& f5 ]& E1 W$ 85/C79F EA          NOP                     ;& I; B# N5 ~9 {2 a' O5 m1 M& ]; ?
$ 85/C7A0 6B          RTL                     ;
1 Q- H0 ?9 U2 t
8 Y) }0 G/ Z4 y[ 本帖最后由 疾风之狼 于 2009-3-31 20:37 编辑 ]

签到天数: 2 天

[LV.1]初来乍到

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

本版积分规则

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

GMT+8, 2024-11-15 08:59 , Processed in 1.077148 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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