Конвертация 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 нельзя — связь между файлами нарушится.
☑️ Проверка перед конвертацией
⚠️ Внимание: распакованный 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.
Сравнение способов конвертации
Помимо 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-файлы, созданные в новых версиях формата.