{
  "commit": "fbe5ba4e3e790ab07eddc5b57e0f45a02cbcd60e",
  "count": 1,
  "generated_at": "2026-10-24T00:06:47Z",
  "items": [
    {
      "id": "dsda-doom",
      "profile": {
        "core_classification": "game_engine",
        "core_version": "0.29.4",
        "cores": [
          "dsda-doom"
        ],
        "data_root": {
          "linux": {
            "note": "~/.local/share/dsda-doom when XDG_DATA_HOME is unset, ~/.dsda-doom instead when that folder exists",
            "path": "$XDG_DATA_HOME/dsda-doom",
            "source_ref": "prboom2/src/SDL/i_system.c:333-358, 367-393"
          },
          "macos": {
            "note": "~/.dsda-doom instead when that folder exists",
            "path": "~/Library/Application Support/dsda-doom",
            "source_ref": "prboom2/src/SDL/i_system.c:367-393"
          }
        },
        "display_name": "Doom (dsda-doom)",
        "emulator": "dsda-doom",
        "files": [
          {
            "bundled": true,
            "category": "game_data",
            "crc32": "53e51c09",
            "description": "dsda-doom engine data WAD",
            "md5": "88c577edc68096f26a31a4f03777ada8",
            "name": "dsda-doom.wad",
            "note": "Existence is the only test. Hashes are those of the file dsda_rdatawad builds from data/ at this tag on Linux, which matches the copy in the v0.29.4 macOS release archive byte for byte. The copy in the Windows archive differs (3674386 bytes). Other versions carry different lumps.\n",
            "required": true,
            "sha1": "d527dd01b1e572ce017537ca1f2f6d35f4af90ce",
            "size": 3674257,
            "source_ref": "prboom2/src/m_misc.c:817-818, prboom2/src/SDL/i_system.c:622-629, prboom2/src/d_main.c:2021, prboom2/CMakeLists.txt:29"
          },
          {
            "category": "game_data",
            "name": "doom.wad",
            "note": "Registered and Ultimate Doom share the name and are told apart by the E4 maps.",
            "required": false,
            "source_ref": "prboom2/src/d_main.c:170, 197, 974-985, 1034-1039",
            "system": "doom"
          },
          {
            "category": "game_data",
            "installed_on": [
              "retropie"
            ],
            "name": "doom1.wad",
            "note": "Shareware Doom. RetroPie downloads it into its ports/doom directory when it installs dsda-doom.",
            "required": false,
            "source_ref": "prboom2/src/d_main.c:171, 198",
            "system": "doom"
          },
          {
            "category": "game_data",
            "name": "doomu.wad",
            "required": false,
            "source_ref": "prboom2/src/d_main.c:172, 199",
            "system": "doom"
          },
          {
            "category": "game_data",
            "name": "doom2.wad",
            "required": false,
            "source_ref": "prboom2/src/d_main.c:166, 1102-1103",
            "system": "doom"
          },
          {
            "category": "game_data",
            "name": "doom2f.wad",
            "note": "French Doom II. The name selects the French language.",
            "required": false,
            "source_ref": "prboom2/src/d_main.c:165, 1104-1105",
            "system": "doom"
          },
          {
            "category": "game_data",
            "name": "plutonia.wad",
            "required": false,
            "source_ref": "prboom2/src/d_main.c:167, 1108-1109",
            "system": "doom"
          },
          {
            "category": "game_data",
            "name": "tnt.wad",
            "required": false,
            "source_ref": "prboom2/src/d_main.c:168, 1106-1107",
            "system": "doom"
          },
          {
            "category": "game_data",
            "name": "bfgdoom.wad",
            "note": "BFG Edition of Doom, recognised by its DMENUPIC lump.",
            "required": false,
            "source_ref": "prboom2/src/d_main.c:186, 1017-1020",
            "system": "doom"
          },
          {
            "category": "game_data",
            "name": "bfgdoom2.wad",
            "note": "BFG Edition of Doom II, recognised by its DMENUPIC lump.",
            "required": false,
            "source_ref": "prboom2/src/d_main.c:185, 1017-1020",
            "system": "doom"
          },
          {
            "category": "game_data",
            "name": "nerve.wad",
            "note": "No Rest for the Living. A PWAD given with -file on top of Doom II.",
            "required": false,
            "source_ref": "prboom2/src/d_main.c:899-902",
            "system": "doom"
          },
          {
            "category": "game_data",
            "installed_on": [
              "retropie"
            ],
            "name": "freedoom1.wad",
            "note": "RetroPie unpacks Freedoom 0.13.0 into its ports/doom directory when it installs dsda-doom.",
            "required": false,
            "source_ref": "prboom2/src/d_main.c:175, 201, 1099-1100",
            "system": "doom"
          },
          {
            "category": "game_data",
            "installed_on": [
              "retropie"
            ],
            "name": "freedoom2.wad",
            "note": "RetroPie unpacks Freedoom 0.13.0 into its ports/doom directory when it installs dsda-doom.",
            "required": false,
            "source_ref": "prboom2/src/d_main.c:174, 1114-1116",
            "system": "doom"
          },
          {
            "category": "game_data",
            "name": "freedm.wad",
            "required": false,
            "source_ref": "prboom2/src/d_main.c:176, 1114-1116",
            "system": "doom"
          },
          {
            "category": "game_data",
            "name": "heretic.wad",
            "required": false,
            "source_ref": "prboom2/src/d_main.c:188, 206, 1064-1068",
            "system": "heretic"
          },
          {
            "category": "game_data",
            "name": "heretic1.wad",
            "note": "Shareware Heretic.",
            "required": false,
            "source_ref": "prboom2/src/d_main.c:191, 208, 1079-1085",
            "system": "heretic"
          },
          {
            "category": "game_data",
            "name": "hexen.wad",
            "note": "v1.1 only. The shareware and v1.0 IWADs are refused.",
            "required": false,
            "source_ref": "prboom2/src/d_main.c:189, 1070-1077, 2046-2057",
            "system": "hexen"
          },
          {
            "category": "game_data",
            "name": "chex.wad",
            "required": false,
            "source_ref": "prboom2/src/d_main.c:178, 203, 1093-1094",
            "system": "chex"
          },
          {
            "category": "game_data",
            "name": "chex3v.wad",
            "required": false,
            "source_ref": "prboom2/src/d_main.c:179, 1095-1096",
            "system": "chex"
          },
          {
            "category": "game_data",
            "name": "chex3d2.wad",
            "required": false,
            "source_ref": "prboom2/src/d_main.c:180, 1110-1111",
            "system": "chex"
          },
          {
            "category": "game_data",
            "name": "hacx.wad",
            "required": false,
            "source_ref": "prboom2/src/d_main.c:182, 1112-1113",
            "system": "doom"
          },
          {
            "category": "game_data",
            "name": "rekkrsa.wad",
            "note": "REKKR: Sunken Land.",
            "required": false,
            "source_ref": "prboom2/src/d_main.c:183, 204, 1097-1098",
            "system": "doom"
          }
        ],
        "notes": "Doom source port derived from PrBoom+, by Ryan Krafnick (kraflab). Plays\nDoom, Doom II, Final Doom, Heretic, Hexen, Chex Quest, Hacx, REKKR and the\nFreedoom IWADs from one binary. The profiled tag is v0.29.4. v0.29.3 reads\nthe same files: between the two tags d_main.c, m_misc.c and\nMUSIC/flplayer.c are unchanged in what they open, and SDL/i_system.c only\nswitches to a bounded snprintf in the path search.\n\ndsda-doom.wad holds the engine's own lumps (the WAD_DATA name,\nprboom2/CMakeLists.txt:29). M_LoadDefaults requires it through\nI_RequireFile, which aborts with \"Unable to find required file\" when the\nsearch fails (prboom2/src/m_misc.c:817-818,\nprboom2/src/SDL/i_system.c:622-629). D_DoomMainSetup then adds it as an\nautoload source ahead of the IWAD (prboom2/src/d_main.c:2021), and its\nlumps are tagged LUMP_PRBOOM so a PWAD can override them\n(prboom2/src/w_wad.c:170-178). The tree ships the inputs, not the file:\ndata/CMakeLists.txt builds it with the dsda_rdatawad tool from the raw\npalette, lumps, PPM graphics and WAV sounds under data/.\n\nEvery file is located by I_FindFileInternal, which tries in order the\nexecutable directory, the config directory (the executable directory again\non Windows, prboom2/src/SDL/i_system.c:244-247), the working directory,\n$DOOMWADDIR, the build-time DOOMWADDIR, the build-time path of\ndsda-doom.wad, the SDL base path and ../share/games/doom under it,\n$HOME/doom, $HOME, $XDG_DATA_HOME/games/doom, every $XDG_DATA_DIRS entry\nunder games/doom then doom, and last every entry of $DOOMWADPATH. Existence\nis the only test, and the requested extension is appended only when the\nname as written is missing (prboom2/src/SDL/i_system.c:471-620).\n\nThe IWAD is -iwad when given, else the first name of standard_iwads found\non that path (prboom2/src/d_main.c:163-191, 1152-1189). A GAMEINFO lump in\na loaded PWAD can name the IWAD instead, and a PWAD with Doom 1 maps\nswitches the search to episode_iwads (prboom2/src/d_main.c:195-209,\n1850-1904). Nothing found stops startup with \"IdentifyVersion: IWAD not\nfound\" (prboom2/src/d_main.c:1906-1910). CheckIWAD reads the lump\ndirectory and sets the game mode from the map lumps it counts, so a WAD\nunder any name plays (prboom2/src/d_main.c:933-1043). AddIWAD takes the\ngame from the file name: heretic.wad and heretic1.wad select Heretic,\nhexen.wad selects Hexen, and the Chex, REKKR, Hacx, TNT, Plutonia, French\nDoom II and Freedoom missions are keyed on their names too\n(prboom2/src/d_main.c:1048-1130). No hash of any IWAD is read.\n\nHexen needs the v1.1 IWAD: a hexen.wad without MAP05 is refused as the\nshareware release, one without CLUS1MSG as v1.0\n(prboom2/src/d_main.c:2046-2057). nerve.wad is a PWAD loaded with -file,\nand its name alone switches the mission to No Rest for the Living\n(prboom2/src/d_main.c:899-902).\n\nMIDI music goes through the fluidsynth player by default\n(prboom2/src/dsda/configuration.c:742-745, prboom2/src/SDL/i_sound.c:1059-1070).\nIt loads snd_soundfont when that setting names one, empty by default,\nand otherwise the SNDFONT lump, which dsda-doom.wad carries from\ndata/lumps/soundfont/sndfont.lmp (prboom2/src/MUSIC/flplayer.c:275-303,\nprboom2/src/dsda/configuration.c:750-752, prboom2/data/CMakeLists.txt:59).\nNo soundfont file is read in the default configuration. The OPL player\ntakes its instruments from the GENMIDI lump of the IWAD.\n\nRetroPie installs dsda-doom.wad beside the binary, the first directory\nsearched, and launches \"dsda-doom -iwad <file>\" with DOOMWADDIR set to its\nports/doom directory.\n",
        "profiled_date": "2026-10-20",
        "source": "https://github.com/dsda-org/dsda-doom",
        "source_commit": "e443ff7a3e6090a1ff92ad7a426916c4fd35ecc5",
        "systems": [
          "doom",
          "heretic",
          "hexen",
          "chex"
        ],
        "type": "standalone"
      }
    }
  ],
  "kind": "emulators",
  "schema_version": 1
}
