Загрузка операционной системы с виниловой пластинки
10-дюймовая пластинка, время проигрывания которой составляет 6 минут 10 секунд при скорости 45 оборотов в минуту — это загрузочный диск DOS размером 64512 байт
«Виниловый» загрузчик в ROM (он ещё может быть записан на жёсткий диск или на дискету, но это уже будет нечестно)
Для проведения этого необычного эксперимента персональный компьютер (а точнее — IBM PC) подключён к проигрывателю виниловых пластинок через усилитель. Тут имеется маленький ROM-загрузчик, управляющий встроенным «кассетным интерфейсом» PC (который, пожалуй, никогда и никем не используется). Этот загрузчик вызывается BIOS в том случае, если все остальные способы загрузки не сработали (то есть — загрузка с дискеты и с жёсткого диска). Проигрыватель воспроизводит аналоговую запись содержимого небольшого RAM-диска, предназначенную только для чтения, размер которой составляет 64 Кб. В этой записи имеется ядро FreeDOS, модифицированное мной так, чтобы его размер уложился бы в существующие ограничения. Здесь же есть компактный вариант COMMAND.COM и пропатченная версия INTERLNK, которая позволяет передавать файлы по принтерному кабелю и переделана так, чтобы она работала бы в FreeDOS. Загрузчик читает образ диска с пластинки через кассетный модем, записывает образ в память и загружает с его использованием ОС. Полагаю, не так уж всё это и сложно.
Если немного углубиться в технические детали, то окажется, что перед нами — некий симбиоз BootLPT/86 и 5150CAXX без поддержки порта принтера. Он тоже хранится в ROM, в слоте расширения BIOS, но это необязательно. Для подключения усилителя к компьютеру используется кабель, аналогичный тому, что применяется в 5150CAXX, но тут не используется передача данных от компьютера к подключённому к нему устройству.
«Кассетный интерфейс» — это всего лишь выход, представленный каналом 2 таймера динамика PC и вход, который представлен 4 каналом порта C 8255A-5 PPI (PC4, I/O-порт 62h, бит 4). Для программной (де)модуляции используются возможности BIOS INT 15h.
Загрузочный образ — это тот же 64-килобайтный образ RAM-диска BOOTDISK.IMG, ссылку на загрузку которого можно найти здесь. Данные образа, с использованием 5150CAXX, преобразуются в вид, совместимый с протоколом «IBM cassette tape», а получаемый аудиосигнал уходит прямо в систему записи виниловых пластинок.
Запись осуществляется с использованием кривой выравнивания RIAA, которую предварительный усилитель обычно обращает в процессе воспроизведения звука. Но делает он это не идеально. А значит — на усилителе нужно выполнить коррекцию сигнала. Именно поэтому я и воспользовался усилителем, так как мне не удалось получить нужный сигнал, подав звук на компьютер сразу от предусилителя. В моём случае, используя винтажный усилитель Harman&Kardon 6300 и интегрированный предусилитель MM Phono, мне пришлось убавить высокие частоты (-10дБ/10кГц), поднять басы (+6дБ/50Гц) и уменьшить уровень громкости до получения пиков примерно в 0,7 вольта, что позволило предотвратить искажения звука. Всё это делалось, конечно, при отключённой коррекции фазы и громкости.
Безусловно, кассетному модему совершенно наплевать на то, откуда именно приходит сигнал. При этом, конечно, важно, чтобы запись была бы чистой, не содержала бы щелчков и треска (винил) или недостатков, связанных с модуляцией или частотой сигнала (магнитная лента). Всё это может прервать поток данных. Правда, звук вполне может немного «плавать», скорость воспроизведения может варьироваться в пределах 2-3%. Это не мешает правильной передаче данных.
EPROM-модуль с загрузчиком
Источник:
76 комментариев
4 года назад
Удалить комментарий?
Удалить Отмена4 года назад
Удалить комментарий?
Удалить Отмена4 года назад
Удалить комментарий?
Удалить Отмена4 года назад
ЗЫ
На оптические диски, информация пишется тоже, с использованием ПУ кодировани. Все обрабатывается на уровне железа.
Удалить комментарий?
Удалить ОтменаУдалить комментарий?
Удалить Отмена4 года назад
Удалить комментарий?
Удалить Отмена4 года назад
Удалить комментарий?
Удалить Отмена4 года назад
Удалить комментарий?
Удалить Отмена4 года назад
Удалить комментарий?
Удалить Отмена