MAME、FBA、Kawaks这些模拟器,作弊菜单里显示的选项默认全是英文,就算把模拟器界面调成中文也没用。原因是作弊描述直接存在数据文件里,语言包管不到。想让它们变成中文,要么换一个别人汉化好的作弊文件,要么自己把文件里的描述字段改写。
先拿MAME举例。0.139版本之后的作弊文件是XML结构,放在模拟器根目录的cheat文件夹中,文件名一般是cheat.dat。用Notepad++或者VS Code打开这个文件,找到对应游戏的节点,每个
FBA的作弊文件有点不同。它的作弊包是一个压缩包,比如fba_cheats.zip,解压后每个游戏对应一个txt文件。这些txt的格式很自由,常见的有两种。一种类似“[Cheat 1]”“Desc=Player 1 Infinite Lives”“Code=0:978C:00”,另一种是纯文本描述和地址。把Desc=后面的英文替换成中文,比如“玩家1无限生命”。保存时用UTF-8编码,再压缩回zip。注意压缩时不要把外层文件夹打进去,要让txt直接位于zip根部,否则模拟器找不到。
Kawaks就更简单了。它的作弊文件是kawaks cheat.dat,打开后每条作弊占几行,格式类似“Game: 1941; Cheat: Infinite Lives; Code: ...”。把“Cheat:”后面的英文改成中文,保存为ANSI或者UTF-8都可以。Kawaks对编码的兼容性较好,但用记事本保存时默认ANSI,如果显示乱码就另存为UTF-8。
自己汉化一条两条还行,整个作弊文件几百个游戏,手改不现实。这时候得靠工具了。老玩家常用的是CheatMaker,虽然界面很旧,但能批量导入导出MAME的cheat.dat。具体做法是:用CheatMaker打开cheat.dat,选择导出为文本,用Excel或批量编辑工具把英文描述翻译成中文,再导回去生成新的dat文件。这个过程需要一点脚本知识,比如用正则表达式提取description="...""里的内容,翻译后替换。但要注意,不同版本的MAME对cheat.dat的结构要求不一样,0.139和0.221的字段名称有差异,导出导入时要选对版本。

另外,有一些模拟器整合包自带中文作弊文件,比如MAME Plus!和FBA shuffle系列。这些整合包里的作弊文件是作者提前汉化的,直接拿过来用就行。不过它们对应的模拟器版本可能较老,新版MAME用不了,因为作弊地址会变。所以找一个与当前模拟器版本匹配的中文作弊包,比什么都重要。
有个容易被忽略的点是字体。作弊菜单里的中文字体取决于模拟器UI使用的字体。MAME的默认UI字体在某些系统上不支持中文,导致显示成方块。解决办法是在模拟器里设置字体为“SimSun”或“Microsoft YaHei”。如果界面语言是英文,但字体支持中文,也能正常显示。FBA一般没这个问题,它用的是系统默认字体。
修改之前,备份原文件是必须的。作弊文件都有一定体积,MAME的cheat.dat可能超过20MB,备份只是复制一份而已。改的时候分批测试,别一次改全面。比如先改一个游戏的两三条,确认模拟器能读取,再继续。如果作弊菜单整个消失,多半是文件结构坏了,或者存错了编码。这时把备份覆盖回去,重新来。
最后提一句,街机模拟器作弊文件中文设置,说到底就是翻译和编码两个环节,抓住这两点,就不容易出问题了。