CHD формат файла: назначение, открытие и конвертация

Эмулятор MAME отказывается запускать игру, а в папке roms лежит файл с расширением .chd, который не распознаёт ни один архиватор — типичная ситуация, с которой сталкиваются пользователи при настройке ретро-эмуляции. Формат CHD (Compressed Hunks of Data) — это специализированный контейнер для хранения образов дисков, жёстких дисков и лазерных носителей аркадных автоматов и игровых консолей, и открыть его «двойным кликом» нельзя.

Формат был разработан командой MAME как способ компактно хранить точные копии оптических дисков без потери данных. В отличие от обычных ISO-образов, CHD использует сжатие без потерь, что заметно уменьшает размер файлов при полном сохранении структуры оригинального носителя. Разберёмся, зачем нужен этот формат, какие программы с ним работают и как выполнить конвертацию без ошибок.

Что такое CHD и зачем он нужен

CHD — это не просто архив, а образ диска со сжатием, разбитый на блоки («hunks»). Такая структура позволяет эмулятору читать нужные участки данных напрямую, не распаковывая файл целиком в оперативную память. Это критично для образов CD и DVD, размер которых в несжатом виде исчисляется сотнями мегабайт или гигабайтами.

Формат применяется в нескольких сценариях:

  • 💿 хранение образов CD и DVD игр для эмуляторов консолей (PlayStation, Sega Saturn, Dreamcast);
  • 🕹️ дампы жёстких дисков и лазердисков аркадных автоматов для MAME;
  • 💾 образы дисков для эмуляторов старых компьютеров;
  • 📦 компактное архивное хранение больших коллекций образов.

Важно понимать: CHD-файл обычно работает в паре с ROM-набором. Например, в MAME архив с ROM содержит программный код автомата, а CHD — данные с его жёсткого диска или лазердиска. Без одного из компонентов игра не запустится.

Где используется формат CHD

Основная экосистема формата — эмуляторы. Первичным «потребителем» остаётся MAME, но со временем поддержку CHD добавили и другие проекты: эмуляторы консолей из семейства RetroArch (через соответствующие ядра), некоторые standalone-эмуляторы PlayStation, Saturn и Dreamcast. Список поддерживаемых систем зависит от конкретного эмулятора и версии ядра, поэтому перед подготовкой коллекции стоит свериться с документацией выбранного эмулятора.

Некоторые эмуляторы принимают CHD только определённой версии формата. За время существования спецификации выходило несколько ревизий, и старые сборки эмуляторов могут не читать файлы, созданные свежими версиями утилит. Если игра не запускается с ошибкой чтения образа — одна из возможных причин именно несовместимость версий.

⚠️ Внимание: не переименовывайте CHD-файлы произвольно. В MAME имя файла и папки жёстко привязано к названию ROM-сета — после переименования эмулятор просто не найдёт образ.

Чем открыть и запустить CHD-файл

Прямого ответа «дважды кликните» здесь нет: CHD не предназначен для просмотра содержимого как папки. Файл открывается эмулятором в момент запуска игры. Порядок действий зависит от программы, но общая логика такова: образ помещается в предусмотренную эмулятором директорию, после чего игра загружается штатным способом.

Для MAME типичная структура выглядит так: в каталоге roms создаётся папка с именем игры, внутрь кладётся CHD-файл, а сам ZIP-архив с ROM остаётся рядом в roms. Точное расположение может отличаться в зависимости от настроек путей в конфигурации эмулятора — проверьте раздел директорий в файле настроек вашей сборки.

📊 Для какой цели вам понадобился формат CHD?
Запуск игр в MAME
Эмуляция PlayStation
Эмуляция Sega Saturn/Dreamcast
Конвертация в ISO или BIN/CUE

Утилита chdman: конвертация и проверка

Официальный инструмент для работы с форматом — консольная утилита chdman, входящая в комплект MAME. Она умеет создавать CHD из образов, извлекать данные обратно, проверять целостность и выводить информацию о файле. Утилита работает из командной строки, графического интерфейса у неё нет.

Типовые операции выглядят следующим образом. Проверка целостности образа:

chdman verify -i image.chd

Просмотр сведений о файле (версия формата, тип носителя, размер):

chdman info -i image.chd

Перед конвертацией полезно пройтись по короткому чек-листу:

☑️ Подготовка к конвертации CHD

Выполнено: 0 / 4

⚠️ Внимание: конвертация большого образа может занять заметное время и нагрузить диск. Не прерывайте процесс — недописанный CHD-файл будет непригоден, и операцию придётся начинать заново.

Как конвертировать CHD в ISO, BIN/CUE и обратно

Обратная конвертация нужна, когда эмулятор не поддерживает CHD или требуется записать образ на физический носитель. Для извлечения CD-образа в пару BIN/CUE используется команда вида:

chdman extractcd -i image.chd -o output.cue -ob output.bin

Обратное преобразование — из BIN/CUE в CHD — выполняется командой создания образа, где входным файлом указывается именно .cue, а не .bin: CUE содержит карту дорожек, без которой корректный образ CD не собрать. Это самая частая ошибка при конвертации многодорожечных дисков — если указать BIN напрямую, структура аудиодорожек будет потеряна.

Для образов жёстких дисков применяются другие подкоманды (createhd, extracthd). Точный синтаксис зависит от версии утилиты, поэтому актуальные параметры стоит смотреть через встроенную справку chdman --help или документацию вашей версии MAME.

Сравнение CHD с другими форматами образов

Чтобы понять, когда CHD оправдан, а когда проще оставить классический формат, полезно сопоставить характеристики:

ФорматСжатиеМногодорожечные CDЧтение без полной распаковки
CHDДа, без потерьДаДа
ISOНетНет (только данные)Да
BIN/CUEНетДаДа
ZIP-архив образаДаЗависит от содержимогоНет

Из таблицы видно главное преимущество: CHD сочетает сжатие с возможностью прямого чтения. Обычный ZIP с образом внутри эмулятору придётся распаковывать целиком, что для CD-образов неудобно и медленно.

Почему CHD экономит место без потери качества

В формате используется сжатие без потерь по блокам: каждый участок данных сжимается независимо, а рядом хранится индекс для быстрого доступа. При чтении эмулятор распаковывает только нужный блок. Благодаря этому итоговый файл полностью эквивалентен оригинальному образу — после обратной конвертации контрольные суммы совпадают.

Типичные проблемы и их решение

Если игра не стартует, вам нужно локализовать источник сбоя, а не переустанавливать всё подряд. Начните с проверки самого файла через chdman verify — битый образ сразу себя выдаст. Далее проверьте, что CHD лежит в правильной папке и его имя соответствует ожиданиям эмулятора.

Вторая группа причин — несовместимость версий. Образ, созданный новой версией chdman, может не читаться старым эмулятором. Решение — либо обновить эмулятор, либо пересоздать CHD с параметрами совместимости, если ваша версия утилиты это позволяет. Третья типичная ситуация: ROM-сет и CHD относятся к разным ревизиям игры, и эмулятор сообщает о несовпадении контрольных сумм. Здесь поможет только подбор согласованного комплекта файлов.

FAQ: частые вопросы о формате CHD

Можно ли смонтировать CHD как виртуальный диск в Windows?

Штатными средствами Windows — нет, система не распознаёт этот формат. CHD предназначен для чтения эмуляторами. Если образ нужен как виртуальный диск, сначала сконвертируйте его в ISO или BIN/CUE через chdman, а затем монтируйте полученный файл.

Чем открыть CHD без эмулятора?

Единственный штатный инструмент — утилита chdman из комплекта MAME. С её помощью можно извлечь содержимое образа в стандартные форматы. Архиваторы вроде 7-Zip формат не поддерживают.

Почему MAME пишет, что CHD не найден, хотя файл на месте?

Наиболее вероятные причины: файл переименован, лежит не в той подпапке внутри roms или путь к ROM-директориям в настройках эмулятора указывает на другой каталог. Сверьте имя папки и файла с названием ROM-сета и проверьте конфигурацию путей.

Теряется ли качество при конвертации в CHD?

Нет. Сжатие в формате выполняется без потерь: после обратной конвертации в BIN/CUE данные идентичны исходным. Проверить это можно командой chdman verify и сравнением контрольных сумм.

Конвертируется ли CHD обратно в ISO без ошибок?

Для дисков только с данными — да, через извлечение в BIN/CUE и последующую пересборку при необходимости. Для многодорожечных дисков (игры с CD-аудио) корректный путь — именно BIN/CUE, поскольку ISO не хранит аудиодорожки.