设为首页收藏本站

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

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

  [复制链接]

签到天数: 2012 天

[LV.Master]伴坛终老

发表于 2009-3-9 22:09:11 | 显示全部楼层 |阅读模式
文章来源:http://zsltools.ycool.com/post.1074234.html
% j( n0 i9 X8 W
7 p  b9 G! G3 `% q6 w  |火炎纹章776修改笔记
; I/ s0 z6 x5 ^" L+ G4 H, F8 `2006.1.25
; d5 t0 X, X1 Z$ E+ G( ^8 c作者:zHAOsILi[EGCG](.zZ~~) 转载请注明! \9 z) J" A& [
+ D. _+ R$ R/ b! o8 Z- w# a
" Z, P9 M3 f0 a/ j& u9 |
修改工具:Geiger’s Snes9x Debugger Mark 93 N2 x+ z4 D, [$ F
$ x- Z0 V9 N( I) k2 s
战后升级8 }9 g& b" l5 U+ I3 A. F
$ 83/EFDC 90 05       BCC $ 05->EA NOP
3 f" }2 G8 \! s# I                              EA NOP
( W( l5 t* w, d7 e2 a0 r+ W& w' u0 P
战后能力+13 |3 X9 u5 }5 S- N! a- d
$ 83/DFFF 20 B0 E2    JSR $ E2B0  [$ 83:E2B0]->A9 01 00 LDA #$ 0001% {% u7 Y0 l. I% O
有BUG,敌人杂兵能力好像也用这段程序算,最后LV20的敌人杂兵能力基本全20-__-b1 I0 b3 _& s: D' x
3 L8 {  f  h# z( J9 C: r* h6 N8 B
武器熟练直接到A# [& Y7 F: U3 O8 w/ {
$ 83/E4E9 90 03       BCC $ 03 ->EA NOP
1 w* Q+ s" h" P# C8 d, s( t8 \' s                               EA NOP
$ y6 k8 D3 ^! z7 i% Y, N- N3 g存放所全物品锁定" R. |$ b3 q0 `6 k4 f
存放所里的物品地址在$ 7E:4FD0,在整理道具菜单里选存放所时,这些数据会被传到$ 7E:6FCB,根据整理物品操作,在退出存放所时,把做的改动存回$ 7E:4FD0,所以只
; b- \0 K7 I3 l/ B0 B, a$ V要把读取和写入$ 7E:4FD0的操作用自己的程序代替,就虚拟出一个全物品的存放所,9 I/ t2 A9 E4 j
而且由于$ 7E:6FCB数组的空间大小不像$ 7E:4FD0只能存128件物品,足以存放超过128
# O' H  }! A/ `8 q% c, \) x; ^件物品,故可以突破存放所128件物品的限制,改出全物品。
" M4 a1 V% F2 O+ n( }% G: Q$ 85/C785 A2 FE 00    LDX #$ 00FE              ;X=(128-1)*2# Y2 k  U, \5 H
$ 85/C788 BD D0 4F    LDA $ 4FD0,x[$ 7E:4FD0]   
; T; J3 x6 e# _. K) p$ 85/C78B 9D CB 6F    STA $ 6FCB,x[$ 7E:6FCB]   ;从$ 4FD0存到$ 6FCB. E6 `" n' J( Y3 M
$ 85/C78E CA          DEX                     + k3 h" x9 g- C6 f/ f: Q1 K
$ 85/C78F CA          DEX                     5 Q( b- |! c, e. E
$ 85/C790 10 F6       BPL $ F6    [$ C788]      ;循环128次; t( H! F8 e: r' z
$ 85/C792 6B          RTL                     ;返回时X=$ FFFE
9 R1 J9 U" n$ U: K/ I+ t1 _8 G: ~$ 85/C793 A2 FE 00    LDX #$ 00FE              9 P8 X+ B; @; Q" @/ \! t
$ 85/C796 BD CB 6F    LDA $ 6FCB,x[$ 7E:6FCB]   ' r6 a' G( A1 T/ z( ?+ s
$ 85/C799 9D D0 4F    STA $ 4FD0,x[$ 7E:4FD0]   ;从$ 6FCB存到$ 4FD0
( u5 Q9 r" ^* V" \" v$ 85/C79C CA          DEX                     
( J1 i) x5 n7 Y: }6 i& ~+ ~$ 85/C79D CA          DEX                     
- c' |# W8 L7 m# e$ 85/C79E 10 F6       BPL $ F6    [$ C796]      
5 g9 l' E+ [: }; L1 K$ 85/C7A0 6B          RTL                     
4 c+ y* A9 I/ L% f2 ?' ^/ Q, r实现全物品的代码如下:
- h7 E7 Q2 G1 H$ Y. Q% L7 \Start@ $ 85/C785
% |" O2 Z* C. Y5 m1 x; G$ [LDX #$ 014C A2 4C 01;X=($ A7-1)*2+ f: G( d- l: @3 _) N5 d
LDA #$ 3CA7 A9 A7 3C;从物品$ A7开始,数量为$ 3C个,如果用$ FF则是默认数量
8 |1 x% W# K. E# n$ S0 i, t@2 STA $ 6FCB,x 9D CB 6F/ x* D- A6 W/ p) Z1 M& b$ Y
DEC A  3A
& \8 l8 I" `9 Y1 D0 a' SDEX  CA& m$ V5 g" b% Z9 s+ l7 L' n
DEX  CA* [2 W  f' t. d  w$ ?5 ~# F
BRA @1  80 04;空间不够,利用从$ 6FCB存到$ 4FD0那段程序的空间' P% y( U7 h( _: e  M* q" }
LDX #$ FFFE A2 FE FF;-|% ^2 ]7 `( \# e( p/ y
RTL  6B;-------|这两句补偿$ 6FCB存到$ 4FD0那段程序( B- S$ @! u4 M9 P( A# x1 X
@1 BPL @2 10 F2;循环$ A7次' o% }! z! ?4 g8 E, X1 ?6 U
RTL  6B
& [9 z$ O% l  q' F, \1 w) n最后改完后反汇编出来的结果:
$ n* [- v4 d- L4 B; Q$ 85/C785 A2 4C 01    LDX #$ 014C              
% [, p$ p! U" [+ x$ 85/C788 A9 A7 3C    LDA #$ 3CA7              
/ H3 x3 h) s! a! }" T( m$ 85/C78B 9D CB 6F    STA $ 6FCB,x[$ 7E:6FC9]   2 w8 z  i  f" w3 j8 J3 C
$ 85/C78E 3A          DEC A                   # F' K1 R, y- {3 c7 C
$ 85/C78F CA          DEX                     
! R" v! k" O6 s; G2 U$ 85/C790 CA          DEX                     % m! c. {. m2 c. W8 d1 G
$ 85/C791 80 04       BRA $ 04    [$ C797]      ;利用后面的空间
. k. h" W& t* Q$ 85/C793 A2 FE FF    LDX #$ FFFE              ;1 i, U8 F9 A. ~
$ 85/C796 6B          RTL                     ;注意一下,看看原来这里是什么
/ r% w4 s7 M( p" {5 f7 g$ 85/C797 10 F2       BPL $ F2    [$ C78B]      9 |  Y8 t5 r3 m9 q5 H; K5 H
$ 85/C799 6B          RTL                     3 j5 }& ^9 j$ j% y
$ 85/C79A EA          NOP                     ;避免出错,把多余的都NOP了
* V: j4 Q. s8 |8 j& k. q  T0 X2 s$ 85/C79B EA          NOP                     ;
$ N. _# b) F" [: M4 f$ 85/C79C EA          NOP                     ;4 F# Z) f9 g8 C5 U/ n8 W
$ 85/C79D EA          NOP                     ;! a  w6 F: R: H% }" e+ n
$ 85/C79E EA          NOP                     ;
0 `; d7 |* [8 N$ 85/C79F EA          NOP                     ;/ ?( X' \% N/ e% a& ~
$ 85/C7A0 6B          RTL                     ;! y* b* ]& ~7 Y- k0 Y- q
( r! h% }/ |5 g. m
[ 本帖最后由 疾风之狼 于 2009-3-31 20:37 编辑 ]

签到天数: 2 天

[LV.1]初来乍到

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-7-15 23:50

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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