- Часть 1. Диски от Apple II.
- Часть 2. Диски от АГАТ 140 Кб.
Часто приходится слышать, что на западе для чтения дисков от Apple II давно есть различные решения - на любой вкус. И что весь это задел подойдёт и для чтения АГАТовских дисков формата 140 Кб (не путать с АГАТ 840 Кб).
Стоп-стоп, давайте всё по порядку. На западе для чтения дисков от Apple II действительно есть отличные решения. Но решения эти очень дорогостоящие, предполагающие обязательное подключение НГМД стандарта DISK II.
В России профессиональные устройства почти никто не использует и подключение DISK II не практикует. У нас популярны бюджетные решения, например, Greaseweazle в сочетании с дисководом 2S/HD (в PC терминологии - 1.2Мб). Такой инструментарий не гарантирует надёжного чтения дисков Apple II/ АГАТ 140 Кб, а в некоторых случаях не позволяет отличить их от совершенно пустых.
Почему так?
Дело тут и в дисководах с интерфейсом 34pin, и в Greaseweazle, ориентированном на такие дисководы.
Далее в тексте будет фигурировать именно Greaseweazle - как самый популярный вариант у нас. Но вы можете подставить в текст вместо него FluxEngine, SuperCard Pro или другое бюджетное решение, а также закрытый KryoFlux. Возможности у этих устройств схожие и сути повествования это не поменяет.
ЧАСТЬ 1: диски от Apple II.
Итак, допустим у Вас есть Greaseweazle плюс проверенный дисковод 2S/HD, которые на практике отлично читают множество дисков различных форматов. В какой-то момент Вам понадобилось прочитать пару десятков дисков от Apple II. Часть дисков прочиталась отлично, часть прочиталась с приличным процентом ошибок, а вот некоторые не прочитались вовсе, притворяясь пустыми или мусором. Как это объяснить? Наверное, так: часть дисков сохранилась хорошо, часть деградировала от времени, а вот некоторые просто размагнитились. Верная мысль? Нет, скорее просто удобная, ведь она не ставит под сомнение возможности дисковода и Greaseweazle. Но всё бы ничего, да вот ВСЕ эти диски, до одного, продолжают прекрасно работать на живом Apple II и даже не имеют ошибок. Просто мистика какая-то!
В чём может быть проблема? Ошибки чтения могут создавать четыре основные ситуации, в том числе их совокупность. Рассмотрим их в порядке возрастания важности:
(1) Формат Apple II - это GCR с полосой частот 80-250 КГц. Большинство дисководов 2S/HD пропускают полосу только в 125-500 КГц и другой по спецификации они пропускать не обязаны! Разумеется, неполное перекрытие частоты вызовет значимый процент ошибок. К счастью, отдельные модели 2S/HD некоторых производителей могут иметь расширенную полосу частот, перекрывающую GCR - эта недокументированная возможность для нас является бонусом. Только такие дисководы подходят для чтения дисков от Apple II.
(2) Дисководы конструкции DISK II вообще-то односторонние, но из-за своей простоты позволяли лайфхак с записью второй стороны тоже. Получалось как бы два односторонних диска в одном ГМД. Но обычный дисковод не может полностью прочитать вторую сторону такого диска. Причина: верхняя головка, на которую как раз попадает вторая сторона, стоит на 4 трека ближе к центру. И механически не рассчитана сдвинуться дальше. Можно взять лупу/фонарик и убедиться, что полоски магнитопроводов головок стоят не строго одна над другой. Таким образом, сторона A диска будет прочитана полностью, а сторона B - без треков 0-3. Остаётся чтение перевёрнутого диска, но в таком случае датчик "Index" становится перекрытым. В целом, устройство Greaseweazle вполне может обходиться без сигнала "Index", а вот внутренняя логика самого дисковода 2S/HD не всегда согласится работать без "Index". Многие дисководы просто остановят шпиндель и заблокируют канал чтения.
(3) Если проблемы 1 и 2 можно решить правильно выбранным дисководом, то с третьей вам придётся просто смириться. Ширина магнитопровода головки дисководов 96 tpi (к которым относится и 2S/HD) в два раза уже, чем у дисковода DISK II. Поэтому на части дисков не будет полного охвата ширины трека, что также может вызвать существенный процент ошибок. Можно, конечно, использовать дисковод 48 tpi (в PC терминологии 360 Кб), но найти такой с подходящей для GCR полосой частот (см. пункт 1 выше) очень и очень непросто. Да и почему-то не принято это у нас, все гоняются за дисководами 2S/HD.
(4) Теперь самое грустное. Фишка DISK II, состоит в том, что шаговым двигателем можно управлять напрямую, программно. Все четыре сигнала его фаз выведены на разъём интерфейса и НГМД может делать микрошаги головкой. Поэтому достаточно часто можно встретить диски со смещёнными на плоскости кольцевыми треками. Да что там, DISK II способен записать даже спиральные дорожки!
Однако, "нормальные" дисководы с интерфейсом 34 pin (в том числе и 2S/HD) напрямую шаговым двигателем управлять не дают. Последовательность фаз они формируют сами из сигналов "шаг" и "направление". Таким образом, движение они могут осуществлять только кратно одному полному шагу. И читать диски со смещёнными дорожками, увы, не способны.
Подведём промежуточные итоги. Увы, гарантированного чтения дисков, записанных для Apple II, сочетание Greaseweazle плюс обычный дисковод не даёт. Западные коллеги вообще не рекомендуют подобные сочетания для чтения исторически важных дисков и предлагают рассматривать это только как способ первичной сортировки: чисто попробовать предположить, от Apple II этот диск или нет?
Если суммировать пункты 1-4, получаем, что основное препятствие исходит от самих дисководов, по своей конструкции не предназначенных решать подобную задачу. И никакой софт, например, модуль Apple из состава FluxEngine это не изменит: не увеличит ширину головки, не расширит полосу частот, не заставит делать микрошаги. Поэтому решение одно - использовать в работе дисковод стандарта DISK II. Но! Ваше устройство для чтения дисков должно не только иметь интерфейс DISK II, но и уметь подбирать положение микрошагов к смещённым дорожкам.
На самом деле для Greaseweazle есть альтернативная прошивка, которая ориентирует устройство на работу с интерфейсом DISK II. Правда при этом теряется возможность подключать обычные дисководы 34 pin. Но это, к большому сожалению, реализовано без возможности управлять микрошагами, когда головка смещается относительно дорожки. Таким образом получается решить проблемы 1,2 и 3, а самую главную - 4 - не решает.
| Устройство | Полоса 80-250КГц | Вторая сторона | Ширина головки | Микрошаги головкой |
|---|---|---|---|---|
| Greaseweazle+1.2Мб | Зависит от конкретного FDD | ✖ | ✖ | |
| Greaseweazle+360Кб | ✔ | ✖ | ||
| * Greaseweazle+Disk][ | ✔ | ✔ | ✔ | ✖ |
| Мост N3 | ✔ | ✔ | ✔ | ✔ |
| Applesauce | ✔ | ✔ | ✔ | ✔ |
Последние две строки таблицы - это значительно более сложные устройства Applesauce и наш МОСТ N3: разные по конструкции, но схожие по подходам и стратегии. У таких устройств есть отдельный разъём с интерфейсом для DISK II. Они читают диски от Apple II с любым безумным форматированием без каких-либо ограничений. Самостоятельно умеют подбирать положение микрошагов к смещённым дорожкам. То есть, решают полностью все 4 проблемы в польном объёме. Правильнее сказать, этих проблем у них не возникает. Мы получаем не только умные микрошаги, но и правильную полосу частот, нужную ширину головки, чтение перевёрнутых дисков. Кроме того, они имеют обратную связь при чтении, контролируют результаты и на ходу перечитывают BAD-блоки, если такие встретятся. При этом, в отличие от модуля Apple из состава FluxEngine, не ограничиваются форматом кодирования "6-и-2".
ЧАСТЬ 2: Диски АГАТ 140 Кб (не путать с АГАТ 840 Кб).
Всё сказанное в ЧАСТИ 1 в полной мере относится и к дискам АГАТ, записанным на дисководе 140 Кб. Ведь дисковая система ранних АГАТов - аналог американского DISK II и формат совпадает до мелочей. Конкретно 1,2 и 3 проблемы отражаются в той же мере что и у Apple II. А вот проблема 4 ЗВЕРСКИМ образом усилена в худшую сторону. У Apple II смещение треков, в основном, организуется программистом нарочно, в заранее запланированных местах. Например, так делают при реализации защиты от копирования или нестандартной записи. У АГАТа смещённые треки появляются сами, рандомно, вследствие исключительно низкого качества дисковода.
Диски 140 Кб, записанные на АГАТе, очень похожи на диски, записанные на дисководе с нарушенной юстировкой головки, только ещё хуже. Попробуйте представить себе дисковод, у которого не только смещено начальное положение головки, но и (внимание!) ширина шага неравномерно гуляет от дорожки к дорожке! Причём все отклонения - прямо с завода, а их величина случайно-индивидуальная для каждого экземпляра изделия, и прилично убегает в процессе эксплуатации. Да так, что такой дисковод сам не может прочитать свои же диски, записанные годом ранее. Представили? "Приятного" знакомства, это - ИЗОТ 5088.02 болгарского производства, устанавливаемый в АГАТы...
В своё время это было визитной карточкой АГАТа, что диск, записанный на одном дисководе, читается на нём же прекрасно, но сыпет ошибками на другом - и это взаимно. В журнале «Информатика и образование» можно найти публикации с красочным описанием глобальной несовместимости дисководов в школьных классах информатики, где каждый АГАТ читает только свои диски.
Известно, что в объединение ИЗОТ входило несколько заводов, производивших клоны DISK II.
На внутренний рынок Болгарии поступали изделия завода "Кочо цветаров" из Пловдива. Это точная копия DISK II очень солидного качества и наработкой без отказов как у оригинала - 8000 часов. Самые ответственные компоненты (шаговый двигатель, улитка, головка) были в них японского производства.
Изделия завода "Чирпан" (филиал "Стара Загора") - с пониженными до 2000 часов нормами. Полностью из компонентов, производимых в Болгарии. На родине не прижились и с ужасом вспоминаются, получив имя нарицательное. Зато они хорошо экспортировались в СССР для АГАТов, даже нарастив болгарское производство (спрашивается, за счёт чего?). Точной регулировкой положения головки в Болгарии не утруждались. А зачем? Юстировка всё равно убегала при транспортировке в СССР, и при работе тоже, особенно после многократного касания каретки о встроенный в дисковод упор :) Неравномерность шагов вызвана несоосностью и неперпендикулярностью улитки* относительно вала двигателя, а также кривой формой спирали улитки (она может отличаться от изделия к изделию). Сам шаговик зачастую кривой, и его вал тоже кривой. Повышенное внутреннее трение изнашивало жёлоб улитки, что только ухудшало ситуацию.
* Механическая связь шагового двигателя с ножкой каретки у 5088.02 осуществляется через улитку - плоский диск с жёлобом в виде спирали. От точности изготовления улитки напрямую зависит корректность позиционирования головки дисковода над поверхностью магнитной дорожки диска.
Только представьте, на ЛЭМЗ записывали комплектные диски на дисководе того экземпляра, к которому они прилагались при поставке в школы! Если взять новый АГАТ, и посмотреть в нём порядковый номер дисковода 140 Кб, то можно с удивлением обнаружить, что на картонной коробке с дисками из комплекта поставки, ручкой написан тот же самый номер. Было также замечено, что дисководы из одной партии более совместимы между собой. Поэтому старались подбирать дисководы из одной партии на АГАТы с близкими номерами - чтобы иметь хоть какую-то совместимость между машинами внутри школьного класса, в который попадут эти АГАТы.
Таким образом, каждый дисковод ЕС5088.02 был по-своему уникален. И диски, получаемые при записи, у каждого дисковода были уникальны. Можете себе представить, что это будут за диски, записанные ордой таких дисководов?
Используя для чтения таких дисков Greaseweazle + 1.2 Мб, вы почти наверняка потеряете часть данных, а в некоторых случаях просто не получите с диска ничего, кроме шума усилителя.
При использовании Greaseweazle + 360 Кб ситуация будет чуть-чуть лучше, благодаря широкой магнитной головке дисковода. Чтение отдельных дорожек может пройти успешно, только если они случайно оказалась на том месте, где их ожидает увидеть головка, или совсем рядом к этому.
Механически подстроить головку дисководов 1.2 Мб / 360 Кб для улучшения чтения, как это делают в классических случаях, уже недостаточно, придётся подстраивать головку под каждую дорожку каждого диска по-своему.
Используя Greaseweazle + DISK II, вы получите ситуацию чуть-чуть лучше. Если смещение невелико, возможно получится считать хотя бы часть диска. Но сильное смещение даже для такого способа становится преградой.
В целом, результативность чтения АГАТовских дисков 140 Кб не сильно зависит от типа дисковода, который используется с Greaseweazle. Всё зависит от степени кривости того дисковода, на котором когда-то был записан конкретный диск. А это уж как повезёт.
Самое страшное во всём этом, что очень сложно сохранить историю (у неё вообще мало шансов на сохранение!), когда труды наших программистов содержатся на таких, криво записанных, дисках. У нас в практике уже много случаев, когда люди, почему-то уверовавшие в универсальность Greaseweazle и ему подобных устройств, просто признают такие диски пустыми, по сути выступая в роли утилизаторов своей собственной истории.
Кривые диски от АГАТа при чтении намного больше, чем диски от Apple II, нуждаются в системе, которая умеет делать микрошаги. Причём это должна быть интеллектуальная система, которая будет пробовать сама подобрать наиболее удачное положение головки.
Но это всё не значит, что не надо пробовать с помощью Greaseweazle читать диски от Apple и АГАТ. Пробовать надо! Это всегда лучше, чем совсем не читать. А уж коль не получится хороших результатов, обращаться к владельцам профессиональных устройств. Поэтому мы всегда говорим: если среди ваших дисков что-то прочиталось с ошибками, или какой-то диск не прочитался вовсе, не торопитесь ставить неутешительный диагноз. Как говорят врачи, возьмите второе мнение. А мы всегда рады помочь предоставить вам это самое второе мнение.