设为首页收藏本站

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

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

  [复制链接]

签到天数: 1897 天

[LV.Master]伴坛终老

发表于 2009-3-9 22:09:11 | 显示全部楼层 |阅读模式
文章来源:http://zsltools.ycool.com/post.1074234.html
8 [; [0 K0 O2 Z: N* H
5 {) Q; p; K3 n  X' T( H火炎纹章776修改笔记
+ H) Q* _" m: ?6 N% U; a2006.1.25
7 z; @( ]# h* j( ~" n作者:zHAOsILi[EGCG](.zZ~~) 转载请注明
+ G/ [/ `: s9 m9 a' L' ^& j+ w9 Q2 c5 V+ @
! N0 ?+ t( }, Y/ Y; t
. q6 R2 |9 h; Q: P3 b8 U* A修改工具:Geiger’s Snes9x Debugger Mark 9& j! x' m# J1 L0 p) X

9 T, ^; k; t/ l, t* x6 _战后升级
/ q% V5 Y; y6 B. u; t$ 83/EFDC 90 05       BCC $ 05->EA NOP
) f5 Z1 m3 `8 ^  \* W                              EA NOP
! o0 C3 f5 K" g6 Z8 o) f5 \% g  ]8 T8 \! ]3 e4 H* p
战后能力+1
, N0 ~7 @: [" s% e2 g9 ]0 v! k$ 83/DFFF 20 B0 E2    JSR $ E2B0  [$ 83:E2B0]->A9 01 00 LDA #$ 0001& H; t4 m# f# [8 w
有BUG,敌人杂兵能力好像也用这段程序算,最后LV20的敌人杂兵能力基本全20-__-b7 c8 G: n+ w: H- M7 u/ O

* b- A; V9 d- ~. {& G' m1 j0 l8 r武器熟练直接到A
( ?1 ~0 a( e- b9 o9 K$ 83/E4E9 90 03       BCC $ 03 ->EA NOP
+ F/ F$ I7 T2 J                               EA NOP
# b3 V* K% W; e7 n存放所全物品锁定
$ O+ @2 x, H9 T% A% j( _$ b+ s8 _# A存放所里的物品地址在$ 7E:4FD0,在整理道具菜单里选存放所时,这些数据会被传到$ 7E:6FCB,根据整理物品操作,在退出存放所时,把做的改动存回$ 7E:4FD0,所以只
9 t! F' h* B+ \  d9 v5 A0 |7 s0 R9 l! ~要把读取和写入$ 7E:4FD0的操作用自己的程序代替,就虚拟出一个全物品的存放所,8 w" p4 p( a2 f7 d
而且由于$ 7E:6FCB数组的空间大小不像$ 7E:4FD0只能存128件物品,足以存放超过128( C0 o9 S+ F0 U1 c
件物品,故可以突破存放所128件物品的限制,改出全物品。0 a, F$ \" h6 T: X
$ 85/C785 A2 FE 00    LDX #$ 00FE              ;X=(128-1)*2
+ L, `8 Z, G5 ?( U$ 85/C788 BD D0 4F    LDA $ 4FD0,x[$ 7E:4FD0]   
+ q5 o0 ]+ z4 Z$ 85/C78B 9D CB 6F    STA $ 6FCB,x[$ 7E:6FCB]   ;从$ 4FD0存到$ 6FCB
; x; z+ G/ b$ O1 y" D: s; B$ 85/C78E CA          DEX                     
# R2 _( U! z5 d$ ]* ^" D$ 85/C78F CA          DEX                     
1 e4 J+ v! W3 E, X* O; Q/ @$ 85/C790 10 F6       BPL $ F6    [$ C788]      ;循环128次
1 I% ^/ j1 G4 A$ 85/C792 6B          RTL                     ;返回时X=$ FFFE
% O$ q5 E' [* N8 k* y9 \) h$ 85/C793 A2 FE 00    LDX #$ 00FE              
$ j  a. Z) l3 x5 [$ l$ 85/C796 BD CB 6F    LDA $ 6FCB,x[$ 7E:6FCB]   
2 H- E% i) B) E# I. w, \- V' q$ 85/C799 9D D0 4F    STA $ 4FD0,x[$ 7E:4FD0]   ;从$ 6FCB存到$ 4FD0& `2 V" ]' y& {- O7 U9 G/ |4 k3 b8 L
$ 85/C79C CA          DEX                     - a+ E  O2 \& R- z- i7 g% w
$ 85/C79D CA          DEX                     0 {& F3 @* p# _3 A
$ 85/C79E 10 F6       BPL $ F6    [$ C796]      , v8 b  q0 u/ O/ s. u# s- @
$ 85/C7A0 6B          RTL                     
/ ]2 `7 l; p# t; r. f: l/ d实现全物品的代码如下:# f7 [- T6 P+ h
Start@ $ 85/C785
' L2 s/ B6 v  ], c7 q# p) zLDX #$ 014C A2 4C 01;X=($ A7-1)*2
$ p- B; p2 d' w" N5 A0 fLDA #$ 3CA7 A9 A7 3C;从物品$ A7开始,数量为$ 3C个,如果用$ FF则是默认数量
" N5 W: N/ E! H( A- w@2 STA $ 6FCB,x 9D CB 6F
; D! Q9 ^4 y5 b' Y- F' d5 wDEC A  3A  E/ Q+ x; m1 _& D2 s  F
DEX  CA
! W* r! V! @; vDEX  CA
+ Z' ~7 ~9 f, I0 G2 uBRA @1  80 04;空间不够,利用从$ 6FCB存到$ 4FD0那段程序的空间* Q& x+ T4 J& Q. B
LDX #$ FFFE A2 FE FF;-|
5 I' t$ e. V& I# G5 ^/ J  MRTL  6B;-------|这两句补偿$ 6FCB存到$ 4FD0那段程序
3 ?/ y9 y. m- A% V/ v@1 BPL @2 10 F2;循环$ A7次# M9 f2 z. ~4 ]5 K$ b& L0 s
RTL  6B
: n- ^, U$ X. O. T( [最后改完后反汇编出来的结果:  [5 F) N( M% @4 g9 w
$ 85/C785 A2 4C 01    LDX #$ 014C              $ \) d& _1 [+ I7 f% j8 H/ e7 |9 ^
$ 85/C788 A9 A7 3C    LDA #$ 3CA7              
' i; w0 S& y: x1 l' A$ 85/C78B 9D CB 6F    STA $ 6FCB,x[$ 7E:6FC9]   9 i* P1 A1 @* K# J2 p
$ 85/C78E 3A          DEC A                  
7 @* H4 V' Y$ \  W! z$ 85/C78F CA          DEX                     2 x9 b  J( f+ Z/ x' [8 D+ v
$ 85/C790 CA          DEX                     * y" W5 L( }; n/ @
$ 85/C791 80 04       BRA $ 04    [$ C797]      ;利用后面的空间. l3 M% Q' m5 u" w5 u- ~% v! i1 I
$ 85/C793 A2 FE FF    LDX #$ FFFE              ;
2 u$ l& s( G. ^$ 85/C796 6B          RTL                     ;注意一下,看看原来这里是什么8 e( T0 g, G! C: R. p, Z: h
$ 85/C797 10 F2       BPL $ F2    [$ C78B]      5 \1 ^% S* z  s' W" @
$ 85/C799 6B          RTL                     
" [2 ^6 z$ K- V: {* N; H5 F$ 85/C79A EA          NOP                     ;避免出错,把多余的都NOP了
4 L7 `% C6 s, U5 N7 U$ 85/C79B EA          NOP                     ;2 F0 d5 w- v8 W+ d. |* q+ k
$ 85/C79C EA          NOP                     ;. x$ W; M3 I% o/ P) f
$ 85/C79D EA          NOP                     ;
& [- P+ G; l7 K* j$ z' g$ 85/C79E EA          NOP                     ;7 u( R" g6 O! u  N, F
$ 85/C79F EA          NOP                     ;0 R* V* A4 a; ^2 U! N8 x
$ 85/C7A0 6B          RTL                     ;
% |( D! B( ?. Z( T! }% n* [0 L
' h4 E4 |" T4 W+ ?[ 本帖最后由 疾风之狼 于 2009-3-31 20:37 编辑 ]

签到天数: 2 天

[LV.1]初来乍到

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-3-17 01:05

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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