Back

Запись компакт-дисков под AmigaOS: практическое руководство

Версия 1.12 (10.05.2004)

Ситуация на мировом компьютерном рынке такова, что фактически первым по распространённости носителем информации (кроме переносных винчестеров) стали записываемые компакт-диски, уже фактически заменившие обычные флоппи-дискеты.

Ситуация на Амиге в России добавляет ещё один штрих - весь софт, который продаётся на пиратских алюминиевых дисках, предназначен почти исключительно только для поделок Microsoft. В результате, софт для Амиги распространяется только на CD-R. Да и в любом случае, неясно, зачем платить 80-100 рублей за пиратский «алюминий», когда болванки стоят от 10 рублей? :)

Это руководство будет полезно для двух категорий пользователей: для тех, кто собирается купить собственный CD-рекордер, и для тех, кто его ещё не купил, и хочет записать диск у знакомых. Для начала рекомендуется изучить FAQ по вопросам записи CD, не касающимся конкретных платформ. Здесь и далее вопросы, освещённые в FAQ, будут помечены как (FAQ). FAQ доступен на

http://cdrwfaq.sotchenko.ru/

Создание компакт-диска для записи его на другом компьютере

Если вы ещё не купили CD-рекордер, но надо записать диск - это можно сделать на другом компьютере. Наилучший вариант, разумеется - если CD-рекордер установлен на Амиге. В этом случае достаточно принести и подключить винчестер с файлами на запись. Рассмотрим подробнее другой случай - если рекордер установлен на PC - на работе, у знакомого, где-нибудь ещё.

Самый простой и очевидный способ перенести информацию на PC - на винчестере. Есть и более экзотические способы - Zip-дискеты, магнитооптика и т.д., но для начала разберёмся с HD. PC не поймёт винчестер Амиги, поэтому, вероятнее всего, нужно записывать информацию на PC-винчестер. Винчестер должен быть под FAT16 или FAT32 (средств поддержки NTFS, HPFS и прочего не существует). Наилучшее средство доступа к нему - пакет fat95 с Аминета. Установка и использование fat95 крайне просты - скопируйте файл fat95 в sys:l, и впишите в конец файла devs:mountlist следующий текст:

=== cut ===

PCC:
FileSystem     = L:fat95
Device         = scsi.device
Unit           = 1
Flags          = 3
Surfaces       = 2
BlocksPerTrack = 18
Reserved       = 1
Interleave     = 0
LowCyl         = 0
HighCyl        = 79
Buffers        = 1000
Stacksize      = 2048
BufMemType     = 1
Priority       = 5
GlobVec        = -1
DosType        = 0x46415401
Activate       = 1
#

=== cut ===
 

Команда «mount pcc:» сделает доступным первый раздел винчестера. Для доступа ко второму, третьему и четвёртому сдублируйте этот текст, заменив DosType соответственно на 0x46415402, 0x46415403 и 0x46415404. Если PC-винчестер подключён как master, то Unit должен быть нулевым. Не забудьте, что при размере IDE винчестера более 4Gb должен быть установлен idefix!

Простого копирования файлов, предназначенных на запись, недостаточно. Возникнет две ощутимых проблемы - первая из них касается набора символов в именах файлов. Старые версии fat95 не поддерживают кириллицу, поэтому необходимо обязательно инсталлировать свежую версию с перекодировкой. Кроме того, редко встречающейся, но актуальной проблемой является то, что Windows использует символ «\» как разделитель имён директорий в пути к файлу, и не позволяет записать файлы с именами, содержащими этот символ. Впрочем, даже если бы и позволяла, вы столкнётесь со второй, куда более серьёзной проблемой - дело в том, что абсолютное большинство софта на PC записывает диски исключительно в ISO 9660 Level 1 и Joliet. Самый продвинутый софт сделает в лучшем случае Level 2. Это означает, что такой диск будет виден только под файловыми системами, поддерживающими Joliet (например, встроенная файлсистема CD32 её не держит), а в противном случае имена будут искорёжены. Русские буквы в именах на таких дисках увидеть вообще не удастся, даже если они сохранятся при переписывании на PC-винчестер - поскольку в Joliet они хранятся в 16-битной кодировке Unicode, а файловые системы преобразуют их в стандартную для Амиги кодировку LATIN-1, не содержащую кириллицы. Кроме того, атрибуты HSPARWED и комментарии потеряются в любом случае, поскольку на FAT они попросту не существуют.

Чтобы избежать этих проблем, необходимо операцию по подготовке диска провести на Амиге заранее. Существует более-менее распространённое решение - так называемые ISO-файлы, представляющие собой посекторный образ диска. На PC его понимают такие программы, как например Easy CD Creator, Nero Burning Rom, cdrecord. Создать и записать его на Амиге можно любым имеющимся софтом. Далее будет рассмотрена конкретная программа - MakeCD 3.2 (её страничку вы найдёте на http://makecd.core.de), и подробно расписан процесс создания образа диска. Созданный образ перепишите на PC-винчестер - он должен иметь «расширение» .ISO (на PC до сих пор страдают этим маразмом). Для того, чтобы не иметь проблем с разными типами болванок, размер файла не должен превышать 650 мегабайт (681574400 байт). Запись на PC при установленном Easy CD Creator весьма проста - в виндовом «проводнике» ткнитесь на файл правой кнопкой мыши, и первым же пунктом меню будет запись диска. При установленной программе Nero Burning Rom запись осуществляется выбором в ней пункта меню File -> Burn Image, и указанием ISO файла.

Для записи CD на PC под FreeBSD, используется штатная утилита burncd:
burncd -s max data [iso-image-filename] fixate

CD-рекордер на Амиге

Если вы планируете купить собственный рекордер (или взять напрокат) - ситуация значительно упрощается. Вся эта возня с винтами от PC более не нужна.

Однако здесь есть ряд тонкостей, которые необходимо знать заранее. О типах рекордеров можно почитать в FAQ (Интерфейсы, OEM/Retail, Внешние/внутренние, Критерии выбора), а ниже распишем тонкости применительно к Амиге.

В первую очередь имеет значение интерфейс. Здесь и далее рассмотрим исключительно IDE и SCSI.

IDE рекордер без защиты буфера (FAQ)

Использование IDE рекордера без защиты буфера на встроенном IDE контроллере A1200 - самое худшее решение, которое только можно придумать. Хуже может быть только использование IDE рекордера на одном шлейфе с IDE винчестером, с которого производится запись :-)

Проблем здесь возникает целых три:

Отсутствие DMA означает, что процессор будет загружен «на полную катушку». Это приводит к тому, что вместо подготовки следующей порции данных во время записи предыдущей, процессор занимается исключительно процессом передачи данных, загоняя байтики в интерфейс поштучно «вручную». Кроме того, что это приводит к снижению скорости работы, это ещё и сильно затрудняет работу на компьютере параллельно с процессом записи. Впрочем, контроллеров, поддерживающих DMA на любом IDE устройстве, практически не встречается - те IDE контроллеры, которые интегрированы в материнские платы PC, как правило работают в DMA только на тех устройствах, которые поддерживают это самое DMA.

Блокирование шины - это, пожалуй, основная проблема IDE интерфейса как такового (а не только встроенного контроллера A1200). Это означает, что в процессе записи нельзя будет использовать буфер в MakeCD - после заполнения буфера MakeCD приступит к его записи, а поскольку в процессе записи идёт ожидание, когда же рекордер запишет очередную порцию данных, то чтения данных не произойдёт - и MakeCD сможет приступить к чтению только после того, как буфер будет полностью отписан на диск. Чтобы частично избежать проблем - следует выключить галку «Parallel read/write» в настройках MakeCD. Однако в результате буфер в RAM не будет задействован, и в работе останется только встроенный буфер рекордера.

Невозможность использовать буфер рекордера приводит к тому, что практически невозможна и запись файлов «на лету». Писать придётся путём предварительного создания образа диска.

Ну и наконец о пропускной способности. Примерно оценить её можно при помощи программы SysInfo на HDD. Чтобы прикинуть, насколько её хватит - возьмите необходимую скорость записи CD (например, 600kb/s для 4x) и умножьте на три. Показания SysInfo должны заметно превышать это значение.

Приведём примерные значения скорости для ряда систем:

A1200 нерасширенная- 1.5Mb/s (хватит для записи на 2х)
A1200 + B1230- 2.8Mb/s (хватит на 4x, возможно на 6x)
A1200 + B1260- 2.2Mb/s (хватит на 4х)
A1200 + BPPC/040- 1.2Mb/s (хватит на 2х)
 

Также следует вспомнить такое явление, как IDE акселератор:

A1200 + IA + B1230- 4.9Mb/s (хватит на 8x)
A1200 + IA + B1260- 4.2Mb/s (хватит на 8х)
A1200 + IA + BPPC/040- 1.8Mb/s (хватит на 2х, возможно на 4x)
 

Ещё раз напомним, что речь идёт исключительно о записи через образ диска, и делать что-либо во время записи не рекомендуется. Если это условие не соблюдается, или скорость недостаточна - записываемая болванка будет испорчена.

Ввиду нераспространённости в России других IDE контроллеров для Амиги (например FastATA'99 от Elbox) освещать этот вопрос смысла нет.

IDE рекордер с защитой буфера

Можно приобрести современный рекордер с функцией защиты буфера (BURN-Proof, SafeBurn или ExacLink). В этом случае можно забыть про перечисленные выше скоростные ограничения - какая бы не была конфигурация, диск будет успешно записан. Более того, можно писать по файлам (не через буфер), можно работать во время записи с другими программами.

Однако, финальная скорость записи CD будет далеко не максимальной. Диск запишется на общей скорости, в среднем не превышающей 8-10х. И работа с другими программами в процессе записи будет не особо комфортной ввиду загрузки процессора на 100%.

В результате, переплачивать за скорость записи писалки с защитой буфера нет смысла. Нет смысла гнаться и за скоростью чтения - из IDE CD-привода на встроенном контроллере A1200 больше 8-11х не выжмешь. Также следует отметить, что рекордеры с функцией защиты буфера, отличной от BURN-Proof, SafeBurn или ExacLink, на Амиге не проверялись. Поэтому рекомендуем брать именно реализации с BURN-Proof (Sanyo, Plextor, Teac), SafeBurn (Yamaha) или ExacLink (Mitsumi).

Выбор IDE рекордера

В итоге, выбор IDE рекордера сводится к двум вариантам: или старую «поношенную» (новых таких уже и не купишь) модель со скоростью 2х-4х без защиты буфера, поскольку быстрее писать всё равно не получится, и во время записи на компьютер лучше даже не дышать - или современную модель с защитой буфера, при использовании которой можно даже не задумываться о достаточности ресурсов компьютера, но скорость которой всё равно не будет использоваться по максимуму.

Из конкретных моделей с защитой буфера можно посоветовать Plextor начиная с PX-W1210A (также PX-W1610A и PX-W2410A), Yamaha начиная с CRW-2200E (также CRW-3200E), Teac начиная с W512EB (также W516EB и W524EB), и Mitsumi начиная с CR-4808TE (также CR-4809TE, CR480ATE, CR480CTE, CR480ETE). Активация защиты буфера на перечисленных приводах было успешно протестирована на совместимость с MakeCD. Ещё раз напоминаем - не гонитесь за скоростью, покупайте самую дешёвую модель из имеющихся!

Из старых моделей без защиты буфера - Mitsumi 4804, Teac W54E, вся линейка Yamaha до CRW-6416E.

SCSI рекордер

При наличии SCSI контроллера, использование SCSI рекордера лишено всех перечисленных выше недостатков. SCSI рекордер, независимо от фирмы-изготовителя, модели и скорости, работает по DMA, не загружая процессор. SCSI рекордер реально выдаёт свою номинальную скорость, и к примеру Yamaha CRW-2100S реально пишет на скоростях до 16х, и читает на скоростях до 40х. SCSI рекордер прекрасно пишет с винчестера, находящегося на той же физической SCSI шине, и даже с IDE винчестера (правда, для записи на 16х со встроенного IDE контроллера A1200 понадобится IDE акселератор).

К хорошим SCSI контроллерам относятся контроллеры производства Phase5/DCE. SCSI контроллер же на акселераторе Apollo всерьёз рассматривать даже не стоит.

ОЧЕНЬ ВАЖНОЕ ПРИМЕЧАНИЕ:

Обязательно обновите прошивку SCSI контроллера до самой последней версии! На старых прошивках возможны проблемы с записью.

Выбор между IDE и SCSI

Единственный довод в пользу покупки IDE рекордера - нехватка денег на SCSI. Кстати, следует ещё заметить вот что - SCSI контроллер полезен не только для рекордера, ещё одним его популярным применением является подключение планшетного сканера. А замена имеющихся дисковых накопителей на SCSI-варианты разгрузит процессор и увеличит трансфер до десятков мегабайт в секунду.

Есть также один интересный вариант - покупка SCSI версии рекордера Yamaha CRW-2200, CRW-3200 (24x), CRW-F1 (44x). Эти модели - IDE-приводы с переходником на SCSI. Соответственно, вы сможете сначала использовать их как IDE, и впоследствии закупиться SCSI контроллером. К сожалению, Yamaha больше не выпускает CD-RW приводы, поэтому найти эти модели трудно.

Переходник от этой модели рекордера продаётся и отдельно. Фактически, подключив этот переходник к вашему SCSI контроллеру, вы получаете быстрый IDE/ATAPI контроллер, работающий в DMA на любых типах ATAPI устройств. Кроме того, доступен переходник производства фирмы ACARD.

Защита буфера

Для активации защиты буфера необходимо добавить в иконку MakeCD tooltype MAKECD_BURN_PROOF (даже если в вашем рекордере используется ExacLink или SafeBurn - всё равно тултайп будет называться MAKECD_BURN_PROOF). По умолчанию защита буфера выключена!

Файловые системы

Вторая тонкость применительно к Амиге - это производительность файловой системы. Применительно к рекордерам с защитой буфера это не имеет значения. Если же защиты буфера нет, и вы используете FFS - то лучше посмотреть в сторону SFS или PFS. Буферов (т.е. дисковый кэш) лучше выставить побольше.

Приоритет atapi.device

При использовании IDE CD-RW с защитой буфера, смело снижайте приоритет atapi.device ниже нуля (например, с помощью Scout). На надёжности записи это никак не отразится, зато резко снизит загрузку системы, позволяя спокойно работать с другими приложениями параллельно с записью CD.

При записи с IDE HDD, так же не забудьте снизить приоритет IDEFIX ниже нуля.

MakeCD

Данная программа представляет собой наиболее наглядное и удобное средство для записи CD на Амиге (конечно, это моё субъективное мнение, но прочитайте статью - и судите сами). Для понимания сути программы следует заметить, что её можно представлять как редактор подготавливаемого содержимого диска. MakeCD оперирует проектами, каждый из которых является подготовленным диском - можно держать на винчестере ряд таких проектов, и оперативно записывать в нужный момент подготовленные диски.

ОЧЕНЬ ВАЖНЫЙ МОМЕНТ ПРИ РАБОТЕ С MakeCD

MakeCD имеет внутри список пиратских серийных номеров. При обнаружении номера из этого списка, MakeCD будет портить записываемые CD-R'ы, записывая нули вместо требуемых данных - и при этом отлично писать CD-RW. Если вдруг возникнет подозрение на такую ситуацию - попробуйте её в незарегистрированном варианте!

ЕЩЁ ОДИН ОЧЕНЬ ВАЖНЫЙ МОМЕНТ ПРИ РАБОТЕ С MakeCD

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

Обзор интерфейса MakeCD

(Примечание: здесь и далее рассматривается версия 3.2d beta7. Если что-то «не сходится» - значит, у вас либо более старая, либо более новая версия.)

Основное окно MakeCD представляет собой список треков. Каждый CD состоит из одного или нескольких треков, а каждый трек в свою очередь может содержать файлы (Data CD), звук (Audio CD) или MPEG-видео (Video CD).

При хранении проекта на диске MakeCD хранит треки в директории, обозначенной в настройках как Base Dir. Каждому треку соответствует файл - образ этого трека. Если образ создан самой MakeCD, либо были изменены его параметры - ему соответствует ещё один файл с тем же именем и суффиксом .cdt, содержащий эти параметры. Собственно проект хранится в ещё одном отдельном файле .mcd. Не забудьте сохранить его (Project -> Save As из меню), если хотите сохранить проект на HDD.

В основном окне MakeCD можно добавлять, удалять, и сортировать треки. Треки могут быть добавлены как вручную (Add), так и автоматически (меню Edit -> Append image files) из образов треков.

Настройки MakeCD

На время отвлечёмся от работы с MakeCD, и для начала её всё-таки настроим. Настройки находятся в меню Settings. Открывается соответствующее окошко.

Reading drive и Writing drive указывают на ваши CD-ROM и CD-RW приводы соответственно. Если у вас только CD-RW привод - укажите его и там и сям, MakeCD прекрасно поддерживает работу с одним приводом.

Выбор привода делается, как обычно, по имени device и номеру unit. IDE приводы живут на atapi.device (либо scsi.device, если в стартапе прописан idefix), SCSI приводы живут на различных девайсах в зависимости от изготовителя SCSI контроллера. Например, для Blizzard SCSI Kit это 1230scsi.device.

Поле driver необходимо ввиду того, что ранее не существовало общепринятого стандарта на систему команд CD-приводов. Для IDE CD-ROM приводов указывается драйвер CD_ATAPI, для современных рекордеров - CDR_SCSI3_ATAPI. Некоторые модели рекордеров MakeCD опознаёт сразу, однако для большинства современных указывайте CDR_SCSI3_ATAPI сами - авторы MakeCD не могут оперативно следить за динамичным и быстро растущим рынком рекордеров.

Оставшиеся драйверы предназначены для разного рода старых рекордеров и CD-ROMов - тех времён, когда общепринятый ныне стандарт MMC ещё не был поддержан всеми, а то и вовсе ещё не существовал.

Вернёмся к окошку Settings. Поле Audio output вам понадобится, если захочется послушать звук «в цифре» (то есть через Амигу, а не через аудиовыход CD-привода).

User level позволит упростить интерфейс для начинающих (Novice). Однако, далее по тексту будет рассмотрен полный интерфейс (Expert).

Скорости чтения/записи

Speed - настройки скорости записи и чтения CD. Скорости CD кратны 150 килобайтам в секунду для Data CD. Нуль указывает, что скорость будет максимальная, на которую способен привод. Подробнее о скоростях читайте в (FAQ).

Normal write speed - скорость записи для всех случаев, кроме специально указанных ниже.

For on-the-fly ISO image - скорость записи диска с файлами, когда образ диска не создаётся заранее на HDD, а формируется «на лету». Поскольку в этом случае скорость формирования зависит от скорости исходной файловой системы, количества файлов, их размера и прочих факторов, на рекордерах без защиты буфера эту скорость иногда полезно занизить.

Fixation - скорость при закрытии диска, т.е. записи служебных областей lead-in и lead-out (FAQ).

Write speed for audio - скорость записи аудиодисков (FAQ).

Следует отметить, что при записи в DAO (FAQ) комбинированных дисков - например, один трек диска содержит файлы, записываемые на лету, а другой содержит звук - MakeCD выбирает меньшую из этих двух скоростей. Если запись идёт в TAO (FAQ), для каждого трека будет применена своя скорость записи.

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

Ещё один фактор скорости записи - старые рекордеры типа Philips CDD2600 поддерживают запись в DAO исключительно в Raw, а формирование Raw «на лету» у 68060 позволяет писать лишь на 2х, и то с немеряной загрузкой процессора.

Read speed for audio и Read speed for data особых пояснений не требуют. Отметим лишь, что качество грабления звука иногда может быть зависимым от первой скорости - и если у вас есть подозрения на качество звука при копировании Audio CD - попробуйте её понизить. Также напомним про риск разрыва диска при больших скоростях (FAQ).

Buffer - настройки буфера

Write tracks/CDs - буфер при записи CD. Буфер позволяет «сгладить» последствия торможения при чтении массы мелких файлов, выполнении других задач, работающих с источником данных, параллельно с записью CD, время от времени выполняемой некоторыми моделями HDD калибровке и тому подобного. Если ваш рекордер без защиты буфера - устанавливайте его побольше. Чем больше - тем лучше. Если же ваш рекордер имеет защиту буфера - размер буфера MakeCD уже мало критичен, хотя тем не менее позволит в ряде случаев ускорить процесс записи - позволив избежать остановки и запуска процесса записи CD.

Chunk size - размер куска буфера. Буфер организуется в виде кольца из этих кусков, и процесс записи производится единовременно одним куском. Тут следует отметить один важный момент - кусок должен быть как минимум вдвое меньше размера буфера рекордера! Например, если выставить 500кб на рекордере Mitsumi CR2801TE, то процесс записи не пойдёт вообще - это превышает ёмкость его буфера :)

Установка слишком маленького куска тоже не является лучшим решением, поскольку уменьшение его увеличивает загрузку процессора. Установите 50kb, дальше можете провести ряд экспериментов - например в test mode (FAQ).

Play audio data и Create image files - размеры буфера соответственно для проигрывания звука и создания образов треков.

Commands - выполняемые в различных случаях действия

Здесь указывается CLI команды, вызываемые в перечисленном ряде ситуаций: при появлении окна с уведомлением об ошибке, когда требуется вставить чистый диск, когда созданы образы треков, когда завершена запись, перед записью треков, и перед закрытием/ремонтом диска, а также стиранием CD-RW. На требовании чистого диска и завершении записи можно также включить Eject.

Further settings - дополнительные настройки

Test mode - включение test mode (FAQ) вместо реальной записи при закрытии диска или его ремонте.

Fixate in test mode - если включено, то при записи в test mode MakeCD будет выполнять закрытие диска. Если выключено - не будет вообще. Это связано с тем, что ряд моделей рекордеров игнорирует установку test mode при закрытии диска, и тем самым может испортить диск. Рекомендуем не включать эту опцию.

Raw audio data - формат образов аудиотреков без заголовков. Эта настройка действует, если выбран raw (файл без заголовков, содержащий только аудиоданные, и не имеющий никакой служебной информации) вместо одного из аудиоформатов типа aiff. Переключает порядок байт в 16-битном слове. При копировании AudioCD, при граблении звука, и при записи, если в перечисленных случаях используется raw, будет применяться указанный формат.

Audio length - если включено any, то MakeCD игнорирует при записи Audio CD длину файла. Если Block - то MakeCD будет требовать, чтобы длина аудиозаписи была кратна размеру блока компакт-диска (2352 байта). Здесь речь идёт о raw-формате, то есть длина, например, aiff файлов будет чуть больше из-за заголовков.

Audio pause - размер паузы при считывании аудиодисков. Фактически это означает, что образы аудиотреков станут меньше на заданное значение. При записи звука в TAO (FAQ) рекордером автоматически добавляется пауза в 2 секунды, а эта настройка позволяет сразу убрать эти две секунды, даже не сохраняя их на диске. Следует заметить, что для записи звука лучше применять DAO. При этом звук пишется без пауз. Аудиодиск при этом дублируется один в один, и надобность в этой настройке отсутствует. Смысл применения этой настройки есть разве что на древних рекордерах, в принципе не поддерживающих DAO.

Block medium - указание участка HDD, который может быть использован под образ трека. При работе с block medium, MakeCD работает с HDD напрямую, минуя файловые системы. Практически, эта опция может пригодиться в случае необходимости переноса составленного образа диска для последующей записи на компьютере, который не имеет файловой совместимости с Амигой - например, на UNIX машину. Следует учесть, что MakeCD может располагать образ диска в любом месте HDD, но пишущий софт на другой машине не обязательно имеет ту же возможность! Поэтому может возникнуть необходимость выделить под эту задачу отдельный HDD. Также следует учесть, что эта функция потенциально опасна. Стоит неверно указать диск, или ошибиться с номерами блоков - и может быть уничтожена полезная информация. Скорее всего, эта функция вам вряд ли понадобится.

IO Error - поведение при ошибках чтения. Ask - появление соответствующего окна. Если, к примеру, нужно считать плохо читающийся VideoCD, то иногда полезно здесь выставить Ignore - это спасёт вас от сотни нажатий Ignore, при том как реально это будет всего лишь одна-две секунды испорченного изображения. В списке намеренно отсутствует Retry: дело в том, что в таком случае несчитывающийся участок диска может привести MakeCD в состояние, из которого её выведет только перезагрузка компьютера.

Отдельно распишем назначение пунктов списка - поскольку это позволит вам сориентироваться в окне, появляющемся при ошибке. Pad with null characters - заполнить недочитанный участок нулями и завершить операцию. Полезно, например, в случае, когда не читается «хвост» копируемого диска, записанного с overburn'ом (FAQ), и никакой надежды считать его остаток уже нет. Stop - прекратить чтение и записать только то, что прочиталось. В отличие от предыдущего варианта, остаток нулями не забивается. Delete file and cancel - удалить образ несчитавшегося полностью трека и прекратить работу. Cancel - прекратить работу, не удаляя образ.

Permit ExAll() - считывание директорий с помощью функции ExAll() вместо ExNext(). Эта функция считывает всю директорию целиком, и соответственно работает быстрее, чем вызов ExNext() на каждый объект директории - но может не поддерживаться конкретной файловой системой. Если вы ничего не поняли - просто не включайте это, и всё :-)

Unprotect - предназначен для ситуаций, когда у файла отсутствует атрибут, разрешающий чтение. Такой файл попросту не удастся прочитать для его записи на CD. Если эта опция включена, MakeCD временно разрешит чтение файла, прочитает его, и запретит обратно. Рекомендуется включить.

Hardware compatibility settings

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

Parallel read/write - означает разрешение посылать команды чтения/записи одновременно. Эту опцию стоит включить в случаях, когда источник данных и рекордер находятся на разных контроллерах (применчание - в случае 4IDE на встроенном контроллере A1200, это всё равно будет один контроллер!) или на одном SCSI контроллере с включённым reselection (FAQ) на обоих устройствах. Если, к примеру, источник данных и рекордер находятся на одном IDE шлейфе - эта опция должна быть выключена.

Adapt start position - эта опция касается ошибки в прошивке очень старых рекордеров, и вряд ли когда-либо вам пригодится.

На этом настройки MakeCD закончились. Всё остальное указывается в процессе создания проекта конкретно для каждого диска. Кстати, для запоминания настроек для диска по умолчанию, почти в каждом окне MakeCD можно выполнить Save current gadget state.

Следует заметить ещё про одну «настройку», а именно запоминание расположения окон. Поскольку MakeCD использует библиотеку triton, которая страдает излишней «шароварностью» (shareware), есть способ обойти это ограничение названной библиотеки. После того, как вы расставите все окна MakeCD, и выйдете из неё - просто скопируйте директорию Triton со всем её содержимым из ENV: в ENVARC:. :-)

Меню Tools -> Copy CD - копировщик

Копирование - самая простая операция, выполняемая MakeCD. Она вызывается через меню Tools -> Copy CD. Содержимое этого окна:

Base dir - здесь будут размещены образы треков, если копирование делается не напрямую CD->CD.

Temporary images - способ копирования. Возможны три варианта - напрямую CD->CD, через образы треков, и через Block Medium (описано выше). Копирование напрямую НЕ РЕКОМЕНДУЕТСЯ использовать на рекордерах, не имеющих защиты буфера! (FAQ)

Audio file format - понятно из названия (также см.выше про raw). Raw-формат здесь назван CDDA.

Delete file - удаление файлов, которое может не производиться вообще, производиться после завершения записи каждого трека (этот вариант полезен при копировании, например, аудиодисков - тогда для копирования через образ достаточно иметь свободное место на HDD в размере самого большого из треков - но это возможно только в случае записи в TAO), или после завершения всей операции.

Write mode - DAO или TAO (FAQ).

Data format - формат данных, поступающий в рекордер. Рекордер может воспринимать данные в чистом виде (например, два килобайта на сектор в случае Data CD), формируя контрольные суммы, коды коррекции ошибок и прочее сам. Может воспринимать сектора прямо в том формате, в котором они хранятся на CD - 2352 байта на сектор, оставив формирование нужного формата (Data, Audio, прочее) компьютеру. Может поддерживать оба варианта. Первый вариант называется Cooked user data, второй - Raw block contents. Если выбрать Format of the writer, MakeCD сама определит возможности рекордера и выберет имеющийся вариант. При доступности обоих - будет выбран Cooked user data, поскольку данные (и соответственно образы треков) в этом случае занимают меньше.

TAO Track start - потребуется при копировании аудиодисков в TAO, для более точного копирования Audio CD в условиях добавляемых в TAO двух секунд тишины (FAQ). Проще всего вообще не связываться с этим и писать аудиодиски в DAO.

Scan for indices - считывание индексов, представляющих собой разметку «внутри» аудиотрека. Встречается очень редко. Если включить - при копировании AudioCD он будет просканирован на предмет индексов (что займёт заметное время), и они также будут скопированы.

Read ISRC - считывание Industry Standart Recording Codes, также встречающихся на AudioCD и идентифицирующих каждый трек. Практической ценности не представляют. Если включить - они будут считаны и записаны на копию.

Когда все настройки копировщика выставлены, далее есть два варианта - приступить к копированию диска (Copy CD) или создать проект (Setup Project). Если у вас один CD привод, то Setup Project предпочтительнее в любом случае - поскольку при этом достаточно вставить исходный диск, считать его, вставить болванку и записать. При Copy CD в условиях одного привода, потребуется на одно действие больше - вставить болванку (определение свободного места), вставить источник, считать его, и только после этого записывать.

Копируем диск через образ

Последовательность действий при этом такова:

На этом запись начинается. Запись можно повторять любое количество раз, нажимая на Start.

Копирование диска с CD на CD напрямую выполняется ещё проще - нажатием Copy CD в окне копировщика.

К вопросу об экспериментах

Настоятельно рекомендуем учиться записи CD на CD-RW болванках! Их невозможно испортить программно - после каждого неудачного эксперимента CD-RW болванку можно стереть и продолжать по-новой. С точки зрения софта CD-RW болванки ничем не отличаются от CD-R - всё, что можно сделать с CD-R, можно сделать и с CD-RW.

В процессе экспериментов также можно использовать и CD-R болванки в test mode. Это отличается от эксперимента на CD-RW тем, что скорости записи CD-RW обычно меньше, чем CD-R. Если рекордер без защиты буфера - попробуйте запись «на лету» с разными количествами и размерами исходных файлов.

Стирание CD-RW болванок осуществляется в окне, вызываемом по меню Tools -> Target CD-R. Внизу есть выбор различных операций стирания CD-RW - можно выбрать (по порядку):

Попутно опишем остальные функции кнопок этого окна. Кнопки Fix CD-R и Fix session закрывают диск и сессию соответственно (FAQ).

Кнопка Repair CD-R позволяет «отремонтировать» диск, на который по каким-то причинам не удаётся дописать треки - например, из-за прерывания его записи. Однако, помогает это не всегда - например, при прерывании записываемого в DAO диска обычно сделать уже ничего нельзя. Очевидно, всё это не касается CD-RW.

Эти функции можно вызвать также из меню Tools. Остальное содержимое окна выводит информацию о вставленном в рекордер диске.

Создаём собственный диск

По нажатию Add из основного окна MakeCD, открывается окно Track Options.

Source -> Type: тип источника данных. Возможны варианты - файловая система (трек, содержащий файлы), трек с исходного диска, образ трека с HDD, и Block Medium.

Start block / Length указывают, какой конкретно участок источника данных будет использован. При выборе трека с исходного диска, MakeCD сама подставляет эти значения. Но никто не мешает вам вбить их самостоятельно - что позволит, к примеру, записать на болванку в качестве аудиотрека любой кусок исходного диска - например, несколько треков разом, или кусочек отдельного трека. Точно так же можно записывать кусочки образов треков. Очевидно, в случае файловой системы эта возможность недоступна.

Target - указание способа записи. Можно записывать напрямую на болванку (Direct to CD writer - что не требует места на HDD под образы). Можно писать через образы треков на HDD. Можно использовать Block Medium.

Когда и как действует Delete file - описано выше в настройке копировщика.

Advanced Options -> Track Type:

Когда MakeCD попадается диск с Mode 2 треками, то при Setup Project используется тип трека Mode 2 - поскольку в TOC диска не указано, используется в нём Form 1 или Form 2. Образ трека Mode 2 может хранить оба типа секторов - даже если в пределах трека применяются оба типа разом. Реально обычно всё-таки используется один тип. Например, у VideoCD первый трек в Mode 2 Form 1, а последующие в Mode 2 Form 2. Впрочем, при создании диска эти тонкости Mode 2 могут вам и не понадобиться.

Pause и ISRC были описаны выше. Также справа задаётся список индексов, которые также были описаны выше.

Настройки файловой системы

Сначала пройдёмся по правой колонке. Volume name - имя диска. System ID, Preparer, Publisher, Copyright, Abstract и Bibliography записываются в определённые участки образа Data-трека и особого интереса не представляют. Собственно работа с файловыми системами ведётся в левой колонке.

Sources - список источников. Их может быть несколько - например, можно составить диск, содержащий часть файлов с одного раздела HDD, и часть файлов с другого раздела. Кроме указания путей, можно указать также текстовый файл со списком файлов, и трек с диска.

Указание треков пригодится для создания мультисессионных дисков (FAQ). При наличии нескольких data треков, файловая система всегда считывает последний из них. Чтобы в последнем треке были видны все файлы с диска, а не только реально записанные в нём, он должен содержать ссылки на файлы из предыдущего трека (предыдущий - на файлы из его предыдущего, и так далее). Таким образом, для дописывания на мультисессионный диск в обсуждаемом списке нужно указать не только пути к директориям, но ещё и предыдущий трек с этого диска. Когда MakeCD производит запись, перед записью она считает указанный трек и произведёт «импорт сессии», добавив все ссылки к вновь создаваемому дереву директорий. При дублировании директорий и файлов она спросит, как поступать в этой ситуации.

Интересную возможность даёт поле Image path - можно указанную файловую систему, например, корневую директорию раздела Archive:, разместить на CD в директории, к примеру, называемой Archives.

Boot Options

По этой кнопке находятся настройки загрузочных дисков. MakeCD может делать загрузочные диски как для CD32/CDTV, так и для PC. В последнем случае потребуется образ загрузочной дискеты или HDD (FAQ).

ISO/RockRidge

Здесь настраиваются параметры создаваемой файловой системы. Левое окошко позволяет сортировать физический порядок файлов. Например, если указать в списке «.info», то все иконки в каждой директории сгруппируются рядом, и при их считывании Workbench'ем CD-привод не будет елозить головкой по диску.

Галка RockRidge позволяет сохранить длинные имена файлов (более 31 символа), комментарии к файлам и атрибуты HSPARWED (за это отвечает галка Save Amiga file attributes). Системы, отличные от AmigaOS, не увидят наших комментариев и атрибутов. UNIX'ы увидят длинные имена файлов. Остальные системы вообще игнорируют RockRidge.

World Access и Group Access устанавливают доступ соответственно для всех и для группы таким же, как и доступ для пользователя. Это полезно при записи дисков для UNIX, поскольку на Амиге в большинстве случаев (если не установлен пакет Multiuser) эти флаги не используются.

ISO Level устанавливает ограничения на имена (RockRidge это не касается). Level 1 - столь любимые на PC имена 8+3, Level 2 - до 31 символа. В обоих случаях набор символов ограничивается A-Z, 0-9 и знаком подчёркивания. Пробелы и прочие спецсимволы заменяются на подчёркивание (FAQ). Стандарт ISO требует приведения букв к заглавным - это делает галка Convert ISO names to upper case. Галкой Convert .info suffix to lower case можно привести данный суффикс у иконок к строчным буквам.

Если установить ISO 9660 Amiga - все ограничения (кроме длины) на ISO имена снимаются. Как показывает практика, несмотря на некоторую нестандартность такого подхода, все системы читают такие имена замечательно (MS-DOS не читает, но и на операционку он не особо тянет..). Можно использовать и кириллицу. Однако, имейте в виду, что разные системы требуют разных кодировок - Windows требует 866, UNIX'ы обычно требуют koi8-r.

Когда включён RockRidge - файловые системы Амиги видят имена именно в нём. ISO имена остаются «за кадром».

Записываем простейший диск с файлами для Амиги

Эта операция проводится следующим образом: Диск пишется. В дальнейшем часть упомянутых настроек можно запомнить (через кнопку Save или меню Save gadgets state), и процесс создания диска упростится.

Запись мультисессионного диска

Первая запись на такой диск практически не отличается от предыдущей. Диск следует оставить открытым (Fix: session).

Продолжение записи на мультисессионный диск (запись второй и последующих сессий) похоже на начало записи (запись первой сессии). Однако, здесь есть два варианта - вы можете захотеть, чтобы новые файлы добавились к старым (которые были на диске), либо сделать так, чтобы старых файлов не было видно. Второй вариант проще всего - пишете, как обычно, разница будет только в том, что на диске меньше свободного места.

Для добавления новых файлов к старым, в ISO Images Prefs в списке Sources, кроме путей к требуемым вам директориям и файлам, следует добавить трек с диска - Add -> Type: CD-R Track. Если на диске несколько треков - выбираете последний. Эта операция называется «импорт предыдущей сессии» - в оглавление нового трека, кроме того что вы записываете, добавится ещё и всё то, что было записано ранее.

При желании можно выбирать и не последний трек. Например, если записано две сессии, а при записи третьей указать первый трек, то полученный диск будет содержать файлы из первой и последней (третьей) сессии, а файлы из второй сессии видны не будут. Подробнее о мультисессионной записи читайте FAQ.

При последней записи рекомендуем установить Fix: CD-R. Если этого не сделать - CD-ROM приводы при считывании диска и сканировании сессий будут искать несуществующую сессию, на которую указывает последняя, и опознавать диск дольше. В остальном это не фатально.

Overburn (FAQ)

Конкретно в случае MakeCD, при нехватке места вылезет реквестор с предупреждением о том, что не хватает столько-то. Если не хватает не более 90 секунд (01:30;00) - смело жмите Ignore. Ряд прочих тонкостей описан в FAQ.

Запись диска для PC

Тут коснёмся лишь одной тонкости - на Амиге обычно используется кодировка кириллицы 1251, для записи же кириллицы на PC-диски нужна 866. Имена перед записью можно перекодировать по соответствующей 256-байтной табличке утилитой transname. Если хочется, чтобы эти диски читались везде без проблем с кодировками, можно той же transname сконвертировать имена в транслит.

Если записываемый диск не содержит кириллицы - пишите как есть. Не забудьте, что Windows не видит RockRidge, соответственно имена не должны превышать 31 символа. На вложенность директорий лимита нет.

Утилита transname доступна в этом архиве.

Создание образа диска для последующей записи для PC

Если вы пишете «на лету», этом случае всё равно нужно в Track options указать Use image file вместо Direct to writer, и выбрать этот файл. Далее делается Create image files, и образ диска готов.

Запись аудиодиска

Простейший способ это сделать - меню Edit -> Append image files. Это позволит избежать ручного создания каждого трека - если аудиофайлы сложены рядом, можно добавить их все разом. MakeCD автоматически расставит требуемые настройки треков. Аудиофайлы должны быть заранее подготовлены в формате 44100Hz 16bit стерео - конверсией свойств файлов MakeCD не занимается. Можно указать MP3 файлы - при наличии в системе mpega.library MakeCD распакует их. Запись MP3 «на лету» потребует наличия защиты буфера, хотя 68060 хватает на 2х.

Запись комбинированного диска: файлы + аудио

Существует два типа комбинированных дисков - Mixed-mode CD, и CD-Extra (FAQ).

Mixed-mode CD записывается следующим образом - сначала действия те же, что и при создании диска с файлами, после чего вместо Write tracks выполняется создание аудиодиска. Первым треком, таким образом, пойдут требуемые файлы, а последующими треками - звук. Обратите внимание, что аудиоаппаратура зачастую будет пытаться проигрывать первый трек, напоминая времена старых добрых БК и Spectrum :)

Создание CD-Extra выполняется иначе. Сначала осуществляется запись аудиодиска, при этом диск следует оставить открытым (Fix: session). Затем проект очищается (меню Edit -> Clear current project), и выполняется запись диска с данными в Mode 2 Form 1 (если записывать в Mode 1, этот диск может не читаться под некоторыми ОС).

Следует иметь в виду, что для записи CD-Extra без пауз между треками (например, если хочется сделать копию аудиодиска, добавив файлы), рекордер должен поддерживать SAO (FAQ). Иначе он не сможет записать треки без пауз, оставив диск открытым!

CD-Extra оставляет данные невидимыми для аудиоаппаратуры.

Сброс образа диска в файл

После Setup project в копировщике и Create image files на HDD получаются образы треков. В случае треков Mode 1, эти образы соответствуют формату #?.ISO, и их можно после переименования по вкусу выкладывать в интернет или нести на запись знакомым.

Если стоит задача сграбить аудиодиск, не забудьте перед Setup project выставить в копировщике нужный формат - к примеру, aiff.

При граблении видеодисков (VideoCD), чтобы получить файлы в формате MPEG-1 (#?.mpg), необходима версия MakeCD не ниже 3.2d beta6. После Setup project, пройдитесь по второму и последующим (если они есть) трекам, и поменяйте там Mode 2 на XA/Mode 2 Form 2. Сделайте Create image files. Первый трек сотрите. Оставшиеся переименуйте по вкусу.

Если проделать эту операцию на более ранних версиях MakeCD, полученный файл будет частично содержать служебную информацию из секторов диска, и программные MPEG-плееры могут на него плеваться. Если после Setup project обнаруживается, что на диске всего один трек - значит, это никакой вовсе не VideoCD. Поищите на нём файлы #?.dat в директориях MPEGAV или SEGMENT. Если они там есть - значит, это результат некорректной записи VideoCD - такой диск не будет проигрываться стационарными плеерами. Эти файлы можно списать на HDD, и сконвертировать в #?.mpg, как описано ниже.

Запись образа диска

Если у вас есть готовый образ Data CD в виде ISO файла, достаточно создать трек, Type: Image file, выбрать этот файл, и указать Track type: Data (Mode1).

Иногда образы дисков встречаются в формате PCшной программы CDRWin. Это два файла #?.cue и #?.bin. Для их записи нужна MakeCD не ниже 3.2d beta7. Выберите из меню Edit -> Import CD image -> CDRWin.

Там же есть импорт образов дисков в формате cdrdao (#?.toc и #?.bin).

Запись VideoCD

При наличии MPEG-1 файлов (#?.mpg) можно воспользоваться программой mkvcdfs. Пользоваться ею очень просто:

mkvcdfs file1.mpg [file2.mpg, ...]

(то есть аргументами могут служить от 1 до 98 MPEG-1 файлов. Результатом работы программы будет образ диска в формате cdrdao (#?.toc и #?.bin). Он записывается, как описано выше.

Файлы в формате #?.dat (порождение Windows) следует сначала сконвертить в формат #?.mpg при помощи программы vcdgear:

vcdgear -dat2mpg file.dat file.mpg

Иногда может быть возможной операция объединения двух VideoCD в один. Если фильм не превышает размера той болванки, на которую мы хотим его записать (например, для SKC Premium 90min это 93 минуты), это делается граблением исходных VideoCD, созданием образа из обоих файлов, и записью его на нужную нам болванку. Если фильм немного больше, а в конце него идут титры, можно отрезать не влезающую часть этих титров со второго диска. Простейший способ это сделать - программа setfilesize:

setfilesize file.mpg size

где size - размер файла в байтах. Этот размер устанавливается из расчёта, чтобы фильм влез на диск. Расчёт ведётся следующим образом: определяем, сколько должен занимать фильм на диске в минутах, затем умножаем это число на 10458000 (это количество байт MPEG-потока на одну минуту), и вычитаем из результата размер первого файла (который остаётся неизменным). После выполнения setfilesize необходимо просмотреть конец получившегося файла программным плеером (к примеру Frogger'ом), и убедиться в том, что вместе с титрами не был обрезан кусок фильма.

Утилиты mkvcdfs и setfilesize доступны в этом архиве.

Запись SuperVideoCD

Для этой операции используется программа VCDImager. Пользоваться ею тоже просто:

vcdimager [-l volumelabel] -t svcd file1.mpg [file2.mpg, ...]

(аргументами могут служить от 1 до 98 MPEG-2 файлов).

Прочие программы для работы с CD-RW

Интерес представляют утилиты: IdentCDR и RWPrepare. Обе доступны на аминете. Первая из них считывает ATIP (FAQ) и сообщает фирму-изготовителя диска.

Вторая из них предназначена для использования пакетного режима (FAQ). К ней прилагается инструкция по использованию. Однако, имейте в виду, что отформатированные под FFS (другие файловые системы пока не поддерживаются) CD-RW диски могут быть прочитаны только на Амиге и под Линуксом (mount -t affs).

Не удивляйтесь малому объёму CD-RW после форматирования (FAQ).

Кроме MakeCD, существует ещё две нативные программы для записи CD - MasterISO и BurnIt!. Первая из них ныне уже не поддерживается (последняя известная версия - 2.5 от 24 ноября 1999), как программа общего назначения ввиду целого ряда недостатков неинтересна, но обладает довольно интересной «создавалкой CD из файлов». Однако, при попытке её практического использования вы наткнётесь на три проблемы - неработоспособность её с reqtools, с современными рекордерами, и с именами файлов более 31 символа.

Первое можно поправить путём временного выключения reqtools patch. Если это не сделать, в ней не удастся выбрать дерево директорий - будут добавляться только одиночные файлы.

Второе частично правится следующим образом - нужно при помощи, например, CygnusED найти в ней одну из предыдущих моделей вашего рекордера (например, в случае Yamaha CRW-2200S надо найти CRW-8424S и перебить 8424 на 2200). Аналогичным образом правится и BurnIt!.

Однако, к примеру, возможности писать на 12x этот патч не добавит. Третье тоже просто так не исправляется - для этого нужна весьма серьёзная доработка.

Также существует юниксовая программа cdrecord, с портами которой вы можете столкнуться. Она умеет записывать CD из образов, запускаясь из командной строки - что позволяет автоматизировать процесс записи дисков. Образы к ней можно создавать как при помощи упомянутых выше программ, так и с помощью юниксовых же программ mkisofs/mkhybrid.

[продолжение следует]