Перевод статьи с сайта программиста и любителя старого железа Майкла Сломковски

Ко мне в руки попал старый MFM-диск, MiniScribe 2012, вместе с контроллером. MFM – это модифицированная частотная модуляция, и эту технологию часто ассоциируют с громоздкими жёсткими дисками из эры до IDE/Parallel ATA. Древние данные, хранящиеся на диске (в основном, документы MS Word 4.0) обладали определённой сентиментальной ценностью для предыдущего владельца, поэтому я решил их извлечь.

Жёсткий диск MiniScribe 2012


Жёсткий диск — MiniScribe 2012 MFM, произведён, вероятно, в 1984-м. Он стоял в IBM XT-совместимом компьютере. Этот монстр занимает два слота по 5.25" и весит более двух килограмм. Как указано в инструкции, объём его просто поражает воображение – целых десять мегабайт. Коннектор питания – стандартный Molex. Диск подключается к карточке контроллера двумя кабелями.













У диска MiniScribe в комплекте есть выделенный контроллер 8-bit ISA под названием WD1002A-WX1. Его спецификации легко найти. В текстовом файле содержатся инструкции по установке; также нам может пригодиться список совместимых устройств.

В теории контроллер способен работать с любым приводом, поддерживающим протоколы ST506/412, но на практике всё не так просто. Список повреждённых секторов должен храниться в ROM контроллера. Для этого требуется специальное ПО. Часто новый привод начинает работать после соединения его с новым контроллером и проведения низкоуровневого форматирования.


Контроллер диска WD1002A-WX1 MFM

У контроллера есть свой BIOS, который обычно называется Option ROM. Его вызывает BIOS материнской платы во время последовательности POST. Код регистрирует хук на прерывании INT 13 и в результате становится доступным из DOS при помощи стандартного вызова прерывания.

Устройство


К счастью у меня была старая материнка AT (ATC-1020) с ISA-слотами и процессором Pentium. На процессоре не было радиатора, но я установил джамперы на плате так, чтобы он работал на минимальной скорости, и приладил временный радиатор при помощи резинки. Также я поставил в плату модуль 32 MB DIMM RAM.



У меня не было графической VGA-карточки ни для PCI, ни для ISA, поэтому я использовал MDPA со специальным жёлтым монохромным дисплеем. Материнка его успешно распознало, что видно на фотографии.

Для проверки диска я отключил в BIOS IDE-контроллер и попытался загрузиться. Диск ожил и даже загрузился – ура!

Загрузка с PXE


Я предположил, что для того, чтобы поиграться с этим диском MiniScribe, мне понадобятся утилиты для DOS, поэтому я решил загрузиться с дискеты с MS-DOS. Поскольку с физическими дискетами возиться неудобно, я решил использовать сетевую загрузку. К счастью, у меня была сетевая карта PCI Ethernet с поддержкой PXE: 3com 3C905C-TXM

Чтобы загрузить образ дискеты по PXE, нужен специальный загрузчик. Один из популярных – PXELINUX, входящий в состав Syslinux, модуль syslinux из Arch Linux. На машине Linux нужно создать директорию для сетевой загрузки и скопировать туда
PXELINUX:

cp /usr/lib/syslinux/bios/{ldlinux.c32,memdisk,pxelinux.0} .
mkdir pxelinux.cfg

Затем создать текстовый файл pxelinux.cfg/default со следующим содержимым:

default dos
label dos
kernel memdisk
append initrd=fdboot.img


Образ загрузочной дискеты надо сохранить, как fdboot.img. Эти файлы можно скачать в виде ZIP-архива.

Популярный способ настройки загрузки по PXE – это dhcpd и TFTP daemons. Это сложная задача, но к счастью, я нашёл небольшой и простой в использовании сервер netboot (aur/netboot под Arch Linux). Он комбинирует возможности серверов DHCP и TFTP. В моём роутере я запускал его, не отключая DHCP server, поскольку они вроде не должны конфликтовать.

Запускаете netboot в директории, где лежат загрузочные файлы PXE. После DHCP-запроса сервер возвращает файл pxelinux.0*.

netboot {broadcast IP} {local machine IP} {IP for client machine} {MAC pattern}

{MAC pattern} должен соответствовать MAC-адресу сетевой карты клиента.

К примеру, мой адрес в локальной сети 192.168.1.0, IP моей машины с Linux 192.168.1.10 а MAC моей карты 3com заканчивается на 66:

netboot 192.168.1.255 192.168.1.10 192.168.0.20 -66

В качестве fdboot.img я использовал стандартный диск MS-DOS 6.22. Затем я всё это загрузил – и оно заработало!

Попытки скопировать данные с IDE-диска


Поскольку у MFM-контроллера собственный BIOS, диск было видно под MS-DOS. Но мне требовался накопитель, на который я бы мог скопировать файлы. Сначала я решил попробовать IDE-диск. У материнской платы было два IDE-канала. Я подключил диск на 40 Gb от Seagate. Система его обнаружила, но, к сожалению, после этого MFM перестал быть доступным. Игры с джамперами не помогли. Возможно, происходил какой-то конфликт между двумя дисковыми процедурами.

Копирование данных на USB-флэшку


Затем я попробовал другой подход. Я установил карту расширения PCI USB и драйверы USBASPI для MS-DOS. Теперь конфликтов не было, и мне удалось скопировать весь диск на USB-флэшку!

xcopy c:\ d:\ /e /k





Четыре карты расширения на материнке. Слева направо: графическая карта MDA, контроллер диска MFM, сетевая карта 3com Ethernet, карта расширения USB.

В результате у меня появилось более двух сотен файлов Microsoft Word для DOS, которые я преобразовал в RTF.

Комментарии (32)


  1. vesper-bot
    23.10.2018 15:53
    +1

    Наглядное свидетельство устаревания интерфейсов и ПО… столько действий, чтобы просто прочесть данные, и это ещё диск живой вполне, всего один data error, похоже!

    А ещё, в его наколенной системе памяти больше, чем размер самого диска.

    И наконец, странно, что он не заморочился настроить заливку данных по сети вместо копирования на USB. Логично же, что если есть сеть, по ней можно что-то отправить. А MSDOS 6.22 работать с сетью, кажется, уже как-то умел.


    1. dlinyj
      23.10.2018 17:01

      А MSDOS 6.22 работать с сетью, кажется, уже как-то умел.

      Без танцев не умел


      1. Newbilius
        24.10.2018 14:00

        Да чего там танцев то? Втыкаем сетевую карту, настраиваем пакетный драйвер — и вперёд.
        Под DosBox
        Под чистым DOS


      1. saboteur_kiev
        24.10.2018 23:52

        То есть не умел?
        Грузишь драйвер сетевушки, грузишь драйвер протокола, грузишь клиент/сервер и вперед.


    1. DrPass
      23.10.2018 17:26

      Наглядное свидетельство устаревания интерфейсов и ПО… столько действий, чтобы просто прочесть данные

      В принципе, для девайса, которому уже 35 лет, не слишком много. Можно было бы даже упростить — вручную в BIOS выделить прерывание для MFM, и тогда можно было бы просто загрузиться с IDE-диска в современную операционную систему, и переписать данные на флешку.


  1. alexanster
    23.10.2018 16:02

    Этот монстр занимает два слота по 5.25"

    Справедливости ради: один слот.


    1. saboteur_kiev
      23.10.2018 16:08

      Хм, а по внешнему виду — именно два слота. На его место по высоте вполне влезет два 5.25" дисковода.


      1. alexanster
        23.10.2018 16:11

        5.25" привод ODD занимает полслота 5.25", так что два привода как раз дадут один слот.


        1. saboteur_kiev
          24.10.2018 23:51

          Ну может быть.
          Я просто помню, что у меня был МФО винчестер на 10 мбайт и два 5.25" дисковода.
          Как раз винчестер по высоте был как два дисковода.


          1. alexanster
            25.10.2018 18:22

            Видимо я слишком коротко выразил мысль, попробую развернуть:
            В то время когда на рынке появился стандарт на 5.25" устройства, никаких оптических приводов и в планах не было, а были вот такие вот монстры. Монстры — это по нонешним временам, а по тогдашним — передовые технические устройства, и девайсов меньших габаритов, чем такой, как субж, не было. Поэтому он был размером в 1 слот. Но прогресс брал своё и появились девайсы в 2 раза меньшей высоты: те же HDD, FDD и пр. Таких в стандартный слот можно было поставить пару, поэтому их назвали half-height (половинной высоты). Со временем устройства полной высоты почти полностью отмерли, за крайне редким исключением, типа реобаса (NZXT Sentry LX LCD) или некоторых корзин для HDD, и для простоты стали считать отсеком 5,25" не полной высоты, а половинной.
            Ну это как с размером SIM-карт: много раз слышал про mini-симку, что это стандартная, тогда как стандартная — это размером с пластиковую карту 85х55мм, но кто ж сейчас вспомнит про такие.


            1. Mad__Max
              25.10.2018 21:11

              Вспомнить на самом деле легко — многие сотовые операторы до сих пор продают симкарты, которые перед использованием «выламываются» из пластика полноразмерной SIM-карты.

              Большинство правда не воспринимает этот кусок пластика, как «большую сим-карту», а просто какой-то странный пластиковый держатель. Но если где-то вдруг обнаружится устройство требующее полноразмерную симку, ее можно туда вставить без каких-либо адаптеров:
              image

              А вот полноразмерные 5.25" слоты помнят только настоящие олдфаги IT-аксакалы.


            1. saboteur_kiev
              26.10.2018 01:53

              Хм. Когда появились HDD, уже были дисководы 5.25", и высота у них была как раз небольшой.
              Но ок, возможно высоту в те времена особо не стандартизировали.


    1. LexB
      23.10.2018 16:11

      Вы правы, один full-height слот. (Даже не знал про такие.) Цитата с вики.

      A 5.25-inch DVD drive
      Full-height bays were found in old PCs in the early to mid-1980s. They were 3.25? high by 5.75? wide, and up to 8? deep (83 mm ? 146 mm ? 203 mm), used mainly for hard disk drives and floppy disk drives. This is the size of the internal (screwed) part of the bay, as the front side is actually 5.875? (an extra eighth). The difference between those widths and the name of the bay size is because it is named after the size of floppy that would fit in those drives, a 5.25?-wide square.

      Half-height drive bays are 1.625? high by 5.75? wide (41.3 mm ? 146.1 mm), and are the standard housing for CD and DVD drives in modern computers, but were sometimes used for other things in the past, including hard disk drives (roughly between 10 and 100 MB) and floppy disk drives. As the name indicates, two half-height devices can fit in one full-height bay. Often represented as 5.25-inch, these floppy disk drives are obsolete.

      The dimensions of a 5.25? floppy drive are specified in the SFF standard specifications which were incorporated into the EIA-741 «Specification for Small Form Factor 133.35 mm (5.25 in) Disk Drives» by the Electronic Industries Association (EIA).[1] Dimensions of 5.25 optical drives are specified in the SFF standard (they are somewhat shorter and not only size of the body is standardized, but also size of the bezel).


  1. HiMem-74
    23.10.2018 16:24
    +1

    Какая прелесть! А помните этот замечательный лязгающе-булькающий звук при позиционировании, он мне чем-то напоминал ЛИАЗ-677…
    А внутри у него здоровенный шаговик, приводящий блок головок через зубчатый ремень, причем зубцы у ремня стальные.


    1. port443
      23.10.2018 21:21
      +1

      Диски тех времён интересны тем, что в них применялись очень разнообразные технические решения, и по приводу БМГ в том числе. Я видел несколько вариантов со стальной лентой (линейные, как в дисководе, секторные). И благодаря этому разнообразию решений звуки они все тоже весьма уникальные издавали.
      А с зубьями вот не попадался!


      1. Jeyko
        23.10.2018 21:43

        Да, с зубьями интересно. Попадались только с тонкой пластиной, наматываемой на вал.


        1. NetBUG
          24.10.2018 13:59

          Это в Сигейтах почти всегда было. А тут MiniScribe!


        1. port443
          24.10.2018 19:32

          Вот что-то похожее у Нека:

          NEC D5126 MFM


  1. Arcanum7
    23.10.2018 16:43
    +1

    Древние данные, хранящиеся на диске (в основном, документы MS Word 4.0) обладали определённой сентиментальной ценностью для предыдущего владельца, поэтому я решил их извлечь.

    Список ненависти Шелдона Купера?


    1. mokhin-denis
      24.10.2018 20:51

      не) он уже хранился на дискете 5.25"


  1. Unkn0wnUserName
    23.10.2018 16:51

    I was running it without having disabled DHCP server in my router, they supposedly don’t collide.


    это таки не одно и то же, что
    В моём роутере я запускал его, не отключая DHCP server, поскольку они вроде не должны конфликтовать.


    Имелось в виду, что он не отключал дшцп в своем роутере, когда запускал dhcpd.

    А вообще — надо бы реанимировать свой 10 мегабайтный винчестер и прикрутить его обратно к 8088 компу. Надо только Молекс найти…


  1. evgenij_byvshev
    23.10.2018 16:53
    +1

    А сколько времени длилось копирование?


  1. DGN
    23.10.2018 17:21

    Почему бы вам не использовать гибкий магнитный диск? У меня в настольном ПК до сих пор стоит сдвоенный FDD EPSON.

    p.s. Самое сложное, наверное, прочитать 8 дюймовый гибкий диск. Перфокарты прекрасно читает сканер…


  1. stalinets
    23.10.2018 19:31

    Да, старое железо — это магия и кайф! Но иногда всё же это боль и головняк))) У меня вот на новой работе оптический рефлектометр из 90-х годов, из интерфейсов только COM-порт и флопик. А файлы с результатами измерений (рефлектограммы) нужно как-то вытягивать, чтобы анализировать на компе и отсылать дальше по инстанциям… Запас старых живых дискет тает, новые купить и сложно, и дорого, да и дохнут что старые, что новые дискеты на раз-два. Реально, достал новую (старую, но позднего выпуска и при этом не юзаную) дискету, 2 раза перезаписал её, и всё, ей уже хана. Читать на современных компах дискеты уже нечем. Подумал, может, получится вытягивать рефлектограммы по COM-порту? Но после чтения мануала на полсотни страниц со многими сотнями команд для дистанционного управления по гипериерминалу ужаснулся и закрыл))) Увы, волшебной команды для копирования произвольной директории с прибора на комп там нет, всё очень дубово, топорно, низкоуровнево… Это не говоря уже о том, что нужно подготовить старый комп, спаять нуль-модемный кабель, правильно настроить параметры COM-порта на обоих устройствах.


    1. x86d0cent
      23.10.2018 20:16
      +1

      А зачем старый комп? Карты с COM-портом для PCI-E есть же. Кабель нульмодемный в каком-нибудь Чипдип тоже без проблем можно купить.

      Но вообще мне попадалась информация про аппаратные эмуляторы дисководов (те, которые 3.5 дюйма): подключается вместо флоппика, а в нем usb или sd. Вполне может быть выход (если, конечно, дисковод стандартный и заменяемый).

      UPD: ага, на Алиэкспрессе 20 баксов. Хотя, конечно, непонятно, что с совместимостью будет.


      1. stalinets
        23.10.2018 21:03

        Так это эмулятор флопика, а в моём случае нужна дискета-суррогат с картой памяти, которая бы виделась устройством как дискета, а карту памяти можно было бы достать.
        Я читал про такие, раньше были, под карты памяти SmartMedia. Но проблема в том, что для работы с ними устройство (компьютер) должен иметь специальный драйвер. Не знаю точно, но рискну предположить, что этот драйвер заставляет флопик не писать на дискету как обычно, перемещая головку радиально, а позиционирует её чётко напротив такой же магнитной головки в суррогатной дискете и передаёт данные, а они магнитным полем наводятся на головку в дискете и оцифровываются контроллером. Короче, как в современных китайских кассетах со шнуром или даже встроенным mp3-плеером, позволяющих слушать музыку с карты памяти в старой автомобильной кассетной магнитоле. Может, я и ошибаюсь. В рефлектометр, понятное дело, такой драйвер не установить и такая дискета (даже если её найти, а к ней карту памяти SM, которая тоже недешёвая редкость, если большого размера) не заработает.


        1. port443
          23.10.2018 21:27
          +1

          Эта штука ставится вместо дисковода, и должна эмулировать его интерфейс. Если у вас стандартный дисковод в рефлектометре (34-пин кажется), вы его просто меняете на эту штуку, а прибор им пользуется без изменений.


        1. x86d0cent
          23.10.2018 21:40

          Да, если флопик в рефлектометре несъемный или нестандартный — то этот вариант не подойдет.

          На счет дискеты-адаптера да, интересно, как оно там в реальности работает. Теоретически ведь информация о геометрии (количество дорожек и секторов) хранится на самой дискете? Помню, что было дело, форматировал дискеты на 1.6 МБ (увеличивая число дорожек и/или секторов), и они потом работали везеде, без драйверов. Если там будет указано, что она отформатирована на 1 дорожку и 100+ секторов — может дисковод и сам не будет пытаться перемещать головку?..


  1. OldGrumbler
    23.10.2018 23:44

    Полувека не прошло — а уже бубен размером в арену нужен для прочитать. Интересно, на что рассчитывают в mS, записывая что-то там в ДНК? )))


    1. Mad__Max
      24.10.2018 01:47

      Видимо как раз на то, что этому способу хранения информации уже больше миллиарда лет и он вряд ли изменится в будущем. Устройства чтения могут измениться кардинально, а вот сам формат — нет.
      Ну по крайней мере до тех пор пока существует естественная биология и живые существа.


      1. OldGrumbler
        24.10.2018 08:17

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


        1. Mad__Max
          25.10.2018 01:34

          Ну записанную информацию же не предполагается вживлять обратно в живые организмы. А просто хранить синтезированное вещество (куски ДНК молекул) в капсуле.

          Живые существа(включая человека) имелись ввиду в том смысле, что пока они существуют, то существует и такой способ хранения их генетической информации как ДНК. А значит будут существовать и какие-либо устройства для считывания информации записанной подобным образом.

          Хотя в «вживить» информацию и в живые существа, так чтобы она сохранялась многие поколения в принципе возможно. Код конечно подвержен изменениям, но очень медленным. У людей появившихся с миллион лет назад примерно генетический код примерно на 70% совпадает с какими-нибудь крокодилами, появившимися почти 100 миллионов лет назад.
          А внутри одного вида у разных особей, даже не являющихся родственниками и разделенных многими поколениям, код ДНК совпадает на 99.х%

          А система записи у МС изначально предусматривает и избыточноть кодирования и коррекцию ошибок. Достаточно чтобы сохранилась большая часть закодированной информации и тогда исходная информация (до кодирования) восстанавливается полностью с точностью до бита.