1001Ferramentas
🖥️ Calculadoras

Calculadora charset TRS-80 modelo I binario

Calcula bytes da matriz 5x7 de cada caractere do TRS-80 modelo I dado o codigo ASCII apresentando os 7 bytes que formam a linha do caractere.

Charset do TRS-80 Model I: células de caractere 6×12 em grade 64×16

O TRS-80 Model I da Tandy/Radio Shack (1977), alimentado por um Z80 a 1,77 MHz com 4–16 KB de RAM, exibia o monitor como uma grade de 64×16 caracteres, onde cada caractere ocupava uma célula de 6×12 pixels — gerando um mosaico de 384×192 para "gráficos" via os 128 caracteres superiores de block-graphics. A faixa ASCII visível (32–127) mais 64 caracteres de gráfico chunky (128–191) ficavam em ROM mascarada; placas posteriores suportavam mod de CG-RAM (Character Generator RAM) para redefinir glyphs. Cada glyph: 8 bytes (as 8 linhas superiores das 12 usadas na ROM padrão), 1 bit por pixel, MSB à esquerda. Exemplo: 'A' (65) → linhas como 001100, 010010, 100001, 111111, 100001….

Aplicações

Retrocomputing e colecionadores de computadores vintage, exibições em museus de tecnologia, ensino de programação BASIC no TRS-80, patching de ROM com caracteres customizados, desenvolvimento de emuladores (trs80gp, sdltrs) e recriação do visual do final dos anos 70 para documentários e projetos de preservação de software.

Perguntas frequentes

Por que 6×12 e não 8×8? Os engenheiros da Tandy usaram grade 64×16 numa área visível de 384×192; dividindo dá células 6×12. A largura estreita de 6 px cabe mais texto por linha em monitores NTSC baratos.

O que é um block graphic? Os caracteres 128–191 são divididos em 2×3 pixels chunky cada (6 mini-células), permitindo que os comandos SET/RESET do BASIC plotem um canvas pseudo-gráfico de 128×48 sem hardware de bitmap.

Posso redefinir caracteres? No Model I de fábrica, não — o charset fica em ROM mascarada. O Model III e mods de CG-RAM posteriores (Programma 80, placas EPROM customizadas) permitem.

Por que a tela pisca? O circuito de vídeo do Model I compartilha o mesmo bus de RAM com a CPU; escrever na RAM de vídeo durante o scanline visível causa o "snow" ou flicker — workarounds esperam o vertical blank.

Ferramentas Relacionadas