Podłączenie DMA 8257 do 8085

Jan 08, 2025 0 Replies

Szukając przyczyny niedziałania karty CF w moim komputerku na 8085 znalazłem kilka innych błędów i zabrałem się za lekką optymalizację konstrukcji, która oryginalnie była w prosty sposób przeniesiona z wcześniejszego projektu na 8080.



Jedną z pierwszych zmian było wykorzystanie sygnału IOM do sterowania dekoderami adresów, tak więc teraz są one aktywne tylko wtedy, gdy faktycznie chcemy odwołać się do jakiejś pamięci/urządzenia I/O. Ułatwia to debugowanie i zmniejsza zakłócenia, bo linie CS nie zmieniają co chwilę swojego stanu.



Po wprowadzeniu tej zmiany zbędne stało się rozróżnienie na osobne linie IORD/MEMRD i IOWR/MEMWR w stylu 8080. Przy okazji zauważyłem, że logika która wykorzystywałem do ich generowania miała błąd, który w przyszłości uniemożliwiłby poprawną prace DMA - linie te nie były przełączane w stan wysokiej impedancji sygnałem AEN.



Skoro jednak rezygnuję z konwencji 8080 (MEMRD, MEMWR, IORD, IOWR) i chcę mieć w systemie jedynie zestaw trzech sygnałów typowych dla 8085 (RD, WR, IOM) pojawia się problem właśnie z DMA 8257, który zakłada obecność sygnałów z 8080. Z tego co widzę, większość konstrukcji korzystających z tego DMA na 8085 zwyczajnie odtwarza dodatkowe sygnały np. za pomocą 74138.



Istnieje może jakiś sprytny sposób, żeby łatwo zrobić to w drugą stronę? To znaczy wygenerować systemowe sygnały RD, RW i IOM z MEMRD, MEMWR, IORD, i IOWR wychodzących z 8257, ale jednocześnie pozostawiając możliwość pracy z IORD/IOWR jako wejściami, gdy chcemy zapisać coś do lub odczytać coś z rejestrów układu?


Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required