Commit Graph
2660 Commits
Author SHA1 Message Date
Abdessamad Derraz 7164a8c446 chore: merge launcher gap report 2026-11-09 16:16:42 +01:00
Abdessamad Derraz 8268f03269 feat: report files only a launcher reads
cross_reference and verify list the names a platform's launch code reads that the collection holds under no name. Reported apart, never scored.
2026-11-09 16:16:38 +01:00
Abdessamad Derraz 295bb4e275 chore: merge origin/main 2026-11-09 15:52:58 +01:00
Abdessamad Derraz a18262f184 chore: merge origin/main 2026-11-09 15:06:18 +01:00
Abdessamad Derraz c963499643 fix: wait for Confirm by its title in the tap test
The game-data tap test waited on the bare RetroBIOS: title, which the
screen before Confirm already showed, then pressed Enter only if one
settle had drawn Confirm. The runner drew it later and the install
never started. It now waits for the Confirm title and presses Enter.
2026-11-09 14:23:36 +01:00
Abdessamad Derraz 4542bcffa8 chore: bump uv to 0.13.4 in every pin
Dependabot moved uv in pyproject.toml alone, while validate.yml and
CONTRIBUTING kept 0.12.9. Both pins move together, and a test now
fails when a package pinned in both carries two versions.
2026-11-09 14:20:12 +01:00
Abdessamad Derraz 025fd08a72 chore: merge origin/main 2026-11-09 14:02:45 +01:00
Abdessamad Derraz 10dc67b63a fix: follow the doc tests to --refresh-cache 2026-11-09 13:44:24 +01:00
Abdessamad Derraz 51aa626028 fix: fetch platform originals without exporting
--fetch also exported and stopped on the absent dist/truth before any
download, so CI skipped every exporter fidelity case and tolerated the
step. --refresh-cache only downloads: the step can no longer fail
unseen.
2026-11-09 12:45:57 +01:00
Abdessamad Derraz 31132eb37e chore: merge origin/main 2026-11-09 12:28:14 +01:00
Abdessamad Derraz 85e81b15d5 fix: let the FM Towns ME model name through 2026-11-09 12:28:13 +01:00
Abdessamad Derraz 3368140e52 chore: merge site and docs fixes 2026-11-09 12:23:13 +01:00
Abdessamad Derraz a1a0f54572 chore: follow site tests to the rescraped data
Each change records a fact the data no longer states:

- ROCKNIX 20261101 dropped the AetherSX2 package, so the install box
  names KNULLI alone.
- RetroBat no longer pins an md5 on ar_bios.zip for the Arcadia, so no
  file is held for emerson-arcadia-2001 and its UNLINKED entry is gone.
- sega-model1 holds only the model1io and model1io2 device sets, filed
  under Arcade > Arcade and Arcade > MAME, with no section of its own.
- The Sega page gained Model 2 and new Chihiro and Hikaru files on the
  same card layout: its word ceiling is measured again at 3545.
2026-11-09 12:22:33 +01:00
Abdessamad Derraz d81a873b15 fix: allow advancemame's removed hng64 system 2026-11-09 12:16:32 +01:00
Abdessamad Derraz c6bf649a1e fix: expect the lowercase bbkemu folder 2026-11-09 12:12:18 +01:00
Abdessamad Derraz d6a0270ca7 chore: merge origin/main 2026-11-09 12:07:57 +01:00
Abdessamad Derraz df7c923fcf chore: merge origin/main 2026-11-09 12:06:30 +01:00
Abdessamad Derraz 43088a4e9e chore: merge origin/main 2026-11-09 11:45:57 +01:00
Abdessamad Derraz b9a35589a8 feat: build the PyPI package with flit_core
build_pypi.py stages install.py, the launcher, __main__.py, README and
LICENSE, then runs uv build with flit_core 3.12.0 pinned and
SOURCE_DATE_EPOCH set from install.py's commit. Adds python -m retrobios,
the PyPA classifiers, keywords and project URLs. CI installs uv.
2026-11-09 11:45:49 +01:00
Abdessamad Derraz 7da48ca56a feat: date the PyPI package by install.py commits 2026-11-09 11:40:37 +01:00
Abdessamad Derraz 2841998b60 chore: hold indexnow.py to the script rules
indexnow.py now exits through run_cli, its --dist option is documented
in tools.md, and test_site_freshness.py imports the tests package first.
2026-11-09 11:02:00 +01:00
Abdessamad Derraz 1647d0e4fb feat: send alias profile pages to their emulator
Search Console reported emulators/vba_m/ as not found: an alias
profile has no page, and only the names in a profile's cores: list
were redirected. Each of the 21 alias profiles now redirects to the
page of the profile it names.
2026-11-09 10:59:12 +01:00
Abdessamad Derraz 7d23d8f40b chore: merge origin/main 2026-11-09 10:57:37 +01:00
Abdessamad Derraz 045ad9e3af chore: merge origin/main 2026-11-09 10:54:08 +01:00
Abdessamad Derraz 602945faf0 feat: logos, build stamps and exact wording
- 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.
2026-11-09 10:47:37 +01:00
Abdessamad Derraz 7b5a3f4802 chore: merge origin/main 2026-11-09 09:31:41 +01:00
Abdessamad Derraz c99639a15f chore: merge origin/main 2026-11-09 09:28:04 +01:00
Abdessamad Derraz f44ef8459e docs: state only what the code proves
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.
2026-11-09 08:47:21 +01:00
Abdessamad Derraz e6c83859d5 chore: merge origin/main 2026-11-09 08:35:52 +01:00
Abdessamad Derraz 74b807ccf5 chore: merge origin/main 2026-11-09 08:16:49 +01:00
Abdessamad Derraz 1aa78fd0dc chore: merge profile batch two 2026-11-09 08:11:51 +01:00
Abdessamad Derraz 78e22851dd chore: guard the site against personal pronouns 2026-11-09 08:09:47 +01:00
Abdessamad Derraz a70f8bcb34 docs: write the site without personal pronouns 2026-11-09 08:09:47 +01:00
Abdessamad Derraz 7a5d5e5bf5 chore: merge core-info reviews 2026-11-09 07:57:57 +01:00
Abdessamad Derraz 70276f098c chore: merge six core-info profiles 2026-11-09 07:37:11 +01:00
Abdessamad Derraz b690a03864 feat: profile six libretro cores from source
anybor, anygm, sm2, tgpulse_next_m1, zcdi and zesarpcw had a core-info file and no profile. parallel_psp and parallel_xbox are left out: no source is published for them.
2026-11-09 07:36:36 +01:00
Abdessamad Derraz 45cf1accfb chore: merge origin/main 2026-11-09 07:35:22 +01:00
Abdessamad Derraz 77fef7289f feat: show the handheld demo and steps per tab
make_demo.py records a second variant: the full-screen interface at the
640x480 screen of an R36S, on an ArkOS root made with bwrap, started as
the Tools menu launcher starts it (RETROBIOS_PAD=gptokeyb), driven by the
keys gptokeyb sends for the buttons. demo.json holds one entry per
variant with its alt text. No Windows variant: under pwsh on Linux the
installer's summary gives --dest /mnt/e/bios back.

The quick install box of Get your files gets an "On the device" tab with
the handheld recording, the terminal recording under the others but
Windows, and, under the text of each computer tab, a drawing of opening
the terminal and pasting (sitesteps.py, inline SVG in the theme's
colours, title and desc). The terminal steps name the physical action.
2026-11-09 07:35:03 +01:00
Abdessamad Derraz d9b788787c fix: read keyed source and version in profile_sync 2026-11-09 07:34:26 +01:00
Abdessamad Derraz 16ec5fa2d2 docs: turn the readme into a front page
The README ran 211 lines and 2,000 words: five commands with options,
an 18-row download table, coverage figures and the build commands, all
before the help. It now says what the project does, gives the line that
installs for Windows and for the rest, shows it, lists the six ZIPs and
the setups that install by command, and leads to the site, where the
figures and every option live. The build commands sit in a closed block.
No personal pronoun is left in its text.
2026-11-09 07:28:32 +01:00
Abdessamad Derraz 19264db538 chore: merge issue 87 and platform refresh 2026-11-09 07:24:48 +01:00
Abdessamad Derraz 77a8f171ba feat: read retrobat bios groups
emulatorLauncher 228731e0 lists ten PS2 BIOS in one group: one held file
is enough and Program.cs reports the others OPTIONAL. The scraper keeps
group and optional, verify and the pack check apply the same rule.
2026-11-09 07:22:06 +01:00
Abdessamad Derraz abf0f06fa9 fix: read the launchers emulatorLauncher has now
ArcadeDuck searches the folder above a CHD-only set, GSplus writes the
first of four ROM names it finds, Hatari falls back on EmuTOS, hatariB
copies a TOS from bios/hatari/tos, and #region lines precede method
headers. ROCKNIX renamed start_hatari.sh and dropped aethersx2-sa.
2026-11-09 07:16:25 +01:00
Abdessamad Derraz 8328570d1c docs: name uvx retrobios beside the one-liner 2026-11-09 07:07:54 +01:00
Abdessamad Derraz 7ba899d467 feat: build the installer as a PyPI package
scripts/build_pypi.py writes a wheel and an sdist from install.py, the
copy install.sh pins, and packaging/pypi. The version is the date of the
release in release.json. validate.yml now runs on packaging/ changes.
2026-11-09 07:07:54 +01:00
Abdessamad Derraz 0179de844c feat: keep firmware of cores the list lacks
--installed-cores treated a core with no profile as one that reads no
file, and dropped dc/dc_boot.bin for parallel_dc without a word (issue 87).
Such a core is now named, and the firmware its RetroArch .info declares is
kept. core_names lists every core a platform runs, so a profile with no
file is not reported unknown.
2026-11-09 06:52:44 +01:00
Abdessamad Derraz 19cfd8132b feat: profile five new buildbot cores
parallel_dc (libretro/flycast renamed), hyperscanemu, hypseushw, n64emu
and odin reached the RetroArch buildbot after the last targets scrape and
resolved to no profile. Targets rescraped, each core profiled from its
source.
2026-11-09 06:52:44 +01:00
Abdessamad Derraz a7a27028ab feat: give assistants each page as markdown
The build writes <page>/index.md beside each page, named in its head,
and llms-full.txt. llms.txt and the setup skill say how to answer from
the site, not from memory, and the setup_bios_files WebMCP tool gives a
setup's folder and exact file names from the picker data.
2026-11-09 06:04:42 +01:00
Abdessamad Derraz ab9fe76de2 fix: resolve the cores handhelds rename
ArkOS ran the GBA with gpsp_ezode_mod and dArkOS with mgba_rumble: no
profile named them, so an install for the card's games kept every GBA
core's files, FBNeo's 3,472 data files among them. Each rename proven
from the OS build (same code base, same BIOS loading) joins its
profile's cores. The resolver folds either separator, and falls back to
the emulator column when the core names a mode, a machine or a plugin
of that program, only where its profile declares the folder's system:
MAME documents no GameKing ROM. 109 unresolved names are 56, each one
recorded with why in tests/test_games_index.py.
2026-11-09 06:04:42 +01:00
Abdessamad Derraz ae5b6219bb chore: merge origin/main 2026-11-07 03:28:27 +01:00