Commit Graph
7963 Commits
Author SHA1 Message Date
Dean 1c9064435d Merge pull request #10451 from Danigamer05/fix/pngdec-16bit-input
fix(pngdec): honor the 16-bit input attribute
2026-10-26 14:16:21 +13:00
Dean 0f34ebb853 Merge pull request #10446 from Danigamer05/fix/keyboard-key2char-contract
fix(keyboard): preserve raw keys and ignore the Kana LED
2026-10-26 14:12:38 +13:00
orezraeyandClaude Opus 5.5 655d0f3f32 Merge main into feat/videoout-composite-overlay
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 21:51:50 -03:00
JJenkxandClaude Opus 5.5 0f7056d67b fix(libc): compute logb and logbf with FreeBSD msun's algorithm, as titles' libc.prx does
logb and logbf returned the host's logb, which sets ERANGE for a zero
argument on Windows and returns signalling NaNs unquieted. The titles'
copies are FreeBSD msun's s_logb.c and s_logbf.c, which set no errno and
quiet a NaN through x * x; both functions now compute that algorithm.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 20:50:11 -04:00
kenny soloandClaude Opus 5.5 aea49c62ad docs(libkernel): end the pthread_cond_setname_np debt entry with a period
Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-10-25 20:41:35 -04:00
kenny soloandClaude Opus 5.5 15ed96d647 fix(libkernel): stop storing the pthread_cond_setname_np name
scePthreadCondInit ignores its name and nothing reads a condition variable name back, so pthread_cond_setname_np now only validates the condition variable and the name. Drops the stale libkernel_sys declaration and moves the debt entry to Silent stubs, citing shadPS4.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-10-25 20:41:35 -04:00
kenny soloandClaude Opus 5.5 70557b2e16 feat(libkernel): add pthread_cond_setname_np
Store the name on the condition variable, creating a statically initialized one first, and return EINVAL for a destroyed one. A null cond or a null name throws, recorded in the libkernel debt file.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-10-25 20:41:35 -04:00
Dean 5b85225ef3 Merge pull request #9797 from Terminev/feat/npwebapi-offline-requests
feat(libSceNpWebApi): add user contexts, requests and push event callbacks offline
2026-10-26 13:34:33 +13:00
frankea 4db6ed7635 Merge remote-tracking branch 'origin/main' into fix/kernel-gettimezone-host-zone
# Conflicts:
#	core/libs/tests/GuestFreebsdClocks.cpp
2026-10-25 20:22:45 -04:00
Adrià 97d33464c5 Merge pull request #9527 from AlxcBTW/pr/libc-annex-k-stream-io
feat(libc): add the Annex K stream printf, scanf and freopen_s functions
2026-10-26 01:21:26 +01:00
Adrià 898a7fef4f Merge pull request #9631 from UnhealthyKraken/feat/libc-fetch-seqcst
feat(libc): implement sequential bitwise fetch helpers
2026-10-26 01:11:55 +01:00
Rookie a8c6b562d6 fix(libSceCesCs): map the strict JIS X 0208 profiles' unsettled cells as the console does 2026-10-26 00:10:31 +00:00
orezraeyandClaude Opus 5.5 19566dbee8 fix(libkernel): set MSG_CTRUNC for an empty recvmsg control buffer as FreeBSD 11.4 does
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 21:05:10 -03:00
Danigamer05 94e88881d4 feat(libc): implement unsigned 64-bit minimum 2026-10-26 01:01:08 +01:00
qpavyros 9b2dd8dce9 merge: sync archive follow-up with main 2026-10-26 01:53:02 +02:00
Kraken 54dadc019e fix(freetype): retain newly identified Ot inventory aliases 2026-10-25 23:43:52 +00:00
Kraken a36fd27f64 fix(freetype): reconcile provider NIDs and public declarations 2026-10-25 23:43:17 +00:00
Kraken f6190694de Merge remote-tracking branch 'origin/main' into HEAD 2026-10-25 23:41:43 +00:00
Kraken 8df45c965d Merge remote-tracking branch 'origin/main' into HEAD
# Conflicts:
#	core/libs/tests/GuestLibcThreads.cpp
2026-10-25 23:41:36 +00:00
orezraeyandClaude Opus 5.5 d06b45fba5 test(libkernel): repeat scePthreadCondSignalto from a mutex-holding thread on normal and recursive mutexes
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 20:38:09 -03:00
Adrià acb900c194 Merge pull request #9737 from imellag/feat/agc-depth-bounds-emulation
feat(agc): emulate a one-sided depth bounds test without the depthBounds feature
2026-10-26 00:35:49 +01:00
harisibrar1 7784604b0b Merge remote-tracking branch 'origin/main' into fix/pselect-pending-signal-eintr
# Conflicts:
#	core/libs/prx/libkernel/System/src/Signals.cpp
2026-10-25 19:35:03 -04:00
Dean Galvin f4d5420b4b Merge branch 'main' into feat/libc-lcosh 2026-10-26 12:28:05 +13:00
Adrià 47f9cee2cd Merge pull request #9579 from slopgobblercobbler/fix/savedata-delete-search-mount3-param-error
fix(savedata): validate null arguments in delete, search, and mount3
2026-10-26 00:27:15 +01:00
Yunus Shaikh bf0f293edd Merge main into feat/scenet-config-and-ether-calls 2026-10-25 16:23:19 -07:00
orezraeyandClaude Opus 5.5 f853f07ae3 docs(libkernel): limit the measured accept inheritance of the SO_ bits to the options the probe set
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 20:16:25 -03:00
Adrià 710cf9c035 Merge pull request #9668 from rooklz/fix/libc-acosf-msun
fix(libc): compute acosf with FreeBSD msun's algorithm, as the console's libc.prx does
2026-10-26 00:14:55 +01:00
Dean 2a16d79fb9 Merge pull request #10722 from rooklz/fix/cescs-error-length
fix(libSceCesCs): report the length of a rejected MBCS character as the console does
2026-10-26 12:10:41 +13:00
qpavyros 6105be4431 merge: sync archive directories with main 2026-10-26 01:10:12 +02:00
Dean 346a1be323 Merge pull request #10127 from Felipebmaitan/feat/ngs2-pcm-playback
feat(ngs2): play additional PCM sampler formats
2026-10-26 12:10:04 +13:00
Dean 380ffe3a3a Merge pull request #10456 from alnsx/codex/fix-select-redirected-input
fix(libkernel): poll files on standard descriptors as vnodes
2026-10-26 12:09:32 +13:00
Adrià b76f08cf33 Merge pull request #9727 from KernelPanicNT/fix/net-reject-unsupported-flags
fix(libSceNet): reject the flags and names the module rejects
2026-10-26 00:07:35 +01:00
JJenkxandClaude Opus 5.5 171d767382 fix(libc): format wide %a, %e, %f and %g with the narrow console rules
The wide printf family still formatted floating-point conversions
through the host, while the libc.prx that titles ship gives swprintf the
same text as snprintf: on 199,948 random formats the copy bundled with
PPSA07923 printed identical narrow and wide output, and this build's
wide output differed from it on 23,893. Use the narrow DecimalFloat and
HexFloat for finite values.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 19:06:20 -04:00
lakhantheboss 1674e450e9 fix(libSceRegMgr): preserve unsupported zero-length paths 2026-10-26 04:34:43 +05:30
Yunus Shaikh 350d27a531 Merge branch 'feat/npmanager-idmapper-requests' into feat/npmanager-int-getters 2026-10-25 16:00:59 -07:00
Yunus Shaikh c65fa57993 Merge main into feat/npmanager-idmapper-requests 2026-10-25 15:59:53 -07:00
orezraeyandClaude Opus 5.5 9797a214b0 fix(libkernel): fail scePthreadCondSignalto for a null or non-waiting thread as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 19:56:40 -03:00
orezraeyandClaude Opus 5.5 18e69a439f docs(libc): record reallocalign to size 0 as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 19:50:05 -03:00
Adrià 49d1f9b07e Merge pull request #9726 from KernelPanicNT/fix/npmanager-state-callback-id-error
fix(libSceNpManager): return the module error for an out-of-range state callback id
2026-10-25 23:49:10 +01:00
Adrià e82b11daaf Merge pull request #9550 from Ondra97/codex/feat-freetype-size-objects
feat(libSceFreeType): manage multiple size objects
2026-10-25 23:49:05 +01:00
Adrià 34b882ff19 Merge pull request #9722 from hypermoist/feat/font-graphics-fill-descriptors
feat(libSceFont): build the graphics region and fill descriptors as the console does
2026-10-25 23:49:00 +01:00
orezraeyandClaude Opus 5.5 5a6dc65069 docs(libkernel): record the socket options an accepted socket inherits as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 19:47:14 -03:00
orezraeyandClaude Opus 5.5 f940729f00 docs(libkernel): record the text location, unwind info, SoC id and model queries as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 19:44:11 -03:00
Alexandre Figueiredo fcf9754a29 feat(libSceNpCppWebApi): track the TitleCloudStorage and InGameCatalog parameter lifecycles as the module does 2026-10-25 22:40:18 +00:00
Josip Parlov 3cbd5a4be3 fix(libkernel): retire epoll registrations of a socket closed with sceKernelClose 2026-10-25 23:35:48 +01:00
orezraeyandClaude Opus 5.5 ea02895cc0 fix(libkernel): refuse TCP_MAXSEG before a connection and raise it to 216 as measured on a PS5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 19:35:33 -03:00
Josip Parlov b0ab88d650 fix(libSceNet): register libkernel sockets with sceNetEpollControl
Human Fall Flat (PPSA02429) opens its sockets with libkernel's socket()
and registers them with sceNetEpollControl. libSceNet only looked in its
own socket table, so every ADD and DEL failed with SCE_NET_ERROR_EBADF.
The game retries without pause: on box 2 it made more than 1.6 million
failing calls on 14 descriptors in its first seconds, all of them
libkernel sockets.

sceNetEpollControl now accepts a descriptor libkernel has open as a
socket, as sceNetSocketClose and sceNetSetsockopt already do for MXGP 26
(PPSA30839). sceNetEpollWait looks up the host socket of such a
registration through libkernel after g_mutex is released, because that
lookup asks libSceNet's own table for descriptors libkernel does not
own, and keeps the owner alive across the host poll. libkernel's close()
retires the registrations of the closed socket; a wait drops a
registration whose socket is gone.

guest_sce_net registers a libkernel UDP socket, waits for it to become
readable and then writable, deletes it twice, closes registered sockets
through close() and sceKernelClose and waits again, and checks that a
descriptor that was never open still fails with EBADF.
2026-10-25 23:28:22 +01:00
Alexandre Figueiredo f75ede7a7f docs(debt): close the __isfinitel entry with the bundled libc.prx code 2026-10-25 22:27:46 +00:00
Eduardo Ruiz e859215335 feat(libc): export the error_category members and std::future_error
The libc.prx bundled with PPSA02530 keeps error_code values in the second
dword: the shared error_category::default_error_condition shifts the value
into the high half and the equivalent overloads compare that dword and the
category. Export the type info, the base destructor and the three base
members, so titles that import them resolve to the same code the generic
and system category vtables already use.

future_category returns a static _Future_error_category derived from
_Generic_error_category and named "future". Its message maps 1..4 to
"broken promise", "future already retrieved", "promise already satisfied"
and "no state", and falls back to the generic table. future_error is 0x40
bytes: a GuestLocale::String at 0x8 and the 16-byte error_code at 0x30; its
0x30-byte vtable carries the console's _Doraise slot. _Throw_future_error
allocates that size and throws it with the console type info, and
_Rethrow_future_exception delegates to rethrow_exception.
2026-10-25 23:27:36 +01:00
lakhantheboss eed35dc5d9 feat(libSceRegMgr): implement core registry access and query interfaces 2026-10-26 03:50:51 +05:30