Доделываю в утилите floppy поддержку формата файлов IMG. Утилита уже умеет писать IMG на флопик и читать IMG с флопика. Но дьявол в деталях: разные форматы флопиков имеют разные "gaps", то есть зазоры, пустые места на дорожке.
В общих чертах, дорожка флопика состоит из нескольких секторов и промежутков между ними. Каждый сектор подразделяется на блок заголовка сектора и блок данных сектора.

Критичные зазоры здесь: gap1 и gap3. От их величины зависит стабильность обмена с флопиком на разных флоповодах. Gap2 всегда одинаковый, к счастью, а gap4b просто дополняет дорожку до нужного размера (до следующего индекса).
Вот зазоры для стандартных форматов.
В общих чертах, дорожка флопика состоит из нескольких секторов и промежутков между ними. Каждый сектор подразделяется на блок заголовка сектора и блок данных сектора.

Критичные зазоры здесь: gap1 и gap3. От их величины зависит стабильность обмена с флопиком на разных флоповодах. Gap2 всегда одинаковый, к счастью, а gap4b просто дополняет дорожку до нужного размера (до следующего индекса).
Вот зазоры для стандартных форматов.
Floppy Type gap1 gap2 gap3
-----------------------------------------------------
320K (5.25 DD) 50 bytes 22 bytes 80 bytes
360K (5.25 DD) 50 bytes 22 bytes 80 bytes
720K (3.5 DD) 50 bytes 22 bytes 80 bytes
1.2M (5.25 HD) 80 bytes 22 bytes 84 bytes
1.44M (3.5 HD) 80 bytes 22 bytes 108 bytes
2.88M (3.5 ED) 80 bytes 22 bytes 101 bytes
Для нестандартных форматов придётся смотреть в линуксном драйвере floppy.c.