[心得] FC中文化经验谈(一)—作业前—

楼主: ADHI   2024-11-18 17:41:36
【前言】
看了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
大概就先这样。
作者: acd13141 (光小影)   2024-11-18 20:38:00
推!
作者: picefun (帆)   2024-11-18 21:16:00
现在还有在做老游戏中文化的,真的都是佛心来的
作者: kashin (小户长日记)   2024-11-18 21:39:00
推推
作者: bgworld (Solid)   2024-11-18 21:50:00
谢谢分享知识
作者: if4 (if)   2024-11-19 02:21:00
作者: msun (m桑)   2024-11-19 03:38:00
作者: Jay915 (平静的心…看世界)   2024-11-19 07:51:00
作者: tinyfan (小风扇)   2024-11-19 09:05:00
作者: playlive (player)   2024-11-19 22:16:00
作者: xxgreen (张比克)   2024-11-19 22:44:00
作者: djboy (雞尾酒)   2024-11-20 00:36:00
作者: dimlos637 (637)   2024-11-20 12:32:00
专业给推
作者: samyes (不买最赚)   2024-11-20 15:53:00
推~
作者: ijwbg (~{..}~)   2024-11-20 22:22:00
作者: aoirx (漩涡鸣人)   2024-11-21 10:00:00
作者: oginome (荻野目洋子)   2024-11-21 16:45:00
推!
作者: articlebear (政治真的满狗屁的)   2024-11-21 20:45:00
作者: WalkingIce ( 杀手哥吉拉 13)   2024-11-22 18:31:00
推!
作者: ksntw (ksn)   2024-11-24 08:15:00

Links booklink

Contact Us: admin [ a t ] ucptt.com