[心得] FC中文化經驗談(一)—作業前—

看板Emulator (模擬器)作者時間21小時前 (2024/11/18 17:41), 編輯推噓8(800)
留言8則, 8人參與, 5小時前最新討論串1/1
【前言】 看了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, 18小時前 , 1F
推!
11/18 20:38, 1F

11/18 21:16, 17小時前 , 2F
現在還有在做老遊戲中文化的,真的都是佛心來的
11/18 21:16, 2F

11/18 21:39, 17小時前 , 3F
推推
11/18 21:39, 3F

11/18 21:50, 16小時前 , 4F
謝謝分享知識
11/18 21:50, 4F

11/19 02:21, 12小時前 , 5F
11/19 02:21, 5F

11/19 03:38, 11小時前 , 6F
11/19 03:38, 6F

11/19 07:51, 6小時前 , 7F
11/19 07:51, 7F

11/19 09:05, 5小時前 , 8F
11/19 09:05, 8F
文章代碼(AID): #1dEmlOjS (Emulator)
文章代碼(AID): #1dEmlOjS (Emulator)