Doom Wiki
Register
Advertisement

A source port is a port of the source code for the Doom engine. The term usually denotes a modification made by fans, as opposed to any of the officially licensed versions produced by id Software or affiliated companies.

The Doom source code was released to the public on December 23, 1997. Although Doom was originally created for DOS, the release was of the Linux version, and the source code had to be ported back to DOS and to other operating systems. Hence the term "source port", which out of custom also is used for those modifications which are not technically ports to another platform. The term itself originates from the first source port, DOSDoom and its 0.2 version.

Source ports have been created for a variety of PC operating systems, such as the 32-bit Windows family, Linux and the BSDs. By abstracting away the x86-specific code, ports have also been created for a large variety of other hardware platforms: PowerPC/Macintosh; the Game Park 32, a Korean hand-held; the Nokia 7650 and 9210 cell phones; the Sega Dreamcast; and any POSIX environment with the X windowing system.

The original purpose of source ports was cross-platform compatibility, but shortly after the release of the source code, programmers were correcting old, unaddressed Doom bugs and deficiencies in their own source ports, and later began adding new features to alter gameplay.

The source code was originally released under a proprietary license which prohibited commercial use and did not require programmers to provide the source code for the modifications they released in executable form. As a consequence of the source code for glDoom, the first port to add OpenGL graphics to Doom, being lost in a hard disk crash, the code was re-released in 1999 under the GNU General Public License after requests from the community (all of the original Doom source code on this wiki is covered by the GNU GPL).

As of today, the majority of Doom source ports are open source. The GNU GPL requires that authors who use GPL code in their software must release the modified source code as well.

Although the obligation does not apply to authors who used the previous non-GPL license, many authors voluntarily switched their projects to the GNU GPL.

List of source ports[]

Desktop[]

Operating system support across source ports
DOS Windows Macintosh *nix OS/2 Amiga Atari TOS Atari MiNT BeOS
ADoom No No No No No Yes No No No
ADoomPPC No No No No No Yes No No No
AmigaDoom No No No No No Yes No No No
ATB Doom No Yes No No No No No No No
BAD MOOD No No No No No No Yes No No
BeOS Heretic No No No No No No No No Yes
BeOS Hexen No No No No No No No No Yes
Boom Yes No No No No No No No No
BZDoom No Yes No No No No No No No
CDoom Yes No No No No No No No No
CGDoom No Yes No Yes No No No No No
Chocolate Doom No Yes Yes Yes No No No No No
csDoom No No No Yes No No No No No
CTFDoom Yes No No No No No No No No
Doom No No No No No No No No Yes
Doom3D No Yes No No No No No No No
Doom64 EX No Yes No No No No No No No
DoomAttack No No No No No Yes No No No
DoomDIVE No No No No Yes No No No No
DoomGL No Yes No No No No No No No
Doom Legacy Yes Yes Yes Yes Yes No No No No
Doom Plus No Yes No No No No No No No
Doomsday No Yes Yes Yes No No No No No
Doom SysAdmin Tool No No No Yes No No No No No
DOSDoom Yes No No Yes No No No No No
DxHexen No Yes No No No No No No No
EDGE Yes Yes No Yes No No No No No
Eternity Engine No Yes Yes Yes No No No No No
Fusion Yes No No No No No No No No
ggiDoom No No No Yes No No No No No
glBoom No Yes No No No No No No No
glDoom No Yes No No No No No No No
glHeretic No Yes No Yes No No No No No
glHexen No Yes No No No No No No No
GZDoom No Yes Yes Yes No No No No No
Hexen32 No Yes No No No No No No No
HexenDos Yes No No No No No No No No
Hexen (OS/2) No No No No Yes No No No No
Hexetic Yes No No No No No No No No
IAS Doom No Yes No No No No No No No
JDP Yes No No No No No No No No
Linux Heretic No No No Yes No No No No No
Linux Hexen No No No Yes No No No No No
LsdlDoom No Yes No Yes No No No No No
LsDoom No No No Yes No No No No No
LxDoom No No No Yes No No No No No
Marine's Best Friend Yes No No No No No No No No
MidDoom Yes No No No No No No No No
Mocha Doom Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
Yes
NetDoom No Yes No No No No No No No
NTDoom No Yes No No No No No No No
Odamex No Yes Yes Yes No No No No No
PDoom Yes No No No No No No No No
PmDoom No No No No No No No Yes No
PmHeretic No No No No No No No Yes No
PmHexen No No No No No No No Yes No
PowerDoom No Yes No Yes No No No No Yes
psDoom No No No Yes No No No No No
PsiDoom No No No No No Yes No No No
PrBoom No Yes Yes Yes No No No No No
PrBoom+ No Yes Yes Yes No No No No No
ReMooD No Yes Yes Yes No No No No No
Risen3D No Yes No No No No No No No
RORDoom Yes No No No No No No No No
SDL Doom No No No Yes No No No No No
SDL Hexen No No No Yes No No No No No
SGI Doom No No No Yes No No No No No
Skulltag No Yes Yes Yes No No No No No
SvStrife No Yes No Yes No No No No No
Smack My Marine Up Yes Yes Yes No No No No No No
TASDOOM Yes No No No No No No No No
TASMBF Yes No No No No No No No No
Vavoom Yes Yes No Yes No No No No No
VDoomPPC No No No No No Yes No No No
WDMP No Yes No No No No No No No
wHeretic No Yes No No No No No No No
Win32 Doom No Yes No No No No No No No
WinDoom No Yes No No No No No No No
WinHeretic No Yes No No No No No No No
WinHeretic Universal Save No Yes No No No No No No No
WinHexen No Yes No No No No No No No
WinMBF No Yes No No No No No No No
X-Doom No No No Yes No No No No No
XDoom No No No Yes No No No No No
XFree86/OS2 Doom No No No No Yes No No No No
Zandronum No Yes Yes Yes No No No No No
ZDaemon No Yes Yes Partial No No No No No
ZDoom No Yes Yes Yes No No No No No
ZDoomGL No Yes No No No No No No No
ZhaDoom No No No No No Yes No No No
ZhaDoomPPC No No No No No Yes No No No
  • Written in Java, so compatibility is subject to the presence of a compatible Java Virtual Machine on the target platform.

Console[]

Note that official ports of Doom to various gaming consoles exist.

Handheld[]

Operating system support across source ports
Palm OS Windows CE Android Apple iOS Other
C2Doom No No No No Yes
CDoom (mobile) No No No No Yes
CellDoom No Yes No No No
Chocolate Doom No Yes No No No
Doom 9210 No No No No Yes
Doom4CE No Yes No No No
DoomCE No Yes No No No
EDoom No No No No Yes
FreeDoom No No Yes No No
gfDoom No Yes No No No
iDoom No No No No Yes
ReMooD

[1]

No Yes No No Yes
Rockdoom

[2]

No No No No Yes
Samsung SGH-B100 No No No No Yes
ZDoomZ Yes No No No No
ZHereticZ Yes No No No No
ZHexen Yes No No No No

Other and Esoteric[]

Web-based[]

Game script[]

Digital cameras[]

Calculator[]

  • nDoom, developed for the TI-nspire.

Virtual Reality[]

  • QuestZDoom, developed for Oculus Quest headsets using LZDoom and GZDoom as a base.

See also[]

External links[]

Advertisement