ANTIC (układ)
From Atariki
Wersja z dnia 11:09, 6 wrz 2010 Krótki (Dyskusja | wkład) (→Zobacz też - +link do Wikipedii) ← Previous diff |
Wersja z dnia 22:13, 8 gru 2010 KMK (Dyskusja | wkład) (dr. meryt.) Next diff → |
||
Linia 1: | Linia 1: | ||
{{ImgFrm|http://atariki.krap.pl/images/5/5c/ANTIC-mini.gif|http://atariki.krap.pl/images/b/b8/ANTIC.jpg|ANTIC - procesor graficzny 8-bitowego Atari}} | {{ImgFrm|http://atariki.krap.pl/images/5/5c/ANTIC-mini.gif|http://atariki.krap.pl/images/b/b8/ANTIC.jpg|ANTIC - procesor graficzny 8-bitowego Atari}} | ||
- | '''Alpha-Numeric Television Interface Controller''' - układ scalony montowany w ośmiobitowych komputerach Atari, zaprojektowany w 1978 roku. Nowocześniejszym układem jest [[MARIA]] montowana w konsoli Atari [[7800]]. | + | '''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: | Numery katalogowe: | ||
Linia 16: | Linia 16: | ||
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 [[przerwania|przerwań]] [[NMI]] oraz obsługuje pióro świetlne. | 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 [[przerwania|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. [[ANTIC Display List|Display List]], który definiuje obraz wyświetlany przez komputer na monitorze. Na czas pobierania instrukcji tego programu, w celu zapobieżenia zakłóceniom obrazu, ANTIC wstrzymuje działanie centralnego procesora i przejmuje kontrolę nad magistralami systemu. | + | 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. [[ANTIC Display List|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 [[rejestry ANTIC-a#DMACTL|rejestr DMACTL $D400]]; może ona wynosić 0, 256, 320 lub 384 piksele trybu najwyższej rozdzielczości, 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. | + | Szerokość generowanego obrazu określa [[rejestry ANTIC-a#DMACTL|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 [[ANTIC Display List|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. | Wysokość obrazu definiowana jest przez [[ANTIC Display List|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 (są wyświetlane jak znaki "normalne") oraz lustrzane odbicie wszystkich znaków w pionie (CHRCTL). | + | 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: | Ponadto ANTIC umożliwia poprzez Display List ustawienie w każdej linii między innymi: | ||
* dowolnego sprzętowego trybu graficznego lub tekstowego | * dowolnego sprzętowego trybu graficznego lub tekstowego | ||
* wygenerowania pustej lub pustych linii obrazu (np. do przesunięcia części lub całości obrazu) | * wygenerowania pustej lub pustych linii obrazu (np. do przesunięcia części lub całości obrazu) | ||
- | * adresu od którego ma się zacząć generowanie danej linii | + | * od którego adresu ma się zacząć generowanie danej linii |
- | * sprzętowego scrolla pionowego lub poziomego | + | * sprzętowego [[scroll]]a pionowego lub poziomego |
* żądania przerwania [[DLI]] | * żądania przerwania [[DLI]] | ||
- | Pozwala to na kontrolę tworzenia obrazu z dokładnością co do linii skaningowej. Przy wykorzystaniu programistycznych sztuczek, 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. | + | 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ż== | ==Zobacz też== | ||
Linia 41: | Linia 43: | ||
* [http://www.beipmu.com/Antic_Timings.txt ANTIC Timings] by Bennet i jego [http://krap.pl/mirrorz/atari/www.beipmu.com/Antic_Timings.txt mirror]. | * [http://www.beipmu.com/Antic_Timings.txt ANTIC Timings] by Bennet i jego [http://krap.pl/mirrorz/atari/www.beipmu.com/Antic_Timings.txt mirror]. | ||
* [http://pl.wikipedia.org/wiki/ANTIC ANTIC] w Wikipedii | * [http://pl.wikipedia.org/wiki/ANTIC ANTIC] w Wikipedii | ||
+ | * [http://www.atariage.com/forums/topic/172580-antic-decap-and-reverse-engineering/ wątek] na forum [[AtariAge]] poświęcony analizie wewnętrznej struktury ANTIC-a | ||
[[Kategoria:Atari 8-bit]] | [[Kategoria:Atari 8-bit]] |
Wersja z dnia 22:13, 8 gru 2010
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