Source port
From DoomWiki.org
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 would need to be ported back to DOS or 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 assembly code, ports have also been created for a large variety of other hardware platforms: The Amiga, a home computer; Sega Dreamcast, a console; GP32, a Korean handheld; Macintosh computers; any POSIX environment with the X windowing system, and several other types of devices.
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 game play.
The source code of Doom was originally published under a proprietary license (the Doom Source 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).
The Heretic source code as well as the Hexen source code were released in 1999, under a restrictive EULA, due to this Chocolate Doom (licensed under GPL-2.0) did not implement support for these games until the re-licensing in 2008, with ZDoom being a outlier for its support before the re-license.
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.
Most source ports (and families) are licensed under GPL-2.0, which requires publishing the source code to any public derivatives of code, seeing that the original Doom Source License (DSL) some DSL licensed source ports are closed source, with the notable example of ZDaemon, while others do optionally release their source code, such as SDL Doom and DOSDoom which also have many of their derivatives also completely licensed under the DSL, also with their source code publicly available.
Games which never released their source-code, such as Doom 64 and Strife, have been reverse engineered by the Doom community, with the projects Doom64 EX and Chocolate Strife respectively.
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 for Doom engine games[edit]
Desktop[edit]
DOS | Windows | Macintosh | *nix | OS/2 | BeOS | First release | Last updated | |
---|---|---|---|---|---|---|---|---|
ATB Doom | No | Yes | No | No | No | No | <= 1997-12-29 | 1998-01-01 |
BeOS Heretic | No | No | No | No | No | Yes | ||
BeOS Hexen | No | No | No | No | No | Yes | ||
Bernewfie | Yes | No | No | No | No | No | 2022-11-30 | 2023-12-02 |
Boom | Yes | No | No | No | No | No | 1998-04-17 | 1999-10-09 |
bZDoom | No | Yes | No | No | No | No | < 2008-05-29 | |
Calico | No | Yes | Yes | Yes | No | No | 2017-04-30 | 2021-01-31 |
CDoom | Yes | No | No | No | No | No | ||
CGDoom | No | Yes | No | Yes | No | No | ||
Cherry Doom | No | Yes | No | Yes | No | No | 2023-09-01 | 2024-08-05 |
Chocolate Doom | No | Yes | Yes | Yes | No | Yes | 2005-09-07 | 2024-08-01 |
Chocorenderlimits | No | Yes | Yes | Yes | No | Yes | 2011-02-26 | 2012-05-20 |
ColdFusion | No | Yes | No | No | No | No | 2023-04-27 | |
Crispy Doom | No | Yes | Yes | Yes | No | Yes | 2014-03-10 | 2024-08-09 |
CRL | No | Yes | Yes | Yes | No | Yes | 2023-03-31 | 2024-09-21 |
CRY | No | Yes | Yes | Yes | No | Yes | 2019-02-10 | 2024-10-06 |
csDoom | No | Yes | No | Yes | No | No | 2000-05-27 | 2006-01-28 |
csZDoom | No | Yes | No | Yes | No | No | 2000-05-27 | 2006-01-28 |
CTFDoom | Yes | No | No | No | No | No | 1998-01-27 | 1998-04-19 |
DelphiDoom | No | Yes | No | Yes | No | No | 2005-02-07 | 2022-05-01 |
Doom! | No | No | No | No | No | Yes | ||
Doom3D | No | Yes | No | No | No | No | ||
Doom64 EX | No | Yes | No | No | No | No | 2008-07-10 | 2014-02-17 |
Doom8088 | Yes | No | No | No | No | No | 2023-08-23 | 2024-11-20 |
DOOM BFA | No | Yes | No | Yes | No | No | 2017-04-04 | 2024-04-01 |
DoomDIVE | No | No | No | No | Yes | No | ||
doomgeneric | Yes | Yes | No | Yes | No | No | 2019-08-04 | |
DoomGL | No | Yes | No | No | No | No | 1999-04-27 | 2006-12-30 |
Doom Legacy | Partial | Yes | Partial | Yes | No | No | 1998-02-12 | 2023-12-29 |
DoomPC | No | Yes | No | No | No | No | 2006-12-30 | |
Doom Plus | No | Yes | No | No | No | No | ||
Doom Retro | No | Yes | Partial | Partial | No | No | 2013-12-10 | 2024-08-11 |
Doomsday | No | Yes | Yes | Yes | No | No | 1999-11-01 | 2021-02-04 |
DoomNew | Yes | No | No | No | No | No | 2012-12-19 | 2015-10-21 |
Doom SysAdmin Tool | No | No | No | Yes | No | No | 1999-10-17 | 2000-05-03 |
Doom Vanille | Yes | No | No | No | No | No | 2017-05-29 | 2020-06-24 |
DOSDoom | Yes | No | No | Yes | No | No | 1997-12-23 | 1999-04-10 |
DSDA-Doom | No | Yes | Yes | Yes | No | No | 2020-11-11 | 2024-10-25 |
DXHexen | No | Yes | No | No | No | No | 1999-07-06 | 1999-07-21 |
EDGE | Yes | Yes | Yes | Yes | No | No | 2000-06-20 | 2018-10-17 |
EDGE-Classic | No | Yes | Yes | Yes | No | No | 2021-12-18 | 2024-08-27 |
Eternity Engine | No | Yes | Yes | Yes | No | No | 2001-01-08 | 2024-11-18 |
FastDoom | Yes | No | No | No | No | No | 2020-06-10 | 2024-11-12 |
fbDOOM | No | No | No | Yes | No | No | 2016-12-02 | |
FPCDoom | No | Yes | No | No | No | No | 2018-01-14 | 2022-04-10 |
From DOOM With Love | No | Yes | No | No | No | No | 2021-07-11 | 2021-10-12 |
Fusion | Yes | No | No | No | No | No | 2002 | 2002 |
ggiDoom | No | No | No | Yes | No | No | 1997-12-24 | 2001-11-30 |
GLBoom | No | Yes | No | No | No | No | 2000-02-29 | 2008-11-09 |
glDoom | No | Yes | No | No | No | No | 1998-10-05 | 1998-12-23 |
GLHeretic | No | Yes | No | Yes | No | No | 1999-03-26 | 1999-09-13 |
GLHexen | No | Yes | No | No | No | No | 1999-06-02 | 1999-09-18 |
GLOOME | No | Yes | No | Yes | No | No | 2015 | 2016 |
GZ3Doom | No | Yes | No | No | No | No | 2015-03-14 | |
GZDoom | No | Yes | Yes | Yes | No | No | 2005-08-30 | 2024-10-31 |
GZDoom-GPL | No | Yes | No | Yes | No | No | 2015 | |
Helion | No | Yes | No | Yes | No | No | 2022-10-22 | 2024-11-13 |
Hexen32 | No | Yes | No | No | No | No | 1999-10-23 | |
HexenDos | Yes | No | No | No | No | No | 1999-04-15 | 1999-04-15 |
Hexen (OS/2) | No | No | No | No | Yes | No | 1999-07-11 | |
HeXetic | Yes | No | No | No | No | No | 1999-02-02 | 1999-02-02 |
HHeretic | No | No | No | Yes | No | No | 2001-01-16 | 2016-08-28 |
HHexen | No | No | No | Yes | No | No | 2016-08-28 | |
IAS Doom | No | Yes | No | No | No | No | 1999-06-18 | |
International Doom | No | Yes | No | Yes | No | No | 2016-09-16 | 2024-10-06 |
JDP | Yes | No | No | No | No | No | 2001-01-05 | < 2001-09-29 |
K8Vavoom | No | Yes | No | Yes | No | No | 2018-10-13 | 2022-05-01 |
LinBoom | No | No | No | Yes | No | No | 1998-05-30 | 1998-05-30 |
Linux Heretic | No | No | No | Yes | No | No | 1999-01-18 | 2000-05-02 |
Linux Hexen | No | No | No | Yes | No | No | 1999-09-29 | |
LsdlDoom | No | Yes | No | Yes | No | No | 2000-04-02 | 2011-10-25 |
LsDoom | No | No | No | Yes | No | No | 1998-09-23 | 2000-04-02 |
LxDoom | No | No | No | Yes | No | No | 1998-09-23 | 2000-04-02 |
LZDoom | No | Yes | No | No | No | No | 2018-09-30 | 2022-02-26 |
Managed Doom | No | Yes | No | No | No | No | 2020-07-31 | 2023-06-17 |
ManDoom | No | Yes | No | No | No | No | 2011-01-01 | 2013-07-15 |
Marshmallow Doom | No | Yes | No | No | No | No | ||
MBF (Marine's Best Friend) | Yes | No | No | No | No | No | 1998-12-22 | 2014-09-23 |
MidDoom | Yes | No | No | No | No | No | 1998-01 | 1998-02-01 |
Neapolitan Doom | No | No | Yes | Yes | No | No | ||
NetDoom | No | Yes | No | No | No | No | 2000-02-26 | 2000-02-29 |
NTDOOM | No | Yes | No | No | No | No | 1998-01-07 | 1998-01-29 |
Nugget Doom | No | Yes | No | Yes | No | No | 2021-09-07 | 2024-10-20 |
Odamex | No | Yes | Yes | Yes | No | No | 2007-01-22 | 2024-09-11 |
Obsidian | No | Yes | No | Yes | No | No | 2011-07-06 | 2011-08-18 |
PDoom | Yes | No | No | No | No | No | 1998-01-02 | |
PowerDoom | No | Yes | No | Yes | No | Yes | 2000-07-17 | 2000-07-17 |
psDoom | No | No | No | Yes | No | No | < 1999-12-29 | 2000-05-03 |
PsyDoom | No | Yes | Yes | Yes | No | No | 2020-01-23 | 2023-06-13 |
PrBoom | No | Yes | Yes | Yes | No | No | 1998-11-15 | 2008-11-09 |
PrBoom+ | No | Yes | Yes | Yes | No | No | 2004 | 2023-06-20 |
PrBoomX | No | Yes | Yes | Yes | No | No | 2023-06-11 | 2023-11-03 |
PrjDoom | Yes | No | No | No | No | No | 1998-12-29 | 1998-12-29 |
Q-Zandronum | No | Yes | Yes | Yes | No | No | 2020-11-09 | 2024-11-28 |
QZDoom | No | Yes | Yes | Yes | No | No | 2016-10-18 | 2018-06-08 |
Random Doom | Yes | No | No | No | No | No | 1998-09-28 | |
RealDoom | Yes | No | No | No | No | No | 2023-12-04 | 2024-10-11 |
ReBoom | No | Yes | Yes | Yes | No | No | 2021-08-22 | 2022-07-26 |
ReMooD | Yes | Yes | Yes | Yes | No | No | 2008-07-12 | 2016-08-23 |
Risen3D | No | Yes | No | No | No | No | 2003-10-14 | 2021-12-17 |
RORDoom | Yes | No | No | No | No | No | 2000 | |
rorEternity | No | Yes | No | No | No | No | 2003-05-28 | 2003 |
Rum and Raisin Doom | No | Yes | Yes | Yes | No | No | 2022-05-26 | 2024-02-18 |
Russian Doom | Yes | Yes | No | Yes | No | No | 2023-10-29 | 2023-10-29 |
RZDoom | No | Yes | No | Yes | No | No | 2021-12-08 | 2024-08-27 |
ScoreDoom | No | Yes | No | No | No | No | 2007-08-02 | 2019-01-08 |
ScoreDoomST | No | Yes | No | No | No | No | 2010-03-27 | 2013-04-12 |
SDL Doom | No | No | No | Yes | No | No | 1998 | 1998 |
SDL Hexen | No | No | No | Yes | No | No | 2000 | 2000 |
Sfdoom | Yes | No | No | No | No | No | 1999-01-25 | 1999-02-05 |
SGI Doom | No | No | No | Yes | No | No | 1994 | 1995 |
Skulltag | No | Yes | Yes | Yes | No | No | 2000-06-11 | 2010-11-08 |
SMMU (Smack My Marine Up) | Yes | Yes | No | Yes | No | No | 1999-03-20 | 2000-08-17 |
So Doom | No | Yes | No | No | No | No | 2019-10-11 | 2023-08-26 |
Sprinkled Doom | No | Yes | Yes | Yes | No | No | 2021-09-09 | 2022-06-12 |
Steve Boom | Yes | No | No | No | No | No | 1998-08-14 | 1998-09-29 |
Strawberry Doom | No | Yes | No | No | No | No | 2005 | 2009-03-26 |
SvStrife | No | Yes | No | Yes | No | No | 2004-04-27 | 2006-01-26 |
TASDoom | Yes | No | No | No | No | No | 1998-12-15 | 1998-12-15 |
Tartar | Yes | No | No | No | No | No | 2021-09-29 | 2024-09-29 |
TASMBF | Yes | No | No | No | No | No | 1999-01-10 | 1999-01-10 |
Tower of Babel | No | Yes | No | No | No | No | ||
U-Hexen | No | Yes | No | Yes | No | No | 2001-12-01 | 2001-12-04 |
Vavoom | Yes | Yes | No | Yes | No | No | 2000-06-14 | 2010-12-31 |
VKDoom | No | Yes | No | No | No | No | 2023-07-15 | 2023-07-15 |
WDMP | No | Yes | No | No | No | No | 1998-07-30 | |
wHeretic | No | Yes | No | No | No | No | 1999-01-16 | 2000-05-27 |
Win32 Doom | No | Yes | No | No | No | No | ||
WinDoom | No | Yes | No | No | No | No | 1998-01-14 | 2001-09-06 |
WinHeretic | No | Yes | No | No | No | No | 1999-01-15 | 1999-06-10 |
WinHexen | No | Yes | No | No | No | No | 1999-05-24 | 1999-05-30 |
WinMBF | No | Yes | No | No | No | No | 2004-08-10 | 2005-01-19 |
Woof! | No | Yes | No | Yes | No | No | 2020-02-28 | 2024-11-23 |
X-Doom | No | No | No | Yes | No | No | 2004-10-29 | |
XDoom | No | No | No | Yes | No | No | 1997 | 2001-06-15 |
XFree86/OS2 Doom | No | No | No | No | Yes | No | ||
Zandronum | No | Yes | Yes | Yes | No | No | 2012-06-03 | 2021-12-13 |
ZDaemon | No | Yes | Yes | Partial | No | No | 2001-02-20 | 2024-10-28 |
ZDoom | No | Yes | Yes | Yes | No | No | 1998-03-06 | 2016-02-22 |
ZDoomGL (v1) | No | Yes | No | No | No | No | 1999-10-15 | 2001 |
Home computer[edit]
Amiga | Atari TOS | Atari MiNT | Other | First release | Last updated | |
---|---|---|---|---|---|---|
ADoom | Yes | No | No | No | 1997-12-28 | 2011-01-08 |
ADoom (Atari) | No | No | No | Yes | ||
ADoomPPC | Yes | No | No | No | 1998 | 2000-11-07 |
AmiDoom | Yes | No | No | No | 1997-12-24 | 1998-01-23 |
AmigaDoom | Yes | No | No | No | 1997-12-26 | 1998-01-25 |
Bad Mood | No | Yes | No | No | 1995 | 2017-06-14 |
Chocolate Doom | Yes | No | No | No | 2005-09-07 | 2024-08-01 |
Crispy Doom | Yes | No | No | No | 2014-03-10 | 2024-08-09 |
DoomAttack | Yes | No | No | No | ||
Doom (Commodore SuperCPU) | No | No | No | Yes | 2014-09-29 | 2017-06-06 |
PmDoom | No | No | Yes | No | 2015-01-25 | |
PmHeretic | No | No | Yes | No | 2009-05-26 | |
PmHexen | No | No | Yes | No | 2009-05-26 | |
PsiDoom | Yes | No | No | No | 1998 | 1998-02-11 |
RAD-Doom | No | No | No | Yes | ||
VDoom68K | Yes | No | No | No | 1998-01-01 | 1998-01-01 |
VDoomPPC | Yes | No | No | No | 1998 | 1998-01-31 |
ZhaDoom68K | Yes | No | No | No | 1998 | 1998-03-01 |
vicdoom | No | No | No | Yes | ||
ZhaDoomPPC | Yes | No | No | No | 1998 | 1998-05-01 |
Console[edit]
Note that official ports of Doom to various gaming consoles also exist.
- GBADoom (Game Boy Advance)
- 64Doom (Nintendo 64)
- DS Doom (Nintendo DS)
- dsHeretic (Nintendo DS)
- WiiDoom (Wii)
- Wii-DOOM (Wii)
Sega:
- Doom 32X: Resurrection (Sega 32X)
- DoomDC (Sega Dreamcast)
- Doom for the DC (Sega Dreamcast)
- EDGE (Sega Dreamcast)
- nxDoom (Sega Dreamcast)
Sony:
- Doom PSP (Sony PlayStation Portable)
- LsdlDoom-PS2 (Sony PlayStation 2)
- PSP Legacy (Sony PlayStation Portable)
Other:
Handheld[edit]
Palm OS | Windows CE | Other | |
---|---|---|---|
C2Doom | No | No | Yes |
CDoom (mobile) | No | No | Yes |
CellDoom | No | Yes | No |
Doom 9210 | No | No | Yes |
Doom4CE | No | Yes | No |
DoomCE | No | Yes | No |
DoomGLES | No | Yes | No |
DoomPPC | No | Yes | No |
EDoom | No | No | Yes |
gfDoom | No | Yes | No |
iDoom | No | No | Yes |
JLiME-Doom | No | No | Yes |
ReMooD (BifferBoard Doom (archived 🏛)) | No | Yes | Yes |
Rockdoom (PluginDoom) | No | No | Yes |
Samsung SGH-B100 | No | No | Yes |
ZDoomZ | Yes | No | No |
ZHereticZ | Yes | No | No |
ZHexen | Yes | No | No |
Other and esoteric[edit]
- BareDOOM runs on the Barebox bootloader
- Doom 7650 runs on the Nokia 7650 and 3650
- Doom 7650 runs on the Nokia 9210 Communicator
- Doom UEFI runs on the UEFI, a replacement to BIOS
- DoomD runs on a Digital Camera using Digita OS (archived 🏛)
- Doom (NUON source port) runs on the NUON, a Intractable DVD player
- SieDOOM runs on Siemens' Mobile phones
- Edidoom runs on the Intel Edison, a Computer-on-module device
- nDoom runs on the TI-Nspire, a Graphing calculator
- Terminal DOOM runs inside Doom 3 in-game terminals
- Mocha Doom re-written to run on devices using Java
Web-based[edit]
- A Doom port using Flash 10
- Doomed Online
- Browser Doom
List of source ports for Doom 3[edit]
Windows | Macintosh | *nix | First release | Last updated | |
---|---|---|---|---|---|
CstDoom3 | Yes | No | No | 2017-03-16 | 2020-02-26 |
CstDoom3-BFG | Yes | No | No | 2020-05-19 | 2024-06-11 |
D3Foxed | Yes | No | Yes | 2017-08-16 | |
D3wasm | No | No | No | ||
Dante | No | No | Yes | ||
dhewm3 | Yes | Yes | Yes | 2015-10-09 | 2024-08-03 |
DOOM BFA | Yes | No | Yes | 2017-04-04 | 2024-04-01 |
fhDOOM | Yes | No | Yes | 2017-08-22 | 2017-08-22 |
iodoom3 | No | No | No | None (Vaporware) | |
RBDOOM-3-BFG | Yes | Yes | Yes | 2014-05-10 | 2023-05-23 |
UQE Doom 3 | Yes | No | No |
Sources[edit]
- This article incorporates text from the open-content Wikipedia online encyclopedia article Doom source port.
- Doomworld forum thread about unofficial cell phone versions
See also[edit]
External links[edit]
- Doomworld: Source port downloads
- Genealogy of Doom source ports after 15 years chart[dead link]
- Doomworld: Genealogy of Doom source ports after 10 years article
- Doomed Online at Google Code
- Doom for the Dreamcast (archived 🏛)
- Cell phone ports at ItPlaysDoom.com, via the Wayback Machine: Nokia 9500, other Nokia models, Microsoft Smartphone, Audiovox SMT 5600, Orange SPV C550, Sony Ericsson
- Doom for the Amiga at Aminet
- YOYOFR's ZDOOMZ
- Old PowerPak site (archived 🏛)