Se você quiser apenas colocar algumas coisas na tela e pensar que pode realmente gostar de fiação, pode procurar um sistema gráfico de personagens do início dos anos 80. Se você conseguir acertar o tempo para o RS-170A, poderá até pressionar o sinal em uma entrada AV sobressalente em uma televisão de plasma de 50 "e voltar ao estilo retrô.
Alguns sistemas antigos usavam suas CPUs de 8 bits para gerar diretamente a tela, como o 6507 no Atari 2600 e o Z-80 no Timex Sinclair ZX-81. Você pode até fazer o mesmo tipo de coisa com microcontroladores modernos. A vantagem dessa maneira é que o hardware é simples, mas o software geralmente precisa estar em assembler, e é muito exato, e os resultados serão realmente impressionantes. Indiscutivelmente, os 2600 empregavam hardware extra, mas o TIA não tinha muito FIFO, e o 6502 (bem, 6507, na verdade) precisou despejar bytes em tempo real. Nesta abordagem, não há modo de vídeo padrão; todo aplicativo que usa vídeo deve ser intimamente combinado com as necessidades de manter os pixels fluindo.
Se você realmente deseja criar algo a partir do TTL, o próximo nível de complexidade seria a exibição de texto com base na ROM de caracteres. Isso permite que você coloque 256 caracteres em, por exemplo, 40 colunas e 25 posições de linha. Existem algumas maneiras de fazer isso.
Uma maneira - faça o que o modelo TRS80 que fiz. Um grupo de 74161 contadores com uma variedade de portas gerou o endereço de vídeo; três 74157s multiplexaram 12 bits do endereço da CPU com o endereço de vídeo, para alimentar um endereço com uma RAM estática de 2K. Os dados da RAM foram armazenados em buffer de volta para a CPU, mas alimentados sem buffer como endereço para a ROM do conjunto de caracteres. Não houve arbitragem de ônibus; se a CPU quisesse RAM de vídeo, o sistema de vídeo foi acionado, resultando no efeito 'neve'. O endereço de vídeo com mux foi combinado com algumas linhas da seção do contador para arredondar os endereços baixos; A saída de ROM de caracteres foi despejada em um registro de deslocamento 74166. A coisa toda saiu das divisões de um cristal de 14.31818MHz. Nessa abordagem, você teria exatamente um modo de vídeo completamente implementado em hardware, como 40x25 ou 64x16 etc.,
Outra maneira - desenterrar um chip chamado CRTC como um 6845. Eles combinaram a maior parte da lógica de contador e cola e forneceram ao processador uma interface de controle-registro para que você pudesse reprogramar parte do tempo. Sistemas como esse podem se tornar um pouco mais flexíveis, por exemplo, você pode obter 40x25 e 80x25 do mesmo hardware, sob controle de registro. Se você ficar esperto sobre as frequências do relógio, poderá permitir que sua CPU tenha acesso gratuito à RAM de vídeo durante metade do relógio e ao gerador de endereço de vídeo durante a outra metade do relógio, evitando assim a necessidade de arbitragem de barramento. e eliminando o efeito de neve.
Se você quiser usar modos gráficos reais, rapidamente descobrirá que fazer o seu próprio é problemático. O Apple 2 original conseguiu, mas esse sistema tinha algo como 110 chips MSI TTL, e mesmo assim havia algumas coisas engraçadas para lidar, como mapeamento não linear do buffer de vídeo para a tela e paletas de cores extremamente limitadas , para citar dois. E Woz é geralmente reconhecido como tendo uma pista. Quando o '2e' apareceu, a Apple já estava colocando o sistema de vídeo em um chip personalizado. O C-64, na mesma época, devia seus recursos gráficos a chips personalizados.
Então .. eu diria lá sobre duas maneiras de fazer isso. Uma maneira - leve seu balde de TTL antigo e aspire a uma tela de texto de uma cor de 80x25; por outro lado - arranje uma boa placa de avaliação de FPGA, faça tudo em VHDL e comece com uma exibição de texto de 80x25.