SFC中文化經驗談(一)—工具篇— - 模擬器

Table of Contents

【雜言】
因為不久之後大概就再也沒空做中文化了,
所以趁現在印象還深,記錄一下相關的經驗好了。
又因為我是皇騎迷,所以只染指皇騎在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來說是如此。



--
一週後再來寫壓縮吧....大概....


--

--

All Comments

Xanthe avatarXanthe2012-11-05
大推~以前的遊戲要中文化真的很不容易~(遙目)
Agnes avatarAgnes2012-11-10
大推 終於等到反組譯和靜改的寶貴教學 期待系列文
Ivy avatarIvy2012-11-12
請受小的一拜 現在台灣還有心有力搞中文化的很少了
Ethan avatarEthan2012-11-14
這可不是傲嬌皇騎版主嗎?(誤)
Victoria avatarVictoria2012-11-17
我.....我才不是什麼傲嬌呢(正)
Elizabeth avatarElizabeth2012-11-19
感謝魯拉大戮力製作的TO繁中版patch!
Christine avatarChristine2012-11-19
應募過Lula大的中文化..It's good
Delia avatarDelia2012-11-23
想入門SFC中文化比FC難多了,推一個
Madame avatarMadame2012-11-27
跟現在的遊戲相比 古董遊戲的文本不一定比較少
既然都是要翻譯 何不做比較新的東西呢
Susan avatarSusan2012-11-30
因為最喜歡的還是SFC時代的皇騎劇情與世界觀
做新的遊戲也許能滿足別人 但完全滿足不了自己
Donna avatarDonna2012-12-02
如果是為了"服務大眾"而做 我大概3天就厭倦了...
Edwina avatarEdwina2012-12-04
感謝魯拉大戮力製作的TO繁中版patch !
Liam avatarLiam2012-12-05
感謝魯拉大戮力製作的TO繁中版patch !
Dinah avatarDinah2012-12-06
感謝魯拉大戮力製作的TO繁中版patch !
原來我以前用的就是魯拉大製作的~感恩啊~
Donna avatarDonna2012-12-08
感謝魯拉大戮力製作的TO繁中版patch !
Susan avatarSusan2012-12-11
不推不行
Ivy avatarIvy2012-12-13
推一下lu大之前的盡心盡力
Mary avatarMary2012-12-18
不推不行,厲害。
Gary avatarGary2012-12-22
感謝分享~
Andy avatarAndy2012-12-25
推啊!!
Yedda avatarYedda2012-12-26
推推推