The release carries the packs, the handheld launchers and the signed checksum list. The installer and the file lists are pinned from the tag (installer page, For packagers), and check_release.py now refuses them as unrecorded files. The notes link each pack's files on the release itself, in a beginner's page: one idea per line. The handheld section links the latest release.
An entry the installer places in the roms, emulators or configs folder is in the install list but not in the ZIP, which is unzipped into the BIOS folder. pack_files and pack_size counted them: release_record.py refused Batocera (19196 against 19125 in the archive) and RetroBat (9200 against 8882). Manifests regenerated twice, identical.
Online pipeline at 169776790, generated twice with identical output: database, recipes, install manifests and games index, native exports, README, installer and report excerpts.
Five lines the default text hid are back where the user reads them:
- the result names each failed file again, after Exit too;
- a run, --check, the plan and the result count the files an emulator
needs that are not available here, --verbose or Details naming them;
- --check names each copy that fails its check, the files that sit too
deep and what a run copies, and says such a copy is backed up; only
the plain missing files wait on --verbose;
- the plan and the result keep the count of save files left out and the
remedy, the reason going to Details;
- the plan counts the --from files that could not be read where no row
names them, and says another drive to add.
Exit codes are unchanged. The result's word budget rises by the failed
file line.
The ZIP replay in packextras.hidden_extras now skips roms, emulators and configs entries as the builder does, so verify and pack integrity stop counting files only the installer places. The consistency check treats the Android .nomedia marker as a pack note. MAME4droid's hiscore.dat leaves bios/: the app unpacks it from its own files.zip. VVVVVV's Make and Play data.zip is collected as a release asset, which EmuELEC declares as required.
The plan, Confirm and the result say what happens, its size, where and
the next step. Their counts, free space, backup and save notes, kinds,
reasons a file is left out, per-file failures and commands move to a
Details screen: d on the plan, Confirm and the result, the Details row
on the plan, Y, o or Tab on the result. Opened on the result, they are
also said in the terminal after Exit. Installing lists the files that
went well only with --verbose, and --verbose draws every line in place.
The log line reads Log: so that Details names one thing.
--check prints its count, the folder and the remedy in both modes, so
that --verbose prints every default line. Each golden screen gets a word
budget per size, and a test proves the screen and its Details together
equal the --verbose screen.
By default a run prints what it installs, the BIOS folder, the progress
at a terminal, the result and the next step. The steps, the per-file log
lines, the counts and the reasons a file is left out come back with
--verbose. --check gives the count and the folder, and lists each file
with --verbose. The installer page shows the default run and walks
through the --verbose one.
Run from the retrobios package, a hint and --help named python3 install.py, a file that user does not have. The package's launcher sets RETROBIOS_BOOTSTRAP=pypi, and the command is read from the environment it runs in: uvx retrobios from uv's cache, pipx run retrobios from pipx's, retrobios once installed.
The merge of 6c1446886 took one side of wiki/installer.md for its generated samples and dropped four hand-written changes from the other (folder browser text, --restore row, muOS card text, a kept-file sample). Redone as a three-way merge, samples regenerated.
A list naming retroarch now takes the libretro profiles whose built_by names the platform: ROCKNIX ships yabadabadoo with its RetroArch and named it nowhere, so its files never reached the ROCKNIX pack. Only change across the registry: rocknix + yabadabadoo. Also quotes the installer's current unproven-drive message.
- The installer speaks without "you": the first screen asks "Where
to install?", rows read "Copy the BIOS files from an old card or a
folder", a close match reads "Close matches: ...". The handheld
launchers and their port text follow, and the pronoun guard no
longer lists any installer message.
- A setup that runs as an app opens on its one-line command, the
folder table after it; a setup that runs on its own device keeps
the network folder first, which its ZIP route needs.
- The home steps say what to do: "Its page gives one line to copy",
"Paste it, press Enter".
The events transcript on the installer page is a --check run that finds
files missing. Since November such a run ends on 3, as the Exit status
table says, and the sample still showed 1.
- The installer says "Every file on the list is in place." where it
said "Everything is in place.": a check covers the files the
collection holds, and the required ones it lacks follow.
- The FAQ, first install, legal and home pages state only what the
code shows (PlayStation 1 and Saturn run without a BIOS on some
emulators, save files are never touched, records are added).
- MinUI and MyMinUI show their own boot logos, and the Android,
Linux handheld and iPhone tiles show the Android robot, Tux and a
plain device icon, each credited in sources.json.
- Each Markdown copy, llms.txt and llms-full.txt name the commit
they were built from, version.json the current one, and the
answering rules tell assistants to fetch a stale copy again.
- The deploy lists the pages whose words changed (digests.json) and
posts them to IndexNow once the site is live.
Each claim in the README and the wiki now matches the code or data it
describes: line citations counted as such (93%), closed-source profiles
named, severity tied to the check mode, installs limited to files the
collection holds, and the demo labelled as a demonstration card.
The page said a long list opens on None. The list opens on its first
system since the three tick lists share one rule (A on None unticked
every system as a beginner's first press). The page now says what the
screen does, and a test reads both.
The RetroArch pack lands in RetroArch Android's system folder, where MediaProvider indexed 3 842 images, sounds and videos (552 MB) into the gallery and music apps: a folder holding .nomedia is hidden with every folder below it (FileUtils.java:1587-1629, ModernMediaScanner.java:845-846, a183e2b9). A pack whose platform files an Android target, unfiltered or built for one, carries an empty .nomedia. pack_files counts it and the integrity check takes it for a marker.
FAT, exFAT and Windows refuse < > : " | ? * in a name (fs/fat/namei_vfat.c:201-207, fs/exfat/nls.c:396-403). RetroDECK's component manifest names zxs:48.rom, zxs:if1-2.rom and snes:st018.data.rom: on an exFAT card each write failed with EINVAL on every run. The installer now probes the BIOS folder as keeps_case does, leaves those entries out and names them.
An install on Android leaves an empty .nomedia in the BIOS folder. MediaProvider hides a folder holding one and every folder below it (FileUtils.java:1587-1629, ModernMediaScanner.java:845-846, a183e2b9), and RetroArch writes none: the samples, overlays and videos of system/ showed in the gallery and music apps. --check and --dry-run write nothing.
--yes alone installed the whole list, 6.4 GB on a dArkOS card holding
two games, while the screen offers what the games need first. A run that
asks nothing now takes that first choice when the card holds games, and
says so. --all-files installs the whole list. A run given its list
(the screen's own runs) or narrowed by name is unchanged.
--for-games --required-only on a dArkOS card from a computer kept every
file of the list: --dest skipped the card's detection, so its rom
folders were never found. The games part beside the BIOS folder now
names them. The manifest marks a data tree every core runs without
(optional), and --required-only leaves it out: one GBA and one SNES game
took FBNeo's cheats and samples, 3,472 files no game opened.
Mini vMac opens no MinivMacBootv2.dsk at babdf7b5: disks come from a .cmd
(libretro-core.c:181-195) or disk1.dsk to disk9.dsk
(OSGLUERETRO.c:563-579). The name is the one Recalbox's configgen writes
into its .cmd, already recorded in its launchers: layer. Nine manifests
no longer send the 24 MB image to platforms that never open it.