1001Ferramentas
📺 Calculadoras

Calculadora VRAM MSX1 VDP modos

Calcula uso de VRAM no MSX1 com chip VDP TMS9918 nos modos graphic 1, graphic 2 e text incluindo pattern table e sprite attribute table.

MSX1 VDP TMS9918A: 16 KB de VRAM divididos entre os modos de tela

O padrão MSX1 (1983) junta o processador Zilog Z80 ao VDP TMS9918A da Texas Instruments e lhe dá 16 KB de VRAM dedicada, separada da RAM principal da CPU. Essa VRAM é repartida em Pattern Generator Table, Name Table, Color Table e tabelas de sprites, e a forma do layout depende do modo de tela. O Modo 0 (Text) entrega 40×24 caracteres monocromáticos. O Modo 1 (Graphics 1) roda 32×24 tiles em que 8 grupos de tiles dividem um único par de cores. O Modo 2 (Graphics 2 / Bitmap) chega a 256×192, mas carrega o famoso attribute clash 8×1, em que cada linha de 8 pixels de um tile fica restrita a 2 cores. Já o Multicolor desenha blocos chunky de 4 cores em 64×48. Os sprites param em 32 na tela, e nunca mais de 4 por scanline.

Aplicações

Retrocomputing brasileiro em máquinas como Gradiente Expert e Sharp HotBit, homebrew de MSX feito no openMSX ou no blueMSX, ferramentas de ROM em cartucho, produções de demoscene, cálculo de orçamento de sprites e tiles em assembly Z80 e o ensino de quão apertado era o hardware gráfico do início dos anos 80.

Perguntas frequentes

Por que o modo bitmap é limitado a 2 cores por 8 pixels? A Color Table guarda 1 byte para cada 8 pixels horizontais, divididos em 4 bits de foreground e 4 de background. Sobra para cada faixa 8×1 espaço para só 2 das 15 cores da paleta, que é o clássico attribute clash do TMS9918A.

A VRAM do MSX1 é a mesma da RAM do Z80? Não. Você só chega na VRAM pelas portas do VDP (#98/#99); ela não é mapeada direto na memória, então toda leitura e escrita passa por I/O e fica mais lenta que a RAM principal.

MSX1 vs VDP do MSX2? O MSX2 passa a usar o V9938 com 64 KB ou 128 KB de VRAM, mais modos de tela (256 cores no Screen 8) e scrolling por hardware, embora no caminho perca os quirks visuais retrocompatíveis do TMS9918A.

Quantos sprites causam flicker? O hardware desenha no máximo 4 sprites por scanline e simplesmente descarta do 5º em diante. Para fingir que tem mais, os jogos embaralham a prioridade dos sprites a cada frame, e é isso que gera o flicker.

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.