2 Patron
Да, в общем-то, пока все свободно. Есть 3 регистра - 177720 -177724. Последний - для загрузки. Команда 177724G запускает передачу загрузчика, по окончании которой передает ему управление. Размер загрузчика, в общем-то, неограничен, в МК он представлен набором hex-констант. Есть недоделанная программа, которая конвертит .SAV-файл в этот набор констант.
Остальные два регистра доступны для записи и чтения. И запись, и чтение, кроме непосредственной передачи слова данных между МПИ и МК могут инициировать какое-то действие. Если действие короткое, оно выполняется немедленно, т.е. во время этого самого текущего цикла МПИ. Долгое действие (больше тайм-аута МПИ) переводит контроллер со стороны МПИ в состояние "Думаю, прошу не мешать". Окончание этого действия может вызвать прерывание.
В общем, чистый PIO-mode с прерываниями.
Как я понимаю, на этот базис почти ложатся HD V4 и V5. Но не совсем, поскольку ни один из них не знаком с концепцией блоков. А надо, поскольку мне для безблочных манипуляций с данными не хватает ресурсов МК. Ниже изложено моё видение обмена с псевдодиском в блочном варианте.
К числу длительных действий относятся:
- чтение первого слова блока. Ну, или, как вариант, передача команды "прочитать блок в буфер", после которой по отдельной команде "читать содержимое буфера" можно быстро передавать данные из буфера на МПИ. При этом, недочитанную ненужную часть блока можно просто бросить.
- запись последнего слова блока в буфер. Как вариант, подача команды "записать содержимое буфера на носитель", тогда заполнение буфера надо делать по отдельной команде, которая будет быстрой. Мне этот раздельный вариант нравится больше - очистку остатка блока при неполном блоке можно перенести на МК. Помню, какие сложности вызывала эта очистка в драйвере, а так, заполнил ту часть блока на которую есть данные (неважно, полный блок, или нет), дал команду "пиши", и МК сам очистит остаток блока, буде таковой найдется.
- разнообразные управляющие действия, типа смонтировать на привод HDx новый файл-образ, передать список файлов на хост-носителе и т.п. Да, подавать в качестве одного из HDx папку файловой системы хост-носителя, как это сделано на HD1 в эмуляторе, я пока не готов. Не справлюсь. Может быть когда-нибудь позже...
-----------------------------------------------------------
2 Hunta Ну, если оно готово, присылай. Собственно, мне нужны возможности открыть файл, читать/писать его, да небольшая работа с оглавлениями, типа findfirst/findnext. И, вроде-бы, твой Готек собран на F103 ? Тогда вообще идеально - оно ляжет на мой F103ZET6, практически, без переделки.




Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 

