Я смотрю драйвер не особо сложный, осталось только разобраться, как программа в ПП узнает адрес блока параметров SBREAD и что эти параметры значат. А нет исходников остальных частей?
Я смотрю драйвер не особо сложный, осталось только разобраться, как программа в ПП узнает адрес блока параметров SBREAD и что эти параметры значат. А нет исходников остальных частей?
Вообще не понятен смысл прерывания, вектор ведет на команду RTI, а готовность проверяется по содержимому ячейки памяти. Возможно, изначально задумывалась работа по прерыванию, но сейчас оно не нужно. Или я чего-то сильно не понимаю.
А исходники стандартного или не очень драйвера MZ можно достать. Мне кажется проще будет в него добавить поддержку дискетки большого объема? В драйвере WD номер блока передается одним словом, т.е. образ м.б. не более 32М это ограничение RT-11.
Исходники простого MZ (поддерживает только максимальный вариант 80 дорожек, 2 стороны) тоже выкладывал в теме софта и в архиве должен быть. Там будут свои ограничения в случае расширения с сохранением совместимости.
32Mb - предел RT-11. Для DU существует понятие разделов (разделы по 65535 блоков, последний - сколько осталось) и позволяет через SPFUN работать с полными номерами блоков. В WD деление на разделы внутреннее.
А вообще MZ может быть 32Мб? Самый простой вариант это с помощью SET переключить тип диска. При этом в блоке параметров тип диска должен быть 3 и кол-во секторов и дорожек по 256. Возможно сделать такое?
Там 2 стороны х 256 дорожек х 255 секторов = ~63Мб. Со стороны RT-11 есть какие ограничения именно для дискет, или она просто номер блока передает? Еще интересует вопрос по поводу зависания при слишком быстрой загрузке системы, это тоже проблема MZ?