Загрузка операционной системы с виниловой пластинки

в 9:10, , рубрики: diy или сделай сам, ruvds_перевод, Блог компании RUVDS.com, Программирование, разработка, системное администрирование, старое железо

Большинство компьютеров загружаются с встроенного накопителя. Это может быть обычный жёсткий диск или SSD. Иногда они загружают ОС из сети, или, в крайнем случае, если загружаться больше неоткуда, с USB-флешки или с DVD. Как по мне — так всё это — скука смертная. Как насчёт загрузки ОС с виниловой пластинки?

Загрузка операционной системы с виниловой пластинки - 1


10-дюймовая пластинка, время проигрывания которой составляет 6 минут 10 секунд при скорости 45 оборотов в минуту — это загрузочный диск DOS размером 64512 байт

Для проведения этого необычного эксперимента персональный компьютер (а точнее — IBM PC) подключён к проигрывателю виниловых пластинок через усилитель. Тут имеется маленький ROM-загрузчик, управляющий встроенным «кассетным интерфейсом» PC (который, пожалуй, никогда и никем не используется). Этот загрузчик вызывается BIOS в том случае, если все остальные способы загрузки не сработали (то есть — загрузка с дискеты и с жёсткого диска). Проигрыватель воспроизводит аналоговую запись содержимого небольшого RAM-диска, предназначенную только для чтения, размер которой составляет 64 Кб. В этой записи имеется ядро FreeDOS, модифицированное мной так, чтобы его размер уложился бы в существующие ограничения. Здесь же есть компактный вариант COMMAND.COM и пропатченная версия INTERLNK, которая позволяет передавать файлы по принтерному кабелю и переделана так, чтобы она работала бы в FreeDOS. Загрузчик читает образ диска с пластинки через кассетный модем, записывает образ в память и загружает с его использованием ОС. Полагаю, не так уж всё это и сложно.

Загрузка операционной системы с виниловой пластинки - 2

«Виниловый» загрузчик в ROM (он ещё может быть записан на жёсткий диск или на дискету, но это уже будет нечестно)

Если немного углубиться в технические детали, то окажется, что перед нами — некий симбиоз 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%. Это не мешает правильной передаче данных.

Загрузка операционной системы с виниловой пластинки - 3

EPROM-модуль с загрузчиком

Итоги

Загрузка компьютера с проигрывателя виниловых пластинок

Вот и всё! Если кому-то нужен загрузчик, сделанный для чипа 2364 (через адаптер можно использовать и чипы 2764), то его код можно найти здесь. Он рассчитан на работу с IBM 5150 с монохромным дисплеем и с как минимум 512 Кб RAM, что (вот уж совпадение) напоминает компьютер, с которым экспериментирую я. Ссылку на образ загрузочного диска можно найти в этом материале. А вот — тот же образ, но уже в звуковом виде.

Приходилось ли вам загружать компьютеры с использованием каких-нибудь необычных способов?

Загрузка операционной системы с виниловой пластинки - 4

Загрузка операционной системы с виниловой пластинки - 5

Автор: ru_vds

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js