Television Interface Adaptor: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
IndyJrBot (discussione | contributi)
 
(31 versioni intermedie di 16 utenti non mostrate)
Riga 1:
Il '''Television Interface Adaptor''' ('''TIA''')<ref>{{cita pubblicazione |titolo=Manuale di servizio dell'Atari Video Computer System (modello 2600/2600A) |sezione= I. Theory of Operation |versione=Rev. 02 |editore=Atari, Inc. |data21/01/1983 |url=http://www.atariguide.com/pdfs/Atari_2600_VCS_Domestic_Field_Service_Manual.pdf |formato=PDF |accesso=25 dicembre 2010 |pp=1-4 }}</ref> era il [[microprocessore|chip]] che costituiva il cuore dell'[[Atari 2600]]. Si occupava della gestione della grafica e della generazione del segnale video, nonché della generazione degli effetti sonori e della gestione dei sistemi di input della console ([[joystick]] e [[paddle]]).<ref name=vcstia>{{cita web|url=http://www.ataricompendium.com/faq/vcs_tia/vcs_tia.html|titolo=ATARI VCS/2600 TIA CHIPS|autore=Scott Stilphen|editore=Atari Compendium|accesso=12/05/2020}}</ref><ref>{{cita web|url=http://atarihq.com/danb/tia.shtml|titolo=Atari TIA|editore=Atarihq.com|autore=Dan Boris|accesso=12/05/2020}}</ref> Fu progettato da [[Jay Miner]], divenuto in seguito famoso per aver progettato i chip [[CTIA e GTIA]] dei computer [[Atari 8 bit|Atari ad 8 bit]] nonché principalmente per essere stato uno dei progettisti dell'[[Amiga]].<ref name=vcstia/>
'''Television Interface Adapter''' ('''TIA''') è il chip che costituiva il cuore dell'[[Atari 2600]] e fu progettato da [[Jay Miner]], che diventerà famoso con l'[[Amiga]].
 
== Storia ==
Il chip TIA è responsabile alla visualizzazione dei disegni sulla televisione. A causa del costo della memoria a quei tempi, TIA non ha una memoria video specifica e generava solo una linea di video alla volta. Il video veniva creato grazie ai registri dati che controllavano il colore dello sfondo, un campo di gioco costituito da un piccolo numero di pixel, che si piazzava sempre nella metà inferiore dello schermo. Essa poteva essere duplicata o "specchiata" nell'altra metà. Il chip aveva anche 5 oggetti grafici:
Il chip era stato progettato per riprodurre i giochi [[Atari]] nella seconda metà degli [[anni 1970|anni settanta]] del [[XX secolo]] e presentava grosse limitazioni come la mancanza di un [[framebuffer]] e il fatto che potevano essere generati solo 3 pixel per clock della CPU. Programmare il TIA risultava perciò molto difficile e giochi più complessi di quelli per cui era nato il chip richiedevano un impegno maggiore da parte dei programmatori. L'essere un chip molto orientato al software aiutò però nella ricerca di soluzioni per aggirare le limitazioni hardware come, ad esempio, modificare il "campo di gioco" per creare motivi asimmetrici, cambiare lo sprite ed i colori del "campo di gioco" alla fine della riga video, riposizionare e modificare gli sprite dei giocatori per poter simulare la presenza di più sprite sullo schermo (come nel gioco ''[[Pac-Man (Atari 2600)|Pac-Man]]'').
 
Più tardi Atari migliorò il progetto del TIA per l'[[Atari 400]] e l'[[Atari 800]] con il [[CTIA e GTIA|Color Television Interface Adapter]]Adaptor e il [[George'sGraphic Television Interface AdapterAdaptor]].
*Due linee a 8 pixel che costituivano gli sprite del giocatore 1 e 2. Questi sprite potevano essere ristretti di un fattore di 2 o di 4.
*Una 'palla'
*Due 'missili'
 
== Caratteristiche tecniche ==
TIA aveva un sistema di rilevamento collisioni hardware per questi oggetti che veniva utilizzato durante i periodi VBLANK. I registri permettevano al programmatore di controllare la posizione dei diversi oggetti grafici e i loro colori.
[[File:Atari2600 NTSC palette.png|thumb|La [[tavolozza (informatica)|tavolozza]] dei colori dell'Atari 2600.]]
Il chip TIA era deputato alla generazione delle immagini da visualizzare sulla televisione. A causa del costo della memoria a quei tempi, il TIA non aveva una [[VRAM|memoria video]] dedicata specifica: a causa di questo limite la costruzione di immagini complesse doveva essere fatta aggiornando dinamicamente i registri interni del TIA per ogni singola linea dell'immagine. I registri controllavano: il colore dello sfondo; un oggetto fisso denominato ''playfield'', o "campo di gioco", composto da 20 [[bit]] sovrastanti il colore dello sfondo e che copriva metà di una riga video (con la possibilità di duplicarlo, o "rifletterlo" sull'altra metà); 5 oggetti mobili.
 
Questi ultimi erano:
TIA è anche responsabile alla gestione dei due canali sonori.
* Due lineerighe aorizzontali di 8 pixel che costituivano gli sprite deldei giocatore 1 e 2. Questi sprite, monocromatici, potevano essere ristretti di un fattore di 2 o di 4 e raddoppiati o triplicati.
* Una 'palla', una riga orizzontale larga 1, 2, 4 oppure 8 pixel dello stesso colore del campo di gioco.
* Due 'missili', ognuno dei quali composto da una singola riga orizzontale larga 1, 2, 4 oppure 8 pixel e dello stesso colore del giocatore corrispondente.
 
Era possibile cambiare il colore della "palla", del "campo di gioco", dello sfondo e di ognuno degli sprite dei giocatori e dei missile in qualsiasi punto della riga dello schermo: i cambiamenti, però, erano limitati dalla velocità alla quale la CPU riusciva a modificare i registri dei colori. In pratica, molti programmatori cambiavano i colori solo al cambio di riga. Gli oggetti creati potevano avere un'altezza superiore a quella massima ammessa dagli sprite (1 pixel) spostando e ridisegnando gli sprite stessi ad ogni riga generata: in questo modo si potevano disegnare personaggi ed oggetti altrimenti non possibili da creare usando motivi grafici composti da una sola riga di 8 pixel.<ref>{{cita web|url=http://www.spiceware.org/downloads/Atari%202600%20Homebrew.pdf|autore=Darrell Spice, Jr.|titolo=Atari 2600 Homebrew - 4K Cartridges|accesso=20 marzo 2015}}</ref>
Per ultimo, TIA poteva gestire l'input dei joystick.
 
Il TIA aveva un sistema di rilevamento hardware delle collisioni tra questi oggetti mediante l'uso di appositi registri che venivano letti durante i periodi di VBLANK. Anche la posizione dei diversi oggetti grafici ed i loro colori era controllata mediante l'uso di registri. La tavolozza era di 128 colori in modalità [[NTSC]] e [[PAL (televisione)|PAL]]-M (il segnale video usato in [[Brasile]]), che scendevano a 108 in modalità [[PAL (televisione)|PAL]] ed a soli 8 se il segnale era di tipo [[SÉCAM]].
Programmare per il TIA era molto difficile. C'erano enormi limitazioni per la mancanza del [[framebuffer]], e il fatto che potevano essere generati solo 3 pixel per clock della CPU rendeva la vita difficile a molti programmatori, ma apriva la strada a nuove sfide.
 
Il chip si occupava anche della gestione del sonoro: esso pilotava 2 canali audio, ognuno capace di 32 toni diversi e 16 possibili sequenze di bit, con un controllo del volume a 4 bit. Infine, gestiva l'input dei giocatori, potendo leggere fino a 4 [[paddle]] e 2 [[joystick]].<ref>{{cita web|url=http://www.hardwaresecrets.com/article/Inside-the-Atari-2600/1552/3|titolo=Inside the Atari 2600 - Hardware|editore=HardwareSecrets.com|accesso=17 marzo 2015|data=14 maggio 2012|autore=Gabriel Torres|urlmorto=sì|urlarchivio=https://web.archive.org/web/20150402153741/http://www.hardwaresecrets.com/article/Inside-the-Atari-2600/1552/3|dataarchivio=2 aprile 2015}}</ref><ref name=vcstia/>
Più tardi Atari migliorò il progetto del TIA per l'[[Atari 400]] e l'[[Atari 800]] con il [[Color Television Interface Adapter]] e il [[George's Television Interface Adapter]].
 
==Note==
<references/>
 
== Voci correlate ==
* [[de:Atari TIA2600]]
* [[Jay Miner]]
* [[CTIA e GTIA]]
 
== Collegamenti esterni ==
*[https://atariage.com/forums/topic/33233-sorted-table-of-contents ATARI 2600 Programming for Newbies]
*[http://atarihq.com/danb/tia.shtml Informazioni tecniche sul chip TIA]
 
{{Atari}}
[[Categoria:Microprocessori]]
{{Portale|informatica|scienza e tecnica}}
[[Categoria:famiglia Atari 8-bit]]
 
[[Categoria:Microprocessori per grafica]]
[[de:Atari TIA]]
[[Categoria:famigliaFamiglia Atari 8-bit]]
[[en:Television Interface Adaptor]]
[[es:Television Interface Adapter]]