vak: (Default)
[personal profile] vak
Флоппи-диски уже много лет как исчезли из жизни. Молодёжь даже и не знает, что это такое. Но мне, занимаясь компьютерной археологией, часто приходится решать задачу прочитать или записать флопики самых разнообразных форматов. Для этого я использую USB-девайс Supercard-Pro, по сути универсальный контроллер для любых типов флоппи-дисководов.



Чтобы прочитать произвольный диск, подсоединяем флоповод и даём команду:
scp_dump -d /dev/ttyUSB0 floppy.scp
Образ флопика сохраняется в специальном формате SCP. Фактически это сырой сигнал с магнитной головки, клиппированный до 0/+5V. Считывается по 84 дорожки на двух сторонах флопика. То есть может быть прочитан любой формат диска, будь то PC, Apple, Amiga, Atari или что-то другое. Каждая дорожка считывается 2 или больше раз, и копии хранятся в файле, для надёжности последующего распознавания. Дальше отдельная утилита умеет декодировать сырой файл SCP и превращать его в известные форматы файлов.

Ровно так же другая утилита записывает файл SCP на дискету:
scp_write -d /dev/ttyUSB0 floppy.scp
Но как сформатировать дискету? Для этого надо заиметь файл в формате SCP для пустого диска. Эти файлы будут разные: понятно, что для писишного флопика 1.44Мб нужен не такой формат, как для Amiga 880Кб. Я нашёл утилиту, которая умеет создавать образы пустых дисков для разных форматов. Она называется HxCFloppyEmulator:

https://hxc2001.com/download/floppy_drive_emulator/HxCFloppyEmulator_soft.zip

Работает на Маке и на Windows. Под Линуксом можно запустать с помощью wine.



Нажимаем Disk Browser и выбираем нужный формат диска, к примеру 3.5" 720 килобайт двусторонний двойной плотности для PC. После этого жмём Create Disk и Save/Export.



Я наделал файлов для часто встречающихся форматов: можно скачать по ссылкам ниже. Сами файлы SCP довольно большие, но хорошо сжимаются посредством gzip.

pc3.5-720kb-dsdd-fat12.scp.gz
pc3.5-800kb-dsdd-fat12.scp.gz
pc3.5-820kb-dsdd-fat12.scp.gz
pc3.5-1.44mb-dshd-fat12.scp.gz
atari3.5-360kb-ssdd-fat12.scp.gz
atari3.5-720kb-dsdd-fat12.scp.gz
atari3.5-902kb-dsdd-fat12.scp.gz
amiga3.5-880kb-dsdd-amigados.scp.gz
amiga3.5-1.76mb-dshd-amigados.scp.gz

Date: 2019-10-18 00:05 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
Восхитительно, конечно.

Date: 2019-10-18 00:58 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
На письме очень не хватает тона, которым это бы произносилось. :)

Date: 2019-10-18 04:59 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
И тут я вспомнил, как мы в Форт-Инфо делали флопики уникальными (чтоб не копировались); я иголкой делал дырку. Пробовали лазером, но лазером как-то грубо.

Date: 2019-10-18 05:10 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
О блин, конечно же.

Date: 2019-10-18 05:42 (UTC)
From: [personal profile] borisk
И нестандартные размеры с «лишними» секторами умеет декодировать?

Date: 2019-10-18 06:16 (UTC)
dluciv: (Default)
From: [personal profile] dluciv
Он ниже секторов работает

Date: 2019-10-18 06:15 (UTC)
dluciv: (Default)
From: [personal profile] dluciv
Вот что под Wine работает — это удивительно слегка. Wine выглядит так, как будто может эмулировать сугубо прикладные вещи. Казалтсь бы. И тут на тебе.

UPD

Date: 2019-10-18 06:18 (UTC)
dluciv: (Default)
From: [personal profile] dluciv
Стормозил. Оно ж на диск не лазает.