Doom port for DOS, optimized to be as fast as possible!
C
800
3,829 commits
updated Oct 20, 2026
Doom port for DOS, based on PCDoom by @nukeykt. The goal of this port is to make it as fast as possible for 386/486 personal computers.
| Doom 1.9 Audio | Doom 1.9 NoAudio | FastDoom 0.2 Audio | FastDoom 0.2 Audio FlatVisplanes | FastDoom 0.2 Audio FlatVisplanes FlatTransparency | FastDoom 0.2 Audio FlatVisplanes Sega Saturn transparency | FastDoom 0.2 NoAudio | FastDoom 0.2 NoAudio flatVisplanes Sega Saturn transparency | |
|---|---|---|---|---|---|---|---|---|
| FPS | 19.56 | 21.68 | 22.44 | 25.77 | 25.86 | 26.02 | 24.79 | 29.05 |
| Gain | 100.00% | 110.20% | 114.70% | 131.70% | 132.20% | 133.00% | 126.74% | 148.52% |
FastDoom 0.8 Live Demo (Texas Instruments 486DLC @40 MHz, Cirrus Logic GD-5422 ISA):
https://user-images.githubusercontent.com/8323882/147228550-bf93cc50-3c92-4a7a-b84f-65c8bbe1d3a9.mp4
Requirements: Linux or WSL2 on Windows.
package.sh)source fdenv.sh./build.sh <executable> [parameters] where "executable" is any of the supported targets (fdoom.exe, fdoomega.exe, fdoomt50.exe, fdm1024r.exe, fdsetup.exe, fdstart.exe, ...) and "parameters" can be any combination of:
-clean: cleans all generated OBJs before building-stub: adds the DOS/32 stub (requires a DOS emulator)-debug: generates a debug executable with symbols, traceable stack frames and a .map file; adjust dbgcfg.h to your needs./buildall.sh./package.shExample to build a fresh FastDoom executable ready to use on real hardware:
source fdenv.sh
./build.sh fdoom.exe -clean -stub
Example to build FDSETUP and FDSTART:
source fdenv.sh
./build.sh fdsetup.exe -clean
./build.sh fdstart.exe -clean
This project exists thanks to all the people who contribute.
Feel free to add issues or pull requests here on GitHub. I cannot guarantee that I will accept your changes, but feel free to fork the repo and make changes as you see fit. Thanks!
FastDoom is released under the terms of the GPLv2 license.
126 followers · starred Sep 2023
534 followers · starred Mar 2025
130 followers · starred Sep 2025
71 followers · starred Feb 2026
Doom port for DOS, optimized to be as fast as possible!
C
800
3,829 commits
updated Oct 20, 2026
Doom port for DOS, based on PCDoom by @nukeykt. The goal of this port is to make it as fast as possible for 386/486 personal computers.
| Doom 1.9 Audio | Doom 1.9 NoAudio | FastDoom 0.2 Audio | FastDoom 0.2 Audio FlatVisplanes | FastDoom 0.2 Audio FlatVisplanes FlatTransparency | FastDoom 0.2 Audio FlatVisplanes Sega Saturn transparency | FastDoom 0.2 NoAudio | FastDoom 0.2 NoAudio flatVisplanes Sega Saturn transparency | |
|---|---|---|---|---|---|---|---|---|
| FPS | 19.56 | 21.68 | 22.44 | 25.77 | 25.86 | 26.02 | 24.79 | 29.05 |
| Gain | 100.00% | 110.20% | 114.70% | 131.70% | 132.20% | 133.00% | 126.74% | 148.52% |
FastDoom 0.8 Live Demo (Texas Instruments 486DLC @40 MHz, Cirrus Logic GD-5422 ISA):
https://user-images.githubusercontent.com/8323882/147228550-bf93cc50-3c92-4a7a-b84f-65c8bbe1d3a9.mp4
Requirements: Linux or WSL2 on Windows.
package.sh)source fdenv.sh./build.sh <executable> [parameters] where "executable" is any of the supported targets (fdoom.exe, fdoomega.exe, fdoomt50.exe, fdm1024r.exe, fdsetup.exe, fdstart.exe, ...) and "parameters" can be any combination of:
-clean: cleans all generated OBJs before building-stub: adds the DOS/32 stub (requires a DOS emulator)-debug: generates a debug executable with symbols, traceable stack frames and a .map file; adjust dbgcfg.h to your needs./buildall.sh./package.shExample to build a fresh FastDoom executable ready to use on real hardware:
source fdenv.sh
./build.sh fdoom.exe -clean -stub
Example to build FDSETUP and FDSTART:
source fdenv.sh
./build.sh fdsetup.exe -clean
./build.sh fdstart.exe -clean
This project exists thanks to all the people who contribute.
Feel free to add issues or pull requests here on GitHub. I cannot guarantee that I will accept your changes, but feel free to fork the repo and make changes as you see fit. Thanks!
FastDoom is released under the terms of the GPLv2 license.
126 followers · starred Sep 2023
534 followers · starred Mar 2025
130 followers · starred Sep 2025
71 followers · starred Feb 2026