ROM CRC 不匹配 版本太旧与审计工具定位
什么是 CRC 不匹配
每个 ROM ZIP 内部的芯片文件都有固定的 CRC32 校验码(可以理解为文件的"指纹")。WinKawaks 内部维护一张对照表:对于每款它支持的游戏,列出该游戏所有必需芯片文件的 CRC 值。
CRC 不匹配 = 你手上的 ROM ZIP 内部某个(或全部)芯片文件的 CRC 值和模拟器对照表里的对不上。
为什么会不匹配
原因一:ROM 版本太旧
最常见的原因。模拟器的驱动对照表会随着版本更新而变化:
- 2001 年 Kawaks 1.0 发布时,某款游戏的驱动按 CRC A 识别
- 2002 年 Kawaks 1.20 更新时,驱动改成按 CRC B 识别(新发现了更准确的 ROM 集描述)
- 2026 年 Kawaks 1.65 的对照表可能又改了
你手上的 ROM 可能是从 2003 年的老资源站下载的,当时能跑,现在 1.65 版本模拟器按新标准扫就不认了。
原因二:Bootleg 盗版本
Bootleg(盗版)版本的 ROM 是被修改过的——芯片数据被反向工程后重新打包,CRC 值和正版 ROM 完全不同。模拟器对照表按正版标准,Bootleg 版本自然不匹配。
常见 Bootleg 特征:
- 游戏 ZIP 名里带 hack、modified、bootleg、破解等字样
- 某些 Hack Plus 版、魔改版可能不被官方对照表包含
- 游戏标题画面明显写着"Plus"、"Special"、"Remix" 等字样
原因三:下载损坏
ZIP 文件下载不完整、磁盘坏道、传输过程中数据损坏都可能导致文件内容(和 CRC)变化。用 7-Zip 打开 ROM ZIP 试试能不能正常解压——解压报错就是损坏了,重新下载。
原因四:ROM 套娃或解压错误
- ROM ZIP 内部又套了一层 ZIP
- ROM 被解压成散片放在 roms/ 里
- 手动修改了 ZIP 内部的文件名
这些也会导致 CRC(或至少文件名匹配)失败。
定位方法:Audit ROMs
WinKawaks 内置了 ROM 审计工具,能生成一份详细的 ROM 匹配报告:
运行审计
- 打开 Load Game 对话框(File → Load Game)
- 点击底部的 Audit 按钮(某些版本在 Tools 菜单下 → Audit ROMs)
- 等待审计完成(ROM 越多越慢,几百款扫几秒到几十秒)
- 审计报告自动保存到 WinKawaks 根目录,文件名通常是
WinKawaks Audit.txt
阅读报告
用记事本打开 WinKawaks Audit.txt,每款游戏一行:
The King of Fighters 97 (World)
ROM SET: OK (ALL FILES MATCH) ← ✅ 完全匹配
Metal Slug 1 (World)
ROM SET: INCOMPLETE
mslug_p1.bin: MISSING
mslug_p2.bin: CRC MISMATCH (expected AAAAA, got BBBBB) ← ❌ 芯片 CRC 不对
三种状态:
| 状态 | 含义 |
|---|---|
| OK | 完全匹配,游戏能正常加载 |
| INCOMPLETE | 文件缺失或 CRC 不匹配 |
| NOT TESTED | 模拟器不检测(某些游戏驱动没支持) |
解决方法
情况一:INCOMPLETE + CRC MISMATCH(单文件)
某个芯片文件 CRC 不对,其他都对:
- 说明你的 ROM ZIP 基本正确,只是这个芯片文件有问题
- 从完整 ROM 集里找到正确的芯片文件(用 RomCenter 或 CLRMamePro 补全工具自动下载正确版本)
情况二:INCOMPLETE + 多个文件
整包 CRC 都不对:
- 大概率是版本太旧或 Bootleg 版本
- 找到模拟器论坛或资源站上标注"CRC 匹配 Kawaks 1.65"的完整 ROM 集重新下载
情况三:完全没有 ROM SET 记录
审计报告里没有提到这款游戏:
- 可能是模拟器根本不支持的游戏(WinKawaks 只支持 CPS1/CPS2/Neo Geo,其他基板不管)
- 检查 WinKawaks 版本是否足够新
用 ROM 管理工具辅助
RomCenter 和 CLRMamePro 是两款业界标准的 ROM 集管理工具,能:
- 扫描你的 ROM 集合,自动对照模拟器的 ROM DB(ROM 数据库)
- 标出每款游戏的状态(OK / Missing / Wrong CRC / Unknown)
- 自动下载缺失的芯片文件(需要连接带更新服务器的资源站)
推荐在用 WinKawaks 之前先用 CLRMamePro 或 RomCenter 过一遍 ROM 集合,把 CRC 不匹配的提前修正好。