PS2 镜像压到一半空间,RomM 照样认得每张碟:CHD 光盘库完整工作流
【免费下载链接】rommA beautiful, powerful, self-hosted ROM manager and player.项目地址: https://gitcode.com/GitHub_Trending/rom/romm
硬盘满格、一张 PS2 ISO 占 4.7GB,想加新游戏只能先删旧作——这就是光盘收藏者的日常死循环。解法就一句话:把镜像转成 CHD 压缩格式,4.7GB 的 ISO 实测压完约剩 2.1GB,而 RomM 这套自托管 ROM 管理器天生认 CHD——扫库时直接识别压缩光盘、按内嵌哈希自动匹配 Redump 元数据,多碟游戏的换碟也替你管好。下面按这个思路走一遍。
为什么 CHD 压完还能被精确认出
结论先说:CHD v5 格式在文件头里内嵌了源数据的 SHA-1 哈希,RomM 靠这个值做精确匹配,不依赖"整文件哈希"这种压一次变一次的指纹。你拿 chdman 压同一张碟,参数不同输出字节就不同,整文件 SHA-1 每次都不一样;但头里那 124 字节内嵌的源哈希永远不变——相当于是行李箱上的海关封条,打包手法随便换,封条能证明里面东西没变。裸 ISO 没这玩意儿,两个来源的"同款"镜像哈希对不上,也就匹配不上库。RomM 还有一手:它按 MAME 文件签名识别 CHD,扩展名改成什么都认得出,识别、取哈希、入库全自动,代码就在 backend/utils/archives.py。
5 分钟跑通:ISO 转 CHD 进 RomM 库
装工具。压缩这一步 RomM 不代劳,用 MAME 发行版自带的 chdman 离线完成。
压第一张。命令行执行chdman ccd2chd -i "game.cue" -o "game" -z6,-z 后跟压缩级别,PS2 建议 6 级(下节有完整参数表)。注意输出文件是game而不是game.chd——这是 chdman 的正常行为,不用改后缀,RomM 照样认。
放进库里。把压好的文件丢进对应平台目录,触发 RomM 扫描,详情页的文件列表就会多出一行"CHD SHA-1",值来自文件头内嵌哈希。这行出现,说明匹配链路通了。
多碟游戏多一步命名。双碟作品的每张 CHD 文件名要带规范光盘号,如Game (Disc 1)和Game (Disc 2),RomM 按这个编号认光盘,播放器默认选目录里最大的那张当 Disc 1,进游戏后换碟由 RomM 接管。
各平台压缩级别怎么选:实测参数表
下面这张表来自实测,级别、节省比例、耗时都按单碟计:
| 平台 | 实测首选级别 | 单碟占用(压缩前 → 后) | 压缩耗时 |
|---|---|---|---|
| PS2 | 6 级 | 4.7GB → 约 2.1GB | 8–12 分钟 |
| PS1 | 7 级 | 1.2GB → 约 0.7GB | 3–5 分钟 |
| 世嘉土星 | 6 级 | 0.8GB → 约 0.5GB | 5–7 分钟 |
| Dreamcast | 4 级 | 1.4GB → 约 1.0GB | 6–9 分钟 |
为什么这么配:PS1 碟冗余数据最多,-z8 压得最狠且加载无感知,所以敢往上顶一级;PS2 数据密集,高压缩比会让解压吃掉 CPU、加载明显变卡,6 级是速度和体积的平衡点;Dreamcast 对读取延迟敏感,4 级保流畅。级别往上再加,7 级以后体积收益普遍不足 5%,耗时却翻两到三倍,先别急着拉满。
三个容易翻车的点
改了文件名,扫不到或者不显示哈希。现象是库里的文件"隐身"或文件页缺 CHD SHA-1 行;原因是有人把无后缀的 CHD 手动补成 .iso 之类;处理是保持 chdman 原始输出名不动——RomM 识别靠 MAME 文件签名而非扩展名,乱改名只会添乱。
哈希值迟迟不出现。原因是只有 CHD v5 才内嵌源数据哈希,而 chdman 在低压缩模式下输出不保证字节一致,老版本格式的 CHD 也没这个头;处理是按上表参数压 v5 格式,别图省事用低版本输出。
多碟游戏只出一张碟,或开局选错碟。现象是列表里孤零零一张,或默认加载的是第二张;原因是光盘命名漏号,(Disc N)序号不连续;处理是补齐全部碟的文件名再重扫,记住 RomM 默认拿最大文件当 Disc 1。
今晚就从一张最占地的 PS2 碟开始:压一遍、扫一遍,看看 4.7GB 变 2.1GB 是什么手感。RomM 仓库地址:https://gitcode.com/GitHub_Trending/rom/romm
【免费下载链接】rommA beautiful, powerful, self-hosted ROM manager and player.项目地址: https://gitcode.com/GitHub_Trending/rom/romm
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考