EMU618社区

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

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

 关闭 [复制链接]

签到天数: 2112 天

[LV.Master]伴坛终老

发表于 2009-3-9 22:09:11 | 显示全部楼层 |阅读模式
文章来源:http://zsltools.ycool.com/post.1074234.html( Z9 g# P& s* M
; G) P* t' r3 B" V- b, H
火炎纹章776修改笔记4 d/ T) N$ N% a1 z; K
2006.1.250 b1 ~% E; {6 [9 u! F* Q- Y
作者:zHAOsILi[EGCG](.zZ~~) 转载请注明
2 v4 b8 N/ v8 o
* n2 S/ I, b) V3 O" j% j( J+ ?" U( b
修改工具:Geiger’s Snes9x Debugger Mark 9
, p1 t( `# n/ O2 I7 O3 R9 F* v+ w+ f' Y$ \% S! O
战后升级
! A3 n) J# _1 b0 L$ 83/EFDC 90 05       BCC $ 05->EA NOP
- K1 m5 E# _" X5 E2 e( k                              EA NOP
" X9 U  P  v4 T+ j, \+ h. D, t9 _7 O
战后能力+1& g0 Y3 k/ v: o3 t/ E
$ 83/DFFF 20 B0 E2    JSR $ E2B0  [$ 83:E2B0]->A9 01 00 LDA #$ 0001! O% U) R; m# B1 b
有BUG,敌人杂兵能力好像也用这段程序算,最后LV20的敌人杂兵能力基本全20-__-b/ T/ J4 V% m' p3 ^  E; C- P! D- L" }

7 a8 F) _% q$ V. m% A, o武器熟练直接到A
+ ?3 m) c' h* T. A$ 83/E4E9 90 03       BCC $ 03 ->EA NOP" T9 N/ K: s8 Y1 H; k+ j" M
                               EA NOP
( L' r# G- }( `! C7 C" }存放所全物品锁定
+ `8 A; U6 z5 G存放所里的物品地址在$ 7E:4FD0,在整理道具菜单里选存放所时,这些数据会被传到$ 7E:6FCB,根据整理物品操作,在退出存放所时,把做的改动存回$ 7E:4FD0,所以只
+ O& o) G9 h- o# z- y要把读取和写入$ 7E:4FD0的操作用自己的程序代替,就虚拟出一个全物品的存放所,* t" S8 C- l4 s4 |/ y% h" R
而且由于$ 7E:6FCB数组的空间大小不像$ 7E:4FD0只能存128件物品,足以存放超过128
3 w9 z$ d% L1 z$ \8 {件物品,故可以突破存放所128件物品的限制,改出全物品。# v- a" z, P' g3 N: k# h! d- o
$ 85/C785 A2 FE 00    LDX #$ 00FE              ;X=(128-1)*2
+ ?3 I( F# V2 |5 R2 }' ?& T$ 85/C788 BD D0 4F    LDA $ 4FD0,x[$ 7E:4FD0]   3 B7 e7 N0 P) K% `  f# |, L
$ 85/C78B 9D CB 6F    STA $ 6FCB,x[$ 7E:6FCB]   ;从$ 4FD0存到$ 6FCB
5 N3 i0 V+ o$ D. F$ 85/C78E CA          DEX                     
: o- h" `; E% G$ 85/C78F CA          DEX                     
2 }' q0 v- B9 V* D* B) `$ 85/C790 10 F6       BPL $ F6    [$ C788]      ;循环128次
. N- t( d2 s  R7 Z$ 85/C792 6B          RTL                     ;返回时X=$ FFFE- F# p2 Y0 i  \/ R- d+ H
$ 85/C793 A2 FE 00    LDX #$ 00FE              " B  i0 Y# d! ?
$ 85/C796 BD CB 6F    LDA $ 6FCB,x[$ 7E:6FCB]   , Q3 ^' u3 ?! Y  s1 ?7 M
$ 85/C799 9D D0 4F    STA $ 4FD0,x[$ 7E:4FD0]   ;从$ 6FCB存到$ 4FD0
+ W) p6 D9 T, N2 j' b$ 85/C79C CA          DEX                     # C$ Z  W1 e: S; n7 f8 u
$ 85/C79D CA          DEX                     
/ O7 j* G6 h: B$ 85/C79E 10 F6       BPL $ F6    [$ C796]      9 \' J  M" F& N* l; A+ L) l. e8 o  Q
$ 85/C7A0 6B          RTL                     " v3 C2 n/ H" W3 ?$ o
实现全物品的代码如下:1 C: a$ p& U: O. a& @! x! H
Start@ $ 85/C785' n/ E* d8 Y' f7 s6 w2 d& |
LDX #$ 014C A2 4C 01;X=($ A7-1)*2
& |% Q9 O; p2 BLDA #$ 3CA7 A9 A7 3C;从物品$ A7开始,数量为$ 3C个,如果用$ FF则是默认数量( e7 @! D3 E. z: E+ h
@2 STA $ 6FCB,x 9D CB 6F7 g- ^2 G! V2 ?, p" R
DEC A  3A' r, _; T8 M) R* {/ `/ C6 K2 ]1 s" |
DEX  CA3 @9 \( ~# {* I
DEX  CA
4 ]+ Q: f* s" {! `7 |BRA @1  80 04;空间不够,利用从$ 6FCB存到$ 4FD0那段程序的空间3 b( w" h6 U3 \. u( {$ ~
LDX #$ FFFE A2 FE FF;-|  t$ U3 n: T& P  |0 P* m, r
RTL  6B;-------|这两句补偿$ 6FCB存到$ 4FD0那段程序
" {( D2 ]" j3 K, H1 {  d0 U) T@1 BPL @2 10 F2;循环$ A7次+ W) v6 c  s+ o7 e
RTL  6B% }" _" N- f; ~1 x: x9 G6 ]+ M
最后改完后反汇编出来的结果:. U+ W4 K5 h# ~% _+ ^
$ 85/C785 A2 4C 01    LDX #$ 014C              / u+ D1 B. P; |/ }
$ 85/C788 A9 A7 3C    LDA #$ 3CA7              9 r% P2 b' F' y  ^/ k
$ 85/C78B 9D CB 6F    STA $ 6FCB,x[$ 7E:6FC9]   
, x2 ^7 P9 U' B2 I; R0 w$ 85/C78E 3A          DEC A                  
0 j% r  J2 F. ?- c$ 85/C78F CA          DEX                     ' d8 e9 n2 a4 s6 S3 {9 u5 U
$ 85/C790 CA          DEX                     8 e9 q4 f+ e0 W0 F6 G
$ 85/C791 80 04       BRA $ 04    [$ C797]      ;利用后面的空间" h8 r4 p# k9 X' a9 R
$ 85/C793 A2 FE FF    LDX #$ FFFE              ;
" I! V& t- d' K( U$ 85/C796 6B          RTL                     ;注意一下,看看原来这里是什么
8 b9 w8 B8 N" C% v# Y0 o) l$ 85/C797 10 F2       BPL $ F2    [$ C78B]      6 m# Q) I( `7 s% q2 w
$ 85/C799 6B          RTL                     ( }; a1 M4 v! z$ `$ S  Z
$ 85/C79A EA          NOP                     ;避免出错,把多余的都NOP了
% d% f6 O& F  F$ 85/C79B EA          NOP                     ;+ y+ ]( s; a* U4 n
$ 85/C79C EA          NOP                     ;$ q7 p* E/ f4 I. k. e' W
$ 85/C79D EA          NOP                     ;$ F: s1 h1 p6 }6 |
$ 85/C79E EA          NOP                     ;
% U0 V$ _; a5 {, B2 y$ 85/C79F EA          NOP                     ;7 V: o) w. k" l2 t8 l, T
$ 85/C7A0 6B          RTL                     ;
" O$ B' O$ `9 W- A7 g; j' J( ~/ u5 M& a
[ 本帖最后由 疾风之狼 于 2009-3-31 20:37 编辑 ]

签到天数: 2 天

[LV.1]初来乍到

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

本版积分规则

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

GMT+8, 2025-10-26 17:52 , Processed in 1.057617 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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