Нет, больше нигде. Это фирменная разработка DEC, и соответственно наша эксклюзивная с них копия. Больше никуда не ставились, ибо дорого и нафиг не нужно. Кстати, на надежность я не жалуюсь - еще бы, при таком-то слое позолоты. Шлейфы чаще подводят.
Вид для печати
Что-то не могу обнаружить в документации пример о случаях необходимости использования "меченых" секторов на дискетах.
Где такое могло применяться? Кто мог прятать/освобождать сектора? Какие программы такое практиковали?Цитата:
4.3.9.2. Запись "меченого" сектора (РК=12Х/13Х, РРК=1).
Эта команда выполняется аналогично команде "Запись сектора", но в маркере данных вместо кода 0xFB используется код 0xF8. При попытке чтения такого сектора выдается сообщение об ошибке с кодом 0364. При этом считанная информация находится в буфере данных.
Нашел в рефератах и описаниях вот такое:
Теледиск такую информацию в свой образ .TD0 сохраняет:Цитата:
Последние байты адресных маркеров данных секторов состоят из маркерных байтов A1 (записанных с нарушением кодирования МЧМ) и идентификаторов FB или F8 и показывают тип сектора:
FB - сектор обычных нормальных данных,
F8 - сектор стертых удаленных данных (не видны команде стандартного чтения),
причем такое разделение имеет чисто условный характер, удаленные данные записываются и читаются точно так же, как и нормальные, просто используются разные команды контроллера.
(хорошо, что он у нас базовый для дампов!) но в эмуляцию всё это уже не попадает! Видимо, буду просить Panther дописать как примочку к его библиотеке работы с файлами формата Teledisk, что бы при экстракте имиджа дискет в посекторный формат параллельно в файл-спутник так же создавалась и "карта удалённых секторов" на дискетах (если они есть).Цитата:
6.5. Flags
04 = Sector has a "deleted-data" address mark
Panther, спасибо!Цитата:
Нет проблем. Есть образ TD0 с такими секторами?
Если честно, на 100% я не уверен, но думаю, что такое очень может быть в инсталляхах офисного пакета "СТАРТ". Там, знаю, была защита на только 5 валидных установок с каждого комплекта покупных дискет.
Думаю, в начале просто бы высветить какой-нибудь маячок-транспарант, что в секторе X дорожки Y встречен идентификатор удаленных данных, а я бы просто насквозь прогнал все дампы что у меня есть в TD0, на предмет использования таких "закрытых" секторов. А потом уже можно будет наводить оптимальную красоту в удобном формате.
Я сделал две отладочные версии программы. Одна выдает только информацию по скрытым секторам, если они есть, другая выдает полную статистику, включая дампы нестандартных записей.
В твоем файле скрытых секторов не нашел, но у меня есть свои примеры от какого-то синтезатора, где они нашлись, но флаг там не $4, а $40.
Помучай свои образы, посмотрим, что получится.
Почесал репу, похоже, в моем образе есть дополнительные нестандартные сектора в начале каждой дорожки (флаг=64 - No ID address field was present for this sector, but there is a data field). Вероятно, к обсуждаемой проблеме удаленных секторов это не относится.
Думаю косвенно, но очень даже относится: откопал в имиджах один сектор с кодом 04 (таки в пакете СТАРТ но, скорее всего, к защите не относящийся, там текстовой мусор какой-то и дискета ко всему битая) и ещё с кодом 02 (ошибка CRC, я проверяю так же и дискеты которые с ДВК by KALDYH), плюс меня реально взволновал код 64.Цитата:
Похоже, в моем образе есть дополнительные нестандартные сектора в начале каждой дорожки (флаг=64 - No ID address field was present for this sector, but there is a data field). Вероятно, к обсуждаемой проблеме удаленных секторов это не относится.
В посекторный дамп данные из таких секторов с флагами различных ошибок как переносятся? У меня таких дискет наповсплывало...Код:SECTOR: 0:0:118; SIZE: 512; Flags=$40; IGNORED
Пока никак, они игнорируются. Их просто некуда переносить - это дополнительный "нулевой" сектор, места которому в обычном DSK нет. Нужно мудрить либо какой-то свой формат, либо смотреть на спековские - там были какие-то форматы с "сырыми" данными, вроде.
Что касается секторов с CRC-error, у меня пока таких не было, я об этом не думал. Но, физически, он просто пропустится, и там будет мусор из памяти программы.