看板 Emulator 關於我們 聯絡資訊
【前言】 看了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
acd13141: 推! 11/18 20:38
picefun: 現在還有在做老遊戲中文化的,真的都是佛心來的 11/18 21:16
kashin: 推推 11/18 21:39
bgworld: 謝謝分享知識 11/18 21:50
if4: 推 11/19 02:21
msun: 推 11/19 03:38
Jay915: 推 11/19 07:51
tinyfan: 推 11/19 09:05
playlive: 推 11/19 22:16
xxgreen: 推 11/19 22:44
djboy: 推 11/20 00:36
dimlos637: 專業給推 11/20 12:32
samyes: 推~ 11/20 15:53
ijwbg: 推 11/20 22:22
aoirx: 推 11/21 10:00
oginome: 推! 11/21 16:45
articlebear: 推 11/21 20:45
WalkingIce: 推! 11/22 18:31
ksntw: 推 11/24 08:15