O mundo da computação é governado por duas arquiteturas: x86 e ARM. Ambas são arquiteturas "fechadas", porém existe uma alternativa gratuita e open source na forma de RISC-V, projetada pela Universidade da Califórnia em Berkeley. O youtuber CNLohr passou as últimas semanas trabalhando em um pequeno emulador RISC-V capaz de executar Linux, mas decidiu dar um passo extra… e inevitavelmente chegou ao Doom.

Criando um emulador RISC-V… para jogar Doom
Doom RISC-V

O canal ExplainingComputers fez um excelente trabalho ao apresentar as principais características da arquitetura RISC-V. A ideia de uma solução gratuita, aberta e flexível é muito atraente, mas suas aplicações mais importantes estão no espaço integrado, como o chip de segurança Titan M2 feito pelo Google, ou o famoso ESP32 da Espressif Systems.

Ao mesmo tempo, RISC-V é muito popular em ambientes de pesquisa. Aliás, muitos especialistas criaram emuladores RISC-V com vários níveis de complexidade, mas o youtuber CNLohr, a quem lembramos por seus mapas 3D de sinais WiFi, decidiu criar uma versão com a capacidade de executar Linux. Esse foi seu primeiro objetivo:

Doom em um emulador RISC-V

O vídeo original tem 20 minutos repletos de detalhes técnicos que definitivamente valem a pena rever, mas durante uma semana, a Web só fez uma pergunta: «Consegue rodar Doom?».

CNLohr explica que em seu estado original, a resposta é não. Doom precisa executar operações de escrita em um dispositivo gráfico de saída, coisa que o emulador não tem. No entanto, com uma série de ajustes adicionais, o marine voltou a estourar demônios. Seis anos atrás, CNLohr preparou um projeto especial chamado embeddedDoom, um build simples e compacto, altamente integrado, com requisitos de memória muito baixos. Sua estratégia foi fazer um port de embeddedDoom e apresentar os gráficos em toda a glória de 160x50 pixels usando códigos ANSI.

O resto é uma verdadeira caça a bugs, uma execução inicial, mais erros e, finalmente, Doom em um emulador RISC-V a 25 FPS. As melhorias de desempenho provavelmente virão com trabalho extra (e não é que Doom precise disso a essa altura)… mas essa é outra história.