Форматы образов компакт-дисков

Posted on

Для начала небольшая историческая и техническая справка.

В 1981 году Sony и Philips представили спецификацию Compact Disc Digital Audio (CD-DA) для хранения аудио в цифровом виде на оптических дисках. Это формат предполагает, что данные на диске разбиваются на три основных блока:

  1. Lead-In Track
  2. Program Track
  3. Lead-Out Track

Program Track занимает большую часть диска, и в нём располагаются собственно аудиозаписи в виде отдельных треков. А в Lead-In Track записано "оглавление", то есть информация о том, где начинается каждый из этих аудио-треков. Это нужно, чтобы плеер мог переключаться между треками в произвольном порядке.

Работа над форматом CD-ROM, который мог бы использоваться для хранения произвольных цифровых данных, а не только аудио, продолжалась с 1983 по 1988 год. Этот формат использует тот же физический способ хранения данных, что и CD-DA, и данные в нём так же разбиваются на треки. Но при этом треки содержат уже не аудио, а данные в формате CD-ROM Mode 1 или CD-ROM Mode 2. В простейшем случае диск содержит только один трек с данными, который занимает всю поверхность диска. Внутри трека с данными находится файловая система ISO 9660, которая позволяет организовать данные в виде файлов и папок. В дальнейшем к ней были разработаны дополнительные расширения, которые добавили поддержку длинных имен файлов, символов Unicode и возможности загрузки с CD.

Но при этом на одном диске можно использовать и разные типы треков (Mixed Mode CD). Как правило, в этом случае в первый трек записываются данные в формате CD-ROM, а в остальные треки — аудио.

В контексте видеоигр преимущество Mixed Mode дисков в том, что можно добавить в игру саундтрек в высоком качестве, а воспроизводиться он при этом будет аппаратно через CD-привод, то есть без нагрузки на процессор. Это использовалось в таких играх как Quake, Heroes of Might & Magic II, Tomb Raider 1/2 и многих других.

Теперь перейдём к образам дисков.

Если нам нужен образ обычного CD-ROM, в котором есть только один трек с данными, то для этого подойдёт формат .iso. В этом формате хранятся только сами данные, без дополнительных блоков для коррекции ошибок, которые присутствуют на диске. Поэтому файл .iso по размеру чуть меньше, чем те же данные, записанные на диск.

Самое главное, что нужно запомнить — в формате .iso нельзя сохранить аудио-треки, если они были на диске!

Для создания образов аудио CD и смешанных дисков (данные + аудио) существуют другие форматы. Наиболее популярные из них это:

  • CUE/BIN
  • MDS/MDF — используется в Alcohol 120%
  • CCD/IMG — используется в CloneCD
  • NRG — используется в Nero Burning ROM

Все эти форматы, за исключением NRG, используют два файла:

  1. В большом файле (BIN, MDF, IMG) хранятся сами данные
  2. В маленьком файле (CUE, MDS, CCD) описана структура данных. Это похоже на то самое "оглавление" в Lead-In Track из аудио CD.

CUE — это обычные текстовый файл. Вот как он выглядит для вторых Героев:

FILE "Heroes of Might and Magic 2.bin" BINARY
  TRACK 01 MODE1/2352
    INDEX 01 00:00:00
  TRACK 02 AUDIO
    INDEX 01 26:54:11
  TRACK 03 AUDIO
    INDEX 01 28:46:60
  ...

Видим, что этот файл описывает структуру файла Heroes of Might and Magic 2.bin. В этом файле записано несколько дорожек: первая из них — в формате CD-ROM Mode 1 (там лежат установочные файлы игры), а дальше идут аудио-треки (саундтрек).

Не все типы образов поддерживаются эмуляторами. Для примера возьмём эмуляторы, о которых я рассказывал в моих видео:

  1. RetroArch / DosBOX-Pure поддерживает iso и cue/bin, в том числе упакованные в zip
  2. VirtualBox — только iso
  3. 86Box и PCem — только iso и cue/bin

Как видим, ни один из проприетарных форматов (MDF/MDS, CCD/IMG, NRG) не поддерживается эмуляторами. Поэтому если вам попался образ в таком формате, я рекомендую сразу сконвертировать его в CUE/BIN или ISO (если там нет аудио).

Сделать это можно программой UltraISO (она платная, но ей можно пользоваться в Trial режиме). Она работает только под Windows, но под Linux можно запустить через Wine. Там в меню нужно выбрать Tools → Convert....

Диалоговое окно Covert в UltraISO

Есть также утилита mdf2iso, но она может вытащить только ISO файл, и у меня она не всегда работала.

Ещё в Интернете упоминают про AnyBurn, но эту программу я не пробовал.

Если в эмуляторе/виртуалке у вас установлена Windows 98 или XP, то можно установить в неё эмулятор CD-привода типа Daemon Tools, и монтировать образы в любом формате. Но для этого их сначала надо будет скопировать в саму виртуалку.