Вот в этой статье упоминается структура первого сектора диска у Корвета.
Код:В документации на КОРВЕТ стандартным также являлся самый пер─ вый сектор на диске - его 128 байт содержат размеры всех облас─ тей на диске: размер секторов в байтах, количество их на до─ рожках - и если эта информация вместе с форматом каталога яв─ ляется более-менее стандартной, то можно постараться и написать универсальную читалку-писалку на диски всех систем, претендую─ щих на CP/M совместимость. В этом секторе содержится: ┌───────┬───────────────┬─────────────────────────────────────┐ │Байты │Стандартно │Назначение │ ├───────┼───────────────┼─────────────────────────────────────┤ │0-1 │0 или #BE80 │Адрес загрузки ОС │ │2-3 │0 или #BF00 │Адрес запуска ОС │ │4-5 │0 или #0D │Количество секторов под ОС │ │6 │0 │Код диаметра НГМД (133 мм) │ │8 │0 │96 дорожек на дюйм (=1 для 48 дор.) │ │9 │1 │Данные вектора перевода секторов │ │ │ │(0 - не используется) │ │10 │3 │Размер сектора: │ │ │ │(0 - 128 байт │ │ │ │ 1 - 256 │ │ │ │ 2 - 512 │ │ │ │ 3 - 1024) │ │11 │1 │Двухсторонний НГМД (четные дорожки │ │ │ │сверху, 0 - односторонний) │ │12-13 │5 │Количество секторов на дорожке │ │14-16 │0080 │Количество дорожек на одной стороне │ │ │ │(TPD, TPD'=2TPD) │ │16-17 │40 │Количество логических записей по 128 │ │ │ │байт на дорожке (SPT) │ │18 │4 │Фактор сдвига ( =LOG2(BLS/128) ) │ │19 │15 │Маска расположения блока данных │ │ │ │( =BLS/128-1 ) │ │20 │0 │Маска размера блока │ │ │ │( =BLS/1024-1-DSM/256 ) │ │21-22 │#187 │Количество блоков данных на диске │ │ │ │( DSM=SPT*(TPD'-OFF)*128/BLS-1 ) │ │23-24 │#7F │Число элементов оглавления минус 1 │ │ │ │( DRM ) │ │25-26 │2 │Количество блоков под оглавление │ │ │ │( =32*DRM/BLS) │ │27-28 │#0020 │Размер вектора контроля оглавления │ │ │ │(Контрольная сумма каталога?) │ │29-30 │3 │Количество дорожек под операционную │ │ │ │систему, включая нулевую (OFF) │ │31 │#E7(#F1) │Контрольная сумма этого сектора │ │32-128 │0 │Резерв для вектора перевода секторов │ └───────┴───────────────┴─────────────────────────────────────┘ Осталось невыясненным, где хранится BLS - размер блока дан─ ных (2048/4096) как таковой. Но его можно рассчитать из 19-го байта - маски блока данных.




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