1001Ferramentas
🎨 Calculadoras

Calculadora attribute clash ZX Spectrum

Calcula quantas regioes 8x8 de attribute clash existem em uma tela ZX Spectrum de 256x192 pixels usadas pelo famoso problema de cor do hardware.

—

Attribute clash do ZX Spectrum

O Sinclair ZX Spectrum (1982) desenha um bitmap de 256×192 pixels, só que a cor mora num lugar bem mais grosseiro: uma grade de 32×24 blocos de atributos 8×8. Cada bloco tem direito a só 2 cores (INK + PAPER), além dos bits BRIGHT e FLASH, tiradas de uma paleta fixa de 15 cores (8 normais e 7 bright, com o preto compartilhado). Coloque dois objetos diferentes na mesma célula 8×8 e um deles vai ser recolorido, queira você ou não. É o famoso "attribute clash". A RAM de atributos dá 32×24 = 768 bytes, em $5800, e a do bitmap ocupa 6144 bytes em $4000. Os desenvolvedores mais habilidosos (Ultimate Play the Game) faziam sprites alinhados à grade de atributos para que o clash nunca aparecesse.

Aplicações

Desenvolvimento retrogaming para ZX Spectrum em toolchains modernas (z88dk, sjasmplus), produções de demoscene voltadas ao Spectrum 48K/128K, autores de emulador (Fuse, ZEsarUX, Spectaculator), conversão de pixel art de PNG para SCREEN$ e lançamentos homebrew em lugares como itch.io e World of Spectrum.

Perguntas frequentes

Por que só 2 cores por bloco? A memória era apertada em 1982. Guardar cor por pixel teria consumido 8× mais RAM (≈48 KB só de vídeo), enquanto a grade 32×24 mantém o framebuffer inteiro abaixo de 7 KB.

Como jogos evitam o clash? Alguns truques recorrentes. Sprites monocromáticos sobre fundo preto, hitbox de sprite encaixada nas células 8×8, o bit BRIGHT bancando uma terceira cor falsa, ou simplesmente assumir o clash e tratá-lo como estilo (caso de Knight Lore).

O que é SCREEN$? É o snapshot de 6912 bytes da RAM de vídeo (6144 do bitmap + 768 de atributos), em geral despejado em arquivos .SCR quando se quer compartilhar pixel art.

Ferramentas Relacionadas

Os resultados desta ferramenta têm caráter apenas informativo e educativo e não constituem aconselhamento profissional, financeiro, médico, jurídico, tributário ou contábil. Confirme decisões importantes com um profissional qualificado e fontes oficiais.