Source port

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 official 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.

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=

DOS

 * Boom
 * CDoom
 * CTFDoom
 * Doom Legacy
 * DOSDoom (the first source port)
 * EDGE
 * Eternity
 * HexenDos
 * Hexetic
 * JDP
 * Marine's Best Friend
 * MidDoom
 * PDoom
 * RORDoom
 * Smack My Marine Up
 * TASDOOM
 * TASMBF
 * Vavoom

Windows

 * ATB Doom
 * BZDoom
 * CGDoom
 * Chocolate Doom
 * csDoom
 * Doom Legacy
 * Doom Plus
 * Doom3D
 * DoomGL
 * Doomsday
 * DxHexen
 * EDGE
 * Eternity
 * glBoom
 * glDoom
 * glHeretic
 * glHexen
 * GZDoom
 * Hexen32
 * IAS Doom
 * LsdlDoom
 * NetDoom
 * NTDoom
 * Odamex
 * PowerDoom (PowerPak engine)
 * PrBoom
 * PrBoom+
 * ReMooD
 * Risen3D
 * Skulltag
 * SvStrife
 * Vavoom
 * WDMP
 * wHeretic
 * Win32 Doom
 * WinDoom
 * WinHeretic
 * WinHeretic Universal Save
 * WinHexen
 * WinMBF
 * ZDaemon
 * ZDoom
 * ZDoomGL

Macintosh

 * Chocolate Doom
 * Doom Legacy
 * Doomsday
 * Odamex
 * PrBoom
 * ZDoom

Unix/Unix-like

 * CGDoom
 * Chocolate Doom
 * csDoom
 * Doom Legacy
 * Doomsday
 * Doom SysAdmin Tool
 * DOSDoom
 * EDGE
 * ggiDoom
 * glHeretic
 * Linux Heretic
 * Linux Hexen
 * LsDoom
 * LxDoom
 * Odamex
 * ReMooD
 * PowerDoom (PowerPak engine)
 * PrBoom
 * psDoom
 * SDL Doom
 * SDL Hexen
 * SGI Doom
 * Skulltag
 * SvStrife
 * Vavoom
 * XDoom
 * ZDaemon (Server only)
 * ZDoom

OS/2

 * Doom Legacy
 * DoomDIVE
 * Hexen (OS/2)
 * XFree86/OS2 Doom

Amiga

 * ADoom
 * ADoomPPC
 * AmigaDoom
 * DoomAttack
 * PsiDoom
 * VDoomPPC
 * ZhaDoom
 * ZhaDoomPPC

Atari TOS

 * BAD MOOD

Atari MiNT

 * PmDoom
 * PmHeretic
 * PmHexen

BeOS

 * BeOS Heretic
 * BeOS Hexen
 * Doom!
 * PowerDoom (PowerPak engine)

Console
Note that official ports of Doom to various gaming consoles exist.
 * Boom (GP2X, etc.)
 * DoomDC (Sega Dreamcast)
 * Doom PSP
 * DoomX (Xbox)
 * dsDoom (Nintendo DS)
 * dsHeretic (Nintendo DS)
 * nxDoom (Sega Dreamcast)

Windows Mobile and Windows CE

 * CellDoom
 * Doom4CE
 * DoomCE
 * gfDoom

Palm OS

 * ZDoomZ
 * ZHeretic
 * ZHexen

Other Phones

 * C2Doom
 * CDoom (mobile)
 * Doom 9210
 * EDoom
 * Samsung SGH-B100

Portable Media Players

 * iDoom, using linux for iPods
 * Rockdoom, a plugin for the open source Rockbox firmware

Web-based

 * A Doom port using Flash 10
 * Doomed Online

Digital cameras

 * DoomD (Digita OS)