EMU618社区

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

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

 关闭 [复制链接]

签到天数: 2017 天

[LV.Master]伴坛终老

发表于 2009-3-9 22:09:11 | 显示全部楼层 |阅读模式
文章来源:http://zsltools.ycool.com/post.1074234.html
2 N+ O$ i* K  D7 P# [) ~$ P) y  _  |% G* U1 }( U* J9 y
火炎纹章776修改笔记
: @7 O! k1 {1 B0 U) \3 W/ g: q2006.1.25
$ X( }) M" m. v0 B6 q2 I作者:zHAOsILi[EGCG](.zZ~~) 转载请注明$ r# W6 G7 [2 X1 {! a8 s, M( W' V1 S- y

  R# S8 m8 S, g3 l& g  P* A' L7 U9 z( N- L! d; s0 ?8 c6 K5 O
修改工具:Geiger’s Snes9x Debugger Mark 90 C$ Z! h: B3 P( E) s5 [
6 \% f0 s; K1 ^) [
战后升级
" K2 Y/ _" t" `$ 83/EFDC 90 05       BCC $ 05->EA NOP
0 t; i$ H. h+ J. q. w                              EA NOP
/ w+ C) g) z" K) G9 D" e8 m
  z' g4 k% ^1 Z" i7 u7 J3 v4 J2 _+ \战后能力+1
% O* V: X. [7 _2 _3 r7 a$ w# b" }( l6 z$ 83/DFFF 20 B0 E2    JSR $ E2B0  [$ 83:E2B0]->A9 01 00 LDA #$ 0001
- g/ U/ u- u( R: \) u有BUG,敌人杂兵能力好像也用这段程序算,最后LV20的敌人杂兵能力基本全20-__-b, T8 n! B, P4 A5 o
8 d) L  b& A8 \
武器熟练直接到A
1 l. Z$ |/ P) ]3 T( v, l$ 83/E4E9 90 03       BCC $ 03 ->EA NOP( y0 k, h/ b- Y5 m- y5 g
                               EA NOP
. _8 `! U: ]$ l5 ^! b: \  }7 R存放所全物品锁定
& ^. c( Q- T% X4 k2 H存放所里的物品地址在$ 7E:4FD0,在整理道具菜单里选存放所时,这些数据会被传到$ 7E:6FCB,根据整理物品操作,在退出存放所时,把做的改动存回$ 7E:4FD0,所以只0 I6 [- x: |% X
要把读取和写入$ 7E:4FD0的操作用自己的程序代替,就虚拟出一个全物品的存放所,
1 c& ~9 S( M2 V" u而且由于$ 7E:6FCB数组的空间大小不像$ 7E:4FD0只能存128件物品,足以存放超过128
9 p8 `  T$ O( Z. o件物品,故可以突破存放所128件物品的限制,改出全物品。, E! @2 w. ?6 K7 C! A: B' C$ q
$ 85/C785 A2 FE 00    LDX #$ 00FE              ;X=(128-1)*2
4 k, A6 M/ d+ m' y. B$ 85/C788 BD D0 4F    LDA $ 4FD0,x[$ 7E:4FD0]   . z) \: @, ]% g4 Z  f4 ^2 |  x, B; \- \0 O
$ 85/C78B 9D CB 6F    STA $ 6FCB,x[$ 7E:6FCB]   ;从$ 4FD0存到$ 6FCB
1 \9 Q% o& X3 Q8 K. q$ 85/C78E CA          DEX                     
3 R' D+ l1 R- v$ 85/C78F CA          DEX                     
3 N1 Q2 g0 o4 J6 Y# c3 Y" T$ 85/C790 10 F6       BPL $ F6    [$ C788]      ;循环128次
' Z  ^/ Y5 S' V3 d% K: u7 c$ 85/C792 6B          RTL                     ;返回时X=$ FFFE- Q+ Z5 i% J3 q4 X% u
$ 85/C793 A2 FE 00    LDX #$ 00FE              
9 a; Z1 }$ D) t. i$ 85/C796 BD CB 6F    LDA $ 6FCB,x[$ 7E:6FCB]   
: U/ q" m3 ^% ?6 ~( q/ t$ 85/C799 9D D0 4F    STA $ 4FD0,x[$ 7E:4FD0]   ;从$ 6FCB存到$ 4FD0+ ?2 o* N3 N! _. y2 d
$ 85/C79C CA          DEX                     
" `  C7 J3 w$ L9 R1 b+ m$ 85/C79D CA          DEX                     
- F/ x- V* n. P8 P8 {4 ~$ 85/C79E 10 F6       BPL $ F6    [$ C796]      
- _# k% W8 I5 q5 I- D  w0 X$ 85/C7A0 6B          RTL                     
+ d2 n7 J" ?0 S/ z1 L/ u1 W实现全物品的代码如下:9 ^6 @# a0 {9 u: W1 P" a4 J" f9 W
Start@ $ 85/C785
! g+ P4 L+ H* o5 }0 r+ W/ c% @LDX #$ 014C A2 4C 01;X=($ A7-1)*2" `4 d% K8 V# ^! V# K
LDA #$ 3CA7 A9 A7 3C;从物品$ A7开始,数量为$ 3C个,如果用$ FF则是默认数量6 p% t1 k. ]: u% ]8 l, F  A" O
@2 STA $ 6FCB,x 9D CB 6F
8 S% t/ Y* h4 D! N$ h( ^2 D4 }/ |DEC A  3A
$ D5 Z+ n8 L: n  F. s9 `2 p" qDEX  CA
; V- ^8 I, @8 v7 a: }5 QDEX  CA
3 j1 q3 G4 Z# Q2 C1 vBRA @1  80 04;空间不够,利用从$ 6FCB存到$ 4FD0那段程序的空间
8 \! S' @  r6 vLDX #$ FFFE A2 FE FF;-|8 ^& `: D: ?* u! a+ h
RTL  6B;-------|这两句补偿$ 6FCB存到$ 4FD0那段程序) ]- L4 n, L& _0 [" q
@1 BPL @2 10 F2;循环$ A7次
4 z0 t+ q6 @  j1 h# U7 i# s& zRTL  6B
; G7 @( R, _/ S; Z( n8 q5 e最后改完后反汇编出来的结果:
! J. f& l, k, H2 z. x$ 85/C785 A2 4C 01    LDX #$ 014C              & r6 ?6 n+ B% ?
$ 85/C788 A9 A7 3C    LDA #$ 3CA7              7 r5 Y$ I- H+ B7 C9 Q5 ?* e
$ 85/C78B 9D CB 6F    STA $ 6FCB,x[$ 7E:6FC9]   
5 {2 w2 h, }) y! }3 V& X$ 85/C78E 3A          DEC A                   ; t' N  v* e' R* u' ?6 ~
$ 85/C78F CA          DEX                     # H6 Y: g9 @( w8 X" \* C  U8 }
$ 85/C790 CA          DEX                     % B4 g9 V( D0 f' l% s* c/ e' x% U! n
$ 85/C791 80 04       BRA $ 04    [$ C797]      ;利用后面的空间
$ L# w9 M8 G, P  B" {4 Y, r$ 85/C793 A2 FE FF    LDX #$ FFFE              ;
% C6 `/ U( F* Y$ 85/C796 6B          RTL                     ;注意一下,看看原来这里是什么
/ n+ ~8 n) ]) h) T3 W# `% w# E5 z$ 85/C797 10 F2       BPL $ F2    [$ C78B]      
8 o- B% l/ h" J$ R! H$ 85/C799 6B          RTL                     
- K& E, P: ], j; S  Z7 H7 M$ 85/C79A EA          NOP                     ;避免出错,把多余的都NOP了! U' V3 ~, o+ c
$ 85/C79B EA          NOP                     ;' h! R1 m5 t0 `' n4 M4 r" _& g9 Q8 i) W, L
$ 85/C79C EA          NOP                     ;- r- n8 z9 I4 K; e) Z/ K
$ 85/C79D EA          NOP                     ;
+ p/ ^$ @* |& U9 M$ 85/C79E EA          NOP                     ;! Y# r" p. E4 m  h+ i
$ 85/C79F EA          NOP                     ;9 x7 h3 ^) O4 ^" n
$ 85/C7A0 6B          RTL                     ;
1 m4 C+ g4 d2 T
1 r6 w$ r' z8 c7 @; A[ 本帖最后由 疾风之狼 于 2009-3-31 20:37 编辑 ]

签到天数: 2 天

[LV.1]初来乍到

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

本版积分规则

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

GMT+8, 2025-7-23 14:39 , Processed in 1.073243 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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