finalfantasy2吧 关注:203贴子:1,104
  • 17回复贴,共1

【修改】FC ROM研究

只看楼主收藏回复

能慢慢研究 @床上谦谦君子 的资料最开心了,真的非常享受这种钻研探究的过程,有时候一研究就忘了时间,不知不觉就到了半夜,真是感叹时间不够用啊。。。。


IP属地:上海1楼2013-04-03 17:42回复
    我最先着手的是装备数据,按谦君的字段释义对应我整理的表格,只要除去其中相同的数值,剩余的便是属性的代码了,这里先列出【一般属性】和【种族属性】的相应代码:
    数值 0x01 0x02 0x04 0x08 0x10 0x20 0x40 0x80
    一般 变化 火  精神 雷  死  毒  神经 冰
    种族 空  水  地  鬼  魔  龙  妖  不死


    IP属地:上海2楼2013-04-03 18:00
    回复
      研究了一下FC版里的经典BUG【魔法书作武器】,贴一点小成果,嘿嘿~
      首先我把主角的武器修改成魔法书,然后脱光身上其他装备,刷新出状态画面,利用公式反推出了个别魔法书的攻击、命中、回避等数值,然后到ROM中一查,还真找到了那段代码(从0x304AE开始的40×9个字节),接着利用程序输出到控制台,再粘贴到excel表中,于是有了如下的表格:

      很明显,其实就是程序读了一段脏数据(把其他含义的代码当做武器数据来读了,而开发者之所以没有解决这个BUG,或许也是出于某种娱乐精神,故意留给玩家去发现的吧),其中前5项是我转换后的正常10进制数,后4项为了方便查找对应属性和魔法代码,仍旧保持16进制~


      IP属地:上海3楼2013-04-03 18:08
      回复
        然后是 魔法信息 和 物品的使用效果 列表,突破口就在之前发现的【魔法书武器】数据所读取的那段“脏数据”,从数据结构上看,这是一段N×5的代码区域,然后从前一段已知区域的武器代码区的结尾看起(0x30106+64*9=0x30346),因为不知道具体有多长,我先试了40本魔法书的数量看看:


        IP属地:上海4楼2013-04-03 21:36
        回复
          前面的还看不出什么端倪,但是最后那7行是什么?第一列的编号和第二列的数值正好对应了魔法书使用时的等级,但第三列和第五列实在看不懂(至今还是不懂。。。),那么第四列呢?难道是作用对象?也就是说,后面至少还有33行,那么再打印40行吧~~


          IP属地:上海6楼2013-04-03 21:40
          回复
            魔法书的使用效果确定了,那么前面和后面的又是什么呢?数数看两个255中间的行数,正好是商店出售物品的数量,第二个255后面到魔法书的前面正好是特殊物品的数量,那么第一行呢?正好是飞龙的使用效果,7级的【火焰】,这样特殊魔法的编号也基本确定了~~


            IP属地:上海7楼2013-04-03 21:42
            回复
              接着再打印80行,但是发现了异样,这里我给出前140行的数据就足够说明问题了

              顺理成章可以推断出来,其实魔法书后面的数据就是定义给武器和怪物用的魔法了,当然,怪物的魔法也可以引用到前面的数据,你看,比如毛毛虫会的地震和吹雪其实就是大地鼓和风笛的效果,这个数据表格我暂且命名它为【魔法使用属性】数据~~


              IP属地:上海8楼2013-04-03 21:43
              回复
                至于编号86再后面的就不是了,因为数据已经完全不像了,比如编号1的火球术出现了0级,还出现了编号0的魔法,那么这里又是什么数据呢?数一下这个数据的地址(0x30346+0x86*5=0x305E9),然后再用下一段已知数据的起始地址(怪物数据的0x307D3)来减一下看看,(0x307D3-0x305E9=490),再按前面推算出来的最大魔法编号70(40个普通魔法和30个特殊魔法),正好能用490整除,也就是每个魔法对应了7个字节,这个信息表格我就命名它为【魔法基本属性】数据了,下面来看看输出后的数据表格吧~~


                IP属地:上海10楼2013-04-03 21:45
                回复
                  经过初步分析,基本可以推断:
                  第一列是魔法类型(比如:1-伤害类、4-短时异状类、3-持久异状类。。。等);
                  第二列是命中,具体怎么用还不清楚,可能是数值越低,命中越高;
                  第三列是魔法威力;
                  第四列是附带的属性,应该会根据第一列的类型作不同判定,有些是一般属性,有些是种族属性;
                  第五列是附加的状态属性;
                  第六列是魔法使用时的颜色;
                  第七列是攻击到怪物身上产生的特效。
                  但至今唯一搞不懂的还是【魔法使用属性】数据里的第三列和第五列。。。


                  IP属地:上海本楼含有高级字体11楼2013-04-03 21:49
                  回复
                    link?shareid=337313&uk=1762572762
                    这是拜 @komicakomica 所赐的美版rom修改器 ,感激不尽~!
                    不过在怪物属性中有个【morale】值不知道是派什么用的,求指教~


                    IP属地:上海12楼2013-04-03 21:56
                    收起回复
                      回复 winisterZ :现成的暂时未找到。 百度盘/share/link?shareid=378088&uk=1762572762 但这里的改版包括所有怪物等级提升8这样的修改,你把打好补丁的rom和未打的比较一下就知道了。


                      IP属地:上海13楼2013-04-05 20:33
                      收起回复
                        我倒是很喜欢浅尝则止,都知道点。


                        IP属地:北京14楼2013-04-27 06:32
                        收起回复
                          高人


                          IP属地:江西来自Android客户端15楼2013-11-17 08:24
                          回复