I MODI GRAFICI DEL C64

 

I vecchi e nuovi modi grafici: HiRes, MultiColor, MCI, FLI, IFLI, SH/SHI SHFLI/SHIFLI.

Modo HiRes
HiRes mode genera uno schermo con risoluzione di   320 x 200 pixels (punti)/16 colori.

Lo schermo è diviso in 40 x 25 celle attributo. Ogni cella attributo è grande 8 x 8 pixels.

In questo modo è possibile usare un massimo di 2 colori in ogni cella attributo; questo significa che è possibile impostare un colore unico di sfondo (background), ed uno per i pixels (foreground - colore pixels).

Questo modo non è molto popolare, è comunque possibile disegnarci delle belle immagini. Anche se gli artisti d'oggi utilizzano ancora questo modo, raramente usano più di 2 colori nell'immagine.

Segue un esempio di questo modo grafico, tratto da un vecchio gioco di più di 10 anni fa; ogni schermata grafica di questo gioco usa l'HiRes.


Esempio modo HiRes dal gioco "THE TRAPDOOR"

Modo MultiColor
MultiColor mode genera uno schermo con risoluzione di 160 x 200 pixels (punti)/16 colori. Un pixel rappresenta un'area grande 2 x 1 pixels (2 in larghezza e 1 in altezza - quindi più largo di un pixel hires).

Lo schermo è diviso in 40 x 25 celle attributo. Ogni cella attributo è grande 4 x 8 pixels.

In questo modo è possibile usare un massimo di 4 colori in ogni cella attributo; ogni pixel è definito da 2 bites che può assumere uno dei 4 colori differenti. Uno di questi colori è quello di sfondo (background).


Immagin. MultiColor di Ollie/PRIDE

Come osservabile nei demo-competitions moderni, pochi sono in grado di realizzare immagini di qualità in questo modo grafico.
Piuttosto vengono usati i modi MCI, FLI, IFLI, SHI, e SHIF (vedi più avanti). Questa affermazione sembra essere un pò demagogica, poichè nel demo-party X-97 la competizione relativa alla grafica è stata vinta da Bundy/WOW con 'unnimagine in MultiColor.

Comunque questa è un'eccezione che conferma la regola, il significato è che WOW attualmente è uno dei migliori artisti MultiColor ;-).

Modo MCI
Multi Color Interlace genera uno schermo con risoluzione di   320 x 200 pixels (punti).

Si possono usare 4 colori in ognuno dei 8 x 8 punti della cella attributo; questo modo permette anche di mixare due colori insieme, quindi in teoria ci sono a disposizione 4 colori a scelta tra 128.
Ma come è possibile?

Ecco la risposta:

Questo modo usa due immagini MultiColor (160 x 200/4 colori in 4 x 8 punti per cella), ognuna utilizzando i propri attributi (eccetto i colori presenti nella RAM-colore in $D800, i quali vengono condivisi da entrambe).


Immagine MCI di Tyrant/Therapy

Queste due immagini MultiColor vengono alternate ad ogni fotogramma, ma una delle 2 è spostata di un punto a lato; questo causa un visibile effetto di movimento da lato a lato. Fortunatamente, questo provoca anche una definizione migliore del modo MultiColor, e fornisce al disegnatore una più ampia palette di colori (dovuta alla sovrapposizione di colori diversi nello stesso punto).


Immagine MCI di Tyrant/Therapy

Modo FLI
Flexible Line Interpretation mode genera la stessa risoluzione del modo standard MultiColor - 160 x 200 pixels (punti)/16 colori.

Questa tecnica permette di usare più colori in una cella attributo; all'artista è permesso l'uso della palette completa di 16 colori in ognuno dei 4 x 8 pixel (punti) della cella attributo.


Immagine FLI  di Electric/Extend (Morbid Art I)

Questo viene realizzato grazie ad una speciale routine, la quale cambia i valori del registro VIC $D011 causando una errata linea di scansione (in alcuni testi chiamata Caroline) presente in ogni linea-raster dello schermo visibile.

Per chi non sa cos'è  "Caroline": Caroline appare ogni 8 linee-raster, quando il processore grafico (VIC) del C64 sta caricando il dato-grafica dalla memoria.

I bits 0-2 del registro $D011 (registro di controllo del VIC) vengono usati per lo scrolling verticale (spostamento di un pixel alla volta fino ad un max. di 8 punti in verticale). Una linea di scansione errata si presenta quando i bits 0-2 del registro $D011 sono uguali ai bits 0-2 del registro $D012 (registro di posizione del raster-cannone elettronico).

Nel modo FLI, Caroline si presenta ad ogni linea-raster dello schermo grafico. Questo significa che il VIC legge il dato di attributo grafico ad ogni linea-raster, non ogni 8 come normalmente farebbe. Quindi, quando viene cambiato il registro $D018 ad ogni linea-raster, in modo da cambiare l'attributo schermo, il gioco è fatto. E' possibile quindi utilizzare 4 colori in ognuno dei 8 x 1 pixels (punti).

Una versione speciale del modo FLI è l'HiRes FLI, che usa lo stesso principio nel modo HiRes. Questo permette ai grafici di usare 2 colori (colore background-sfondo e foreground-primo piano) in un'area grande 1 x 8 pixels (punti).

Modo IFLI
Interlaced Flexible Line Interpretation è la connessione di due grandi idee nella storia dei modi grafici del C64: il modo MultiColor Interlaced (MCI), e il modo Flexible Line Interpretation (FLI).


Immagine IFLI di Valsary/Samar/Lepsi

Interlaced FLI genera una risoluzione di 320 x 200 punti utilizzando 6 colori in ognuno dei 8 x 1 punti della cella attributo.

Questo modo permette anche di mixare due colori insieme, quindi in teoria ci sono a disposizione ben 128 colori.

In questo modo 2 immagini FLI si alternano ad ogni frame, ma una di esse è spostata di un punto a lato. uesto causa un effetto visibile di movimento laterale che, fortunatamente, migliora la resa grafica del modo FLI.

Super Hires FLI
Super Hires Interlace FLI


Super Hires FLI può generare immagini con una risoluzione di   96 x 167 pixels (punti)/16 colori.

Invece di una immagine HiRes, ne usa una HiresFLI come piano di bacgkround (sfondo).

E' possibile usare 4 differenti colori in un'area attributo di 1 x 8 pixels (punti).

2 colori sono gli stessi per l'intera immagine, il colore di background-sfondo, e di foreground-primo piano possono essere impostati separatamente per ogni cella attributo.

Super Hires Interlace Fli alterna due immagini  SHF per ogni frame (quadro). Sopra è presente un esempio che usa il modo SHIF, realizzato da Deekay/Crest.

NOTE:
1) Roland Toegel - Crossbow/Crest - è l'inventore dei modi  SHF e SHIF. Per quei pochi che non lo conoscono, lasciatemi dire che è un famoso programmatore ed un eccellente (SI!) grafico. E' presente nella scena fin dagli anni 80, e fin da allora produce (insieme a Goldrush) demos basati su idee eccezzionali. Egli è simpatico, amichevole, e sicuramente NON arrogantemente geloso verso le nuove facce della scena come alcune vecchie autodichiarate leggende (es. Timo). I suoi ultimi demos rilasciati ci mostrano tutte le sue qualità, spesso in contrasto con molti non-ottimi disegnatori dei demos per cloni-PC.
2) Se vuoi vedere diverse altre immagini dei modi SHF, SHIF, e di più; prova a fare una ricerca in rete del demo "Krestology"; fallo subito!

SuperHires - SH
SuperHires Interlace - SHI


S
uper Hires può teoricamente generare immagini con una risoluzione di  96 x 200 pixels(punti)/16 colori. Comunque la dimensione standard delle immagini è solamente di 96 x 167 pixels (punti).

Ogni cella attributo di 8 x 8 pixels può contenere 4 colori. 2 colori rimangono gli stessi nell'intera immagine, e 2 possono essere impostati localmente per ogni cella attributo. (il colore Background-sfondo, e quello di foreground-primo piano, come nel modo hires).

La realizzazione è piuttosto semplice:

L'immagine consiste in 2 piani di sprite in hires (alta risoluzione) multiplexati. Uno sprite Hires è grande 24 x 21 pixels (punti)/1 colore. Ogni piano è composto da 4 x 8 sprites hires dello stesso colore.

Due piani forniscono 2 colori, e l'immagine Hires giace tra i due piani fornendo altri 2 colori, che possono essere impostati separatamente per ognuno dei 8 x 8 pixels(punti) della cella attributo.



Esempi in SuperHiRes di Latifah & Dickens

Super Hires Interlace genera immagini grandi  96 x 200 pixels (punti).

Esso alterna 2 immagini SuperHires per ogni frame (fotogramma o quadro).

Come tutti i modi interlacciati, è possibile teoricamente usare una palette di 128 colori.

Adesso è il momento di vedere l'immagine d'esempio.

Per me è stato uno shock quando vidi quest'immagine per la prima volta.

Il disegno è stato realizzato da un'artista polacco ora inattivo: Latifah.

Credetemi o no, convertita nel modo non-interlacciato, l'immagine presenta 87 colori, ed in un'area attributo di 8 x 8 pixels ne usa 10.

Caroline = Termine coniato da "Dmagical" per la cosidetta LINEA DI SCANSIONE ERRATA. Io (DMAgic) e Wotnau abbiamo passato diverso tempo a discutere su questa linea decidendo di darle un nome più appropriato, non pensando che sia effettivamente una linea "cattiva" (bad), poichè viene in aiuto a noi e a molti altri utenti del C64 in diverse occasioni.

Si ringrazia DMAgic per le spiegazioni tecniche!

cbmsx.gif (1543 byte)