Ego-Shooter-Urgestein Doom läuft mit Qt auf dem Mikrocontroller

Die Liste der Plattformen, auf denen der Ego-Shooter Doom läuft, bekommt mit Qt for MCUs einen weiteren Eintrag.

Lesezeit: 3 Min.
In Pocket speichern
vorlesen Druckansicht Kommentare lesen 43 Beiträge
Von
  • Rainald Menge-Sonnentag

Die Qt Company hat in einem Blogbeitrag den Ego-Shooter Doom auf Qt for MCUs vorgestellt. Damit reiht sich die Mikrocontroller-Plattform in die zahlreichen Projekte ein, die das Meme "Will it run Doom?" mit Ja beantworten können.

Im Netz finden sich unzählige Portierung des legendären Ego-Shooters, der nächstes Jahr seinen dreißigsten Geburtstag feiert und der in Deutschland nicht nur wegen seiner technisch beeindruckenden Umsetzung Bekanntheit erlangt hat: Hierzulande stand Doom bis 2011 auf dem Index, also im Amtsdeutsch auf der Liste für jugendgefährdende Medien der Bundesprüfstelle für jugendgefährdende Schriften (BPjS).

Zu den jüngeren Host-Systemen für Doom gehören das Datenvisualisierungs-Werkzeug Grafana und der Kleinstrechner Raspberry Pi Pico. Daneben gibt es Beschreibungen und Videos für Doom-Varianten auf einer Digitalkamera oder einem Taschenrechner. Die vielleicht skurrilsten Beispiele führen den Ego-Shooter mithilfe eines Schwangerschaftstests oder 200 Kartoffeln aus, wobei Ersterer nur als Display und Letztere lediglich als Energiequelle für den Taschenrechner mit Doom dienen.

Neben den Kartoffeln als Stromquelle für Doom zeigt das Video in der Intro den Schwangerschaftstest als Display.

Die von Qt gezeigte Umsetzung läuft auf einem Mikrocontroller MIMXRT1052DVL6B von NXP mit einem ARM Cortex-M7 und 512 KB RAM. Zur Anzeige dient ein Touchscreen mit einer Auflösung von 480x242 Pixeln. Er ersetzt auch die standardmäßig seinerzeit verwendeten Pfeiltasten zum Steuern – WASD hielt erst mit Quake Einzug.

Das Spiel erscheint nur in einem Teil des Bildschirms, und der Rest dient zum Steuern.

(Bild: Qt)

Auf dem für Doom genutzten Board finden sich zudem 256 Mbit SDRAM, 512 Mbit Hyper Flash und 64 Mbit QSPI Flash sowie ein Socket für eine SD-Karte. Die Umsetzung nutzt die Doom 1 Shareware, die auf dem Echtzeitbetriebssystem FreeRTOS läuft.

Qt for MCUs ist der kleine Bruder des auf Cross-Plattform ausgelegten Qt Frameworks. Die MCU-Variante dient zum Erstellen von Embedded-Anwendungen, die direkt auf dem Mikrocontroller laufen. Das Framework setzt auf Qt Quick zum Erstellen von Nutzerschnittstellen mit QML (Qt Modeling Language). Das Qt-Quick-Modul besitzt eine C++-API, um QML-Anwendungen mit C++-Code zu erweitern. Qt for MCUs enthält eine Reihe von Qt Quick Controls, also vorgefertigte Steuerelemente, die das Erstellen von Nutzerschnittstellen vereinfachen sollen.

Qt for MCUs verbindet Qt Quick mit einer Laufzeitumgebung oder einer zusätzlichen RTOS-Schicht.

(Bild: Qt)

Qt for MCUs, das seit Dezember 2019 allgemein verfügbar ist, lässt sich wahlweise direkt auf dem Prozessor oder auf einem Echtzeitbetriebssystem (Real-time Operating System, RTOS) betreiben. Für den Bare-Metal-Betrieb bringt Qt for MCUs eine eigene Laufzeitumgebung für Qt Quick mit, die sich in Kombination mit C++-Bibliotheken von Drittanbietern verwenden lässt.

Weitere Details und zusätzliche Doom-Varianten mit Qt finden sich im Qt-Blog.

(rme)