Doom
Doom

DOOM – jetzt auch auf der TRÅDFRI Lampe von IKEA spielbar

Der Bastler Nicola Wrachien von next-hack hat einen Doom Port auf Basis von GBADOOM für die IKEA Lampe TRÅDFRI entwickelt.

Der Bastler Nicola Wrachien von next-hack hatte sich kürzlich einer Herausforderung gestellt: Finde ein Gerät von der Stange mit einem schwachen Prozessor und wenig Speicher. Schaffe es, darauf DOOM zum Laufen zu bekommen. Als Ziel hatte sich dann eine IKEA TRÅDFRI herauskristallisiert. Damit wird dann auch die folgende Frage geklärt „Will it run DOOM“? Damit das Ganze nicht zu einfach wird, hatte er sich ein paar Regeln überlegt, die die Aufgabe etwas schwieriger macht. Einschränkungen steigern ja bekanntlich die Kreativität.

Die Regeln

  1. Finde ein handelsübliches Gerät, das nicht zum Spielen von DOOM oder zum Spielen im Allgemeinen gedacht ist.
  2. Das gewählte Gerät sollte einen Mikrocontroller haben, dessen Rechenleistung und/oder Speicher in Bezug auf die minimalen Anforderungen von DOOM recht begrenzt sind (DOOM läuft mit einer akzeptablen Framerate sogar auf einem 486@33MHz mit 4MB RAM). Moderne Digitalkameras, die einen Prozessor mit mehreren hundert MHz und mehr als zehn MB Arbeitsspeicher haben, müssen wir ausschließen.
  3. Wir müssen genau den Mikrocontroller verwenden, der in dem gewählten Gerät eingebaut ist. Ein Austausch ist nicht möglich. Es darf kein zusätzlicher Mikrocontroller eingebaut werden. Eine Übertaktung (z.B. auch wenn sie nur auf einige Peripheriegeräte oder Busse beschränkt ist) könnte jedoch möglich sein, vorausgesetzt wir benötigen keine Kühltechniken.
  4. Zusätzlicher Flash oder Speicherkarte darf eingebaut werden, um WAD-Dateien zu speichern.
  5. Ein Farbdisplay kann zusätzlich eingebaut werden, wenn das gewählte Standardgerät keines hat. Die Auflösung sollte hoch genug sein, um DOOM anständig spielen zu können. Zum Beispiel ist ein 32×16 Pixel Bildschirm zu klein, aber 128×64 könnten ausreichen. Andererseits würden zu große Auflösungen sicherlich einen sehr leistungsfähigen Mikrocontroller erfordern, was gegen Regel 2 verstößt.
  6. Das Eingabegerät kann alles Mögliche sein, also kann zusätzliche Elektronik für diesen Zweck eingebaut werden.
  7. Die Stromversorgung darf verändert werden, falls nötig.
  8. Wir wollen, dass die Engine so nah wie möglich am originalen (vanilla) Shareware DOOM ist. Die Möglichkeit, Episode 1 Map 1 von Shareware DOOM (E1M1) spielen zu können, ist das Minimalziel.
  9. Es gibt keine Anforderungen an Audio, aber Soundeffekte wären wirklich ein Plus. Falls implementiert, gibt es keine Einschränkungen beim Audio-Subsystem.
  10. Keine Notwendigkeit der Multiplayer-Unterstützung.
(Übersetzt aus dem Originalpost von next.hack)

Geräteauswahl

Die Wahl fiel auf die IKEA TRÅDFRI. In der Lampe wird ein RF-Microcontroller MGM210L von Silicon Labs verwendet. Dabei handelt es sich um einen leistungsstarken ARM Cortex M33 mit 80MHz Prozessortakt, 108kB RAM und 1MB internen Flash. Da die Shareware WAD-Datei von DOOM über 1MB groß ist, wurde der Speicher um einen externen SPI Speicher mit 8MB erweitert. Weiterhin hat Wrachien ein TFT-Display mit einer Auflösung von 160×128 Pixeln verbaut. Als Tastatur kommt eine selbst zusammengelötete Platine mit einigen Mikrotastern zum Einsatz. Die Stromversorgung erfolgt über vier 1,5V AA Batterien. Wichtig! Nach dem Umbau darf die Lampe nicht mehr am normalen Stromnetz betrieben werden!

DOOM Port GBADOOM als Basis

Nicolas entschied sich dazu den GBA Port GBADOOM von prBoom als Basis für seine Umsetzung zu verwenden, da die Hardwareanforderungen recht ähnlich waren. Wrachien betont, dass er die Z-Depth Beleuchtung wiederhergestellt hat. Die FPS liegen bei seinem Port zwischen 16 bis 35 Bildern pro Sekunde.

DOOM auf der TRÅDFRI in Aktion

https://www.youtube.com/watch?v=7ybybf4tJWw

Quellcode, Hackaday und noch mehr Hacks

Den Quellcode des DOOM Ports für den MGM210L von Silicon Labs hat Nicola Wrachien auf GitHub veröffentlicht. Neben dem sehr detaillierten Blogpost auf next-hack gibt es auch einen etwas weniger umfangreichen Artikel auf hackaday. Auf jeden Fall lesenswert für alle angehenden Hobby Hacker. Lust auf noch mehr DOOM? Es läuft ja bekanntlich überall. Auch auf einer Kodak DC20 von 1996 und der Canon PIXMA. Tarnkappe.info

Über

honeybee schreibt seit Ende 2020 für die Tarnkappe. Der Einstieg war ein Reverse Engineering Artikel über die Toniebox. Die Biene liebt es, Technik aller Art in ihre Bestandteile zu zerlegen. Schraubendreher und Lötkolben liegen immer in Reichweite. Themen wie Softwareentwicklung, Reverse Engineering, IT-Security und Hacking sind heiß geliebt.