» 您尚未 登录   注册 | 社区银行 | 社区婚姻 | 社区成就 | 帮助 | 社区 | 无图版


火花天龙剑 -> 火炎之纹章 -> 火花学园 -> 这是什么意思?
 XML   RSS 2.0   WAP 

本页主题: 这是什么意思? 加为IE收藏 | 收藏主题 | 上一主题 | 下一主题
wu10022



该用户目前不在线
级别: 注册会员
编号: 87709
精华: 0
发帖: 30
威望: 0 点
配偶: 单身
火 花 币: 17160 HHB
注册时间:2008-04-09
最后登陆:2011-09-10
查看作者资料 发送短消息 引用回复这个帖子
这是什么意思?

地址:00 18 2D DA ( 对应DA AB ),

请问这是什么意思?

[楼 主] | Posted:2008-05-24 14:51| 顶端
tata2007

头衔:孤独之狼孤独之狼
该用户目前不在线
级别: 火花会员
编号: 88604
精华: 6
发帖: 420
威望: 30 点
配偶: 单身
火 花 币: 20592 HHB
注册时间:2008-05-13
最后登陆:2024-09-26
艾雷布的骑士(I)
查看作者资料 发送短消息 引用回复这个帖子


楼主在哪里看到的这个?能否把问题说得明白一点呢?

圣战系谱TS改造版

[1 楼] | Posted:2008-05-24 20:27| 顶端
wu10022



该用户目前不在线
级别: 注册会员
编号: 87709
精华: 0
发帖: 30
威望: 0 点
配偶: 单身
火 花 币: 17160 HHB
注册时间:2008-04-09
最后登陆:2011-09-10
查看作者资料 发送短消息 引用回复这个帖子


这是在
http://bbs.fireemblem.net/simple/index.php?t138446.html
看到的``

目前找到的规律就是
00 18 2D DA ( 对应DA AB

开头二个都是18
2D = AB - 7E
DA = DA

[2 楼] | Posted:2008-05-24 20:38| 顶端
wu10022



该用户目前不在线
级别: 注册会员
编号: 87709
精华: 0
发帖: 30
威望: 0 点
配偶: 单身
火 花 币: 17160 HHB
注册时间:2008-04-09
最后登陆:2011-09-10
查看作者资料 发送短消息 引用回复这个帖子


不知道我猜得对不对?有没有漏了什么?
[3 楼] | Posted:2008-05-24 20:39| 顶端
tata2007

头衔:孤独之狼孤独之狼
该用户目前不在线
级别: 火花会员
编号: 88604
精华: 6
发帖: 420
威望: 30 点
配偶: 单身
火 花 币: 20592 HHB
注册时间:2008-05-13
最后登陆:2024-09-26
艾雷布的骑士(I)
查看作者资料 发送短消息 引用回复这个帖子


你指的是这段话么?

...以"圣火法拉"为例修改,其原始属性的武器说明项是BA AE ,是会出错的地址,我就在已有的地址之间找了块空地:00 18 2D DA ( 对应DA AB ),...

这段话说的是rom地址与指针之间的转换,前面的是rom地址,后面括号里面的是指针。SFC游戏在运行的过程中需要从rom中读取数据,而这就需要知道数据保存在rom的什么位置,为了达到这个目的就需要用到指针,这个过程相信你应该可以理解。
SFC rom是以bank为单位的,如果是在bank内部转移,只需要使用2字节指针,如果超出一个bank,就要用到3字节指针。在上面的一段话里面用到的是2字节指针,也就是数据在同一个bank内,因此在换算指针的时候完全不必考虑前面的那个00 18,只需要换算后面的2D DA就行了。
1、假设rom地址的2个低字节数值是xxxx,对于LoROM有一个规律:如果xxxx<8000,那么就要xxxx+8000;否则不变。 776就是一个LoROM,根据这个规律,上面的2D DA转换之后就是2DDA+8000=ADDA。
2、需要注意的事,776 rom前面还有一个200的header,而指针里面是不包含这个的,因此前面的这个结果还要减去一个200,也就是ADDA-200=ABDA,这个就是我们需要的指针了。
3、现在我们只需要将这个指针写入rom就行了,只要你学过一点微机原理什么的你就会明白低字节在前高字节在后,因此是写入的时候应当将AB DA倒过来也就是DA AB了。
好了,罗嗦了这么一大堆,相信你应该看明白了吧?


圣战系谱TS改造版

[4 楼] | Posted:2008-05-25 00:28| 顶端
Werther


该用户目前不在线
级别:
编号:
精华:
发帖:
威望: ☆ 点
配偶:
火 花 币: ☆ HHB
注册时间:☆
最后登陆:☆
查看作者资料 发送短消息 引用回复这个帖子


00 18 2D DA 是ROM地址$182DDA,原贴估计是用中文版作为蓝本的,因为原日版这个地方不是空的~~~
( 对应DA AB ),...其实是SNES地址,游戏里程序的跳转或LOAD某地址均使用这个SNES地址。

完整是:
$182DDA(SNES地址$B0ABDA)
即那帖子作者zxt1222说的
00 18 2D DA-> (对应DA AB B0)
ROM地址转SNES地址LS的方法也可以`~~但有个工具叫Hex TO SNES Address Converter,
GOOGLE一下就找到了

[5 楼] | Posted:2008-05-25 08:32| 顶端
tata2007

头衔:孤独之狼孤独之狼
该用户目前不在线
级别: 火花会员
编号: 88604
精华: 6
发帖: 420
威望: 30 点
配偶: 单身
火 花 币: 20592 HHB
注册时间:2008-05-13
最后登陆:2024-09-26
艾雷布的骑士(I)
查看作者资料 发送短消息 引用回复这个帖子


谢谢楼上Werther兄弟提供的这个工具,早知道有这个的话我修改776就不用自己费力地一个一个换算了。

不过zxt1222的文章里面已经说得很清楚——“找了块空地”,中文版和日文版一样这里也是空白的,zxt1222兄的目的就是要找一块空地来写入新的数据。


圣战系谱TS改造版

[6 楼] | Posted:2008-05-25 13:43| 顶端
wu10022



该用户目前不在线
级别: 注册会员
编号: 87709
精华: 0
发帖: 30
威望: 0 点
配偶: 单身
火 花 币: 17160 HHB
注册时间:2008-04-09
最后登陆:2011-09-10
查看作者资料 发送短消息 引用回复这个帖子


谢了``
[7 楼] | Posted:2008-05-25 16:19| 顶端
wu10022



该用户目前不在线
级别: 注册会员
编号: 87709
精华: 0
发帖: 30
威望: 0 点
配偶: 单身
火 花 币: 17160 HHB
注册时间:2008-04-09
最后登陆:2011-09-10
查看作者资料 发送短消息 引用回复这个帖子


再问~~
bank是什么意思?
如果不在同一个bank内呢?

[8 楼] | Posted:2008-05-25 16:25| 顶端
tata2007

头衔:孤独之狼孤独之狼
该用户目前不在线
级别: 火花会员
编号: 88604
精华: 6
发帖: 420
威望: 30 点
配偶: 单身
火 花 币: 20592 HHB
注册时间:2008-05-13
最后登陆:2024-09-26
艾雷布的骑士(I)
查看作者资料 发送短消息 引用回复这个帖子


bank的具体意思我也不懂,根据老外的一些资料大致可以将bank看成是rom的某种基本单元,snes读取rom数据的时候首先判断它在那个bank,然后从这个bank内读出所要的数据。对于不在同一个bank内的数据,就需要用到3字节的指针(或者称为snes地址),形式类似于aa: bb cc,其中aa决定了究竟是哪个bank。
不过现在已经有了那个工具,你就不用自己计算了,省事多啦。


圣战系谱TS改造版

[9 楼] | Posted:2008-05-25 22:40| 顶端

火花天龙剑 -> 火花学园




Powered by PHPWind v3.0.1 Code © 2003-05 PHPWind
辽ICP备05016763号
Gzip enabled

You can contact us