Commit Graph
310 Commits
Author SHA1 Message Date
Abdessamad Derraz 68c8dca41d feat: offer the games of a handheld's card
An ArkOS EASYROMS card plugged into a computer was never offered "for
the games on this card": its console folders sit beside bios, with no
roms folder above. A games part now counts as a card that may hold
games.
2026-11-06 21:01:23 +01:00
Abdessamad Derraz 072380c268 feat: install the fewest files for a card's games
--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.
2026-11-06 19:58:41 +01:00
Abdessamad Derraz 44565a07bb feat: read the EmuELEC device in the installer
EmuELEC's scripts/image writes COREELEC_DEVICE to os-release (v4.8, line
189), as a GameForce image shows. The installer reads it the way it does
for AmberELEC and applies install/targets/emuelec.json. MiSTer FPGA takes
EmuELEC's place in the test of a platform without targets.
2026-11-06 12:09:09 +01:00
Abdessamad Derraz c0e4bd8379 chore: merge resolver fixes, fourth pass 2026-11-06 10:28:27 +01:00
Abdessamad Derraz 333f1ac3ca fix: resume a cut data archive
A data archive cut mid-download was deleted on every failure: the retry and the next run started from zero, while the run said nothing was lost. The archive is now kept beside its tree with the validator its server sent, and the rest is asked for with Range and If-Range. Checked against the release: fbneo-samples stopped at 16 MB, the next run downloaded 34.6 MB of 50.5.
2026-11-06 09:04:52 +01:00
Abdessamad Derraz 43cb0f84ab feat: add AmberELEC hardware targets
AmberELEC's metapackage adds LIBRETRO_CORES_EXTRA (bsnes, Mesen, melonDS, geolith) only on RG552, RG353 and RG503, and deletes those cores from es_systems.cfg on every other device (packages/amberelec/package.mk:23-31, 45-58 at a21975bf). The new target scraper reads the Makefile's device images, that test and es_systems.cfg the way the platform scraper does: RG351P, RG351V and RG351MP list 125 cores, the other three 136. The installer reads the device from COREELEC_DEVICE in os-release (scripts/image:168).
2026-11-06 09:04:51 +01:00
Abdessamad Derraz 725325f0a1 fix: announce a data tree at its archive size
A tarball tree was announced at its extracted size: yaps2 at 6.5 MB for a 21.2 MB download, Cemu's game profiles at 9.9 KB for 21.4 MB. refresh_data_dirs records the size of each archive it downloads (a tree current from before is measured, not refetched), the install lists carry it as archive_size, and the plan, the menu and the data event count it.
2026-11-06 08:59:10 +01:00
Abdessamad Derraz eb99131a6e fix: stop advising --save-dir a list cannot serve
RetroPie, ROCKNIX, AmberELEC, EmuELEC and RomM keep their save directory in no fixed place, and their lists leave those files out with no hash or address. The run said to name the folder with --save-dir, and said it again when --save-dir was given. It now says the list holds none of them.
2026-11-06 08:45:03 +01:00
Abdessamad Derraz b3f8f64395 fix: refuse options a listing does not read
Two listing options printed one list, and --list-platforms, --list-targets and --list-emulators printed the same output with --system, --region or --core as without, code 0. A run now prints one list, and an option a listing ignores is refused.
2026-11-06 08:33:01 +01:00
Abdessamad Derraz f696d4974f fix: name a --dest that is a file
A BIOS folder that is a file, or lies under one, failed at mkdir with EEXIST or ENOTDIR, and the run blamed permissions and offered sudo. It is now refused before anything is checked, with an error event whose reason is not_a_folder.
2026-11-06 08:22:18 +01:00
Abdessamad Derraz 97d0a478d2 fix: read RetroArch's config under XDG_CONFIG_HOME
Native RetroArch on Linux keeps retroarch.cfg under $XDG_CONFIG_HOME/retroarch when the variable is set, and falls back to ~/.retroarch.cfg (file_path_special.c fill_pathname_application_data, configuration.c open_default_config_file at e98e1da0). Detection read ~/.config/retroarch only.
2026-11-06 08:18:59 +01:00
Abdessamad Derraz 7e504e8469 fix: show and count data archive downloads
A data tree's archive came with no progress line, and the run ended on the BIOS bytes alone (310.5 KB where 82 MB arrived). Its download now draws the progress line and adds its bytes and time to the end line, a cut attempt taken back. It writes no progress event: those count the download event's files.
2026-11-06 03:51:36 +01:00
Abdessamad Derraz 2ecbea56b5 fix: skip data trees a read-only folder refuses
A BIOS folder this user cannot write no longer tries each data tree's archive and blames its URL with a raw errno. The tree is counted failed for the same cause as the BIOS files, so the summary keeps its one line and its advice.
2026-11-06 03:44:17 +01:00
Abdessamad Derraz f8702a19f7 feat: treat a Lakka card as a card setup
Lakka keeps its BIOS on its STORAGE partition (/storage/system). A computer now tells that partition by the retroarch.cfg RetroArch writes there, whose system_directory is Lakka's /tmp/system overlay, and --platform lakka on a computer asks for the card instead of writing to /storage/system here.
2026-11-06 03:41:18 +01:00
Abdessamad Derraz a2e8809945 fix: map a card's image name to its board
Batocera and KNULLI write the image name, not the board, to the card's board file (post-image-script.sh). The target scraper now records each board's images from Config.in, the target lists carry them, and the installer maps a card's image to its board. KNULLI's boot/knulli.board is read too.
2026-11-06 03:40:34 +01:00
Abdessamad Derraz 349914fda2 fix: list boards offline from the given list
--list-targets offline was refused, and its advice to give --manifest or --from-pack was refused in turn. It now reads the boards where --target reads them: the pack's list or targets/<platform>.json beside --manifest.
2026-11-06 03:16:00 +01:00
Abdessamad Derraz cbe98d5fec fix: keep the mister row among the platforms 2026-11-05 19:51:12 +01:00
Abdessamad Derraz a78d5ea316 fix: count data files in the check fetch line 2026-11-05 19:35:27 +01:00
Abdessamad Derraz 0624d9f735 fix: note a case twin only when its pair is there 2026-11-05 19:34:48 +01:00
Abdessamad Derraz 101757675b fix: say in place only with data files in place 2026-11-05 19:33:05 +01:00
Abdessamad Derraz aaaafd5771 fix: name the address a download was refused at 2026-11-05 19:31:42 +01:00
Abdessamad Derraz d78af1b00d feat: narrow a retropie install to its pi 2026-11-05 19:29:58 +01:00
Abdessamad Derraz fbc530123e fix: say offline that a platform has no targets 2026-11-05 19:28:28 +01:00
Abdessamad Derraz bb5ac226d6 fix: find a python3.x beside an old python3 2026-11-05 19:26:51 +01:00
Abdessamad Derraz c54a68c6ca fix: end the bootstrap with 130 on ctrl+c 2026-11-05 19:25:33 +01:00
Abdessamad Derraz 73b82375d9 feat: recognise a mister card on a computer 2026-11-05 19:25:30 +01:00
Abdessamad Derraz 66dae2a974 fix: refuse a cores folder that cannot be listed 2026-11-05 19:20:14 +01:00
Abdessamad Derraz c0bb3443c0 fix: read a batocera zen3 board as its target 2026-11-05 19:18:50 +01:00
Abdessamad Derraz 289c180bfa feat: narrow a knulli install to its board 2026-11-05 19:18:29 +01:00
Abdessamad Derraz 83f5d161ab fix: say a config detection fails to read 2026-11-05 19:15:35 +01:00
Abdessamad Derraz 59c8217280 fix: say a settings file detection cannot read 2026-11-05 19:11:08 +01:00
Abdessamad Derraz 494e390de8 fix: take an elec bios folder as its games part 2026-11-05 19:09:43 +01:00
Abdessamad Derraz 4b02ab33da fix: one sha1 rule at the manifest boundary 2026-11-05 19:08:03 +01:00
Abdessamad Derraz 9ea80dfb70 fix: keep the installer bootstraps of both batches
The tooling merge took its own install.sh and install.ps1, which only
moved the pin, and dropped the bootstrap checks of the installer
batch. The ported checksum test calls the TypeScript node helper of
its merged module, and the retrodeck excerpt follows the run.
2026-11-05 16:36:17 +01:00
Abdessamad Derraz b90f8bb0b9 chore: merge tooling batch 2026-11-05 15:57:19 +01:00
Abdessamad Derraz 9c128e46b2 feat: apply the board a mounted card names 2026-11-05 12:34:38 +01:00
Abdessamad Derraz ddafc2ff42 feat: carry the board list in the pack 2026-11-05 12:30:06 +01:00
Abdessamad Derraz fd36670532 fix: name --from-pack and the packs beside a typo 2026-11-05 12:20:44 +01:00
Abdessamad Derraz 3d694c7d70 feat: tell RomM users to scan after an install 2026-11-05 12:20:08 +01:00
Abdessamad Derraz 964812f977 chore: drop review tags from comments
Comments, docstrings and test texts ended on tags that name private review notes no clone holds. The tags go, the facts stay. Test methods named after a finding number are named after what they hold. test_prose_style refuses a tag that comes back. install.py changes in comments only: its pin and the launcher index follow.
2026-11-05 12:19:12 +01:00
Abdessamad Derraz 4dd43aa627 feat: set up Termux storage from the one-liner 2026-11-05 12:18:39 +01:00
Abdessamad Derraz bc6bd590f1 fix: keep the dry-run total in view 2026-11-05 12:13:04 +01:00
Abdessamad Derraz 0d5911f614 fix: name only the platform's cores as readers 2026-11-05 12:12:03 +01:00
Abdessamad Derraz 860fa575d9 feat: link each emulator page under a needed file 2026-11-05 12:11:29 +01:00
Abdessamad Derraz 505cfc044b fix: say what a platform's own check compares 2026-11-05 12:10:51 +01:00
Abdessamad Derraz 9aa26143ad fix: name the old Python the bootstrap found 2026-11-05 12:08:54 +01:00
Abdessamad Derraz 3389651549 fix: name a sign-in page sent for the file list 2026-11-05 12:08:12 +01:00
Abdessamad Derraz f6de9a0ae3 feat: answer ES-DE, LaunchBox and Android by name 2026-11-05 12:07:25 +01:00
Abdessamad Derraz da4773a0be fix: answer the system names the listing prints 2026-11-05 12:06:36 +01:00
Abdessamad Derraz 94b5195590 fix: exit 2 on an unknown name, as for an option 2026-11-05 12:05:44 +01:00