Altri articoli sul numero 84
 Articoli sullo stesso argomento

Sergio  La  Rosa ha richiesto informazioni sul funzionamento
delle  schede  grafiche per Amiga e sui loro limiti, perche'
prima  dell'acquisto vorrebbe comprendere quali sono i pregi
e   limiti   dovuti   alla   scheda  e  quali  sono  imposti
dall'architettura di Amiga.

La  principale differenza tra il modo di gestire il video di
una  scheda grafica e quello dei chip custom di Amiga e' che
la  scheda  grafica  e'  priva  di  meccanismi  di interrupt
collegati al generatore di raster, di conseguenza non esiste
il Copper e non e' possibile scrivere routine dipendenti dal
raggiungimento  di una certa posizione da parte del pennello
elettronico.

Nelle  schede  oggi  in  commercio  la memoria installata ha
l'identica   funzione   della   Chip   RAM   di   Amiga.  Ma
l'architettura   di   Amiga  la  fa  apparire  ad  indirizzi
corrispondenti  alla  Fast  RAM,  e  per  questo motivo puo'
essere  letta  o  scritta  esclusivamente  dalla CPU: i chip
custom   di  Amiga  non  la  possono  raggiungere.  Cio'  ha
implicazioni   negative   che  sarebbero  troppo  lunghe  da
dettagliare  in questa sede; purtroppo il limite puo' essere
superato  solo da motherboard di nuova concezione. Questo e'
dimostrato  anche dall'unico computer Amiga compatibile gia'
in  commercio (DraCo), che pur adottando una soluzione rozza
e   ampiamente   migliorabile   garantisce   prestazioni   e
compatibilita' piu' alte rispetto ai sistemi di schede video
per gli Amiga standard.

Per  ora ci basta sapere che dal punto di vista hardware una
scheda  video  appare  come  due  risorse  autoconfiguranti:
un'espansione di memoria Fast e un banco di registri di 64k.
Un  Amiga  espanso  deve  avere abbastanza risorse Zorro 2 o
Zorro  3  libere  per  accoglierle  entrambe,  altrimenti il
software di gestione non puo' funzionare.

Mancando  un  sistema di interrupt, il chip grafico contiene
opportuni   meccanismi  hardware  per  evitare  che  durante
l'aggiornamento  della memoria grafica appaiano disturbi sul
video;  nei  chip  piu'  limitati si tratta banalmente di un
blocco  all'accesso,  che  in alcune circostanze rallenta il
sistema  e causa errori durante il trasferimento di dati con
la porta seriale.

I  chip  grafici  possono  essere  realizzati  in molti modi
diversi,  ma  ultimamente  si usano di solito chip Super VGA
prodotti da societa' specializzate, ad esempio la S3. Questi
dispositivi  supportano  un  numero elevato di modi grafici,
che si distinguono per il modo in cui vengono interpretati i
dati  in memoria. Il software a corredo si limita a pilotare
quelli  piu'  adatti  alla  sua  logica di funzionamento. Di
solito  abbiamo  modi  "chunky  pixel"  a  256  colori, modi
diretti  a  32000  colori  e  65000  colori, e un modo "true
color"  senza  palette  a  16 milioni di colori. Non bisogna
confondere  la  selezione  del modo video con la risoluzione
che,  come  nei  chip  Amiga,  e'  impostata  separamente  e
riguarda solo il circuito generatore dei sincronismi.

Il modo a 16 milioni di colori e' il piu' semplice: i valori
a  8  bit  contenuti in byte adiacenti della memoria vengono
mandati  direttamente  ai tre convertitori D/A della scheda,
che  generano i colori rosso, verde e blu. Di conseguenza le
immagini   TIFF  e  IFF24  sono  visualizzate  senza  alcuna
distorsione,  superando  i  limiti  dell'HAM8.  Il numero 16
milioni  scaturisce  da  un  puro  computo  matematico delle
permutazioni di valori possibili con tre componenti ad 8 bit
ciascuna.  In  realta'  nessun monitor convenzionale li puo'
visualizzare  tutti, esattamente come l'altoparlantino di un
TV   portatile   non   puo'   riprodurre  perfettamente  una
registrazione  stereofonica  HI-FI.  Cio'  non  da' fastidio
perche',  a  differenza dell'orecchio, l'occhio umano non e'
esigente  e non prova fastidio osservando una riproduzione a
colori non precisamente naturali.

Nel  modo a 256 colori ogni byte della memoria video e' come
un  numero  di catalogo di un produttore di vernici; il chip
contiene  un circuito che per ogni byte in arrivo visualizza
un   pixel   di   colore   corrispondente.   La   tavola  di
corrispondenza  (palette) del chip SVGA e' programmabile, ma
con  un  limite:  ogni  componente fondamentale di colore e'
codificata   su   soli  6  bit,  per  cui  sono  disponibili
complessibamente  solo  262000  colori circa, e non la piena
gamma  di  16 milioni. Uno schermo Amiga a 256 colori quando
viene  promosso  sulla  scheda  video  avra'  quindi  colori
lievemente falsati.

I  modi  a 32000 e 65000 colori sono una variante del modo a
16  milioni,  malamente  arrangiata  per risparmiare memoria
conservando  compatibilita'  con  alcuni  standard del mondo
DOS.  Ogni pixel corrisponde a 2 byte consecutivi, i cui bit
vengono  suddivisi  in  modo  da pilotare direttamente i bit
piu' significativi dei convertitori RGB: 6 ( o 5) bit per il
rosso, 5 per il verde e 5 per il blu. La quantita' di colori
disponibile  e' quindi ancora minore rispetto al modo HAM8 e
a quelli a 256 colori, con forti distorsioni degli sfumati.

Tecnicamente,  il  modo  HAM8 e' un modo true color a 24 bit
con compressione; cioe' viene visualizzato come un 24 bit ma
occupa un terzo della memoria. A causa della compressione si
creano  dei  vincoli  tra  pixel  adiacenti  che riducono il
numero   di  colori  contemporaneamente  visualizzabili;  la
decompressione  e'  effettuata via hardware da Lisa. L'unico
altro  chip  grafico  che  implementa  il modo HAM8 e' stato
introdotto  un  anno fa da Hewlett Packard e viene usato sui
modelli  piu' piccoli delle stazioni grafiche RISC. Rispetto
al  chip  set AGA, contiene anche un circuito per codificare
in  HAM8  i  dati  RGB  a 24 bit di partenza e viceversa. In
questo   modo,   accedendo  alla  memoria  grafica  in  modo
opportuno,   il   software   ha  la  perfetta  illusione  di
interagire con una scheda a 24 bit.

L'utilizzo  di un chip SuperVGA nell'ambiente Amiga crea due
complicazioni.  La prima, che penalizza solo le prestazioni,
riguarda  l'ordine  con  cui  i  byte devono essere disposti
nella memoria video della scheda: e' molto diverso da quello
che  permetterebbe  l'ottimale sfruttamento del bus da parte
delle  CPU  Motorola  e obbliga all'esecuzione di complicate
routine  di  "assestamento" dei pixel in molti aggiornamenti
del video.

La  seconda  complicazione  riguarda l'implementazione degli
schermi  multipli. Anche i chip SuperVGA permettono di avere
schermi diversi parzialmente sovrapposti, ma le possibilita'
sono piu' limitate di quelle offerte dal chip set Amiga. Per
questo   motivo,   e   per   risolvere   altri  problemi  di
compatibilita',  il  software  di  gestione  (ad  esempio la
picasso.library)  deve  ricorrere  a trucchi dove non arriva
l'hardware.

La  soluzione  adottata di solito consiste nel gestire copie
di  riserva  del contenuto della memoria video in Chip RAM o
Fast  RAM,  che vengono copiate dalla CPU nella scheda video
quando  occorre.  E'  per  questo motivo che installando una
scheda video la quantita' di memoria Chip o Fast disponibile
cala vistosamente.

Ad  entrambi  i  problemi  si  puo' facilmente porre rimedio
apportando le opportune correzioni all'architettura di Amiga
dei  modelli  futuri;  in  particolare la tecnologia PowerPC
offre  soluzioni  gia'  pronte  e  sperimentate che lasciano
prevedere  miglioramenti  del sottosistama video anche di un
ordine  di  grandezza  rispetto alle attuali schede grafiche
convenzionali.


Main Previous Next