其他语言

本类阅读TOP10

·基于Solaris 开发环境的整体构思
·使用AutoMake轻松生成Makefile
·BCB数据库图像保存技术
·GNU中的Makefile
·射频芯片nRF401天线设计的分析
·iframe 的自适应高度
·BCB之Socket通信
·软件企业如何实施CMM
·入门系列--OpenGL最简单的入门
·WIN95中日志钩子(JournalRecord Hook)的使用

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
snes :fe4 rom hack for the graphic and animate #1

作者:未知 来源:月光软件站 加入时间:2005-5-13 月光软件站

本学期学习asm,加上上学期一个fe4pc的需要,所以决定干fe4 rom hack。

是从昨天开始的,不过因为debugger使用不熟练的原因,所以今天又把昨天干的重复了一遍,并作了些记录。
由于个人习惯的原因,希望不会给大家带来阅读的困难……

首先我使用的是znes1.7版,所以不能dump出缓存,按照前人的经验,我从战斗画面开始读代码(就是一开始男主角站在那颗树上攻击第一个斧兵的动画)

废话少说,开始读:(这里写下的只是代码地址和我的理解,一些不懂的东西省略或者用??表示)

这里首先程序进行了DMA#0的一些设置:
   
Source Address=$D204;        我认为这个地址应该对应着ROM中的某段地址,但是由于对DMA知识和snes硬                                                         件知识的缺乏,所以还不是很了解
DMA reading size=$78;            是120个字节

最重要的是这两个,还有一个Source Bank Address ,我理解应该是内存中的地址
Source Bank Address=$7F;    而且这个地址在后面出现了很多次,有很多命令对7FE4XX的数据进行了操作

在进行了几次程序的跳转后:
8081BD~D4-〉80BF04-〉95C368-〉95C3C2-〉跳回80BF04-〉969FD7-〉跳回80BF04-〉96D5DB
-〉80BF04-〉95A086。

中间可能有疏漏,这是没办法的事啊,代码很多……

接下来这段,可能是对这些地址里面的数据进行操作,因为对7FE441~7FE4XX进行操作,但是还没来得及分析代码的意义。

又是子程序的跳转:

80BF56-〉95A086-〉95A0BD-〉跳回80BF56-〉96EB1E-〉跳回80BF56-〉80A34F-〉80807C

只有其中有一段我理解了是,7FEC70~7FEC7A 全部被赋值为0,我猜想是不是为rom里面的数据初始化空间。(好像有点问题,应该不是这样初始化吧……)

然后得到了:Source Address=1C00
                        DMA reading size=20
                        Source Address=0100
                        Platte=0000;
具体作用,还不是很了解,要找点计算机结构的书看看,了解一下DMA到底是么东西!!如果有大虾了解,恳请赐教阿~~~~!!

接下来,又出现了个DMA,不过这次的是# 7
然后由设置了:Source Address=E1F6
                        DMA reading size=??
                        Source Bank  Address=7F
                        Platte=??
反正在内存中,7F肯定是存放某些数据的地址(这是废话……),应该说是对我要的目标又作用的地址。
                                                      




相关文章

相关软件