RomM固件目录怎么摆:gba_bios.bin放对位置,GBA游戏告别黑屏
【免费下载链接】rommA beautiful, powerful, self-hosted ROM manager and player.项目地址: https://gitcode.com/GitHub_Trending/rom/romm
点开 GBA 游戏,画面停在开机前的黑屏,模拟器提示"缺少 BIOS"。ROM 本身多数时候没问题,RomM 固件没摆对才是原因。核对好BIOS的文件名、存放目录和校验值,再触发一次扫描,游戏就能正常进标题画面。
绕不过去的原因:模拟主机必须有原厂固件
模拟器没法凭空模拟一台主机,必须有主机出厂自带的启动程序(BIOS)作底。RomM 扫描时会读取固件目录里的每个文件,计算CRC32、MD5、SHA1,再与仓库内置的校验数据库 backend/models/fixtures/known_bios_files.json 逐条比对——文件名、大小、校验值全部命中,该平台在固件管理页才会显示就绪。所以摆文件这件事有明确的"标准答案",照数据库来即可。
核对文件:名字与校验值先对死
RomM 匹配固件文件名区分大小写,Gba_Bios.BIN这种写法不会被识别。NDS 尤其容易踩坑:它的固件叫bios7.bin和bios9.bin,不叫nds_bios.bin。以 GBA 为例:
ls -l gba_bios.bin # 大小应为 16384 字节 md5sum gba_bios.bin # 期望 a860e8c0b6d573d191e4ec7db1b1e4f6验收点:命令输出的 MD5 与校验数据库完全一致,大小一字不差。对不上就是下载器存下了网页错误页,重下。
目录怎么摆:默认bios/{平台}/
RomM 默认在库根目录下的bios/里按平台分目录找固件:
library/ ├── roms/gba/pokemon.gba └── bios/ ├── gba/gba_bios.bin └── nds/ ├── bios7.bin └── bios9.bin固件不在默认位置?改配置,把structure.firmware指到你的实际布局({platform}会替换成平台缩写)。旧版配置里的firmware_folder已被模板写法取代,继续保留会在启动时报错退出:
filesystem: structure: firmware: "firmware/{platform}" # 相对库根目录验收点:按 examples/config.example.yml 的写法确认路径无拼写错误,且容器/进程对该路径有读权限。
触发扫描,确认平台就绪
回到前端"管理"页点一次扫描,等任务跑完,打开固件管理页查看各平台状态。
验收点:固件页中 GBA、NDS 等目标平台的条目变为就绪状态;再启动之前黑屏的 GBA 游戏,能正常进标题画面而不是停在黑屏。
常见平台固件参数对照
边放文件边对照,数据取自 backend/models/fixtures/known_bios_files.json:
| 平台 | 标准文件名 | 字节数 | CRC32 | MD5 |
|---|---|---|---|---|
| GBA | gba_bios.bin | 16384 | 81977335 | a860e8c0b6d573d191e4ec7db1b1e4f6 |
| GBC | gbc_bios.bin | 2304 | 41884e46 | dbfce9db9deaa2567f6a84fde55f9680 |
| NDS | bios7.bin | 16384 | 1280f0d5 | df692a80a5b1bc90728bc3dfc76cd948 |
| NDS | bios9.bin | 4096 | 2ab23573 | a392174eb3e572fed6447e956bde4b25 |
| FDS | disksys.rom | 8192 | 5e607dcf | ca30b50f880eb660a320674ed365ef7a |
| 64DD | 64DD_IPL.bin | 4194304 | 7f933ce2 | 8d3d9f294b6e174bc7b1d2fd1c727530 |
注:GBC 的cgb_boot.bin与 GBA 的gba_bios.bin是两个独立文件,别拿一个补另一个的位。
对号入座:四类常见卡点
- 固件页显示缺失,文件明明在→ 文件名大小写或用了自造名字 → 按上表重命名为标准名,重新扫描。
- 日志提示校验失败→ 文件损坏或存成了 HTML 错误页 → 先
ls -l看字节数是否与表一致,不一致就重下。 - 放完文件状态毫无变化→ 没触发扫描,或实际目录与配置不符 → 核对
structure.firmware指向的真实路径,再回管理页点扫描。 - 自定义平台文件夹识别不到→ 文件夹名不是 RomM 认的标准平台缩写 → 参照 examples/config.example.yml 中
system.platforms的映射写法,把你的文件夹对应到标准平台名。
最后三件事
- 文件名照数据库标准来:NDS 是
bios7.bin/bios9.bin,大小写严格。 - 默认摆
bios/{平台}/,非默认位置就在structure.firmware改模板,改完重新扫描。 - 入库前先用
md5sum核过校验值,比出问题后回头排查省事得多。
BIOS 属厂商版权内容,请只使用自己设备中合法提取的固件文件。
【免费下载链接】rommA beautiful, powerful, self-hosted ROM manager and player.项目地址: https://gitcode.com/GitHub_Trending/rom/romm
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考