Ну, хотя бы BLOCK, WRDCNT и BUFADR полезно иметь 32-разрядными.
- - - Добавлено - - -
Если от этого не станет хуже :)
Вид для печати
Может быть. Мне пока и идея блока параметров не нравится - она может и упрощает в чем-то програминг, но с точки зрения реального железа все только усложняет и утормаживает :)
- - - Добавлено - - -
Я правильно понимаю, что FIS в ВМ3 конфиге не поддерживается (как по идее и положено)?
В общем, ДИАМС под эмулятором заработал, пока на DW. Ура!
Еще, правда, не всё ДИАМСовское нашел, но запустить уже смог. Теперь буду сочинять ДИАМСовский драйвер для HD. А дайте, плз, описание "железа" HX или как там его, чтобы в реале попробовать.
Вся необходимая информация есть в исходниках драйверов HX для RT-11 и XXDP, которые идут в комплекте: Эмулятор терминала типа VT52.
Как сказать? ИМХО, делать DMA в чисто железе - это сложно и малоэффективно. Делал, помню.
В наши суровые времена, когда 100-ногий 72-МГц STM32 с 64К оперативки и 512К флеши на борту стоит 3 убитых енота с копейками, проще поставить на это дело именно такой контроллер. То есть, пара адресов (CSR и DR) отвечают аппаратно, но бОльшая часть их битов - это выводы МК. То есть аппаратуры всего - адресный дешифратор и шинные драйверы, остальное - МК. А понадобилось сделать операцию DMA, выдать вектор и т.п., контроллер через те же (плюс несколько дополнительных) шинные драйверы берет управление на себя и все отрабатывает, в синхронном режиме, если что. И схема будет (почти) примитивной, и программа несложной, в общем, все 33 удовольствия!..
Вспомнил, почему быстрое позиционирование было всегда отключено.
Испытывавшийся контроллер DW не включал быстрое позиционирование ни с какими приводами.
При медленном позиционировании контроллер DW устанавливает бит 0400 в регистре 0174020. Когда найдётся контроллер DW, который не устанавливает этот бит при подключении быстрых приводов - можно будет включить быстрое позиционирование и в эмуляторе DW.
Так я в точности это же и сказал ;)
- - - Добавлено - - -
...тем временем мучаю RSX-11M и HD... Сохраненная система читается в память загрузчиком, активная в ней программа SAV получает управление, а дальше не может найти home block диска. В тестовом варианте на E11 все работало. Будем еще отлаживаться...
Можно сделать так, чтобы команды 022, 023 и 024 - задавали старшее слово для параметров HD, задаваемых командами 2, 3 и 4.