Commit Graph
8814 Commits
Author SHA1 Message Date
WhiteAssassins 05f005e341 feat(tools): verify additional executables in patch advisor 2026-10-21 01:35:06 -04:00
akkadbakkad89andDevin 9833ab4297 refactor(libSceNpGameIntent): make the AppLauncher lifecycle a documented silent stub
Addresses review on #8355: drops g_appLauncherReady and the
unverified init-param size check so both exports are plain silent
stubs, lists them under Silent stubs in the debt file naming
PPSA20397, and moves them out of the unknown-info entry.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-21 10:59:28 +05:30
hypermistandClaude Opus 5.5 c680e28f4f fix(libkernel): give sceCoredumpSetUserDataType its signature and result
The call threw for lack of a signature. In the PS5 12.00 libkernel it takes
one int, passes it to syscall 601 (command 29) and returns the raw kernel
result. No dump is produced here, so it returns 0, as
sceCoredumpConfigDumpMode does.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 18:28:51 +13:00
Dean Galvinandmazen 4977e87806 Merge main into fix/skip-inaccessible-branched-scalar-load
Shader disk cache FormatVersion stays 43 (main is 42).

Co-authored-by: mazen <[email protected]>
2026-10-21 18:25:02 +13:00
Kraken 2d22f777eb feat(libc): implement feraiseexcept 2026-10-21 06:18:23 +01:00
hypermistandClaude Opus 5.5 e70813c395 feat(libSceWebBrowserDialog): check the cookie calls as the console does
sceWebBrowserDialogSetCookie and sceWebBrowserDialogResetCookie threw.
They now check their parameters in the console's order and with its
codes (PS5 12.00 module), then succeed: there is no cookie store. Open
sets the open-dialog flag that makes both return 0x80B80006 until the
dialog is updated to finished, closed or terminated.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 18:18:07 +13:00
akkadbakkad89andDevin 988f98f40c docs(debt): cut stale libScePsml_debug entries the MFSR queries supersede
Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-21 05:17:34 +00:00
frankea 3205511d38 Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into ps5-measured-1340
# Conflicts:
#	docs/dev/debt/shader.md
2026-10-21 01:13:11 -04:00
Dean a07e985c8f Merge pull request #8889 from oneandonlydean/docs/neutral-title-names
docs(dev): name retail titles by ID instead of by title
2026-10-21 18:10:11 +13:00
Rookie 5748d7ce81 fix(relinker): compare Windows file identities by their 128-bit file ID 2026-10-21 06:09:46 +01:00
Dean GalvinandRajkamalcode da0ae843ac Merge origin/main into PR 7912
Co-authored-by: Rajkamalcode <[email protected]>
2026-10-21 18:05:58 +13:00
WhiteAssassins 04ec954284 feat(tools): recommend verified local game patches 2026-10-21 01:05:51 -04:00
slopggobblercobbler81 aab806939e feat(libkernel): implement getresuid and getresgid
Follow FreeBSD 11.4 sys_getresuid and sys_getresgid (sys/kern/kern_prot.c):
retrieve real, effective, and saved user and group IDs for the guest process,
which is assumed to run as root with IDs 0. Pointers that are not null receive 0,
null pointers are ignored, and 0 is returned leaving errno unchanged on success.
Cover both in guest_credentials test and update libkernel debt documentation.
2026-10-21 06:56:42 +02:00
Dean 3fb6a126fa Merge pull request #8094 from slick-daddy/newwy
feat(libSceVideodec): implement the video decoder on top of libSceVideodec2
2026-10-21 17:55:51 +13:00
Dean 4936df7889 Merge pull request #6721 from JJenkx/feat/ajm-atrac9-vibration
feat(ajm): decode ATRAC9 vibration streams
2026-10-21 17:55:47 +13:00
Dean 16c7e76761 Merge pull request #8321 from MarrasFederico/feat/netctl-get-result-v6
feat(libSceNetCtl): report no error for IPv6 events in sceNetCtlGetResultV6
2026-10-21 17:54:21 +13:00
Dean 1cd98b72da Merge pull request #8240 from adhimiw/feat/libSceCesCs-pending-exports
feat(libSceCesCs): declare the missing firmware character set exports
2026-10-21 17:54:17 +13:00
Dean 38d5107fb7 Merge pull request #8878 from xXPBSXx/docs/agc-debt-drawpipeline-link
docs(debt): point the DrawPipeline link at its header in include
2026-10-21 17:54:09 +13:00
Kraken c44f3b59f7 feat(libkernel): implement pthread_timedjoin_np 2026-10-21 05:50:29 +01:00
Dean fa9eb5cfac Merge pull request #8490 from orezraey/feat/np-game-presence-callback
feat(libSceNpManager): accept game presence callbacks while signed out
2026-10-21 17:49:32 +13:00
Dean e09c3306e0 Merge pull request #8485 from orezraey/feat/npwebapi2-internal-initialize
feat(libSceNpWebApi2): implement the internal and presence initializers
2026-10-21 17:49:28 +13:00
Dean 1fd67185b6 Merge pull request #8513 from milescoviello/fix/ngs2-destroy-in-own-render
fix(libSceNgs2): refuse a destroy from inside its own system's render
2026-10-21 17:44:56 +13:00
Dean Galvin bc87535cb0 docs(dev): name retail titles by ID instead of by title
Debt entries name the titles they were measured on. Use the title ID, or "a retail title" where the sentence needs no identification. No technical content changes.
2026-10-21 17:34:40 +13:00
Ondra97 ed471c62e3 chore: merge main into epoll lifetime fix 2026-10-21 06:31:02 +02:00
Dean fbb6f49493 Merge pull request #8540 from erickerxhalli/feat/libsceimedialog-force-close
feat(libSceImeDialog): close an open dialog in sceImeDialogForceClose
2026-10-21 17:20:30 +13:00
Yunus Shaikh 3253ab49bb perf(agc): leave a lazily registered shader's resolved ABI to its first use
Under APS5_LAZY_SHADER_PREPARE=1 registration prepares nothing, but
ResolveShaderAbi still planned and prepared every compute or pixel stage
whose ABI the title resolved, so a title that resolves every shader's
ABI prepared them all at boot whether they ever drew.

With lazy preparation ResolveShaderAbi now plans the stage with the
ABI's state (its register and entry-point checks, as lazy registration
keeps them), records the ABI key, and queues the ABI's context and
primitive registers on the shader. The shader's first draw or dispatch
plans and prepares the queued ABIs with that state before it looks for
its artifact, so a shader that never draws or dispatches stays
unprepared and one that does gets the entries eager resolution would
have made. A stage whose plan fails is deferred as before. Without the
switch nothing changes; graphics-stage ABIs are still prepared when
they are resolved.

Test: agc_driver_lazy_resolved_abi resolves the ABI of four lazily
registered shaders and draws two. None holds prepared entries after
resolution, the two that never drew still hold none, and a drawn one
draws the same bytes as with eager preparation in a child process.
2026-10-21 04:18:23 +00:00
bluandClaude Fable 5.1 46c36c304f feat(libc): export the num_get and time_get locale objects as data
The public SDK's libSceLibcInternal table declares num_get<char>::id, time_get<char>::id and the
num_get<char> vtable as objects; libSceAmpr exported their NIDs as functions that throw, which a
data consumer reads as code (#8875). libc now defines them the way the other facet ids and the
num_put and codecvt vtables are kept: the ids zero, the vtable 15 zeroed slots (two header
entries, the two destructor entries and Dinkumware's eleven do_get), and libSceAmpr drops the
functions. An import qualified to libSceAmpr.prx falls back to libc, so each object has one
identity.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-20 21:13:08 -07:00
Dean f47c856634 Merge pull request #8529 from MarrasFederico/feat/audio-out2-low-latency
feat(libSceAudioOut): serve the low-latency AudioOut2 calls through their standard counterparts
2026-10-21 17:12:07 +13:00
hypermist f4e00d3ca6 Merge remote-tracking branch 'origin/feat/agc-acb-workload-packets' into fix/agc-semaphore-memory-firmware
# Conflicts:
#	docs/dev/debt/libSceAgc.md
2026-10-21 17:03:14 +13:00
bluandClaude Fable 5.1 0900ff6ff0 feat(libc): implement siginterrupt through the sigaction libkernel registers
siginterrupt is a libSceLibcInternal export (the public SDK's stub table has it there, not in the
kernel tables) and FreeBSD 11.4's lib/libc/gen/siginterrupt.c reads the signal's disposition,
sets or clears the signal's bit in _sigintr and SA_RESTART, and installs the disposition again.
libc cannot call libkernel, so, as the pthread hooks do, libc keeps a registered sigaction and
the address of the _sigintr set, and libkernel registers both from a static initializer when it
loads. A call before that throws; the set is written without libkernel's registration lock, as
FreeBSD's libc does. Builds on #8866, which adds the set.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-20 20:53:14 -07:00
xXPBSXxandClaude Sonnet 5.5 7f877b7581 docs(debt): point the DrawPipeline link at its header in include
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-21 05:50:48 +02:00
hypermistandClaude Opus 5.5 0b52caf718 docs(libc): place the strtof rounding entry beside memmem
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 16:42:08 +13:00
bluandClaude Fable 5.1 e38179eaab feat(libkernel): export _sigintr and let signal honour it
The public SDK's libkernel, libkernel_sys and libkernel_web stub tables declare _sigintr, the
sigset_t that FreeBSD's libc shares between signal and siginterrupt, and no built library
provided it (#8846). libkernel now exports the 16-byte object, zero at start, and signal records
a handler with SA_RESTART unless its signal is in the set, as lib/libc/gen/signal.c does.

siginterrupt, which fills the set, is a libSceLibcInternal export; libc does not link libkernel
and cannot reach the dispositions, so it stays out and a debt entry for signal says so.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-20 20:41:54 -07:00
hypermistandClaude Opus 5.5 810054bdf1 docs(libc): move the strtof rounding entry clear of open edits
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 16:40:55 +13:00
hypermistandClaude Opus 5.5 34a729529a fix(libc): keep the sign of a failed strtof and drop hex ERANGE like the console
- strtof, strtold, wcstof and wcstold return -0.0 when nothing converts
  after a minus sign, unless the next character starts an inf or nan
  spelling; strtod, wcstod and atof keep +0.0.
- strtof, strtold, wcstof and wcstold leave errno alone for hexadecimal
  text that overflows or underflows.
- strtod and wcstod set ERANGE for hexadecimal text whose value lies
  below the smallest subnormal and rounds up to it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 16:40:09 +13:00
Kraken 8e1f4f802e feat(libc): implement feholdexcept 2026-10-21 04:36:33 +01:00
Dean 46bfbe4e25 Merge pull request #8063 from AasishDairelSahayaGrinspan/fix/relinker-gs-memory-only-traps
fix(relinker): trap only GS memory accesses in Windows and macOS output
2026-10-21 16:35:25 +13:00
Dean GalvinandFederico Marras 7924d09f00 Merge origin/main into PR 8524
Co-authored-by: Federico Marras <[email protected]>
2026-10-21 16:34:11 +13:00
Dean 31f0e34cb5 Merge pull request #8337 from KernelPanicNT/feat/systemservice-player-dialog-param
feat(libSceSystemService): fill the player dialog param as the console does
2026-10-21 16:33:32 +13:00
klosixgaming-arch ee81c5112d feat(agc): draw point-list output of NGG geometry programs as mesh points
A geometry program with VGT_GS_OUT_PRIM_TYPE 0 (point list) was refused
as an unsupported output assembly, halting Cocoon (PPSA08766) on boot
with "VGT_GS_OUT_PRIM_TYPE other than a triangle strip, or a line strip
from a geometry program, is unsupported".

Each primitive export of an NGG point-list geometry program outputs one
point whose vertex index is stored directly in PrimitivePointIndicesEXT,
so the mesh module now declares OutputPoints with PrimitivePointIndicesEXT
for it when outputPrimitiveSize is 1. The point primitive export extracts
the 9-bit vertex index from the packed primitive export word and stores
it to the output array. A subgroup gets up to maxVertices points, with
provoking vertex 0 and point raster primitive topology.

Tested with Cocoon (PPSA08766) which now progresses past pipeline
creation and initial frame draws into gameplay.

AI-assisted: yes. Written with AI assistance and reviewed by me.
2026-10-20 22:26:30 -05:00
hypermistandClaude Opus 5.5 7b336bedac docs(libc): move the Annex K locale entry before wcsrtombs_s
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 16:23:56 +13:00
Dean 05f9995704 Merge pull request #8469 from hypermoist/feat/agcdriver-firmware-constants
feat(libSceAgcDriver): add the retail debug, capture and GPU reset results
2026-10-21 16:23:27 +13:00
hypermistandClaude Opus 5.5 813f5c4cf9 docs(libc): leave the wcsrtombs_s entry to #7841
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 16:22:54 +13:00
hypermistandClaude Opus 5.5 65544dc239 fix(libc): stop wcstombs_s at its limit and keep wcsftime's null buffer
wcstombs_s ends without error when a character does not fit a limit
below the capacity, as the console's does; wcsrtombs_s still reports
ERANGE there. Both paths became reachable with UTF-8. wcsftime keeps
returning 0 for a null buffer, and the debt entries that described the
single-byte locale now describe the UTF-8 one.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 16:21:23 +13:00
hypermist 04dc63a353 Merge remote-tracking branch 'upstream/main' into fix/libc-utf8-multibyte
# Conflicts:
#	core/libs/prx/libc/src/Multibyte.cpp
2026-10-21 16:20:33 +13:00
Dean 9f4ddf7cf9 Merge pull request #8838 from orezraey/fix/http-uri-unescape-sweep-measured-ps5
fix(libSceHttp): unescape and sweep URIs as measured on a PS5
2026-10-21 16:10:19 +13:00
Dean 51a30d567a Merge pull request #8297 from thuanquang/docs/trunc-coord-debt
docs(agc): record that the host sampler replaces TRUNC_COORD's rounding
2026-10-21 16:09:49 +13:00
Dean a683688fe0 Merge pull request #8335 from ymatrix1/feat/systemservice-missing-exports
feat(libSceSystemService): export missing firmware system service interfaces
2026-10-21 16:07:01 +13:00
Dean 141a6a5104 Merge pull request #8322 from MarrasFederico/feat/ngs2-rack-user-data
feat(libSceNgs2): keep caller data on racks with sceNgs2RackSetUserData and sceNgs2RackGetUserData
2026-10-21 16:06:57 +13:00
NikoandClaude Opus 5.5 cfb371d5e1 feat(libSceVoice): implement sceVoicePausePortAll and sceVoiceResumePortAll
Both threw. They now take no arguments and return 0x804E0801 while the
library is not initialized and 0 otherwise, as shadPS4's PS4 versions
do; that not-initialized code is the one prosper reads for
sceVoiceStart, and RPCS3's PS3 calls make the same check. Like
sceVoicePausePort they change no reported state: VitaSDK documents that
pausing every port keeps buffered data and the reported port state, and
nothing here processes port data.

guest_voice calls both before sceVoiceInit and after sceVoiceEnd
(0x804E0801), and twice each with ports open, where GetPortInfo still
reports the same type, state and frame size.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 05:01:43 +02:00