Commit Graph
3360 Commits
Author SHA1 Message Date
Abdessamad Derraz 43fe0fff0f docs: fit start pages to their word ceilings 2026-10-23 18:54:01 +02:00
Abdessamad Derraz 44e63916ee chore: test the round 4 entry pages 2026-10-23 18:54:01 +02:00
Abdessamad Derraz 685945771e feat: network route and offline line on setups
A device setup with no ZIP and a cited network folder gets the command run from a computer into that folder. Every setup with a ZIP links the offline install, the Linux handhelds guide opens with a jump to its download, home and the setup index drop the stray Reference labels, the index lists the handheld tiles, and Get your files answers iPhone and iPad with each app's own steps.
2026-10-23 18:54:01 +02:00
Abdessamad Derraz c1a942ad31 feat: cite a folder for every handheld row
Allium, JELOS, KOLOS and MiyooCFW folders come from their own trees at the revision the installer reads. Rows with no cited folder point at RetroArch's System/BIOS setting, and a folder only Linux reads says so. KNULLI's SAMBA switch is linked, AmberELEC's roms share is named, the MinUI family says the command makes each folder, and an iPhone and iPad tile joins the handheld group.
2026-10-23 18:53:55 +02:00
Abdessamad Derraz 41efb3e99f chore: merge main into the launcher fixes 2026-10-23 18:53:10 +02:00
Abdessamad Derraz 6d938f3d54 feat: reference pages answer every hash and field
A platform or emulator record whose value designates a collection
file carries its sha1 and is filed under the file's other hashes, so
a SHA1 paste finds the setups listing it by MD5. The data page shows
every manifest field, writes URL templates as code, states the EmuDeck
rule, the browser lookup and the empty lists. systems.json gives every
id holding files a page, Files to source splits at 100 rows with an
upload link per file, and MiSTer and BizHawk get no empty core table.
2026-10-23 18:52:13 +02:00
Abdessamad Derraz 00cd203b23 feat: add schema_version to release.json 2026-10-23 18:52:04 +02:00
Abdessamad Derraz 2ba0effd3b fix: check emudeck folders by any file
An EmuDeck entry names no file: the system passes when any file
directly in the BIOS folder has one of its md5, as checkBIOS.sh loops
over "$biosPath/"*. The script looked each one up as a file named
system:md5 and reported 134 of 170 entries missing.
2026-10-23 18:52:04 +02:00
Abdessamad Derraz 7ca7be064a feat: link only source paths a tree confirms
The deploy has no tree cache, so a citation it could not check was
linked into the declared repository: 30 paths answered 404. The paths
held at each pin are now recorded in website/src/data/source-paths.json
by python scripts/sitesources.py, and a path absent from it renders as
code. An address inside a shipped binary reads as one.
2026-10-23 18:52:00 +02:00
Abdessamad Derraz b305167a95 chore: test the round 4 wiki copy 2026-10-23 18:48:02 +02:00
Abdessamad Derraz 2c756eac86 docs: link each installer option to its row 2026-10-23 18:48:02 +02:00
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 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 632c7f51e3 docs: name the round 4 theme tests in the guide 2026-10-23 18:39:45 +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 8e1b49bc0f fix: wrap os tabs, close up stacked table rows
Every OS tab stays on screen at 320 px, stacked cells drop the
16 px sibling margin and push their row down when a label wraps,
short inline code keeps whole, lone card links get a 24 px target
and the card label column fits its longest label.
2026-10-23 18:39:42 +02:00
Abdessamad Derraz 1d10d72c06 docs: list the round 4 emulator test module 2026-10-23 18:39:28 +02:00
Abdessamad Derraz f568c79e19 feat: emulator pages for any-name bios apps
An app found by content says to get one BIOS of any name and where it goes, with no install command it cannot carry out. Every arcade core names its romset, part pages name their parent and neighbours, a required file says which system it serves, and the core template leaves the index.
2026-10-23 18:39:28 +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
Abdessamad Derraz eeef4fc6fb feat: packs for the most downloaded setups 2026-10-23 17:18:00 +02:00