Bastler kriegt „Doom“ auf In-Ears zum Laufen

In-Ear-Kopfhörer sind die neueste Plattform, auf denen „Doom“ spielbar wird. Das Bild wird dabei als MJPEG-Stream ausgegeben.

vorlesen Druckansicht 9 Kommentare lesen
Webseite der Doombuds

(Bild: arin-s, doombuds.com)

Lesezeit: 3 Min.
close notice

This article is also available in English. It was translated with technical assistance and editorially reviewed before publication.

Die Liste der Gegenstände, auf denen „Doom“ nicht läuft, ist wieder etwas kürzer geworden: Ein Bastler mit dem Nutzernamen arin-s hat es geschafft, den klassischen Shooter auf kabellosen In-Ear-Kopfhörern zum Laufen zu bringen.

Für die Entwicklung der „Doombuds“ waren einige Tricks notwendig, wie arin-s auf der Webseite des Projekts schreibt. So musste unter anderem der Speicherhunger von „Doom“ verkleinert werden, damit das Spiel sowohl in den Flash-Speicher als auch in den knappen Arbeitsspeicher der Kopfhörer passt. Zudem hat arin-s die CPU der In-Ears übertaktet. Das Bild wird per MJPEG-Stream auf einen externen Rechner übertragen.

Bei den „Doombuds“ handelt es sich um die Pinebuds Pro, die wegen ihrer Open-Source-Firmware für das Projekt in Frage kamen. Auf den Earbuds läuft ein Port von „Doom“, der in der „Squashware“-Version nur 1,7 MByte an Speicherplatz belegt – die Original-Shareware ist 4,2 MByte groß und hätte die Flash-Kapazität der Earbuds knapp überschritten.

Den Arbeitsspeicher der Pinebuds Pro konnte arin-s auf 992 KByte bringen. Üblicherweise würde das für „Doom“ nicht reichen, weil das Spiel 4 MByte voraussetzt. Bastler arin-s hat es aber mit Optimierungen am „Doom“-Code geschafft, den RAM-Bedarf ausreichend zu reduzieren. Beispielsweise hat er Lookup-Tables (LUT) vordefiniert und unnötige Variablen entfernt.

Schließlich hat arin-s die in den Earbuds integrierte CPU auf 300 MHz übertaktet. Das reicht gerade so, um „Doom“ mit 18 Bildern pro Sekunde abzuspielen und die MJPEG-Enkodierung zu realisieren. Das komprimierte Bild wird über die serielle UART-Schnittstelle an einen externen Rechner geschickt. Die UART-Schnittstelle wird üblicherweise für das Debugging der Kopfhörer verwendet, eignet sich laut arin-s aber besser für diese Datenübertragung als Bluetooth. Sie nimmt zudem die Eingaben des Rechners entgegen, wodurch man den Doom-Guy steuern kann.

Videos by heise

arin-s hat sich entschieden, das Spiel per Twitch zu streamen. Auf seiner Webseite kann man sich in eine Warteliste eintragen, um per Remote Play selbst auf den gehackten In-Ears zu spielen. Wegen 18 FPS und Eingabeverzögerung ist das zumindest spielerisch ein ausbaufähiges Erlebnis. Wer möchte, kann den für die Pinebuds Pro optimierten „Doom“-Port und zugehörige Software auch herunterladen und mit den eigenen Pinebuds losspielen.

Die Portierung des 1993 erschienenen „Doom“ ist in der Bastler-Szene ein Running Gag: Programmierer und Hacker fordern sich selbst heraus, den Shooter auf möglichst vielen Plattformen und Gegenständen zum Laufen zu bringen. Dazu gehören Taschenrechner, Zahnbürsten und Rasenmäher, aber auch das Dateiformat PDF.

(dahe)