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.

DOS

 * Boom
 * CDoom
 * Doom Legacy
 * DOSDoom
 * EDGE
 * Eternity
 * HexenDos
 * Hexetic
 * JDP
 * Marine's Best Friend
 * MidDoom
 * PDoom
 * RORDoom
 * Smack My Marine Up
 * TASDOOM
 * TASMBF
 * Vavoom
 * ZDoom

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

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

Console

 * Boom (GP2X, etc.)
 * DoomDC (Sega Dreamcast)
 * Doom PSP
 * DoomX (Xbox)
 * dsDoom (Nintendo DS)
 * dsHeretic (Nintendo DS)
 * nxDoom (Sega Dreamcast)

OS/2

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

BeOS

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

WindowsCE

 * Doom4CE
 * DoomCE

Amiga

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

Atari TOS

 * BAD MOOD

Atari MiNT

 * PmDoom
 * PmHeretic
 * PmHexen

Cell phone

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

Portable media players

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

PDAs

 * ZDOOMZ for all devices running PalmOS 5 or higher.

Web-based

 * A Doom1 port using flash 10
 * Doomed Online

Digital cameras

 * DoomD (Digita OS)