Chocolate Doom
Chocolate Doom emulates Doom, Heretic, Hexen and 2 more systems. It reads 18 files, 2 of them required: without a required file it does not start games. A required file is needed only by the machines that use it. Each file below cites the line of source code that reads it.
The app keeps its data in this folder:
~/
Source: src/m_config.c:2528-2549
$XDG_DATA_HOME/chocolate-doom/
~/.local/share/chocolate-doom when XDG_DATA_HOME is unset (SDL_GetPrefPath).
Source: src/m_config.c:2528-2549
About this profile
Install this emulator's files
With EmuELEC: the installer finds EmuELEC and its BIOS folder, then downloads only the files Chocolate Doom reads there and checks each one.
Open a terminal on the device. Or connect from a computer with SSH, a terminal over the network. Paste the line. Press Enter.
curl -fsSL https://raw.githubusercontent.com/Abdess/retrobios/main/install.sh | sh -s -- --emulator chocolate-doomTechnical notes
Simon Howard's Doom source port that reproduces the DOS executables. One
tree builds four programs, chocolate-doom, chocolate-heretic,
chocolate-hexen and chocolate-strife, each accepting only the IWADs of its
own game: the Doom program takes Doom, Doom II, Final Doom, Chex Quest and
Hacx, and every program refuses an IWAD carrying a sprite unique to another
game. EmuELEC builds this revision, launches chocolate-doom -iwad <file> for
a .wad, and for a .doom file picks the program from its GAMETYPE key.
ref: src/d_iwad.h:24-32, src/w_main.c:233-262,
EmuELEC packages/sx05re/emuelec-ports/chocolate-doom/package.mk:5,
EmuELEC packages/sx05re/emuelec-ports/chocolate-doom/scripts/chocodoom.sh:29-66
-iwad is looked for as given, then by name on the search path, and a name
outside the table leaves the mission undetermined. Without -iwad, each
directory of the search path is scanned for the names of the table in
order: the working directory, the executable's directory, $DOOMWADDIR, the
entries of $DOOMWADPATH, then the XDG data directories and Steam install
paths. Nothing found stops startup with "Game mode indeterminate". No hash
of any IWAD is read.
ref: src/d_iwad.c:34-52, src/d_iwad.c:567-594, src/d_iwad.c:732-783,
src/d_iwad.c:870-913, src/doom/d_main.c:1488-1496
The Freedoom IWADs and Hacx carry their own DEHACKED lump. Chex Quest and the
French Doom II need a separate dehacked patch, looked for beside the IWAD,
then on the search path. Without it the Doom program stops. Strife loads
voices.wad from beside the IWAD or the search path when present, and
disables voices otherwise.
ref: src/doom/d_main.c:1178-1184, src/doom/d_main.c:1188-1206,
src/doom/d_main.c:1210-1241, src/doom/d_main.c:1244-1278,
src/strife/d_main.c:844-885
Music plays through the OPL emulation by default, which takes its
instruments from the GENMIDI lump of the IWAD. EmuELEC's configuration
selects the SDL MIDI device instead and points timidity_cfg_path at
/storage/.config/timidity/timidity.cfg. gus_patch_path and the music pack
directory hold user supplied sets with no canonical artifact.
ref: src/i_sound.c:55, src/i_sound.c:504-506, src/i_sdlmusic.c:56-80,
EmuELEC packages/sx05re/emuelec-ports/chocolate-doom/config/chocolate-doom.cfg:27-29
Configuration files and saves go to the data root, the executable's directory on Windows. music_pack_path defaults to music-packs in the SDL preference folder, the data root outside Windows and %APPDATA%/chocolate-doom on Windows. ref: src/m_config.c:2528-2578, src/m_config.c:2588-2611
18 files: 2 required, 16 optional.
By kind: 18 game data.
| File | Required |
|---|---|
doom.wad |
no |
doom1.wad |
no |
doom2.wad |
no |
doom2f.wad |
no |
plutonia.wad |
no |
tnt.wad |
no |
freedoom1.wad |
no |
freedoom2.wad |
no |
freedm.wad |
no |
hacx.wad |
no |
chex.wad |
no |
chex.deh |
for Chex Quest |
french.deh |
for Doom |
heretic.wad |
no |
heretic1.wad |
no |
hexen.wad |
no |
strife1.wad |
no |
voices.wad |
no |
In this collection: 18 in repo and 0 missing.
Game data
Section titled “Game data”18 files
doom.wad optional in repo game data
The Ultimate Doom / Registered Doom IWAD
- System: Doom
- Source:
src/d_iwad.c:39 - Collection copy:
bios/Id Software/Doom/DOOM.WAD
doom1.wad optional in repo game data
Shareware Doom IWAD
- System: Doom
- Source:
src/d_iwad.c:40 - Collection copy:
bios/Id Software/ Doom/ DOOM1.WAD - Platforms: EmuELEC:
ports/doom/doom1.wad, RomM:doom/DOOM1.WAD
doom2.wad optional in repo game data
Doom II IWAD
- System: Doom
- Source:
src/d_iwad.c:36 - Collection copy:
bios/Id Software/ Doom/ v1.666/ doom2.wad - Platforms: EmuELEC:
ports/doom2/doom2.wad
doom2f.wad optional in repo game data
Doom II: L'Enfer sur Terre IWAD
- System: Doom
- Source:
src/d_iwad.c:41 - Collection copy:
bios/Id Software/ Doom/ DOOM2F.WAD - Platforms: RomM:
doom/DOOM2F.WAD
plutonia.wad optional in repo game data
Final Doom: The Plutonia Experiment IWAD
- System: Doom
- Source:
src/d_iwad.c:37 - Collection copy:
bios/Id Software/ Doom/ PLUTONIA.WAD
tnt.wad optional in repo game data
Final Doom: TNT: Evilution IWAD
- System: Doom
- Source:
src/d_iwad.c:38 - Collection copy:
bios/Id Software/Doom/TNT.WAD
freedoom1.wad optional in repo game data
Freedoom: Phase 1 IWAD
- System: Doom
- Source:
src/d_iwad.c:45,src/doom/d_main.c:1190-1196 - Collection copy:
bios/Id Software/ Doom/ freedoom1.wad
freedoom2.wad optional in repo game data
Freedoom: Phase 2 IWAD
- System: Doom
- Source:
src/d_iwad.c:44,src/doom/d_main.c:1190-1196 - Collection copy:
bios/Id Software/ Doom/ freedoom2.wad
freedm.wad optional in repo game data
FreeDM IWAD
- System: Doom
- Source:
src/d_iwad.c:46,src/doom/d_main.c:1190-1196 - Collection copy:
bios/Id Software/ Doom/ freedm.wad
hacx.wad optional in repo game data
Hacx IWAD
- System: Doom
- Source:
src/d_iwad.c:43,src/doom/d_main.c:1198-1206 - Collection copy:
bios/Id Software/Doom/hacx.wad
- Must be v1.2: its DEHACKED lump is required and a missing one stops startup.
chex.wad optional in repo game data
Chex Quest IWAD
- System: Chex Quest
- Source:
src/d_iwad.c:42 - Collection copy:
bios/Id Software/Doom/CHEX.WAD - Platforms: RomM:
doom/CHEX.WAD
chex.deh required for Chex Quest in repo game data
Dehacked patch emulating chex.exe (Simon Howard, 2008)
- System: Chex Quest
- Size: 19.9 KB
- Source:
src/doom/d_main.c:1210-1241 - Collection copy:
bios/Id Software/Doom/chex.deh
- Needed for chex.wad, the Doom program stops without it. Read beside the IWAD, then on the WAD search path. Distributed as themes/chex/chexdeh.zip on idgames.
french.deh required for Doom in repo game data
Dehacked patch emulating the French doom2.exe (Simon Howard, 2010)
- System: Doom
- Size: 20.3 KB
- Source:
src/doom/d_main.c:1178-1184,src/doom/d_main.c:1244-1278 - Collection copy:
bios/Id Software/ Doom/ french.deh
- Needed when the IWAD is the French Doom II, recognised by its lumps, and the Doom program stops without it. Read beside the IWAD, then on the WAD search path. Distributed as utils/exe_edit/patches/french.zip on idgames.
heretic.wad optional in repo game data
Heretic IWAD
- System: Heretic
- Source:
src/d_iwad.c:47,src/heretic/d_main.c:888-897 - Collection copy:
bios/Id Software/ Doom/ HERETIC.WAD - Platforms: RomM:
doom/HERETIC.WAD
heretic1.wad optional in repo game data
Shareware Heretic IWAD
- System: Heretic
- Source:
src/d_iwad.c:48,src/heretic/d_main.c:888-897 - Collection copy:
bios/Id Software/ Doom/ HERETIC1.WAD - Platforms: RomM:
doom/HERETIC1.WAD
hexen.wad optional in repo game data
Hexen IWAD
- System: Hexen
- Source:
src/d_iwad.c:49,src/hexen/h2_main.c:425-434 - Collection copy:
bios/Id Software/ Doom/ HEXEN.WAD - Platforms: RomM:
doom/HEXEN.WAD
strife1.wad optional in repo game data
Strife IWAD
- System: Strife
- Source:
src/d_iwad.c:51,src/strife/d_main.c:1728 - Collection copy:
bios/Id Software/ Doom/ STRIFE1.WAD - Platforms: RomM:
doom/STRIFE1.WAD
voices.wad optional in repo game data
Strife voice acting WAD
- System: Strife
- Source:
src/strife/d_main.c:844-885 - Collection copy:
bios/Id Software/ Doom/ VOICES.WAD - Platforms: RomM:
doom/VOICES.WAD
- Absent, voices are disabled.
Next steps
Section titled “Next steps”- Get your files, for the setup you play on
- Every system, and the files each one needs
- When a game does not start