Gaps

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

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



Критичные зазоры здесь: 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.

Date: 2026-01-13 18:03 (UTC)
spamsink: (Default)
From: [personal profile] spamsink
А где на cхеме (**) Special C2-marker-pattern?

Date: 2026-01-13 18:51 (UTC)
ufm: (Default)
From: [personal profile] ufm
Читаю про то, как ты влзишься с флопиками и получаю постоянные флешбеки, как я в 88-89 году делал защиту от копирования с привязкой к флопику.Из того что осталось в памяти - я форматировал одну дорожку нестандартно - у последнего сектора на ней был размер в два раза больше. За счёт этого, во первых удавалось читать gap (у меня там хранилось число копий), во вторых - при копировании, даже если копировщик разбирался с нестандартными размерами, он всё равно в процессе убивал эту дорожу - перезаписывал первый сектор.
И что особо сурово - я делал это посредством штатного биоса.
Единственное - по моему на IBM PCjr были какие-то проблемы с этим. Он таких извратов не поддерживал...

Date: 2026-01-13 20:00 (UTC)
ufm: (Default)
From: [personal profile] ufm
"знал" :)
И, с другой стороны, я извратами через биос занимался потому что не нашёл информацию как это через порты делать. :)
Да и на сколько я помню - на самом-то деле там ничего особо сложного. Всего лишь в какой-то момент задался вопросом "а что будет, если передать вот такие парамеры".
Вобщем "А-а-а-а, бля, сказали суровые сибирские мужики" в чистом виде. :)

Date: 2026-01-13 21:39 (UTC)
ircicq: (Default)
From: [personal profile] ircicq
Интересно, что подобные защищённые диски можно было копировать например на компьютере "Поиск".
Там для дешевизны FDD контроллер не умел работать с секторами.
BIOS управлял каждым байтом вручную: Gap, Sector Header...

Date: 2026-01-13 21:42 (UTC)
ufm: (Default)
From: [personal profile] ufm
Ну против настолько умных тоже есть способ. Берётся иголка и протыкается диск. :)