setup: detect any recompiled BIOS stem and stop the first-run setup loop - #343
Open
Alexbeav wants to merge 1 commit into
Open
Conversation
Focused port of the fork's fix/setup-host-bios-deadlock feature (10 commits) onto current upstream master, per the 2026-09-10 decision to port rather than rebase (the fork line and upstream share no merge base). Content: the codegen host accepts any recompiled BIOS stem instead of only OpenBIOS/SCPH1001 (psx_bios_known_images.h); the runtime checks the setup host before validating a chosen BIOS and the first-run loop breaker reports a cause-specific reason; the CLI decodes subprocess output as UTF-8; --setup-selfcheck verifies a headless setup; the rbengine preflight names the recursive init. Two port conflicts resolved: the new CTest registrations in recompiler/CMakeLists.txt are kept (the names exist only in this change), and runtime.cmake takes the new recomp-ui guidance text. Cubic P3 finding fixed: the sibling PSX_NETPLAY FATAL_ERROR now also names --recursive. Evidence: python syntax checks pass for psxrecomp_cli.py and the new tests; runtime/tests/test_codegen_host_bios_stems.py runs or skips only on a missing RECOMP_UI_ROOT. No full runtime build or retail route is claimed here. Developed with AI assistance (Cline, 2026-09-10).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Focused port of the fork's
fix/setup-host-bios-deadlockfeature onto currentmaster, prepared as a single squashed change because the fork line andupstream share no merge base (patch-port route, decided 2026-09-10).
The setup host only accepted OpenBIOS and SCPH1001 style stems. A kit that
pins another recompiled retail BIOS stem could loop through first-run setup
without ever finishing. This change:
(
runtime/include/psx_bios_known_images.h),runtime/src/main.cpp),(
psxrecomp_cli.py),(
recompiler/CMakeLists.txt),(
runtime/runtime.cmake).Port notes
master, both resolved: the CTestregistrations (the two names exist only in this change) and the recomp-ui
guidance text (takes the new wording).
PSX_NETPLAYFATAL_ERROR atruntime/runtime.cmakenow namesgit submodule update --init --recursive, matching the corrected message.Evidence and limits
python -m py_compilepasses forpsxrecomp_cli.pyand the newruntime/tests/test_codegen_host_bios_stems.py.RECOMP_UI_ROOT; a full run needs atree with recomp-ui present and a built codegen host. No full runtime
build, native run, or retail route is claimed in this PR.
addressed there and are carried in this port.
Developed with AI assistance (Cline session, 2026-09-10); the changes were
validated as described above before opening this PR.