CTIA și GTIA

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
O versiune NTSC GTIA (cod C014805) fabricată de Oki Electric Industry pentru Atari 130XE .

Adaptorul de interfață de televiziune color [1] ( CTIA ) și succesorul său Adaptorul de interfață grafică de televiziune [1] ( GTIA ) sunt circuite integrate speciale utilizate în linia de computere Atari pe 8 biți și consola Atari 5200 . În aceste sisteme, un CTIA sau GTIA a lucrat alături de un ANTIC pentru a produce semnalul video. Cipurile au fost proiectate de George McLeod cu asistența tehnică a lui Steve Smith. [2] [3]

Deși în unele publicații au fost raportați uneori termeni diferiți, de exemplu „Adaptor” este adesea folosit în loc de „Adaptor” [4] [5] sau „Grafică” în loc de „Grafic” [3] , precum și uneori este indicat că „C” al CTIA înseamnă „Colleen / Candy” (numele de cod prin care erau cunoscute modelele Atari 800 și Atari 400) sau că „G” al GTIA înseamnă „George” (de la numele cipului maker), [3] [4] [5] [6] , adaptorul de interfață pentru televiziune color și adaptorul de interfață grafică pentru televiziune sunt denumirile oficiale ale cipurilor conform manualului de referință Atari. [1]

Originile jetoanelor

CTIA a fost proiectat în 1977 ca parte a unui chipset pentru a fi folosit în succesorul consolei Atari 2600 , [7] care utilizează un cip grafic cunoscut sub numele de adaptorul de interfață de televiziune (TIA). În ceea ce privește suportul grafic, proiectarea CTIA a urmat-o pe cea a TIA: a existat un nivel numit „teren de joacă” pentru grafica de fundal cu mai multe obiecte grafice mobile independente numite de Atari, „jucători” și „rachete”, care nu sunt nimic mai mult decât erau dacă nu sprite . Numărul de sprite ușor de gestionat a fost mărit în comparație cu ceea ce TIA putea face, trecând de la 2 „jucători” și 2 „rachete” la 4 fiecare. Un al cincilea sprite numit „minge” care era prezent în TIA a fost eliminat și unele dintre caracteristicile sale au fost adăugate la cele ale „rachetelor”. Cele 4 „rachete” ar putea fi combinate împreună pentru a forma un al 5-lea „jucător”.

În timpul dezvoltării noii console, în a doua jumătate a anului 1977, revoluția computerelor de acasă a început grație venirii pe piață în principal a 3 computere: Apple II , Commodore PET și Radio Shack TRS-80 . Noul președinte al lui Atari, Ray Kassar , care preluase de la fondatorul companiei Nolan Bushnell la începutul anului 1978, după ce acesta din urmă a vândut compania către Warner Communications , a decis să încerce să intre pe piața computerelor nou-născută. revizuit astfel încât să poată da naștere la 2 sisteme distincte: un sistem low-end pentru a înlocui consola 2600 și un sistem high-end care urmează să fie vândut, după modificările corespunzătoare, ca computer de acasă. [7] În ambele cazuri, hardware-ul a trebuit revizuit, deoarece grafic, pe lângă performanțe mai ridicate, a trebuit să poată gestiona și caractere grafice. În acest scop, a fost proiectat și construit un nou cip numit ANTIC, al cărui scop era să gestioneze un framebuffer grafic bitmap , pe care TIA nu a putut să îl gestioneze. Noul sistem prevedea că ANTIC a transmis informațiile grafice către CTIA, care va trece apoi la colorare și trimitere la circuit pentru generarea semnalului video. Această gestionare ar fi făcut sistemul grafic mai puțin complex de gestionat din punct de vedere al programării decât era pe Atari 2600.

Rezultatul a fost un sistem grafic mult mai puternic decât cel oferit de TIA: mult mai mulți sprite, un ecran cu o rezoluție care ar putea varia de la 40 la 320 pixeli pe orizontală și de la 24 la 192 pixeli pe verticală (comparativ cu 20 sau 40 pixeli de rezoluție . del TIA), 6 moduri text și 8 moduri grafice diferite, de la 2 la 4 culori pe linie, paletă de 128 culori. Un mod utilizat pe scară largă în jocuri a fost 4 culori 160 × 192 pixeli, cunoscut sub numele de „grafică 7.5”. [8]

Designul original al CTIA a inclus, de asemenea, suport pentru 3 moduri suplimentare diferite de gestionare a culorilor pentru modurile grafice, care permiteau 16 culori cu o rezoluție de 80 × 192 pixeli și un total de 56 de moduri diferite (originalul 14 plus 42 de variante de lor). Cu toate acestea, dezvoltarea acestei caracteristici a durat mai mult decât se aștepta și Atari a decis să producă 100.000 de cipuri CTIA fără ea între timp, deoarece riscul era să se regăsească la data de prezentare a noilor sisteme, cu mașinile care nu au fost încă asamblate. Cu toate acestea, designerii au reușit să completeze cipul la timp, care a fost numit GTIA. Dar Atari, pentru a nu arunca jetoanele deja produse, a decis să prezinte noile computere Atari 400 și Atari 800 la Consumer Electronics Show din 1979 cu CTIA și să înceapă să utilizeze GTIA când stocurile primelor au fost epuizate, ceea ce s-a întâmplat abia la sfârșitul anului 1981 . [4] [5] De atunci toate computerele Atari au montat GTIA, ceea ce a permis noile moduri de culoare. [5] [9]

Sistemul de operare al computerelor Atari a acceptat grafica cu 16 culori chiar de la început, [9] ceea ce a permis Atari să înlocuiască în mod transparent CTIA cu GTIA imediat ce acesta din urmă a început să fie folosit. Ulterior, Atari a autorizat serviciile de asistență pentru a efectua înlocuirea cipului complet gratuit dacă mașina era încă în garanție sau la un cost de 62,52 USD dacă nu mai era în garanție. [5] [6]

GTIA a fost montat pe toate computerele din seria Atari XL și din seria XE , precum și pe consola Atari 5200 .

Caracteristici

CTIA și GTIA sunt interfețe de televiziune: convertesc datele digitale care sosesc de la ANTIC în semnale analogice care pot fi reproduse pe un televizor. În plus, acestea efectuează următoarele operațiuni:

  • adaugă culoare semnalului;
  • desenați spritele în fundal;
  • verifică coliziuni între sprite și între sprite și fundal.

De asemenea, îndeplinesc câteva sarcini suplimentare:

  • citesc comenzile date de utilizator prin joystick (în cazul controlerelor Atari 5200, citesc doar starea butoanelor inferioare);
  • pot gestiona intrarea / ieșirea prin intermediul a 4 pini dedicați, utilizați în moduri diferite în funcție de sisteme:
    • în computerele Atari pe 8 biți, 3 pini sunt folosiți pentru a citi starea butoanelor consolei (Start / Selectare / Opțiune), în timp ce al patrulea pin controlează difuzorul integrat în modelele Atari 400/800, folosit pentru a genera clicurile tastatură. Pe modelele mai noi difuzorul a fost eliminat, dar GTIA a generat în continuare sunetul de clic, care a fost amestecat cu sunetul generat de sistem.
    • Pe Atari 5200 pinii sunt folosiți ca parte a sistemului de citire a butonului joystick-ului.

Spritii

CTIA și GTIA ar putea manipula sprite în hardware. Denumirea oficială pe care Atari a dat-o spritelor a fost „Player / Missile Graphics”, deoarece la momentul Atari 2600 acest sistem a fost conceput pentru a minimiza manipularea memoriei video atunci când se deplasează principalele obiecte ale jocului, „playerul”. și împușcăturile sale, „rachetele”.

Un sprite avea 8 pixeli lățime și 256 de linii înălțime și avea 2 culori: fundalul (transparent), indicat în sprite cu codul 0 și culoarea primară, indicată cu 1 . CTIA și GTIA au amestecat culoarea primară cu culoarea pixelului de bază în timp ce afișează pixelul din spatele culorii de fundal fără modificări. Un registru setează lățimea pixelilor spritelor la 1, 2 sau 4 cicluri ale semnalului color.

CTIA și GTIA au tratat sprite-urile ca modele pe 8 biți care se întindeau pe întreaga înălțime a ecranului, inclusiv marginea. Practic, un sprite este o dungă pe ecran. Acest mod de a privi spritele a fost util, deoarece acestea puteau fi folosite astfel drept margini sau separatoare colorate verticale pe ecran sau, când prioritatea valorilor pixelilor sprite este setată pentru a suprascrie pixelii subiacenți, pentru a adăuga noi culori. Deoarece ANTIC ar putea accesa direct memoria pentru a încărca valorile chiar linie cu linie, spriturile ar putea fi, de asemenea, folosite pentru a crea fonturi de caractere cu lățimea de 8 pixeli, dar, de asemenea, la înălțimea întregului ecran.

După cum sa menționat, jetoanele au gestionat 8 sprite: 4 "jucători", fiecare cu 8 pixeli lățime și 4 "rachete", fiecare cu 2 pixeli lățime. Fiecare „jucător” avea propriul registru de poziție orizontală. „Rachetele” aveau registre de poziție orizontale independente, dar au împărțit un registru de 8 biți pentru imaginea de umplere. Cele 4 „rachete” ar putea fi grupate pentru a crea un al 5-lea „jucător”, lățime de 8 pixeli. CTIA și GTIA aveau un registru de control al culorilor care permitea crearea unei a treia culori datorită suprapunerii pixelilor a 2 sprite, la costul reducerii numărului de sprite disponibile.

Mutarea sprite-urilor pe orizontală s-a făcut prin schimbarea valorii registrului corespunzător: în Atari BASIC se putea face folosind POKE . Pentru a muta spriturile pe verticală, programatorul a trebuit să recurgă la deplasarea blocurilor de date sprite în memorie: dacă această operațiune nu presupunea probleme speciale în utilizarea limbajului mașinii , deoarece spritele erau blocuri de 128 sau 256 de octeți (în funcție de rezoluție) și registrele procesorului MOS 6502 fiind de 8 biți, permiteau rotația datelor cu un ciclu simplu, în BASIC funcționarea era foarte lentă și programatorii trebuiau să recurgă la funcții scrise în limbajul mașinii inserate în interiorul codului în BASIC sau să utilizeze un șir mare pentru a conține datele sprite și a utiliza funcțiile de copiere șir furnizate de interpret.

Specificații GTIA

GTIA a fost compatibil înapoi cu CTIA, față de care a adăugat 3 noi moduri de gestionare a culorilor. În mod normal, pe CTIA culorile au fost de maximum 4 în modul grafic (și maxim 5 în modul textual), cu excepția cazului în care introduceți întreruperi ale listei de afișare care v-au permis să schimbați paletele la fiecare linie. Cele 3 noi moduri cromatice au adus teoretic posibilele moduri grafice la 56 (încă 3 pentru fiecare dintre cele 14 moduri de bază), dar în realitate nu au fost acceptate toate modurile de bază, ci doar cele cu rezoluție pe jumătate orizontală (160 pixeli), unde au fost utilizate 2 biți de culoare pentru fiecare pixel. Acestea au fost modurile de text 2 și 3 și modul grafic „F” al ANTIC: GTIA a dublat și mai mult numărul de biți pentru a gestiona culoarea, aducându-i la 4, dar înjumătățind totuși rezoluția, care de la 320 pixeli inițiali de a 2 culori a scăzut la 80 de pixeli în cea de 16 culori (rezoluția verticală de 192 pixeli a rămas neschimbată).

Noile moduri de gestionare a culorii au fost următoarele:

  • 16 nuanțe pentru fiecare nuanță dintre cele 16 disponibile în paleta Atari. Acest mod a fost accesibil prin Atari BASIC cu comanda GRAPHICS 9 ;
  • 16 nuanțe cu o singură nuanță / luminanță. Acest mod a fost accesibil prin Atari BASIC cu comanda GRAPHICS 11 ;
  • 9 culori pentru fiecare linie orizontală de orice nuanță și nuanță, alese din întreaga paletă de 128 de culori puse la dispoziție de computer. Rezultatul a fost obținut folosind toate cele 5 registre de culori de fundal și registrele tuturor spritelor. Acest mod a fost accesibil de la Atari BASIC cu comanda GRAPHICS 10 .

Modul grafic 9 al Atari BASIC a fost deosebit de demn de remarcat, deoarece a permis afișarea pe ecran a fotografiilor digitalizate cu 16 niveluri de gri care, în ciuda rezoluției reduse, au fost încă o realizare remarcabilă pentru acea vreme. În plus, cele 16 nuanțe au permis să aibă 256 de culori totale, în mod normal, cele 8 nuanțe pentru fiecare nuanță permitând CTIA să aibă doar 128 de culori diferite. Din păcate, această caracteristică a fost limitată la acest mod care, datorită rezoluției sale reduse, nu a fost folosit prea mult.

Modurile de text 2 și 3 ale ANTIC au fost capabile să afișeze aceeași varietate de culori ca modul grafic „F” atunci când se utilizează noile moduri de gestionare a culorilor oferite de GTIA. Cu toate acestea, a existat problema rezoluției orizontale reduse care a transformat fonturile normale cu 2 culori, lățime de 8 pixeli, în fonturi cu 16 culori, dar lățime de 16 biți. Din acest motiv, în afară de utilizarea în unele demonstrații, în modul textual, noul potențial de culoare al GTIA nu a fost folosit prea mult. Dacă s-ar folosi un set de caractere modificate cu caracterele construite bit cu bit, s-ar putea obține o definiție mai mare, la „rezoluție înaltă”, cu prețul, totuși, de a ocupa 8 kB de RAM în loc de harta de caractere normală, care ocupa 2 (1 kB pentru harta caracterelor și 1 kB pentru memoria RAM și „lista de afișare”).

GTIA a remediat, de asemenea, un bug CTIA care genera imagini modificate cu jumătate de semnal de culoare: efectul secundar al acestei corecții a fost acela că programele care exploatau acest defect în modurile monocrome de înaltă rezoluție și-au inversat culorile. [4]

Proprietarii de computere ar putea ști cu ce tip de cip au fost echipate mașinile lor dând BASIC comanda POKE 623,64 : dacă ecranul a devenit negru după comandă, mașina a fost echipată cu GTIA, dacă ecranul a rămas albastru, atunci a montat CTIA .

Versiuni

Acestea sunt codurile scrise pe cip care au identificat diferitele modele:

Atari a studiat integrarea ANTIC și GTIA într-un singur cip pentru a reduce costurile de producție ale consolelor 5200. Rezultatul a dus la crearea a 2 prototipuri, care însă nu au intrat niciodată în producție:

Gândac

Cele mai recente modele ale computerelor din seria Atari XE comercializate în țările din Europa de Est au fost fabricate în China : majoritatea aveau versiunea PAL GTIA cip care conținea o eroare care afectează afișarea culorilor pe modurile grafice 9 și mai departe.: Tonul culorilor era slab. manipulate rezultând dungi colorate pe ecran. Pentru a depăși această problemă a fost necesar să înlocuiți cipul GTIA. De asemenea, a fost realizat un circuit extern care a corectat problema fără a înlocui cipul.

Notă

  1. ^ a b c I. Teoria funcționării ( PDF ), în Atari Home Computer Field Service Manual - 400/800 , Atari, Inc., pp. 1-10. Adus 06-08-2012 .
  2. ^ Doug Neubauer, The Atari Years, de Doug Neubauer. Star Raiders, Solaris și Pokey , pe DougNeubauer.com , 20.06.2009 . Adus 06-08-2012 .
  3. ^ a b c Robin Alan Sherer, GTIA Joystick Painter - Instrument puternic de animație Atari , în ANTIC , vol. 7, nr. 2, iunie 1988, p. 37, ISSN 0113-1141. Adus 06-08-2012 .
  4. ^ a b c d Craig Patchett, Robin Sherer, Special Chips and ROM , în The Master Memory Map for Atari , Reston Publishing Company, 1984, ISBN 0-8359-4242-2 . Adus 06-08-2012 .
  5. ^ a b c d și Scott Mace, Atari trece în liniște la un cip grafic cu 16 culori , în InfoWorld , vol. 4, nr. 10, Popular Computing, 15.03.1982, pp. 3-4, ISSN 0199-6649. Adus 06-08-2012 .
  6. ^ A b (EN) Craig Chamberlain, Atari Video Graphics And The New GTIA (JPG), în Compute! , Nu. 26, Greensboro, Small System Services, iulie 1982, p. 124, ISSN 0194-357X ( WC ACNP ) .
  7. ^ a b Joe Decuir, 3 Generations of Game Machine Architecture , la atariarchives.org . Adus 07-08-2012 .
  8. ^ Carl Zahrt, Orson Scott Card, Screenbyter , în Compute! 'S Second Book of Atari Graphics , 1984.
  9. ^ a b David Small, Sandy Small, George Blank, Design Philosophy și GTIA Demos , în The Creative Atari , Creative Computing Press, mai 1983, ISBN 978-0-916688-34-9 . Adus 07-08-2012 .
  10. ^ Steve Switzer, Clinica Atari , în ANTIC , vol. 2, octombrie 1983, p. 103, ISSN 0113-1141. Adus 07-08-2012 .
  11. ^ a b c d și Dan Boris, Atari Chips , pe pagina principală a lui Dan B. Adus 07-08-2012 .
  12. ^ Curt Vendel, Atari 800XLCR , la AtariMuseum.com . Adus 07-08-2012 .
  13. ^ Curt Vendel, KERI Performance Tester , la AtariMuseum.com . Adus 07-08-2012 .

Bibliografie

Elemente conexe

linkuri externe

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT