Commit Graph
3211 Commits
Author SHA1 Message Date
Abdessamad Derraz b17bb7d066 docs: add data_root to reicast 2026-10-23 19:10:43 +02:00
Abdessamad Derraz bfcc2be752 docs: add data_root to punes
Qt's GenericConfigLocation is AppData/Local on Windows, so the notes now name %LOCALAPPDATA%/puNES (src/gui/qt.cpp:567-568).
2026-10-23 19:10:43 +02:00
Abdessamad Derraz 787fea07b4 docs: add data_root to chocolate-doom 2026-10-23 19:10:43 +02:00
Abdessamad Derraz 39f882b14e docs: add data_root to ppsspp-1.5.4 2026-10-23 19:10:43 +02:00
Abdessamad Derraz e7642c6b28 docs: add data_root to flycast-dojo 2026-10-23 19:10:43 +02:00
Abdessamad Derraz fec261a13e docs: add data_root to mariani 2026-10-23 19:10:43 +02:00
Abdessamad Derraz ef1cf6cdc0 docs: add data_root to eden 2026-10-23 19:10:43 +02:00
Abdessamad Derraz d1796f54d2 docs: add data_root to dsda-doom 2026-10-23 19:10:43 +02:00
Abdessamad Derraz 1e598e7b40 docs: add data_root to mupen64plus-ae 2026-10-23 19:10:43 +02:00
Abdessamad Derraz e8297c4d8f docs: add data_root to flycast 2026-10-23 19:10:43 +02:00
Abdessamad Derraz a70c6cedd4 docs: add data_root to m64plus-fz 2026-10-23 19:10:43 +02:00
Abdessamad Derraz 8e1c7d20f7 docs: add data_root to dosbox-pure-unleashed 2026-10-23 19:10:43 +02:00
Abdessamad Derraz ee078331e0 docs: add data_root to dsperate 2026-10-23 19:10:43 +02:00
Abdessamad Derraz 61e16a9ab8 docs: add data_root to dosbox-x 2026-10-23 19:10:43 +02:00
Abdessamad Derraz e0c36b5107 docs: add data_root to c64-emu 2026-10-23 19:10:43 +02:00
Abdessamad Derraz b06c16618c docs: add data_root to dosbox-staging 2026-10-23 19:10:43 +02:00
Abdessamad Derraz d5c00cf499 chore: merge the launcher audit fixes 2026-10-23 18:59:33 +02:00
Abdessamad Derraz c8c2dcd1a3 feat: tell the interface which pad route runs
Every launcher exports RETROBIOS_PAD: gptokeyb, muxterm, evmapy or
miyoo, so the interface can name the buttons that reach it. The wiki
lists the values, and the tests check each launcher's.
2026-10-23 18:58:37 +02:00
Abdessamad Derraz 41efb3e99f chore: merge main into the launcher fixes 2026-10-23 18:53:10 +02:00
Abdessamad Derraz 50b42823ca feat: add a per-os data_root to profiles
Apps such as AetherSX2 named their user data folder only in prose, so
the site could neither print it nor show only the OS tabs that apply.
data_root keys android, ios, windows, macos and linux, each with the
path the user finds and the source_ref that builds it.
2026-10-23 18:44:25 +02:00
Abdessamad Derraz bab1edcd66 chore: merge the interface audit fixes 2026-10-23 18:44:04 +02:00
Abdessamad Derraz cffd9eeb02 feat: read the engine's transfer and scan events
The speed is bytes_network over time, the interface's own guess at local
bytes is gone. The plan says when a --from folder was read only in part
or holds another drive, and how many files on the old card could not be
read, with a list of each reason. The --from folders are only checked
before the screen opens, never indexed there.
2026-10-23 18:43:18 +02:00
Abdessamad Derraz 4be68b1eee fix: keep the example profile out of core lists
00_example is the libretro-core-info .info template, not a core the
buildbot publishes. As type libretro, all_libretro resolved it for
RetroArch, Lakka, EmuDeck, RetroDECK and ROCKNIX. type test keeps it out,
as the site already did for that type.
2026-10-23 18:43:11 +02:00
Abdessamad Derraz d614acbef3 fix: offer only a pack that serves the system
Release packs now exist for six platforms only, and install.py refuses a
pack named for another. build_port.py writes packs.txt from the
registry's release_pack groups. Offline, the launcher takes only a pack
spelling the detected system, names that pack, or says no release pack
serves it and gives Wi-Fi or the computer route.
2026-10-23 18:39:45 +02:00
Abdessamad Derraz f4f95740dd chore: merge main into the interface fixes 2026-10-23 18:32:43 +02:00
Abdessamad Derraz e6ce3085b1 chore: merge main into the launcher fixes 2026-10-23 18:32:08 +02:00
Abdessamad Derraz bbbf551140 docs: first install for the full screen
The one-liner opens the full screen, and the page walked through the
line questions. It now shows the first screen, the keys and the
controller, Install, the copy from an old card and the result titles.
Troubleshooting no longer asks to move a nested bios folder by hand.
2026-10-23 18:31:33 +02:00
Abdessamad Derraz e534f11713 fix: second audit of the full-screen interface
- A handheld card mounted on a computer is found by the files its
  firmware writes there: muOS, Onion, spruceOS, CrossMix, Allium and
  Koriki from their device rules read below the card root, KNULLI and
  ROCKNIX from the share their first boot seeds. It is a setup of its
  own ("muOS SD card (E:\)") with the folder that system reads, and
  --dest <card root> writes there too. --platform muos with a folder
  that is no muOS card is refused with the folder to name.
- Space (X on PortMaster, Y on muxterm) opens the confirm screen from
  Install and never installs, closes or quits by itself.
- Short of space, Choose another folder comes first, and the result
  says the card is full in words, with no log lines and no command
  naming the interface's own copy of the list.
- The plan keeps the BIOS folder second, cut in its middle, a --from
  folder by its name, and the config that named the folder.
- The result says how many files came from the old card, how many
  were downloaded and how many are still missing, as the line mode.
- The "other" row is named and explained, files shared by several
  systems are counted apart, and a file that cannot be supplied is
  named with its system, only where it matters.
- A work folder left by SIGKILL is removed by the next run, a failed
  run's log after a week. A full card keeps no log.
- Smaller: the sudo advice names the folder, removing a --from folder
  says so, the preview counts its files only, a proxy is named, a list
  that is no JSON and the clock error read as plain sentences.
2026-10-23 18:31:33 +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 3db3949006 docs: say where the handheld files come from
The archives ship with the next release, and build_port.py writes them
until then. muOS points to the muxapp and to /mnt/mmc, and the quit combo
reads Select first.
2026-10-23 18:21:48 +02:00
Abdessamad Derraz 5db889f538 fix: end handheld runs that lose their input
Start + Select now kills a sentinel the launcher owns, and the launcher
asks the interface to stop, so a running install still writes its result.
A mapper that dies, a chvt the compositor refuses, a terminal app that
cannot open and a read-only card each end the run or hand over to the
next route instead of a console waiting for a button. muOS starts
gptokeyb2 with -X and keeps muxterm off the pad so Y opens the options.
2026-10-23 18:21:45 +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