Projeto do sistema de vídeo do Super Nintendo
O interior de uma TV no começo dos anos 90
- O Super Nintendo gera saída de vídeo para um aparelho de TV padrão
- A TV recebe transmissão analógica de TV (NTSC) por uma antena, capta o sinal por meio de um tuner e exibe a imagem em um CRT (tubo de raios catódicos)
- A TV tem entrada auxiliar (AUX), e um aparelho de TV comum tem um conector composite (amarelo) para o sinal de vídeo e jacks dedicados (branco e vermelho) para o sinal de áudio estéreo
Como o CRT funciona
- O CRT opera a 15kHz e desenha cerca de 15.000 linhas por segundo
- Dentro do CRT há três canhões de elétrons, que sempre disparam elétrons para a frente, enquanto dois conjuntos de ímãs (vertical e horizontal) movem os elétrons para cima e para baixo e para a esquerda e para a direita
- O CRT não tem pixels, e os elétrons disparados pelos canhões sempre atingem a faixa de cor correta
Como controlar o CRT
- O CRT consome os sinais vermelho, verde e azul conectando-os a cada canhão de elétrons
- Os sinais de sincronização (HSYNC e VSYNC) são enviados por um único fio branco, chamado de sincronização composta (CSYNC)
- O CRT consome os sinais e tenta sincronizar os canhões de elétrons
Como o CRT desenha uma imagem
- O CRT desenha linhas da esquerda para a direita
- Quando recebe um evento HSYNC, ele volta para a esquerda da tela (X=0), e quando recebe um evento VSYNC, volta para o topo da tela (Y=0)
- O CRT desenha linhas enquanto se move para a direita e se inclina para baixo
O ponto-chave para entender o CRT
- O ponto central é entender que o canhão de elétrons se move para a direita da tela enquanto se inclina para baixo
- Se o VSYNC ocorrer ao mesmo tempo que o último HSYNC, a linha será sempre desenhada na mesma posição da tela
- Se o VSYNC ocorrer entre dois HSYNCs, as linhas serão desenhadas de forma cruzada
O que existe dentro de uma linha
- O CRT é digital ao desenhar as linhas, mas o conteúdo dentro de cada linha é analógico
- Os três canhões de elétrons são ligados diretamente aos fios RGB, e o sistema pode alterar livremente os sinais de cor
Como os sistemas da época lidavam com isso
- Os projetistas do SNES precisavam fornecer um sinal que o CRT conseguisse processar
- Era necessário seguir a especificação do sinal NTSC
- Proporção de tela 4:3, 262,5 linhas por campo, 341,25 pontos por linha e frequência de campo de 59,94Hz
Tornando-se um engenheiro da Nintendo
- Depois de entender como o CRT funciona, era preciso projetar o sistema de vídeo
- Foi criado um modo progressivo usando 262 linhas, com meta de taxa de quadros de 59,94Hz
- Para manter a proporção 4:3 com 350 pontos, seria necessário um dot clock de 5,496,498Hz
Resolvendo os problemas
- Não era possível usar um dot clock de 5,496,498Hz
- Era preciso usar um oscilador mestre para que os subsistemas trabalhassem a partir de divisores de frequência
- Também era necessário resolver o problema do overscan
Introduzindo o overscan
- Se o canhão de elétrons continuar disparando durante o reset horizontal ou vertical, surgem artefatos visíveis
- A TV usa overscan na área da tela, exibindo a imagem um pouco maior
- É necessário um intervalo para parar o canhão de elétrons após VSYNC e HSYNC
Escolha da resolução vertical no SNES
- Os sistemas concorrentes usavam 224 linhas visíveis
- A Nintendo dividiu as 262 linhas em 224 linhas visíveis e 38 linhas em branco
Escolha da resolução horizontal no SNES
- Usando 262 linhas e um master clock de 21.47727MHz, obteve-se um dot clock de 5.3693175MHz
- Com 341 pontos, chegou-se a uma taxa de quadros de 60.098Hz
Escolha do overscan horizontal no SNES
- Dos 341 pontos, 256 são visíveis e 85 são usados como HBLANK
- A proporção resultante é 8:7, gerando uma leve distorção
Modo de alta resolução: entrelaçamento
- A resolução vertical pode ser dobrada para 448 linhas
- Dobrar a resolução horizontal é mais difícil
PAL vs NTSC
- Na Europa, usa-se PAL em vez de NTSC, e na França usa-se SECAM
- O PAL usa taxa de quadros de 50Hz e 312,5 linhas por campo
- A versão PAL do SNES usa um master clock de 17.7344750MHz
- A resolução visível usa 224 linhas e 256 pontos, com taxa de quadros de 50.00697891Hz
Saída
- O SNES converte o sinal de CRT para composite e S-Video
- Pelo conector AV, ele fornece sinais puros de "RGB/CSync", sinal "Composite" e sinal S-Video
Resumo do GN⁺
- Este texto explica o processo de projeto do sistema de vídeo do Super Nintendo, abordando o funcionamento do CRT e a forma de processamento dos sinais
- Com base no entendimento do funcionamento do CRT e do processamento de sinais, ele explica as decisões de projeto do sistema de vídeo do SNES
- O texto é útil para quem se interessa por projeto de hardware de consoles de videogame e ajuda a entender a história e o funcionamento da tecnologia CRT
- Outros projetos com funcionalidades semelhantes incluem o Sega Genesis e o Neo-Geo AES
1 comentários
Comentários do Hacker News
224 é divisível por 16, então combina bem com tilemaps no pipeline de renderização gráfica
59,94Hz é um número estranho
A proporção de arte 8:7 pode ser vista em jogos de SFC/SNES portados para outras plataformas
Nos jogos europeus, o VSYNC acontece a 50.00697891Hz, então eles rodam 17% mais devagar do que o pretendido
Há um erro de digitação no TFA; a proporção 8:6 é igual a 4:3
A resolução de saída 256x224 (8:7) é expandida para uma imagem 4:3
Fico me perguntando se existe algum emulador que simule com precisão a aparência de um CRT
Eu esperava algum insight sobre como isso moldou designs de jogos icônicos