FrenkelS / djdoom

Compiling Doom for DOS with various compilers.
GNU General Public License v2.0
16 stars 1 forks source link
doom ms-dos

DJGPP Doom

Download the executables here.

The goal of this project is to:

The code is based on gamesrc-ver-recreation and it took inspiration from Apogee Sound System, Apogee Sound System backed DMX wrapper, doomgeneric, Doom Vanille, Executor, FastDoom, Quake and Quake 2.

There is some assembly in the code that requires NASM. To build Doom using only C code, look at the macro C_ONLY. To remove the visplanes limit, look at the macro REMOVE_LIMITS.

Sound effects are supported through the PC speaker and Sound Blaster. And music is supported via Adlib, Sound Blaster, Pro Audio Spectrum, General MIDI, Wave Blaster and Sound Canvas.

There's no support for joystick and Logitech Cyberman.

How to add other compilers

The differences between compilers specific to the Doom source code are in a_blast.c, a_inter.h, a_multiv.c, a_taskmn.c, compiler.h, d_main.c and i_ibm.c. Search in those files for the pre-defined compiler macros and start hacking.

Compiler Set environment variables Compile code Pre-defined compiler macro
DJGPP setenvdj.bat compdj.bat __DJGPP__
Digital Mars setenvdm.bat compdm.bat __DMC__
CC386 setenvoc.bat compoc.bat __CCDL__
Watcom setenvwc.bat compwc.bat __WATCOMC__