ANTIC (układ)
From Atariki
Alpha-Numeric Television Interface Controller - układ scalony montowany w ośmiobitowych komputerach Atari, zaprojektowany w 1978 roku. Zawiera 8100 tranzystorów. Nowocześniejszym układem jest MARIA montowana w konsoli Atari 7800.
Numery katalogowe:
Układy "D" i "E" różnią się sposobem odświeżania pamięci RAM, "E" jest przystosowany do nowszych pamięci, z tego względu raczej nie da się zastąpić go układem "D", gdyż ten nie poradzi sobie z odświeżaniem RAM-u w nowszych komputerach (ale odwrotnie - jak najbardziej).
Charakterystyka
ANTIC jest układem działającym jednocześnie jako mikroprocesor oraz jako układ wejścia/wyjścia. Cechą szczególną jest brak sygnału Chip Select - dostępy CPU do rejestrów I/O zlokalizowanych na stronie $D4 ANTIC przechwytuje "nasłuchując" adresów pojawiających się na magistrali adresowej i stosownie do tego reagując.
ANTIC sam w sobie nie generuje obrazu, głównym jego zadaniem jest automatyczne sterowanie układem wizyjnym GTIA (lub CTIA w starszych egzemplarzach serii 400/800). Oprócz tego jest też odpowiedzialny za odświeżanie pamięci dynamicznych RAM, jest źródłem przerwań NMI oraz obsługuje pióro świetlne.
ANTIC jest jedynym chyba układem montowanym w komputerach ośmiobitowych, który zasługuje na miano mikroprocesora graficznego; dysponuje bowiem własnym, wykonywanym pięćdziesiąt razy na sekundę programem, tzw. Display List, który definiuje obraz wyświetlany przez komputer na monitorze. Na czas pobierania i wykonywania instrukcji tego programu, w celu zapobieżenia zakłóceniom obrazu, ANTIC wstrzymuje działanie centralnego procesora i przejmuje kontrolę nad magistralami systemu.
Szerokość generowanego obrazu określa rejestr DMACTL $D400; może ona wynosić 0, 256, 320 lub 384 piksele trybu najwyższej rozdzielczości (Graphics 8), czyli odpowiednio 0, 32, 40 lub 48 kolumn w trybie znakowym używanym przez systemowy edytor ekranowy. Ile to jest w rzeczywistości pikseli, decyduje wybrany tryb graficzny.
Wysokość obrazu definiowana jest przez Display List. Wysokość ta może wahać się w zakresie od zera do 240 linii skaningowych (pikseli) trybu najwyższej rozdzielczości, czyli do 30 wierszy trybu znakowego używanego przez systemowy edytor ekranowy. Powyżej tej wartości następuje zerwanie synchronizacji pionowej.
ANTIC generuje zarówno tryby tekstowe, jak i graficzne. Tryby tekstowe wymagają zdefiniowania zestawu 64 lub 128 znaków w matrycy 8x8 pikseli, druga połowa zestawu (z całości 256 znaków) jest automatycznie generowana jako powtórzenie pierwszej z odwróceniem kolorów (czarne znaki na białym tle). Układ sprzętowo realizuje takie funkcje jak np. tłumienie znaków w inverse video (stają się niewidoczne), odwracanie kolorów (znaki w inverse video są wyświetlane jak znaki "normalne") oraz lustrzane odbicie wszystkich znaków w pionie (CHRCTL).
Ponadto ANTIC umożliwia poprzez Display List ustawienie w każdej linii między innymi:
- dowolnego sprzętowego trybu graficznego lub tekstowego
- wygenerowania pustej lub pustych linii obrazu (np. do przesunięcia części lub całości obrazu)
- od którego adresu ma się zacząć generowanie danej linii
- sprzętowego scrolla pionowego lub poziomego
- żądania przerwania DLI
Pozwala to na kontrolę tworzenia obrazu z dokładnością co do linii skaningowej. Przy wykorzystaniu sztuczek programowych, kontrola obrazu może być jeszcze dokładniejsza.
ANTIC był pierwszym układem zastosowanym w komputerze domowym, który dawał tak zaawansowane możliwości.
Zobacz też
Odnośniki zewnętrzne
- ANTIC Data Sheet
- ANTIC Pinout Diagram
- ANTIC Timings by Bennet i jego mirror.
- ANTIC w Wikipedii
- wątek na forum AtariAge poświęcony analizie wewnętrznej struktury ANTIC-a