9 августа 2022 года в 19:52

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

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





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-модуль с загрузчиком    


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-модуль с загрузчиком    
Loading...

Чтобы оставить комментарий, необходимо авторизоваться:


Смотри также

Очередная драка мигрантов в Москве попала на видео 15 угарных изображений, на которых хвостатые любимцы делят между собой жилище Хайпожор В Петербурге блогершу чуть не зарезали из-за доставленной не по адресу пиццы Интересные фото из Малайзии У одной из баз ВВС США замечен неизвестный летательный аппарат Кимберли Гарнер в сексуальном наряде В Калуге в больнице детей с пневмонией причастили Размеры жука-Голиафа С флагом и гимном. Сборная ВС РФ заняла первое место на чемпионате по пулевой стрельбе в Бразилии Предлагаю внедрить Комментарии и картинки из соцсетей. Свежак за 23 ноября