Считываем данные со старого жёсткого диска MiniScribe +35




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

Ко мне в руки попал старый 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
    /#19271401 / +1

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

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

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

    • dlinyj
      /#19271733

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

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

      • saboteur_kiev
        /#19277883

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

    • DrPass
      /#19271819

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

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

  2. alexanster
    /#19271447

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

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

    • saboteur_kiev
      /#19271479

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

      • alexanster
        /#19271489

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

        • saboteur_kiev
          /#19277879

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

          • alexanster
            /#19282015

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

            • Mad__Max
              /#19282737

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

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

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

            • saboteur_kiev
              /#19283653

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

    • LexB
      /#19271487

      Вы правы, один 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).

  3. HiMem-74
    /#19271525 / +1

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

    • port443
      /#19272797 / +1

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

      • Jeyko
        /#19272887

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

        • NetBUG
          /#19275489

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

        • port443
          /#19277015

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

          NEC D5126 MFM

  4. Arcanum7
    /#19271619 / +1

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

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

  5. Unkn0wnUserName
    /#19271691

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


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


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

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

  6. evgenij_byvshev
    /#19271701 / +1

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

  7. DGN
    /#19271805

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

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

  8. stalinets
    /#19272429

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

    • x86d0cent
      /#19272581 / +1

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

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

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

      • stalinets
        /#19272743

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

        • port443
          /#19272819 / +1

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

        • x86d0cent
          /#19272875

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

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

  9. OldGrumbler
    /#19273245

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

    • Mad__Max
      /#19273505

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

      • OldGrumbler
        /#19273889

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

        • Mad__Max
          /#19278103

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

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

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

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