Цитата Сообщение от fromzero2infinity Посмотреть сообщение
Кажется я где-то близко, Вашими молитвами.
Поюнул на все, разобрал.
Написал тестик, где использую mod1.

Работает как часы... Увеличивает (HL) и отображает на выходном порту.

Цепляю к этому портику вектор (RST4).
Чутка меняю тестик.
im0 и .org 20h на обработчик..... Включаю - НЕ работает. ~INT есть, ~INTAck есть... а не работает. 55h висит на выходе и все.
И тут приходит мысль - до проца не дожодит вектор прерывания. Ну логично, если без вектора в режиме 1 работает,я тут нет.
Открываю UM0080.pdf и вижу

~RD не уходит на низкий уровень.
А у меня на шине данных вот такой гейт стоит....

Т.е. при ~RD = 1 он включен A->B, на шину, а не на CPU.
Вот и нету вектора к процессору.

Похоже так.
Семен Семеныч!
в исходной схеме буфер не показан был. естественно так работать не будет.


Все остальное при этом b стек и субрутины работают, что дало мне чувство в правильности дизайна самой моверборд...
ну они-то работают по нормальным ~RD, ~WR, обработка прерываний - особый случай.

Пожалуйста, подтвердите ход моих мыслей или ткните где не прав. Если есть готовое решения на управление буфером шины данных - киньтесь им в меня пожалуйста.
По моему разумению надо (~RD AND ~INTack) использовать.
правильно.

Но может еще какие случаи есть о которых я не знаю пока. Так сказать, что б позже опять не получить такую штангу.
сходу не припомню, разве что ~BUSRQ когда-нибудь будет задействован...