[心得] FC中文化經驗談(一)—作業前—置底
【前言】
看了lula大的SFC中文化經驗談後就有想法也寫一下自己做FC中文化的一些心得,
但一直沒付諸行動,趁著最近有點動力,趕快讓自己動手,
希望不要爛尾 XD
【正文】
本篇想先說些開始作業前一些我覺得先了解會有幫助的事項,
當然僅止於我了解的,可能有所謬誤,還請協助指正。
==========================================================================
一、關於紅白機
1. NES格式的檔案區塊
NES格式分三個區塊,依存放順序為Header、PRG-ROM、CHR-ROM,
通常情況下PRG是儲存程式碼及資料的,CHR是儲存圖形,
但本質上都是資料,所以也有把非圖形資料存在CHR的案例,
而Header應該是給模擬器使用的,
主要用來標示遊戲的Mapper、PRG和CHR的大小等資訊,
因此如果沒有Header,有些模擬器會無法開啟;
PRG、CHR個別遊戲大小不一定,Header則是固定16Bytes放在檔案前。
(圖:光神話的Header資訊,標示[iNes]的內容皆來自前16Bytes)
https://meee.com.tw/sirFyzT
(圖:超級瑪利歐將部分資料寫在CHR裡(紅框處))
https://meee.com.tw/YjpseBr
2. 主機的記憶體
CPU RAM: 要執行的程式或資料都要放進這裡,
其中0x8000~0xFFFF(後32KByte)會映射卡匣裡的PRG-ROM
PPU RAM: 要顯示的圖形都要放進這裡
其中0x0000~0x1FFF放Tile,中文化要改動的字庫就在這裡
3. Mapper
由於主機能映射卡匣的PRG位置只有0x8000~0xFFFF(32KByte),
Tile也只能放進PPU的0x0000~0x1FFF(8Kbyte),
初期遊戲如超級瑪利歐1(PRG:32K、CHR:8K)剛剛好可以全部載入沒什麼問題,
但大一點的遊戲就會爆掉,例如前述提到的光神話PRG就有128K,超出FC的規格,
所以FC用Mapper來讓開發者決定哪一區塊的PRG或CHR放進RAM裡,
除非可以維持檔案大小不變(卡匣未使用的空間夠多),
不然要做中文化大概率避免不了要跟Mapper打交道。
4. CHR-ROM
開發者可以決定把哪一區塊(Bank)的CHR-ROM放進記憶體,
所以每次要切換進PPU的大小是以區塊為單位,
而每區塊實際多大要看使用的Mapper規範,
這種方式好處是不管多大的圖形量都可以在一瞬間全部切進VRam,
壞處就是不靈活,每一區塊內容一開始就固定了,
所以得預先將要同時出現的圖形整理在同一區塊裡,
但我個人喜歡這類型的ROM。
5. CHR-RAM
有些遊戲沒有CHR-ROM,圖形資料是存PRG-ROM裡,
要顯示時是1Byte 1Byte寫進PPU RAM的,
這類遊戲使用的就是CHR-RAM,前述提到的光神話也在此列。
==========================================================================
二、工具
工具方面,lula大提到的的工具除模擬器外都可以適用,
故只需挑選好用的FC模擬器即可,
我個人目前是用Mesen,
但其實任一款有附帶debugger的模擬器都可以,
只是更強大的工具自然可以更好的完成工作,
所以除了debugger(用來看程式碼)外,
最好也要有Memory edit(直接修改CPU、PPU的記憶體內容)、
PPU Viewer(圖形化顯示PPU RAM)等功能;
一開始我使用fceuxdsp,後來使用fceux(fceu系列的最終版),現在則使用Mesen
==========================================================================
三、Mesen
大概介紹一下會用到的功能
1. Tools -> Log Window(查看ROM的格式)
https://meee.com.tw/sirFyzT
2. Debug -> Debugger(查看原始碼、中斷點設定)
https://meee.com.tw/AQtO7VN
3. Debug -> Memory Tools (檢視所有記憶體內容,最常會觀察的是CPU和PPU)
https://meee.com.tw/xWyvhAq
4. Debug -> PPU Viewer(圖形化顯示PPU RAM)
https://meee.com.tw/lapLSVj
大概就先這樣。
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 123.192.217.145 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Emulator/M.1731922904.A.B5C.html
推
11/18 20:38,
1月前
, 1F
11/18 20:38, 1F
推
11/18 21:16,
1月前
, 2F
11/18 21:16, 2F
推
11/18 21:39,
1月前
, 3F
11/18 21:39, 3F
推
11/18 21:50,
1月前
, 4F
11/18 21:50, 4F
推
11/19 02:21,
1月前
, 5F
11/19 02:21, 5F
推
11/19 03:38,
1月前
, 6F
11/19 03:38, 6F
推
11/19 07:51,
1月前
, 7F
11/19 07:51, 7F
推
11/19 09:05,
1月前
, 8F
11/19 09:05, 8F
推
11/19 22:16,
1月前
, 9F
11/19 22:16, 9F
推
11/19 22:44,
1月前
, 10F
11/19 22:44, 10F
推
11/20 00:36,
1月前
, 11F
11/20 00:36, 11F
推
11/20 12:32,
1月前
, 12F
11/20 12:32, 12F
推
11/20 15:53,
1月前
, 13F
11/20 15:53, 13F
→
11/20 22:22,
1月前
, 14F
11/20 22:22, 14F
推
11/21 10:00,
1月前
, 15F
11/21 10:00, 15F
推
11/21 16:45,
1月前
, 16F
11/21 16:45, 16F
推
11/21 20:45,
1月前
, 17F
11/21 20:45, 17F
推
11/22 18:31,
4周前
, 18F
11/22 18:31, 18F
推
11/24 08:15,
4周前
, 19F
11/24 08:15, 19F
Emulator 近期熱門文章
PTT遊戲區 即時熱門文章
395
493