Доделываю в утилите 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.
В общих чертах, дорожка флопика состоит из нескольких секторов и промежутков между ними. Каждый сектор подразделяется на блок заголовка сектора и блок данных сектора.

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

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

no subject
Date: 2026-01-15 23:23 (UTC)Попробую добыть флопики именно на 720, поиграюсь.
> это как-то совсем уже неправильно. Что вообще у вас там творится?
Что же такого неправильного. Берём сигнал /RDD прямо с ножки флоповода и разворачиваем построчно. Как в старом добром телевизоре.
no subject
Date: 2026-01-16 09:44 (UTC)На спектрумах так нельзя было. Там вся работа шла через микросхему, и прямого сигнала с головы не было.
Но вообще, хоть и понятно, что так сделать технически получится на каком-то железе, мне не ясно, зачем может понадобиться так делать. Если только не делаешь специальное железо для работы с флоповодами.
Программа работы с картинками должна все, что не касается работы с картинками, делать через драйвера. Тем более на х86 в msdos. Возможно, бывает железо, на котором по-другому просто не выйдет. Там такие финты - понятны.