в аттаче исходники одной из версий cp/m биоса для корвета
там все красиво по файлам разбито
BIOS-1.2.zip
и еще доки по cp/m и корветовмскому биосу для нее в архиве
CPM-Docs.zip
такой финт (с описанием в нулевом секторе) усложняет немного
драйвер дисковода, но делает более универсальным систему ...
а вот кусок из доки по биосу корвета
Код:; Содержимое информационного сектора для 5.25" (или 3.5") ; двухстороннего диска, расформатированного на 80 дорожек ; при двойной плотности. ;E физические параметры дискаF 1: DW LoadAdress ; адрес, с которого начинается загрузка 3: DW RunAdress ; адрес,куда передается управление после ; загрузки 5: DW Count ; число загружаемых физических секторов 7: DB 0 ; если значение байта 1 -8" диск, если 0 ; - 5.25" 8: DB 1 ; способ записи: 0 - FM; 1 - MFM 9: DB 96(135) ; число дорожек на дюйм: 0 - 48 TpI ; 1 - 96 TpI, 2 - 135 TpI 10: DB 1 ; если значение байта 1 - фактора смещения ; нет. Если <> 1 - байты 33-128 ; информационного сектора содержат таблицу ; перевода секторов, причем значение байта ; равно размеру таблицы. 11: DB 3 ; размер физического сектора:0 - 128 байт, ; 1 - 256 байт, 2 - 512 байт и 3 - 1024 12: DB 1 ; информация о сторонах диска: 0 - ; односторонний диск, 1 - двухсторонний, ; причем сектора нумеруются от 1 до n ; с каждой стороны, четные логические ; дорожки с нулевой стороны, нечетные с ; первой. 13: DW 5 ; число физических секторов на дорожке 15: DW 80 ; число дорожек на диске (с одной стороны) ; Eлогические параметры дискаF 17: DW 40 ; число логических секторов на дорожке 19: DB 4 ; фактор сдвига блока распределения данных 20: DB 15 ; маска блока распределения данных 21: DB 0 ; маска размера 22: DW 394 ; объем памяти на диске в блоках минус 1 24: DW 127 ; число входов в директорию диска минус 1 26: DB 192 ; показывает, какие блоки зарезервированы 27: DB 0 ; под директорию 28: DW 32 ; размер вектора контроля директории 30: DW 2 ; число системных дорожек на диске 32: DB CheckSum ;контрольная сумма служебной информации





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