[FC][全屏击杀修改教程]
来源:互联网 发布:快压软件官方下载 编辑:程序博客网 时间:2024/06/05 23:48
[FC][全屏击杀修改教程]
时间:2016.11.2 22:22
作者:FlameCyclone
工具:FCEUX_2.2.3,ROM一枚.
原理:攻击时系统计算敌人坐标与子弹坐标之差,横坐标满足击中条件时再判断纵坐标是否满足,均满足则击杀.
步骤:
打开魂斗罗日版:
先弄个金身无敌:
找到这个敌人的横坐标,这里是034D,把它锁定起来,嗯,好,这个小兵在原地只能任人宰割了.
跑到这小兵前面,面向他,跳起来先开一枪,找到第一发子弹横坐标,这里是03C8.
打开调试器,加入2个03C8的读断点:
注意,一个有条件,一个没有条件.
把有条件的断点开启,跑到小兵面前:
开一枪打他,此时调试器弹出:
然后关闭带条件的断点,开启无条件的断点:
运行几次后得到如下数据:
07:E29B:BD 88 03 LDA $0388,X @ $0388 = #$01
07:E29E:30 09 BMI $E2A9
07:E2A0:10 19 BPL $E2BB
07:E2A2:BD 18 04 LDA $0418,X @ $0418 = #$00
07:E2A5:C9 02 CMP #$02
07:E2A7:B0 12 BCS $E2BB
07:E2A9:BD B8 03 LDA $03B8,X @ $03B8 = #$5F子弹纵坐标
07:E2AC:E5 08 SBC $0008 = #$52 与$08(此时$08位敌人纵坐标)相减
07:E2AE:C5 0A CMP $000A = #$24 结果与$0A比较
07:E2B0:B0 09 BCS $E2BB 大于就跳过#09字节
>07:E2B2:BD C8 03 LDA $03C8,X @ $03C8 = #$4E子弹横坐标
07:E2B5:E5 09 SBC $0009 = #$4A与$09(此时$09位敌人横坐标)相减
07:E2B7:C5 0B CMP $000B = #$16 结果与$0B比较
07:E2B9:90 06 BCC $E2C1 小于就跳过#06字节
07:E2BB:CA DEX 寄存器X减1
07:E2BC:10 C8 BPL $E286 为正数就跳过#C8字节
07:E2BE:A6 83 LDX $0083 = #$0F 读取$83的数据到寄存器X
07:E2C0:60 RTS -----------------------程序返回
然后一步一步运行:
结果程序跳到了$E2C1,说明子弹坐标与敌人坐标满足击中条件就跳转到$E2C1,否则就跳转到$E2C0程序返回.
接下来修改:
打开十六进制编辑器:
跳转到E2A9:
转到ROM地址:
修改为4C C1 E2:
回到游戏,背向这个可伶的小兵,开一枪:
果然不出所料,这个小兵最终还是被干掉了...悲剧啊...
经过测试,这样修改后全屏幕的敌人都会被攻击,不过有优先级的区分,一发子弹同时只能打一个敌人,面对多个敌人时打死第一个才会轮到第二个...
如果要同时攻击同屏幕全部敌人,把$E28B改为4C C1 E2:
运行效果如下:
全部敌人被干掉了....悲剧啊...
另外保存即可:
修改到此结束,准备睡觉了,好冷的天气啊......
注:如果子弹坐标读断点找不到全屏击杀跳转的话找就以敌人坐标作为读断点来找即可.
转载请注明出处:FlameCyclone.ys168.com
- [FC][全屏击杀修改教程]
- [TXT][FC][按键修改教程]
- [FC][移动速度修改教程]
- [FC][子弹数修改教程]
- FC按键修改教程之一键开关
- FC汉化教程
- fc 开机启动模式修改
- fc
- FC
- FC
- 关闭IPV6加速FC网络速度;修改
- cf全屏修改注册表
- Android 全屏修改
- Phonegap修改全屏/非全屏设置 Html5
- 发布NES/FC修改专用的16进制编辑器
- [FC][SRAM扩容教程(Mapper 4为例)]
- cs 无法全屏修改方法
- Android 4.0 设置全屏修改
- MyBatis传入参数为集合 map中包含 list 数组
- android library增加productFlavors,并在app module 引用某个flavors
- 每天一个linux命令(27):linux chmod命令
- 程序员该有的艺术气质—SOLID原则
- springmvc接收复杂类型的json数据需要注意的地方
- [FC][全屏击杀修改教程]
- CentOS 6.7安装Oracle 11gR2图文教程
- 每天一个linux命令(28):tar命令
- 解决:According to TLD or attribute directive in tag file, attribute value does not accept any express。
- Easyui-DataGrid纵向合并单元格(根据某列合并)
- 日期格式国际化
- [FC][移动速度修改教程]
- Python 中文编码
- 377. Combination Sum IV