Die Welt der Computer wird von zwei Architekturen beherrscht: x86 und ARM. Beide sind „geschlossene“ Architekturen, aber es gibt eine freie und Open-Source-Alternative in Form von RISC-V, das von der University of California in Berkeley entworfen wurde. Der YouTuber CNLohr hat in den letzten Wochen an einem kleinen RISC-V-Emulator gearbeitet, der Linux ausführen kann, aber er beschloss, noch einen Schritt weiter zu gehen … und landete unweigerlich bei Doom.
Der Kanal ExplainingComputers hat hervorragende Arbeit geleistet, um die Hauptmerkmale der RISC-V-Architektur vorzustellen.
Die Idee einer freien, offenen und flexiblen Lösung ist sehr attraktiv, aber ihre wichtigsten Anwendungen liegen im eingebetteten Bereich, wie der Sicherheitschip Titan M2 von Google oder der bekannte ESP32 von Espressif Systems. Gleichzeitig ist RISC-V in Forschungsumgebungen sehr beliebt. Tatsächlich haben viele Experten RISC-V-Emulatoren mit unterschiedlicher Komplexität erstellt, aber der YouTuber CNLohr, den wir für seine 3D-Karten von WLAN-Signalen kennen, beschloss, eine Version zu entwickeln, die Linux ausführen kann. Das war sein erstes Ziel:
Doom in einem RISC-V-Emulator
Das Originalvideo dauert 20 Minuten und ist voller technischer Details, die es definitiv wert sind, sich anzusehen, aber während einer Woche stellte das Web nur eine Frage: „Kann es Doom ausführen?“
CNLohr erklärt, dass die Antwort in seinem ursprünglichen Zustand Nein ist. Doom muss Schreiboperationen auf einem grafischen Ausgabegerät ausführen, die der Emulator nicht hat. Mit einer Reihe zusätzlicher Anpassungen begann der Marine jedoch wieder Dämonen zu vernichten. Vor sechs Jahren bereitete CNLohr ein spezielles Projekt namens embeddedDoom vor, einen einfachen und kompakten Build mit hoher Integration und sehr geringem Speicherbedarf. Seine Strategie bestand darin, einen Port von embeddedDoom durchzuführen und die Grafik in der ganzen Pracht von 160x50 Pixeln mit ANSI-Codes darzustellen.
Der Rest ist eine wahre Fehlersuche, eine erste Ausführung, weitere Fehler und schließlich Doom in einem RISC-V-Emulator mit 25 FPS. Leistungsverbesserungen kommen wahrscheinlich mit zusätzlicher Arbeit (und nicht, dass Doom in dieser Höhe zu viel braucht) ... aber das ist eine andere Geschichte.