Il mondo informatico è dominato da due architetture: x86 e ARM. Entrambe sono architetture «chiuse», ma esiste un'alternativa gratuita e open source: RISC-V, progettata dall'Università della California a Berkeley. Lo youtuber CNLohr ha passato le ultime settimane a lavorare su un piccolo emulatore RISC-V in grado di eseguire Linux, ma ha deciso di fare un passo in più… e inevitabilmente è arrivato a Doom.

Creare un emulatore RISC-V… per giocare a Doom
Doom RISC-V

Il canale ExplainingComputers ha fatto un eccellente lavoro presentando le caratteristiche principali dell'architettura RISC-V. L'idea di una soluzione gratuita, aperta e flessibile è molto attraente, ma le sue applicazioni più importanti si trovano nello spazio integrato, come il chip di sicurezza Titan M2 realizzato da Google, o il famoso ESP32 di Espressif Systems.

Al tempo stesso, RISC-V è molto popolare negli ambienti di ricerca. In effetti, molti esperti hanno creato emulatori RISC-V con vari livelli di complessità, ma lo youtuber CNLohr, che ricordiamo per le sue mappe 3D dei segnali WiFi, ha deciso di creare una versione in grado di eseguire Linux. Quello è stato il suo primo obiettivo:

Doom su un emulatore RISC-V

Il video originale dura 20 minuti pieni di dettagli tecnici che vale assolutamente la pena rivedere, ma per una settimana il Web si è posto una sola domanda: «Può eseguire Doom?»

CNLohr spiega che nel suo stato originale, la risposta è no. Doom deve eseguire operazioni di scrittura su un dispositivo grafico di uscita, cosa che l'emulatore non ha. Tuttavia, con una serie di regolazioni aggiuntive, il marine ha ricominciato a far esplodere demoni. Sei anni fa, CNLohr ha preparato un progetto speciale chiamato embeddedDoom, una build semplice e compatta, altamente integrata e con requisiti di memoria molto bassi. La sua strategia si è basata sul porting di embeddedDoom e sulla presentazione della grafica in tutta la gloria di 160x50 pixel usando codici ANSI.

Il resto è una vera caccia ai bug, un'esecuzione iniziale, altri errori e, infine, Doom su un emulatore RISC-V a 25 FPS. I miglioramenti delle prestazioni arriveranno probabilmente con lavoro extra (e non è che Doom ne abbia troppo bisogno a questo punto)… ma questa è un'altra storia.