Commit Graph
15 Commits
Author SHA1 Message Date
Abdessamad Derraz a6716796a9 feat: write config_reads into the profiles
Where each shipped build finds the config a platform installs and reads
every key it opens a file from, read at the build the platform ships:
duckstation (EmuELEC, ROCKNIX, RetroBat), xemu, armsx2, hatari, melonDS,
dsperate, NanoBoyAdvance, mednafen (ROCKNIX's sydarn fork) and ares,
gzdoom, xroar, lrps2 and the amiberry builds at their pins. pin_build
names the builds ROCKNIX, EmuELEC and AmberELEC compile, revision the
ones RetroBat and Flathub install unpinned.

tests/test_launcher_evidence.py covers the rule, the extractor helpers,
the invariants and the chains that move placements.
2026-11-11 11:11:50 +01:00
Abdessamad Derraz 8ec0c5482c fix: place xroar ROMs in each rompath
XRoar reads a ROM by name from the directories of rompath. The entries
take their file name as path, relative to ~/.xroar/roms or
${prefix}/share/xroar/roms, and rompath and -rompath are declared as
search lists.

Batocera records its rompath line, Recalbox -rompath bios/<system>
(the placeholder its extractor already writes), RetroBat its -rompath
as two records, bios/dragon and bios/coco for coco. An entry whose
name the platform list does not declare follows the launch its
profile system is listed under: Recalbox lists mc10.rom under
trs80coco, so alice.rom is read there.

Batocera ROMs move from the BIOS root to bios/xroar, Recalbox ROMs to
bios/dragon and bios/trs80coco, RetroBat ROMs to bios/dragon and
bios/coco. RetroDECK and RetroPie keep them at the BIOS root.
2026-11-09 19:41:40 +01:00
Abdessamad Derraz ab9fe76de2 fix: resolve the cores handhelds rename
ArkOS ran the GBA with gpsp_ezode_mod and dArkOS with mgba_rumble: no
profile named them, so an install for the card's games kept every GBA
core's files, FBNeo's 3,472 data files among them. Each rename proven
from the OS build (same code base, same BIOS loading) joins its
profile's cores. The resolver folds either separator, and falls back to
the emulator column when the core names a mode, a machine or a plugin
of that program, only where its profile declares the folder's system:
MAME documents no GameKing ROM. 109 unresolved names are 56, each one
recorded with why in tests/test_games_index.py.
2026-11-09 06:04:42 +01:00
Abdessamad Derraz fd93381c3e fix: drop region tags chosen by machine model
XRoar reads the Dragon 200-E and Alice ROMs for those machine configs
(src/xroar.c:437-444, 552-558 at 1.12.1), and VICE the Japanese kernal
and chargen for the C64 JAP and VIC-1001 models: a (Japan) file name
selects the NTSC model (libretro-core.c:2018-2034). No code branches on a
territory for these files, so region: is removed, as profiling.md rules
for a model enum.
2026-11-05 11:54:06 +01:00
Abdessamad Derraz 3199bc2a55 fix: state standalone versions from their code
Each standalone profile records where its version is read: the source
at its pin (clk 2026-07-23-136-g9020107, shadps4 0.20.1 WIP, eden
v0.2.0-401-g26a03d2), the APK, binary or archive read (kind package),
or, where no reading can be made, kind unverified with the reason: a
host the tools cannot read, a forge gone or not answering, no build
recorded as read, a pin on another branch. Those keep their value,
unconfirmed.
2026-10-27 19:21:40 +01:00
Abdessamad Derraz 3ca746478d fix: keep only aliases the emulator opens
Aliases equal to a name a platform launcher chooses were read in each emulator's code at its pin. Removed where the code opens no such name: xemu Complex_4627v1.03.bin (the core offers Complex_4627_v1.03.bin), mednafen gecard.pce, dosbox bios.rom, raze Roland_SC-55.sf2, nine DraStic names, and clk's upper-case MSX names, whose paths now read msx.rom, msx2.rom and msx2ext.rom as ROMCatalogue.cpp:777-841 names them. Kept aliases now name the code list they come from in the entry note.
2026-10-21 10:50:08 +02:00
Abdessamad Derraz 85db3cad72 fix: list the ROMs xroar's ROM lists name
xroar finds ROMs through its ROM lists and adds .rom itself: disk10, ddos10, ddos40, dplus48 and d64rom1 are named there (src/xroar.c:714).
2026-10-20 14:26:24 +02:00
Abdessamad Derraz fcfc10b985 chore: re-profile XRoar 1.12.1
Refs moved to the 1.12.1 tree and its src/ layout. The new rom.c table names the crc32 of nine ROMs, two of which the code checks.
2026-10-20 04:46:46 +02:00
Abdessamad Derraz cf9406ab67 chore: watch release pages of off-forge profiles
38 profiles published outside a forge now name the page that announces their releases, so profile_sync and check_freshness see a new version. EDuke32 and Fury take the synthesis build label as core_version, the name the project gives that build.
2026-10-20 04:36:46 +02:00
Abdessamad Derraz 4231902a6c docs: write prose without dashes or semicolons
Profiles, the wiki, comments, docstrings, command output and schema descriptions carried em-dashes, clause-joining semicolons, unicode arrows, box-drawing banners and check-mark glyphs. Each sentence was rewritten rather than having its character swapped. Hashes, paths, source_ref values and every cited file:line are unchanged, which a comparison of each parsed profile against the previous revision confirms.

validate_pr comments now say PASS and FAIL in words, and source_ref values in a profile's structured blocks render as code. test_prose_style fails if any of these comes back, in tracked files or in the generated site.
2026-10-19 06:47:31 +02:00
Abdessamad Derraz 620e1244e6 feat: collect firmware and flagged backlog files 2026-10-04 23:47:55 +02:00
Abdessamad Derraz a40f505f71 feat: pin the dragon professional boot roms 2026-08-10 18:12:49 +02:00
Abdessamad Derraz 73ccb216f5 feat: align gap analysis coherence, add 7 BIOS files, unsourceable field
cross_reference.py: add bios_mode/agnostic/load_from filters, archive
grouping, unsourceable field support. verify.py: case-insensitive
by_name lookup, storage:release in_repo, unsourceable skip, trailing
slash fix. generate_site.py: enriched all_declared, platform-relevant
profile filtering, proper in_repo resolution on emulator pages,
acknowledged gaps section.

New BIOS: delta2.rom (XRoar), tilekey.dat + sprites.sif (NXEngine),
Gram Kracker.ctg + cf7+.ctg + ti-pcard.ctg (ti99sim), desc.dat
(SDLPAL). Profiles: hle_fallback on tilekey.dat/key.txt, unsourceable
on 7 files with source-verified reasons.
2026-04-02 15:35:24 +02:00
Abdessamad Derraz e13e8734b9 chore: standardize notes: to note: in file entries
240 file-level entries used notes: instead of the canonical note:
field. verify.py and cross_reference.py only read note:, so these
were silently ignored.
2026-03-29 10:02:20 +02:00
Abdessamad Derraz bbe4936cf2 feat: add 12 batocera standalone profiles, update 3 existing
New profiles: citron (Switch), clk (multi-system), demul (Hikaru),
eka2l1 (Symbian/N-Gage), gsplus (Apple IIGS), lexaloffle (PICO-8),
openmsx (MSX), ryujinx (Switch), shadps4 (PS4), tsugaru (FM Towns),
x16emu (Commander X16), xroar (Dragon/CoCo), zc210 (Zelda Classic).
Updated: amiberry, fsuae (standalone Amiga), ymir (Saturn standalone).
2026-03-26 07:01:16 +01:00