Конвертация CHD в BIN чаще всего нужна, когда эмулятор или программа записи дисков не понимает сжатый формат CHD (Compressed Hunks of Data) и требует классическую пару BIN/CUE. Стандартный способ — утилита chdman из комплекта MAME: она распаковывает CHD-образ обратно в исходные файлы без потери данных, если образ был создан корректно.

Формат CHD изначально разработан для эмулятора MAME и активно используется для хранения образов CD и DVD игровых консолей — Sega Saturn, PlayStation, Dreamcast, 3DO и других. Однако часть эмуляторов, флеш-картриджей и устройств вроде ODE (оптических эмуляторов привода) работает только с BIN/CUE, поэтому обратная конвертация остаётся востребованной задачей.

Что такое форматы CHD и BIN/CUE

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

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

💡

CHD — сжатый формат MAME, BIN/CUE — универсальный «сырой» образ. Конвертация выполняется утилитой chdman и не приводит к потере данных при корректном исходнике.

Установка chdman на Windows и Linux

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

На Linux утилита обычно доступна в репозиториях дистрибутива в составе пакета mame-tools или аналогичного. Название пакета зависит от дистрибутива, поэтому проверьте наличие через менеджер пакетов вашей системы. После установки команда chdman становится доступна в терминале.

Для macOS вариантов несколько: сборка MAME из исходников или установка через пакетный менеджер Homebrew, если соответствующая формула доступна в вашей версии системы. Точное имя пакета стоит уточнить в репозитории Homebrew, так как состав формул периодически меняется.

💡

Держите chdman и обрабатываемые образы в одной папке — так команды будут короче, а риск ошибиться в путях минимален.

Пошаговая конвертация CHD в BIN/CUE

Основная команда для распаковки CHD в пару BIN/CUE выглядит так:

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

Разберём параметры: extractcd — режим распаковки CD-образа, -i задаёт входной CHD-файл, -o — выходной CUE-файл с описанием треков, -ob — выходной бинарный файл данных. Выполнять команду нужно из папки, где лежит chdman и образ, либо указывать полные пути к файлам.

После завершения процесса рядом появятся два файла — output.bin и output.cue. В эмуляторе или программе записи открывать нужно именно .cue: он содержит карту треков и ссылается на бинарник. Удалять или переименовывать .bin без правки CUE нельзя — связь между файлами нарушится.

☑️ Проверка перед конвертацией

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

Пакетная конвертация нескольких файлов

Когда образов много, конвертировать их по одному неудобно. На Windows можно использовать цикл в командной строке или PowerShell: команда перебирает все .chd в папке и применяет к каждому extractcd с автоматической подстановкой имени файла.

На Linux и macOS аналогичная задача решается простым циклом for в терминале:

for f in *.chd; do chdman extractcd -i "$f" -o "${f%.chd}.cue" -ob "${f%.chd}.bin"; done

Эта конструкция берёт каждый CHD-файл в текущей папке и создаёт рядом пару BIN/CUE с тем же именем. Перед массовой обработкой имеет смысл проверить команду на одном файле, чтобы убедиться в корректности путей.

Проверка целостности CHD перед распаковкой

Если образ скачан из сомнительного источника или конвертация завершается ошибкой, стоит проверить целостность архива. Для этого у chdman есть встроенная команда верификации:

chdman verify -i input.chd

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

⚠️ Внимание: CHD-образы бывают разных версий формата. Старые версии chdman могут не открывать файлы, созданные новыми версиями. Если конвертация не запускается, первым делом обновите chdman до актуальной версии из свежего релиза MAME.
📊 Для какой платформы вы конвертируете CHD в BIN?
PlayStation
Sega Saturn / Dreamcast
Для устройства ODE (оптический эмулятор)
Другое

Сравнение способов конвертации

Помимо chdman существуют сторонние инструменты с графическим интерфейсом, но большинство из них внутри используют ту же библиотеку MAME. Таблица ниже поможет выбрать подходящий вариант.

СпособИнтерфейсПакетная обработкаКому подходит
chdman (командная строка)ТекстовыйЧерез скриптыОпытным пользователям
GUI-обёртки над chdmanГрафическийОбычно естьНовичкам
Проверка verify + extractcdТекстовыйВручнуюПри сомнениях в целостности
Циклы bash / PowerShellТекстовыйМассоваяДля больших коллекций

Какой бы инструмент ни выбрали, результат должен быть одинаковым: корректно распакованный BIN/CUE побайтово соответствует исходным данным, заложенным в CHD. Различия возможны только при повреждённом исходнике или ошибках самой утилиты.

Почему нельзя просто переименовать CHD в BIN

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

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

Одна из частых проблем — сообщение об ошибке открытия входного файла. Обычно причина банальна: неверный путь, пробелы или кириллица в имени папки. Переместите файлы в каталог с простым латинским именем и повторите попытку.

Вторая типичная ситуация — команда выполняется, но эмулятор не видит полученный образ. Проверьте, что вы открываете именно .cue, а не .bin, и что оба файла лежат в одной папке с совпадающими именами. Также убедитесь, что эмулятор вообще требует BIN/CUE: некоторые современные эмуляторы (RetroArch с рядом ядер, DuckStation, Flycast) нативно читают CHD, и конвертация им просто не нужна.

  • ❌ Ошибка «unable to open file» — проверьте путь и права доступа к файлу.
  • ❌ Ошибка верификации — CHD повреждён, нужен другой источник образа.
  • ❌ BIN создался, но CUE отсутствует — проверьте параметр -o в команде.
  • ❌ Эмулятор не видит образ — открывайте CUE, а не BIN, и проверьте совпадение имён.

Обратная конвертация: BIN в CHD

Обратная операция выполняется той же утилитой, но с командой createcd:

chdman createcd -i input.cue -o output.chd

Это удобно для экономии места: коллекция в CHD занимает ощутимо меньше, чем в BIN/CUE, а совместимость с современными эмуляторами у CHD широкая. Перед удалением исходных BIN-файлов рекомендуется проверить созданный CHD командой verify.

  • 💾 Храните мастер-копии коллекции в CHD — это компактно и надёжно.
  • 🔄 Конвертируйте в BIN/CUE только под конкретное устройство или эмулятор.
  • ✅ После любой конвертации проверяйте результат в целевом эмуляторе.

Часто задаваемые вопросы

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

Нет. CHD использует сжатие без потерь, поэтому распакованный BIN побайтово соответствует исходным данным диска — при условии, что сам CHD-файл не повреждён.

Можно ли конвертировать CHD без установки MAME?

Да. Файл chdman.exe из архива MAME работает автономно, полная установка эмулятора не требуется. Достаточно скопировать утилиту в папку с образами.

Почему после конвертации появилось несколько BIN-файлов?

Некоторые диски содержат несколько треков (например, данные плюс аудиодорожки). В таком случае chdman может создать отдельный BIN на каждый трек, а CUE-файл связывает их вместе. Открывать нужно именно CUE.

Какие эмуляторы читают CHD напрямую, без конвертации?

Поддержка CHD есть у ряда ядер RetroArch, у эмуляторов DuckStation и Flycast, а также, разумеется, у самого MAME. Перед конвертацией проверьте документацию своего эмулятора — возможно, распаковка вообще не потребуется.

Что делать, если chdman выдаёт ошибку версии формата?

Обновите chdman до последней версии из актуального релиза MAME. Старые сборки утилиты могут не поддерживать CHD-файлы, созданные в новых версиях формата.