欢迎来到 电玩999 电玩网

您当前的位置:电玩网>电玩资讯>新手教学>火炎纹章776修改笔记

热点资讯

更多

火炎纹章776修改笔记

2015-03-16  |  来源:互联网  |  小编:admin  |   人看过  

修改工具: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                     ;

 

分享吧~提高逼格:
分享代码网站注册去

相关阅读

文章评论


温馨提示:抵制不良游戏 拒绝盗版游戏 注意自我保护 谨防受骗上当 适度游戏益脑 沉边游戏伤身 合理安排时间 享受健康生活

游戏作品版权归原作者享有,如无意之中侵犯了您的版权,请您按照《版权保护投诉指引》来信告知,本网站将应您的要求删除。