vak: (Default)
[personal profile] vak
Допилил я поддержку Kryoflux в утилитке floppy. Поначалу оно как-то дышало, но чтение часто слетало посередине флопика, и некоторая доля секторов оказывалась битая. Я уже грешил на хардвер и начал обзывать девайс нехорошим словом "кривоглюкс". Но решил глянуть исходники, сгенерённые Курсором. Вообще он молодец, избавил меня необходимости штудировать хитрый протокол USB криофлакса и форматы его данных. Всё сделал сам, и оно по большей части давало результат. Однако при внимательном изучении там нашлось много ненужного, а местами и вредного. В конце концов чтение флопов заработало стабильно и без потерь данных. Можно пользоваться.

У криофлакса три минуса. Первое - он тормозной. Читает флопик в три раза медленнее, чем другие. Потому что он читает каждую дорожку шесть раз. В документации написано что пять, но это пять полных копий. А чтобы получить пять полных копий, начиная с произвольного места, приходится читать шесть. Это занимает 1.2 секунды на каждую сторону, или 2.4 секунды на цилиндр. И управлять количеством копий нельзя. Хотя обычно достаточной одной или двух копий, что выходит в три раза быстрее.

Второй минус - криофлакс не умеет писать флопики. Только читает. Годится для архивации, но не для повседневной работы с флоппи дисками.

Третий минус - криофлакс дороже альтернатив: €105 против $35 (Greaseweazle) и $100 (SuperCard Pro). Впрочем SuperCard Pro больше не производится, так что выходит в три раза разница. 

Вот как выглядит чтение флопа. Скажем, возьмём пустой флопик, сформатированный под MSDOS 7.10.
$ 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
Сначала диск считывается в сыром виде (MFM) в файл типа HFE. Размер выходит около 4 мегабайт. После чего мы преобразуем HFE в привычный образ флопа IMG. Получаем стандартные 1.44 мегабайта.
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

If you are unable to use this captcha for any reason, please contact us by email at support@dreamwidth.org