Commit Graph
3184 Commits
Author SHA1 Message Date
Abdessamad Derraz 6e7047b3fc feat: attach the installer to each release 2026-10-23 18:48:02 +02:00
Abdessamad Derraz 34b3a9a9c6 docs: arcade version table in technical faq 2026-10-23 18:48:02 +02:00
Abdessamad Derraz 8cf70b6afb docs: name emulator errors in troubleshooting 2026-10-23 18:48:02 +02:00
Abdessamad Derraz e1d35c3cb4 chore: merge the engine review fixes 2026-10-23 18:24:24 +02:00
Abdessamad Derraz a5e025b7ee feat: transfer event splits local and network
The engine counts the bytes a copy, the pack or a resumed partial copy
supplied, and those the network brought. A transfer event carries both
after each progress event and once when the downloads end, so a screen
shows a download speed without guessing.
2026-10-23 18:23:22 +02:00
Abdessamad Derraz b764b5eba4 chore: regenerate database and readme
The genuine XeFu set (16 files, RSA-verified against Microsoft's retail
key) and the held and advanced pins. Generated twice, identical.
2026-10-23 18:21:10 +02:00
Abdessamad Derraz b0e9894275 chore: test --from around the BIOS folder
An archive the run replaces gives no member to copy: the lookup that
skips it came with the one-pass index, this test holds it.
2026-10-23 18:15:39 +02:00
Abdessamad Derraz 28037c8b53 fix: keep the --from search on one drive
The walk no longer enters another drive mounted below the folder (it is
named instead), /proc, /sys, /dev or a Windows junction, and the root of
the system is refused. from_folder_problem() checks a folder without
reading it. A scanned event reports each folder read, cut short or not.
2026-10-23 18:15:19 +02:00
Abdessamad Derraz 2da724879b fix: name --from copies that could not be read
A file, ZIP member or folder below a --from folder that could not be
read was taken as no match. When its size is that of a file the run
still needs, or unknown, --check, --dry-run and an install now name it
with the reason, and an unreadable event carries it.
2026-10-23 18:08:49 +02:00
Abdessamad Derraz 6f541e9b8c fix: tell an unreadable copy from a locked folder
A copy that could not be read when it was copied was reported as a
folder not writable. The source is now opened first and its errors are
its own, and a download failing after it names both reasons. A run
reading a pack falls back to the pack, never to the network.
2026-10-23 18:03:05 +02:00
Abdessamad Derraz af3caed8ab fix: give xbox 360 its own section 2026-10-23 18:01:45 +02:00
Abdessamad Derraz c6926e10b8 fix: index archives and sizes once in the check
A missing file walked every archive of the BIOS folder and every file of
its size: 3,000 ZIPs and 3,000 missing files took 186 s, now under 1 s.
--from copies and the owner of a refused file use the same lookups.
2026-10-23 17:59:25 +02:00
Abdessamad Derraz e88bd4ad6f chore: file xefu where xenia-edge reads it
The Compatibility folder of an Xbox 360 drive is what xenia-edge mounts
as Xenia-Edge/xefu/ (libretro) and xefu/ (standalone): the collection
files it under that tail so the directory entry resolves.
2026-10-23 17:57:40 +02:00
Abdessamad Derraz 2d706cbd5d feat: add xbox 360 xefu backward compatibility
Compatibility folder of an Xbox 360 hard drive and the April 2018
backward compatibility title update (FFFE07D2, v2.0.5832.0).

xbox.xex and xefu.xex (v2.0.1884.0) and dash/fonts/xbox.xtf are equal in
archive.org items backwards-compatibility-files and
xbox-360-backwards-compatibility-partition-backup. Xbox Book.xtf is equal
in backwards-compatibility-files and a second upload of the folder.

The xefu1_1 to xefu7b builds and xefutitle5 to xefutitle7b come from the
title update package tu20075c00_00000000 (backwards-compatibility-files).
Every block of the package matches its hash tables up to the header top
hash, and every XEX verifies against the retail PIRS public key. The
package's xbox.xexp and xefu.xexp name the base files above by the SHA-1
of their signatures.
2026-10-23 17:55:39 +02:00
Abdessamad Derraz f22ae7de09 docs: name upstream_frozen in the profiling page 2026-10-23 17:55:39 +02:00
Abdessamad Derraz 898f6f7fbd chore: advance nine profiles the rules now clear
mariani, nuance and pcsx2x6 move upstream_commit to their fork base,
dolphin-mmjr2, hatari and jl-mod to upstream HEAD now that their prose
reads in the right tree, boom3 and bsnes-jg record the upstream they are
read against, and groovymame's source pin follows its fork.
2026-10-23 17:30:54 +02:00
Abdessamad Derraz ddb07dad9a chore: hold ten vendored upstream pins
aps3e, emucorex, ax360e, snes9x-explus vendor an upstream tree at that
commit, nes-emu and higan_sfc_balanced synced to it, yaps2, flycast-dojo
and supermodel-dojo carry upstream up to it, and AmberELEC builds
mupen64plus's core there. Each reason is in the profile's notes.
2026-10-23 17:30:21 +02:00
Abdessamad Derraz 82bf236a5a feat: hold an upstream pin a port vendors
upstream_frozen says why upstream_commit stays: the port vendors that
upstream tree, synced to that release, or merged that commit. The view
is then read at its own pin, the way pin_frozen holds source_commit, and
a bump leaves it. Outside a GitHub fork network nothing else could tell
aps3e's vendored RPCS3 1f080485 from an upstream read on a date.
2026-10-23 17:30:20 +02:00
Abdessamad Derraz 9fce5bef87 docs: name the release five advanced pins hold
The pins moved past a newer release: dice v0.4.3, geargrafx 1.8.4,
gearlynx 1.2.35, izapple2 v2.5.0, lightspark 0.10.0 (its CMake version
at the pin). The drhelius cores take their version from git describe,
dice and izapple2 carry none, so the release tag is the version.
2026-10-23 17:27:40 +02:00
Abdessamad Derraz 01465ecf6b fix: ignore a release older than the tag
--check-version said pcsx2x6's v0.2.22 was older than its code because
the pin holds release v0.2.20, the latest the project published. A
release that is an ancestor of the declared tag is not a later one.
2026-10-23 17:26:25 +02:00
Abdessamad Derraz 19f22da75f fix: write prose and quoted refs as written
A folded run rewritten whole keeps its separators (boom3, mame), a
double-quoted source_ref is matched as the loader reads it and escaped on
write (etlegacy), two files sharing a name take their build mode in the
field path (supermodel Games.xml), and a project word ending the line
before a path marks the citation external (genesis_plus_gx_expanded).
2026-10-23 17:23:01 +02:00
Abdessamad Derraz bfd82cedf8 docs: say where mesence's librashader comes from
The build workflow downloads it from SourMesen/librashader's nightly
release on every build, so no shipped copy has a fixed hash: the entry
joins the recorded unidentified bundled files.
2026-10-23 17:21:17 +02:00
Abdessamad Derraz 997f04135f fix: size the gvp guru rom as its dump
rommgr.cpp gives 32768 bytes for ROM id 110, but the file its SHA-1
identifies is 32624: the profile contradicted the held copy.
2026-10-23 17:21:16 +02:00
Abdessamad Derraz eeef4fc6fb feat: packs for the most downloaded setups 2026-10-23 17:18:00 +02:00
Abdessamad Derraz 5d8d7ce371 chore: merge old card copy in the interface 2026-10-23 17:11:15 +02:00
Abdessamad Derraz ba3d519189 docs: explain setups without a ZIP
FAQ entry, the release_pack field and how to revisit it from download
counts, the get/ pages, and RetroPie 4.8 now installs from a computer with
the Pi's network folder as --dest. The start pages are back under their
word ceilings.
2026-10-23 17:06:54 +02:00
Abdessamad Derraz a2fc09a89e feat: permanent download page per platform
get/<platform>/ lists the files of the current release pack, read from
release.json, or gives the command for a setup without one. The README,
setup pages, Get your files and the release notes link it instead of
asset URLs, which die with each deleted tag. Setups without a ZIP say so
with the command beside it, and validate_site checks every get/ page.
2026-10-23 17:06:51 +02:00
Abdessamad Derraz 32c648b67d feat: release packs for marked platforms only
release_pack: true in the registry is the list a release builds: RetroArch,
EmuDeck, RetroBat, Batocera, RomM and MiSTer, 83% of the downloads of
v2026.10.10. generate_pack --all, --verify-packs, the pipeline consistency
step, release_record and check_release read it. Manifests are still written
for every platform.
2026-10-23 17:06:46 +02:00
Abdessamad Derraz 123d5a6bf3 chore: regenerate database and readme
183 files collected today: 178 Amiga expansion ROMs, mame2003_plus
hiscore.dat and dotron artwork, jazz2-native's Plus.j2d, boom3's VR
paks. Generated twice, identical.
2026-10-23 17:00:06 +02:00
Abdessamad Derraz 65f67d53e7 feat: collect the boom3 vr paks
pak399.pk4 and pak399roe.pk4 as libretro/boom3 ships them at efe140c
(tools/vr_paks/compiled/, git blob 2f5c1ad6 and 18254709). VR builds
mount them over base/ and d3xp/.
2026-10-23 17:00:06 +02:00
Abdessamad Derraz 339ddf2d89 feat: copy from an old card in the interface
The plan offers the folder browser, mounted cards first and ZIPs listed,
to add --from (Options adds a second one, Left takes it back), checks the
folder again and says how many files it holds and how many are left to
download. Misplaced files are counted with a Show list of their reasons,
and a local copy no longer counts in the download speed. The found event
test now holds that the interface reads it after a check and an install.
2026-10-23 16:57:28 +02:00
Abdessamad Derraz af32a0c6bf chore: merge the handheld launchers 2026-10-23 16:56:52 +02:00
Abdessamad Derraz 9646a9f429 feat: offer the other card in offline launchers
Without a network, muOS and ArkOS launchers ask to copy the BIOS files from the card the system does not read (muOS bind.sh, dArkOS roms2), then install with --from and the pack. CI checks that shellcheck is present, and the test fails under CI without it.
2026-10-23 16:56:28 +02:00
Abdessamad Derraz c496014f64 fix: pass --from to the runs the tui starts
The interface accepted --from and its check and install runs never got it, so they downloaded what the folder holds. Pins in install.sh and install.ps1 follow install.py.
2026-10-23 16:56:27 +02:00
Abdessamad Derraz 21485e8680 feat: collect 178 amiga expansion roms
Expansion, accelerator, controller, freezer, bridgeboard and CDTV/CD32
ROMs that Amiberry and WinUAE identify by SHA-1 (rommgr.cpp). Each file
is named after its rommgr label and matches the listed SHA-1.

All 178 are in archive.org item doc_2025-08-26_04-38-36 ("Amiga
roms/bin"), compared by the item's per-file SHA-1.

Independent copies that reproduce the same bytes:
- MAME archives already in bios/Arcade (a590.zip, amiga_a590.zip,
  amiga_a2091.zip, buddha.zip, amiga_ar1.zip, amiga_oktagon2008.zip,
  amiga_a570.zip): 13 ROMs, 7 of them by byte-interleaving the
  even/odd chip halves (A590/A2091 v4.4 to v7.0)
- TOSEC Commodore Amiga - Firmware (archive.org commodore-amiga-firmware):
  Action Replay Mk I v1.0/v1.5, Action Replay 1200, Action Cartridge
  Super IV Pro v4.3, CDTV A570 v2.30, Nordic Power v1.5/v2.0/v3.0,
  X-Power Professional 500 v1.2/v1.3
- archive.org a2091-6_6, a2091PDMA-07, commodore-amiga-a-2286-bios-v-3.6
  (even/odd halves merged), bios-a-2088 (A2088 BIOS 3.4, 3.6.1)
2026-10-23 16:55:02 +02:00
Abdessamad Derraz 77d7ab36de fix: open each part of a split list on its own
The files-to-source table outgrew one page and split in two. Both
parts opened on the same intro, which is the page description, and
validate_site refused the duplicate. Each part now opens on "Part n of
N.". The element-budget exception for the unsplit table is gone: the
parts hold 8,987 and 7,674 elements.
2026-10-23 16:50:46 +02:00
Abdessamad Derraz 0369c75dfe chore: merge main into the launchers 2026-10-23 16:42:00 +02:00
Abdessamad Derraz c826e0fc05 fix: keep release profiles on the build they pin
mame_hash_scraper --release rewrote the whole profile and dropped the
pin_frozen that mame0258 and mame0278 carry: libretro/mame HEAD is a
later release, so without it profile_sync compares their refs with code
the Recalbox build never had. A release profile now states it, from
built_by, and keeps the reason a reader wrote.
2026-10-23 16:41:58 +02:00
Abdessamad Derraz 6f8d3dede3 fix: read prose where its path is written
realign_prose stripped a path prefix, or read a path two repositories
share, in the repository whose pin moved, while the profile meant the
other. hatarib's hatari/src/tos.c became hatari/hatari's src/tos.c, and
freej2me_plus's fork citations were read in hex007/freej2me: 32 and 8
citations asked to be read again although their files were unchanged.
The path as written now decides first, and a shared path belongs to the
repository declared first, as in attribution.

test_a_frozen_build_files_its_content_with_the_build_that_follows paired
every pin_frozen profile with every live one of the same source. It now
skips platform builds (built_by), and requires the frozen systems to be
a subset: a later release can add a board (advancemame's coh1002v).
2026-10-23 16:41:04 +02:00
Abdessamad Derraz 699fe29682 docs: hold mame0278 on the recalbox build
Recalbox 10.1.1 builds libretro/mame fba50741 (libretro-mame0278.mk:8), tag lrmame0278 and the profile's pin.
2026-10-23 16:37:06 +02:00
Abdessamad Derraz 1aae51da79 docs: hold mame0258 on the recalbox build
Recalbox 10.1.1 builds libretro/mame dc1a9653 (libretro-mame0258.mk:8), the profile's pin.
2026-10-23 16:37:06 +02:00
Abdessamad Derraz a956253a52 chore: move px68k-sdl to bdc3d87
RetroPie builds the master tip (RetroPie scriptmodules/emulators/px68k.sh:15 at 46128cd2). The one commit since e29ce400 bounds string copies in SDL/winui.c; no file is read differently.
2026-10-23 16:37:06 +02:00
Abdessamad Derraz adef85c30e docs: hold mame2014 on the retrobat build
The mame2014_libretro.dll RetroBat serves from its win64 stable core repository reports library_version 0.160 c8fe6c7, the profile's pin.
2026-10-23 16:37:06 +02:00
Abdessamad Derraz 4bec36dcab docs: name the batocera 43.1 gpgx expanded build
Batocera 43.1 builds RapidEdwin08 a0b5a033 (libretro-genesisplusgx-expanded.mk:7), not 181e8f93. Both carry the same core/, libretro/ and Makefile.libretro trees as the pin dea3528.
2026-10-23 16:37:06 +02:00
Abdessamad Derraz 530ab47106 docs: hold flycast2021le on the amberelec build
AmberELEC a21975bf builds bf93aece (packages/games/libretro/flycast2021le/package.mk:5), the profile's pin.
2026-10-23 16:37:06 +02:00
Abdessamad Derraz a493922610 docs: hold azahar-sdl on the knulli build
KNULLI 20260511 builds c8d39853 (package/emulators/azahar/azahar.mk:7), the profile's pin.
2026-10-23 16:37:06 +02:00
Abdessamad Derraz 6881b01ef9 chore: move fbneo_neogeo to 2b0c1c0
neogeoRomDesc in d_neogeo.cpp is unchanged; the new crc32 values belong to game sets. hiscore.dat at metadata/ keeps its sha1.
2026-10-23 16:37:06 +02:00
Abdessamad Derraz 43ef4e9a47 chore: move fbneo to 2b0c1c0
The new crc32 values in d_neogeo.cpp belong to game sets (doubledd, pulstarae, kizuna4p); neogeoRomDesc is unchanged and fbneo_hash_scraper reports no updated entry. The coleco refs pointed at the BurnDriver struct and now cite cv_colecoRomDesc (d_coleco.cpp:1061-1064).
2026-10-23 16:37:06 +02:00
Abdessamad Derraz c6ba81d3f4 feat: add coh1002v bios set to advancemame
ebe8322 adds the Video System PSX driver with its coh1002v root set (src/drivers/zn.c:4062-4068, 4692). The new hashes in pgm.c and the other drivers belong to game sets (killbldp, kovsh, svg, oldsplus...); the pgm BIOS ROM_START is unchanged.
2026-10-23 16:37:06 +02:00
Abdessamad Derraz 0e6026dd9c feat: document xefu files for xenia-edge
Edge e569a1a runs original Xbox games through XeFu (src/xenia/emulator.cc:748-768, 882-895): xbox.xex and the xefu*.xex builds from an Xbox 360 Compatibility folder, read from xefu/ under the storage root. config.bin at emulator.cc:2339 is written by XeFu there. The libretro tree f23c14c carries the same code. Refs recaled to e569a1a.
2026-10-23 16:37:06 +02:00