Blog do Edivaldo – Informações e Notícias sobre Linux

Doom foi portado para o Raspberry Pi RP2040

Se você é usuário do Raspberry Pi e curte o game DOOM, a boa notícia é que o Doom foi portado para o Raspberry Pi RP2040.

Doom é um popular videogame retrô que parece não sair de moda, mesmo após 30 anos de sua criação. Ele chegou até mesmo a ganhar um novo nível em apoio à Ucrânia.

O Doom foi portado para todos os tipos de plataformas, incluindo plataformas ESP32 com PSRAM de 4 MB, mas a porta “RP2040 doom” do Doom para o Raspberry Pi RP2040 é mais desafiadora, pois a RAM é limitada aos míseros 264 KB embutidos no microcontrolador e, para placas com apenas 2 MB de flash como o Raspberry Pi Pico, a capacidade de armazenamento se torna um problema.

Mas Graham Sanderson resolveu todos esses problemas comprimindo os dados, alterando o código para usar menos RAM, fazendo pleno uso dos dois núcleos Arm Cortex-M0+, ambos com overclock de 270 MHz, tudo para rodar o Doom (DOOM1.WAD) no Raspberry Pi Pico com resolução de 320 × 240 a 60 fps, e os WADs Ultimate Doom e DOOM II completos esperados para caber em placas Raspberry Pi RP2040 com flash SPI de 8 MB.

Doom foi portado para o Raspberry Pi RP2040

Doom foi portado para o Raspberry Pi RP2040
Doom foi portado para o Raspberry Pi RP2040

Sim. O Doom foi portado para o Raspberry Pi RP2040. O port foi baseada no Chocolate Doom, a emulação OPL2 para suporte de áudio foi derivada do projeto emu8950 e os efeitos sonoros foram compactados usando o codificador ADPCM-XQ IMA-ADPCM. Aqui está o que foi alcançado após seis meses de trabalho (tempo livre):

Você pode assistir aos resultados por si mesmo no vídeo abaixo.
YouTube video player
O código-fonte, instruções de compilação e firmware UFS podem ser encontrados no Github de Graham Sanderson.

Mas se você quiser entender como isso foi implementado, as técnicas de compressão utilizadas, otimizações do doom port, por exemplo, substituição de variáveis ​​de 32 bits por variáveis ​​de 16 bits para diminuir a memória usada e desafios gerais do projeto, você deve definitivamente leia a longa redação no Github.io.

Doom foi portado para o Raspberry Pi RP2040
Doom foi portado para o Raspberry Pi RP2040

[postlist tags=”stream” requesttype=”1″ number=”4″]

Sair da versão mobile