RETRODREAMSAMIGA & SPECTRUM
Menu

← Fun Facts

Cultura e jogosVerdade ou mito?

1982

Oito cores? Quinze, e às vezes mais

Diz-se que o Spectrum só tinha oito cores e que o attribute clash era um defeito; eram quinze, e a mancha de cor foi uma escolha para poupar memória e dinheiro.

Em parteas cores base são oito, mas o Spectrum mostra quinze, e o attribute clash foi uma escolha de custo e de memória, não um erro.

O ecrã do Spectrum tem 256 × 192 píxeis e ocupa apenas 6912 bytes: 6144 para os píxeis e 768 para a cor [1]. A cor não é dada píxel a píxel, mas a blocos de 8 × 8, numa grelha de 32 × 24. Cada bloco tem um byte de atributos com a cor da tinta, a cor do papel, um bit de brilho e um bit de intermitência, o FLASH [1].

Daí vem a primeira meia verdade. As cores base são oito, mas cada uma tem versão normal e brilhante, e como o preto brilhante é igual ao preto, ficam 15 cores diferentes [1]. O que não se pode é misturar brilhos no mesmo bloco: as duas cores de uma célula partilham o bit de brilho [1].

Um preço fixo: quatro vezes o custo dos componentes.

E daí vem também o famoso attribute clash: quando uma personagem entra num bloco que já tem outra cor, uma das duas "pega" a cor à outra. Os programadores contornaram-no de várias maneiras: uma área de jogo a duas cores com a cor guardada para a moldura, como em Knight Lore (1984); personagens enormes, desenhadas por Don Priestley para ocupar blocos inteiros sem parecerem quadradas, como em Popeye e The Trap Door; ou movimentos presos à grelha de 8 × 8, como em Light Force [3]. Knight Tyme chegava a deixar o jogador escolher como queria as cores [3].

Não foi um descuido. Com tão pouca memória para a cor, o esquema deixava mais espaço para os programas, o que contava sobretudo no modelo de 16 KB [1]. E havia o dinheiro. Nas notas das entrevistas dos 40 anos do Spectrum, publicadas pela Universidade RWTH de Aachen, Richard Altwasser, que desenhou o hardware, explicou que se podia ter feito cor completa e sprites em hardware, mas que a regra do Clive era um preço fixo de quatro vezes o custo dos componentes [2].

E o Spectrum mostra mais do que parece. A ULA volta a ler os atributos em cada linha de píxeis, e um programa que os troque à pressa, linha a linha, consegue cor em blocos de 8 × 1 ou 8 × 2, o chamado multicolor [1]. Há ainda o GigaScreen, que alterna dois ecrãs 50 vezes por segundo para o olho misturar as cores [1]. O NIRVANA ENGINE, de Einar Saukas, dá gráficos multicolor em blocos de 8 × 2 em 30 colunas do ecrã, e pode ser usado de graça, até em jogos comerciais, desde que se diga que foi feito com ele [4].

Fontes

  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)