Commit Graph
9580 Commits
Author SHA1 Message Date
hypermoistandClaude Opus 5.5 e8a765b48d feat(libSceNpCommon): implement the sce::np::StreamReader and StreamWriter helpers
Read, ReadAll, ReadData, SkipAll and SkipData on StreamReader, and Write,
WriteData and WriteFilledData on StreamWriter, with and without a StreamCtx,
follow libSceNpCommon.sprx of firmware 13.60, checked against 20,426
firmware results.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-30 18:27:47 +01:00
Adrià 53f41a0b6d Merge pull request #13050 from edubox/feat/npcpp-titlecloudstorage
feat(libSceNpCppWebApi): bring up TitleCloudStorage V1 offline
2026-10-30 18:22:51 +01:00
Adrià 8f756acf59 Merge pull request #13289 from maskym/fix/libressl-select-next-proto
fix(libSceLibreSsl): select protocols from unvalidated lists like the module
2026-10-30 17:27:40 +01:00
Adrià 040d025620 Merge pull request #13121 from kyon-eth/feat/libc-internal-320-exports
feat(libSceLibcInternal): declare 297 callable exports
2026-10-30 17:27:31 +01:00
Adrià e56fe75c4e Merge pull request #13281 from hypermoist/feat/np-memory-stream
feat(libSceNpCommon): implement sce::np::MemoryStreamReader and MemoryStreamWriter
2026-10-30 17:27:23 +01:00
Adrià 9304896d89 Merge pull request #12135 from Oscar45397/fix/libkernel-raise-short-sleep
fix(libkernel): deliver raises at the spin that ends a sleep on Windows
2026-10-30 17:05:05 +01:00
Adrià ad2fbd74cd Merge pull request #13309 from ntamas94/docs/ps4-fw1071-audiodec
docs(libSceAudiodec): confirm sceAudiodecCreateDecoder word lengths on PS4 10.71
2026-10-30 16:59:50 +01:00
Adrià 9f748f4d8e Merge pull request #13036 from edubox/feat/npcpp-matchmaking
feat(libSceNpCppWebApi): bring up Matchmaking V1 offline
2026-10-30 16:29:21 +01:00
Adrià 91cd8ac6fd Merge pull request #13049 from JJenkx/fix/libc-character-scan-lengths
fix(libc): ignore non-wide lengths on character scans
2026-10-30 16:25:56 +01:00
Adrià b44f8ab346 Merge pull request #12306 from edubox/feat/http2-gzip
feat(http2): inflate gzip response bodies
2026-10-30 16:20:45 +01:00
Adrià 2614f409dc Merge pull request #12953 from frankea/feat/acm-batch-job-priority
feat(libSceAcm): encode sceAcmBatchJobPriority jobs
2026-10-30 15:45:46 +01:00
Adrià 01069f4d2b Merge pull request #12954 from hugodearaujo/fix/audioout2-blocking-push
fix(libSceAudioOut): return from a blocking AudioOut2 push once the queue has room
2026-10-30 15:45:36 +01:00
Adrià 6154580567 Merge pull request #12968 from GiannisG1/test/unclamped-blend-skip-without-formatless-reads
test(agc): skip the unclamped normalized blend test without shaderStorageImageReadWithoutFormat
2026-10-30 15:21:40 +01:00
ntamas94andClaude Opus 4.8 d29c2d79dc docs(libSceAudiodec): mark the iBwPcm rows as a PS4 10.71 measurement, PS5 stays 13.60
Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-10-30 15:04:40 +01:00
Adrià bfe25d8b21 Merge pull request #13282 from voidlakhan/fix/rtc-store-parsed-leap-seconds
docs(libSceRtc): document measured leap-second parsing behavior
2026-10-30 14:37:19 +01:00
Adrià bb0900fea0 docs(libSceNpCppWebApi): record the throwing TitleCloudStorage accessors in debt 2026-10-30 14:20:21 +01:00
Eduardo Ruiz 6277e4b76d fix(libSceNpCppWebApi): address TitleCloudStorage review comments
Declare and validate the initialize arguments, give the text and binary setters their parameter handling, list the eight setters in the test, stop pinning the unread response accessors to a throw, and extend the debt entry with the four TitleCloudStorage parameter classes.
2026-10-30 14:20:17 +01:00
Adrià da026c7065 Merge pull request #12926 from EagleBearerYS/feat/libSceFreeTypeOt-sourced-b266-1
feat(libSceFreeTypeOt): implement the ft_mem memory helpers
2026-10-30 14:12:02 +01:00
Adrià 96ff704249 Merge pull request #12667 from xdCloudy/feat/libkernel-sys-pthread-attr-helpers
feat(libkernel_sys): implement mutex attribute generation helpers
2026-10-30 14:02:33 +01:00
lakhantheboss a3b667b92e docs(libSceRtc): document measured leap-second parsing behavior 2026-10-30 18:19:59 +05:30
Adrià f91137142e Merge pull request #13027 from Celegans12/feat/savedata-inventory-exports-20261030
feat(savedata): add missing cloud and sync inventory exports
2026-10-30 13:45:45 +01:00
Adrià 280bbad426 Merge pull request #12659 from JJenkx/codex/libc-scaled-nan-subject-20261028
fix(libc): parse scaled NaN subjects without numeric conversion
2026-10-30 13:45:37 +01:00
Adrià 563d839a7a Merge pull request #12955 from JJenkx/windows/libkernel-sys-linkat-symlink-itself
fix(libkernel_sys): hard-link a symbolic link itself in linkat on Windows
2026-10-30 13:45:28 +01:00
Adrià 58d5af7daa Merge pull request #13117 from kyon-eth/feat/nkwebkit-320-exports
feat(libSceNKWebKit): declare 8703 callable exports
2026-10-30 13:38:33 +01:00
Kyon 6eb80871af fix(libSceLibcInternal): prevent host symbol interposition 2026-10-30 12:32:42 +00:00
ntamas94 28b395fde4 Merge remote-tracking branch 'origin/main' into docs/ps4-fw1071-audiodec 2026-10-30 13:31:58 +01:00
AdriàandClaude Sonnet 5.5 ea63edc9ce docs(http2): restore main's debt entries and record gzip inflation
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-30 13:31:16 +01:00
Eduardo Ruiz 72c2df44a4 test(http2): cover gzip checksum and concatenated members 2026-10-30 13:31:03 +01:00
Eduardo Ruiz 58f325624e fix(http2): consume flow control while buffering gzip bodies
Reads already wait for END_STREAM when inflation applies, so keep the receive window open while the encoded body is buffered. This lets a gzip response larger than 65,535 bytes inflate instead of failing, and the split test now reads before the content length so it exercises the read path.
2026-10-30 13:31:03 +01:00
Eduardo Ruiz bd68b64dd1 fix(http2): inflate gzip responses after END_STREAM 2026-10-30 13:31:03 +01:00
edubox 9624b77bc6 feat(http2): inflate gzip response bodies 2026-10-30 13:31:03 +01:00
Kyon 967b1c74bf Merge remote-tracking branch 'origin/main' into feat/libc-internal-320-exports 2026-10-30 12:30:57 +00:00
hypermoist 93fbebef0a Merge remote-tracking branch 'upstream/main' into feat/np-memory-stream
# Conflicts:
#	core/libs/prx/libSceNpCommon/Runtime.cpp
#	core/libs/prx/libSceNpCommon/include/Api.hpp
#	core/libs/tests/GuestNpCommonRuntime.cpp
#	docs/dev/debt/libSceNpCommon.md
2026-10-31 01:27:48 +13:00
Oscar45397andClaude Opus 5.5 03722a1570 fix(libkernel): deliver raises at the spin that ends a sleep on Windows
On Windows a sleep shorter than TimedWait's 0.5 ms lead, and the last 0.5 ms of a longer one, is a YieldProcessor spin in host code with no wait counted. A raise that found the target there could only be delivered through the return-address breakpoint or sampling, so sceKernelRaiseException at a thread looping on such sleeps was lost: a thread looping on sceKernelUsleep(200) lost the first raise in 5 of 5 runs.

The spins in SleepUntil and SleepNanosUnlessChanged now run under a DeliveryDeferral and drain APCs afterwards, as BeginPark and Unpark already do. A raise that finds the target spinning is queued as an APC and runs when the sleep ends.

GuestRaiseShortSleep raises 100 times each at a thread sleeping 100, 200 and 400 us in a loop, with sleep wakes on (SleepNanosUnlessChanged) and with APS5_NO_SLEEP_WAKE (SleepUntil). Both fail on main at the first or second raise.

AI-assisted (Claude Code).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-30 13:26:59 +01:00
Dean 42d009f5f3 Merge pull request #12899 from hypermoist/feat/np-title-id-object
feat(libSceNpCommon): implement sce::np::NpTitleId
2026-10-31 01:19:01 +13:00
Dean 5c0ee1bbf4 Merge pull request #11827 from oneandonlydean/carry/7268-cert-paths
feat(libkernel): provide system and common certificate list paths
2026-10-31 01:18:08 +13:00
Dean e49f8c380c Merge pull request #11769 from oneandonlydean/salvage/web-misc-9485
feat(prx): declare 46 PS5 3.20 exports in four libraries
2026-10-31 01:16:48 +13:00
hypermoist c3d3296c56 Merge remote-tracking branch 'upstream/main' into feat/np-memory-stream 2026-10-31 01:16:04 +13:00
Dean 25e8a2cbb8 Merge pull request #8223 from savvaniss/fix/agc-retire-overwritten-msaa
fix(agc): retire a multisampled color target the title wrote over
2026-10-31 01:16:02 +13:00
Adrià de2ba4cecb Merge pull request #12693 from Ninot1Quyi/feat/icu-utf8-helpers
feat(libSceIcu): implement UTF-8 macro helpers
2026-10-30 13:05:37 +01:00
Adrià cc7b82ac6f Merge pull request #12702 from MarcZX10/feat/overlay-pad-status
feat(overlay): show controller status on demand or on connect, disconnect and battery drop
2026-10-30 13:05:28 +01:00
Adrià cc7e348334 Merge pull request #12524 from JJenkx/codex/libc-unscaled-hex-range-20261028
fix(libc): preserve errno for unscaled hexadecimal range results
2026-10-30 13:05:20 +01:00
Dean 51c31ea17e Merge pull request #13258 from ntamas94/fix/gcn-sin-linear-range
fix(shader): keep GCN v_sin_f32 linear up to 1.5 x 2^-12 of a turn as the PS4 does
2026-10-31 00:52:52 +13:00
Dean 99f7b51d2b Merge pull request #12541 from oneandonlydean/licence-notices-ported-code
docs(libc): add upstream licence notices to ported math and siglist code
2026-10-31 00:50:17 +13:00
Adrià 8304ccaedb Merge pull request #11341 from SteelCrab/review/emscripten-libraries
build(libs): support Emscripten memory64 compilation
2026-10-30 12:49:20 +01:00
Adrià 8e68a7d7b9 Merge pull request #12934 from kyon-eth/feat/content-list-320-exports
feat(libSceContentListController): declare 19 callable exports
2026-10-30 12:46:26 +01:00
Adrià 63970eded4 Merge pull request #13123 from kyon-eth/feat/video-out-320-exports
feat(libSceVideoOut): declare 182 callable exports
2026-10-30 12:46:18 +01:00
Adrià f8124b820b Merge pull request #13122 from johnohhh1/fix/spirv-literal-float-initialization
fix(build): initialize bundled SPIRV literal-float encoding
2026-10-30 12:46:11 +01:00
Maxime DEFRANCESandClaude Fable 5.1 3951444bb7 fix(libSceLibreSsl): select protocols from unvalidated lists like the module
SSL_select_next_proto validated both lists and threw for an empty list,
a zero-length entry or a truncated entry. The firmware 13.42 report on
PR #9785 shows the module runs LibreSSL 3.4.1's loop with no validation:
a zero-length entry is negotiated, no overlap returns the first supported
entry with its unchecked length byte, even for an empty supported list,
and an empty peer list has no overlap. Follow that loop, and throw only
for the null pointers the module would read. The test places each
reported list before a guard page and checks the six reported cases.

Co-Authored-By: Claude Fable 5.1 <[email protected]>
2026-10-30 12:45:46 +01:00
Adrià 90e832cdd5 Merge pull request #12629 from HorizonCoding/feat/icu-invariant-strcpy
feat(libSceIcu): implement u_austrcpy and u_austrncpy
2026-10-30 12:44:15 +01:00