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.
- Added FPS ingame viewer
- Added FPS calculation after timedemo runs
- Added option to render visplanes (ceiling and floors) without textures
- Added option to render walls without textures
- Added option to render Spectres and invisible objects like real transparent objects (harder to see, a little faster to render)
- Added option to render sky as a flat fixed color
- Added option to render Spectre and invisible objects like the Sega Saturn port did
- Added option to render Spectre and invisible objects like Heretic/Hexen
- New option to show only objects that are not far away from the player. All the enemies are still rendered as they're important
- PC Speaker uses all sounds available (just for fun!)
- New mode for PC Speaker (digitized sound!)
- Disney Sound Source support
- COVOX LPT DAC support
- Adlib OPL2 PCM support
- OPL2LPT and OPL3LPT support
- Tandy 3-voice PCM support (SN76489)
- Creative Music System / Game Blaster support
- Audio-CD music support
- PCM music support (through sound fx device)
- Hercules automap support
- Native Roland MT-32 support (GM + display)
- Roland SC-55 support (display)
- Lot's of optimizations to make the game run faster / smoother
- Removed low memory limit (may cause crashes with low RAM)
- New detail level: Potato. It renders the full scene with a quarter width resolution (max 80x200). Much faster rendering, specially on 386 cpu's and slow 8-bit VGA ISA cards.
- Better use of system RAM (full memory allocation)
- Removed network gaming support
- Removed joystick support
- Removed Y mouse movement (move forward/backwards)
- Added autorun support (F12 key)
- Added mono sound support
- Replaced DOS/4GW with DOS/32A providing a good speedup!
- New setup program
- New video modes (Mode 13h, MDA, CGA, EGA, Hercules, Text modes, VESA 2.0, Plantronics Colorplus, Sigma Color 400, Hercules InColor)
- Advanced benchmark support
- Uncapped FPS mode support (frame interpolation, more than 35 fps)
- HiRes VESA video modes support
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):
FastDoom.on.a.TI.486DLC.40MHz_1080p_edit.mp4
Requirements: Linux or WSL2 on Windows.
- Install OpenWatcom v2, NASM, GNU Make and DOSBox-X
- Execute
source fdenv.sh
- Build:
- Single executable:
build.sh <executable> <parameters>
Where: "executable" is the executable name (fdoom.exe, fdoomega.exe, ...) and "parameters" can be one of these:- "-clean": cleans all generated OBJs,
- "-stub": adds the DOS/32 stub,
- "-debug": generates debugging exectable, needs dbgcfg.h file to be adjusted to your needs
- All the executables + automatic DOS/32 stubs:
buildall.sh
- Generate a full release package (ZIP):
package.sh
- Single executable:
Example to build a fresh FastDoom executable ready to use on real hardware:
./source fdenv.sh
./build.sh fdoom.exe -clean -stub
Requirements: Windows 3.1 or Windows 9x
- Install Borland C++ 4.52
- Install Laughing Dog Screen Maker 1.14
- Run .\FDSETUP\SCREENS\MAKE.BAT (MS-DOS)
- Open setup.ide project in Borland C++ IDE
- Build the project
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!