Skip to content

feat(libs): add the unimplemented exports PPSA16064 imports - #1125

Merged
adriadam10 merged 3 commits into
boykopovar:mainfrom
TideOPL:feat/ppsa16064-missing-exports
Oct 8, 2026
Merged

adriadam10 merged 3 commits into
boykopovar:mainfrom
TideOPL:feat/ppsa16064-missing-exports

Conversation

@TideOPL

@TideOPL TideOPL commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

What

PPSA16064 (Minecraft Dungeons II, Unreal Engine) failed to load because these imports had no export:

  • libkernel: sceCoredumpWriteUserString
  • libSceSaveData: sceSaveDataConvert, sceSaveDataGetConvertProgress

None of them is called during the title's start-up, so they're added as unimplemented exports that throw with their name if a title does call them. Their signatures are unknown; TechnicalDebt records them.

sceVideoOutVrrPegToFixedRate and sceVideoOutVrrUnpegFromFixedRate are imported too; I've left those to #518, which already adds them.

The title also imports 7 libSceTextToSpeech2 functions; #301 (merged) created that library but exports only sceTextToSpeech2GetSystemStatus so far, and the rest are left to a follow-up. This branch is merged with main after #301, keeping its Coredump exports alongside sceCoredumpWriteUserString.

Tested

  • Windows 11, NVIDIA GeForce RTX 5070, MinGW-w64 GCC 15.2.0 (WinLibs UCRT r7). Full ctest: 393/393.
  • The built libraries export the NIDs the title imports (checked with objdump -p). Per CONTRIBUTING, there's no export-only test.
  • PPSA16064: the title loads past these imports.

Checklist

  • Based on current main; no other open PR implements the same functions
  • One topic per PR; follow-ups go in a new PR
  • No comments in code except technical debt
  • Unimplemented paths throw (NotImplemented_nid_no_patch); silent stubs are listed in TechnicalDebt
  • No notes, investigation .md files or images added to the repository (attach them to this PR)
  • New third-party code is a submodule built from source
  • Generic behaviour, not specific to one title
  • Depends on: fix(libs): TLOU throwing stubs for VideoOut VrrPeg and VrrStatus #518 (VideoOut VrrPeg exports)
  • AI-assisted: yes

PPSA16064 (Minecraft Dungeons II, Unreal Engine) failed to load because
these imports had no export:

- libkernel: sceCoredumpWriteUserString
- libSceSaveData: sceSaveDataConvert, sceSaveDataGetConvertProgress
- libSceVideoOut: sceVideoOutVrrPegToFixedRate,
  sceVideoOutVrrUnpegFromFixedRate

None of them is called during the title's start-up, so they are added
as unimplemented exports that throw with their name if a title calls
them. Their signatures are unknown; TechnicalDebt records them. The
built libraries export the NIDs the title imports.
@github-actions github-actions Bot added the needs rebase Conflicts with main, rebase needed label Oct 7, 2026
@github-actions github-actions Bot added libkernel docs prx and removed needs rebase Conflicts with main, rebase needed labels Oct 7, 2026
@github-actions

github-actions Bot commented Oct 8, 2026

Copy link
Copy Markdown

Progress report (3c05400 → 1d806f8)

📉 System libraries: 86.04% (-0.09%, +3 declared functions)

🆕 3 declared as stubs
Library Name
libSceSaveData.native sceSaveDataConvert
libSceSaveData.native sceSaveDataGetConvertProgress
libkernel sceCoredumpWriteUserString

@adriadam10

Copy link
Copy Markdown
Collaborator

Checked: build + full ctest on top of current main (424/424); the three NIDs (32KQRUK13kI, 2mfSRGdshtk, 8EA5OMIL1lQ) are exported by libkernel.prx / libSceSaveData.native.prx and match aerolib; #518 is merged; TechnicalDebt entry is in place. Merging once CI is green.

@adriadam10
adriadam10 merged commit da40273 into boykopovar:main Oct 8, 2026
3 checks passed
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.

2 participants