注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

疾风之狼博客

 
 
 

日志

 
 

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

2007-04-14 14:02:12|  分类: SFC资料 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

火炎纹章776修改笔记
2006.1.25
作者:zHAOsILi[EGCG](.zZ~~) 转载请注明


修改工具:Geiger’s Snes9x Debugger Mark 9

战后升级
$83/EFDC 90 05       BCC $05->EA NOP
                              EA NOP

战后能力+1
$83/DFFF 20 B0 E2    JSR $E2B0  [$83:E2B0]->A9 01 00 LDA #$0001
有BUG,敌人杂兵能力好像也用这段程序算,最后LV20的敌人杂兵能力基本全20-__-b

武器熟练直接到A
$83/E4E9 90 03       BCC $03 ->EA NOP
                               EA NOP
存放所全物品锁定
存放所里的物品地址在$7E:4FD0,在整理道具菜单里选存放所时,这些数据会被传到
$7E:6FCB,根据整理物品操作,在退出存放所时,把做的改动存回$7E:4FD0,所以只
要把读取和写入$7E:4FD0的操作用自己的程序代替,就虚拟出一个全物品的存放所,
而且由于$7E:6FCB数组的空间大小不像$7E:4FD0只能存128件物品,足以存放超过128
件物品,故可以突破存放所128件物品的限制,改出全物品。
$85/C785 A2 FE 00    LDX #$00FE              ;X=(128-1)*2
$85/C788 BD D0 4F    LDA $4FD0,x[$7E:4FD0]  
$85/C78B 9D CB 6F    STA $6FCB,x[$7E:6FCB]   ;从$4FD0存到$6FCB
$85/C78E CA          DEX                    
$85/C78F CA          DEX                    
$85/C790 10 F6       BPL $F6    [$C788]      ;循环128次
$85/C792 6B          RTL                     ;返回时X=$FFFE
$85/C793 A2 FE 00    LDX #$00FE             
$85/C796 BD CB 6F    LDA $6FCB,x[$7E:6FCB]  
$85/C799 9D D0 4F    STA $4FD0,x[$7E:4FD0]   ;从$6FCB存到$4FD0
$85/C79C CA          DEX                    
$85/C79D CA          DEX                    
$85/C79E 10 F6       BPL $F6    [$C796]     
$85/C7A0 6B          RTL                    
实现全物品的代码如下:
Start@ $85/C785
LDX #$014C A2 4C 01;X=($A7-1)*2
LDA #$3CA7 A9 A7 3C;从物品$A7开始,数量为$3C个,如果用$FF则是默认数量
@2 STA $6FCB,x 9D CB 6F
DEC A  3A
DEX  CA
DEX  CA
BRA @1  80 04;空间不够,利用从$6FCB存到$4FD0那段程序的空间
LDX #$FFFE A2 FE FF;-|
RTL  6B;-------|这两句补偿$6FCB存到$4FD0那段程序
@1 BPL @2 10 F2;循环$A7次
RTL  6B
最后改完后反汇编出来的结果:
$85/C785 A2 4C 01    LDX #$014C             
$85/C788 A9 A7 3C    LDA #$3CA7             
$85/C78B 9D CB 6F    STA $6FCB,x[$7E:6FC9]  
$85/C78E 3A          DEC A                  
$85/C78F CA          DEX                    
$85/C790 CA          DEX                    
$85/C791 80 04       BRA $04    [$C797]      ;利用后面的空间
$85/C793 A2 FE FF    LDX #$FFFE              ;
$85/C796 6B          RTL                     ;注意一下,看看原来这里是什么
$85/C797 10 F2       BPL $F2    [$C78B]     
$85/C799 6B          RTL                    
$85/C79A EA          NOP                     ;避免出错,把多余的都NOP了
$85/C79B EA          NOP                     ;
$85/C79C EA          NOP                     ;
$85/C79D EA          NOP                     ;
$85/C79E EA          NOP                     ;
$85/C79F EA          NOP                     ;
$85/C7A0 6B          RTL                     ;

  评论这张
 
阅读(322)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017