EMU618社区

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

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

 关闭 [复制链接]

签到天数: 2131 天

[LV.Master]伴坛终老

发表于 2009-3-9 22:09:11 | 显示全部楼层 |阅读模式
文章来源:http://zsltools.ycool.com/post.1074234.html2 E4 s$ B4 f' ^: \2 N

+ y4 a2 D, r/ H* m( z: @( z火炎纹章776修改笔记3 j* x2 @) u6 a) w% j7 F3 H( g
2006.1.25
" {3 \6 R) Q* u! @3 M作者:zHAOsILi[EGCG](.zZ~~) 转载请注明$ |. m5 v! d  s
# B3 ]. V( H9 o+ x* k0 @# j
( F' v& @5 ?4 ~4 F
修改工具:Geiger’s Snes9x Debugger Mark 9& j; ?) m4 B8 m/ |

# }* n4 x. S9 i' T" g' t  S战后升级
# x$ `/ F8 y6 K7 ~5 x- }$ 83/EFDC 90 05       BCC $ 05->EA NOP/ T7 E7 R+ @2 V( y: W
                              EA NOP# f0 T  O: G* n* @8 k
5 R& ^  }1 |5 G2 K8 {7 m# N. {
战后能力+1
, o6 A+ I, |% Z% u0 z1 W7 s0 h$ 83/DFFF 20 B0 E2    JSR $ E2B0  [$ 83:E2B0]->A9 01 00 LDA #$ 0001: O" v$ n6 r# S9 ^
有BUG,敌人杂兵能力好像也用这段程序算,最后LV20的敌人杂兵能力基本全20-__-b+ X7 h8 S8 j' K3 D' L1 Z

- L- J# c) n& L' R武器熟练直接到A
2 j0 h: u; y7 G1 L  K9 g$ 83/E4E9 90 03       BCC $ 03 ->EA NOP
) X. c8 T( A( l, g4 g) r  H+ L                               EA NOP
2 s- Q4 u) t6 |/ @4 l存放所全物品锁定
- O- d3 X. m  p+ x& s9 c存放所里的物品地址在$ 7E:4FD0,在整理道具菜单里选存放所时,这些数据会被传到$ 7E:6FCB,根据整理物品操作,在退出存放所时,把做的改动存回$ 7E:4FD0,所以只
- v# U, Z9 H6 P8 l+ t/ @要把读取和写入$ 7E:4FD0的操作用自己的程序代替,就虚拟出一个全物品的存放所,7 o' c" _8 \; j7 g4 C6 P9 Z
而且由于$ 7E:6FCB数组的空间大小不像$ 7E:4FD0只能存128件物品,足以存放超过128" t8 I# ]4 Z  D; r1 j/ s% e  r
件物品,故可以突破存放所128件物品的限制,改出全物品。7 z3 f$ u& U) w
$ 85/C785 A2 FE 00    LDX #$ 00FE              ;X=(128-1)*2
. o8 y( e  |, i$ 85/C788 BD D0 4F    LDA $ 4FD0,x[$ 7E:4FD0]   
4 a8 C8 _/ R& m" z$ 85/C78B 9D CB 6F    STA $ 6FCB,x[$ 7E:6FCB]   ;从$ 4FD0存到$ 6FCB
% I) Y& x4 r$ o$ 85/C78E CA          DEX                     & S8 x" T: j7 e: S
$ 85/C78F CA          DEX                     
. d& W3 H0 |2 W8 O  s; B/ L$ 85/C790 10 F6       BPL $ F6    [$ C788]      ;循环128次
$ X3 P0 ?- O# B% @8 m$ j$ 85/C792 6B          RTL                     ;返回时X=$ FFFE
1 ]- J: k: l- l1 C$ 85/C793 A2 FE 00    LDX #$ 00FE              1 Z  q8 Q: V% @  |2 Q$ m; S
$ 85/C796 BD CB 6F    LDA $ 6FCB,x[$ 7E:6FCB]   / S. U* \. g2 n( r# q5 v
$ 85/C799 9D D0 4F    STA $ 4FD0,x[$ 7E:4FD0]   ;从$ 6FCB存到$ 4FD0& l! v4 Y' C, Y. K: z% o
$ 85/C79C CA          DEX                     
$ M" I# Z/ F. [3 ]  @$ 85/C79D CA          DEX                     
) g. x6 z" i8 G& e. S  J$ 85/C79E 10 F6       BPL $ F6    [$ C796]      
4 n: U; I5 U/ l" @$ I; A) T% F$ 85/C7A0 6B          RTL                     % a2 z4 O3 d! Q4 c1 d
实现全物品的代码如下:! _2 V& H8 g0 v0 V4 |/ s
Start@ $ 85/C785
* w" h8 ]/ c4 ~LDX #$ 014C A2 4C 01;X=($ A7-1)*2% y7 i  ^9 c, O( T
LDA #$ 3CA7 A9 A7 3C;从物品$ A7开始,数量为$ 3C个,如果用$ FF则是默认数量# E% k* F4 }* `2 s" V" e! ]
@2 STA $ 6FCB,x 9D CB 6F
. O, z( z. S) o6 |DEC A  3A' W) r6 G- u8 u. S( {7 I2 s
DEX  CA
- o7 n- c# L. S, b7 `; M" u6 KDEX  CA" n. S) O# a2 h  e+ Q; R7 @
BRA @1  80 04;空间不够,利用从$ 6FCB存到$ 4FD0那段程序的空间; q2 u! Q' ?# H5 G+ V4 Y* K; ]
LDX #$ FFFE A2 FE FF;-|
" ]5 {$ P" \( u0 XRTL  6B;-------|这两句补偿$ 6FCB存到$ 4FD0那段程序
; f; h  s' v1 N& y& ]4 P& p@1 BPL @2 10 F2;循环$ A7次
( e9 B. y, |: x5 O1 [  sRTL  6B
8 Z4 W0 X& {' P3 @$ n最后改完后反汇编出来的结果:7 Z( t" L9 ~/ X! a! U( Y8 A
$ 85/C785 A2 4C 01    LDX #$ 014C              
2 z  R; T& O% J. u" J9 _$ 85/C788 A9 A7 3C    LDA #$ 3CA7              2 c! ]) b* t' e
$ 85/C78B 9D CB 6F    STA $ 6FCB,x[$ 7E:6FC9]   
* U: k/ P* S  H  {+ Q6 K* ?! m& |% N7 Y6 p$ 85/C78E 3A          DEC A                   ) k. @0 V' W- e! R7 P5 Y
$ 85/C78F CA          DEX                     
! d8 R0 G4 l' k  }1 _- w$ 85/C790 CA          DEX                     
3 U) |" X7 F; g$ 85/C791 80 04       BRA $ 04    [$ C797]      ;利用后面的空间
4 ^4 J% Y8 B; Z8 G! E' @( N& y$ 85/C793 A2 FE FF    LDX #$ FFFE              ;
1 H- H; X# L% ?! [# [' M8 C8 s# C$ 85/C796 6B          RTL                     ;注意一下,看看原来这里是什么
! _# m0 o* Q& B  N9 L' N8 e$ s$ 85/C797 10 F2       BPL $ F2    [$ C78B]      
& u* C( N7 ~2 A. I  v7 B$ 85/C799 6B          RTL                     
5 e' V7 h9 A- y; j$ 85/C79A EA          NOP                     ;避免出错,把多余的都NOP了
: z# e! L, k4 m( I$ 85/C79B EA          NOP                     ;
; F! v% O% ^) N0 l$ 85/C79C EA          NOP                     ;3 K) C3 r7 O5 h" I/ \4 o
$ 85/C79D EA          NOP                     ;
7 a9 A& {6 ]1 {$ 85/C79E EA          NOP                     ;+ b3 \6 U6 ^5 T9 l
$ 85/C79F EA          NOP                     ;
" W' r/ h# y' n+ L5 k$ 85/C7A0 6B          RTL                     ;
+ W" t! m7 o$ n  y/ l9 u+ W
- W" M/ ?! G2 Y( ]' u, x[ 本帖最后由 疾风之狼 于 2009-3-31 20:37 编辑 ]

签到天数: 2 天

[LV.1]初来乍到

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

本版积分规则

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

GMT+8, 2025-11-14 16:33 , Processed in 1.058594 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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