Upraszczam sprawę i nie interesuje mnie odczyt z portów AYka. Ma tylko grać, na standardowych portach ZX Spectrum 128K.
1. port 0xFFFD (65533) -> wybor rejestru (BDIR=1)
2. port 0xBFFD (49149) -> zapis do wybranego rejestru (BC1=0)
Wynika, że aby zrobić dekoder wystarczy wykorzystać sygnały: WRn, IORQn, A1 i A14.
A1 ma byc 0, a A14 1 lub 0 w zaleznosci od tego do ktorego portu odwolujemy sie.
- dla BDIR byłoby: ~(WRn + IORQn + A1) albo ~WRn & ~IORQn & ~A1
- dla BC1: ~(IORQn + A14 + A1) albo ~IORQn & ~A14 & ~A1
W różnych innych interfejsach do głosu dochodzi także linia A15 i dopisanie jego stanu wysokiego od obu portów. Wtedy będzie podręcznikowo i zgodnie ze specyfikacja 128K. Moim zdaniem dodanie A15 ma tylko sens przy bankowaniu pamieci na portcie 0x1FFD, a w przypadku standardowego gumiaka czy Juniora mija sie z celem.
A teraz wracamy do Juniora i zadaniem jest wykorzystanie tylko tych sygnałół, które są dostępne na złączu na środku płyty. Nie ma tam rozdzielonego /WR i /IORQ. Jak nie kijem to pałką. Myślę, że cały dekoder można zamknąć w 4 bramkach NOR. Tyle teorii, na praktykę przyjdzie czas.
Aha, podziękowania dla trojacka i nietoperza, za cierpliwość w odpowiadaniu na moje pytania.