Source port

Revision as of 06:07, 30 July 2022 by 91.126.146.108 (talk) (Desktop)


Revision as of 06:07, 30 July 2022 by 91.126.146.108 (talk) (Desktop)


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 in 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 published under a proprietary license which prohibited commercial use, and did not require programmers who took from it 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 drive crash, Doom's upstream code was re-released in 1999 under the GNU General Public License (GPL) after requests from the community for greater freedom in the license terms and conditions (all of the original Doom source code on this wiki is covered by the GNU GPL).

As of today, the vast majority of Doom source ports are free/libre and open-source software (as licensed under the GNU GPL) whose source code is both public and can be used for anything. However, the GNU GPL requires that authors who use GPL code in their software must release their modified source code under the GPL as well, a concept known as "share-alike", facilitating a perpetual openness. This in effect also means the source code to modern source ports cannot be lost like glDoom's was, as GPL code is in constant online circulation.

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.

Contents

List of source ports

Desktop

Operating system support across source ports
DOS Windows Macintosh *nix OS/2 Amiga Atari TOS Atari MiNT BeOS First release Last Updated
ADoom No No No No No Yes No No No 1997 2011
ADoomPPC No No No No No Yes No No No 1998 2000
AmigaDoom No No No No No Yes No No No
ATB Doom No Yes No No No No No No No 1998
Bad Mood No No No No No No Yes No No 1995 2015-01-05
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 1998-04-17 1999-10-09
BZDoom No Yes No No No No No No No > 2008-05-29
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 Yes No No Yes 2005 2020-06-25
Crispy Doom No Yes Yes Yes No Yes No No Yes 2014-03-10 2023-03-31
csDoom No Yes No Yes No No No No No 2000 2006
CTFDoom Yes No No No No No No No No 1998 1998
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 2008 2014-02-17
DOOM BFA No Yes No Yes No No No No No 2017 2021-10-29
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 1999-04-27 2006-12-30
Doom Legacy No Partial Partial Yes No No No No No 1998 2023-12-29
DoomPC No Yes No No No No No No No 2006-12-30 2006
Doom Plus No Yes No No No No No No No
Doom Retro No Yes Partial Partial No No No No No 2013 2024-03-03
Doomsday No Yes Yes Yes No No No No No 1999 2021-02-04
Doom SysAdmin Tool No No No Yes No No No No No
Doom UEFI No Yes No Yes No No No No No 2019-12-27 2020-02-29
DOSDoom Yes No No Yes No No No No No 1997 1999
DSDA-Doom No Yes Yes Yes No No No No No 2020-11-11 2021-12-20
DxHexen No Yes No No No No No No No
EDGE Yes Yes Yes Yes No No No No No 2000 2018-10-17
EDGE-Classic Yes Yes Yes Yes No No No No Yes 2021 2023-12-21
Eternity Engine No Yes Yes Yes No No No No No 2001 2021-01-27
FastDoom Yes No No No No No No No No 2020-06-10 2023-09-01
Fusion Yes No No No No No No No No 2002 2002
ggiDoom No No No Yes No No No No No 1997-12-24 2001-11-30
GLBoom No Yes No No No No No No No
GLDoom No Yes No No No No No No No 1998-12-23
GLHeretic No Yes No Yes No No No No No 2000-05-02
GLHexen No Yes No No No No No No No
GLOOME No Yes No Yes No No No No No 2015
GZDoom No Yes Yes Yes No No No No No 2005 2023-10-26
GZDoom-GPL No Yes No Yes No No No No No 2015
Hexen32 No Yes No No No No No No No 1999-10-23
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 1999-02-02
HHeretic No No No Yes No No No No No
HHexen No No No Yes No No No No No
IAS Doom No Yes No No No No No No No
International Doom Yes Yes No No No No No No No 2016-09-16 2024-03-08
JDP Yes No No No No No No No No > 2001-09-29
LinBoom No No No Yes No No No No No 1998-05-30 1998-05-30
Linux Heretic No No No Yes No No No No No 1999-01-18 1999-12-27
Linux Hexen No No No Yes No No No No No 1999-09-29
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 2000-04-02
ManDoom No Yes No No No No No No No 2011-01-01 2013-07-15
Marine's Best Friend Yes No No No No No No No No 2014-09-23
MidDoom Yes No No No No No No No No
NetDoom No Yes No No No No No No No
NTDOOM No Yes No No No No No No No 1998-01-29
Odamex No Yes Yes Yes No No No No No 2007 2023-08-10
PDoom Yes No No No No No No No No
PmDoom No No No No No No No Yes No 2006-07-11
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 1998 1998-02-11
PrBoom No Yes Yes Yes No No No No No 1998 2008-11-09
PrBoom+ No Yes Yes Yes No No No No No 2004 2023-06-20
PrjDoom Yes No No No No No No No No 1998-12-29 1998-12-29
QZDoom No Yes Yes Yes No No No No No 2016 2018-06-08
Random Doom Yes No No No No No No No No 1998-09-28 1998
ReMooD Yes Yes Yes Yes No No No No No 2008 2016-08-23
Risen3D No Yes No No No No No No No 2003 2021-12-17
RORDoom Yes No No No No No No No No 2000
rorEternity No Yes No No No No No No No 2003-05-28 2003
ScoreDoom No Yes No No No No No No No 2007-08-02 2019-01-08
ScoreDoomST No Yes No No No No No No No 2010-03-27 2013-04-12
SDL Doom No No No Yes No No No No No 1998 1998
SDL Hexen No No No Yes No No No No No
Sfdoom Yes No No No No No No No No 1999-01-25 1999-02-05
SGI Doom No No No Yes No No No No No
Skulltag No Yes Yes Yes No No No No No 1999 2010-11-08
Smack My Marine Up Yes Yes No Yes No No No No No 1999-03-20 2000-08-17
Steve Boom Yes No No No No No No No No 1998-08-14 1998-09-29
SvStrife No Yes No Yes 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 1999 2010-12-31
VDoomPPC No No No No No Yes No No No 1998 1998-01-31
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
Woof! No Yes No Yes No No No No No 2020-02-28 2024-03-15
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 2012 2021-12-13
ZDaemon No Yes Yes Partial No No No No No 2001 2023-11-21
ZDoom No Yes Yes Yes No No No No No 1998-03-06 2016-02-22
ZDoomGL (v1) No Yes No No No No No No No 1999-10-15 2001
ZhaDoom68K No No No No No Yes No No No 1998 1998-03-01
ZhaDoomPPC No No No No No Yes No No No 1998 1998-05-01

Console

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

Handheld

Operating system support across source ports
Palm OS Windows CE Apple Other
C2Doom No No No Yes
CDoom (mobile) No No No Yes
CellDoom No Yes No No
Doom 9210 No No No Yes
Doom4CE No Yes No No
DoomCE No Yes No No
EDoom No No No Yes
gfDoom No Yes No No
iDoom No No No Yes
ReMooD[1] No Yes No Yes
Rockdoom[2] No No No Yes
Samsung SGH-B100 No No No Yes
ZDoomZ Yes No No No
ZHereticZ Yes No No No
ZHexen Yes No No No

Other and Esoteric

Web-based

Game script

Digital cameras

Sources

See also

External links