Getting Doom to run on things that were never meant to run Doom is something of a cottage industry among a die-hard subset of PC hackers and coders. Your motherboard’s BIOS (opens in new tab), a bunch of old potatoes (opens in new tab), a Lego brick (opens in new tab), a home pregnancy test (opens in new tab): The list goes on and on. But YouTuber and Doomworld community member kgsws has set a new standard for, well, something with this brilliant bit of techno-recursion: Doom running in Doom.
The full explanation for how it works gets technical (and, frankly, a bit dull, unless hacking is your hobby) but what it comes down to is an exploit that enables code execution within the game itself. That’s why this bit of trickery only works with the original DOS-based Doom 2, and not any of the more modern ports like GZDoom, which lack the exploit. (That’s not convenient for this project but it’s a good thing overall, kgsws noted: “People would abuse it to spread malicious code.”)
The video is basically a mini-documentary of kgsws’ process, but if you want to get straight to the good stuff it starts at around 8:10, when he gets the Chocolate Doom source port imported into the exploit. It’s a little wonky at first but within a minute or so, it’s working. From there, kgsws builds the whole thing into a Doom movie theater, complete with interactive lobby screens explaining what the mod is and how to interact with it in various ways. You can even jump in and out of the game on the screen seamlessly, from viewer to player and back, leading to potentially paradoxical questions about which game is the real game—and which “you” is the real you.
“Confusing, isn’t it?” kgsws asked.
And that’s not all. Kgsws also gets Heretic running in Doom, presumably just to prove that he can.
It’s not just a video. You can go hands-on with kgsws’ Doom-in-Doom creation using the DOS-based release of Doom 2 (kgsws said the version on Steam (opens in new tab) works with the DOSBox emulator, and I would assume the GOG (opens in new tab) version, which is pre-configured with DOSBox, will also be fine) and the did-v1.zip file from Github (opens in new tab). Copy the kgdid.wad file into the directory containing doom2.exe, then fire it up in DOSBox with “doom2 -file kgdid.wad,” minus the quotation marks. Other options, detailed in the video, are also available if you want to dive deeper.
Speaking of which—I wonder how long it will be before someone gets Doom running in Doom… in Doom? The mind boggles.
Thanks, PCGamesN (opens in new tab).