Commit Graph
5267 Commits
Author SHA1 Message Date
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
Abdessamad Derraz 0fce01826d docs: hash the Caprice Forever ROM resources
Each built-in ROM resource of Caprice.exe 26.4 is listed with the sha1
of its bytes and the dump it equals in this and other profiles. The
release date taken from History.txt is gone.
2026-11-10 14:13:51 +01:00
Abdessamad Derraz b2890d53ca chore: merge the integration into site-text 2026-11-10 14:13:07 +01:00
Abdessamad Derraz c2e8338a24 feat: test the text a page gives a reader
Generated and built pages read without the stylesheet, skipping hidden,
aria-hidden, scripts and styles: no step or figure text read twice, no
counter glued to a label, no empty picker, every laid out box spaced.
The build's filter box is compared with the generator's through node.
2026-11-10 14:12:06 +01:00
Abdessamad Derraz a4d5c6149b fix: space tile, stat and file row labels
Tiles read "BizHawkWindows, Linux", stats "168/168Coverage" and a
file row "SVI603.ROMbios/Machines/...OK": the stylesheet lays them
out as boxes, the markup had no space between them. A setup without a
logo draws its initials from the stylesheet, so its name is read once.
2026-11-10 14:12:06 +01:00
Abdessamad Derraz c916503958 fix: hide filter boxes and picker until wired
A filter box read "Filter Options41 rows" in the page text and the
file picker an empty "Setup Choose a setup": both do nothing without
the script. They are written hidden, keep their room so nothing moves,
and site.ts or the picker's script shows them. The count describes the
input and is spaced from the label. One box markup for the build and
the generator, and the Markdown copy skips hidden chrome.
2026-11-10 14:12:00 +01:00
Abdessamad Derraz fda6845289 refactor: show diagrams as themed SVG images
An inline SVG put every label of both layouts, its title and its desc
into the page text, next to the prose that already says the steps: a
text dump of the Steam Deck tab read the steps three times, glued.
Each drawing is now one SVG file per layout and theme under
assets/diagrams, shown through <picture> with alt="". The figure says
its words once, in one screen-reader line and its caption.
2026-11-10 14:11:47 +01:00
Abdessamad Derraz 8c18f12643 feat: refuse a binary ref without a place in it
A source_ref part that names a compiled image now has to carry an
address, a decompiled function or an IL method. An import directory, a
string table or readelf output only says the binary exists. A name
under a directory is a file of the tree and a .dll.map is not a DLL.
The exception list is empty: every closed profile now cites code.
2026-11-10 14:10:00 +01:00
Abdessamad Derraz e00045ba0e fix: cite NetherSX2 asset loaders in classes.dex
The flag, star, FAQ and notice assets cited format strings only. They
now name the decompiled methods that build each asset path and open it
through the AssetManager or a WebView, in all three builds.
2026-11-10 14:09:54 +01:00
Abdessamad Derraz 91512742a2 fix: give FPse plugin libraries NEEDED entries
The readelf parts of the FPse 12.1 and FPseNG 1.13 plugin refs now
carry the DT_NEEDED entry address in each build's libfpse.so.
2026-11-10 14:09:54 +01:00
Abdessamad Derraz 825e617014 fix: cite BAM 1.5-408 and plugin load sites
Import and .rdata citations now name the loader, LoadLibrary, cascade
and SQLite call sites in BAM.dll and its plugins. TrackIR.dll keeps the
NPClient.dll Future Pinball loads, Kinect10.dll is imported by the two
Kinect plugins only, and the PostFX, iCom and OpenVR configs gain
entries.
2026-11-10 14:09:02 +01:00
Abdessamad Derraz 0f3f3ab1f5 fix: cite Future Pinball 1.9.1 call sites
Import directory lines and manual pages gave way to the IAT ranges and
the calls that use each library in Future Pinball.exe 1.9.1.20101231.
fpLatestTables.xml is written by the program, not by libcurl.
2026-11-10 14:09:02 +01:00
Abdessamad Derraz 4f5951e2fb chore: merge the MAME search paths 2026-11-10 14:06:37 +01:00
Abdessamad Derraz 409578e20e feat: read Batocera's MAME search paths
Batocera starts MAME with -rompath <romDirname>;/userdata/bios/mame;
/userdata/bios, /userdata/roms/mame and the softlist folder added for
MESS systems, and -samplepath, -artpath and -crosshairpath below
/userdata/bios/mame (generators/mame/mameGenerator.py:129-143, 189 at
batocera-43.1, MAME_BIOS in mamePaths.py). No extractor read that
generator. It now goes through the generic reader KNULLI uses for its fork
of the same file, keeping the command line search settings: the
Macintosh boot disk the command names is a file.

Rescraped at batocera-43.1: the six records are the only change.

Manifests: Batocera drops samples/bbc.zip at the BIOS root, read by
neither build. mame/samples/bbc.zip, which its list declares, serves both.
The sets stay at the BIOS root, which the rompath lists.
2026-11-10 14:05:10 +01:00
Abdessamad Derraz 83e901a5d4 feat: read RetroPie search lists below $romdir
RetroPie writes MAME's mame.ini with samplepath $romdir/mame/samples;
$romdir/arcade/samples and artpath the same way (scriptmodules/emulators/
mame.sh:135-136), and MAME4ALL's mame.cfg with rompath and samplepath
below $romdir (mame4all.sh:78-79). The extractor kept the lines naming
$biosdir only. An iniSet whose value lists folders below $romdir is now a
search path, one folder alone being where the program writes
(cfg_directory and the others). $romdir is read as RetroPie's roms root
(retropie_packages.sh:47-49).

Rescraped at the pinned revision 427e7621: the four records are the only
change.

Manifests: RetroPie's standalone MAME reads bbc.zip in roms/mame/samples,
no longer named as read outside the BIOS folder, and its 19 floppy
samples there.
2026-11-10 14:05:03 +01:00
Abdessamad Derraz bd8cf8ed2c fix: deliver MAME trees a search setting moves
A tree installed with MAME sits where its search setting points by
default. When a launcher passes the setting, MAME reads the folder it is
given and never the installed copy: RetroBat passes -hash bios/mame/hash
and -sp bios/mame/samples (Mame64.Generator.cs:30, 101, 106-107, 172,
177-178), KNULLI -samplepath /userdata/bios/mame/samples
(mameGenerator.py:129), RetroDECK samplepath $bios_path/mame-sa/samples
(mame/component_prepare.sh:94, 117). A bundled entry whose layout folder a
passed search setting (standalone_pools) binds is now delivered there.

A moved directory entry is found by its layout path and laid out below
the platform's folder, the folder proving nothing about content. A layout
tail two trees answer (MAME's hash/) falls back on the platform's tail. A
file the profile names itself only shadows a tree member of the same build
below the same root.

Manifests: RetroDECK gains the 19 floppy samples in bios/mame-sa/samples/
floppy. RetroBat's hash/ and samples/floppy and KNULLI's samples/floppy
reach the folders the libretro layout already fills, with the same files.
2026-11-10 14:04:54 +01:00
Abdessamad Derraz 6c41ff95ea fix: give AdvanceMAME's sets both dir_rom folders
EmuELEC starts AdvanceMAME for arcade, mame and cps1-3 (es_systems.json).
advmame.sh sets dir_rom to /storage/roms/arcade for arcade and keeps
/storage/roms/mame for every other system (advmame.sh:26-30, 80), so an
arcade set is read in both. A binding gave each entry one place: an entry
launched both for a system a record names and for one it does not now
takes the place of each, in the pack, the manifest and verify. A system
the platform's list or machines put the entry under stands for the
entry's own ids, so XRoar's coco3.rom stays in RetroBat's bios/coco alone.

The AdvanceMAME sets are filed under arcade as well as their board.

A second-pass copy outside the BIOS tree now carries its layout path and
resolves by it, as the first pass does: EmuELEC's roms/mame/stvbios.zip
took bios/Arcade/MAME's set by that tail, roms/arcade/stvbios.zip the
Arcade/Arcade one.

Manifests: EmuELEC gains the 29 sets in roms/arcade, each the file
roms/mame holds. roms/mame/stvbios.zip changes from bios/Arcade/MAME to
bios/Arcade/Arcade/stvbios.zip, the copy the entry resolves to. Nothing
else moves.
2026-11-10 14:04:44 +01:00
Abdessamad Derraz 1b711b96f5 fix: read libretro MAME sets in mame/bios
libretro/mame hands MAME the rompath <content folder>;<system>/mame/bios;
<system>/mame/roms (src/osd/libretro/libretro-internal/retro_init.cpp:580-597
at 5f5a0774, 573-579 at dc1a9653 for 0.258, 582-588 at fba50741 for 0.278,
CORE_NAME "mame" in libretro_shared.h). The system folder itself is never
searched, and every pack put the sets there. The mame, mame0258, mame0278,
mamearcade and mamemess profiles now lay their sets out in mame/bios, the
standalone build keeping the top of its rompath. The release profile writer
and the device and set merge write the same paths on new entries.

RetroBat offers MAME as the libretro core mame and as the standalone mame64
(es_systems.cfg), two names of one profile, and laid out only the
standalone build. A libretro name whose profile the platform also runs
standalone under another name now makes the profile dual mode.

Manifests: mame/bios gains 1453 sets on RetroArch, Lakka, RetroPie,
EmuDeck and RetroDECK, 1427 on Batocera, KNULLI, RetroBat, ROCKNIX,
AmberELEC and EmuELEC, 78 on Recalbox. Root copies only these cores
claimed leave: 1373 on RetroArch and Lakka, 1372 on RetroPie, 1349 on
ROCKNIX, 1347 on AmberELEC, 1365 on EmuELEC, 240 on RetroDECK, 26 on
EmuDeck, 9 on Recalbox. Batocera, KNULLI and RetroBat keep theirs for the
standalone rompath. RetroBat gains the libretro layout: mame/hash (725),
mame/samples/floppy (19) and mame/plugins (71). The root copies other cores
still claim now hold the copy those cores resolve (38 on RetroArch).
Recalbox drops three Arcade/Arcade copies (coh3002t, pumpitup, naomi2)
that only the root claim reached, mame/bios holding the copies with every
member the 0.258 and 0.278 sets list. No set is lost.
2026-11-10 14:03:41 +01:00
Abdessamad Derraz 87aa74e09e chore: merge the code refs of data files 2026-11-10 14:02:10 +01:00
Abdessamad Derraz e32cdf9154 fix: keep only the EDK2 images -bios can start
Each EDK2 code image was run through a .qemu_cmd_line with -bios in the buildbot qemu_libretro.so (linux x86_64, 2026-07-27, 06ad814b) under scripts/core_probe.py, every pc-bios file staged in system/qemu.

edk2-aarch64-code.fd and edk2-arm-code.fd reach the TianoCore boot screen on -M virt with ramfb. edk2-x86_64-code.fd makes QEMU exit at once, as bios-256k.bin on the same command line does not: the x86 images are 3653632 bytes, not a multiple of 64 KiB, and x86_bios_rom_init refuses them (hw/i386/x86-common.c:1000-1002), the i386 and secure images included. edk2-riscv-code.fd leaves a black screen: it is S-mode code for pflash0 (docs/system/riscv/virt.rst:59-70).

The x86 and RISC-V images are read only as pflash drives, opened by path from the content folder, so the five entries are removed.
2026-11-10 14:00:49 +01:00
Abdessamad Derraz 0569626ff4 fix: cite munt's ROM table source in DREAMM refs
The mt32emu part named the bundled library only. It now cites the munt
ROMInfo::getROMInfo table that library is built from.
2026-11-10 13:58:55 +01:00
Abdessamad Derraz caa2e1076b fix: give the Lexaloffle NEEDED entries addresses
Library dependency parts of the PICO-8 and Voxatron refs now carry the
DT_NEEDED entry or import descriptor address in each binary.
2026-11-10 13:58:09 +01:00
Abdessamad Derraz e6db2ee0f0 fix: keep the Dolphin.exe build note in one part
The segaboot.gcm ref split the Dolphin.exe revision note into a part
of its own that named the binary without an address.
2026-11-10 13:58:09 +01:00
Abdessamad Derraz f5a3559961 fix: give XM6 Pro-68k zlib1.dll its descriptor
The delay-load part of the zlib1.dll ref now carries the descriptor and
IAT addresses in XM6.exe 260920.
2026-11-10 13:58:09 +01:00
Abdessamad Derraz 2df57dc59f fix: cite the Pepper Flash code naming pepper.vch
The ref named the DLL string table. It now cites the functions in
pepflashplayer.dll 32.0.0.371 that join the plugin directory with
pepper.vch and hand the path to the Flash Access DRM callback.
2026-11-10 13:58:09 +01:00
Abdessamad Derraz 57ff75682c docs: note the A7800 release ships hash/
The v5.2 release assets a7800-linux-v5.2.tgz, a7800-osx-v5.2.tgz and a7800-win-v5.2.zip each carry hash/a7800.xml, equal to the file at the pin apart from line endings, and a7800.ini sets hashpath to hash. The pin is an ancestor of the v5.2 tag.
2026-11-10 13:54:08 +01:00
Abdessamad Derraz 3d99fb765f docs: give UZDoom libretro refs their own lines
The IWAD entries cited one set of lines for both builds, read from the standalone tree. The libretro tree's d_iwad.cpp, d_main.cpp and iwadinfo.txt differ (its Names block lists doomxbox.wad and doom2xbox.wad once, not twice), so each entry now carries a standalone and a libretro ref, the second mapped line by line on the libretro pin. The libretro ref also cites the embedded game_support.pk3 and the -iwad the core passes for the content.
2026-11-10 13:52:56 +01:00
Abdessamad Derraz bd292ba2f9 fix: drop QEMU targets the core does not build
The core is built by libretro-gitlab-build.sh (Makefile.libretro-gitlab, the MAKEFILE of .gitlab-ci.yml) with a --target-list of 17 softmmu targets, and neither hppa-softmmu nor microblaze-softmmu is among them. hw/hppa/machine.c and hw/microblaze/ are not compiled, so nothing reads hppa-firmware.img, hppa-firmware64.img or the two Petalogix device trees. The four entries and the hppa system are removed.
2026-11-10 13:51:27 +01:00
Abdessamad Derraz 44d240d581 chore: merge the data-only ref check 2026-11-10 13:50:46 +01:00
Abdessamad Derraz 611dd0fa55 feat: refuse source_refs that cite only data
validate_schemas now refuses a files[] source_ref whose parts are all data or build files (a table, a makefile, meson.build, the file itself). A ref passes when one part names a source file or a binary with an address. The closed-source profiles whose refs are still prose about the shipped binary are listed in DATA_ONLY_REF_EXCEPTIONS with a reason each.
2026-11-10 13:49:45 +01:00
Abdessamad Derraz ccd819ac97 chore: merge the install record from main 2026-11-10 13:49:24 +01:00
Abdessamad Derraz 244d1c667f fix: cite TeknoParrot component binaries
Seven refs named a whole binary. They now cite the firmware check in
the RPCS3 build, the media board and JVS loaders in cxbxr-emu.dll, and
AMMediaboard.cpp at the commit the CrediarDolphin build reports. The
media board ROM is size checked, and the two JVS messages trade places.
2026-11-10 13:48:55 +01:00
Abdessamad Derraz 31f4241795 fix: cite rpix86 0.19 code for 4DOS.COM
The ref listed string offsets. It now names the shell lookup, the
missing-file prompt and the wget fallback in the rpix86 0.19 binary.
2026-11-10 13:48:55 +01:00
Abdessamad Derraz 771f53c999 fix: cite Phoenix 2.8.JAG code for its dumps
The four entries had no ref. Each now names the slot declaration, the
dump reader and the md5 test for the PAL Anvil BIOS in the RetroBat
PhoenixEmuProject.exe. The Jaguar boot ROM is optional, the core starts
the cartridge itself, and the 3DO font slot gains an entry.
2026-11-10 13:48:55 +01:00
Abdessamad Derraz 7c74c86094 fix: cite Caprice Forever 26.4 loader code
Refs were file offsets of help text and RTTI names. They now name the
ROM directory scan, the ROM slot loader with its AMSDOS header test and
the cartridge loader in Caprice.exe 26.4. The built-in ROMs are RCDATA
resources and cartridges come from a file dialog.
2026-11-10 13:47:25 +01:00
Abdessamad Derraz 9488e096e0 fix: cite cxbxr-emu.dll code in Chihiro-DS refs
Refs were bare string addresses. They now name the functions the
shipped PDB gives for the media board boot, the JVS image loader, the
EEPROM and key readers and the wm2_loader.dll load. EEPROM.bin is
resized to 256 bytes before the check, so size leaves validation.
2026-11-10 13:47:25 +01:00
Abdessamad Derraz dbfed02d85 fix: cite MFME 20.1 code for fonts, masks, sounds
Refs cited history.txt, the readmes and the import directory. They now
name the font scan, the mask loader and the 55-entry effect table with
its loaders in the unpacked MFME.exe 20.1.0.0. Meter.wav takes the case
the table uses, and RelayOn.wav and RelayOff.wav gain entries.
2026-11-10 13:46:23 +01:00
Abdessamad Derraz 0c2b718c5e docs: cite the ROM config reader in BeebEm
Four Torch ROM entries named only their Roms_Torch.cfg line. They now cite BeebEmTorch.vbs passing -Roms Roms_Torch.cfg, BeebWin taking that file from the user data folder, RomConfigFile::Load, and BeebReadRoms opening each paged ROM.
2026-11-10 13:44:57 +01:00
Abdessamad Derraz 565da616d9 docs: cite the ArcadeFlashWeb page load
background.jpg cited flash.html and qml.qrc only. It now cites the main.qml lines that open flash.html from the application folder, and the QML image that reads the compiled copy.
2026-11-10 13:44:19 +01:00
Abdessamad Derraz b597944c50 fix: read defaults.prp from the Abuse code
defaults.prp cited abuse.lsp, which does not name it. dev_init opens it at every start through property_manager::load, which skips a missing file, so it is optional. It holds the level editor window positions and is written back after an -edit session. english.lsp now cites the abuse.lsp load the engine runs and the install rule.
2026-11-10 13:43:45 +01:00
Abdessamad Derraz f98266f5e6 fix: cite DraStic r2.5.2.0 in advanced_drastic
Refs were bare string addresses. They now name the functions in the
r2.5.2.0 binary that build, open and size check each file, matched to
the r2.5.2.2 symbol names. Eight files the binary loads gain entries:
microphone, Lua scripts, cheats, slot-2 GBA, DLDI image and logos.
2026-11-10 13:42:59 +01:00
Abdessamad Derraz e375f63822 fix: cite DraStic shader loader code
The .dsd and .raw entries rested on the shader format text. They now
name the .dfx parser, the shader source loader and the texture reader in
libdrastic_arm64.so r2.6.0.4a. Readme citations give way to code, and
the shader log is <name>.dsd.log.
2026-11-10 13:42:55 +01:00
Abdessamad Derraz 851c7a9bc5 docs: cite the software list loader in A7800
hiscore.zip and xm.zip named only their hash/a7800.xml entries. They now cite the cart_list software list of the driver, the hash path that holds the XML, its open in softlist_dev.cpp, and the ROM search by list and set name in romload.cpp.
2026-11-10 13:42:53 +01:00
Abdessamad Derraz 2e02c55102 fix: keep the first steps under their ceiling
The record's page text took first-install.md 31 words over its 400. It now says only that one setup opens on Install. RETROBIOS_TUI_RECORDED is an internal marker of the full screen's own runs, like RETROBIOS_TUI_LIST.
2026-11-10 13:42:41 +01:00
Abdessamad Derraz cc0f628a12 fix: drop gs104.rom from the ZEsarUX profile
The entry cited only the configure line that packs every *.rom into the release. The General Sound loader opens GS_ROM_NAME, fixed to gs105a.rom (src/soundchips/gs.h:34), and no code names gs104.rom, so ZEsarUX never reads it under its name.
2026-11-10 13:41:43 +01:00
Abdessamad Derraz 3add162a37 docs: cite the C64DTV ROM loaders in VICE
The three C64DTV ROM entries named only their file in vice/data. They now cite the BasicName, KernalName and ChargenName resources that name them, the c64rom loaders those resources call, and the embedded table that answers the names in the libretro build.
2026-11-10 13:41:13 +01:00
Abdessamad Derraz c75d38fbe0 fix: drop cbios.txt from the MSX.emu profile
The entry cited only the bundled file and its note said no code reads it. No source file of MSX.emu names cbios.txt at the pin, so it is not a file the emulator loads.
2026-11-10 13:40:28 +01:00
Abdessamad Derraz ebe392fffb fix: cite XM6 Pro-68k 260920 code for its ROMs
Refs cited the changelog, readme, manual and XM6 2.06 source. They now
name the loaders and DLL load sites in XM6.exe 260920. ROM30.DAT and the
SCSI ROMs take the exact sizes the code checks, the X68030 boots on a
stub without ROM30.DAT, and SRAM.DAT takes both sizes it writes.
2026-11-10 13:40:13 +01:00
Abdessamad Derraz 761b2d80c7 fix: cite xm6g.exe 3.38 code for X68000 ROMs
Refs leaned on the PDF manual and pointed inside instructions. Each now
names the loader, the system file table index and the init path in
xm6g.exe 3.38. SCSIINROM.DAT is needed on the base model only, and
RTC.DAT and the YM2608 ROM take their read sizes.
2026-11-10 13:40:13 +01:00
Abdessamad Derraz e0e0e0e314 docs: cite how EightyOne reaches four ROMs
Four entries cited only their file in Source/ROMs. tk90.rom, tk95.rom and spectrum48.arabic.rom are in no ROM list and are read when picked with the Browse button. interface1.edition1.rom is listed for ZX Interface 1, but ConfigureFDCRom has no Interface 1 branch, so it is read only when the configuration file sets ROMINTERFACE1.
2026-11-10 13:39:49 +01:00