Files
libretro/emulators/reminiscence.yml
Abdessamad Derraz ebb55a445b feat: re-profile 40 emulators, harden CI workflows
profile emulators pd777 through tic80, add frozen snapshots
(puae2021, snes9x2002/2005/2010, stella2014/2023).

CI: replace github-script with gh CLI, add test execution,
job-level permissions, propagate changed output, pin jsonschema.
2026-03-25 07:00:17 +01:00

101 lines
4.1 KiB
YAML

emulator: REminiscence
type: libretro
core_classification: community_fork
source: "https://github.com/libretro/REminiscence"
upstream: "https://github.com/cyxx/REminiscence"
profiled_date: "2026-03-25"
core_version: "0.3.6"
display_name: "Flashback (REminiscence)"
cores:
- reminiscence
systems:
- flashback
notes: |
Game engine re-implementation of Flashback (Delphine Software, 1992) by Gregory Montoir,
ported to libretro by Stuart Carnie. Version 0.3.6 (upstream is at 0.5.5).
The core sets need_fullpath = true and valid_extensions = "map" (libretro.cpp:66).
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:125-148) 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 (line 199); Amiga data is rejected.
Language detection (libretro.cpp:150-174) 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 via FileSystem (fs.cpp),
which 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. No BIOS or firmware files; the required files
are the original Flashback DOS game data.
Music loaded from .mod files (mod_player.cpp, staticres.cpp:3198-3225). 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 be placed in the data directory for in-game
voice playback (resource.cpp:900-941). Optional.
SEQ cutscene playback is disabled in the libretro build: g_options is zero-initialized
(game.cpp:30) and rs.cfg is never parsed, so use_seq_cutscenes defaults to false.
The core always uses polygon-based cutscenes (cutscene.cpp).
Upstream (0.5.5) additionally supports Amiga, Macintosh, PC98 data, MIDI music,
OGG playback, SEQ cutscenes, and widescreen modes. None of these are in the
libretro port.
files: []
exclusion_note: >
Game engine core. All data files (game data, music, voice) are loaded from the content
directory alongside the .MAP file via FileSystem. The core never accesses the system
directory (RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY is never called). The .info declares
firmware_count=0, consistent with the code.
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 (SEQ playback disabled in libretro build)"
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)" }