本文轉貼自PTT
台灣最大的本土社群網站
分享這篇文章到Facebook、Google+或噗浪!
作者
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
推
oginome
:大推∼以前的遊戲要中文化真的很不容易∼(遙目)
11/04 00:13
推
tonybin
:大推 終於等到反組譯和靜改的寶貴教學 期待系列文
11/04 00:47
推
qazxswptt
:請受小的一拜 現在台灣還有心有力搞中文化的很少了
11/04 03:05
推
UlyssesLin
:這可不是傲嬌皇騎版主嗎?(誤)
11/04 07:16
→
lulaptt
:我.....我才不是什麼傲嬌呢(正)
11/04 07:34
推
EDGE
: 感謝魯拉大戮力製作的TO繁中版patch!
11/04 09:26
→
remina
:應募過Lula大的中文化..It's good
11/04 10:02
推
ADHI
:想入門SFC中文化比FC難多了,推一個
11/04 10:05
推
arcadyii
:跟現在的遊戲相比 古董遊戲的文本不一定比較少
11/04 10:06
→
arcadyii
:既然都是要翻譯 何不做比較新的東西呢
11/04 10:06
→
lulaptt
:因為最喜歡的還是SFC時代的皇騎劇情與世界觀
11/04 11:03
→
lulaptt
:做新的遊戲也許能滿足別人 但完全滿足不了自己
11/04 11:03
→
lulaptt
:如果是為了"服務大眾"而做 我大概3天就厭倦了...
11/04 11:04
推
mron
: 感謝魯拉大戮力製作的TO繁中版patch !
11/04 15:24
推
djboy
: 感謝魯拉大戮力製作的TO繁中版patch !
11/04 15:38
推
oginome
: 感謝魯拉大戮力製作的TO繁中版patch !
11/04 18:38
→
oginome
:原來我以前用的就是魯拉大製作的∼感恩啊∼
11/04 18:38
推
US5566
: 感謝魯拉大戮力製作的TO繁中版patch !
11/04 18:42
----本文使用PCMAN+BBI轉貼----
※ 新版PCMAN開放測試中,新增功能:
自動登入PTT
PTT全文搜尋
分享PTT文章到Facebook、噗浪與Google+
預覽影片與圖片
用PCMAN+BBI連回
PTT原文