Сообщение от
bigral
Мне кажется
Сообщение от
bigral
я подозреваю
Сообщение от
bigral
может
Сообщение от
bigral
А значит все IDE контроллеры
У меня пока только один вариант контроллера IDE.
Даже с этим вариантом контроллера и драйверами от создателей есть интересный нюанс - они не стали программировать драйвер на работу по прерываниям, а тупо - опрос до готовности. Вопрос - почему? Я получил первый примерно работающий вариант драйвера по прерываниям. С интересной особенностью. Если поставить точку останова на вход в драйвер, где дальше идёт получения пакета, и руками давать на этой точке останова команду продолжения, то драйвер (вроде) работает. А если не ставить - первое обращение отрабатывает, а второе - зависон. На ошибку в драйвере списать сложно - всё, что я делаю - жму кнопку P (продолжить). Такое впечатление, что нужны какие то задержки при работе с устройством, которые и обеспечивает работа под отладчиком. Проблема схемы? Где то не выдержана времянка цикла обмена с устройством?
А если в другом контроллере свои "багофичи"? Писать драйвер по невнятному описанию, а так же догадкам - а потом получать отзыв - а вот на моём супе-пупер совместимом твой драйвер ни хрена не работает. Увольте.
Кстати, кроме как предположение, что с работой по прерываниям у авторов не взлетело - не могу ничего придумать. Проверил, сколько инструкций успеет выполнить Квант от момента подачи команды до момента прерывания по готовности устройства. Достаточно тупой код:
Код:
RESET
CLR R0
MOV #2, R1
MOV #100, R2
;на приход прерывания по любому вектору - останов по адресу вектор прерывания+4
10$: MOV R1, (R0)+
CLR (R0)+
CMP (R1)+, (R1)+
SOB R2, 10$
...
MOV #CS.RD,@R1 ; послать команду, начать выполнение
CLR R2
CLR R3
; цикл в цикле, максимум 65536*65536 повторений
32$:
34$: SOB R2,34$
SOB R3,32$
HALT
Этот же код выяснял - а вообще контроллер по прерывания работает? Как оказалось - вполне. А теперь тотализатор - на карте CF (где никакой механики и задержек, связанных с ней нет) - что было в R2 и R3, когда пришло прерывания? Насколько медленен 1801ВМ3 для современных CF?