主题 : 【讨论】DC redump规范与CHD互转当前最佳方案(科普+翻译+工具转载)
级别: 模拟专家
UID: 89721
精华: 0
发帖: 87
威望: 0 星
金钱: 2275 浮游币
贡献值: 127 点
好评度: 240 点
人气: 1 点
在线时间: 253(时)
注册时间: 2005-12-22
最后登录: 2024-12-21
楼主  发表于: 2021-12-05 00:06

【讨论】DC redump规范与CHD互转当前最佳方案(科普+翻译+工具转载)

先说结论:

目前最佳互转方案:

redump → CHD
官方chdman 转 cue+bin

CHD → redump
改版chdman 转 chd


简介:CHD 文件格式是一种无损压缩转储格式,用于存储镜像。数据轨道采用 LZMA 压缩,音频轨道采用 FLAC 压缩。它的压缩率是≥ 7z 压缩的。(7z不支持 FLAC 压缩,对音轨依然采用数据方式而力不从心)
除了压缩率,CHD最大的优点是:支持随机读取。传统的zip,7z压缩基于文件压缩,没有文件块索引,无法对文件内的数据块精确定位,所以如果需要读取压缩包内某一文件的某一块数据时,需要解压缩整个文件。而CHD压缩基于文件块索引。需要某一块数据,不需要解压缩整个文件,能像定位光盘 LBA一样准确定位。另外此转换也是可逆的,不喜欢了可以无损回原镜像,文件具有相同的校验。另外CHD也是带校验的。用verify 命令可冶ΡΓ验文件是否被损坏或者修改。现在新的模拟器基本都支持这种存储格式。可以预见,随着模拟技术的推进,mame作为行业龙头的规范效应,会有越来越多的模拟器和玩家对这种格式持欢迎态度。

当前官方CHD转换工具,CHDMAN对DC镜像支持不足。(DC家用机还未纳入MAME仿真的范畴)。

官方CHDMAN目前已知的问题:
1. redump规范 gdi + bin 转储 CHD 可逆转为 gdi+bin ,文件名有改变,不过bin 文件校验匹配。2. redump规范 cue + bin 转储 CHD 用官方CHDMAN不可逆转.转回 cue + bin ,cue丢失镜像低/高密度信息,bin变为合并镜像。转回 gdi + bin ,部分轨道(通常是第二轨)大小和校验不匹配。
2. Dreamcast MIL-CD (CD规格发售的带(Unl)标记的游戏,例如Pier Solar and the Great Architects (USA) (Unl),Sturmwind (Europe) (Unl) )转储压缩到 .CHD 不能被主流模拟器(retroarch, flycast, demul)识别。

而且,redump.org 从几个月前就取消了对 gdi + bin 的支持,虽然后来因为抗议声大又重新放出。但是gdi 文件本身已经不再更新(现在官网上能下载到的gdi索引文件已经是旧版)。而且Datfile也没了gdi文件的校验,用GDI-Utils作者的话说:Redump.org GDI 和 通用 GDI 虽然有相同的文件扩展名“.gdi”,但是有些许差异。详见此
www 点 romhacking.net/utilities/1449/

由此可见未来的规范依然是 cue+bin

那么,如果在DC redump 和 CHD 之间完美互转有几种方法呢?
1. 官方CHDMAN + Redump gdi+bin ,目前redump 官网能下载到gdi索引,但是有部分缺失。缺失的可以用 cue 转 gdi 索引工具。 Gdi2CHD.zip (773 K) 下载次数:57
    CHD 转回 Redump 如果用官方CHDMAN,只能输出gdi格式。输出后的gdi +bin 需要手动改名以匹配Redump规范。
2. 改版chdman chdman (1).zip (1678 K) 下载次数:78 此改版基于chdman0.237.可以完美转换 官方CHDMAN+Redump cue+bin转换的CHD文件回到Redump cue+bin规范。已有网友实验转换redump全套cue+bin → CHD 又转回 CHD → cue+bin 全部通过CM校验

cue2gdi 出处:
forum 点 batocera.org/d/4668-dreamcast-emulators-and-the-chd-compressed-file-format-support

改版chdman及源代码出处:
github 点 com/mamedev/mame/pull/7717
此链接有大量关于DC gdi的技术讨论,非常精彩。可惜mame官方给与了关闭
[ 此帖被lanyer在2021-12-08 13:57重新编辑 ]
本帖最近评分记录:
  • 人气:+1(willzyj) 辛苦了,送你 1 点人气
  • 金钱:+10(YZB) 辛苦了,送你 1 点人气
  • 是你啦!嗯!
    级别: 模拟小生
    UID: 320308
    精华: 0
    发帖: 140
    威望: 0 星
    金钱: 45 浮游币
    贡献值: 0 点
    好评度: 420 点
    人气: 0 点
    在线时间: 254(时)
    注册时间: 2012-03-15
    最后登录: 2024-12-21
    沙发  发表于: 2022-01-21 02:20

    很实用的工具,感谢分享
    拜托!偶不会!