Конвертация BIN/CUE в CHD выполняется официальной утилитой chdman из комплекта MAME одной командой: chdman createcd -i "игра.cue" -o "игра.chd" — при этом важно указывать именно CUE-файл, а не BIN, потому что именно cue-лист описывает структуру дорожек диска. Если передать утилите BIN напрямую, данные аудиотреков будут интерпретированы неправильно, и полученный CHD окажется нерабочим или потеряет музыку.
Формат CHD (Compressed Hunks of Data) изначально создавался для эмулятора MAME, но сегодня его поддерживают большинство популярных эмуляторов CD-приставок: RetroArch, DuckStation, PCSX ReARMed, Flycast, Beetle Saturn и другие. Главные причины перехода — заметная экономия места за счёт сжатия без потерь и удобство хранения: один файл вместо пары BIN+CUE, которую легко испортить переименованием.
Что такое форматы BIN/CUE и CHD
Образ BIN/CUE — это классический способ сохранения CD-диска: файл BIN содержит сырые данные дорожек, а текстовый CUE описывает их раскладку, типы (данные или аудио) и индексы. У игр с CD-аудио таких BIN-файлов может быть несколько — по одному на дорожку.
CHD упаковывает те же данные в единый контейнер со сжатием без потерь. Это значит, что процесс полностью обратим: из CHD всегда можно извлечь исходный BIN/CUE, совпадающий с оригиналом побайтно. Поэтому конвертация безопасна для коллекции — при условии, что исходный образ был корректным.
- 💿 BIN/CUE — точная копия диска, но громоздкая и чувствительная к переименованию файлов.
- 📦 CHD — сжатый контейнер без потерь, один файл на игру.
- 🔄 Конвертация обратима через тот же chdman (команда extractcd).
- 🎮 Поддерживается большинством современных эмуляторов CD-систем.
Где взять chdman и как установить
Утилита chdman распространяется бесплатно вместе с эмулятором MAME. На Windows достаточно скачать архив MAME с официального сайта проекта и найти в нём исполняемый файл chdman.exe — отдельной установки он не требует, работает из любой папки через командную строку.
На Linux утилита обычно доступна в репозиториях дистрибутива в составе пакета mame-tools или аналогичного — название пакета стоит уточнить в менеджере пакетов вашей системы. На macOS chdman можно установить через пакетный менеджер Homebrew, если он у вас настроен.
⚠️ Внимание: скачивайте chdman только из официальных источников проекта MAME или штатных репозиториев вашего дистрибутива. Сторонние сайты с «готовыми конвертерами CHD» нередко распространяют устаревшие версии утилиты или вредоносное ПО.
Пошаговая конвертация BIN/CUE в CHD
Сам процесс занимает одну команду, но подготовка важна не меньше. Сначала убедитесь, что пара BIN/CUE лежит в одной папке и не переименовывалась: внутри CUE-файла прописано точное имя BIN, и при несовпадении chdman выдаст ошибку открытия файла.
☑️ Подготовка к конвертации
Далее откройте терминал или командную строку в папке с образом и выполните команду конвертации. В Windows удобно открыть папку в Проводнике, зажать Shift, кликнуть правой кнопкой по пустому месту и выбрать открытие окна команд.
chdman createcd -i "game.cue" -o "game.chd"
Ключ createcd указывает режим работы с CD-образами, -i — входной файл (обязательно CUE), -o — имя результата. Во время работы утилита показывает прогресс сжатия; на больших образах процесс может занять несколько минут в зависимости от скорости диска и процессора.
Проверка результата и обратная конвертация
После завершения стоит убедиться, что CHD исправен. Для этого у chdman есть встроенная проверка целостности: команда chdman verify -i "game.chd" пересчитывает контрольные суммы и сообщает, совпадают ли данные с ожидаемыми. Дополнительно полезно сразу запустить образ в эмуляторе и дойти хотя бы до игрового процесса — так вы проверите и видеодорожку, и CD-аудио.
Если понадобится вернуться к исходному формату — например, для программы, не понимающей CHD, — используется обратная операция:
chdman extractcd -i "game.chd" -o "game.cue" -ob "game.bin"
Результатом будет та же пара BIN/CUE. Именно поэтому удалять исходники до проверки не стоит, но после успешной верификации их можно убрать в архив — конвертация CHD выполняется без потерь данных, в отличие от пережатия аудио в MP3 или обрезки дорожек.
Типичные ошибки и их решения
Чаще всего проблемы возникают не из-за самой утилиты, а из-за состояния исходного образа или нюансов командной строки. Разберём основные сценарии.
- ❌ «Unable to open file» — имя BIN внутри CUE не совпадает с реальным файлом. Откройте CUE в текстовом редакторе и исправьте строку
FILE "..." BINARY. - ❌ Ошибка чтения дорожки — исходный образ повреждён или недокачан. Проверьте его контрольную сумму по базе данных дампов, если она доступна.
- ❌ CHD создался, но нет музыки — вероятно, конвертировали BIN вместо CUE или CUE описывал дорожки некорректно. Пересоздайте образ из правильного CUE.
- ❌ Эмулятор не видит CHD — убедитесь, что ваша версия эмулятора или ядра поддерживает формат; старые сборки могут требовать обновления.
⚠️ Внимание: если игра состоит из нескольких BIN-файлов (отдельные аудиодорожки), конвертируйте всё равно через CUE — chdman автоматически подхватит все перечисленные в нём файлы. Конвертировать каждый BIN по отдельности нельзя: структура диска будет потеряна.
Почему CHD меньше исходного BIN
Формат разбивает данные на блоки («hunks») и сжимает каждый алгоритмами без потерь, включая специализированные кодеки для CD-аудио. Степень сжатия зависит от содержимого: игры с большим объёмом аудиодорожек обычно сжимаются заметно сильнее, чем диски, заполненные плотными видеоданными.
Сравнение форматов образов
Чтобы понять, когда CHD оправдан, а когда лучше оставить исходный формат, полезно сопоставить их ключевые свойства.
| Критерий | BIN/CUE | ISO | CHD |
|---|---|---|---|
| Сжатие | Нет | Нет | Да, без потерь |
| Поддержка мультитрековых дисков | Да | Нет (только данные) | Да |
| Количество файлов на игру | 2 и более | 1 | 1 |
| Обратимость конвертации | — | Частично | Полная |
| Совместимость с эмуляторами | Практически везде | Широкая, без аудиотреков | Современные эмуляторы |
Из таблицы видно, что ISO не подходит для игр с CD-аудио: формат хранит только одну дорожку данных и теряет музыку. CHD в этом смысле — единственный компактный вариант, сохраняющий полную структуру диска.
Поддержка CHD в популярных эмуляторах
Перед массовой конвертацией коллекции убедитесь, что целевой эмулятор работает с форматом. Для RetroArch поддержка CHD реализована в ядрах для PlayStation, Sega CD, Saturn, Dreamcast и ряда других систем, но актуальность конкретного ядра лучше проверить в его документации — возможности обновляются от версии к версии.
Автономные эмуляторы вроде DuckStation (PlayStation) и Flycast (Dreamcast) также читают CHD напрямую. Для MAME этот формат вообще является родным — многие аркадные диски распространяются именно в нём. Если какой-то из ваших эмуляторов CHD не поддерживает, держите для него копию в BIN/CUE — благо обратная конвертация занимает минуты.
Часто задаваемые вопросы
Можно ли конвертировать BIN без CUE-файла?
Технически chdman требует корректное описание дорожек, поэтому CUE необходим. Если файл потерян, его можно восстановить вручную в текстовом редакторе по образцу или сгенерировать средствами программ для работы с образами, но структуру многодорожечного диска придётся описать точно.
Теряется ли качество при конвертации в CHD?
Нет. CHD использует сжатие без потерь: данные после распаковки побайтно совпадают с исходными. Это принципиально отличается от перекодирования аудио в MP3 или видео в другой кодек.
Что делать, если chdman выдаёт ошибку на этапе сжатия?
Сначала проверьте исходный образ: откройте CUE в текстовом редакторе и сверьте имена файлов, затем убедитесь, что BIN-файлы не повреждены (например, сравнив их размер с ожидаемым). Также убедитесь, что в путях нет проблем с правами доступа и хватает свободного места на диске.
Поддерживают ли CHD физические приставки и ODE-устройства?
Поддержка зависит от конкретного устройства и версии его прошивки. Некоторые оптические эмуляторы приводов работают с CHD напрямую, другие требуют BIN/CUE. Перед конвертацией сверьтесь с официальной документацией вашего устройства.
Как конвертировать сразу всю коллекцию?
Используйте пакетную обработку: цикл в командной строке Windows (for %f in (*.cue) do chdman createcd -i "%f" -o "%~nf.chd") или аналогичный скрипт в терминале Linux/macOS. Перед массовой операцией проверьте процесс на одном-двух образах.