ANTIC (układ)
From Atariki
Wersja z dnia 04:15, 6 mar 2010 Tdc (Dyskusja | wkład) (→Charakterystyka - dodaję rejestr) ← Previous diff |
Aktualna wersja Krótki (Dyskusja | wkład) (Dokładniej o tym która rewizja gdzie była stosowana.) |
||
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 i w konsolach [[5200]], zaprojektowany w 1978 roku. Zawiera 8100 tranzystorów. Nowocześniejszym układem jest [[MARIA]] montowana w konsoli Atari [[7800]]. |
Numery katalogowe: | Numery katalogowe: | ||
+ | * '''C012296''' - NTSC ANTIC rev. D | ||
+ | * '''C014887''' - PAL ANTIC rev. A | ||
+ | * '''C021697''' - NTSC ANTIC rev. E | ||
+ | * '''C021698''' - PAL ANTIC rev. B | ||
- | * [[400/800]], ANTIC "D": '''C012296''' (NTSC), '''C014887''' (PAL) | + | Starsze rewizje NTSC D i PAL A, montowane w modelach [[400]], [[800]], [[1200XL]] i [[5200]], mają 7-bitowy licznik odświeżania pamięci RAM, więc są w stanie współpracować z kośćmi DRAM, w których komórki pamięci są ułożone w maks. 128 wierszy. Ponieważ w komputerach [[600XL]] i części [[800XL]] zastosowane zostały kości DRAM ułożone w 256 wierszy, na potrzeby tych modeli wprowadzono nowsze rewizje NTSC E i PAL B, które mają 8-bitowy licznik odświeżania. Nowe rewizje były także montowane we wszystkich egzemplarzach serii [[XE]]. |
- | * [[XL]]/[[XE]], ANTIC "E": '''C021697''' (NTSC), '''C021698''' (PAL) | + | |
- | 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). | + | Z tego względu układ w rewizji NTSC D lub PAL A zawsze można zastąpić nowszym NTSC E lub PAL B, ale w drugą stronę jest to możliwe tylko jeśli pozwalają na to zastosowane kości RAM. |
+ | |||
+ | Jak wspomina instrukcja serwisowa do Atari 600XL, pierwsze 24 000 egzemplarzy tego modelu w wersji PAL było omyłkowo wyposażone w PAL ANTIC rev. A, co powodowało problemy w funkcjonowaniu komputera. | ||
== Charakterystyka == | == Charakterystyka == | ||
Linia 14: | Linia 19: | ||
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 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 źrodł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: | ||
+ | * 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 [[scroll]]a 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ż== | ==Zobacz też== | ||
- | * [[rejestry ANTIC-a]]. | + | * [[Rejestry ANTIC-a]] |
+ | |||
+ | ==Bibliografia== | ||
+ | * [http://www.atarimania.com/documents/atari-engineering-information-system-item-master_list.pdf Atari Engineering Information System - Item Master List]. Atari, Inc. 13 stycznia 1984, s. 141, 162, 249[http://www.atarimania.com/documents-atari-400-800-xl-xe-internal-documents_4_8.html] | ||
+ | * [http://atariage.com/forums/topic/74377-master-chip-listing/?p=909032 LSI Test Master File Contents]. Atari, Inc. 28 czerwca 1984 | ||
+ | * [http://www.atarimuseum.com/ahs_archives/archives/pdf/computers/8bits/1400xlprodspecs-rev1a.pdf Atari 1400XL Home Computer Product Specification], CO61907 Rev. 1A. Atari, Inc. 7 czerwca 1983. s. 2-3, 8[http://www.atarimuseum.com/computers/8BITS/XL/1400xl/1400.html] | ||
+ | * [http://www.atarimuseum.com/ahs_archives/archives/pdf/computers/8bits/1450xlprodspecs-rev1a.pdf Atari 1450XL Home Computer Product Specification], CO61908 Rev. 1A. Atari, Inc. 6 czerwca 1983. s. 3, 9[http://www.atarimuseum.com/computers/8BITS/XL/1450xld/1450xld.html] | ||
+ | * [http://www.atarimania.com/documents/Atari_600XL_Computer_Field_Service_Manual_Rev_1.pdf Atari 600XL Computer Field Service Manual], FD100610 Rev. 1. Atari, Inc. Październik 1983, Tech Tip nr 20[http://www.atarimania.com/documents-atari-400-800-xl-xe-technical-documents_3_8.html] | ||
+ | |||
+ | ==Odnośniki zewnętrzne== | ||
* [http://krap.pl/mirrorz/atari/homepage.ntlworld.com/kryten_droid/Atari/800XL/atari_hw/antic.htm ANTIC Data Sheet] | * [http://krap.pl/mirrorz/atari/homepage.ntlworld.com/kryten_droid/Atari/800XL/atari_hw/antic.htm ANTIC Data Sheet] | ||
* [http://krap.pl/mirrorz/atari/www.xmission.com/~trevin/atari/antic_pinout.html ANTIC Pinout Diagram] | * [http://krap.pl/mirrorz/atari/www.xmission.com/~trevin/atari/antic_pinout.html ANTIC Pinout Diagram] | ||
* [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://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]] |
Aktualna wersja
Alpha-Numeric Television Interface Controller - układ scalony montowany w ośmiobitowych komputerach Atari i w konsolach 5200, zaprojektowany w 1978 roku. Zawiera 8100 tranzystorów. Nowocześniejszym układem jest MARIA montowana w konsoli Atari 7800.
Numery katalogowe:
- C012296 - NTSC ANTIC rev. D
- C014887 - PAL ANTIC rev. A
- C021697 - NTSC ANTIC rev. E
- C021698 - PAL ANTIC rev. B
Starsze rewizje NTSC D i PAL A, montowane w modelach 400, 800, 1200XL i 5200, mają 7-bitowy licznik odświeżania pamięci RAM, więc są w stanie współpracować z kośćmi DRAM, w których komórki pamięci są ułożone w maks. 128 wierszy. Ponieważ w komputerach 600XL i części 800XL zastosowane zostały kości DRAM ułożone w 256 wierszy, na potrzeby tych modeli wprowadzono nowsze rewizje NTSC E i PAL B, które mają 8-bitowy licznik odświeżania. Nowe rewizje były także montowane we wszystkich egzemplarzach serii XE.
Z tego względu układ w rewizji NTSC D lub PAL A zawsze można zastąpić nowszym NTSC E lub PAL B, ale w drugą stronę jest to możliwe tylko jeśli pozwalają na to zastosowane kości RAM.
Jak wspomina instrukcja serwisowa do Atari 600XL, pierwsze 24 000 egzemplarzy tego modelu w wersji PAL było omyłkowo wyposażone w PAL ANTIC rev. A, co powodowało problemy w funkcjonowaniu komputera.
Spis treści |
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ż
Bibliografia
- Atari Engineering Information System - Item Master List. Atari, Inc. 13 stycznia 1984, s. 141, 162, 249[1]
- LSI Test Master File Contents. Atari, Inc. 28 czerwca 1984
- Atari 1400XL Home Computer Product Specification, CO61907 Rev. 1A. Atari, Inc. 7 czerwca 1983. s. 2-3, 8[2]
- Atari 1450XL Home Computer Product Specification, CO61908 Rev. 1A. Atari, Inc. 6 czerwca 1983. s. 3, 9[3]
- Atari 600XL Computer Field Service Manual, FD100610 Rev. 1. Atari, Inc. Październik 1983, Tech Tip nr 20[4]
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