您好,欢迎访问三七文档
任天堂红白机(FC/NES)游戏修改教程任天堂红白机(FC/NES修改很多新手看到FCHACK,都会有兴趣吧,我也一样,看到了有HACKROM,也会想要是自己会做HACK多好。摸索了一阵,偶也学会了一点点简单HACK。当然HACK这东西,是需要很大耐心的,更要自己多尝试!与其在一边大喊:“HACK好难啊,HACK好复杂啊,教程看了头晕啊”,还不如自己多动动手。今天我就来写一个最最最简单的基础HACK教程,相信你如果有耐心看完,一定能学会的。编程方面的东西我懂的不是太多,我只用最通俗易懂的方式,让大家能学会。如果有专业术语等的语言错误,也请大家纠正。首先我们需要一些工具[带有DEBUG调试功能的FC模拟器]fcdebug或者FCEU-0.98.13-pre-Debug(貌似这两个一样的,只是版本问题)[6502(FC汇编语言)]6502汇编大奥秘(用于查看指令,便于修改,本次教程几乎用不到,有兴趣研究指令和代码的可以多看看。但是这还是必备工具哦))最后用于修改ROM内部的工具UltraEdit32,这是必须品哦----------------------------------------------------------------------首先,我们打开FCE,FCE也是FC模拟器的一种。当然我们用的是带DEBUG(调试)功能的FCE使用VNES的DEBUG调试时,机器配置不好的就狂卡,偶的机子也卡。所以在某人要求之下。我换一种调试器给大家讲解。我用魂斗罗1来做一个命不减的HACK教程教大家我们先去EC里找该游戏作弊码,EC里的作弊码是这样的[P1生命数]ON=0032,200这样我们就知道魂1的生命的地址是32,就可以使用它来当“断点”。FCE的调试器和VNES不一样,不需要用“[0032]”这样的标准格式,直接把“32”输入当断点就可以了,具体怎么弄?别急,慢慢往下看~首先我们打开FCE,使用“OPEN”打开游戏ROM,就象你玩游戏那样~~游戏运行后,先开始游戏,这时候先暂停游戏。我们点“NES”→“Debugger...”出来一个大窗口,请看右下角,看到这个框吗。先在我这个位置输入“32”,这样“32”就做为一个“中断处”,也就是这个地址有所变化时,程序中止,这样我们就能找到该指令了。之后在Write上打个勾,为什么这么做呢?因为我们要做命不减嘛,打个比方,你死了一条命,命数就减了1这就表明程序对“命数”做了一个“写操作”(Write的意思就是“写”嘛),这样说应该能明白吧。我们这样一设置,在你的游戏人物死了一次后,也就是说被写入了一次操作后,程序会自己中断。之后就好办事了按一下“Add”,之后左边就出现这样的字符,不必管它。这时我们可以切换窗口,继续进行游戏了。进入游戏,让你的人去死一次...这时候程序就会停止,游戏中断了。出来了这么个窗口。一下子看了眼晕吧。别心急哦,慢慢来。先看看最上面一行。第1行这样显示看到了吗?是“32”哦,说明我们指令找对了。32就是我们之前输入的生命数的地址嘛想知道D6这条命令的意思,可以去看看6502汇编大全,就知道了~关于该指令的详细说明和意思,不知道也可以。因为我们这是简单HACK,不懂也不要紧我们只需要知道,人死了后,就会执行这条指令,也就是让游戏里的命减了一条,对吧?修改原理也很简单,只要让这条指令不执行就好了嘛!现在进入正轨~~最前面的“d939”就是这条指令在RAM中的具体位置了,我们要去RAM中找到这个位置。点一下“Memory...”出来的窗口就是RAM窗口了,根据“d939”这位置,我们找到了~!看第一行,就是这里了,我选中的就是我们最初找到的指令D632我们把这一整行通通选中,然后复制一下。这样好方便我们寻找到这个“D632”打开UltraEdit32这个软件,用这个软件来打开你的游戏ROM就象这样,游戏ROM打开了。之后我们用CTRL+F,搜索一下,把刚才复制的那一串数字粘贴进去,然后查找一下~找到了,被我用深蓝色选中的这行看到了吗,D632我们准备动手来改这条指令改之前,还是老规矩,先按一下键盘上的INSERT,把插入方式改为“覆盖”如图接下来我们就把D632改为EAEA(记得要大写哦)请大家把EA这条指令牢记,EA是NOP指令,意思是不执行任何操作。也许有人问,为什么是把D632通通改为EAEA呢,而不是单单把D6这个指令改为EA?32只是地址不是命令,干吗也要一起改?呵呵~因为嘛,D632是一条完整指令嘛,换句话说就是一句完整的话,要改他,当然也要完整得改拉~~当然除了EA指令,还有别的改法,我这里就只告诉大家这最简单的了。改别的游戏,EA指令也是很实用的。大家自己可以去试试。注意:修改的时候,往往会碰到一个问题,那就是不能修改。那是因为你的游戏ROM的属性可能是“只读”。如果碰到不能修改,请对游戏ROM(比如魂斗罗1)点右键→“属性”,把“只读”的勾去掉,这样就能修改了。最后一步,修改好后,点“文件”→“另存为”,保存你修改好的游戏ROM,名字随便,比如“魂斗罗命不减XXXXX”之后就是测试ROM了,我习惯性得打开我常用的模拟器VNES来运行游戏,当然你用FCE直接重新打开游戏ROM也可以。只是我喜欢用VNES来玩游戏。我试着去死了几次,命一直都没减。哈哈~HACK成功了~!魂斗罗1P和2P生命使用同一指令的,所以你改好后,1P和2P都是无限命了。怎么样,你学会了吗?不如自己也试试吧,改改看魂斗罗2代魂2的生命数地址经查EC得知是53用我说的方法试试看吧,祝你成功注:此教程中,我使用魂斗罗1的生命数地址“32”来做断点。并不代表其他游戏都是用32做断点。每个游戏数据都不同。前面我已经提到过,可以先到EC里找到想改的游戏的作弊码,这里面有相应的地址。如果EC里没有,也可以自己用EC的搜索功能或者用金山游侠来搜索。以上均为最基础最简单HACK,如果想学习中级和高级HACK,要靠自己钻研了~多看看6502汇编大奥秘吧,只有理解了指令的含义,才能学习更高级的HACK。本文内容转载自模拟999--Writtedby小粽子基拉照做了下..的确HACK出了无限命的魂1↖(^ω^)↗像我成绩差..搞了半天想学的朋友就不要半途而废,认真仔细的研究``作弊码可以用EC找到(附上),UltraEdit32这个东西有点大,去百度搜下就有得下了``这里不传了下面发上收集到的工具若干..带有DEBUG调试功能的FC模拟器FCEU-0.98.13-pre-Debug.zip(大小319k)FC6502汇编指令查找器.rar(大小132k)EC.part1.rar(大小1458k)EC.part2.rar(大小1458k)EC.part3.rar(大小1458k)EC.part4.rar(大小1458k)EC.part5.rar(大小309k)
本文标题:NES修改教程
链接地址:https://www.777doc.com/doc-2883867 .html