vak: (Default)
[personal profile] vak
Форматирование флопика вовсе не какая-то специальная операция. Фактически это просто запись образа диска с заранее подготовленной структурой. С файловой системой MS-DOS (FAT12) или другой какой-нибудь.

Как традиционная команда format определяет, какой именно образ диска писать? Вычитывает в настройках биоса. В нашем случае, когда работаем с флопом через адаптер USB, у биоса не спросишь. Я придумал другой способ: прописать в файле ~/.floppy. Этот файл будет автоматически создаваться при первом вызове команды floppy, а в нём (в формате TOML) - описание всех моделей флоповодов, которые встречаются. И выбор одного из них, подключенного по умолчанию. Вот все варианты:
  • 5.25-inch 180K
  • 5.25-inch 360K
  • 5.25-inch 720K
  • 5.25-inch 1.2M
  • 3.5-inch 360K
  • 3.5-inch 720K
  • 3.5-inch 1.44M
  • 3.5-inch 2.88M
Так выглядит описание самого распространённого флоповода, а именно 3.5 дюймового на 1.44 Мбайт:
[[drive]]
    name = "3.5-inch 1.44M"
    cyls = 80
    heads = 2
    rpm = 300
    maxkbps = 500
    images = [
        "IBM HD 1.44M",
        "IBM HD 1.6M",
        "IBM DD 720K",
        "IBM DD 800K",
        "IBM DD 360K Single Side",
        "IBM DD 400K Single Side",
        "Linux 1.44M",
        "BSD 1.44M",
        "Amiga 880K",
        "BK-0010 800K",
    ]
В списке images здесь указан перечень образов для форматирования. Первый из них задействуется по умолчанию.

Весь конфигурационный скрипт можно глянуть здесь: config/floppy.toml

Date: 2026-01-19 03:36 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
Энциклопедия дисков. А 8-дюймовые не планируешь?

Date: 2026-01-19 04:41 (UTC)
sab123: (Default)
From: [personal profile] sab123
А сам адаптер не говорит, какого размера драйв? И 3-дюймовые еще и различаются дыркой, которая есть в HD и нет в DD, ее считывает оптический датчик.

Date: 2026-01-21 20:07 (UTC)
sab123: (Default)
From: [personal profile] sab123
> Не приходилось бы в биосе его тип ставить.

Я как-то уже забыл, что оно все было не plug-n-play :-) Но вообще же драйвера в юниксах различали типы дисководов, а они вроде как биос не читали, и я как-то не помню, чтобы в ручной конфигурации ядра это прописывалось? А может и прописывалось, ведь когда ставишь систему с дискет, то известно, с каких дискет. Наверное можно посмотреть где-нибудь в старой FreeBSD.

> Ты имеешь виду отличительное отверстие в углу флопика 3.5 HD? А в другом углу аналогичное переключающееся для защиты записи.

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