Доделываю в утилите 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.
no subject
Date: 2026-01-13 18:03 (UTC)no subject
Date: 2026-01-13 18:07 (UTC)no subject
Date: 2026-01-13 18:51 (UTC)И что особо сурово - я делал это посредством штатного биоса.
Единственное - по моему на IBM PCjr были какие-то проблемы с этим. Он таких извратов не поддерживал...
no subject
Date: 2026-01-13 19:50 (UTC)Нестандартное форматирование через биос это не фунт изюму.
no subject
Date: 2026-01-13 20:00 (UTC)И, с другой стороны, я извратами через биос занимался потому что не нашёл информацию как это через порты делать. :)
Да и на сколько я помню - на самом-то деле там ничего особо сложного. Всего лишь в какой-то момент задался вопросом "а что будет, если передать вот такие парамеры".
Вобщем "А-а-а-а, бля, сказали суровые сибирские мужики" в чистом виде. :)
no subject
Date: 2026-01-13 21:39 (UTC)Там для дешевизны FDD контроллер не умел работать с секторами.
BIOS управлял каждым байтом вручную: Gap, Sector Header...
no subject
Date: 2026-01-13 21:42 (UTC)