Files
libretro/emulators/prboom.yml
Abdessamad Derraz de1940d57c feat: hle_fallback on 39 emulator profiles (266 entries)
Batch analysis of all 273 profiles to identify HLE/embedded
fallbacks. Added hle_fallback: true where the core has verified
software replacement for missing BIOS files:

- Embedded ROMs: vice (102), ep128emu (22), fuse (18), frodo (4)
- HLE BIOS: bsnes* (33 across 3 profiles), puae (9 AROS),
  noods (4), melonds* (6 FreeBIOS), flycast (3 reios)
- Open-source replacements: sameboy (8), pokemini (1), gpsp (1)
- Built-in fallbacks: np2kai (7), atari800 (6 Altirra),
  picodrive (3), quasi88 (4), gambatte (2)

Conservative: only added where notes or source code confirm HLE.
Skipped 50+ profiles where files are optional alternatives, not
HLE replaceable (neocd, opera, kronos, pcem, etc.)
2026-03-19 13:03:48 +01:00

52 lines
2.2 KiB
YAML

emulator: PrBoom
type: libretro
source: "https://github.com/libretro/libretro-prboom"
profiled_date: "2026-03-18"
core_version: "v2.5.0"
display_name: "Doom (PrBoom)"
systems: [doom]
notes: |
PrBoom is a Doom source port based on MBF (Marine's Best Friend), itself
derived from Boom. The libretro port plays Doom, Doom II, Final Doom,
FreeDoom, and custom WADs/PWADs.
The core requires prboom.wad, a small engine data WAD containing internal
resources: font glyphs, palette, colormaps, sine/tangent tables, gamma
tables, menu graphics, and a null sprite (TNT1A0). It is NOT a game WAD.
The file is generated at build time by the rdatawad tool from raw PPM
graphics and LMP lumps (see Makefile.prboomdata), but ships pre-built
in the repository root.
Without prboom.wad the core falls back to hardcoded internal defaults
(d_main.c:1073-1074), so the file is technically optional but expected
for correct rendering of menus, HUD digits, and extended features.
File search order (libretro.c I_FindFile, line 1743):
1. WAD directory (same folder as the loaded game WAD)
2. system/prboom/ subdirectory
3. system/ directory directly
4. Parent folders of WAD directory (recursive, if enabled)
The core accepts .wad, .iwad, .pwad, and .lmp extensions. Game IWADs
it recognizes (d_main.c:133-145): doom2f.wad, doom2.wad, plutonia.wad,
tnt.wad, freedoom2.wad, doom.wad, doomu.wad, freedoom1.wad,
freedoom.wad, doom1.wad.
The src/ directory contains a second, larger prboom.wad (228743 bytes,
md5 23afd6143cb1ffec99a46755f9209ea6) which is the upstream PrBoom
original. The root copy (143312 bytes) is the libretro-specific build.
files:
- name: "prboom.wad"
system: doom
description: "PrBoom engine data WAD (fonts, palette, colormaps, tables, menu graphics)"
required: false
hle_fallback: true
size: 143312
md5: "72ae1b47820fcc93cc0df9c428d0face"
sha1: "5f4aed208301449c2e9514edfd325fe9dead76fa"
crc32: "a5751b99"
source_ref: "d_main.c:1069-1078 (PACKAGE .wad load), libretro.c:1743-1780 (I_FindFile search), config.h:46 (PACKAGE=prboom)"
notes: "Searched in system/prboom/ then system/. Falls back to internal defaults if missing, but menus and HUD may render incorrectly without it."