隐藏
快速浏览
热点资源区
【 新手上路 | First Readme 】
【 PSP 资源交流下载区 】
【 NDS 资源交流下载区 】
【 NGC/WII 测试讨论区 】
【 C77 热点专区 】
文章分类
文章系统
模拟器专区
【 模拟新闻评论区 | Comments On Emulator News 】
【 模拟器疑难解答区 | Emulator FAQ 】
【 模拟器周边区 | Emulators Periphery 】
【 黑历史研究区 | History Behind the Darkness 】
游戏讨论区
【 DC 窝棚 | DreamCast Wikiup 】
【 家用机游戏讨论区 | Console Games Communion 】
【 掌机游戏交流区 | Handlet Games Communion 】
【 游戏 ROM 交流区 | Games ROM Communion 】
【 ISO 游戏交流区 | ISO Game Communion 】
【 PC 游戏讨论区 | PC Games 】
【 网络游戏讨论区 | Online Games 】
【 游戏攻略区 | Game Guide 】
专题站
【 Falcom 领域 | Falcom Kingdom 】
【 洛克人专区 | Rockman Fans 】
【合金弹头专题区 | METALSLUG 】
【 广州游戏小组 | GZ Games Team 】
特色专区
【 幽幽茶馆 | Tea bar 】
【 轻小说专题站 | Light Novel Store 】
【 美图沙龙 | Pictures Salon 】
【 动漫 Club-Zero | Comic Club-Zero 】
【 PSP 影音专区 | PSP Movies 】
【 LIKEC流行演唱讨论区 | LIKEC SINGING SUCCESS 】
【 电脑全方位 | Computer All Round 】
【 影视讨论区 | Movies 】
【 外国语学习交流 | Foreign Language Corner 】
资源预览区
【 ISO 游戏预览区 】
【 TV 游戏预览区 】
【 PC 游戏预览区 】
【 影视预览区 】
资源共享
【 BT 发布区 | BT Torrents Search 】
【 联盟贸易区 | ChinaEmu Shop 】
【 凤凰网关服务区 | PxNet Services 】
站务区
【 版主申请及意见区 | Support & Feedback 】
【 站务公开区 | Site Duty Opening 】
【 VIP 会员交流区 | VIP Members 】
登录
注册
×
登录
用户名
Email
密 码
认证码
找回密码
游客
帖子:
今日:
我的主题
我的回复
我的收藏
好友近况
登录IP: 18.227.209.214
首页
门户
我的空间
搜索
社区服务
帮助
中央银行
勋章中心
道具商城
邀请注册
任务中心
节日红包
基本信息
到访IP统计
管理团队
管理操作
在线会员
会员排行
版块排行
帖子排行
推荐排行
wind
【 浮游城 - Castle in the Sky | 开放邀请注册,PS|SS|WII|DC下载研究中心 】
»
【 ISO 游戏交流区 | ISO Game Communion 】
»
【原创】【讨论】世嘉土星游戏汉化教程1
上一主题
下一主题
新 帖
主题 : 【原创】【讨论】世嘉土星游戏汉化教程1
使用道具 |
复制链接
|
浏览器收藏
|
打印
YZB
级别: 超级版主
作者资料
发送短消息
UID:
12451
精华:
6
发帖:
19097
威望:
173 星
金钱:
2010 浮游币
贡献值:
10084 点
好评度:
54867 点
人气:
4322 点
在线时间: 19693(时)
注册时间:
2004-10-02
最后登录:
2024-11-22
楼主
发表于: 2021-11-16 11:39
全看
|
小
中
大
【原创】【讨论】世嘉土星游戏汉化教程1
管理提醒:
本帖被 YZB 执行加亮操作(2021-11-28)
本贴原创,转载的话请注明出处
很早以前,很多人询问过我,想让我写个ss游戏的汉化教程,因为原来一直比较忙,这段时间终于比较空闲下来,在我们的组长sky0611的督促下,终于可以静下来慢慢写了
开头第一篇,先来点简单的基础,聊聊ss游戏的运行原理吧,毕竟了解了运行原理才可以比较熟悉的汉化游戏.以下说明全部是我个人经验以及猜测,如果有说得不对的地方,欢迎指正
有关世嘉土星(下面简称SS)的详细的资料可以去看yaba模拟器的维基百科,里面写得很详细
https://wiki.yabause.org/index.php5?title=SH-2CPU
首先ss的内存分为2个区,一个是高段区,大小为0x100000,也就是1m,地址从0x06000000-0x06100000,这部分称为高段区,跑程序 dma复制什么的比较快,一般ss游戏程序方面的文件都是会优先放到这里
另外一个是低段区,大小也为0x100000,也是1m,地址从0x00200000-0x00300000,这部分称为低段区,速度虽然比高段区慢点,但是肉眼是区分不出来的,而且也是可以跑程序的
ss的显存分为vdp1 vdp2
vdp1 大小为512kb 地址从0x5c0000-0x05C80000, vdp1作用一般是做为处理活动块图层
vdp2 大小为512kb 地址从0x5e0000-0x05e80000, vdp2作用一般是做为背景图层
另外还有一个颜色表,地址为0x05F00000,大小为4kb,也就是0x1000,作为vdp1和vdp2图层为16色或者256色的时候当颜色表来使用
想看详细的资料就去上面的网址,里面写得非常详细清楚了.
ss主机在开机以后,会先运行bios,播放bios里面预留的开机动画,在播放期间会进行一系列的操作,各种初始化 以及验证(因为ss主机在国内大部分都是加过直读了的,所以抛开光驱解锁以及原版盘验证这些,那里比较复杂,其实我也不太明白,所以接下来的说明都是默认光驱以及其他验证都是通过的)
在播放完第一段bios动画以后,程序会优先检测是否插上了卡带,是的,你没看错,卡带的优先级别比光盘还要高,在检测到没有插入卡带或者卡带里面的ip头数据和bios对不上才会去读取检测光盘
刚才说到了ip头数据,这里做一下展开说明
因为ss是以cd rom光盘为媒介的,格式又是标准的ISO9660文件系统,而ISO9660文件系统其中有一个定义就是,光盘最开始的32kb是保留的,在这32kb里面可以放其他数据
所以SEGA呢,据我了解应该是从sega cd主机开始就这样玩了,把这32kb拿来放游戏信息以及校检数据,这地方从sega cd到ss到dc都是如此(只是dc读取的不是最开始的32kb而已),可以说是sega的老传统技能了
说回土星,通常我们把这32kb数据称为ip文件,当ss开机以后,没有检测到有卡带插在主机上,或者卡带内的ip文件头部不正确的话,才会去读取光盘的ip文件,也就是光盘最开始的32kb数据,这32kb默认是读取到ss的高内存0x06002000这个地方,32kb也就是0x8000大小,地址也就是从0x06002000-0x0600a000(注意,这里是固定的,不能更改)
把32kb数据读进内存以后,bios播放完第一段动画会跳到06002100这个地方,也就是ip文件的0x100地址这里。(这里重点说一下,这里的地址是指2048的iso格式地址,而不是redump那种2352的bin格式,bin格式因为含有edc ecc校检,所以实际上,在2352的bin格式中每2048字节的数据就会含有一个304字节的扇区数据,用来校检和修正这2048字节的数据是否正确,其中有16个字节扇区头部数据在2048数据的头部,后面剩下的edc ecc校检数据在尾部,看下图)
从0x100这里开始就是校检ip数据和显示SEGA那几个大字的地方了,也就是判断这些数据是否和bios内的一致,不一致则返回到bios的9球管理画面
这里继续展开对ip文件的说明,网上应该有比较详细的资料,我这里只简单说一下,ip文件的前0x100字节,是该游戏的信息,比如游戏名字 版本 年份 时间什么的,从0x100开始才是程序入口,显示sega画面,验证数据,最后才进入游戏
这里重点说一下ip头的0xf0这个地址,这个地址非常重要,在程序进入ip文件入口以后,也就是0x100这里,在校检数据以及显示sega画面之后,会根据这个地址(一般这个地址为0x06004000或者0x06010000),把光盘内的第一个文件读取到这个地址中,可以当成该游戏的主程序文件(注意,这里是固定的,不能更改),然后一般的游戏都会直接跳转到这个地址开始运行游戏,另外注意一下,ip在内存中的地址为0x06002000-0600a000,如果主程序的地址为0x06004000的话,就会把ip文件覆盖掉一大部分,所以ip文件大部分后面都是留空的,因为一般都会被主程序覆盖
但是也有一些例外,不走寻常路,比如我遇到过几个capcom的游戏,会把ip文件常驻在内存中,把一些常用的函数放到这里在游戏中调用,或者有的游戏会把主程序文件读进去以后,但不跳到主程序的开头,而是跳过头部N个字节在
总之在显示完sega这几个大字校检正常以后,就可以正式开始各种骚操作了,主动权就回到游戏手中
聊到这里,既然知道了运行原理,那么重构一个iso镜像就很简单了
首先我们把游戏的ip文件抽取出来,然后把游戏文件复制到硬盘里面,最后利用makeisofs这样的制作iso文件的工具就可以很轻松的把游戏镜像制作出来了
(再次注意,对于MODE2/2352的游戏来说,把镜像里面的游戏文件全部复制到硬盘成了一件困难的事情,因为载入虚拟光驱复制某些文件的时候总会遇到提示出错的情况,排除因为直接修改镜像导致edc ecc校检数据不一致的情况以外,原始的redump文件出现这个问题只能是因为使用了MODE2/2352格式,因为MODE2/2352格式减少了大部分的edc ecc数据,节约了容量,这样一张光盘就可以存更多的数据.
但是MODE2/2352格式数据也带来了一个问题,那就是这些数据不能修正了,也就是也有可能从光盘读取进来的这些数据,可能是损坏错误的,所以MODE2/2352数据一般是声音或者CG视频之类的,就算数据有点损坏,最多也就是出点杂音或者花屏之类,总比读进去的是错误的程序,然后运行到这里出现死机 黑屏的时候要好得多
那么怎么区分游戏是否使用了MODE2/2352格式呢,很简单,以redump的bin文件为例子,解压游戏以后会有一个cue文件,用记事本打开这个cue文件,你会看见都是里面都是英文,试着搜索一下这个cue里面是否含有MODE2 2352 之类的字眼,如果没有,就万事大吉了,如果有,就自己想办法提取那些文件吧
当然还有最后一种情况,虽然不是MODE2/2352格式,但是也总是有那么几个文件不能提取出来,对于这些文件,一般是音轨文件的索引,大部分的游戏是不会根据这些索引来定位文件的,所以这些文件可以不用留,这种文件一般名字带有CDDA track之类的字眼或者是.da后缀名的文件,这些可以不用理会,没有也关系
上面洋洋洒洒的一大堆,其实大部分都是原理解释,真正操作起来就2步
1 虚拟光驱载入镜像以后提取ip文件
2 复制游戏文件到硬盘
3 生成iso镜像
这样生成的iso镜像就可以用模拟器测试了(注意一下,某些带有很多音轨
游戏直接测试iso话,也许会在游戏中出现黑屏 花屏等现象,那是因为读取音轨出错的现象,如有有音轨,请继续按下面的方法加载音轨以后再测试)
因为iso格式是没有音轨的,如果一个游戏使用了音轨应该怎么办才能加载播放音轨呢(如果游戏只是带有一个音轨的话,那么这个音轨大概率只是警告这是ss盘片的音轨,测试期间可以不用附加上去,到最后完成的时候再考虑是否加入进去)
其实方法也很简单,这里我用附件的游戏来做例子
把你生成的iso和原始的redump文件放在一起,然后用记事本打开原始的cue文件
CATALOG 0000000000000
FILE "
AI Shougi (Japan) (Track 1).bin
" BINARY
TRACK 01 MODE1/
2352
INDEX 01 00:00:00
FILE "AI Shougi (Japan) (Track 2).bin" BINARY
TRACK 02 AUDIO
INDEX 00 00:00:00
INDEX 01 00:02:00
这个cue文件里面你会发现带有"AI Shougi (Japan) (Track 1).bin" 这个文件名,把名字改成你的iso名字,注意不能是中文名 ,后缀也要改,以及名字前后的"符号都要保留原样,然后把下面一行的2352改成2048保存就可以了
修改后的cue文件是这样的
CATALOG 0000000000000
FILE "
1.iso
" BINARY
TRACK 01 MODE1/
2048
INDEX 01 00:00:00
FILE "AI Shougi (Japan) (Track 2).bin" BINARY
TRACK 02 AUDIO
INDEX 00 00:00:00
INDEX 01 00:02:00
这样用虚拟光驱载入这个cue的时候,就会自动加载音轨了,期间用模拟器测试或者用其他工具重新生成一个打包的bin+cue文件都可以
说到这里,这一期就算讲完了,这篇呢,与其说是汉化教程,还不如说是镜像修改重构教程
因为汉化过程中毕竟要修改很多文件,文件或者减少或者增大,如果单纯对镜像操作的话比较麻烦,重做镜像的话就没有这方面的压力了,寻找字库 文本方面也比较轻松一点,理论上大部分的ss游戏都可以按这个方法来重做镜像,少部分可能因为直接定位LBA读取的游戏例外,目前我没遇到过。
还有注意某些游戏不会以文件名来定位读取,而是按该文件在光盘内的编号来读取(比如说程序会直接指定读取光盘内的第5个文件-_-)所以对于这些游戏,千万不能在光盘内增加或者减少文件数量。
当然重做镜像也有缺点,因为重做后的镜像和原来的镜像相比,相差可以说是非常大,所以制作出来的补丁可能比原来的镜像更大,所以直接分享补丁的方式就不可能了,要分享只能分享整个镜像文件,这样的话会有触犯法律的后果,当然这方面不在我们的讨论范围之类
最后老规矩,附件带有一个压缩包
ss_make_iso.rar
(1155 K) 下载次数:23
,压缩包里面带有一个全版本通用的ip文件,解压这个压缩包以后,虚拟光驱载
入游戏镜像,把游戏
文件全部复制到data目录,然后修改ip.bin文件头部以及第0xf0地址,改成原游戏相同的
最后双击运行1.bat即可(如果想要修改iso的名字,用记事本打开bat文件,把相应的名字修改即可)
另外一个压缩包为游戏,特意选了一个很小的用来做测试
AI Shougi (Japan).zip
(1835 K) 下载次数:7
最后感谢环节,感谢sonic3D大大的资料,感谢组长sky0611的鞭策,以及大伙的支持,欢迎更多人投入到ss dc的怀抱中 ,有不明白的可以跟帖回复
by SGGG_yzb2021.11.16
[ 此帖被YZB在2021-11-16 12:44重新编辑 ]
本帖最近评分记录:
人气:+5(kona) 辛苦了,送你 1 点人气
好评度:+5(zengzidane) 授之于渔,功德无量!
来自:
顶端
回复
引用
分享
fragranse
级别: 模拟专家
作者资料
发送短消息
UID:
321888
精华:
0
发帖:
33
威望:
0 星
金钱:
4007 浮游币
贡献值:
0 点
好评度:
99 点
人气:
0 点
在线时间: 393(时)
注册时间:
2021-11-19
最后登录:
2024-11-22
沙发
发表于: 2021-11-20 00:25
全看
|
小
中
大
想确定下:
真实光盘存在的是话,是直接2048这种格式,还是redump 2532 这种格式的?
也是想知道光盘格式本身带不带这种校检啊
来自:
顶端
回复
引用
分享
上一主题
下一主题
【 浮游城 - Castle in the Sky | 开放邀请注册,PS|SS|WII|DC下载研究中心 】
»
【 ISO 游戏交流区 | ISO Game Communion 】
http://bbs1.chinaemu.org
访问内容超出本站范围,不能确定是否安全
继续访问
取消访问