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.