![]() |
Чтение MFM винчестера в образ
Постоянно всплывает этот вопрос, и я решил выделить его в отдельную тему. От многих старых машин сохранились MFM винчестеры с интересным софтом. В основном интересуют ДВК и Электроника-85, хотя это могут быть и отечественные PC-клоны. Просто скопировать их содержимое получается не всегда - либо нет родного железа, либо оно не работает, либо операционная система не позволяет. Поэтому встает вопрос - как считать винт в образ на обычном PC? Причем желательно получить образ в виде прямой посекторной копии, чтобы его можно было легко разобрать на файлы или подсунуть эмулятору.
Во-первых, нужен контроллер. Распространенные MFM контроллеры на 8-бит ISA шину не подходят. У них собственный биос на борту, который хранит настройки на самом винчестере. Такие контроллеры работают только с винтами, отформатироваными на нем же. Нужно брать контроллер, у которого нет дополнительного BIOS и который работает с настройками CMOS Setup материнской платы. Практически все они совместимы по командам с WD1003, на котором основан IDE интерфейс. Узнать подробнее о имеющемся контроллере можно по справочнику Total Hardware: http://museum.ttrk.ee/th99/ Во-вторых, подходящий контроллер будет конфликтовать с IDE контроллером, то есть считанный образ некуда будет записать. У меня Adaptec ACB-2312, и я так и не смог заставить его работать в паре с IDE. Если кто-либо заставит работать подобный контроллер в паре со вторым каналом IDE, напишите. А пока выходом будет использование SCSI контроллера с винчестером либо перекидывание файла по локальной сети. В-третьих, чем создать сам образ? Я искал программку для DOS, которая могла бы сделать прямой посекторный образ, но, похоже, таких в природе нет. Быть может, кто-нибудь напишет подобную? Я не умею. Вроде бы нужный функционал имеет утилита dd в Линуксе, но я с Линуксом совершенно не в ладах. Прошу знатоков создать подходящую сборку на дискетке специально с этой целью. |
Я уже думал об этом.
Где взять команды низкого уровня контроллера МФМ? Если найдете описание, то подключить контроллер к ЛПТ порту современного компьютера можно будет без проблем. Софтину, думаю, тоже кто-нибудь напишет. ЗЫ: А подробное описание интерфейса МФМ винчестеров у кого ни будь есть? |
Quote:
Спецификация на IDE интерфейс, который базируется на командах WD1010: http://www.repairfaq.org/filipg/LINK...ml#IDETECH_008 Паспорт КЖД ДВК: http://pdp-11.ru/oldcomp_vitaly_krem.../doc1/kgd.djvu Quote:
Quote:
|
KALDYH, если еще актуально, напомни, как в следующий раз пересечемся. Передашь мне винт и контроллер - сдамплю и напишу фак.
|
Quote:
|
Супер, - очень нужная тема!
Мои мытарства: I. В эмуляторе Э-85 (т.е. если есть живой реал) я тестировал такой вариант - сниятие имиджа винта через загрузочную дискету Venix 1.0 от Pro350 (VNX1XFER.TD0) командой dd if=/dev/rw0.all of=/dev/rf1 bs=512 count=790 skip=0 if - откуда читать: весь винт 0, of - куда писать: дискета в дисководе 1, bs - размер сектора: 512, count - количество секторов: 790, skip - начать с начала диска: 0 или продолжить с ХХХ (например сдедующая порция). эта операция записывает на любую инициализированную дискету формата DZ просто подряд запрошенные сектора с источника. Пока из глюков: 1. Терпимо - ожидаемое значение count=800 - чтобы забить каждый сектор дискеты целиком не канает, т.к. при значениях > 790 пишет ошибку "write: I/O Error" т.е. почему-то последние 10 секторов на дискете остаются нетронутыми/незаписываемыми - целиком 80-я дорожка. 2. Плохо - если сравнивать то что сбросилось на дискету с содержимым исходного HDD, то полностью совпадают данные первых 98 секторов, почему перемешаны данные дальше мне пока не ясно (может решиться анализом логов обращений к накопителям). 3. Для дампа винта 5 Мб нужно хотя бы 7 живых дискет что бы не запутаться при сборке образа. II. Просто мысли по организации внешнего стенда: Если взять правильный сквозной контроллер MFM ISA 16-bit (у меня он в получился комплекте с i386 с настройкой параметров двух винтов вручную через БИОС материнки), HDD0 - Сигейт ST-225 на первом канале контроллера будет как диск С: (20 Мб), дисковод с системной дискетой, загрузиться с FDD, выполнить "fdisk" + "format c:", выключить, подключить нужный MFM винт (пусть от Электроники-85) на второй канал контроллера, загрузиться с FDD, запустить ПРОГРАММА_ПИШУШАЯ_ПОСКТОРНО_ДАМП_HDD1 на диск С:, передать созданный файл-имидж на современный ПК через нуль-модем по COM/LPT из Нортона. Если второй диск большой, то дампить по кускам за несколько заходов. SCSI-контроллер и сеть под DOSом тоже хороший выход, но и они со своими приколами... Зато если их побороть то всё носится очень быстро :). Из проблем: - Передача через порт думаю будет небыстрой (терпимо). - Пока нет программы чем читать. Как вариант можно попытать DOS MHDD v.4.6 - команда TOF (Read sectors to file - создание образа диска, указываеся начальный, конечный секторы, а также имя файла для вывода. Битые сектора заполняет нулями). Либо "phdx.zip" (качать по ссылкам с гугла) - клиент-сервер имиджей дисков под DOS через LPT-порт. P.S. KALDYH, выменял я таки в Политехе гермоблок с мордой, двигателями и салазками от девайса ИЗОТ СМ-5508 (10 Мб, Болгария). На жестком предположительно установлен ДЕМОС для Электроники 85 (покупался в Москве), рабочая среда программирования - С. Из недостатков - как и говорил: 1. Плохо - нет контроллера к банке + откусан разъемчик одного кабеля (фотки). 2. Хуже - винт лежал на виду на сейфе в учебной лаборатории, но т.к. внешний вид устройства из серии "візьмешь в руки - маєшь вещь", то думаю студенты его лет 10 изрядно крутили, но друг в друга не бросали. Видимых повреждений нет, его не разбирали. Почтой передавать немного стремно, но т.к. хуже ему от этого думаю уже не станет, переслать? |
1 Attachment(s)
Мой опыт:
Винчестеры компьютера включаются на второй IDE-канал, дисковод переключается на MFM-контроллер. Встроенные в материнку первичный IDE и FDC отключаются. Грузимся с дискеты, образы пишем (и вся остальная работа) на харде. Программы - пробовал TestDisk, она позволяет снять образ раздела. Но у меня ни один советский хард вообще не заработал, поэтому как она себя с ними поведет, сказать не могу. Еще есть маленькая старая утилитка, в ней есть редактор диска, тесты и снятие образа. См. вложение. |
anasana, есть плата контроллера для винта - думаю от ИЗОТ СМ-5508 , если будете высылать , могу добавить для KALDYNa. а такой целый винт уйдет за границу
|
xailar, спасибо!
Соберётся кворум, - попробуем определить самый оптимальный маршрут. Panther, а прикольную ты утилиту расшарил (Disk.zip). Сейчас в виртуальной машине сделал ею имидж дискеты (дамп "винта" мой комп мурыжит очень долго что малоиграбельно). Команды "Копировать" -> "Диск в файл" -> "Укажите физический номер диска (А, В, С)" (здесь выбрать буквой диск D не получится никак, - возможно это хитрая метафора не логического диска, а физического устройства HDD0, хотя в эмуляторе я завел их оба раздельными). Заполняем желаемый диапазон (все максимальные значения указываются и контроллируются самой программой в зависимости от выбранного источника HDD или FDD и их превысить у меня не получилось): "Выберете начальный адрес диска Цилиндр 0000 Головка 0 Физ. номер сектора 01 Выберете конечный адрес диска Цилиндр 0079 Головка 1 Физ. номер сектора 18". Подтверждаем, вводим имя файла куда сохранять "d:\fdd.dsk" (DOC разделы и С и D нормально подошли), подтверждаем, ждем. Готово. Размер исходного файла-образа дискеты 1474560 байт. Размер полученного файла в витруалке - 1465856 байт. Содержимое имиджа и исходной дискеты - до последних записанных байт 1 в 1 совпадают, но последние 8704 байта отчего-то вообще потеряны. Пробовал разными вариантами, надо будет это просто иметь в виду при использовании. Конец жесткого диска обычно пустой, так что это как бы нестрашно, можно добавить ручками. Причина может кроется в используемом "Portable Microsoft Virtual Pc 2007". Под DOSBox например "С" вообще не пошло, а дисковвод распознало как: 0-39 дорожек, 0-1 сторон, 0-9 секторов. На реале думаю должно работать всё нормально. |
1 Attachment(s)
Есть вот такая утилита
Attachment 16354 |
| All times are GMT +4. The time now is 02:16. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.