Dit artikel beschrijft een technisch project waarbij de klassieke game DOOM (specifiek Episode 1 van Freedoom: Phase 1) is geport naar de FNIRSI DMC-100 digitale stroomtang.
Technische realisatie Het spel draait op een Artery AT32F415 microcontroller met zeer beperkte resources: 32 KB RAM en 99 KB flashgeheugen. Het maakt gebruik van het 320x240 scherm van het apparaat en de ingebouwde buzzer voor geluidseffecten. De spellogica is identiek aan de originele versie en wordt geverifieerd via een host-testsuite.
Installatie en vereisten Voor het bouwen van de firmware is een Linux-omgeving nodig met Clang 20, LLVM-tools en Python 3. De installatie gebeurt via een speciale 'upgrade-modus' (geactiveerd door specifieke knoppencombinaties), waarbij firmwarebestanden en game-data via USB-C naar de NOR-flash van de meter worden gekopieerd. Er wordt gewaarschuwd dat dit de garantie kan doen vervallen en dat de meetfuncties van de tang niet werken terwijl DOOM is geïnstalleerd.
Besturing en prestaties Het spel kan worden bediend met de fysieke knoppen van de meter (met de POWER-knop als shift-toets) of via een DJI RC-N1 drone-controller. De prestaties liggen gemiddeld tussen de 24 en 29 FPS. Vanwege de hardwarebeperkingen ontbreken muziek en de automap, en is de visuele detailgraad laag.
DOOM voor de FNIRSI DMC-100
Het project maakt het mogelijk om episode 1 van Freedoom: Phase 1 te spelen (E1M1 tot E1M9, inclusief startscherm, tussenpauzes, de finale, het menu en vier save-slots) op het 320x240 scherm van de meter, met geluidseffecten via de buzzer van het apparaat. Daarnaast kan een DJI RC-N1 drone-controller worden gebruikt als gamepad.
De spellogica is identiek aan de originele versie: de DEMO1 van Freedoom en gescripte runs door elke map van episode 1 spelen 'tic voor tic' hetzelfde als in een ongewijzigde doomgeneric, wat wordt geverifieerd door de host-testsuite.
Waarschuwing: Het installeren van DOOM vervangt de firmware van FNIRSI en kan de garantie van de meter ongeldig maken. Dit gebeurt op eigen risico. Terwijl DOOM is geïnstalleerd, kan de meter geen metingen uitvoeren: sluit geen testkabels aan en klem het apparaat niet om een geleider. De originele firmware kan later weer worden geïnstalleerd.
Wat heb je nodig?
Hardware
- Een FNIRSI DMC-100.
- Een USB-C kabel naar een computer.
Software voor het bouwen
- Besturingssysteem: Linux is gebruikt; elk systeem dat bestanden naar een USB-schijf kan kopiëren volstaat.
- Tools:
- GNU make 4.3 of nieuwer.
- Clang en ld.lld 20 of nieuwer (met clang 19 of ouder past de firmware niet).
- LLVM tools:
llvm-objcopy, llvm-nm, llvm-size en llvm-dwarfdump.
- Python 3 en Git.
- Voor de eerste build:
ca-certificates en netwerktoegang.
- Aanvullend:
- Voor
make zonder target en tests: clang's sanitizer runtime (compiler-rt, op Ubuntu libclang-rt-20-dev).
- Voor tests:
mtools en dosfstools (fsck.fat).
- Voor Renode-tests: Renode 1.17 en Pillow.
- Voor
tools/install.py, tools/restore.py en tests/device/usbtest.py (optioneel): udisks2.
Let op: Het pad van de checkout mag geen spaties bevatten. Optioneel: Een DJI RC-N1 controller.
Voor Ubuntu 24.04 kan bijna alles (behalve Renode) worden geïnstalleerd met: sudo apt install make clang-20 lld-20 llvm-20 libclang-rt-20-dev python3 git ca-certificates mtools dosfstools python3-pil export PATH=/usr/lib/llvm-20/bin:$PATH
Bouwen
Voer de volgende commando's uit:
git clone https://github.com/ArturBieniek4/DMC100-Doom.git
cd DMC100-Doom
make -j$(nproc) fw-package
Tijdens het bouwen worden twee zaken gedownload en gecontroleerd:
- De Freedoom 0.13.0 release (naar
dl/). Gebruik SET FREEDOOM_ZIP=/pad/naar/freedoom-0.13.0.zip om een eigen kopie te gebruiken.
doomgeneric (commit dcb7a8d) naar oracle/src/. De ORACLE_MIRROR variabele kan worden gebruikt voor een lokale kloon.
De converter (tools/conv) zet freedoom1.wad om in game-databestanden. De resultaten in build/device/ zijn:
| Bestand | Grootte | Bestemming |
DOOM.BIN | 99 KB | Firmware-schijf (wordt door bootloader geflasht naar microcontroller) |
DOOMCODE.DMC | 42 KB | Firmware-schijf (onderdelen die in RAM worden geladen wanneer nodig) |
DOOMX.DAT | 839 KB | Firmware-schijf (game-data die niet op de data-schijf past) |
DOOM.DAT | 2.960 KB | Data-schijf (de primaire game-data) |
DOOMRES.DAT | 4 KB | Firmware-schijf (alleen voor de Benchmark) |
DEMO2.LMP | 8 KB | Data-schijf (alleen voor de Benchmark, run door E1M1) |
DOOM.DAT en DOOMX.DAT zijn symbolische links naar build/packs/E1/; gebruik een tool die links volgt bij het kopiëren. DOOM.BIN en DOOMCODE.DMC moeten uit dezelfde build komen, en DOOM.DAT en DOOMX.DAT uit dezelfde conversie, anders weigert de firmware dit en verschijnt er een melding op het scherm.
Installatie
De meter heeft twee schijven op de NOR flash, beide bereikbaar via USB:
- Firmware-schijf (1 MB, label DMC-100): zichtbaar in upgrade-modus.
- Data-schijf (3 MB): waar de originele firmware afbeeldingen bewaart in een map genaamd
UI.
Upgrade-modus starten
- Koppel de USB-kabel los en schakel de meter uit.
- Houd
HOLD en SAVE ingedrukt en druk op POWER. De meter start nu in upgrade-modus.
- Sluit de USB-kabel aan.
Snelinstallatie met tools/install.py
Op Linux kan dit script (Python 3 en udisks2 vereist) de stappen automatiseren: python3 -I tools/install.py
Het script begeleidt je bij het flashen van de firmware en het kopiëren van de data, inclusief het maken van een back-up van de originele UI map.
Handmatige installatie
1. Firmware flashen
- Start de upgrade-modus.
- Verwijder alles op de firmware-schijf.
- Kopieer
DOOM.BIN, DOOMCODE.DMC en DOOMX.DAT naar de schijf. DOOM.BIN moet het enige .BIN bestand zijn.
- Druk op
SAVE op de meter. De bootloader flasht het bestand, verwijdert het van de schijf en schakelt de meter uit.
2. Game-data kopiëren
- Schakel de meter in. DOOM start en toont het installatiescherm omdat
DOOM.DAT nog ontbreekt.
- De originele afbeeldingen (map
UI, ca. 1.2 MB) moeten worden verwijderd om ruimte te maken.
- Druk op
SAVE: wist de data-schijf en opent deze via USB.
- Druk op
MODE: opent de data-schijf via USB zoals deze is (kopieer eerst de UI map naar je computer als back-up, en verwijder deze daarna op de meter).
- Kopieer
DOOM.DAT naar de data-schijf.
- Werp de schijf uit op de computer of druk op
SAVE op de meter. De meter herstart, controleert de data, maakt SAVE.DAT aan en start DOOM.
Problemen met game-data
Als er een probleem is met de data, meldt de meter dit:
- Probleem met
DOOM.DAT of data-schijf: SAVE opent de data-schijf via USB. MODE hernoemt de map UI naar UI_OFF, waardoor de bootloader de data-schijf in upgrade-modus toont.
DOOMX.DAT ontbreekt of is incorrect: Het scherm geeft aan hoe je de upgrade-modus voor de firmware-schijf start.
- Probleem met firmware-bestanden: Het scherm geeft aan hoe je de upgrade-modus start.
DOOMCODE.DMC ontbreekt of is incorrect: Een rood scherm meldt dit. Kopieer het bestand opnieuw in upgrade-modus.
Updaten
- Start de upgrade-modus.
- Verwijder de oude
DOOMCODE.DMC en DOOMX.DAT (en DOOMRES.DAT).
- Flash de nieuwe
DOOM.BIN samen met de nieuwe DOOMCODE.DMC en DOOMX.DAT.
- Schakel de meter in. Als er een nieuwe
DOOM.DAT nodig is, zal de meter dit melden. Druk op SAVE om de data-schijf via USB te openen, verwijder de oude DOOM.DAT en kopieer de nieuwe.
Let op: Save-slots worden gewist na een update.
Terugkeren naar de originele firmware
Je hebt de originele firmware .bin en de back-up van de UI afbeeldingen nodig. Op Linux kan tools/restore.py dit automatiseren: python3 -I tools/restore.py --firmware APPDMC-100V1.4_250524.bin
Handmatige methode:
- Verwijder
DOOM.DAT en SAVE.DAT op de data-schijf en kopieer de UI map terug.
- Flash de originele firmware (gepad met 0xFF tot 100.352 bytes) op de firmware-schijf, nadat je de DOOM-bestanden hebt verwijderd.
Bouwen met een eigen DOOM WAD
Freedoom is de standaard, maar je kunt ook een eigen DOOM1.WAD (shareware 1.9) gebruiken: make -j$(nproc) IWAD=/pad/naar/DOOM1.WAD BUILD=build/sw fw-package
De bestanden komen in build/sw/device/. Omdat shareware data vaak kleiner is, is er in dit geval geen DOOMX.DAT nodig.
Spelen
Houd de meter zijwaarts vast met de klem links en de knoppen rechts. De SAVE knop is de knop gelabeld SAVE/MENU.
| Knop | Alleen | Met POWER eerst ingedrukt |
| V-A | Vooruit | Volgende wapen |
| HOLD | Achteruit | Vorige wapen |
| MODE | Draai links | Strafe links |
| SAVE | Draai rechts | Strafe rechts |
| LIGHT | Vuren | Gebruiken (deuren, schakelaars) |
| POWER (tik) | Menu | - |
POWER dient als shift-toets. Ingedrukt voor 1 seconde opent/sluit het menu; tot 4 seconden opent de quit-prompt.
In het menu:
V-A: Omhoog
HOLD: Omlaag
LIGHT: Selecteren
POWER (tik): Menu sluiten
MODE en SAVE: Geluidsvolume wijzigen
Met een DJI RC-N1 controller: De sticks zorgen voor analoge beweging en draaien. De knoppen dienen voor vuren, gebruiken en het menu. De draaiknop wisselt van wapen.
Benchmark
Onder Options → Benchmark speelt de meter elke demo twee keer af (met gedempt geluid):
- Eén keer zonder rendering, waarbij de hash van de gamestate per tic wordt vergeleken met de host-engine.
- Eén keer met volledige rendering, waarbij de tijd wordt gemeten.
De resultaten worden opgeslagen in DOOMRES.DAT op de firmware-schijf.
Beperkingen
- Alleen singleplayer, episode 1 van Freedoom of een eigen WAD.
- Lage detailgraad (160 kolommen, elke kolom twee keer getekend).
- Geen automap, geen Nightmare-moeilijkheidsgraad.
- Geen muziek. Geluidseffecten zijn PC-speaker versies via de buzzer.
- Prestaties: Gemiddeld 29 FPS (bijv. E1M5 op Hurt Me Plenty). De zwaarste case (Freedoom DEMO1, E1M6) draait op gemiddeld 24 FPS bij 72 MHz NOR flash. De standaard build gebruikt 36 MHz voor stabiliteit, omdat 72 MHz incidenteel foutieve bytes kan lezen, wat het spel doet crashen.
Tests
make -j$(nproc) test voert de host-testsuite uit. Deze controleert onder andere:
- Lockstep gameplay tegenover de ongewijzigde doomgeneric.
- Pixel-voor-pixel vergelijking van het 3D-beeld en schermen.
- De data-converter en de data-laag op beschadigde/gefragmenteerde schijven.
- De overlay-packer, saves, USB-schijf en controller-driver.
Met Renode 1.17 kan make -j$(nproc) fw-renode-test de firmware booten in een emulatie.
Projectstructuur
| Pad | Inhoud |
engine/ | Aangepaste doomgeneric engine, map-data en ARM-platform stubs. |
port/ | Data-laag, strip-renderer, object store, overlay loader, USB-driver, fixed-point math, menu en input. |
platform/ | Drivers voor klok, knoppen, buzzer, LCD, NOR flash, USB en tekstschermen. |
controller/rc-n1/ | Driver voor DJI RC-N1, test-app RCPROBE en protocol-notities. |
tools/ | Installer, restore-script, data-converter, overlay-packer en font-generator. |
oracle/ | De referentie-engine voor tests (ongewijzigde doomgeneric). |
host/, tests/ | Host-build van de engine en de testsuite. |
mk/ | Build-regels. |
Licentie en Handelsmerken
De firmware en tools zijn gelicenseerd onder GPL-2.0-or-later. Game-data gebouwd vanuit Freedoom valt onder de BSD-licentie van Freedoom.
Dit project is niet gelieerd aan, onderschreven door of gesponsord door id Software, ZeniMax Media, Microsoft, FNIRSI, Artery Technology, DJI, Google of het Freedoom project. DOOM is een geregistreerde handelsmerk van id Software LLC.
DOOM voor de FNIRSI DMC-100
Het project maakt het mogelijk om episode 1 van Freedoom: Phase 1 te spelen (E1M1 tot E1M9, inclusief startscherm, tussenpauzes, de finale, het menu en vier save-slots) op het 320x240 scherm van de meter, met geluidseffecten via de buzzer van het apparaat. Daarnaast kan een DJI RC-N1 drone-controller worden gebruikt als gamepad.
De spellogica is identiek aan de originele versie: de DEMO1 van Freedoom en gescripte runs door elke map van episode 1 spelen 'tic voor tic' hetzelfde als in een ongewijzigde doomgeneric, wat wordt geverifieerd door de host-testsuite.
Waarschuwing: Het installeren van DOOM vervangt de firmware van FNIRSI en kan de garantie van de meter ongeldig maken. Dit gebeurt op eigen risico. Terwijl DOOM is geïnstalleerd, kan de meter geen metingen uitvoeren: sluit geen testkabels aan en klem het apparaat niet om een geleider. De originele firmware kan later weer worden geïnstalleerd.
Wat heb je nodig?
Hardware
- Een FNIRSI DMC-100.
- Een USB-C kabel naar een computer.
Software voor het bouwen
- Besturingssysteem: Linux is gebruikt; elk systeem dat bestanden naar een USB-schijf kan kopiëren volstaat.
- Tools:
- GNU make 4.3 of nieuwer.
- Clang en ld.lld 20 of nieuwer (met clang 19 of ouder past de firmware niet).
- LLVM tools:
llvm-objcopy, llvm-nm, llvm-size en llvm-dwarfdump.
- Python 3 en Git.
- Voor de eerste build:
ca-certificates en netwerktoegang.
- Aanvullend:
- Voor
make zonder target en tests: clang's sanitizer runtime (compiler-rt, op Ubuntu libclang-rt-20-dev).
- Voor tests:
mtools en dosfstools (fsck.fat).
- Voor Renode-tests: Renode 1.17 en Pillow.
- Voor
tools/install.py, tools/restore.py en tests/device/usbtest.py (optioneel): udisks2.
Let op: Het pad van de checkout mag geen spaties bevatten. Optioneel: Een DJI RC-N1 controller.
Voor Ubuntu 24.04 kan bijna alles (behalve Renode) worden geïnstalleerd met: sudo apt install make clang-20 lld-20 llvm-20 libclang-rt-20-dev python3 git ca-certificates mtools dosfstools python3-pil export PATH=/usr/lib/llvm-20/bin:$PATH
Bouwen
Voer de volgende commando's uit:
git clone https://github.com/ArturBieniek4/DMC100-Doom.git
cd DMC100-Doom
make -j$(nproc) fw-package
Tijdens het bouwen worden twee zaken gedownload en gecontroleerd:
- De Freedoom 0.13.0 release (naar
dl/). Gebruik SET FREEDOOM_ZIP=/pad/naar/freedoom-0.13.0.zip om een eigen kopie te gebruiken.
doomgeneric (commit dcb7a8d) naar oracle/src/. De ORACLE_MIRROR variabele kan worden gebruikt voor een lokale kloon.
De converter (tools/conv) zet freedoom1.wad om in game-databestanden. De resultaten in build/device/ zijn:
| Bestand | Grootte | Bestemming |
DOOM.BIN | 99 KB | Firmware-schijf (wordt door bootloader geflasht naar microcontroller) |
DOOMCODE.DMC | 42 KB | Firmware-schijf (onderdelen die in RAM worden geladen wanneer nodig) |
DOOMX.DAT | 839 KB | Firmware-schijf (game-data die niet op de data-schijf past) |
DOOM.DAT | 2.960 KB | Data-schijf (de primaire game-data) |
DOOMRES.DAT | 4 KB | Firmware-schijf (alleen voor de Benchmark) |
DEMO2.LMP | 8 KB | Data-schijf (alleen voor de Benchmark, run door E1M1) |
DOOM.DAT en DOOMX.DAT zijn symbolische links naar build/packs/E1/; gebruik een tool die links volgt bij het kopiëren. DOOM.BIN en DOOMCODE.DMC moeten uit dezelfde build komen, en DOOM.DAT en DOOMX.DAT uit dezelfde conversie, anders weigert de firmware dit en verschijnt er een melding op het scherm.
Installatie
De meter heeft twee schijven op de NOR flash, beide bereikbaar via USB:
- Firmware-schijf (1 MB, label DMC-100): zichtbaar in upgrade-modus.
- Data-schijf (3 MB): waar de originele firmware afbeeldingen bewaart in een map genaamd
UI.
Upgrade-modus starten
- Koppel de USB-kabel los en schakel de meter uit.
- Houd
HOLD en SAVE ingedrukt en druk op POWER. De meter start nu in upgrade-modus.
- Sluit de USB-kabel aan.
Snelinstallatie met tools/install.py
Op Linux kan dit script (Python 3 en udisks2 vereist) de stappen automatiseren: python3 -I tools/install.py
Het script begeleidt je bij het flashen van de firmware en het kopiëren van de data, inclusief het maken van een back-up van de originele UI map.
Handmatige installatie
1. Firmware flashen
- Start de upgrade-modus.
- Verwijder alles op de firmware-schijf.
- Kopieer
DOOM.BIN, DOOMCODE.DMC en DOOMX.DAT naar de schijf. DOOM.BIN moet het enige .BIN bestand zijn.
- Druk op
SAVE op de meter. De bootloader flasht het bestand, verwijdert het van de schijf en schakelt de meter uit.
2. Game-data kopiëren
- Schakel de meter in. DOOM start en toont het installatiescherm omdat
DOOM.DAT nog ontbreekt.
- De originele afbeeldingen (map
UI, ca. 1.2 MB) moeten worden verwijderd om ruimte te maken.
- Druk op
SAVE: wist de data-schijf en opent deze via USB.
- Druk op
MODE: opent de data-schijf via USB zoals deze is (kopieer eerst de UI map naar je computer als back-up, en verwijder deze daarna op de meter).
- Kopieer
DOOM.DAT naar de data-schijf.
- Werp de schijf uit op de computer of druk op
SAVE op de meter. De meter herstart, controleert de data, maakt SAVE.DAT aan en start DOOM.
Problemen met game-data
Als er een probleem is met de data, meldt de meter dit:
- Probleem met
DOOM.DAT of data-schijf: SAVE opent de data-schijf via USB. MODE hernoemt de map UI naar UI_OFF, waardoor de bootloader de data-schijf in upgrade-modus toont.
DOOMX.DAT ontbreekt of is incorrect: Het scherm geeft aan hoe je de upgrade-modus voor de firmware-schijf start.
- Probleem met firmware-bestanden: Het scherm geeft aan hoe je de upgrade-modus start.
DOOMCODE.DMC ontbreekt of is incorrect: Een rood scherm meldt dit. Kopieer het bestand opnieuw in upgrade-modus.
Updaten
- Start de upgrade-modus.
- Verwijder de oude
DOOMCODE.DMC en DOOMX.DAT (en DOOMRES.DAT).
- Flash de nieuwe
DOOM.BIN samen met de nieuwe DOOMCODE.DMC en DOOMX.DAT.
- Schakel de meter in. Als er een nieuwe
DOOM.DAT nodig is, zal de meter dit melden. Druk op SAVE om de data-schijf via USB te openen, verwijder de oude DOOM.DAT en kopieer de nieuwe.
Let op: Save-slots worden gewist na een update.
Terugkeren naar de originele firmware
Je hebt de originele firmware .bin en de back-up van de UI afbeeldingen nodig. Op Linux kan tools/restore.py dit automatiseren: python3 -I tools/restore.py --firmware APPDMC-100V1.4_250524.bin
Handmatige methode:
- Verwijder
DOOM.DAT en SAVE.DAT op de data-schijf en kopieer de UI map terug.
- Flash de originele firmware (gepad met 0xFF tot 100.352 bytes) op de firmware-schijf, nadat je de DOOM-bestanden hebt verwijderd.
Bouwen met een eigen DOOM WAD
Freedoom is de standaard, maar je kunt ook een eigen DOOM1.WAD (shareware 1.9) gebruiken: make -j$(nproc) IWAD=/pad/naar/DOOM1.WAD BUILD=build/sw fw-package
De bestanden komen in build/sw/device/. Omdat shareware data vaak kleiner is, is er in dit geval geen DOOMX.DAT nodig.
Spelen
Houd de meter zijwaarts vast met de klem links en de knoppen rechts. De SAVE knop is de knop gelabeld SAVE/MENU.
| Knop | Alleen | Met POWER eerst ingedrukt |
| V-A | Vooruit | Volgende wapen |
| HOLD | Achteruit | Vorige wapen |
| MODE | Draai links | Strafe links |
| SAVE | Draai rechts | Strafe rechts |
| LIGHT | Vuren | Gebruiken (deuren, schakelaars) |
| POWER (tik) | Menu | - |
POWER dient als shift-toets. Ingedrukt voor 1 seconde opent/sluit het menu; tot 4 seconden opent de quit-prompt.
In het menu:
V-A: Omhoog
HOLD: Omlaag
LIGHT: Selecteren
POWER (tik): Menu sluiten
MODE en SAVE: Geluidsvolume wijzigen
Met een DJI RC-N1 controller: De sticks zorgen voor analoge beweging en draaien. De knoppen dienen voor vuren, gebruiken en het menu. De draaiknop wisselt van wapen.
Benchmark
Onder Options → Benchmark speelt de meter elke demo twee keer af (met gedempt geluid):
- Eén keer zonder rendering, waarbij de hash van de gamestate per tic wordt vergeleken met de host-engine.
- Eén keer met volledige rendering, waarbij de tijd wordt gemeten.
De resultaten worden opgeslagen in DOOMRES.DAT op de firmware-schijf.
Beperkingen
- Alleen singleplayer, episode 1 van Freedoom of een eigen WAD.
- Lage detailgraad (160 kolommen, elke kolom twee keer getekend).
- Geen automap, geen Nightmare-moeilijkheidsgraad.
- Geen muziek. Geluidseffecten zijn PC-speaker versies via de buzzer.
- Prestaties: Gemiddeld 29 FPS (bijv. E1M5 op Hurt Me Plenty). De zwaarste case (Freedoom DEMO1, E1M6) draait op gemiddeld 24 FPS bij 72 MHz NOR flash. De standaard build gebruikt 36 MHz voor stabiliteit, omdat 72 MHz incidenteel foutieve bytes kan lezen, wat het spel doet crashen.
Tests
make -j$(nproc) test voert de host-testsuite uit. Deze controleert onder andere:
- Lockstep gameplay tegenover de ongewijzigde doomgeneric.
- Pixel-voor-pixel vergelijking van het 3D-beeld en schermen.
- De data-converter en de data-laag op beschadigde/gefragmenteerde schijven.
- De overlay-packer, saves, USB-schijf en controller-driver.
Met Renode 1.17 kan make -j$(nproc) fw-renode-test de firmware booten in een emulatie.
Projectstructuur
| Pad | Inhoud |
engine/ | Aangepaste doomgeneric engine, map-data en ARM-platform stubs. |
port/ | Data-laag, strip-renderer, object store, overlay loader, USB-driver, fixed-point math, menu en input. |
platform/ | Drivers voor klok, knoppen, buzzer, LCD, NOR flash, USB en tekstschermen. |
controller/rc-n1/ | Driver voor DJI RC-N1, test-app RCPROBE en protocol-notities. |
tools/ | Installer, restore-script, data-converter, overlay-packer en font-generator. |
oracle/ | De referentie-engine voor tests (ongewijzigde doomgeneric). |
host/, tests/ | Host-build van de engine en de testsuite. |
mk/ | Build-regels. |
Licentie en Handelsmerken
De firmware en tools zijn gelicenseerd onder GPL-2.0-or-later. Game-data gebouwd vanuit Freedoom valt onder de BSD-licentie van Freedoom.
Dit project is niet gelieerd aan, onderschreven door of gesponsord door id Software, ZeniMax Media, Microsoft, FNIRSI, Artery Technology, DJI, Google of het Freedoom project. DOOM is een geregistreerde handelsmerk van id Software LLC.