Emular o clássico ZX Spectrum não é difícil atualmente. A comunidade documentou completamente este computador, e até podemos obter peças para reparar os sistemas originais, mas se o que nos interessa é apenas o ambiente, há várias opções disponíveis. No entanto, «atomic14» no YouTube decidiu explorar outra rota: executar a emulação usando um microcontrolador de baixo custo, como o ESP32, com um PCB personalizado que também funciona como teclado.
Um pouco de história: o ZX Spectrum estreou em 23 de abril de 1982, quatro meses antes do Commodore 64. Gerações inteiras de profissionais tiveram o Spectrum como "primeiro computador", e além de seus problemas originais (desde o teclado de borracha até a distribuição do hardware), ele acabou vendendo mais de cinco milhões de unidades.
Hoje, o ZX Spectrum não é apenas um sistema essencial para qualquer colecionador, mas também um ótimo projeto para aprimorar nossas habilidades em emulação e design. Foi assim que chegamos ao canal de «atomic14» (a quem lembramos por seu programador ESP32 minimalista e suas partidas de Doom com carregamento sem fio), que recentemente apresentou o ESP32-S3 ZX Spectrum.
Emulação de ZX Spectrum em um ESP32, com teclado integrado
Ainda restam alguns detalhes para resolver, e «atomic14» admite que cometeu alguns erros no design, mas não parece um protótipo de tão bem que se parece. A nova impressão de silkscreens colorido da PCBWay tem um ótimo nível de precisão, e com uma carcaça simples, este «computador» ficaria pronto para usar. Como o nome indica, o ESP32-S3 ZX Spectrum usa um microcontrolador ESP32-S3, que além de se conectar diretamente ao USB, também pode processar todos os sinais do teclado (são necessários 13 pinos táteis, e ele tem 14).
O cartão microSD guarda todos os jogos compatíveis com o ZX Spectrum (um é mais que suficiente), e a PCB inclui um circuito de carga para conectar uma bateria e tornar o aparelho portátil. O que vem a seguir? Três desafios: corrigir os problemas do teclado (algumas combinações de teclas não são registradas corretamente), oferecer uma opção de compatibilidade para conectar diferentes telas (talvez na forma de um breakout), e uma sugestão pessoal... incluir um interruptor para desligar o alto-falante. Os sons de um bit não são para qualquer um...