标题:
关于SFC烧录卡对某些汉化游戏兼容性提升的小技巧
[打印本页]
作者:
学不会五笔字型
时间:
2011-12-29 00:50
标题:
关于SFC烧录卡对某些汉化游戏兼容性提升的小技巧
以“电精”这个游戏为例,该游戏原版是16Mbit容量,即2M Byte。
而电精汉化版是3M Byte。为什么会比原版容量大?
怀疑有可能是加入了中文字库,使得总的文件尺寸变大。
电精汉化版如果在SFC烧录卡上直接运行,屏幕上是会花版的,汉字不能正常显示。
但是我们可以利用SFC烧录卡内置的特殊功能来解决这个问题。
具体方法是进入烧录卡操作菜单的ROM设置功能“ROM Settings”
手动将ROM Size(ROM尺寸)由2M切换为4M。(2M为烧录卡根据ROM数据自动识别出的尺寸)
然后返回菜单首页重新运行游戏,问题立即解决了。
对于某些在原版尺寸上进行了扩容的汉化版游戏,如果发现什么不正常的现象,可以尝试通过这个方法来解决。
作者:
真三国无双3
时间:
2011-12-29 01:00
不错 我还没有SFC烧录卡啊
作者:
混乱状态
时间:
2011-12-29 01:25
火纹几个汉化版通过这方法能不花屏吗?不花屏我就买个
作者:
SONIC3D
时间:
2011-12-29 02:17
lz试试修正ROM头部看看,sfc最常见的就是smc格式ROM,方法如下
(注意smc格式也有一个文件头,但是一般模拟器是不识别这个头部的,所以汉化组对电精改了这个smc头部,但是绝大多数模拟器包括烧录卡依然将它认作16Mbit,因为它不是sfc rom的真正头部!!!)
用WinHEX打开ROM,找0x000081c0和0x000101c0(可以用Alt+G直接输入这两个Offset),看这两个地址哪一个是这个游戏名称的文字,这个地址就是Rom头的起始。
---- 比如电精的ROM在0x000081c0处找不到游戏名但在0x000101c0处可以找到标题名的ASCII字符串"GHOST CHASER DEN",所以电精的Rom头从0x000101c0开始。
从这个ROM header的起始位置开始,加上0x17个字节(注意是16进制!!),就是ROM的大小类型。
比如电精在0x000101c0+0x17=0x000101d7处可以找到一个值为0x0B的字节,这个0x0B就是ROM大小,具体值参照下表:
0x08:2Mbit
0x09:4Mbit
0x0A:8Mbit
0x0B:16Mbit
0x0C:32Mbit
所以只需要把这个值改为0x0C,电精汉化版就可以被自动识别为32Mbit也就是4兆的ROM了
P.S.注意这样改了以后,会影响到ROM的校验和,所以还要fix checksum,这类工具很多,很容易找,但是是否fix是无所谓的,况且像汉化版的电精,实际ROM是3兆(24Mbit),但是因为任天堂根本没有3兆的ROM类型标志位,我们改用4兆的ROM标志位,这样如果不对电精的ROM作dummy填充,理论上是不能得到真正正确的checksum的,所以这个就不要纠结了
如要深入了解Snes ROM header,看这两篇:
http://romhack.wikia.com/wiki/SMC_header
http://romhack.wikia.com/wiki/SNES_header
作者:
xy888
时间:
2011-12-31 21:38
这个SFC烧录卡,在哪里购买, 能提供个链接吗?
欢迎光临 TGFC Lifestyle (http://bbs.tgfcer.com/)
Powered by Discuz! 6.0.0