O canal de experimentos de jogos retrô do YouTube, Throaty Mumbo, surpreendeu a todos ao criar um ambiente de desktop semelhante ao Windows no clássico NES. Uma verdadeira proeza da engenharia retrô!
O coração do projeto é o cartucho EverDrive N8 Pro, que, com sua tecnologia FPGA, assume a pesada tarefa de emulação x86, transformando o NES em algo nunca antes visto.
O projeto NESPC está disponível no GitHub, incluindo o firmware para o RP2350, que permite a conexão de teclado, mouse e até funcionalidades MIDI via USB.
A jornada começou com ROMs da internet. Uma ROM chinesa do Windows 98 prometia muito, mas entregava apenas imagens estáticas de programas como Paint e Explorer, sem funcionalidade real.
Uma ROM de Linux (NES86) também foi testada, mas a lentidão a tornou inviável. Foi então que Throaty Mumbo decidiu criar sua própria solução, adaptada para o NES.
O microprocessador 6502 de 8 bits do NES era insuficiente para emular x86. A solução? O EverDrive N8 Pro, com seu poderoso FPGA Cyclone IV baseado em ARM.
Este cartucho se encaixa no slot do NES, atuando como uma “placa gráfica externa”, terceirizando tarefas para sua unidade de processamento mais robusta.
Para a emulação x86, Throaty Mumbo empregou o Next186, um núcleo de processador soft FPGA de código aberto que permite ao EverDrive executar instruções compatíveis com Intel 80186.
O NESPC foi inicialmente apresentado com uma interface de linha de comando, demonstrando a velocidade de navegação e execução de programas como uma animação de trem, surpreendentemente fluida.
Mas o grande feito foi a criação de um ambiente desktop completo, lembrando uma versão simplificada do Windows 98, mas com total funcionalidade. O menu Iniciar, por exemplo, oferecia um Campo Minado totalmente jogável!
Ícones de programas na interface permitem iniciar ROMs de jogos e acessar arquivos armazenados no cartucho EverDrive N8 Pro.
Controlar um desktop com o joystick do NES não era o ideal. Tentativas iniciais com um teclado Family BASIC não foram bem-sucedidas devido a problemas de compatibilidade e ergonomia.
A solução veio com o microcontrolador RP2350 e firmware personalizado, permitindo a conexão de dispositivos USB às portas do controle do NES. A entrada do mouse tornou-se suave, mas havia apenas uma porta USB.
Um teclado com hub USB integrado resolveu o problema, liberando o caminho para experimentações ainda mais audaciosas, como conectar um teclado MIDI e até tocar trilhas sonoras de Mario!
Para uma experiência de PC retrô completa, Throaty Mumbo integrou seu projeto anterior, o NESCD (um drive de CD impresso em 3D), permitindo reproduzir música de fundo enquanto se joga, sem perda de desempenho.
O NESCD foi aprimorado com um Seeed Studio XIAO ESP32, adicionando capacidade WiFi com velocidades de download de 4 MB/s e upload de 90 KB/s.
A navegação na internet, embora limitada, é possível através de um laptop como proxy para otimizar a visualização. Há também a opção de conexão direta, mas com uma experiência menos ideal.