Commit Graph
6 Commits
Author SHA1 Message Date
Abdessamad Derraz cb7700a594 fix: read AdvanceMAME's dir_rom list on RetroPie
RetroPie writes dir_rom $romdir/mame-advmame:$romdir/arcade into the
rc of each AdvanceMAME build (advmame.sh:100, configure_advmame being
called by the 1.4 and 0.94 modules too). _search_list_in_roms split
every list on ';', so the line was dropped and the sets landed at the
BIOS root, where no build reads them.

Each program's separator is now read from its own code: AdvanceMAME
strtoks dir_rom on file_dir_separator(), ':' on Linux, in the three
builds RetroPie ships (advance/linux/file.c:138-141, advance/osd/
fileio.c:696-699 at 96237a5, 685-688 at advancemame-1.4, 640-643 in
advancemame-0.94.0). MAME splits on ';' (src/emu/fileio.cpp:56, 64,
112 at mame0289). RetroPie is rescraped at 427e762: the three
passes_path records are its only change.

advmame, advmame-1.4 and advmame-0.94 carry a retropie config_reads
for dir_rom, read at the build RetroPie installs (96237a5, the tag
advancemame-1.4 its tarball matches, the 0.94.0 tarball). The 1.4 and
0.94 profiles gain the dir_rom pool and a path for each set, and 0.94
a pin_build on rp_module_repo.

Manifests: on RetroPie 55 sets of the three builds move from the BIOS
root to roms/mame-advmame, the first folder of the list, which every
game started from either folder reads. Seven archives other cores
share stay at the root for them. No other platform changes. verify
--all keeps its severity and status counts.
2026-11-11 14:57:12 +01:00
Abdessamad Derraz 3011ee498e feat: record the build file behind a held pin
pin_frozen was prose, and no tool read the build file it cites, so a platform building another revision left the profile holding one nobody ships. pin_build records the platform, its repository, the revision read, the file, the variable and its value. check_freshness reads the file again where the platform's YAML now stands and reports STALE when the value moved. 36 of the 46 held profiles carry it, each value read from the build file at the platform's scraped revision. The other ten name no build file and are counted on one row: six RetroBat binary packages and four holds not tied to a platform build.
2026-11-05 19:54:48 +01:00
Abdessamad Derraz 09eb7099fb fix: state the arcade versions their code reads
core_version is read at each pin where version_basis says. MAME 2014,
2015, MESS 2015 and CDi 2015 state 0.159 in src/version.c (the libretro
wrapper reports 0.160), MAME/MESS sits on the 0.289 makefile of its pin,
FinalBurn Neo states 1.0.0.03 in src/burn/version.h, FB Alpha 2012 and
its CPS-3 build 0.2.97.30. mame_version of MAME 2014 and 2015 follows,
as MESS 2015 and UME 2015 already said.
2026-10-27 18:58:54 +01:00
Abdessamad Derraz 1b50170922 fix: give MAME and FBNeo data files their system
Entries without a system in multi-system profiles were left unattributed by the truth model, and four System.dat additions left the export. Each system is read from the core's code at its pin. hiscore.dat, cheats and history serve every running machine (mame2000 cpuintrf.c:664-666, mame2003 cpuexec.c:280-282, mame2003_plus cpuexec.c:296-298, fbneo hiscore.cpp:154-161 gated on BDF_HISCORE_SUPPORTED), all arcade in those builds, so arcade. BIOS sets take the id their driver gives in the other MAME profiles, and bctvidbs is barcrest-mpu4 everywhere. Files serving several systems of one build (groovymame data files, raine) keep no system. Core resolution is unchanged on every platform.
2026-10-20 16:45:54 +02:00
Abdessamad Derraz 8b203e397c chore: mark what the new profiles' installs bring
The profiles written for RetroBat and RetroPie were checked the same way: UZDoom, LZDoom, SRB2 and AdvanceMAME data ship with their releases, RetroPie installs the shareware Doom, Quake III and Wolfenstein data, the Aleph One scenarios and 4DOS beside the ports it builds, RetroBat installs Jynx's ROMs, and Recalbox's uae4all core comes without the AROS ROMs.
2026-10-20 06:21:34 +02:00
Abdessamad Derraz bb19a6d5cf feat: profile what RetroBat and RetroPie run
100 emulator names the two platforms run had no profile, so their packs carried nothing for them. Each was read from the platform's own launcher or scriptmodule: the same program as an existing profile takes the name in cores:, a different build gets its own profile read from that version, a launcher or self-contained game goes to remove_cores, and the rest are new profiles written from their source or shipped binary. The files they need that the collection lacked are collected from the upstream distributions. Bungie and splitwolf trees are read by path and stay out of dedup.
2026-10-20 06:14:10 +02:00