Source port

From DoomWiki.org

Revision as of 01:28, 2 June 2010 by Ryan W (talk | contribs) (this link probably should not point to a disambig page)


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 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
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 No No 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 No 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
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 No 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 Partial Yes No No No No No
SvStrife No Yes No Yes No No No No No
Smack My Marine Up Yes No No 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
XDoom No No No Yes No No No No No
XFree86/OS2 Doom No No No No Yes No No No No
ZDaemon No Yes No 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

Console

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

Handheld

Windows Mobile and Windows CE

Palm OS

Other Phones

Portable Media Players


Other and Esoteric

Web-based

Game script

Digital cameras

Sources

See also

External links