ROM 目录详解 四个扫描路径与特殊处理
四个扫描路径的优先级
WinKawaks 在 Rescan all 时按以下顺序扫描:
roms/(根目录) → 任何基板的 ROM ZIP 直接放这里都能被识别roms/cps1/→ CPS1 基板专用roms/cps2/→ CPS2 基板专用roms/neogeo/→ Neo Geo 基板专用
模拟器不会因为你把 CPS2 的 ROM 放进了 roms/neogeo/ 就不认识——它会读 ZIP 内部 CRC 来判断基板归属,然后正确分组。但按基板分子目录是个好习惯。
特殊文件:neogeo.zip
Neo Geo BIOS 文件(neogeo.zip)有特殊处理:
- 必须放在
roms/根目录 或roms/neogeo/子目录之一 - 不要同时放两个位置
- 不要解压这个 ZIP(内部有 NEO-GEO.ROM、NG-SFIX.ROM 等)
两种放置方式的区别:
| 放置位置 | 效果 |
|---|---|
roms/neogeo.zip | 推荐,和其他 Neo Geo 资源在同一层 |
roms/neogeo/neogeo.zip | 也能识别,更整洁 |
子目录可以多层嵌套吗
不行。WinKawaks 只扫描固定的四个路径,不递归更深的子目录:
roms/
├── cps1/ ← ✅ 扫描
│ ├── sf2t.zip ← ✅ 直接在这一层,识别
│ └── 子文件夹/ ← ❌ 不会扫描更深
│ └── dino.zip
└── cps2/ ← ✅ 扫描
所以 ROM ZIP 文件必须直接放在 roms/ 或三个子目录的第一层,不能再套子文件夹。
能不能改默认 ROM 路径
可以。编辑 winkawaks.ini:
[WinKawaks]
DefaultROMPath=D:\MyRoms
改成绝对路径后,模拟器会直接从你指定的目录扫描 ROM,不再读原始的 roms/ 相对路径。
ROM 目录移动后要做什么
如果你把整个 roms/ 文件夹从 D:\WinKawaks\roms\ 移到了 D:\MyRoms\:
- 编辑 winkawaks.ini 的 DefaultROMPath 改成新路径
- 重新启动 WinKawaks
- 打开 Load Game 对话框 → Rescan all
- 游戏列表会重新生成,Only Available 应该能列出你所有的游戏
为什么子目录默认不存在
roms/cps1/、roms/cps2/、roms/neogeo/ 这三个子目录安装时默认不存在,需要你自己手动创建。
这是因为 WinKawaks 的设计哲学很简单:ROM 就是 ZIP 文件,直接丢 roms/ 根目录就行。分子目录只是为了方便人类管理,不是模拟器的硬性要求。如果你觉得没必要分类,所有 ROM 直接丢 roms/ 根目录也完全正常。