Инструменты пользователя

Инструменты сайта


cd_rom

Это старая версия документа!


CD-ROM

PlayStation оснащена CD-приводом двойной скорости. Пропускная способность - 150 KB/s или 300 KB/s в зависимости от режима скорости. Буфер данных составляет 32 KiB.

Для данных используется стандартная файловая система ISO 9660. Поддерживается только уровень 1: имена файлов ограничены форматом 8.3, как в MS-DOS (8 символов на имя, 3 на расширение, только прописные буквы), максимальная глубина вложенности папок - 8 уровней, фрагментация не допускается.

Данные размещаются в секторах формата CD-XA (Mode 2). В отличие от обычного CD, на одной дорожке диска CD-XA может располагаться самая разнообразная информация: данные, звук, видео. В Mode 1 (стандартный CD-ROM) нельзя смешивать данные разного типа на одной дорожке. Mode 2 позволяет контроллеру на лету определять, куда отправлять информацию из сектора: видеопоток - на графический чип, аудиопоток - в звуковой вывод, обеспечивая синхронизацию.

Каждый сектор имеет свой собственный формат: если это произвольные данные, то сектор записывается в формате Form 1 (2048 байт выделяется на пользовательские данные и 304 байта - под служебную информацию), если же это потоковые аудио- или видеоданные, то для сектора используется формат Form 2 (под пользовательские данные отводится уже 2324 байт, поскольку данные для коррекции ошибок отсутствуют, есть только контрольные байты для их обнаружения).

Сектор Mode 2

Структура сектора Mode 2 Form 1:

  • 12 байт - код синхронизации: [0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00]
  • 4 байта - заголовок (header)
  • 4 байта - подзаголовок (sunheader)
  • 2048 байт - полезная нагрузка (данные)
  • 4 байта - EDC (контрольная сумма для проверки целостности данных)
  • 276 байт - ECC (код Рида-Соломона для коррекции ошибок)

Mode 2 Form 2, который используется для потоковых мультимедиа-данных, отличается отсутствием блока коррекции ошибок:

  • 12 байт - код синхронизации
  • 4 байта - заголовок
  • 4 байта - подзаголовок
  • 2324 байт - полезная нагрузка (аудио- или видеоданные)
  • 4 байта - EDC.

Подзаголовок (subheader)

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

  • 1-й байт - для Form 2: номер файла (0x00..0xFF)
  • 2-й байт - для Form 2: номер канала (0x00..0x0F), биты 5-7 всегда должны быть равны нулю
  • 3-й байт - подрежим (Submode):
    • бит 0 - конец записи (EOR). Устанавливается для всех дескрипторов тома, а также для всех секторов, являющихся концом файла - EOF
    • биты 1, 2, 3 - видео, аудио, данные. Должен быть установлен только один из этих битов. Файлы формата STR помечаются как данные (а не как видео).
    • бит 4 - триггер (для использования приложением)
    • бит 5 - формат (Form): 0 = Form 1, 1 = Form 2
    • бит 6 - реальное время (RT)
    • бит 7 - конец файла (или конец каталога / таблицы путей / терминатора тома)
  • 4-й байт - информация о кодировании (Coding Info). Для секторов данных этот байт равен нулю. Для секторов XA-ADPCM:
    • биты 0-1 - моно/стерео (0 = моно, 1 = стерео, 2-3 = зарезервировано)
    • бит 2 - частота дискретизации (0 = 37800 Гц, 1 = 18900 Гц, 2-3 = зарезервировано)
    • биты 4–5 - битность (количество бит на отсчет): 0 = стандартно/4 бита, 1 = 8 бит, 2–3 = зарезервировано
    • бит 6 - предыскажение (Emphasis): 0 = обычный режим/выключено, 1 = включено
    • бит 7 - зарезервирован (0)

Подзаголовок для обычных секторов данных обычно имеет вид [0x00, 0x00, 0x08, 0x00].

cd_rom.1792603258.txt.gz · Последнее изменение: — gecko

Если не указано иное, содержимое этой вики предоставляется на условиях следующей лицензии: CC0 1.0 Universal
CC0 1.0 Universal Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki