Что можно сделать из флоппи дисков
Перейти к содержимому

Что можно сделать из флоппи дисков

  • автор:

Декоративные и полезные поделки из дискет

Технический прогресс вытесняет из нашей жизни когда-то столь необходимые предметы. Так, давно отжили свое дискеты 3,5 дюйма как носители информации, им на смену пришли диски, флешки и другие накопители внушительного объема памяти. Сейчас, пожалуй, и найти старые флоппи-диски будет непростой задачей, а через несколько десятков лет дискеты станут настоящим раритетом. Но если Вы все же нашли несколько, рекомендуем сделать полезные поделки из дискет своими руками.

Как сделать поделки из дискет своими руками?

Прежде, чем рассматривать, что именно можно сделать из дискет, давайте рассмотрим основной способ соединения флоппи-дисков между собой, что поможет разобраться, как сделать ту или иную поделку.

Опустите вниз заглушку — защиту от перезаписи.

как сделать поделки из дискет

Нагреваем шило и прокалываем уже существующие отверстия сверху по бокам.

как сделать поделки из дискет

Получается четыре отверстия, с помощью которых можно соединять дискеты между собой.

как сделать поделки из дискет

Для соединения используйте хомуты, проволоку, шнур, металлические колечки. Также дополнительно закрепить форму можно с помощью клея.

Итак, какие же поделки из дискет можно сделать?

Подставки для карандашей и ручек

Из дискет удобно делать квадратные подставки для карандашей, ручек и других канцелярских принадлежностей.

подставка для карандашей из дискет

Соедините хомутами дискеты между собой, донышко можно приклеить либо также прикрепить с помощью хомутов.

как сделать подставку для карандашей из дискетквадратная карандашница из дискет

А вот вариант удобной наклонной карандашницы. В данной модели использовались шурупы для крепления коробки из дискет в наклонном положении.

поделки из дискет - подставки для карандашей

Шкатулки и коробки из дискет

Чем отличается шкатулка от подставки для карандашей? Только наличием крышки. Дискету для крышки посадите на маленькие петли либо используйте все те же хомуты, шнур или проволоку.

как сделать шкаулку из дискет шкатулка из дискет своими руками коробка из дискетподелки из дискет - шкатулки

Блокнот из дискет

Дискеты послужат отличной твердой обложкой для блокнота. Соедините две дискеты и стопку белых листов между ними с помощью металлических колец.

поделки из дискет - блокнот

Более стильный и трудоемкий вариант — использовать дискету как часть кожаной обложки блокнота с застежкой на магните.

блокнот - поделки из дискет

Зеркало или фоторамка

Рама для карманного зеркала или фоторамка для фотографии формата Instax — в случае, если вы нашли всего одну дискету и совершенно не знаете, что из нее сделать.

зеркало - поделки из дискет

Сумки из дискет

Очень интересная и необычная идея использования старых дискет — делать из них сумки! Конечно, такая сумка не очень удобна, да и выглядит, скажем прямо, странно. Тем не менее, такой дизайн аксессуара имеет право быть! Зато сумка из дискет не помнется, не порвется и даже сохранит в целостности хрупкие и стеклянные предметы внутри!

сумка из дискетсумка из дискет своими руками

Светильник из дискет

люстра из дискет светильник из дискет лампы из дискетсветильник - поделки из дискет

Часы — поделки из дискет

часы - поделки из дискет

Цветочные горшки или кашпо из дискет

цветочные горшки из старых дискет

Ретро — флешка

флешка

Портреты на дискетах

Английский художник Ник Джентри (Nick Gentry) превратил дискеты в холст для своих масштабных картин, на которых, в основном, изображены портреты людей. Изображение наносятся краской, при этом отверстия и детали носителей информации органично вписываются в общую картину.

Из старого флоппи-дисковода – станок для правки мелких свёрл

Когда-то давным-давно сделал из старого «винчестера» станочек для правки и заточки мелких свёрл, но у него слишком велика минимальная скорость вращения и обычно когда торопишься, то свёрла перегреваются. Пытался как-то уменьшать обороты, ничего хорошего не получилось и поэтому оставил всё как есть, просто заставив себя не торопиться. А тут недавно пришли знакомые компьютерщики и с вопросом «посмотри, из этого можно что-нибудь полезного сделать?» начали вываливать на стол множество дисководов на три с половиной дюйма (рис.1). И почему-то первой же мыслью было – а не попробовать ли собрать новую низкоскоростную «правку»… Рис.1 Не откладывая это дело в долгий ящик, тут же снимаем крышки с нескольких дисководов разных марок и смотрим, что там внутри. А внутри всё по-разному и у разных моделей одной марки управление двигателями может быть собрано и на одной и на двух микросхемах (рис.2). Рис.2 Рассматриваем детали на платах поподробнее и отдаём предпочтение варианту с двумя микросхемами (рис.3) – по дорожкам и подходящим проводам видно, что правая микросхема ALPS-R SD705A (кроме всего прочего) отвечает за работу шагового двигателя перемещения считывающей головки, а левая LB11813 – только за работу двигателя вращения диска. Рис.3 Также видно, что обе микросхемы соединяются всего двумя сигнальными дорожками – 33 и 34 выводы большой микросхемы идут к соединённым вместе 10-му и 11-тому выводам и к 12 выводу LB11813 соответственно. Честно говоря, ранее уже приходилось сталкиваться с дисководами и уже есть некоторое представление о принципе их работы, поэтому, сказав для пущей важности «сейчас мы здесь что-нибудь отрежем…», аккуратно перерезал обе эти дорожки (рис.4). Рис.4 Вывод 12 микросхемы LB11813 оставляем в покое, а на 10-й и 11-й нужно подать тактовый сигнал CLK. Так как частота его следования должна быть около 1 МГц, а амплитуда стандартная для микросхем пятивольтовой серии, то собираем на подвернувшемся под руку кусочке текстолита генератор прямоугольных импульсов на микросхеме К555ЛН1. Ставим переменный резистор для регулирования частоты и при среднем его положении подбором ёмкости конденсатора подгоняем выходную частоту к 1 МГц. Затем соединяем выход генератора с выводами LB11813 (рис.5), подпаиваем шины питания дисковода и генератора и включаем БП. Слышим, что двигатель начал вращаться. Это хорошо… Покрутив ручку переменного резистора, слышим как меняется частота вращения двигателя. И это хорошо… Рис.5 Гости, радостные и окрылённые открывшимися перспективами, помчались домой, на ходу обдумывая, как можно использовать это «чудо техники», а я вернулся к схеме, чтобы посмотреть, что нужно оставить, а что убрать, и как это всё это облагородить в корпусе… Сначала, вооружившись тестером, карандашом и листком бумаги, срисовал с платы схему (рис. 6). Здесь нумерация элементной обвязки, относящейся к микросхеме LB11813, оставлена старой, т.е. той, что была на плате. Рис.6 Затем посмотрел некоторые технические характеристики. Потребляемый от пятивольтового блока питания ток на холостом ходу равен 0,22 А, при средней «нагрузке» на валу двигателя – меняется от 0,5 А до 0,7 А. Перед самой остановкой вращения ток достигает значения 0,85 А. Температура нагрева корпуса микросхемы LB11813 зависит от нагрузки, но в любом случае не превышает 50-70 градусов. Минимальная частота генератора, при которой ещё вращается двигатель – около 0,45 МГц, максимальная – около 4,6 МГц.

Теперь дисковод полностью разбираю, оставив только две платы, соединённые 4-мя цветными проводами – по ним микросхема LB11813 управляет двигателем (рис.7). Белый восьмипроводный шлейф тоже не нужен – на плате с двигателем что было интересного, так это не то дроссель, не то какой другой элемент, но очень похожий на дроссель и отвечающий, скорее всего, за контроль частоты вращения двигателя (т.е. выполняющий функции датчика Холла) – так вот его можно выпаять, всё работает и без него. Остальные проводники шлейфа – это общий провод, напряжение питания, а также передача сигналов от концевых выключателей с платы двигателя (выпаиваем и их тоже). Рис.7 «Сдуваю» термофеном все ненужные элементы с большой платы и обрезаю её так, чтобы остались крепёжные отверстия (рис.8). Рис.8 Корпус. Готового подходящего по размерам не нашёл, взял кусок 16-миллиметровой ДСП, тонкий пластмассовый лист и кусок стеклотекстолита от старой печатной платы. Немного попилил, посверлил и закрепил всё так, чтобы не очень «выпирало» и не занимало много места на столе (рис.9, рис.10, рис.11, рис.12). Рис.9 Рис.10 Рис.11 Рис.12 Печатную плату для импульсного генератора развёл, но пока не вытравил – неохота разводить «бодягу» ради одной-двух маленьких плат. А пока установил в корпус макетный вариант и приклеил термоклеем его и плату с микросхемой-приводом двигателя. Файл печатной платы в формате программе Sprint-Layout находится в приложении к статье (вид сделан со стороны установки деталей — рисунок при ЛУТ надо «зеркалить»). Никакой накладной декоративной панелью корпус сверху накрывать не стал – головки винтов так и оставил на виду. Пластмасса, из которой сделана верхняя крышка, попалась очень удачная – к ней не прилипают намертво никакие клеи из серий «Момент» или БФ и она практически не царапается и не мажется. Из той части, что осталась при выпиливания отверстия под вращающуюся поверхность двигателя, вырезал кольцо, которое приклеил сверху к этой вращающейся поверхности. На это кольцо можно наклеивать кольца из наждачной бумаги (рис.13), которые при желании достаточно легко содрать и на пластмассовой поверхности кольца почти не остаётся остатков клея. А что остаётся – сцарапывается ногтём. Рис.13 В качестве блока питания применил импульсный преобразователь, выдающий 5В/1А от какой-то старой оргтехники. Провод питания впаян в схему напрямую – может быть это и не очень правильно, но зато блок питания никогда не теряется и потом, при его замене на новый, не приходится разбираться, где в разъёме «плюс, а где «минус»». Никаких выключателей на корпусе нет, индикации подачи напряжения тоже. Движок резистора регулировки оборотов выведен сбоку. Учитывая, что за прошедший месяц пришлось два раза править свёрла и один раз затачивать несколько сломанных разного диаметра и за это время ни разу не появилось надобности уменьшить обороты, то получается, что можно было и не делать плавную регулировку. Настроить генератор на 4 МГц – и всё. Конечно же, проверил работу схемы с двигателем от «винчестера» — всё работает так же, но с заметно меньшей мощностью в сравнении с управлением от «родного» контроллера. Это понятно — двигателю от HDD требуется более высокое напряжение питания. Из академического интереса посмотрел форму сигналов в цепях питания двигателем. На рисунках ниже показаны состояния на «фазах» U и V относительно общего провода при тактовой частоте 4,6 МГц (рис.14), при 1 МГц (рис.15) и на одной из «фаз» и вывода, обозначенного на платах как N («нейтраль», надо полагать) (рис.16): Рис.14 Рис.15 Рис.16 Сигналы «снимались» через резисторные делители, поэтому уровни не соответствуют показаниям шкалы напряжений, но так коэффициенты деления были одинаковы и не менялись, то отношения уровней относительно друг друга верны. Временные интервалы соответствуют действительности. Андрей Гольцов, г. Искитим

Список радиоэлементов
Прикрепленные файлы:
  • Печатная плата для станка правки свёрл.rar (5 Кб)

Самая хитрая защита флоппи-дисков

В своих предыдущих постах я уже рассказывал (напрямую или косвенно) о примерах интересных схем защиты гибких дисков:

  • Слабые биты. [ссылка: Weak bits floppy disc protection: an alternate origins story on 8-bit]. Защита «слабыми битами» реализуется так: часть поверхности диска оставляется пустой изменений потоков намагниченности. В условиях отсутствия сигнала привод гибких дисков повышает коэффициент усиления своего усилителя и видит шум, проявляющий себя как недетерминированные цифровые сигналы с диска.
  • Нечёткие биты. [ссылка: Technical Documentation — Dungeon Master and Chaos Strikes Back — Detailed analysis of Atari ST Floppy Disks]. При защите «нечёткими битами» изменения потоков намагниченности записываются с интервалами, отличающимися по времени от спецификации (например, MFM). Благодаря использованию интервалов прямо посередине пары ожидаемых значений (например, 5 мкс вместо ожидаемых 4 мкс или 6 мкс) можно заставить контроллер дисков возвращать недетерминированные цифровые сигналы.
  • Длинные/короткие дорожки. [ссылка: Turning a £400 BBC Micro (1981) into a $40,000 disc writer (1987)] [см. раздел «Capabilities Unlocked»] [Перевод статьи на Хабре]. При защите длинными дорожками запись переходов намагниченности выполняется чуть быстрее, чем обычно. Это может быть целая дорожка или только её часть. В любом случае, будет казаться, что дорожка содержит больше байтов, чем обычно должно быть в дорожке. Такая защита работает, потому что у контроллера гибких дисков обычно есть широкий допуск на битрейт, чтобы учитывать тот факт, что дисковые приводы естественным образом крутятся на разных скоростях.

Western… что?

Не так легко найти компанию «Western Security, Ltd.», связанную с компьютером BBC Micro. Как же понять, что она существует? Во-первых, при разработке моего эмулятора beebjit [ссылка] я сделал множество ошибок и получил кучу багов. Разбираясь с точной эмуляцией гибких дисков, чтобы иметь возможность загрузки оригинальных защищённых образов дисков, я наткнулся на следующее:

Игра Jolly Jack Tar компании Sherston Software

Разумеется, автор оригинала не мог учесть такой ситуации. Дело или в неисправном диске (это не так), или в незаконной копии (не совсем правда)… или в эмуляторе с багами. Вот ещё один экран ошибки. Вероятно, это более ранняя версия схемы защиты? В сообщении написано «disk» вместо «disc» и даже не учитывается то, что диск может быть повреждён:

Игра Phantom Combat компании Doctor Soft

(Я рискую сильно отклониться от темы, но вот ещё один скриншот. Он не связан с Western Security Ltd., но на нём тоже представлен специальный экран, отображаемый при сбое защищённого загрузчика диска. Этот случай интересен тем, что при обычной работе пользователь не увидит такого замечательного изображения!)

Такое сообщение показывает Disc Duplicator 3, если считает, что создаётся незаконная копия

Во-вторых, мы знаем название Western по маркерам дубликаторов дисков. Маркер дубликаторов дисков — это специальная дорожка, написанная одним из коммерческого ПО для дублирования дисков. Обычно это одна дорожка после конца обычного диска, например, 41-я или 81-я дорожка диска. Несмотря на то, что она находится «вне пределов» диска, большинство приводов дисков ищет хотя бы одну дорожку за его границами. На этой дорожке обычно можно найти один заголовок сектора и тело сектора с ошибкой CRC. Это необычная конструкция, которая выявляется, например, когда моя программа discbeast [ссылка] изучает диск Jolly Jack Tar:

Просмотр Jolly Jack Tar в Discbeast

В маркере дубликатора есть дата и одна-две текстовые строки. В случае Jolly Jack Tar это:

86 07 01 (1986, July 1st)
523-037E WESTERN NM,10/256 PROT DUP 5″-48/40 1S SD SS
32173-2Aw

Существует и ещё одна менее распространённая строка маркер дубликатора, связанная с Western security, например, в Tens and Units компании Sherston Software. Похоже, это более ранняя версия-прототип:

85 10 31 (1985, October 31st)
523-037C BBC NM,10/256 WESTERN SEC. PROTO1 DUP 5″-48/40 1
70422-00w

Вкратце повторим основы защиты дисков

Прежде чем начать разбираться в работе защиты Western Security, давайте повторим основы защиты дисков. Существуют различные специфические нюансы, но в целом принцип довольно прост:

  • Диск легко считать, но сложно записать.

А правильный способ обеспечения сложности записи дисков заключается в тщательном изучении чипов потребительских контроллеров дисков и приводов дисков, чтобы диск было невозможно записать стандартным оборудованием.

Защита дисков BBC Micro не пошла по этому пути — первые диски, а также многие последующие диски были экзотичными, но их было не особо сложно создать при помощи стандартного контроллера дисков. Однако требовалась специальная программа. У компаний-производителей ПО, в отличие от пользователей, была их специальная программа мастеринга, поэтому в этом смысле диск было «сложно» записать. Но позже, когда появились стандартные программы копирования наподобие Disc Duplicator 3, диски внезапно оказалось копировать «легко», если у вас или у друга была продвинутая программа для копирования дисков.

Однако некоторые первопроходцы BBC Micro действительно записывали диски, которые «нельзя» записать при помощи стандартного контроллера дисков. Наиболее примечательные из них:

  • Схема со слабыми битами Саймона Хослера, ссылка есть выше. (И здесь: [ссылка].) [1]
  • Многие диски, например, The Sentinel компании Firebird, прятали данные между секторами. [2]

[2] Я думаю, что при умном программировании данные между секторами можно записывать стандартными контроллерами дисков. Для этого потребуется выполнять запись на дорожку несколько раз и сбрасывать контроллер дисков в критические моменты времени. Однако я не встречал старых программ копирования дисков, пытавшихся копировать такие диски.

Анализ защищённого загрузчика Western Security Ltd.

В этой версии The Wizard’s Revenge компании Sherston Software используется защита диска Western Security Ltd.

Вот скриншот из игры.

А вот, что делает с диском discbeast:

Здесь нет ничего особо необычного. Красный блок в конце обозначает дорожку с одним сектором, имеющим ошибку CRC. Это не часть защиты диска, а маркер дубликатора. Зелёным цветом обозначена стандартная схема секторов, в которой нет ничего особо экзотичного. Буквой «D» обозначено наличие удалённых секторов. Это защита диска, но она не экзотична и не сложна в копировании. Однако при загрузке диска в мой эмулятор beebjit при помощи контроллера гибких дисков Western Digital WD1770 и -log disc:commands мы получаем нечто весьма необычное:

info:disc:1770: command $E4 tr 1 sr 3 dr 1 cr $29 ptrk 1 hpos 1884

Команда $E4 обозначает «считать дорожку». Она не используется при обычном выполнении загрузки диска, да и в любом другом известном защищённом загрузчике.

Настало время немного разобраться в загрузчике, чтобы понять, что происходит. Цель этого поста заключается не в подробном описании всех мельчайших деталей загрузчика. Как и многие защищённые загрузчики, он «зашифрован», а точнее обфусцирован. Деобфускация производится им самостоятельно при помощи множества слоёв самомодификации. На PC $0657 выполняется вызов диска для загрузки части загрузчика из удалённых секторов в дорожке 9. Подобное легко можно спутать с частью защиты, но это не так. Ниже, на PC $3CF7, есть цикл:

[ITRP] 3CF7: JSR $3D16
[ITRP] 3CFA: LDA $75
[ITRP] 3CFC: SEC
[ITRP] 3CFD: SBC $3F4E
[ITRP] 3D00: TAX
[ITRP] 3D01: LDA $86
[ITRP] 3D03: STA $3F71,X
[ITRP] 3D06: INC $75
[ITRP] 3D08: LDA $3F4F
[ITRP] 3D0B: CMP $75
[ITRP] 3D0D: BCS $3CF7

Я не ожидаю, что его назначение будет понятно из данного фрагмента (без всех подпроцедур), но здесь в цикле обходятся дорожки с 1 по 8 включительно. Каждая дорожка полностью считывается и длина дорожки сохраняется в таблице по адресу $3F71. Ниже, на PC $3CB6, эти длины сравниваются с таблицей, расположенной по адресу $3D9B. Эта проверка особенно интересна. Чтобы защита от копирования считалась выполненной, подсчитывается количество дорожек, длина которых находится в пределах ±1 от ожидаемой, и это количество должно быть равно 7 или 8. Мы сразу же видим, что эта защита не является точной технологией. И этого стоило ожидать: диски являются аналоговыми носителями, поэтому в начале и конце дорожки присутствует немного шума. При разных считываниях один и тот же диск на одном приводе и контроллере может демонстрировать незначительные вариации длин дорожек. Посмотрев на загрузку в beebjit, можно увидеть подсчитанные и ожидаемые длины. (0x4A == 3122 байта.)

Перехват с моего диска:

3F71: 4A 4D 4B 4A 4B 4D 4D 4A

3D9B: 4A 4C 4B 4A 4B 4D 4C 4A

Как видите, мои считывания с диска почти в точности равны ожидаемым, за исключением дорожки 2, на которой насчитали 3125 байт вместо ожидаемых 3124. Эта разность находится в интервале погрешности ±1, поэтому проверку прошли все 8 дорожек (а требуется 7 или больше).

Объясню подробнее: защищённый загрузчик ожидает, что длина дорожек с 1 по 8 (в байтах закодированных частотной модуляцией) должна быть равна 3122, 3124, 3123, 3122, 3123, 3124, 3123, 3122. Это невероятный уровень точности и прецизионности записи для технологий 1985 года. Каждый байт занимает на вращающемся диске примерно 64 мкс, но для приводов дисков той эпохи часто указывали отклонение RPM (оборотов в минуту) «меньше ±1,5%». При 300 об/мин, ±1,5% — это ±3 мс на оборот! По моему опыту, приводы обладают гораздо большей точностью, но тем не менее! Как с этим справлялись технологии 1985 года?

Дополнительное примечание о контроллерах дисков WD1770 и Intel 8271. Мы сосредоточились на анализе защиты на контроллере WD1770. Этот диск также нормально загружается на контроллере Intel 8271. В нём используется совершенно другой путь выполнения кода, чтобы в данном случае вычислять длину дорожек косвенно. Это удалось сделать, потому что все байты-заполнители, записанные до конца дорожки, равны 0x00, а не обычному значению 0xFF. Используется «чтение с выходом за границы» последнего сектора дорожки, а длина дорожки определяется по смене считываемых значений с 0x00 на 0xFF.

Гениальный ход

И потом мы осознаём гениальность этой схемы. Что если они не записывали дорожки с чрезвычайной точностью, потому что таких технологий ещё не существовало? Что если они просто записывали дорожку любым способом, а затем изучали результат? Думаю, создатели защиты делали следующее:

  • Форматировали диск. (И всё — достаточно обычного форматирования диска, и вы получите ужасно сложно защищённый диск.)
  • Считывали длины дорожек 1-8 диска, которые только что были записаны.
  • Для каждого диска генерировались, обфусцировались и записывались в загрузчик на дорожке 9 соответствующие таблицы ожидаемых длин дорожек.
  • Диск должно быть легко считывать, но сложно записывать.
  • Диск должно быть легко считывать, но сложно воссоздать.

Чем мы можем подтвердить свою теорию? Например, найти второй диск с той же игрой The Wizard’s Revenge и посмотреть, отличаются ли они. Я нашёл диск, и да, они отличаются. Мой первый диск, который рассматривался выше:

Track 0 sectors 10 length 3124 fixups 1 CRC32 2E6B86E9
Track 1 sectors 10 length 3122 fixups 0 CRC32 37E30EC8
Track 2 sectors 10 length 3125 fixups 1 CRC32 F7BDE89B
Track 3 sectors 10 length 3123 fixups 0 CRC32 BB1E32C3
Track 4 sectors 10 length 3122 fixups 1 CRC32 2EC84AF1
Track 5 sectors 10 length 3123 fixups 0 CRC32 58FD732B
Track 6 sectors 10 length 3125 fixups 0 CRC32 43416F5A
Track 7 sectors 10 length 3125 fixups 1 CRC32 B3D8AB10
Track 8 sectors 10 length 3122 fixups 1 CRC32 8D02AC32
Track 9 sectors 10 length 3125 fixups 1 CRC32 75B1F57B
Track 10 sectors 10 length 3123 fixups 1 CRC32 D2B0A1EF
[. ]

Track 0 sectors 10 length 3126 fixups 1 CRC32 2E6B86E9
Track 1 sectors 10 length 3129 fixups 1 CRC32 37E30EC8
Track 2 sectors 10 length 3127 fixups 1 CRC32 F7BDE89B
Track 3 sectors 10 length 3127 fixups 1 CRC32 BB1E32C3
Track 4 sectors 10 length 3127 fixups 1 CRC32 2EC84AF1
Track 5 sectors 10 length 3129 fixups 1 CRC32 58FD732B
Track 6 sectors 10 length 3129 fixups 1 CRC32 43416F5A
Track 7 sectors 10 length 3128 fixups 1 CRC32 B3D8AB10
Track 8 sectors 10 length 3128 fixups 1 CRC32 8D02AC32
Track 9 sectors 10 length 3127 fixups 1 CRC32 1F5ABD44
Track 10 sectors 10 length 3128 fixups 0 CRC32 D2B0A1EF
[. ]

Как мы видим, данные секторов (указанные в CRC32) дисков одинаковы, за исключением дорожки 9, на которой хранится таблица ожидаемых длин дорожек. А длины самих дорожек отличаются. В обоих случаях присутствуют колебания длин дорожек, а в случае второго диска дорожки чуть длиннее. Это значит, что привод, форматировавший диск, работал с чуть меньшим RPM, позволяя записать больше байтов за один оборот.

Есть и второй способ подтверждения нашей теории. Я спросил у Саймона Хослера, написавшего в 1980-х много игр для Sherston Software, помнит ли он какие-нибудь подробности. Он рассказал следующее:

«Western Security создавал не я, но думаю, она работала так… Она работала потому, что каждый привод дисков работает на своей скорости. Поэтому когда привод создаёт дорожку на диске, то после добавления всех заголовков, секторов и прочего, остаётся немного незаполненного пространства, куда он записывает немного „заполняющих“ битов, которые ничего не делают. Количество заполняющих битов зависит от точной скорости форматирующего привода. Поэтому при копировании оно будет отличаться. Помню, эта система доставляла много проблем, потому что приводы дисков постоянно менялись (?). [. ] систему называли „Fingerprinting“»

Остаётся загадкой, как с созданием таких дисков мог справляться коммерческий дубликатор. Я нашёл отсылки к скрипту «Freeform» [ссылка], использовавшемуся совместно с дубликаторами Trace. Мне не удалось найти руководства по этому скриптовому языку. После деобфускации в памяти загрузчика остаются какие-то странные фрагменты, возможно они как-то с ним связаны?

3F80: 54 70 00 41 44 44 20 20 20 20 20 72 00 4D 4F 56 Tp.ADD r.MOV
3F90: 45 54 4F 20 20 74 00 55 4E 49 54 20 20 20 20 75 ETO t.UNIT u
3FA0: 00 54 52 41 43 4B 20 20 20 76 00 53 45 43 54 4F .TRACK v.SECTO
3FB0: 52 20 20 77 00 54 4F 50 54 52 41 43 4B 78 00 55 R w.TOPTRACKx.U

Воссоздание защищённых дисков в стиле Western Security

У меня завалялась пара сильно отличающихся приводов дисков, поэтому я решил их попробовать. Я отформатировал диск в каждом приводе, затем посмотрел на длины дорожек (в байтах), считанных контроллером дисков WD1772 в реальном компьютере BBC Micro model B.

Первый претендент: мой привод Chinon F-051MD. Это более старый привод, всего с 40 дорожками и только односторонний. Механизм дверки с защёлкиванием позже вышел из моды (может, был менее надёжным?). Ещё один способ его датировки — крупный основной чип в стиле DIP. Это NEC D8048, который был клоном Intel 8048! (В нём есть ROM, который мне когда-нибудь ещё предстоит извлечь!)

Второй претендент: не мой Mitsuibish MF504C, но довольно похожий. Гораздо более новый привод, с 80 дорожками и двухсторонний. Обратите внимание на более новые чипы, опрятную проводку и упрощённый механизм защёлкивания. Здесь этого не видно, но у него ещё и шаговый двигатель меньшего размера (следующее поколение?).

Длины дорожек с Chinon F-051MD:

[. ]
Track 1 sectors 10 length 3137 fixups 1 CRC32 67F0950E
Track 2 sectors 10 length 3138 fixups 1 CRC32 67F0950E
Track 3 sectors 10 length 3138 fixups 1 CRC32 67F0950E
Track 4 sectors 10 length 3139 fixups 1 CRC32 67F0950E
Track 5 sectors 10 length 3138 fixups 1 CRC32 67F0950E
Track 6 sectors 10 length 3140 fixups 1 CRC32 67F0950E
Track 7 sectors 10 length 3140 fixups 1 CRC32 67F0950E
Track 8 sectors 10 length 3139 fixups 1 CRC32 67F0950E
Track 9 sectors 10 length 3140 fixups 1 CRC32 67F0950E
Track 10 sectors 10 length 3140 fixups 1 CRC32 67F0950E
[. ]

Длины дорожек с Mitsubishi MF504C:

[. ]
Track 1 sectors 10 length 3119 fixups 1 CRC32 67F0950E
Track 2 sectors 10 length 3119 fixups 1 CRC32 67F0950E
Track 3 sectors 10 length 3118 fixups 0 CRC32 67F0950E
Track 4 sectors 10 length 3119 fixups 1 CRC32 67F0950E
Track 5 sectors 10 length 3119 fixups 1 CRC32 67F0950E
Track 6 sectors 10 length 3119 fixups 1 CRC32 67F0950E
Track 7 sectors 10 length 3119 fixups 1 CRC32 67F0950E
Track 8 sectors 10 length 3119 fixups 1 CRC32 67F0950E
Track 9 sectors 10 length 3118 fixups 1 CRC32 67F0950E
Track 10 sectors 10 length 3119 fixups 1 CRC32 67F0950E
[. ]

Эти два привода определённо имеют уникальные «отпечатки пальцев»! У более старого привода присутствует чуть больше вариативности/колебаний в длинах отдельных дорожек. На самом деле, похоже, что в последних секторах он может уместить больше байтов на дорожку — большинство последних дорожек имеет длину 3142. Кроме того, старый привод обычно может уместить 20 или чуть больше байтов на дорожку. Это означает, что он вращается чуть медленнее. Более новый привод работает как часы, с минимальными флуктуациями длин дорожек. Из-за этого он чуть меньше подходит для генерации уникальных для каждого диска «отпечатков пальцев», но копирование диска на домашнем компьютерном оборудовании всё равно будет сложным — в используемой машине должен быть установлен привод с точно такой же прецизионностью, и привод должен работать точно с такой же скоростью, что и при записи оригинального диска.

В последний раз взглянем на длины дорожек, на этот раз с диска игры Phantom Combat компании Doctor Soft. В этом диске используется защита Western Security Ltd.:

Ничто так не свидетельствует о слишком переусложнённой защите дисков, как наклейка с предупреждением о совместимости (слева посередине). На наклейке написано, что поддерживаются только ROM-ы дисков Acorn. К сожалению, ROM-ы дисков других компаний были распространены намного больше.

[. ]
Track 1 sectors 10 length 3152 fixups 0 CRC32 67F0950E
Track 2 sectors 10 length 3152 fixups 1 CRC32 67F0950E
Track 3 sectors 10 length 3152 fixups 0 CRC32 67F0950E
Track 4 sectors 10 length 3152 fixups 1 CRC32 67F0950E
Track 5 sectors 10 length 3151 fixups 0 CRC32 67F0950E
Track 6 sectors 10 length 3152 fixups 0 CRC32 67F0950E
Track 7 sectors 10 length 3150 fixups 0 CRC32 67F0950E
Track 8 sectors 10 length 3151 fixups 0 CRC32 67F0950E
[. ]

Это и есть защита диска, скрытая под самым нашим носом. Это 8 защищённых дорожек, которые на самом деле являются дорожками с совершенно стандартным форматированием (CRC32 67F0950E). В них правильное количество секторов и там нет удалённых секторов. Программа discbeast отобразит эти дорожки сплошным зелёным цветом, то есть скажет, что ничего необычного в них нет!

Длина дорожек немного колеблется, а кроме того, дорожки необычно длинные (в идеале их длина составляет 3125 байтов). Не совсем понятно, намеренно ли дорожки записывались чуть длиннее, но это определённо помогает защите дисков. Любой привод дисков, который будут использовать для воссоздания этих дорожек, вряд ли будет вращаться с такой скоростью, потому что она на 0,8% медленнее, а технология двигателей приводов дисков обычно даёт результаты лучше. Интересно заметить, что простая защита длинными дорожками является всего лишь ещё одним вариантом в схеме Western Security.

Вероятно, этот диск записывался на самом BBC Micro, а не на какой-то сложной машине для дублирования: об этом говорит отсутствие маркеров дубликаторов; кроме того, секторы данных игры свидетельствуют, что их записывали посекторно, а не по дорожкам. Кто знает, возможно разработчики намеренно стремились найти медленный привод; у некоторых старых приводов даже есть крутящийся регулируемый резистор для изменения скорости двигателя.

Заключение

В статье мы рассмотрели самую мощную схему защиты дисков BBC Micro model B среди всех, найденных мной в процессе изучения большинства дисков с защитой от копирования, выпущенных для этой машины. Очень хитро, что для создания или считывания диска не требуется специализированного оборудования. Однако с дублированием диска возникнут проблемы.

Подозреваю, что даже современное оборудование, например, Greaseweazle, будет испытывать проблемы с достижением побайтовой точности; необходимо дополнить его высококачественным приводом дисков, вращающимся с очень стабильной скоростью (например, моим Mitsubishi MF504C).

Я снова поговорил с Саймоном, и насколько он знает, защиту реализовал Джордж Килинг, с которым бы я хотел связаться только затем, чтобы похвалить его за потрясающую работу.

  • гибкие диски
  • флоппи-диск
  • дискеты
  • защита от копирования
  • пиратство
  • копирование дисков
  • Информационная безопасность
  • Реверс-инжиниринг
  • История IT
  • Старое железо

О дисководах и их использовании на современных компьютерах

Неотъемлемой частью жизни практически любого любителя ретро-компьютеров являются гибкие магнитные диски дискеты и накопители на гибких магнитных дисках дисководы. Что сегодня приносит свои проблемы. Если рабочие дисководы ещё можно найти в достаточном количестве, то вот с дискетами уже всё плохо. Практически нет в продаже, а что удаётся найти — по качеству ниже плинтуса. В прошлом году нашел в одном магазине три коробки — с трудом из них набрал десяток рабочих дискет, которые два форматирования пережили. А старые дискеты, хоть и были надёжней, свой срок жизни тоже имеют. Это первая проблема.

Вторая проблема в том, что даже если у вас есть достаточный запас дискет, то современные компьютеры уже не имеют возможности подключения дисководов, потому при необходимости что-то скопировать на ретро-компьютер превращается в проблему с разными вариантами решения.

Про варианты я тут и хочу написать, от хардкорных и дорогих до казуальных и не очень дорогих.

Hardcore mode on

Начну, пожалуй, с разного хардкора — для тех, кому необходима стопроцентная аутентичность носителей и для тех, кто возится с техникой, отличной от РС — всякими там коммодорами, амигами и прочими спектрумами, где формат дискет может отличаться от стандартов, принятых в мире х86.

Catweasel

Немножко из истории вопроса — где-то в середине нулевых существовала мультикарта на PCI, где в числе всего прочего имелись и контроллеры дисководов. Называлась Catweasel Mk4.

Но она уже ушла в историю, не производится, найти даже на барахолках практически невозможно, а даже если найдёте, то денег за неё заломят немеряно. Я где-то встречал сообщение от человека, который был готов купить примерно за 400 долларов, но продавать ему никто желанием не горел. На ebay последний аукцион закончился на 250 евро, до него — что-то порядка 380 евро (это именно MK4, более старые варианты там тоже продавались, но не особо дешевле). Потому устройство представляет интерес скорее для коллекционеров редкого железа, чем для тех, кто будет использовать его по назначению.

FC5025

FC5025 USB 5.25″ floppy controller — тоже штука, представляющая скорее теоретический, чем практический интерес.

Плата для подключения пятидюймовых дисководов через USB. Работало строго с 5,25″ дисководами, работало строго на чтение. В общем, штука не слишком функциональная и практически ушедшая в историю. По крайней мере, я не слышал, чтобы ей кто-то пользовался в сегодняшнее время. Хотя на сайте производителя ещё предлагают купить за 55$.

KryoFlux

Ну и нынешний всемогущий фаворит — KryoFlux.

Это USB-адаптер для подключения дисководов. Может работать почти с любыми дисководами, от 3″ до 8″, читать и писать практически любые форматы дисков в куче режимов… В общем, что тут описывать, лучше слово разработчикам предоставить:

Read at lowest level possible — precisely sampling the magnetic flux transition timing. Custom formats? Recording scheme violations? Encodings? KryoFlux reads them all!
Save as raw stream, or export to common sector formats supporting: Acorn Electron, Apple, Amstrad CPC, Archimedes, Atari 8-bit, Atari ST, BBC, Commodore 64, Commodore Amiga, MSX, IBM PC, PC-8801, Sam Coupe, Spectrum, E-MU Emulator & Emulator II, DEC RX01 & RX02 and many, many others.
Write back to disk. KryoFlux not only creates direct clones based on raw (STREAM) data dumped, but also supports fully verified «one-click» writing of ADF, G64 and IPF files, with more formats in development.
Need to duplicate an alien disk? With our patent-pending RepliFlux technology, KryoFlux will create bit-identical copies of almost any disk.
Load raw dumps instantly in the emulator of your choice, e.g., but not limited to: WinUAE, FS-UAE, E-UAE, WinSTon, Hatari, STEem, Caprice and Spectaculator.
Parallel export support. E.g. An Amiga/ST dual format disk can be written as raw stream, an ADF and an ST file, all at the same time during a single disk capture.
Intelligent software allows production of sector images for virtually all normal disks for systems containing a generic FM or MFM floppy controller. Many other weird synthesiser sample disk formats should work right out of the box.
Reading and writing is completely independent of real drive speed, also supports variable rate «zoned CAV» disks (e.g. Apple) in a normal fixed rate drive.
Software completely free for private, non-commercial use.
Easy to use graphical user interface.
RoHS compliant and WEEE registered.
High quality immersion gold coated boards, made to last a lifetime.
The de-facto standard for true disk imaging and preservation.

Рекламный ролик:

Но это именно инструмент для работы с дискетами получается, а не полноценный дисковод — работает только с образами дисков в разных форматах. Просто скопировать пару файлов на дискету не выйдет. Зато если вам надо сделать образ какой-то старой дискеты — это самое то. Насколько знаю, если включить самое подробное чтение, что RAW-образ дискетки на 360 килобайт займёт у вас порядка 60 мегабайт. Стоит это устройство 100 евро, не особо дёшево, но и не то, чтобы сильно дорого, если ретро-компьютеры — серьёзное хобби.

SuperCard Pro

image

SuperCard Pro — несколько менее известный аналог KryoFlux. Работает по тому же принципу, стоит примерно тех же денег.
Больше заточен на чтение-запись дисков с защитой от копирования, в то время как KryoFlux больше позиционируется для архивирования старого ПО.

Hardcore mode off

Если вышеперечисленные решения были для тех, кто всерьёз свою жизнь посвятил ретрокомпьютингу, то дальше перечислю варианты для тех, кто не хочет тратить много времени и денег, а просто хочет скопировать пару файлов на старый компьютер. Но тратить сотню евро и каждый раз создавать образ дискеты ему не хочется, предпочтительнее более казуальное решение.

Отдельный компьютер для записи дискет

Ну, что тут сказать… Можно, конечно. Взять откуда-то «из середины» компьютер, который будет небольшого размера, нормально поддерживать локальную сеть и при этом иметь дисковод. К примеру, ноутбук какой-нибудь времён третьих пентиумов. Но тут проблема будет в том, что появляется дополнительное довольно тяжелое звено — каждый раз заводить шарманку ради скидывания пары файлов на дискету будет очень лениво, по себе знаю.

USB-дисковод

Потому первое, что приходит в голову для работы с дискетами на современных компьютерах — это обычный USB-дисковод.

Стоит недорого даже новый, продаётся везде, элементарен в использовании. Большинству вполне достаточно.

Проблем две. Во-первых, такие дисководы ограничены форматом дискет 1.44, ограничение контроллера. Но на это можно закрыть глаза, на 95% РС стоят дисководы, которые нормально такой формат дискет понимают. Вторая проблема хуже — вы по-прежнему привязаны к физическим дискетам, которые смертны. Зачастую — быстро и внезапно смертны.

Переходник для подключения стандартного дисковода через USB

Это вариант предыдущего решения — в результате вы получаете тот же USB-дисковод, только на базе своего любимого флоппика.

Я про такое как-то вообще не задумывался, но одному знакомому владельцу синтезатора приспичило в свой новый i7 поставить именно свой любимый дисковод, на замену не соглашался. Как выяснилось, возможность такая имеется, причём не так уж дорого. Хотя не особо популярная, да и дороже, чем простой USB-дисковод. Достоинство — можно использовать свой любимый дисковод, можно поставить его внутрь корпуса, а не держать снаружи. Недостатки те же, что и у предыдущего варианта — контроллер используется тот же самый.

Эмулятор 3,5″ дисковода

И вот наконец-то пришли, пожалуй, к самому правильному решению для тех, кто хочет удобства, а не аутентичности — эмулятор дисковода, который позволяет избавиться от физических дискет, заменив их флэшкой.


image

Принцип использования — эмулятор ставится на ваш ретро-компьютер вместо дисковода — подключаясь к контроллеру FDD, а на флэшку записываются образы дискет. Кнопками переключаете номер образа (одна кнопка единицы, вторая десятки, обе вместе — сотни). Теоретически, можно от 0 до 999 номера задавать, но программное ограничение до 99. Хотя и так нормально.

Интерфейс программы для работы с образами на флэшке. Сама флэшка файловой системы не имеет, форматируется специально для использования в эмуляторе. По факту она представляет из себя просто последовательные «дампы» дискет, а кнопками на эмуляторе вы просто задаёте смещение — базовая прошивка очень простая.

При прямом подключении её к компьютеру она видна как USB-диск на 1,44 мегабайта и, в принципе, с этим «образом» вы можете работать напрямую с «большого брата», копируя туда файлы.

С остальными «дискетами» работа только через программу. Вы можете либо записать на определённое место образ, либо «Открыть дискету» в проводнике — тогда файлы оттуда будут скопированы на временную папку на жестком диске, вы сможете туда что-то добавить или удалить, а потом дать команду на обратную запись. Но бут-сектор при этом портится, потому загрузочные дискеты лучше не трогать.

Потом просто вставляете флэшку в ваш ретро-компьютер, выбираете нужную «дискету» и работаете как с обычным дисководом. Тут уже можно спокойно форматировать, копировать и удалять файлы напрямую, ничего при этом не портится. Скорость работы незначительно выше аппаратного дисковода, звуков устройство не издаёт.

Достоинства — уходите от физических дискет, что сильно упрощает жизнь. И не только любителям ретро-компьютеров. Подобные так же эмуляторы используются в промышленном оборудовании и музыкальных синтезаторах, где проще поменять устройство для загрузки файлов, чем менять само оборудование на более современное.

Недостатки — базовый и самый дешевый эмулятор работает только с дискетами на 1,44. Другие варианты (на 1,2, на 720к) продаются, но стоят дороже.

Для борьбы с недостатком существуют альтернативные прошивки. Мне показалась интересной FlashFloppy. Бесплатная, с открытыми исходниками, поддерживает тучу форматов образов и дисков.

ADF (Commodore Amiga) ADM, ADL, ADF, DSD, SSD (Acorn DFS and ADFS) D81 (Commodore 64 1581) DSK (Amstrad CPC, Spectrum +3, Sam Coupe, Microbee) FDI, HDM (NEC PC-98) IMG, IMA, DSK (IBM MFM Raw Sector) JVC, DSK (Tandy Color Computer 'CoCo') MBD (Spectrum MB02) MGT (Spectrum DISCiPLE/+D) OPD (Spectrum Opus Discovery) SDU (SAB Diskette Utility) ST (Atari ST) TRD (Spectrum TR-DOS) V9T9, DSK (TI-99/4A) VDK (Dragon) HFE, HFEv3 (Universal) 

Сам я пока до неё не добрался — просто нет необходимости, везде, куда ставились такие эмуляторы, использовались обычные дисководы на 1,44.

Так же можно и аппаратно доработать эмулятор — поменять экранчик, добавить спикер, присобачить ручку для быстрого переключения образов…

Что делать со старыми дисководами

Ну вот купил я себе эмуляторов, а куда теперь деть старые дисководы, не выкидывать же?
Зачем выкидывать? Можно сделать из них музыкальный инструмент, к примеру.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *