EMU618社区

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

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

 关闭 [复制链接]

签到天数: 2153 天

[LV.Master]伴坛终老

发表于 2009-3-9 22:09:11 | 显示全部楼层 |阅读模式
文章来源:http://zsltools.ycool.com/post.1074234.html
$ ^  N/ \, _* f8 M" W9 T  a: j, e
火炎纹章776修改笔记6 i& l! |! s+ B1 ?0 J0 `
2006.1.255 S5 P6 y2 ?; O% V
作者:zHAOsILi[EGCG](.zZ~~) 转载请注明
& A) V: A4 ?1 V: D) u$ E% P* q1 M$ D8 o, Q0 s; I- `8 R

: k' G+ ?/ o- M1 A$ @2 t修改工具:Geiger’s Snes9x Debugger Mark 92 M' L- l+ @- ~, N9 `7 r4 y
( z4 D# v+ r: h! T; [
战后升级
3 e# i% y5 l+ c2 v8 m+ }0 Q. B/ j$ 83/EFDC 90 05       BCC $ 05->EA NOP6 [! E3 _- a. F# v$ C" V. Y
                              EA NOP2 G- N3 M3 [$ `2 k; }
+ K7 a& d& [' ~# V. t
战后能力+1
+ u& c8 C6 d  [% L$ B; E$ 83/DFFF 20 B0 E2    JSR $ E2B0  [$ 83:E2B0]->A9 01 00 LDA #$ 0001  c5 u9 b: a. W
有BUG,敌人杂兵能力好像也用这段程序算,最后LV20的敌人杂兵能力基本全20-__-b' [* ?- n* _5 m, \% Q" Z9 n
# p; N6 A6 ]- b+ K) n
武器熟练直接到A
9 n' u1 Q* s! v4 M$ 83/E4E9 90 03       BCC $ 03 ->EA NOP! {2 L8 V) n$ \  [. p5 |  u
                               EA NOP. D! ^  I) u( y* k3 ~# [
存放所全物品锁定" n! K& U# ?; O+ h3 j4 O7 K
存放所里的物品地址在$ 7E:4FD0,在整理道具菜单里选存放所时,这些数据会被传到$ 7E:6FCB,根据整理物品操作,在退出存放所时,把做的改动存回$ 7E:4FD0,所以只! r% \4 n) v7 W- j
要把读取和写入$ 7E:4FD0的操作用自己的程序代替,就虚拟出一个全物品的存放所,
* B& W% D- d# d+ F! {& A6 X而且由于$ 7E:6FCB数组的空间大小不像$ 7E:4FD0只能存128件物品,足以存放超过128+ J1 n  k, i8 S2 |
件物品,故可以突破存放所128件物品的限制,改出全物品。
* D# s6 i& B0 _2 H+ M$ 85/C785 A2 FE 00    LDX #$ 00FE              ;X=(128-1)*29 C% A# H* e/ w8 ^- \; ^* K' S. F+ N0 ^
$ 85/C788 BD D0 4F    LDA $ 4FD0,x[$ 7E:4FD0]   3 Z6 }4 }* e+ D
$ 85/C78B 9D CB 6F    STA $ 6FCB,x[$ 7E:6FCB]   ;从$ 4FD0存到$ 6FCB/ D8 y! r- T( q1 `$ ]$ D
$ 85/C78E CA          DEX                     ' Y: ^3 J" k# V* h4 d9 l
$ 85/C78F CA          DEX                     : x: [* V9 X+ I! y5 r
$ 85/C790 10 F6       BPL $ F6    [$ C788]      ;循环128次
. @5 t& x  h  p; Y$ 85/C792 6B          RTL                     ;返回时X=$ FFFE
) v% o5 F( [# S, c( ]: s% J4 a$ 85/C793 A2 FE 00    LDX #$ 00FE              ) w7 A% t; M7 b% d
$ 85/C796 BD CB 6F    LDA $ 6FCB,x[$ 7E:6FCB]   1 a8 K; l" h0 U% s1 b
$ 85/C799 9D D0 4F    STA $ 4FD0,x[$ 7E:4FD0]   ;从$ 6FCB存到$ 4FD0
8 M2 Z$ e. M+ Z' g$ 85/C79C CA          DEX                     
5 p) ?% R% l3 P6 k& i; j$ 85/C79D CA          DEX                     
( G$ j6 J4 I% E& _$ 85/C79E 10 F6       BPL $ F6    [$ C796]      
6 E* f! u# R5 f0 w6 s' M- b" M0 _$ 85/C7A0 6B          RTL                     : [8 W2 H# y+ x
实现全物品的代码如下:* b" W/ X$ _+ _! j# M$ {* s
Start@ $ 85/C7857 }# g- l3 r% p0 n6 F- d
LDX #$ 014C A2 4C 01;X=($ A7-1)*2. a7 F+ C. s& b8 }% B( v7 e
LDA #$ 3CA7 A9 A7 3C;从物品$ A7开始,数量为$ 3C个,如果用$ FF则是默认数量
0 T) c% P: D: a$ x@2 STA $ 6FCB,x 9D CB 6F
) \! q  g1 W; W' aDEC A  3A
) R: I! x/ K4 H- n. S  Z" jDEX  CA4 u: W' Y9 I6 j) z1 e
DEX  CA
" g' Q1 L, O: |/ \' hBRA @1  80 04;空间不够,利用从$ 6FCB存到$ 4FD0那段程序的空间+ m1 |% q% ^$ d& S  ?5 z
LDX #$ FFFE A2 FE FF;-|
7 d% @, x6 L# e5 `; i1 ]5 gRTL  6B;-------|这两句补偿$ 6FCB存到$ 4FD0那段程序+ ~& c! H$ W  b' f
@1 BPL @2 10 F2;循环$ A7次% \; T8 N5 L) i# z2 @0 t. o. r
RTL  6B) n$ W5 q( L- h( H
最后改完后反汇编出来的结果:! M* ?) M- e6 ^' e( N
$ 85/C785 A2 4C 01    LDX #$ 014C              
4 d$ Z" |9 w: G& {" o  f$ 85/C788 A9 A7 3C    LDA #$ 3CA7              
9 W/ `$ T7 u3 D# G$ 85/C78B 9D CB 6F    STA $ 6FCB,x[$ 7E:6FC9]   ! r6 t/ Y# E" Z) |
$ 85/C78E 3A          DEC A                   $ a5 e- r3 b" a" u8 |7 Y
$ 85/C78F CA          DEX                     * J3 J" e% J$ `# [" f+ x
$ 85/C790 CA          DEX                     4 I) ^1 e7 Q' b$ f  H+ i
$ 85/C791 80 04       BRA $ 04    [$ C797]      ;利用后面的空间) v( |9 @. j" c0 c
$ 85/C793 A2 FE FF    LDX #$ FFFE              ;, c. y5 Q5 E: D3 |: }+ l% J" [
$ 85/C796 6B          RTL                     ;注意一下,看看原来这里是什么
3 w) z  L4 G. j3 V$ 85/C797 10 F2       BPL $ F2    [$ C78B]      
  `- ]+ _, n# E* @; s$ 85/C799 6B          RTL                     
4 o7 ^2 ^3 }1 R, n: @* J$ 85/C79A EA          NOP                     ;避免出错,把多余的都NOP了
" d' I( U) M3 y9 E7 U$ u  H7 A, q+ C$ 85/C79B EA          NOP                     ;
# R- g' P- \" X' u4 h9 G! F$ 85/C79C EA          NOP                     ;
( U0 f' V% I" y! K) m: E6 Q4 L$ 85/C79D EA          NOP                     ;
7 T3 z$ d- k2 c9 l- F$ 85/C79E EA          NOP                     ;
" n: y2 p" U' f$ e$ 85/C79F EA          NOP                     ;3 ], F% w: x/ L1 R' r
$ 85/C7A0 6B          RTL                     ;/ b7 H: |' B  j, A' j6 O& z
2 n7 L% p8 {- V: @
[ 本帖最后由 疾风之狼 于 2009-3-31 20:37 编辑 ]

签到天数: 2 天

[LV.1]初来乍到

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

本版积分规则

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

GMT+8, 2025-12-7 17:21 , Processed in 1.075195 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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