+------------------------------+
+----+Чтение порта #7FFD на Kpopyme,++
+зачем это надо, и как этого добиться++
+-------------------------------------+
Начнем с того, зачем это надо. При нажатии NMI на стек
ложится 10 байт (у Кворумов), значит бесследно исчезают те
десять байт, которые находятся под вершиной стека, все это
происходит из-за определения текущей страницы ОЗУ, но если бы
можно было читать значение из порта #7FFD, то все значительно
упрощается, и по максимуму прибьется 6 байт (по минимуму 4-5
байт). Данную фишку собрать очень просто, понадобится одна
микруха 1533UP22 и элементик 5SSЛЛ1, которые цепляются следующим
образом (владельцы 128х на базе ULA-M бреются):
DD1
+--------+
/ d0 -----+ D0 Q0 +----- D0
| d1 -----+ D1 Q1 +----- D1
| d2 -----+ D2 Q2 +----- D2
с порта < d3 -----+ D3 Q3 +----- D3
#7FFD | d4 -----+ D4 Q4 +----- D4
| d5 -----+ D5 Q5 +----- D5
| d6 -----+ D6 Q6 +----- D6
d7 -----+ D7 Q7 +----- D7
+---+ + +
/RD -----+ 1 +-------о ОС +
с дешифратора #7FFD -----+ + +5 <--+ G +
+---+ +--------+
5SSЛЛ1 1533UP22
Теперь, что где найти (у меня метровик на платке расширения):
Порт собран на 1533UP35, на нее бутербродом напаивается
ИР22, у них соединяются следующие ноги: 3 с 2, 4 с 5, 7 с 6, 8
с 9, 13 с 12, 14 с 15, 17 с 16, 18 с 19, (третья нога UP35 со
второй ногой ИР22, третья нога ИР22 со второй ногой UP35 и т.д.)
11 нога ИР22 садится на +5 В, a на первую ногу ИР22 подается
сигнал с ЛЛ1. /RD это 21 нога Z80, a сигнал выборки #7FFD
берется с 11 ноги 555ЛAЗ (она там одна).
P.S. В SYSTEM TEST V4.22R от CompoWellcome, определение на
чтение порта реализовано довольно дико, если в TR-DOS`е по
адресу #ЗFFЗ находятся команды: IN A,(C):
RET
только тогда он будет проверять порт #7FFD через TR-DOS, с
использованием этих двух команд. В результате, если там этих
команд нет, ничего не определится.
На этом все, за сим прошу откланят(с)я...
Other articles: