Поразбирался с драйвером MX.SYS, который называет себя "ДРАЙВЕР ГМД ФОРМАТА MX40/80 МИКРОЦОС LTD. V2.2"
Ожидания были такие что он соответствует драйверам MX от ДВК, описанному тут: http://zx-pk.ru/threads/20541-kontro...programmy.html
Но оказалось что он скорее "по мотивам".
Дорожка всегда читается и пишется целиком от начала до конца.
Структура дорожки которую ожидает этот драйвер.
Читаются первые 2841 байта от индекса.
Все слова данных сектора, а также слово контрольной суммы, записываются в формате старший байт затем младший байт, что отличается от обычного представления слов в памяти (младший потом старший), поэтому после чтения сектора и перед записью выполняется SWAB над всеми словами.Код:Заголовок, 3 байта: Маркер 0363. Байт 0 (его можно рассматривать как старший байт от слова номера дорожки). Байт номер дорожки. Данные секторов, всего 11 секторов по 256+2 байт на сектор: 128 слов = 256 байт данные секторов Слово контрольной суммы, полученное обычным сложением всех слов сектора. Концевик 4 байта: 20 4F 54 01 (hex) Слово: номер дорожки * 2
Без концевика получается 3 + 11 * (256 + 2) = 2841 байт, именно столько читает драйвер, остальные байты до конца дорожки игнорируются (длина дорожки примерно 3125 байт).
При записи дорожки кроме заголовка и данных секторов пишется ещё 6 байт концевика.




Ответить с цитированием