2025-12-30

vak: (Знайка)
Есть такой товарищ Сергей Киселёв, разработал опенсорсный контроллер флопика на 8-битную шину ISA. Продаётся на Ебее в виде конструктора сделай сам. На его сайте лежат качественные исходники биоса, реализующего работу с флопом. Я взял эти исходники и перепёр на Си. Теперь их можно изучать и понимать, что там с флопом происходит.

github.com/sergev/floppy-bios

Когда занимался bkunix, мне приходилось возиться с флоповым драйвером FreeBSD, добавлять работу с форматом 800 килобайт. Так что смутно помню некоторые детали.
vak: (Знайка)
Занимаясь древними компьютерами, регулярно возникает нужда читать и записывать всякие флопики. Обычно 3.5 дюйма, реже 5.25 дюймов. С 8-дюймовыми мне пока не понадобилось. Хорошо иметь под рукой реальный компьютер из 90-х с флопами, как у меня. Но нынче такие компьютеры попадаются гораздо реже, чем флопики. Пока ещё можно купить внешний 2-дюймовый флоповод, но он будет уметь только формат 1.44 мегабайта.

Есть выход однако. Существуют USB-девайсы, позволяющие подключать стандартные флоповоды к современному компьютеру. Их известно ровно три.Про первые два варианта я уже когда-то рассказывал (1 2). GreaseWeasle появилась у меня заметное время назад, но только сегодня дошли руки потестировать. Это лучший вариант из трёх, и по софту, и по возможностям, и по цене.



Софт: github.com/keirf/greaseweazle

Утилита на Питоне умеет читать/писать флопы, стирать, преобразовывать форматы, тестировать флоповод.
$ gw
Usage: gw [--time] [action] [-h] ...
--time Print elapsed time after action is executed
-h, --help Show help message for specified action
Actions:
info Display information about the Greaseweazle setup.
read Read a disk to the specified image file.
write Write a disk from the specified image file.
convert Convert between image formats.
erase Erase a disk.
clean Clean a drive in a zig-zag pattern using a cleaning disk.
seek Seek to the specified cylinder.
delays Display (and optionally modify) drive-delay parameters.
update Update the Greaseweazle device firmware to latest (or specified) version.
pin Change the setting of a user-modifiable interface pin.
reset Reset the Greaseweazle device to power-on default state.
bandwidth Report the available USB bandwidth for the Greaseweazle device.
rpm Measure RPM of drive spindle.