docs: say the installer opens a full screen

The README, the installer steps, the choice of what to install and platform detection still described the line prompts as what a terminal shows. They now name the full-screen interface first, with --plain for the questions, and say that no default folder is taken where detection was refused.
This commit is contained in:
Abdessamad Derraz committed 2026-10-24 03:49:10 +02:00
1 parent eba5936cf3
commit fbe5ba4e3e
4 files changed
+30 -15

No files matched your search

+5 -4
View File
@@ -24,7 +24,8 @@ irm https://raw.githubusercontent.com/Abdess/retrobios/main/install.ps1 | iex
# Android (Termux, after pkg install python and termux-setup-storage)
curl -fsSL https://raw.githubusercontent.com/Abdess/retrobios/main/install.sh | sh
# SD card mounted on a PC: --dest is the BIOS folder on the card
# SD card mounted on a PC: a muOS, KNULLI, ROCKNIX, Onion, spruceOS or MinUI card
# is found by itself. For another card, --dest is its BIOS folder
# (RetroArch on Switch: retroarch/cores/system, on Android: RetroArch/system)
curl -fsSL https://raw.githubusercontent.com/Abdess/retrobios/main/install.sh | sh -s -- --platform retroarch --dest /path/to/sdcard/retroarch/cores/system
@@ -32,12 +33,12 @@ curl -fsSL https://raw.githubusercontent.com/Abdess/retrobios/main/install.sh |
&([scriptblock]::Create((irm https://raw.githubusercontent.com/Abdess/retrobios/main/install.ps1))) --check
```
The script auto-detects your platform, downloads only missing files, and verifies checksums.
The script opens a full-screen installer, driven with the arrow keys and Enter, or with a controller on a handheld. It finds your setup and its BIOS folder, downloads only the missing files and checks each one. It can also copy the BIOS files from your old SD card.
Every option, and what the installer detects and writes, is on the [installer page](https://abdess.github.io/retrobios/wiki/installer/#passing-options).
## Download BIOS packs
A pack holds everything its platform runs: its own BIOS list plus every file its emulator cores load. Pick your platform, download the ZIP, extract to the BIOS path. Each Download link is a page that keeps its address from one release to the next. The installer above does the same file by file. At a terminal it asks whether to install everything or to choose systems, cores and regions, and `--system`, `--core`, `--region` and `--target` make the same choice without questions. For a bare minimum, build your own pack below.
A pack holds everything its platform runs: its own BIOS list plus every file its emulator cores load. Pick your platform, download the ZIP, extract to the BIOS path. Each Download link is a page that keeps its address from one release to the next. The installer above does the same file by file. At a terminal it offers to install everything or to choose systems, cores and regions, and `--system`, `--core`, `--region` and `--target` make the same choice without questions. For a bare minimum, build your own pack below.
A pack over 2 GB comes in several parts (`Pack.part1of2.zip`, `Pack.part2of2.zip`), and every part is needed. Each part is an ordinary ZIP: extract them all into the same folder.
@@ -199,4 +200,4 @@ The scripts and tooling are released under the [MIT License](LICENSE).
The BIOS and firmware files are not covered by that license: they are third-party system software, preserved and provided for personal backup, archival, and interoperability with emulation software. [NOTICE](NOTICE) sets out their status and how to ask for a file to be removed.
The reasoning, and where it is weakest, is in [the project's legal position](https://abdess.github.io/retrobios/wiki/legal/).
*Auto-generated on 2026-10-24T00:06:47Z*
*Auto-generated on 2026-10-24T01:44:28Z*
+6 -3
View File
@@ -562,7 +562,8 @@ def generate_readme(db: dict, platforms_dir: str, db_path: str = "database.json"
"# Android (Termux, after pkg install python and termux-setup-storage)",
"curl -fsSL https://raw.githubusercontent.com/Abdess/retrobios/main/install.sh | sh",
"",
"# SD card mounted on a PC: --dest is the BIOS folder on the card",
"# SD card mounted on a PC: a muOS, KNULLI, ROCKNIX, Onion, spruceOS or MinUI card",
"# is found by itself. For another card, --dest is its BIOS folder",
"# (RetroArch on Switch: retroarch/cores/system, on Android: RetroArch/system)",
"curl -fsSL https://raw.githubusercontent.com/Abdess/retrobios/main/install.sh | sh -s -- --platform retroarch --dest /path/to/sdcard/retroarch/cores/system",
"",
@@ -570,12 +571,14 @@ def generate_readme(db: dict, platforms_dir: str, db_path: str = "database.json"
"&([scriptblock]::Create((irm https://raw.githubusercontent.com/Abdess/retrobios/main/install.ps1))) --check",
"```",
"",
"The script auto-detects your platform, downloads only missing files, and verifies checksums.",
"The script opens a full-screen installer, driven with the arrow keys and Enter, or with a"
" controller on a handheld. It finds your setup and its BIOS folder, downloads only the missing"
" files and checks each one. It can also copy the BIOS files from your old SD card.",
f"Every option, and what the installer detects and writes, is on the [installer page]({SITE_URL}wiki/installer/#passing-options).",
"",
"## Download BIOS packs",
"",
"A pack holds everything its platform runs: its own BIOS list plus every file its emulator cores load. Pick your platform, download the ZIP, extract to the BIOS path. Each Download link is a page that keeps its address from one release to the next. The installer above does the same file by file. At a terminal it asks whether to install everything or to choose systems, cores and regions, and `--system`, `--core`, `--region` and `--target` make the same choice without questions. For a bare minimum, build your own pack below.",
"A pack holds everything its platform runs: its own BIOS list plus every file its emulator cores load. Pick your platform, download the ZIP, extract to the BIOS path. Each Download link is a page that keeps its address from one release to the next. The installer above does the same file by file. At a terminal it offers to install everything or to choose systems, cores and regions, and `--system`, `--core`, `--region` and `--target` make the same choice without questions. For a bare minimum, build your own pack below.",
"",
"A pack over 2 GB comes in several parts (`Pack.part1of2.zip`,"
" `Pack.part2of2.zip`), and every part is needed. Each part is an"
+5 -2
View File
@@ -742,8 +742,11 @@ class ARefusalTheProbeDoesNotRaise(unittest.TestCase):
install._DETECTION_REFUSED.clear()
self.addCleanup(install._DETECTION_REFUSED.clear)
quiet = mock.patch.object(install.Path, "exists", lambda self: False)
with quiet, mock.patch.object(install._SETUP_SEARCH, "active", True, create=True), \
contextlib.redirect_stderr(io.StringIO()):
# What _detection_guarded sets while it looks for setups.
outer = getattr(install._SETUP_SEARCH, "active", False)
install._SETUP_SEARCH.active = True
self.addCleanup(setattr, install._SETUP_SEARCH, "active", outer)
with quiet, contextlib.redirect_stderr(io.StringIO()):
self.assertFalse(install._exists(target))
self.assertFalse(install._exists(base / "absent"))
self.assertEqual(install.closed_folder(target), (closed, "Permission denied"))
+14 -6
View File
@@ -197,8 +197,10 @@ file list is downloaded once and handed to each run.
always come from one commit.
3. Prints the file count and total size, then a safety notice counting the
entries the collection cannot serve, how many of those the platform marks
required, and why. At a terminal, it then offers to install everything or
to choose systems, cores and regions (see below).
required, and why. At a terminal, the
[full-screen interface](#the-full-screen-interface) then offers to install
everything or to choose systems, cores and regions, and `--plain` asks the
same as questions (see below).
4. Hashes what is already in the destination and reports how many entries are
present, verified, or present with the wrong contents.
5. Copies from this machine what it already holds: a file misplaced in the
@@ -551,7 +553,10 @@ counts them (`3 fixed from copies already in the BIOS folder`).
## Choosing what to install
By default the installer fetches everything the platform runs. At a terminal,
after detection, it asks:
the plan screen of the [full-screen interface](#the-full-screen-interface)
offers **Install**, **Choose systems** and **Options**. With `--plain`, or where
the full screen cannot open (a terminal smaller than 40x12, `TERM=dumb`), the
same choice comes as questions after detection:
```
RetroArch: 8069 files, 6.5 GB.
@@ -905,10 +910,13 @@ forced `--platform minui` stops and asks for the card's root as `--dest`, and a
card (its `Bios/`) is refused with the root to name instead. On Android a forced `--platform retroarch` falls back to
`<shared storage>/RetroArch/system` instead, a home directory there belonging
to Termux rather than to the frontend. Pass `--dest` to say where instead of
relying on that.
relying on that. When detection met a folder this user cannot open, under the
home folder or above the default, no default is taken: the frontend's own
configuration there may name another folder, so the run asks for `--dest`.
With nothing detected, the installer lists the platforms and asks. With several
detected, it asks which one. Both prompts need a terminal: piped into a script
With nothing detected, the setup screen lists the platforms to choose from,
and `--plain` gives the same list numbered. With several detected, the setup
screen lists each one, and `--plain` asks which. Both need a terminal: piped into a script
with no platform to install for, it prints the manual invocation, in the form
the run was started with (the one-line command for a one-liner user), and
exits 1.