2024年6月5日发(作者:)

游戏有很多种修改,这次我们来说说如何做到在游戏中按某键得到某效果的修改方

法,虽然是以FC为题材,不过只要知道了这种方法,再去了解下其他机种的汇编语,那

样就可以把那种效果搬到其他的机种了。

注意:这篇教程不是基础教程,一些修改游戏最基本的这里不会赘述,没有任何修改

基础的人很难看明白,新人最好去翻翻修改游戏的基础教程,网上很多。

好,接下来进入正题:

1.首先要知道FC游戏所用的汇编语——6502汇编(网上可以轻松搜索到),因为

以下修改需要用到一些6502的简单指令。

2.需要的工具有 DEBUG版 模拟器 CHEAT(用来找EC

码)4.16进制编辑器(推荐ultra edit 和 winhex)

3.用模拟器运行FC游戏,用EMU CHEAT找按键内存地址和你想要的效果地址,比

如你要按某键使生命为99,那除了找到按键内存还要找到生命内存地址。

4.找到需要找的地址后就用VNES DEBUG版的模拟器运行游戏,设置断点,等游戏

自动暂停后使用跳转指令跳到游戏的空白内存,然后添加指令来达到想要的效果。

5.在游戏的内存里写完指令所对应的机器码后就进行调试,看你想要的效果有没有,

如果有了就用16进制编辑器打开ROM,把内存里写的机器码写到ROM里,保存之后

就完成了,接下来详细解说。

找到按键内存地址——运行游戏后不按键搜00 随便按一个键(按住)后搜大于,然后

松开搜00,再按住其他的键再搜大于,如此反复 就能搜到很少的地址,自己判断哪个或

者试验。

好,我们以FC的双截龙2为例子,搜到的按键内存为00E2 并且每个按键值分别

为:上[08] 下[04] 左[02] 右[01] B[40] A[80] SELECT[20] START[10],并且搜到体力

内存为041E 满值为7F。

接下来用VNES DEBUG版运行游戏,先打开RAM(用来看内存的),然后打开

DEBUG窗口,把刚才找到的按键内存地址设置为断点,格式为[00E2],然后点右边的确

定, 如图:

然后游戏就会因为运行到你设置的断点而停止运行,这时可以看到很多指令,我们只

看最后两条:

FD7A: 95 E0 STA $E0,X :[00E0]=A=0x00