Gaps

2026-01-13 09:30
vak: (Знайка)
[personal profile] vak
Доделываю в утилите floppy поддержку формата файлов IMG. Утилита уже умеет писать IMG на флопик и читать IMG с флопика. Но дьявол в деталях: разные форматы флопиков имеют разные "gaps", то есть зазоры, пустые места на дорожке.

В общих чертах, дорожка флопика состоит из нескольких секторов и промежутков между ними. Каждый сектор подразделяется на блок заголовка сектора и блок данных сектора.



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

Вот зазоры gap3 для стандартных форматов, в строке Gap Length (Format). Это из описания чипа флопового контроллера FDC37C65C. Там же указано, что gap2 для всех форматов должен быть 22, а для 2.88M увеличенный до 41.



Зазоры для нестандартных форматов придётся смотреть в линуксном драйвере floppy.c. Полезно и в FreeBSD заглянуть, sys/fdcio.h.