Допилил я поддержку Kryoflux в утилитке floppy. Поначалу оно как-то дышало, но чтение часто слетало посередине флопика, и некоторая доля секторов оказывалась битая. Я уже грешил на хардвер и начал обзывать девайс нехорошим словом "кривоглюкс". Но решил глянуть исходники, сгенерённые Курсором. Вообще он молодец, избавил меня необходимости штудировать хитрый протокол USB криофлакса и форматы его данных. Всё сделал сам, и оно по большей части давало результат. Однако при внимательном изучении там нашлось много ненужного, а местами и вредного. В конце концов чтение флопов заработало стабильно и без потерь данных. Можно пользоваться.
У криофлакса три минуса. Первое - он тормозной. Читает флопик в три раза медленнее, чем другие. Потому что он читает каждую дорожку шесть раз. В документации написано что пять, но это пять полных копий. А чтобы получить пять полных копий, начиная с произвольного места, приходится читать шесть. Это занимает 1.2 секунды на каждую сторону, или 2.4 секунды на цилиндр. И управлять количеством копий нельзя. Хотя обычно достаточной одной или двух копий, что выходит в три раза быстрее.
Второй минус - криофлакс не умеет писать флопики. Только читает. Годится для архивации, но не для повседневной работы с флоппи дисками.
Третий минус - криофлакс дороже альтернатив: €105 против $35 (Greaseweazle) и $100 (SuperCard Pro). Впрочем SuperCard Pro больше не производится, так что выходит в три раза разница.
Вот как выглядит чтение флопа. Скажем, возьмём пустой флопик, сформатированный под MSDOS 7.10.
У криофлакса три минуса. Первое - он тормозной. Читает флопик в три раза медленнее, чем другие. Потому что он читает каждую дорожку шесть раз. В документации написано что пять, но это пять полных копий. А чтобы получить пять полных копий, начиная с произвольного места, приходится читать шесть. Это занимает 1.2 секунды на каждую сторону, или 2.4 секунды на цилиндр. И управлять количеством копий нельзя. Хотя обычно достаточной одной или двух копий, что выходит в три раза быстрее.
Второй минус - криофлакс не умеет писать флопики. Только читает. Годится для архивации, но не для повседневной работы с флоппи дисками.
Третий минус - криофлакс дороже альтернатив: €105 против $35 (Greaseweazle) и $100 (SuperCard Pro). Впрочем SuperCard Pro больше не производится, так что выходит в три раза разница.
Вот как выглядит чтение флопа. Скажем, возьмём пустой флопик, сформатированный под MSDOS 7.10.
Сначала диск считывается в сыром виде (MFM) в файл типа HFE. Размер выходит около 4 мегабайт. После чего мы преобразуем HFE в привычный образ флопа IMG. Получаем стандартные 1.44 мегабайта.$ floppy read image.hfe
Rotation Speed: 300 RPM
Bit Rate: 500 kbps
Reading track 0, side 0...
...
Reading track 81, side 1... Done
Writing HFE file...
Successfully read floppy disk to image.hfe
$ ls -l image.hfe
-rw-r--r-- 1 vak staff 4116480 Jan 4 21:17 image.hfe
$ gw convert image.hfe image.img --format=ibm.1440
Format ibm.1440
Converting c=0-79:h=0-1 -> c=0-79:h=0-1
T0.0: IBM MFM (18/18 sectors) from Bitcells (199224 bits, 1000.0 kbit/s, 301.2 rpm, variable)
T0.1: IBM MFM (18/18 sectors) from Bitcells (199176 bits, 1000.0 kbit/s, 301.2 rpm, variable)
...
T79.1: IBM MFM (18/18 sectors) from Bitcells (199216 bits, 1000.0 kbit/s, 301.2 rpm, variable)
...
Found 2880 sectors of 2880 (100%)
$ ls -l image.img
-rw-r--r-- 1 vak staff 1474560 Jan 4 21:17 image.img
$ file image.img
image.img: DOS/MBR boot sector, code offset 0x3c+2, OEM-ID "MSWIN4.1", root entries 224, sectors 2880 (volumes <=32 MB), sectors/FAT 9, sectors/track 18, serial number 0x16161ef5, unlabeled, FAT (12 bit), followed by FAT
