Modder faz NES rodar desktop parecido com Windows usando cartucho EverDrive

O projeto NESPC, de Throaty Mumbo, usa um cartucho com FPGA para emular x86 e já tem teclado, mouse, MIDI, drive de CD e WiFi.

Por Redação Capital Gamer · · 3 min de leitura
Console NES ligado a monitor CRT Samsung exibindo um desktop estilo Windows, sobre mesa de escritório

Imagem: reprodução/Tom's Hardware

O modder Throaty Mumbo montou um ambiente de desktop parecido com o Windows num NES original, com um cartucho EverDrive N8 Pro cuidando da emulação x86. O projeto, chamado NESPC, foi detalhado pelo Tom's Hardware e está disponível no GitHub.

Ele começou testando ROMs achadas na internet. Uma ROM chinesa de Windows 98 trazia Paint e Windows Explorer, mas nada funcionava: eram só imagens aproximadas dos programas. O NES86, projeto de decrazyo que leva Linux ao console, ficou lento a ponto de ser inutilizável. Foi aí que Throaty Mumbo decidiu criar a própria ROM.

Como o NES roda x86

O processador 6502, de 8 bits, é lento demais para emular x86. A saída foi o EverDrive N8 Pro, cartucho com um FPGA Cyclone IV bem mais potente, que entra no slot do console e funciona de modo parecido com uma placa de vídeo externa, recebendo tarefas de outra unidade de processamento. Para executar x86, ele usou o Next186, um soft core open source que faz o FPGA rodar instruções compatíveis com o Intel 80186.

Do terminal ao desktop

A primeira demonstração foi uma interface de linha de comando. O tty-tetris não funcionou bem na resolução baixa, mas uma animação de trem no terminal rodou com fluidez.

Depois veio o desktop, que lembra uma versão enxuta da ROM de Windows 98, só que funcional. Ele substitui o menu do EverDrive N8 Pro, tem um Minesweeper jogável no menu Iniciar e ícones que abrem ROMs de jogos e arquivos do armazenamento do cartucho.

Teclado, mouse e MIDI

Mover cursor e digitar com o controle do NES não rende uma boa experiência. Throaty Mumbo tentou adaptar um teclado Family BASIC, do Famicom, pelo slot de expansão, com uma breakout board e jumpers ligados a pinos específicos. Cada tecla gerava várias letras e símbolos, e o volume na parte de baixo impedia o NES de ficar apoiado reto na mesa.

Ele partiu então para um microcontrolador RP2350 com firmware próprio, que liga dispositivos USB às portas de controle. Funcionou melhor, com movimento suave do mouse, mas havia só uma porta USB e, portanto, teclado ou mouse. A solução foi um teclado com hub USB embutido. O firmware do RP2350 também está no GitHub.

A mesma entrada USB serviu para MIDI. Throaty Mumbo conectou um teclado de piano e tocou num DAW bem básico, incluindo trilhas de Mario em arquivos NSF (Nintendo Sound Format).

Drive de CD e internet

Para chegar mais perto de um PC retrô, ele incluiu o NESCD, drive de CD impresso em 3D de um projeto anterior. O módulo liga numa porta do EverDrive N8 Pro e no slot de expansão, e permite tocar música de fundo durante um jogo sem perda de desempenho.

Depois, o NESCD ganhou um Seeed Studio XIAO ESP32 para ter WiFi, com 4 MB/s de download e 90 KB/s de upload. Como a capacidade de internet do console é limitada, o NES usa o laptop de Throaty Mumbo como proxy: o computador busca o conteúdo e o simplifica para caber na resolução baixa. Existe ainda a opção de conectar direto, que o Tom's Hardware descreve como uma experiência miserável.

Fonte: Tom's Hardware. Texto produzido com apoio de inteligência artificial a partir da fonte citada e revisado pela redação.

Leia também