Skip to content

feat(prx): declare evidenced PS5 pending exports - #7749

Merged
oneandonlydean merged 4 commits into
boykopovar:mainfrom
xdCloudy:feat/ps5-verified-exports
Oct 19, 2026
Merged

oneandonlydean merged 4 commits into
boykopovar:mainfrom
xdCloudy:feat/ps5-verified-exports

Conversation

@xdCloudy

@xdCloudy xdCloudy commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

What

Adds 108 pending export declarations, all calling NotImplemented_nid_no_patch. 87 have credible prototype evidence. 46 intentionally use the existing no-parameter unknown-signature convention; those declarations are for import resolution only and make no ABI claim. Technical-debt files document the unknown cases. Duplicate invitation-dialog exports were removed after rebasing.

Evidence includes SharpProspero, shadPS4, PS5-3.20_Libs, and ps5rs.

Tested

  • Progress tests
  • History tests
  • Conventions
  • pr_overlap
  • Diff check
  • Full local build not run: SDL2 submodule / XRandR dependency limitation.
  • CI: no full CI result is claimed.

Checklist

  • Based on current main; all six branches were rebased on current upstream main.
  • One topic per PR; no other open PR implements the same functions.
  • No code comments added; technical-debt documentation is included where applicable.
  • Unimplemented exports use NotImplemented_nid_no_patch; inventory-only dummy entries do not add callable stubs.
  • No standalone investigation notes or images; technical-debt files, where present, document unknown cases.
  • No new third-party code or submodules.
  • Behavior is not title-specific.
  • Depends on: none.
  • Fixes: none.
  • Unblocks: none.
  • GPUs tested: n/a.
  • AI-assisted: yes.

@github-actions github-actions Bot added the open PR limit Closed over the open PR limit: 1 without merged PRs, 20 with at least 1, none from 20 label Oct 19, 2026
@github-actions

Copy link
Copy Markdown

Thank you for your contribution! Authors with no pull requests merged into main can have 1 open pull request at a time, authors with at least 1 merged can have 20, and from 20 merged there is no limit. This PR has been automatically closed and labeled "open PR limit" because that limit was reached. This is not a judgment of the quality of your changes: reopen it once one of your open pull requests is merged or closed.

@github-actions github-actions Bot closed this Oct 19, 2026
@github-actions github-actions Bot removed the open PR limit Closed over the open PR limit: 1 without merged PRs, 20 with at least 1, none from 20 label Oct 19, 2026
@oneandonlydean oneandonlydean self-assigned this Oct 19, 2026
@oneandonlydean

Copy link
Copy Markdown
Collaborator

Thanks, the export code looks good. One change in the docs, please:

docs/dev/debt/libSceRegMgr.md currently replaces main's only entry (the sceRegMgrNonSysGetInt bullet) with the new GetBin/SetBin entry. sceRegMgrNonSysGetInt is still exported unchanged in Export.cpp, so that debt would be lost. Could you keep the existing sceRegMgrNonSysGetInt bullet and add the new one under it? Please keep it free of game titles and title IDs (docs convention).

Once that's pushed, we'll run CI on the new head and merge.

@xdCloudy
xdCloudy force-pushed the feat/ps5-verified-exports branch from 25e44c9 to 91c9318 Compare October 19, 2026 07:29
@xdCloudy

Copy link
Copy Markdown
Contributor Author

Updated in 91c931896eb232b720ff3d6d8105a9a4d6fe376d: restored the sceRegMgrNonSysGetInt debt bullet, with the game title and title ID removed, and kept the new GetBin/SetBin bullet directly below it. I also removed the incidental blank-line change to libSceSaveData/Export.cpp, so this PR no longer changes the file flagged against #7780. The branch is rebased on current main; the latest conventions and labels checks pass. Thank you for pointing this out.

@oneandonlydean
oneandonlydean merged commit 1ee7891 into boykopovar:main Oct 19, 2026
2 checks passed
@oneandonlydean

Copy link
Copy Markdown
Collaborator

Thanks @xdCloudy. The sceRegMgrNonSysGetInt debt bullet is back with the title reference taken out, GetBin/SetBin sit below it, and the SaveData blank-line change is gone, so it no longer overlaps #7780. The declarations themselves are unchanged from what was reviewed. Full CI is green on this head, so it's merging now.

@akkadbakkad89

Copy link
Copy Markdown
Contributor

@xdCloudy Following up on the inventory PRs — the ~200 skeleton libraries are a great foundation. I've opened #7835 and #7840 declaring exports for 13 of them (libSceNKWeb, libSceDiscId, libSceAppChecker, libSceS3da, libSceAudioLatencyEstimation, libSceCompanionUtil, libSceCompanionHttpd, libSceOpusSilkEnc, libSceOpusCeltEnc, libSceShellUIUtil, libSceMoveTracker, libSceCustomMusicCore, libSceHttpCache), with names/NIDs resolved from the aerolib table via tools/nid_names.py.

One limitation I want to flag honestly: that DB is a flat name list, so per-module attribution is prefix-derived (libSceX → sceX*), not firmware-verified — and signatures are unknown, so every export is declared () + NotImplemented. Your declaration commits here are labelled evidenced/verified, which suggests you have per-module export tables (firmware dumps or equivalent).

If those tables can be shared — even just name lists per library, without binaries — I'd be glad to align the remaining skeletons to the evidenced exports instead of prefix guesses, and correct anything already merged if a name landed in the wrong module. If they can't be shared, no problem — I'll keep it to unambiguous-prefix declarations only.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants