DIP-48 · 8362R8 · desenho, não fotografia
Chips do AmigaCommodore (MOS / CSG)
1985
Denise / Lisa
O chip que transforma bits em cores: planos de imagem, sprites, paleta, HAM e até o rato.
O Denise junta os planos de bits da imagem e os sprites e converte-os nas cores que vão para o monitor, a partir de uma paleta de 4096. Deu ao Amiga o HAM, com as 4096 cores no ecrã em 1985, e evoluiu para o Super Denise do ECS e para o Lisa do AGA, com 256 cores de 16,8 milhões.
- 16
De Daphne a Denise
Nos protótipos da Lorraine, o chip de vídeo chamava-se Daphne. Já como Denise, saiu com o Amiga 1000 em 1985, com a referência 8362, num encapsulamento DIP de 48 pinos. É o chip mais próximo do monitor: tudo o que vês no ecrã de um Amiga OCS passou por ele.
Há uma divisão de trabalho que convém perceber. É o Agnus que sabe onde está a imagem na memória e a vai buscar. O Denise não conhece endereços nenhuns: recebe os dados já lidos, 16 píxeis de cada vez, mistura os planos de imagem com os sprites e escolhe a cor de cada píxel.
Como o Denise pinta o ecrã
O Amiga guarda a imagem em planos de bits (bitplanes). Imagina várias folhas transparentes, cada uma com um bit por píxel: com 1 plano há 2 cores, com 2 há 4, e com 5 planos há 32. O Denise lê o bit de cada folha para o mesmo píxel, junta-os num número e usa esse número para escolher um de 32 registos de cor. Cada registo guarda uma cor de 12 bits, 4 para o vermelho, 4 para o verde e 4 para o azul: 4096 cores possíveis.
Em baixa resolução cada píxel dura 140 nanossegundos e a imagem tem 320 píxeis de largura; em alta resolução, 70 nanossegundos e 640 píxeis, com até 16 cores. Na vertical são 200 linhas em NTSC e 256 em PAL, o dobro com entrelaçamento, à custa do tremer típico da época. Com overscan, a imagem pode ir quase até às bordas da televisão.
A vantagem dos planos é a economia: se um jogo só precisa de 8 cores, usa 3 planos e poupa memória e ciclos. O número de planos e a resolução podem até mudar a meio do ecrã, pela mão do Copper.
Truques de cor: EHB, HAM e dois cenários
Há um sexto plano reservado para modos especiais. No Extra Half-Brite (EHB), esse bit diz ao Denise para mostrar a cor a metade do brilho: 32 cores escolhidas mais as suas 32 versões escuras, 64 no total. Os jogos usavam-no para sombras e silhuetas.
O HAM (Hold-And-Modify) é o truque mais famoso. Cada píxel tem 6 bits: 2 dizem o que fazer e 4 são o valor. Ou o píxel usa uma das 16 cores da paleta, ou copia a cor do píxel à esquerda e muda só o vermelho, só o verde ou só o azul. Assim cabem as 4096 cores no ecrã ao mesmo tempo, algo inédito num computador doméstico em 1985. O preço são franjas de cor nas transições bruscas, porque mudar as três componentes pode levar três píxeis.
Por isso o HAM serviu sobretudo para fotografias digitalizadas, imagens 3D e programas de desenho, e muito pouco para jogos. Há ainda o modo de dois cenários (dual playfield): duas imagens de 8 cores cada, sobrepostas, que deslizam de forma independente, ideal para um fundo que se move mais devagar do que a frente.
Sprites, colisões e o rato
O Denise desenha 8 sprites por linha, cada um com 16 píxeis de largura e a altura que se quiser, com 3 cores mais o transparente. Dois sprites vizinhos podem juntar-se (attached) num só de 15 cores. Com a ajuda do Copper, o mesmo sprite pode ser reaproveitado mais abaixo no ecrã, e é assim que um jogo mostra muito mais do que 8. O ponteiro do rato do Workbench é o sprite 0.
O Denise também avisa quando as coisas se tocam. Um registo de colisões diz se um par de sprites tocou noutro, ou se um sprite tocou num plano de imagem, sem o processador ter de comparar píxel a píxel.
E, por estranho que pareça, é no chip de vídeo que estão os contadores do rato e do joystick. O rato envia impulsos quando se move, e o Denise conta-os em contadores de 8 bits por eixo, que o sistema vai lendo. Os botões ficam a cargo de outros chips.
Super Denise: o ECS
O ECS trouxe o Super Denise (8373), no A3000, no A500 Plus, no A600 e em alguns A2000, e pode ser montado como upgrade em A500 e A2000 que já tenham Agnus ECS. Acrescenta o SuperHires, com píxeis de 35 nanossegundos e 1280 de largura, e o Productivity, 640 × 480 sem entrelaçamento, para monitores multisync. O preço é a cor: nestes modos só há 4 cores, e no SuperHires cada componente tem só 2 bits, o que deixa uma paleta de 64.
Também trouxe funções para genlock e vídeo, como deixar a borda do ecrã transparente ou tornar uma cor transparente para a imagem de fora, e um registo de identificação, o DENISEID, que permite ao software saber que chip tem pela frente.
Lisa: o AGA
No AGA, o sucessor chama-se Lisa, num PLCC de 84 pinos, no A1200, no A4000 e no CD32. Recebe os dados em palavras de 32 bits e aceita até 8 planos: 256 cores no ecrã, em qualquer resolução, escolhidas numa paleta de 24 bits, 16,8 milhões de cores.
O HAM ganhou uma versão de 8 bits, o HAM8: 6 bits de valor e 2 de controlo, com 64 cores base, até 262 144 cores no ecrã. Os dois HAM passaram a funcionar em todas as resoluções, e não só em baixa como antes. Os sprites podem ter 16, 32 ou 64 píxeis de largura, aparecer na borda do ecrã e usar a sua própria zona da paleta, e o modo de dois cenários passou a 16 cores por cenário.
Faltou-lhe uma coisa: um modo chunky, com um byte por píxel, como a VGA dos PCs. Com jogos 3D ao estilo de Doom a aparecer, essa falta pesou, e foi por isso que o CD32 recebeu o Akiko.
Sabias que…
Segundo o próprio Jay Miner, o HAM quase não chegou ao Amiga. Nasceu quando o vídeo ainda era pensado em termos de televisão; ao passar para RGB, Miner pediu para o tirar. Disseram-lhe que isso deixava um buraco no meio do chip ou obrigava a três meses de redesenho. Ficou, e Miner admitiu mais tarde que se tinha enganado sobre a sua utilidade.
Alguns dos primeiros A1000 vendidos nos EUA não têm o modo Extra Half-Brite. Todos os Amigas seguintes têm.
O Denise original não tem registo de identificação: quem o lê recebe lixo. O Super Denise responde $FC e o Lisa $F8, e é assim que um programa sabe se está num Amiga OCS, ECS ou AGA.
A Boing Ball de 1984 quase não gasta processador: conta-se que a bola é desenhada uma vez e que a rotação é só a troca de cores na paleta, o chamado ciclo de cores.
Diz-se que Denise vem de "Display ENabler", uma sigla forçada para manter o nome feminino.
Contam-se cerca de uma dúzia de jogos que usaram o HAM durante o jogo, a começar pelo Pioneer Plague, de 1988.
O Denise não tem modo de texto. Cada letra do Workbench é desenhada em planos de bits, como qualquer imagem.
4096 cores para escolher
A Denise escolhe as cores de uma paleta de 4096 (4 bits de vermelho, de verde e de azul). No modo normal mostra até 32 ao mesmo tempo, 64 em Extra Half-Brite e as 4096 em HAM. A Lisa, do AGA, passou a uma paleta de 16,8 milhões.









