Commit Graph
7413 Commits
Author SHA1 Message Date
p3nicillin 721a2e4b73 fix(opus): decode at the requested rate with bundled libopus 2026-10-22 23:09:24 +01:00
Dean a78ebba1af Merge pull request #9080 from YossiYad/feat/imedialog-internal-queries
feat(libSceImeDialog): implement the star state, internal init and panel position calls
2026-10-23 11:09:22 +13:00
Queuze 435a41bb82 chore: sync contribution with main 2026-10-22 19:09:12 -03:00
Queuze ff4412c7e6 chore: sync contribution with main 2026-10-22 19:07:22 -03:00
Queuze a559f1e0be chore: sync contribution with main 2026-10-22 19:02:56 -03:00
Dean 287d539503 Merge pull request #9336 from ycbuzi/fix/libkernel-sys-link-follow-windows
fix(libkernel_sys): follow a symbolic link in link on Windows
2026-10-23 11:02:54 +13:00
Dean ccf7f10407 Merge pull request #9114 from voidlakhan/feat/appcontent-temporary-data-mount
feat(libSceAppContent): implement temporary data mount
2026-10-23 11:02:29 +13:00
Dean 4a74325fb8 Merge pull request #9031 from hypermoist/feat/gamelivestreaming-program-info
feat(libSceGameLiveStreaming): answer sceGameLiveStreamingGetProgramInfo with an empty program
2026-10-23 11:02:05 +13:00
JAB-devandClaude Sonnet 5.5 2eedb856d9 fix(libSceNgs2): return INVALID_NUM_CHANNELS for PLAY on a sampler voice that was never set up
A sampler voice with no setup used to enter the playing state and never finish, so a title that frees its sound slots by polling sceNgs2VoiceGetStateFlags ran out of slots. The PS4 firmware 11.00 library fails the event and keeps the voice idle.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 00:00:31 +02:00
Kraken beb7b21f3d feat(freetype): integrate outline queries after Ot declarations 2026-10-22 22:57:11 +01:00
Dean 5366b8b911 Merge pull request #8914 from hypermoist/feat/audioin-open-ex
feat(libSceAudioIn): open ports through the Ex calls and accept the two setters
2026-10-23 10:57:08 +13:00
Dean 1fd6f9bb58 Merge pull request #9544 from Queuse/codex/net-buffer-validation
fix(libSceNet): reject nonpositive socket buffers
2026-10-23 10:54:58 +13:00
Kraken 982350964c docs(freetype): keep provider debt in its module file 2026-10-22 22:50:43 +01:00
Kraken a3c6c8206e docs(freetype): avoid adjacent debt entry conflicts 2026-10-22 22:47:12 +01:00
Dean eb8dcfebaa Merge pull request #9837 from JAB-dev/fix/ngs2-pan-init-validation
fix(libSceNgs2): return the SDK pan error codes from sceNgs2PanInit
2026-10-23 10:43:59 +13:00
Kraken 2a7cd60c89 feat(freetype): implement system outline border queries 2026-10-22 22:43:33 +01:00
Dean d3efe3af99 Merge pull request #8115 from milescoviello/feat/msaa-depth-one-sample-color
feat(agc): draw one-sample color targets beside a multisampled depth target with sample 0's coverage
2026-10-23 10:38:32 +13:00
Th3EvilGod b553950efd fix(ngs2): correct UserFx ids and preserve the Delay compatibility path 2026-10-23 01:17:40 +04:00
xdCloudy fcec4981a5 docs: distinguish known exports from unverified ABI 2026-10-22 22:15:40 +01:00
xdCloudy 718e1755ac docs: distinguish known exports from unverified ABI 2026-10-22 22:15:21 +01:00
Th3EvilGod 154ca3754e chore(ngs2): update Gain prerequisite to current main 2026-10-23 01:11:51 +04:00
JAB-devandClaude Sonnet 5.5 4287ca1cf1 Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into feat/agc-4-4-4-4-partial-writes
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-22 23:09:07 +02:00
Dom3005andClaude Opus 5.5 d426d2f9ef docs(debt): keep the fstatfs entry under the debt length limit
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-22 23:06:03 +02:00
Dom3005andClaude Opus 5.5 93ab8d3514 fix(libkernel): answer fstatfs on a character device as devfs does
FreeBSD keeps every character device on devfs, whose devfs_statfs reports
512-byte blocks, 2 blocks and nothing free. Windows threw for any console,
NUL or the guest random device, and Linux described the host's /dev mount.
A kqueue now returns EINVAL, as getvnode does.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-22 23:06:03 +02:00
Federico Marras 5090249228 Merge remote-tracking branch 'upstream/main' into feat/np-score-ranking-offline 2026-10-22 22:59:53 +02:00
Federico Marras 8802bec184 Merge remote-tracking branch 'upstream/main' into feat/np-utility-offline 2026-10-22 22:59:46 +02:00
Federico Marras 99356384a2 docs(debt): say that libSceNpSignaling checks online IDs as ASCII 2026-10-22 22:59:24 +02:00
Federico Marras 071b098aba Merge remote-tracking branch 'upstream/main' into feat/np-signaling-offline 2026-10-22 22:58:50 +02:00
Federico Marras 4bb91851bb feat(libSceNpMatching2): model contexts offline
The context calls, the callback registrations and
SetDefaultRequestOptParam threw. They now follow shadPS4's checks and
context ids, ContextStart returns SCE_NET_ERROR_RESOLVER_ETIMEDOUT, the
answer shadPS4 records for a console without internet access, and
Terminate releases the contexts.
2026-10-22 22:55:51 +02:00
Dean 9e568a389b Merge pull request #8376 from hypermoist/feat/libc-dinkumware-dispatchers
feat(libc): implement the Dinkumware _Stod, _Stoll, _Sin and _Log helpers
2026-10-23 09:51:54 +13:00
Yunus Shaikh 7b6c3aae83 Merge main into feat/libkernel-sys-libthr-names
# Conflicts:
#	docs/dev/debt/libkernel.md
2026-10-22 13:51:29 -07:00
Federico Marras 6710ba6702 feat(libSceNpScoreRanking): model the score requests offline
The 15 exports threw. They now keep title contexts and requests, run
shadPS4's argument checks in its order, and answer the record, ranking
and board calls with SCE_NP_ERROR_SIGNED_OUT, which also finishes the
request, as shadPS4 does for a user with no connection.
2026-10-22 22:49:04 +02:00
Savvanis SpyrosandClaude Opus 5.5 26469c711a feat(libSceNpTrophy): answer game, base group and trophy info from the trophy package
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-22 23:45:54 +03:00
Savvanis SpyrosandClaude Opus 5.5 7140ec1591 feat(np): answer and declare the PS4 NP imports of CUSA03312
NpMatching2 keeps its initialized state. sceNpSignalingDeactivateConnection
and sceInvitationDialogClose, which these titles also import, are declared
and throw.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-22 23:45:32 +03:00
ntamas94andClaude Fable 5.1 7678df544f fix(libScePad): answer a 17th special-port user with the unknown-user code
The special port table had four slots and threw for a fifth user, which
the progress report counted as scePadOpen going back to a stub. A PS4
holds at most 16 accounts, so the table now has 16 slots and a 17th
distinct user id gets 0x809b0081, the code the console returned for an
unknown user id in the libScePad survey (PS4 Pro, firmware 10.71).

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-22 22:45:14 +02:00
Dean e2fa8798c7 Merge pull request #9115 from thuanquang/fix/trophy2-unknown-id-error
fix(libSceNpTrophy2): return INVALID_TROPHY_ID for a trophy that is not in the title's data
2026-10-23 09:43:58 +13:00
Dean 5f83572bfb Merge pull request #9032 from hypermoist/fix/audioout2-lo-terminate
fix(libSceAudioOut): return 0 from sceAudioOut2LoTerminate and forward sceAudioOut2InitializeEx
2026-10-23 09:43:36 +13:00
ntamas94andClaude Fable 5.1 7be1132713 fix(libScePad): make the special port handle behave as the PS4 measured
The ps4probe libScePad survey (PS4 Pro, firmware 10.71) measured the
special port with one user: a second scePadOpen returns ALREADY_OPENED
(0x80920004); scePadRead and scePadReadState give the rest record
(sticks 0x80, orientation w 1, acceleration y 1, connected 0);
scePadGetControllerInformation is zeroed;
scePadDeviceClassGetExtendedInformation reports device class -1; and
scePadSetVibration, scePadSetLightBar, scePadResetLightBar,
scePadSetMotionSensorState and scePadResetOrientation return 0.

The special handle is now accepted by every pad call: setters succeed
without touching the emulated pad, getters return the measured records.
Calls not covered by the survey follow the same rule and the debt entry
lists them.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-22 22:41:36 +02:00
orezraeyandClaude Opus 5.5 36f66c5039 Merge main into fix/libkernel-aio-limits-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-22 17:41:34 -03:00
Federico Marras fd7d181074 feat(libSceNpUtility): model the lookup and word filter requests offline
The 14 lookup and word filter exports threw. They now run shadPS4's
argument checks in its order over local title contexts and requests,
and the lookup, censor and sanitize calls finish with
SCE_NP_ERROR_SIGNED_OUT without writing an NpId or a comment.
2026-10-22 22:41:30 +02:00
Dean fe8b9b5ddd Merge pull request #8906 from hypermoist/fix/coredump-set-user-data-type
fix(libkernel): give sceCoredumpSetUserDataType its signature and result
2026-10-23 09:41:20 +13:00
orezraeyandClaude Opus 5.5 2a9f2b7ac7 Merge main into fix/libkernel-release-flexible-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-22 17:39:38 -03:00
Federico Marras 7e97092226 feat(libSceNpSignaling): model contexts and connections offline
The eight exports threw. They now run shadPS4's argument checks in its
order, keep up to eight contexts with ids allocated as shadPS4 does,
validate NpIds with the online ID rule, and answer a connection request
with SCE_NP_ERROR_SIGNED_OUT without creating a connection.
2026-10-22 22:35:54 +02:00
ntamas94andClaude Fable 5.1 76b318a75c fix(libScePad): keep special port state per user
A single flag and one handle served every user's special port, so a
second user's scePadClose dropped the first user's handle from
scePadGetHandle. Each user now gets a handle of its own
(PAD_SPECIAL_HANDLE + slot, four slots), a repeated open returns it
again, and close frees only that slot. Whether the console shares or
separates the handles is not measured yet; the debt entry says so.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-22 22:30:59 +02:00
JJenkxandClaude Opus 5.5 ac92cc6281 fix(libc): compute cbrtf with FreeBSD msun's algorithm, as titles' libc.prx does
cbrtf returned the host cbrt, so its result depended on the host: on
Windows it differs from the libc.prx that titles ship on 1,303,357,444 of
the 2^32 floats. That libc.prx is msun's s_cbrtf.c, which gives the same
bits as PPSA07923's, PPSA05916's and PPSA13934's copies for every argument.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-22 16:22:49 -04:00
JJenkxandClaude Opus 5.5 e601dbd7a4 fix(libc): compute sinf, cosf, tanf and sincosf with FreeBSD msun's algorithms, as titles' libc.prx does
They returned the host sin, cos and tan, so their last bit and errno
depended on the host: on Windows sinf differs from the libc.prx that titles
ship on 3,349,410 of the 2^32 floats, cosf on 3,382,210 and tanf on
303,874,018. That libc.prx is msun's s_sinf.c, s_cosf.c and s_tanf.c over
the double-precision kernels and e_rem_pio2f.c with k_rem_pio2.c; its
sincosf returns the same pair, and only an infinite argument sets EDOM.
The ports give the same bits and errno as PPSA07923's, PPSA05916's and
PPSA13934's copies for every argument.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-22 16:22:31 -04:00
SwagandClaude Opus 5.5 ff4974658d Merge upstream/main into feat/libressl-error-queue
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-22 16:22:30 -04:00
Dean 1da03c6f34 Merge pull request #9076 from orezraey/fix/net-utilities-measured-ps5
fix(libSceNet): accept every sceNetMemoryAllocate flag as measured on a PS5
2026-10-23 09:22:21 +13:00
Dean 5d40eb3fdc Merge pull request #9106 from Retr0G28/fix/scenet-stream-recv-timeout-eagain
fix(libSceNet): report EAGAIN when a stream receive times out on Windows
2026-10-23 09:22:12 +13:00
JJenkxandClaude Opus 5.5 a22e959cd8 fix(libc): compute logf with FreeBSD msun's algorithm, as titles' libc.prx does
logf returned the host log, so its last bit and errno depended on the host:
on Windows the bits differ from the libc.prx that titles ship on 13,225,175
of the 2^32 floats. That libc.prx is msun's e_logf.c, setting ERANGE for
+-0 and EDOM for every argument with the sign bit set. The port gives the
same bits and errno as PPSA07923's and PPSA05916's copies for every
argument; the FMA-contracted copy of PPSA13934 differs by 1 ulp on 961,881.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-22 16:21:35 -04:00