2026-01-18

vak: (Default)
Форматирование флопика вовсе не какая-то специальная операция. Фактически это просто запись образа диска с заранее подготовленной структурой. С файловой системой 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