- PVSM.RU - https://www.pvsm.ru -
Greaseweazle F7 Plus
Есть много хороших современных решений для чтения данных со старых дискет и жёстких дисков. Пожалуй, одно из лучших — Greaseweazle [1]: очень функциональная система с открытым железом, исходным кодом, недорогая. На форумах вам с радостью помогут дружелюбные фанаты. Плата подключается напрямую к дисководу, заменяя собой флоппи-контроллер — и считывает данные в малейших деталях. Работает на дискетах с любой защитой от чтения.
Но что делать, если Greaseweazle не может прочитать биты на магнитной поверхности — и сообщает о повреждённых данных? Что, если на дискете материал исторической важности, исходный код в единственном экземпляре или культовая игра? Неужели всё потеряно?
Совсем нет. Известный хакер Крис Эванс с инженером Филом Пембертоном протестировали новый способ [2] восстановления данных с флоппи-дискет, используя осциллограф. В частности, они вернули к жизни игру «Ферма старого Макдональда» для BBC Micro.
В 1980-е годы руководства пользователя и руководства для обслуживания для компьютерных накопителей были гораздо информативнее, чем сейчас. Например, вот страничка из технического мануала для TEC FB-50x [3]:
На страничке приводится пошаговая цепочка электронных преобразований от магнитной считывающей головки до считываемых данных. Как видим, биты 0 и 1 — это попытка угадать верное решение по совершенно хаотическим аналоговым всплескам напряжения на головке.
Концептуально алгоритм считывания довольно простой. Однако инженеры прошлого всё же придумали несколько схем кодирования (и раскодирования) сигнала: MFM [5] (использовались в PC, Amiga, BBC Micro ADFS) и GCR [6] (использовались в Apple II и Commodore 64). Дискеты BBC Micro DFS работали по самой простой схеме FM [7]. В ней дисковод вообще не отягощал себя какой-то схемой кодирования, а просто выдавал импульсы по счётчику (таймеру).
Данные: 0 0 1 0 1 1 0 1 0 0 0 1 1 0 Код: 1010111011111011101010111110 Таймер: 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Крис Эвансом с Филом Пембертоном смогли восстановить исходный код культовой игры Repton 3 [8], игру «Ферма старого Макдональда» (Old Macdonald's Farm) а также ещё несколько ценных файлов для компьютера BBC Micro.
Они получили дискеты от нескольких хранителей исторических ценностей, но все они были повреждены временем. Greaseweazle выдавал ошибки CRC:
Скрин из эмулятора HxC Floppy Drive Emulator
Чёрные горизонтальные полосы — это тайминги между импульсами с дискеты. Чем они тоньше, тем более чёткий сигнал. Здесь видим, что качество отличное, то есть дегенерация дискеты ещё не дошла до такой стадии, когда всё сливается в кашу. Тут просто проблема с единственным участком. Что там может быть?
А вот и проблема
Визуальная инспекция показала, что кто-то неудачно помял дискету.
Инженеры аккуратно выровняли магнитную поверхность. К сожалению, это не помогло улучшить сигнал. Специалисты высказывают предположения, что дискета была записана уже после формирования вмятины…
Ничего не оставалось, как применить научное оборудование, которое Крис Эванс использует в своих цифровых расследованиях. На фотографии — любительский осциллограф Siglent SDS 1104X-E, подключённый к плате Greaseweazle. Она считывает данные с дисковода TEC FB-50x, в котором крутится дискета с исходным кодом Repton 3.
Тут Greaseweazle только для управления, но не для анализа. Он просто включает движок дисковода, а считывание данных происходит напрямую на осциллограф по проводам, подключённым к дисководу на тестовые точки TP3 и TP4, как указано в техническом мануале (см. скан страницы в начале статьи).
Производительности этого осциллографа начального уровня достаточно, чтобы загрузить целую дорожку с дискеты (время считывания 200 мс) во внутреннюю память на частоте 25 Мсэмплов/с. Чувствительности 500uV/div хватает, чтобы различить пики в записи. Пара пиков по 4 микросекунды обычно соответствует "1", а пик на 8 микросекунд — это "0".
Конечно, без проблем не обошлось. Оказалось, что разные дисководы выдают разный аналоговый сигнал: например, у Mitsubishi сигнал более чистый, у TEAC присутствует странный высокочастотный шум. А лучше всех проявил себя дисковод TEC FB-502, хотя он был старше Mitsubishi и остальных.
ASCII-символ "1" (00110001), первый символ в названии диска (1187V1.0)
Чтобы усилить магнитный сигнал с дискеты, Фил поставил резистор для управления скоростью вращения, и дискеты разгоняли со стандартной скорости 300 RPM до 400 RPM. Естественно, прочитать данные становилось легче — законы физики!
Звук записи на дискету 5,25", замедленный примерно в 100 раз [9] (20 секунд вместо реальных 0,2 секунды)
Но вернёмся к осциллографу. Получив аналоговый сигнал с дисковода, хотелось бы применить какой-то алгоритм для автоматической расшифровки этого сигнала. Инженеры решили попробовать такой вариант: найти начало сектора, и непрерывно отсчитывать от него по 8 микросекунд аналогового потока. Если напряжение растёт или снижается на протяжении всего участка, это "0". Если напряжение изменяется сначала в одном направлении, а потом в другом, то это "1". Затем повторная синхронизация к ближайшему пику.
Несмотря на хаотичные волновые формы, алгоритм восстановил все биты в «потерянном» секторе с той дискеты:
В самых трудных случаях форму сигнала с осциллографа исправляли вручную в редакторе FloppyControlApp [10]. Немного похоже на то, как ретушируют (восстанавливают) старые фотографии:
Этот инновационный метод позволил получить исходный код, который безуспешно пытались восстановить разными методами несколько лет! С помощью осциллографа прочитано 100% кода со всех дискет! В том числе игра «Ферма старого Макдональда». Это безусловная удача для цифровых археологов.
Всех владельцев уникальных, ценных и редких дискет просят ни в коем случае не запускать их на случайных непроверенных дисководах, потому что это может повредить магнитную поверхность.
Крис Эванс и Фил Пембертон очень рады, что нашли способ восстанавливать данные с дискет, которые невозможно прочитать никаким другим способом. Они рады помочь коллекционерам в восстановлении информации с редких носителей.
В общем, Крис с Филом ждут ваших дискет! И старый Макдональд тоже :)
Зарегистрируйтесь по ссылке выше или кликнув на баннер и получите 10% скидку на первый месяц аренды сервера любой конфигурации!
Автор: Анатолий Ализар
Источник [12]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/news/364471
Ссылки в тексте:
[1] Greaseweazle: https://github.com/keirf/Greaseweazle/wiki/Greaseweazle-Models
[2] протестировали новый способ: https://scarybeastsecurity.blogspot.com/2021/05/recovering-lost-treasure-filled-floppy.html
[3] технического мануала для TEC FB-50x: http://www.minuszerodegrees.net/manuals/TEC/TEC%20FB-50x%20series%20-%20Technical%20manual.pdf
[4] Image: https://habrastorage.org/webt/ef/ap/kg/efapkgbvwqeudwz6fdp3uzuifb4.png
[5] MFM: https://en.wikipedia.org/wiki/Modified_frequency_modulation
[6] GCR: https://en.wikipedia.org/wiki/Group_coded_recording
[7] FM: https://en.wikipedia.org/wiki/Run-length_limited#FM:_.280.2C1.29_RLL
[8] Repton 3: http://bbcmicro.co.uk/game.php?id=425
[9] Звук записи на дискету 5,25", замедленный примерно в 100 раз: https://drive.google.com/file/d/12tP5lElbvDwmlKQ2WaU9yLAy50chzgBX/view
[10] FloppyControlApp: http://www.makercentral.net/pages/posts/floppycontrolapp-waveform-editor-8.php
[11] VDS: https://macloud.ru/?partner=4189mjxpzx
[12] Источник: https://habr.com/ru/post/558386/?utm_source=habrahabr&utm_medium=rss&utm_campaign=558386
Нажмите здесь для печати.