Repository navigation
feat(libScePsml): answer the versioned MFSR context calls as not initialized - #5651
klosixgaming-arch wants to merge 1 commit into
Conversation
…ialized scePsmlMfsrGetContextBufferRequirement1100, CreateContext1100 and GetDispatchMfsrPacket1100 already return 0x8A810001, as the MFSR runtime is never initialized here. Their versioned counterparts (GetContextBufferRequirement800M3_2, CreateContext800M3_2 and 1300, GetDispatchMfsrPacket900, 1000 and 1300) take the same three argument shapes and now return the same error without reading their arguments. PPSA28416 imports the 1300 pair next to the 1100 requirement query. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Dh1MhYBFyzxRceoAxrepZ6
Progress report (a310431 → 7315fc0)📈 System libraries: 88.35% (+0.16%, +6 implemented functions) ✅ 6 implemented
⚪ 6 behaviourally empty (constant return or throw)
|
adriadam10
left a comment
There was a problem hiding this comment.
Thanks for the PR. Before this can merge:
core/libs/prx/libScePsml_debug/Export.cpp:33-114: these six exports threwNotImplemented_nid_no_patchonmain; they now return0x8A810001without reading anything. Nothing cited shows that the 800M3_2/900/1000/1300 versions have these argument shapes, or that the real library returns "not initialized" before validating its parameters (the PR itself lists both as unverified). A plausible error wheremainthrew is the kind of change we only take with a source: a disassembly of the title's libScePsml, prosper, KytyPS5/shadPS4, or a measurement. I found none for these names.core/libs/tests/GuestPsml.cpp:87-98: the new checks (includingnullptrarguments returning0x8A810001) pin what the code does, not what the library does. They would need values from a source above.docs/dev/debt/libScePsml_debug.md:6: if the error is kept without a source, the line belongs under Silent stubs, not only as a note in Unknown function info.
Either add the evidence for the signatures and the error, or keep these exports throwing until it exists. Also rebase after #5531, which edits the same debt lines.
|
Some comparisons could not be completed because a pull request conflicts with the base branch. Review these shared files manually before concluding that there is no overlap.
|
|
Closing this: main now has the same behavior. Commit 7ab3d44 ("feat(psml): implement the MFSR shared-resource and 800 context setup") added scePsmlMfsrCreateContext1300 and the 900/1000/1300 dispatch packets, which return 0x8A810001 until scePsmlMfsrInit is called and throw after it, so a rebase of this PR would leave nothing to change. Thanks for the review. AI-assisted: yes. Written with AI assistance and reviewed by me. |
What
scePsmlMfsrGetContextBufferRequirement1100,CreateContext1100andGetDispatchMfsrPacket1100already return0x8A810001(not initialized) without reading their arguments, as the MFSR runtime is never initialized here (scePsmlMfsrInitthrows). Their versioned counterparts take the same three argument shapes and now give the same answer:scePsmlMfsrGetContextBufferRequirement800M3_2scePsmlMfsrCreateContext800M3_2,scePsmlMfsrCreateContext1300scePsmlMfsrGetDispatchMfsrPacket900,1000,1300PPSA28416 imports the 1300 pair next to the 1100 requirement query, and PPSA25344 imports
GetDispatchMfsrPacket1000.guest_psmlchecks that none of them writes the requirement, the context slot or the command buffer. Whether each version takes these arguments, and the console's error, are recorded as unverified. #5531 also edits this file (it renames the two unknown NIDs); the changed lines don't overlap.Tested
Linux (Ubuntu 24.04, GCC 13.3, Release): built the library and its test target,
ctest -R guest_psmlpasses,tools/check_conventions.py --base origin/mainpasses. No title tested.Checklist
main; no other open PR implements the same functionsNotImplemented_nid_no_patch); silent stubs are listed under Silent stubs in their library's technical debt file.mdfiles or images added to the repository (attach them to this PR)🤖 Generated with Claude Code
https://claude.ai/code/session_01Dh1MhYBFyzxRceoAxrepZ6