RETRODREAMSAMIGA & SPECTRUM
Menu

← Curiosità

Cultura e giochiVero o mito?

1982

Otto colori? Quindici, e a volte di più

Si dice che lo Spectrum avesse solo otto colori e che l'attribute clash fosse un difetto; erano quindici, e la macchia di colore fu una scelta per risparmiare memoria e denaro.

In partei colori base sono otto, ma lo Spectrum ne mostra quindici, e l'attribute clash fu una scelta di costo e di memoria, non un errore.

Lo schermo dello Spectrum ha 256 × 192 pixel e occupa appena 6.912 byte: 6.144 per i pixel e 768 per il colore [1]. Il colore non è assegnato pixel per pixel, ma a blocchi di 8 × 8, in una griglia di 32 × 24. Ogni blocco ha un byte di attributi con il colore dell'inchiostro, il colore della carta, un bit di luminosità e un bit di lampeggio, il FLASH [1].

Da qui viene la prima mezza verità. I colori base sono otto, ma ognuno ha una versione normale e una brillante, e siccome il nero brillante è uguale al nero, i colori diversi sono 15 [1]. Ciò che non si può fare è mescolare luminosità nello stesso blocco: i due colori di una cella condividono il bit di luminosità [1].

Un prezzo fisso: quattro volte il costo dei componenti.

E da qui viene anche il famoso attribute clash: quando un personaggio entra in un blocco che ha già un altro colore, uno dei due "attacca" il colore all'altro. I programmatori lo aggirarono in vari modi: un'area di gioco a due colori con il colore riservato alla cornice, come in Knight Lore (1984); personaggi enormi, disegnati da Don Priestley per occupare blocchi interi senza sembrare squadrati, come in Popeye e The Trap Door; oppure movimenti vincolati alla griglia di 8 × 8, come in Light Force [3]. Knight Tyme arrivava a lasciar scegliere al giocatore come voleva i colori [3].

Non fu una svista. Con così poca memoria per il colore, lo schema lasciava più spazio ai programmi, il che contava soprattutto nel modello da 16 KB [1]. E c'erano i soldi. Negli appunti delle interviste per i 40 anni dello Spectrum, pubblicati dall'Università RWTH di Aquisgrana, Richard Altwasser, che progettò l'hardware, spiega che si sarebbero potuti fare colore completo e sprite in hardware, ma che la regola di Clive era un prezzo fisso di quattro volte il costo dei componenti [2].

E lo Spectrum mostra più di quanto sembri. La ULA rilegge gli attributi a ogni riga di pixel, e un programma che li cambi in fretta, riga per riga, ottiene colore in blocchi di 8 × 1 o 8 × 2, il cosiddetto multicolor [1]. C'è poi il GigaScreen, che alterna due schermi 50 volte al secondo perché l'occhio mescoli i colori [1]. Il NIRVANA ENGINE, di Einar Saukas, offre grafica multicolor in blocchi di 8 × 2 su 30 colonne dello schermo, e può essere usato gratis, anche in giochi commerciali, a patto di dichiarare che è stato fatto con esso [4].

Fonti

  1. [1]ZX Spectrum graphic modes · Wikipedia
  2. [2]Sinclair ZX Spectrum at 40: Interviews with Crispin Sinclair, Richard Altwasser, and Steven Vickers · Media Computing Group, RWTH Aachen University, 2022
  3. [3]Attribute clash · Wikipedia
  4. [4]NIRVANA ENGINE: instruções (Einar Saukas) · Spectrum Computing (ZXDB)