Setup program

The DOS version of Doom (vanilla Doom) included a setup program to allow the user to configure the game before running it. This was necessary because under DOS, programs needed the hardware settings to use to access devices such as the sound card and controllers. The setup program was included in Doom distributions as a file named "SETUP.EXE". Later games based on Doom, including Hexen and Strife, also included versions of the setup program.

The setup program appears to have been derived from the setup program written for Raptor: Call of the Shadows; early versions even attribute copyright to Raptor developer Cygnus Studios. Original Raptor setup utility was written in Intel C by Scott Host using menu system created by Paul Radek. Later John Romero rewrote setup utility using Borland C and replaced Paul's menu system with his own implementation. Romero designed menus using a shareware program called "The Laughing Dog Screen Maker" by Yardbird Software.

The source code to SETUP.EXE was released in 1996 by John Carmack, long before the release of the Doom source itself. In 2005, Simon "Fraggle" Howard contacted John Carmack, who agreed to relicensing of the source code under the GNU GPL.

Appearance
The setup program runs in DOS 80x25 text mode, with a blue color scheme. However, the color scheme changed between v1.5 and v1.7 (the versions of SETUP.EXE distributed with Doom 1.7a and Doom 1.8). The source code to the setup program shows that the earlier versions changed the EGA palette to make the blue a darker, "funky" shade, but this code was disabled in later versions, which used the brighter blue that is in the default EGA palette.

The older versions included help text for the currently selected item, displayed in the line at the bottom of the screen. The later version did not include this feature.

Main menu
The main menu lists the following options:


 * Choose Music Sound Card: Allows the user to configure the settings used to play music.
 * Choose Sound FX Card: Allows the user to configure the settings used to play sound effects.
 * Select Controller Type: The user is given the option of playing with the keyboard alone, with the keyboard and mouse, or with the keyboard and joystick.
 * Configure Controller: Allows the user to configure the control devices being used to play the game (mouse, keyboard and joystick).
 * Save parameters and launch DOOM: Writes the settings to default.cfg and runs the game to test them.

Network options:


 * Run a Network/Modem/Serial game: Allows the user to start a new multiplayer game, via the standard methods supported by Doom.
 * Restore a Network/Modem/Serial game: Allows players to continue a multiplayer game which was saved to a savegame.

Advanced settings
Several advanced or unusual game settings can only be set by editing the game configuration file directly without using the setup program. Look here for a full list of these settings.

Trivia

 * Older versions of the setup tool displayed help text for the currently selected item at the bottom of the screen. In the mouse configuration menu, the "Fire" and "Move Forward" items were mistakenly labelled with the help text "Fire main weapons" and "Fire special weapons the[sic] you pickup/buy".  Doom never included "special weapons" or the ability to buy weapons, these messages are apparently left over from the fact that the Doom setup program appears to have been derived from the setup program for .
 * Later versions of Heretic and Hexen removed the ability to launch multiplayer games using the setup program, instructing the user to use DeathManager! instead.
 * The setup utility included with Chocolate Doom, appropriately named chocolate-setup, closely replicates the functionality and appearance of the setup program. The Calico Configurator utility included with the Calico port of the Atari Jaguar version of Doom is in turn based on chocolate-setup.