Files
libretro/emulators/reminiscence.yml
Abdessamad Derraz d929424988 feat: add profiled_date to all YAMLs, create 56 alias profiles
- Added profiled_date field to all 204 existing profiles for update tracking
- Created 56 alias profiles for cores that share BIOS with a parent
  (e.g., mednafen_psx -> beetle_psx, fbalpha2012 -> fbneo)

260 total profiles covering all 294 libretro cores (204 unique + 56 alias).
2026-03-18 05:20:05 +01:00

87 lines
3.5 KiB
YAML

emulator: REminiscence
type: libretro
source: "https://github.com/libretro/REminiscence"
profiled_date: "2026-03-18"
cores:
- reminiscence
systems:
- flashback
notes: |
REminiscence is a re-implementation of the Flashback (Delphine Software, 1992) game engine,
ported to libretro. Version 0.3.6. It is not a general-purpose emulator; it only runs the
original Flashback game data files.
The core sets need_fullpath = true and valid_extensions = "map" (libretro.cpp:67-68).
Content loading (retro_load_game) extracts the parent directory from the provided .MAP
file path and uses it as the data root via FileSystem (libretro.cpp:194-196).
Version detection (libretro.cpp:126-149) probes for these files in order:
DEMO_UK.ABA -> DOS Demo
INTRO.SEQ -> DOS CD
LEVEL1.MAP -> DOS
LEVEL1.LEV -> Amiga
DEMO.LEV -> Amiga Demo
Only kResourceTypeDOS is accepted by retro_load_game (line 199); Amiga data is rejected.
Language detection (libretro.cpp:151-175) probes for:
ENGCINE.TXT -> English
FR_CINE.TXT -> French
GERCINE.TXT -> German
SPACINE.TXT -> Spanish
ITACINE.TXT -> Italian
FRCINE.TXT -> French (Amiga)
Falls back to English if none found.
All game data files are loaded from the content directory at runtime via FileSystem
(fs.cpp), which recursively scans the directory and matches filenames case-insensitively
(strcasecmp at fs.cpp:52). The resource system (resource.cpp) loads files by constructing
names like "LEVEL1.MAP", "GLOBAL.ICN", "PERSO.SPR", "FB_TXT.FNT", etc.
The core never calls RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY. All data files must live
alongside the loaded .MAP content file (or in subdirectories of its parent). There are
no BIOS or firmware files; the required files are the original Flashback game data.
Music is loaded from .mod files or Amiga-format module files (mod_player.cpp, staticres.cpp
lines 3198-3225). These are optional; the core has a built-in SFX player for in-game
action music (sfx_player.cpp with embedded music data in staticres.cpp).
VOICE.VCE from the SegaCD version can optionally be placed in the data directory for
in-game voice playback (resource.cpp:910).
INTRO.SEQ and other .SEQ files from the DOS CD version provide FMV cutscenes
(seq_player.cpp). Without them, the core falls back to polygon-based cutscenes.
files: []
analysis:
content_type: game_data
content_extensions: ["map"]
system_directory_used: false
filesystem_access: true
data_files_location: "same directory as loaded content"
game_data_files:
dos_floppy:
required:
- "LEVEL1.MAP through LEVEL7.MAP (level map data)"
- "LEVEL1.* (MBK, PGE, PAL, CT, SPC, RP, ANI, OBJ, TBN, SGD, BNQ, LEV)"
- "GLOBAL.ICN, GLOBAL.SPC, GLOBAL.FIB"
- "PERSO.SPR, PERSO.OFF"
- "FB_TXT.FNT"
- "ENGCINE.TXT or equivalent language file"
- "ENGCINE.BIN or equivalent"
optional:
- "intro, options, journal, etc. (.mod files for cutscene music)"
- "VOICE.VCE (SegaCD voice data)"
dos_cd:
additional:
- "INTRO.SEQ, CREDITS.SEQ, and other .SEQ cutscene videos"
demo:
archive: "DEMO_UK.ABA (contains all demo data in a single archive)"
detection_order:
- { file: "DEMO_UK.ABA", type: "DOS Demo" }
- { file: "INTRO.SEQ", type: "DOS CD" }
- { file: "LEVEL1.MAP", type: "DOS Floppy" }
- { file: "LEVEL1.LEV", type: "Amiga (rejected by libretro port)" }
- { file: "DEMO.LEV", type: "Amiga Demo (rejected by libretro port)" }