作者lulaptt (Lula)
看板Emulator
标题[心得] SFC中文化经验谈(一)—工具篇—
时间Sat Nov 3 23:57:27 2012
【杂言】
因为不久之後大概就再也没空做中文化了,
所以趁现在印象还深,记录一下相关的经验好了。
又因为我是皇骑迷,所以只染指皇骑在SFC跟GBA上的主力作,其他就没兴趣了。
所以如果是其他平台的情形,我就不是那麽清楚了。
【正文】
在谈到技术前,先来介绍一下我爱用的工具,
不过...
不要妄想光靠工具能直接做好中文化。
也许NDS、PSP这类将字库图片、内文分装成不同档案的平台,
可以透过工具简单拆解出你要的部分,但是GBA以前的游戏可没那麽漂亮的结构。
解压与秀图用的函式机器码、字库图片资料与对应指标、剧情文字编码等,
全部都是任意混在一起且没有特定位置的。
因此,
每个游戏都是case by case的解谜案件。
只能像侦探一样靠自己观察推理跟手中的工具,
找出特定文字是怎麽被显示出来的,然後靠各种你想得到的方法去替换掉原文字。
以下就依序介绍我爱用的工具:
==========================================================================
‧
YY-CHR (
http://www.geocities.jp/yy_6502/yychr/0yychr.html )
-
小巧好用的ROM内
图像编辑器,支援许多FC、SFC、GBA等平台上常用的
图像格式,最近有支援英文语系了。
-
基本用途就是用来编辑原字库图像,运气好某些字库图像没被压缩的话,
可以透过它直接修改。
如果只是想把中文化过的游戏由简体转繁体,
大概有它就够了,因为一般中文化游戏字库多半会变成无压缩的...
...我猜的啦:p
‧
UltraEdit (极早期版本是免费软体,官网也有提供30天试用版)
- 很好用的
数据编辑器,可以将ROM的内容显示成16进位码并进行修改,
100MB的档也能在几秒内打开,是手动修改函式机器码、字库指标时
不可或缺的好工具。有搜寻16进位码、跳到特定位址、档案差异比对等方便功能。
- 基本上,我中文化就是在UltraEdit上修改16进位码,透过观察与尝试错误,
一步步找出可行的方法与规则。特别是
修改函式机器码、字库指标这种资料时,
UltraEdit提供了很大的方便性,使得这软体成为我最常用到的工具。
其实如果"会猜"(这以後再谈)的话,只要有这工具加上会写程式,
就可以对部分游戏做中文化了。
‧
Lunar Address (
http://fusoya.eludevisibility.org/la/index.html )
- 计算
SFC位址的计算器,输入在UltraEdit看到的资料位址,
它会算出SFC实际使用的位址。
-
因为SFC硬体上的设计,
"游戏运作时的资料位址"与"ROM档的资料位址"是不同的。
例如ROM档里0x104000的资料,在游戏程式中要用0x20C000才会取得这资料。
就连RAM里的资料位址(放游戏记录的地方)在游戏运作时,
也会配给到0x7E0000~0x7FFFF。
所以要
修改函式或字库指标位置时,都要用它来换算出SFC位址。
‧
snes9x1.43.ep9r8 (不知道原出处,不过google一下应该很好找)
-
视窗介面的
SFC反译器,可以把游戏运行过程的所有opcode(简单说就是指令码)
与暂存器内容等dump出来,也可以存出RAM的内容、追踪特定位址是否有被执行等
多种功能。
-
只靠前述工具的话,基本上是无法修改游戏程式的,
顶多只能改指标或依循原压缩方法改资料。
只有透过反译器追踪修改原函式,才能跳脱原游戏的程式掌控。
一般中文化游戏常会发现8x8日文片假名没被中文化,
就是因为原本函式把显示范围定死成8x8,
如果不会修改函式就无法显示较大的中文字。
-
现在反组译的资讯比以前多不少了,opcode我现在是习惯用下列的参考资料
http://wiki.superfamicom.org/snes/show/65816+Reference
-
GBA游戏的反译器比SFC更完善,不过我忘了自己以前是用哪一款....orz
==========================================================================
基本上我会用到的工具大致就这样,因为这几个工具程式会一直交叉使用,
所以萤幕常常会很乱XD (
http://ppt.cc/o~mg )
中文化有些步骤很单调乏味(像刻字或追程式码),我都是在客厅用电视当萤幕,
萤幕右下角则用子母画面来播电视节目或影片(银河飞龙看到第6季了...),
这样遇到单调工作时比较不会无聊。
另外,除了上述工具外,
写程式的技能也是必备的。
就如我前面所说,每个游戏都是case by case,
所以要大量写入写出剧情代码,就只能自己针对该游戏去写程式...
...至少就SFC跟GBA来说是如此。
--
一周後再来写压缩吧....大概....
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.249.58.224
1F:推 oginome:大推~以前的游戏要中文化真的很不容易~(遥目) 11/04 00:13
2F:推 tonybin:大推 终於等到反组译和静改的宝贵教学 期待系列文 11/04 00:47
3F:推 qazxswptt:请受小的一拜 现在台湾还有心有力搞中文化的很少了 11/04 03:05
4F:推 UlyssesLin:这可不是傲娇皇骑版主吗?(误) 11/04 07:16
5F:→ lulaptt:我.....我才不是什麽傲娇呢(正) 11/04 07:34
6F:推 EDGE: 感谢鲁拉大戮力制作的TO繁中版patch! 11/04 09:26
7F:→ remina:应募过Lula大的中文化..It's good 11/04 10:02
8F:推 ADHI:想入门SFC中文化比FC难多了,推一个 11/04 10:05
9F:推 arcadyii:跟现在的游戏相比 古董游戏的文本不一定比较少 11/04 10:06
10F:→ arcadyii:既然都是要翻译 何不做比较新的东西呢 11/04 10:06
11F:→ lulaptt:因为最喜欢的还是SFC时代的皇骑剧情与世界观 11/04 11:03
12F:→ lulaptt:做新的游戏也许能满足别人 但完全满足不了自己 11/04 11:03
13F:→ lulaptt:如果是为了"服务大众"而做 我大概3天就厌倦了... 11/04 11:04
14F:推 mron: 感谢鲁拉大戮力制作的TO繁中版patch ! 11/04 15:24
15F:推 djboy: 感谢鲁拉大戮力制作的TO繁中版patch ! 11/04 15:38
16F:推 oginome: 感谢鲁拉大戮力制作的TO繁中版patch ! 11/04 18:38
17F:→ oginome:原来我以前用的就是鲁拉大制作的~感恩啊~ 11/04 18:38
18F:推 US5566: 感谢鲁拉大戮力制作的TO繁中版patch ! 11/04 18:42
19F:推 pb220708:不推不行 11/05 06:34
20F:推 klt:推一下lu大之前的尽心尽力 11/05 09:04
21F:推 donation12:不推不行,厉害。 11/05 10:58
22F:推 conpo:感谢分享~ 11/05 13:20
23F:推 Lavu:推啊!! 11/05 23:58
24F:推 willkill:推推推 11/16 16:20