Commit Graph
5216 Commits
Author SHA1 Message Date
Abdessamad Derraz 389ebfa132 fix: let config reads date their own build
A pin_build that only dates a config_reads entry names the revision the
platform reads that file at (ROCKNIX's armsx2 PKG_VERSION, KNULLI's
lrmame0278), not the profile's source_commit. Since a6716796a wrote
config_reads into the profiles, EveryBuildReferenceNamesThePin counted
armsx2, duckstation, hatari, mame, melonds and xemu as disagreeing. The
value is now required to name the pin only for a profile whose pin
those references hold or follow (pin_frozen, pin_follows).

advancemame still disagrees: held at 799060b, it names three earlier
builds (EmuELEC 6a34ec0, AmberELEC 0f6a767, Recalbox 5f301c8).
2026-11-11 13:27:18 +01:00
Abdessamad Derraz 7ff8f17808 feat: profile RetroPie's AdvanceMAME tip build
RetroPie clones amadvance/advancemame at the branch tip with no
revision (scriptmodules/emulators/advmame.sh:16, 39-41 at 427e762), so
advmame is profiled at 96237a5 (v5.0-484), built_by retropie and held
by pin_follows. RetroPie's advmame now resolves to it, advancemame
keeping EmuELEC, AmberELEC and Recalbox.

The MAME workflow at 96237a5: 28 BIOS roots registered in
mame/mamedriv.c (macs2bios is not), the eight ZN roots under their MAME
names (coh1000c, coh3002c, coh1002m, coh1000t, coh1002e, coh1001l,
coh1000w, coh1000a), modern Neo Geo members, coh1000w's CAT702, and 15
device archives that BIOS_LOAD reads first (atarisy1, coh3002t, m1comm,
midssio, namcoc65/68/69/71/74, s_smp, saa5050, sente6vb, sns_dsp1bleg,
t5182, v4bios). bctvidbs declares no ROM of its own. Three laserdisc
player programs are opened by name outside any ROM list, with a fatal
length, CRC32 and SHA1 check: pr8210, 22vp931 and simutrek.

pin_build accepts pin_follows in the schema, and bump_commit advances a
built_by profile that follows the tip.

Manifests: RetroPie gains 24 archives at its BIOS root, the ZN ones
under their new names, and nss.zip moves to the copy holding
nss-c.dat and nss-ic14.02. The other platforms do not change.
verify --all keeps its counts. profile_sync: 0 to review.
2026-11-11 13:27:00 +01:00
Abdessamad Derraz 157d60691d chore: merge the MAME ES-DE search paths 2026-11-11 13:01:56 +01:00
Abdessamad Derraz 801af113b7 feat: record every core a rom folder offers
The rom folders files kept the default core of each folder only, so a
core the user picks in the frontend's menu was not known to read its
sets there. Each folder now lists its offers: every <core> of every
<emulator> in AmberELEC's es_systems.cfg (arcade:
packages/ui/emulationstation/config/es_systems.cfg:116-150), every core
of EmuELEC's es_systems.json, every add_emu_core of ROCKNIX's emulators
package.mk with the device case it is written under (arcade: 218-229),
and the emulator of every ES-DE <command>. A core written under every
branch of a case is offered unconditionally. The ES-XML, ES-JSON,
ELEC-conf and ES-DE setups are rescraped at their pins: archr, arkos,
chaos, darkos, jelos, kolos, pan4elec, retrobat and unofficialos gain
the same records and nothing else.

A libretro core offered for a folder reads the sets it loads beside the
game there, as the default one does.

Manifests, roms folders gaining sets read beside the game:
- AmberELEC: +215 (293.1 MB) in fbneo, arcade and mame, for MAME 2010,
  2015, 2016 and 2003-Plus. 1 omission leaves.
- EmuELEC: +291 (232.0 MB) in cps1, cps2, cps3, mame, fbneo and
  arcade, for MAME 2010 and 2003-Plus. 47 omissions leave.
- ROCKNIX: +501 (538.7 MB) in fbneo, neogeo, cps1, cps2, cps3, arcade
  and mame, for MAME 2010, 2015 and 2003-Plus. 120 omissions leave.
- EmuDeck: +306 (251.2 MB) in cps, cps1, cps2, cps3, arcade and mame,
  for MAME 2000, 2003, 2003-Plus and 2010. 92 omissions leave.
Each omission that leaves was a set named as read outside the BIOS
folder. RetroDECK and the other platforms do not change. No file
leaves, and verify --all keeps its severity and status counts.
2026-11-11 12:57:45 +01:00
Abdessamad Derraz 01a422f86c fix: give a shared roms archive the default copy
A pack writes one file per path, and the second pass of core extras
gave a path read by several cores to the first profile in name order:
EmuELEC's arcade/neogeo.zip took AdvanceMAME's copy although the folder
starts MAME 2003-Plus by default (es_systems.json:82), and RetroDECK's
cps folders took MAME 2000's neogeo.zip and MAME 2003's nss.zip, which
lack members MAME 2003-Plus requires there.

The copies cores ask for at one path are now gathered first. The copy
of the core the roms folder starts by default goes first, then the one
holding every required member of the most claims, then profile order.
The others stay alternatives in the manifest.

Manifests: EmuELEC arcade/neogeo.zip becomes neogeo.zip.74df3258
(MAME 2003-Plus, AdvanceMAME's 4ccf6682 an alternative). RetroDECK
roms/cps, cps1, cps2 and cps3 get neogeo.zip.74df3258 and
nss.zip.cba0bd8c. No file is added or removed. verify --all keeps its
counts.
2026-11-11 12:55:22 +01:00
Abdessamad Derraz 852ce19ca9 fix: read EmuDeck's MAME in ES-DE's rom folders
EmuDeck writes mame.ini rompath ${romsPath}/arcade;${biosPath};
${biosPath}/mame (emuDeckMAME.sh:66-68). Steam ROM Manager starts MAME
through tools/launchers/mame.sh with the game alone, so that list is
read there. Every standalone MAME command of ES-DE v3.5.0, which EmuDeck
installs, passes -rompath %GAMEDIR%\;%ROMPATH%/<system>, and the command
line outranks mame.ini. A set the mame.ini record places keeps that
place and also goes to each folder a command passes for a machine that
reads it.

The Model 3 folder, live in EmuDeck's list and commented out in
RetroDECK's, holds the machines of sega/model3.cpp.

Manifests: EmuDeck gains 1483 files (466.7 MB) below roms/, 480 each in
arcade, consolearcade and mame, the others in adam, daphne, laserdisc,
macintosh and 15 more. The pack ZIP does not change, roms/ being
written by the installer. No file leaves.
2026-11-11 12:32:06 +01:00
Abdessamad Derraz 7035da1154 feat: read libretro MAME's -rompath from ES-DE
ES-DE starts the libretro MAME core with a command line as its content
in 22 commands across 21 systems ("apple2e -rompath \"%GAMEDIRRAW%;
%ROMPATH%/apple2\" -flop1 ...", resources/systems/linux/es_systems.xml
at RetroDECK's 15e1b236 and EmuDeck's ES-DE v3.5.0), run through the
shell by popen (es-core/src/utils/PlatformUtil.cpp:231, 257).

At 5f5a0774 the core reads content that is no file as a command line
(retro_init.cpp:966-1008). Set_Path_Option passes its own -rompath
<content dir>;<system>/mame/bios;<system>/mame/roms (580-597), then
every word of the command line follows, -rompath included, only -rp
being dropped when mame_paths_enable is off (902-940, 914-919). MAME
keeps the later value of an option given twice at one priority
(src/lib/util/options.cpp:260-276, clifront.cpp:243). Those commands
read their sets in the folders they name, and mame/bios stays read by
every command that passes none.

The ES-DE parser records these commands in searched_by with their core,
the mame profile declares libretro_pools (-rompath and -rp stand for
mame/bios), and a set there also goes to each folder a command names
for a machine that reads it.

Manifests: EmuDeck gains 16 files below roms/ (apple2, apple2gs,
astrocde, crvision, gamate, gamecom, gmaster, intellivision, odyssey2,
scv, supracan, vectrex, videopac, vsmile). RetroDECK does not change:
its standalone MAME commands already put the same sets at the same
paths. No file leaves.
2026-11-11 12:30:53 +01:00
Abdessamad Derraz d9565f2a4b chore: merge the remaining launcher proofs 2026-11-11 12:18:08 +01:00
Abdessamad Derraz 0a6c70c388 feat: read retrodeck and emudeck at shipped builds
RetroDECK carries GZDoom g4.14.2 in its components and installs LRPS2
14d19f8 from the buildbot's stable 1.22.2 cores. EmuDeck runs the
Flathub ares, v148. Each gets its own config_reads entry, and an entry
read at the pin no longer stands for a platform another entry names.

At v148 ares reads NeoGeoAES/Firmware/BIOS.World, so that EmuDeck record
holds. It names MSX2 firmware MAIN and SUB, and PC Engine CD and
SuperGrafx CD firmware by card: EmuDeck's BIOS.* keys for those three
are never read and stay unproven.
2026-11-11 12:17:04 +01:00
Abdessamad Derraz 87683d9bd7 refactor: keep build refs out of conditions
A line cited in a config_reads condition is read as prose at the
profile's pin, not at the build the entry describes. The lines move
into the key's source_ref, which is read at that build.
2026-11-11 12:17:04 +01:00
Abdessamad Derraz 2173ba00d9 chore: hold advancemame at its rewritten pin
amadvance/advancemame rewrote the tip of master: e291032 is no ancestor
of the branch any more, and 799060b replaces it (same parent abfc3c8,
same message). The two differ in makefiles and the removed jedutil
sources only, none of the files the profile cites, so the refs keep
their lines at 799060b (v5.0-453-g799060b).

From e1a9aad5 the branch renames the Sony ZN BIOS archives after MAME
(cpzn1 becomes coh1000c, zn.c BIOS() at 4801) and loads firmware with
BIOS_LOAD. EmuELEC (6a34ec0), AmberELEC (0f6a767) and Recalbox
(5f301c8) build earlier revisions that read the names the profile
lists, so the pin is held with pin_frozen and the two other builds join
pin_build. RetroPie builds the branch tip (advmame.sh:16, 39-41).

profile_sync: 0 to review. Manifests do not change.
2026-11-11 12:11:03 +01:00
Abdessamad Derraz f72a5b9e9b chore: merge the installer screens from main 2026-11-11 12:10:37 +01:00
Abdessamad Derraz b8ed9b735a feat: profile the retroarch frontend config reads
AmberELEC and ROCKNIX install a retroarch.cfg whose system_directory
points every core at the BIOS folder. retroarch.yml (type utility, no
file, no system) reads that key, and ROCKNIX's systemfiles_in_content_dir,
at the RetroArch each one compiles: v1.22.2 and bdba046f. all_libretro
never picks a utility profile, and lists naming retroarch gain no file.

A libretro core option a frontend record writes stays the core's to
read: RetroDECK's pcsx2_bios keeps lrps2 as its reader.
2026-11-11 12:06:28 +01:00
Abdessamad Derraz 8770b9c067 fix: install emuelec configs from the boot copy
duckstation.sh quotes its glob, so its copy names a file called * and
installs nothing. userconfig-setup copies /usr/config into
/storage/.config at every boot, an existing file kept (false | cp -i),
and /emuelec links there: that copy installs settings.ini and
advmame.rc. A quoted glob is no install, and a redirection ends the
copy's operands. Rescraped at v4.8: only these installs change.
2026-11-11 11:57:12 +01:00
Abdessamad Derraz b29500846b feat: read retrobat's saturn and atari builds
RetroBat installs its stable archives, so each config_reads entry is
read at the build the binary names: Hatari 2.4.1, hatariB 0.3,
Hatari2014 at ab55c3e from the buildbot, Kronos 2.7.0 and Ymir 0.3.3.
SSF ships PreviewVer R28 and YabaSanshiro 1.20.32 has no public
source: binary_sha256 names the file their address refs are read in.
The seven RetroBat records citing an option list now hold.
2026-11-11 11:57:12 +01:00
Abdessamad Derraz 1d3a4076c5 fix: prove KNULLI's MAME -hard at its builds
KNULLI 20260511 ships libretro/mame lrmame0278 and GroovyMAME
gm0277sr221e (the batocera submodule's libretro-mame.mk and mame.mk).
mameGenerator.py and libretroMAMEConfig.py pass the Macintosh boot disk
as -hard. MAME names the option of a machine's one hard disk image by its
brief type name: harddriv.h:43 returns "hard", update_names keeps it
without an index (diimage.cpp:1131-1165) and the option entries are
registered under it (emuopts.cpp:389-404, 680-694), the LC III holding
one harddisk at scsi:0 (maclc3.cpp:266). GroovyMAME's diimage.cpp,
harddriv.h and maclc3.cpp equal mamedev mame0277.

The mame profile carries that read as config_reads with KNULLI's two
builds in pin_build, and both -hard records bind. The manifest does not
change: KNULLI's own list already puts mac608, mac701 and mac755.chd in
/userdata/bios, the folder the records search.
2026-11-11 11:43:30 +01:00
Abdessamad Derraz 01ca625378 feat: rescrape retrobat at its pinned commit
The scraper read emulatorLauncher master on every run, so an extractor
change was diffed together with upstream's commits since the pin. It now
rereads the commit platforms/retrobat.yml pins. --revision master moves
it, and check_freshness and refresh_stale pass that through the
registry's rescrape_args.

The extractors also read master (f681f435): Kronos and YabaSanshiro
fall back to sega_101.bin then mpr-17933.bin when the chosen BIOS is
absent, Ymir writes a forced BIOS only under its override flag, and a
folder created below bios (Ymir's cdb) is a passes_path record. At the
pin the 187 records are unchanged.
2026-11-11 11:40:05 +01:00
Abdessamad Derraz 3820aa3cc8 fix: prove AdvanceMAME's dir_rom at EmuELEC build
EmuELEC builds AdvanceMAME at 6a34ec0 (package.mk PKG_VERSION, v4.8).
At that build advmame.rc is read from the home, host and data folders
(advance/osd/emu.c:754-757, 779-791) and the dir_* keys set each search
folder (advance/osd/fileio.c:72-86, 798-815). With the config_reads the
launcher evidence rule asks for, EmuELEC's advmame.sh dir_rom records
bind again: its manifest gets back the 29 sets in roms/arcade and the
29 in roms/mame.
2026-11-11 11:21:23 +01:00
Abdessamad Derraz 308721d56b chore: merge the launcher evidence rule 2026-11-11 11:17:16 +01:00
Abdessamad Derraz 7a3d91585d feat: read ES-DE MAME search paths
ES-DE starts standalone MAME with -rompath %GAMEDIR%\;%ROMPATH%/<system>
in 78 live commands across 54 systems (resources/systems/linux/
es_systems.xml at retrodeck-main-20261103-162710, 15e1b236; two more
are commented out). The command line outranks mame.ini, so RetroDECK's
MAME reads its sets in the roms folder each command names and in no
BIOS folder. The ES-DE rom folders parser now records, per folder, the
folders a standalone command passes as its ROM search path and the
machines it starts, or that the game is the machine (%BASENAME%).
Rescraped at the pinned revisions: retrodeck, emudeck and
emudeck-windows gain these records and nothing else.

A command reads the sets its machines load: the machine's own set, the
BIOS sets on its romof chain and the device sets with ROMs it
instantiates, from games/arcade/mame.json (mame0289 -listxml). That
index now also lists the game and device sets of each driver source
file, so a %BASENAME% folder reads for its board: neogeo and stv by
their BIOS root, cps1-3 and model2 by source file, daphne and laserdisc
by the laserdisc player devices, gameandwatch and lcdgames by the
handheld sources, any other (arcade, mame, consolearcade) for every
machine. The published installer copy of the index leaves the sources
out.

Manifests: RetroDECK gains 1399 files, 378.2 MB, below roms/. Of the 219
sets named as read outside the BIOS folder, 58 reach 146 files (25.9 MB),
161 stay named, no command's machine reading them. 441 sets RetroDECK's
list also declares at bios/ reach 1253 files (352.3 MB), 429 each in
arcade and mame and 480 in consolearcade. No other platform changes.
2026-11-11 11:17:06 +01:00
Abdessamad Derraz 5c1d810086 chore: merge the launcher evidence rule 2026-11-11 11:15:53 +01:00
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 a8cfd20f49 fix: place MAME 2016 and older sets by the game
MAME 2000, 2003, 2003-Plus, 2009, 2010, 2014, 2015, 2016 and UME 2015
search the folder of the loaded game for their sets and never the system
folder: osd_get_path gives FILETYPE_ROM the content path (mame2003 and
mame2003-plus src/fileio.c:217-220), -rompath is MgamePath (mame2009
retromain.c:432-434, mame2014 retromain.c:1851-1856, mame2015 and
ume2015 retromain.c:1980-2042, mame2016 retromain.cpp:1364-1402), ROMs
open with libretro_content_directory (mame2010 romload.c:667-685) or
IMAMEBASEPATH (mame2000 libretro.c:1044-1053, 1247). Their 421 sets are
load_from: content_dir. Samples, artwork, cheats and the data files read
from the system folder keep their paths.

A set read beside the game goes to the roms folder of each system the
platform launches the core for: libretro_systems, the default core of a
rom folder, the cores a system offers under its own name, the systems a
RetroPie package registers (the lr-mess packages build SUBTARGET=mess,
lr-mess2016.sh:31, and read none of these arcade sets). A roms root in
the install tree takes a plain dest, as a standalone entry placed there.
A platform with no folder per system, or none it can place (RetroArch,
Lakka, RetroBat, EmuDeck, MyMinUI), names the set as read outside the
BIOS folder. EmulatorJS writes the BIOS and the game to one folder
(emulator.js:845, 990, 1054): RomM keeps its firmware entries. Game data
read beside the content is left to the game.

Manifests: roms folders gain 408 files on RetroDECK, 182 on RetroPie,
179 on Recalbox, 140 on AmberELEC, 134 on KNULLI, 52 on Batocera and
ROCKNIX, 39 on EmuELEC. BIOS root copies no other core reads leave: 80
on RetroArch, Lakka and ROCKNIX, 61 on EmuELEC, 60 on Recalbox, 59 on
AmberELEC, 57 on RetroPie, 26 on MyMinUI, 20 on RetroDECK, 19 on
Batocera and EmuDeck, 16 on KNULLI, 13 on RetroBat. verify --all keeps
its severity and status counts.
2026-11-11 11:11:24 +01:00
Abdessamad Derraz 0addf9055e chore: merge the device and emulator screens 2026-11-11 11:10:44 +01:00
Abdessamad Derraz a285be7930 fix: hold the device screen choices
Every board always sets --every-board. A board list that failed is fetched again, once and with the list's timeout. A pack is read only once the screen takes it, and a ZIP that is no pack is closed. Another setup drops the board and emulators, and names a new list lacks are left out and said. PgUp and Home never rest on a heading. Without the internet is refused for a target whose board list is not held.
2026-11-11 11:09:53 +01:00
Abdessamad Derraz f950482567 feat: cite option lists as choices_from
RetroBat's es_features.cfg and KNULLI's es_features.yml list the values
a menu offers. They move out of source_ref into choices_from, beside the
generator that writes the choice. RetroBat's xemu flashrom record holds
outside a Chihiro launch (Xemu.Generator.cs:48, 284), and KNULLI's
libretro boot disk records name the one core es_features offers them
for. Rescraped at the pinned revisions.
2026-11-11 11:04:08 +01:00
Abdessamad Derraz c5d3e85bac feat: record config installs in shell extractors
ROCKNIX, EmuELEC, AmberELEC, EmuDeck and RetroDECK records citing a
config now carry the code installing it, whether that keeps a file
already there, and the launch code rewriting its keys. Rescraped at the
pinned revisions.

Records the shipped code never reads are no longer written: EmuELEC's
mame.ini folders (MAME.opt turns paths off), AmberELEC's atari800.cfg
(read only under an option that is off), the six RetroDECK XRoar ROM
lists no machine looks up, and the ROCKNIX melonDS DSi BIOS keys
(DSiExternalBIOSEnable is set by no shipped ini).

Conditions added: ROCKNIX and AmberELEC amiberry kickstarts hold only
outside a WHDLoad --autoload boot, ROCKNIX NanoBoyAdvance exits without
its BIOS, the EmuELEC scummvm.ini copy runs from an action no launch
passes, and the EmuDeck melonDS.toml keys need ExternalBIOSEnable (DS)
or ConsoleType 1 (DSi).
2026-11-11 11:04:02 +01:00
Abdessamad Derraz 3129eaf10c feat: bind config launcher records on evidence
A launcher record citing a config, option or feature file binds only
when the platform's code installs the file (installs), its launch code
was read for what replaces it (overrides), and the emulator's profile
shows where the shipped build loads it and reads each key
(config_reads, read at pin_build). Unproven records place no file and
hand no directory. verify, cross_reference and the platform page list
them apart, outside severity and --strict.
2026-11-11 11:03:47 +01:00
Abdessamad Derraz be2b243e1b docs: describe the change screen
Device, Emulators, From a pack and Without the internet on the installer page, and the key table names Change.
2026-11-11 10:44:02 +01:00
Abdessamad Derraz b9481977e1 feat: add device and emulator screens
Change replaces Options and groups every option by intent. Device chooses --target or --every-board, the board read on the device or named by the card first and chosen. Emulators ticks --emulator. From a pack and Without the internet are rows of their own. Parity tests install the screen's argv and the flag's into two folders and compare dest and sha1.
2026-11-11 10:44:02 +01:00
Abdessamad Derraz 8b6e2587aa chore: merge the reversed closed-source refs 2026-11-11 10:29:53 +01:00
Abdessamad Derraz f07edf03ec docs: drop the FPseNG site FAQ claim
The recommendation quoted from the FPse site FAQ is gone. The HLE
fallback beside it is cited in libfpse.so.
2026-11-11 10:28:53 +01:00
Abdessamad Derraz 33624d13c0 docs: drop README claims from advanced_drastic
The hooked SDL2 description rested on the README alone. The notes now
say what launch.sh does at the pinned commit.
2026-11-11 10:28:53 +01:00
Abdessamad Derraz 3422d90acf docs: drop ePSXe manual claims from its notes
Two claims resting on the ePSXe manual alone are gone. The code refs
beside them stay.
2026-11-11 10:27:58 +01:00
Abdessamad Derraz c660aabfa8 docs: cite CSpect.exe in place of its readme
The platform and version facts now cite the assembly attributes and
the host selection in CSpect.exe 3.3.1.0.
2026-11-11 10:27:58 +01:00
Abdessamad Derraz 302994d209 fix: read the SSF BIOS rules from SSF.exe
Readme claims give way to the boot routine of SSF.exe R38: the Saturn
BIOS must read 0x80000 bytes, a failed read or NoBIOS falls back to the
embedded boot ROM, so the BIOS is optional with an HLE fallback, and
ST-V reads its EPROM whatever NoBIOS says.
2026-11-11 10:27:58 +01:00
Abdessamad Derraz ecfe8157bb fix: keep .mdx pages through the sweep
A body is written as .md and the decoration pass, after the sweep,
gives a page with components its .mdx name. The sweep did not count the
.mdx of the run before as produced: 402 pages were deleted and written
again on every run, so write_if_changed never kept their bytes.
2026-11-11 10:27:53 +01:00
Abdessamad Derraz 8d69ad54df fix: space Starlight's previous and next links
The word and the page title were split by a <br> only, which a copy,
textContent and an assistant read as "PreviousWhat the packs do not
hold". The override keeps Starlight's look, spaces them, names each link
by direction and page, and makes the pair a navigation landmark.
2026-11-11 10:27:53 +01:00
Abdessamad Derraz baa42df2a7 chore: record the trees and parts after the merge
sitesources.py --fetch records the three pinned trees the merged
profiles added and drops paths they no longer cite. generate_site.py
records the new MSX part pages.
2026-11-11 10:27:53 +01:00
Abdessamad Derraz 5297319f8c chore: drop the hppa name no profile uses
The QEMU profile stopped listing the HPPA target (bd292ba2f): its entry
in SYSTEM_NAMES was a leftover.
2026-11-11 10:27:52 +01:00
Abdessamad Derraz 75c9170666 fix: link Heretic, Hexen, Strife and Chex Quest
GZDoom now declares the path of each IWAD, so their files resolve by
path and these ids count as held. Their IWADs sit in the Doom folder,
and no parent led them there: the Doom section is theirs too.
2026-11-11 10:27:52 +01:00
Abdessamad Derraz 9627c79591 docs: list two test modules in the testing guide
test_content_checks and test_data_only_refs read profile content and
citations: they sit with the verification and profile checks.
2026-11-11 10:27:52 +01:00
Abdessamad Derraz 95bb3ab127 docs: drop MasterGear FAQ claims from its notes
FAQ quotes give way to the SF7000 branch of the reset routine in the
MG 4.9 desktop binary, or are gone.
2026-11-10 14:25:43 +01:00
Abdessamad Derraz b7f4139008 docs: cite Speccy code in place of its manual
The -home, -palette, DEFAULT.Z80 and Sam Coupe claims now cite the
option table and loaders of the Speccy 5.9 desktop binary. Quotes with
no code behind them are gone.
2026-11-10 14:25:43 +01:00
Abdessamad Derraz 9d2df170e8 docs: cite MFME code in place of its history file
Notes claims taken from history.txt and the readmes now cite the code
in MFME.exe 20.1.0.0 or the installer payload, or are gone.
2026-11-10 14:25:43 +01:00
Abdessamad Derraz 23f3c1b231 docs: drop manual claims from Future Pinball notes
Notes now cite code for the fpRam directory, the registry keys and the
Tables path, and drop the manual, installer and Batocera changelog
wording. The code spells the directory fpRam.
2026-11-10 14:25:21 +01:00
Abdessamad Derraz 3ff241a189 fix: prove the cascade loads in BAM camera plugins
The four camera plugins link OpenCV statically. Refs now cite the
CascadeClassifier::load call, its path built from the plugin directory
and the three-entry table, and the empty detector that follows a
failed load.
2026-11-10 14:25:21 +01:00
Abdessamad Derraz b66471538c fix: trace xm6g.exe startup to the ROM loader
The step from the frame's create handler down to Memory::Init was
inferred from the error message. Refs now give the chain through
AfxWinMain, InitInstance, the message map, VM::Init and the device
vtable, and the notes say where the SRAM machine index is set.
2026-11-10 14:21:38 +01:00
Abdessamad Derraz bae3453278 fix: state the boot.id gate in Chihiro-DS notes
The media board ROM is needed only when a boot.id sits beside the XBE,
cited at the system detection block of cxbxr-emu.dll.
2026-11-10 14:17:08 +01:00
Abdessamad Derraz 499c81a8de fix: prove the boot.id gate in TeknoParrot cxbxr
The media board ROM ref now cites the XBE directory build, the boot.id
exists test that makes the system Chihiro and the gate that skips the
ROM checks in TeknoParrot's cxbxr-emu.dll.
2026-11-10 14:17:08 +01:00