Доделываю в утилите 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-13 18:03 (UTC)no subject
Date: 2026-01-13 18:07 (UTC)no subject
Date: 2026-01-14 22:12 (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-14 22:06 (UTC)Сейчас уже забылось, а ведь флопик был самым непонятным и плохо предсказуемым девайсом на писишке.
no subject
Date: 2026-01-13 21:39 (UTC)Там для дешевизны FDD контроллер не умел работать с секторами.
BIOS управлял каждым байтом вручную: Gap, Sector Header...
no subject
Date: 2026-01-13 21:42 (UTC)no subject
Date: 2026-01-14 02:33 (UTC)Низкоуровневый копировщик воспроизведёт этот байт и контрольную сумму.
Разве что защита должна проверять операцию записи на диск на стороне пользователя, тогда она сможет обнаружить прокол в определённом месте.
no subject
Date: 2026-01-14 02:51 (UTC)no subject
Date: 2026-01-14 03:12 (UTC)Копировщик также отформатирует эталонную защищенную дискету,
Выдаст карту битых секторов
И дальше человек с линейкой и циркулем проткнёт новую дискету в нужных местах
no subject
Date: 2026-01-14 03:19 (UTC)В любом случае - за всё время, что мы активно торговали своей софтиной (причем и за рубежами родинки - тоже) снять копию с дискеты с установщиком никто не смог.
no subject
Date: 2026-01-14 07:01 (UTC)no subject
Date: 2026-01-14 22:09 (UTC)no subject
Date: 2026-01-15 00:35 (UTC)no subject
Date: 2026-01-15 00:43 (UTC)no subject
Date: 2026-01-15 00:48 (UTC)Ты запускаешь программу. Программа форматирует дорожку. После этого читает сектор, который должен быть битым. Если он не битый - это копия и программа выходит. Из себя. :)
no subject
Date: 2026-01-15 01:10 (UTC)no subject
Date: 2026-01-15 01:12 (UTC)no subject
Date: 2026-01-14 03:37 (UTC)no subject
Date: 2026-01-14 22:10 (UTC)no subject
Date: 2026-01-14 23:01 (UTC)no subject
Date: 2026-01-14 11:19 (UTC)Сейчас я это расцениваю как плохое явление. В то время я чувствовал себя обладателем секретного знания, а это необоснованно поднимает ЧСВ, логика примерно такая "я обладатель секретного знания => я сверхчеловек". Но это же явление ставит твои мозги определенным образом: ты начинаешь думать, что выход за пределы стандартов это хорошо и полезно. То есть, ты заведомо плохое считаешь заведомо хорошим.
no subject
Date: 2026-01-15 00:09 (UTC)no subject
Date: 2026-01-14 10:02 (UTC)Причем, при форматировании записать сразу данные можно, но почему-то такой способ чаще дает сбои. Там видимо эти перемагничивания какие-то неполные. Так же, если дист на 1.44 отформатировать как 720, а потом снова на 1.44, то потом он будет чаще сбоить. (это касается 1818вг93, и было проверено на определенном количестве разных компов у разных людей)
У вас, судя по тому, что вы написали, утилита работы с картинками лезет на тот уровень, о котором ей ненадо что-то знать.
no subject
Date: 2026-01-14 23:55 (UTC)Есть чтение-запись через биос - то, чем занимается MSDOS и все обычные программы. Работает только посекторно на уже отформатированный диск.
Низкоуровневое форматирование возможно минуя биос, через прямое программирование регистров флопового контроллера. Тут уже доступно много чего, но не всё. Возможности чипа контроллера тоже ограничены. Да и чипы бывали разные.
В моём случае и про чип флопового контроллера можно не париться. Я работаю ещё ниже, непосредственно с сигналами намагниченности. Которые из флопового драйва торчат как два провода:
/Read Disk Data - Raw serial bit stream from the disk drive. Each falling edge represents a flux transition of the encoded data.
/Write Data - Encoded data to the disk drive. Each falling edge causes a flux transition on the media.
Утилита работы с картинками видит весь сигнал намагниченности.
Про "сбои перемагничивания" - вы вероятно имеете в виду порчу флопиков 360K в флоповодах 1.2M. Была такая проблема, вызванная разницей в ширине магнитной головки и силе намагниченности. Подробности по ссылке.
https://chatgpt.com/share/69682c38-f478-8001-b41e-0d0695aec5dc
Между 1.44M и 720K такой проблемы не было. Или может просто разброс параметров 1818вг93 и некачественные советские флопики.
no subject
Date: 2026-01-15 12:52 (UTC)Беру дискету 1.44, которая не сбоит. Формачу ее под 720 - и потом опять под 1.44. Такой пользоваться можно - но сбоит иногда. Почему так - я не знаю.
что там в msdos, я вообще без понятия.
> Утилита работы с картинками видит весь сигнал намагниченности.
это как-то совсем уже неправильно. Что вообще у вас там творится?
no subject
Date: 2026-01-15 23:23 (UTC)Попробую добыть флопики именно на 720, поиграюсь.
> это как-то совсем уже неправильно. Что вообще у вас там творится?
Что же такого неправильного. Берём сигнал /RDD прямо с ножки флоповода и разворачиваем построчно. Как в старом добром телевизоре.
no subject
Date: 2026-01-16 09:44 (UTC)На спектрумах так нельзя было. Там вся работа шла через микросхему, и прямого сигнала с головы не было.
Но вообще, хоть и понятно, что так сделать технически получится на каком-то железе, мне не ясно, зачем может понадобиться так делать. Если только не делаешь специальное железо для работы с флоповодами.
Программа работы с картинками должна все, что не касается работы с картинками, делать через драйвера. Тем более на х86 в msdos. Возможно, бывает железо, на котором по-другому просто не выйдет. Там такие финты - понятны.