Commit Graph
8571 Commits
Author SHA1 Message Date
Adrià 0836dfdf4f Merge pull request #13701 from MarcZX10/feat/psn-unavailable-dialogs
feat(libSceIme): show a notice when PSN-only system dialogs open
2026-10-31 21:05:21 +01:00
Adrià 500d37a747 Merge pull request #13704 from dmto/claude/tests-unicode-tmpfile-3e21f5
fix(tests): open AGC and SceNet scratch streams under a Unicode TEMP on Windows
2026-10-31 20:55:52 +01:00
Adrià 8a00f9c1ca Merge pull request #13700 from al3w0f205/test/contentdelete-stubs-and-heapsize-validation
test(libSceContentDelete): cover heap size validation and unimplemented stubs in GuestContentDelete
2026-10-31 20:52:48 +01:00
Adrià 3197f0ad06 Merge pull request #13705 from MarcZX10/fix/pad-port0-connected-state
feat(libScePad): report port 0 as connected only while its controller is present, opt-in with ANYPS5_PAD_PORT0_STATE
2026-10-31 20:50:35 +01:00
Adrià 496d7b1b34 Merge pull request #13673 from zaryabzip/feat/appcontent-license-trials
feat(libSceAppContent): answer bundle license, playable status and game trials queries
2026-10-31 20:27:37 +01:00
Adrià 620449652e Merge pull request #13686 from 00xDisaster/test/libSceNpCommon-system-clock
feat(libSceNpCommon): null-check sceNpGetSystemClockUsec
2026-10-31 20:21:53 +01:00
Adrià 0caa95b5cd Merge pull request #13683 from 00xDisaster/test/libSceAmpr-command-buffer-size
feat(libSceAmpr): null-check command buffer size lookup
2026-10-31 20:21:45 +01:00
AdriàandClaude Sonnet 5.5 eb4b6dd4fe test(libSceContentDelete): drop assertions pinning unimplemented stubs
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-31 20:20:54 +01:00
al3w0f205 45d09625ca test(libSceContentDelete): cover heap size validation and unimplemented stubs in GuestContentDelete 2026-10-31 20:20:47 +01:00
Adrià 0f1d3a5295 Merge pull request #13679 from medazizktata/test/anon-shm-private
test(libkernel): map anonymous shared memory privately
2026-10-31 20:04:27 +01:00
DisasterandClaude Sonnet 5.5 0a520ced91 feat(libSceNpCommon): null-check sceNpGetSystemClockUsec
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-31 19:58:28 +01:00
Adrià ca073ec3ad Merge pull request #13671 from zaryabzip/feat/npwebapi-init-notification
feat(libSceNpWebApi): presence, VSH and internal initialize, internal requests and notification callbacks
2026-10-31 19:00:58 +01:00
zaryabzip 77037b9af5 fix(libSceAppContent): check bundle license label padding from SDK 3.50
The firmware 4.03 module skips the entitlement label padding check in
sceAppContentCheckBundleLicenseOnDisc below SDK 0x03500000, not
0x01500000 as dlc_emu does.
2026-10-31 20:52:37 +05:00
Adrià e23eea90e2 Merge pull request #13660 from w4rc0n/fix/sched-own-pid-main-thread
fix(libkernel): select the registered main thread for own-pid scheduling
2026-10-31 12:45:48 +01:00
Adrià f92ce58c6c Merge pull request #13654 from imellag/fix/tests-jxr-stream-ring-storage
fix(tests): give the JXR stream ring room for its 16 KiB alignment when the linker caps the alignas
2026-10-31 12:20:59 +01:00
Adrià f5b82ff453 Merge pull request #13500 from PrivacyOnion/feat/nkwebkit-c-api
feat(libSceNKWebKit): implement the WebKit C API objects, preferences, JavaScriptCore C API and WTF primitives
2026-10-31 12:18:50 +01:00
Adrià fd31320e83 Merge pull request #13637 from imellag/fix/np-common-stream-vtable-const
fix(libSceNpCommon): cast the const virtual table slots without casting away const
2026-10-31 11:29:39 +01:00
Adrià 02c8efdbcb Merge pull request #13638 from imellag/fix/tests-filestreams-clang-va-list
fix(tests): give the FileStreams scan helper the System V va_list under clang off Windows
2026-10-31 11:17:13 +01:00
Adrià 3ad2af8834 Merge pull request #13631 from Brecherbernd/test/fpathconf-shm-anon
test(libkernel_sys): cover fpathconf on an anonymous shared memory descriptor
2026-10-31 11:11:26 +01:00
Adrià 93d9b786bc Merge pull request #13624 from BunnyFl/feat/libsceplayready-version-and-init-params
feat(libScePlayReady): implement the version, init-params and buffer-init calls
2026-10-31 11:11:03 +01:00
PrivacyOnion 1383e29dac feat(libSceNKWebKit): implement the WebKit C API objects, preferences, JavaScriptCore C API and WTF primitives
Replace 1137 NotImplemented stubs with implementations that follow the PS5 11.x OSS WebKit source: the API object model and value types, WKPreferences with PlayStation defaults, context, page, website data store and user script configuration objects, the JS* API on QuickJS-NG with libSceJsc strings, WebCore geometry, transform and color values, and WTF allocation, time, string and URL value operations. Exports whose behaviour needs the WebKit engine, the WebCore URL parser or unproven layouts stay stubs; the gaps are in docs/dev/debt/libSceNKWebKit.md.

Every export is declared once in headers reachable from the library umbrella. Allocation size, alignment and header overhead are computed with overflow checks and the try variants return null at the boundaries. tryFastMalloc, tryFastZeroedMalloc, tryFastCalloc and tryFastRealloc return WTF::TryMallocReturnValue, which is returned in memory, so they take the caller's result pointer first, store the allocation through it and return it.

The libSceJsc string exports that libSceNKWebKit calls are named with the _nid_postfix suffix, so the NID patcher renames those imports along with the exports and the patched libSceNKWebKit.prx resolves them on Linux; their NIDs are unchanged.
2026-10-31 11:10:47 +01:00
Adrià 4a9b259564 Merge pull request #13622 from MarcZX10/feat/host-free-space
feat(libSceSaveData.native): report the host volume's room to save mounts, opt-in with ANYPS5_FREE_SPACE
2026-10-31 11:03:16 +01:00
AdriàandClaude Sonnet 5.5 3a8e811a96 fix(libSceNpCommon): cast the remaining const virtual table slots without casting away const
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-31 10:59:12 +01:00
Emanuele a73dbff3e8 fix(libSceNpCommon): cast the const virtual table slots without casting away const 2026-10-31 10:59:08 +01:00
Adrià 5d0ca2e685 Merge pull request #13600 from akkadbakkad89/kernel-sema-attr-hi
fix(libkernel): accept semaphore attribute bits 0x100 to 0x102
2026-10-31 10:17:33 +01:00
akkadbakkad89andDevin 58295ef071 fix(libkernel): accept semaphore attribute bits 0x100 to 0x102
Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-31 09:47:05 +01:00
BunnyFlandClaude Opus 5.5 f4d2d44466 fix(libSceAudio3d): let open ex check like open in a PS4 process
In firmware 13.42 sceAudio3dPortOpenEx only sets the flag that skips
the PS4-process AudioOut2 advances, which this library never makes, so
it now opens like sceAudio3dPortOpen. A PS4-process open reports an
open port before an unsupported buffer mode or bed count, as the
firmware does, and the debt entry records the advances after an open
and a push for a PS4 SDK of 0x11000000 or later.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-31 09:30:55 +01:00
BunnyFlandClaude Opus 5.5 96aa06c34f fix(libSceAudio3d): follow the firmware's PS4-process branch
Store sceKernelIsPs4Process at sceAudio3dInitialize as firmware 13.42
does and follow its PS4-process answers: bed write2 rejects route 1 on a
2-bed port, audio out open rejects port type 3 with param bit 17 and
checks like a PS5 process otherwise, and a repeated initialize returns
NOT_READY before the reserved check. Formats 6 and 7 throw for a PS4
process because the firmware rewrites them by PS4 SDK version, which
this project cannot read yet. Test the outputs loop and its reports.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-31 09:30:55 +01:00
BunnyFlandClaude Opus 5.5 7f45264713 fix(libSceAudio3d): keep PS4-process answers and read the port id only for reports
Choose the firmware 13.42 PS5 rules or the earlier answers by
sceKernelIsPs4Process for the port open, open ex, create and bed write2
route checks, read the port id for a call report only when a call
handler is registered, as the firmware does, and report a null
parameter pointer from sceAudio3dAudioOutOutputs without pointer
arithmetic on null.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-31 09:30:55 +01:00
BunnyFlandClaude Opus 5.5 5f25ef8a97 feat(libSceAudio3d): follow firmware 13.42 for the port, report and audio out calls
sceAudio3dPortOpenEx, sceAudio3dPortDestroy, sceAudio3dPortGetStatus,
sceAudio3dReportRegisterHandler and sceAudio3dReportUnregisterHandler are
implemented, and sceAudio3dPortOpen, sceAudio3dPortCreate, the object
and audio out calls and the port close follow the checks of firmware
13.42's libSceAudio3d.sprx for a PS5 process.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-31 09:30:55 +01:00
MarcZX10 441a3eaef9 Merge remote-tracking branch 'upstream/main' into fix/pad-port0-connected-state 2026-10-31 06:53:56 +00:00
MarcZX10 3a03e58b31 Merge remote-tracking branch 'upstream/main' into fix/pad-port0-connected-state
# Conflicts:
#	core/libs/prx/libScePad/src/PadState.cpp
2026-10-31 06:53:37 +00:00
akkadbakkad89andDevin 38004dd687 feat(libSceNpCppWebApi): declare title-imported exports and implement the Common machinery
Adds the exports imported by PPSA20397 and PPSA03530 that had no
provider: Matchmaking::V1, Matches::V1, SessionManager::V1,
UserProfile::V1, TitleCloudStorage::V1, InGameCatalog::V5 domain
surfaces and the Common template instantiations over their types.

IntrusivePtr, Vector, Iterator and Transaction members follow the
layouts already implemented for the earlier titles; API verbs,
factories and transaction entry points fail
SCE_NP_WEBAPI_ERROR_NOT_SIGNED_IN as a signed-out console does;
parameter bookkeeping succeeds without state; response accessors and
vector iteration throw since a failed request produces no response.

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

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-31 11:39:09 +05:30
Adrià 0835ec8bdc Merge pull request #13576 from pushkarreddyy/fix/direct-memory-queries-efault
fix(libkernel): return EFAULT from direct memory queries for invalid memory pointers
2026-10-31 05:15:50 +01:00
Adrià 696215b704 Merge pull request #13556 from pushkarreddyy/fix/flexible-memory-queries-efault
fix(libkernel): return EFAULT from flexible memory queries and PRT aperture for invalid memory
2026-10-31 05:14:45 +01:00
Adrià d4627bad7b Merge pull request #13552 from pushkarreddyy/fix/system-version-efault
fix(libkernel): return EFAULT from system version queries for invalid memory
2026-10-31 05:10:40 +01:00
Adrià 69c43dd403 Merge pull request #13577 from pushkarreddyy/fix/login-efault
fix(libkernel): return EFAULT from getlogin_r and SetLogin for invalid memory pointers
2026-10-31 05:08:35 +01:00
Adrià bad19a5bd9 Merge pull request #13507 from pushkarreddyy/fix/sigwait-efault
fix(libkernel): return EFAULT from sigtimedwait, sigwaitinfo and sigwait for invalid memory
2026-10-31 05:07:32 +01:00
Adrià 99791c5c5d Merge pull request #13462 from Elma7e/test/webbrowserdialog-uninitialized-and-finished-lifecycle
test(libSceWebBrowserDialog): cover allow-list struct size validation in OpenForPredeterminedContent
2026-10-31 04:52:02 +01:00
AdriàandClaude Sonnet 5.5 79788c4004 fix(libSceNKWebKit): keep WebKit notices and declare the number exports once
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-31 03:59:10 +01:00
KernelPanicNT 78c9c9127a feat(libSceNKWebKit): parse decimal numbers as WTF double-conversion
Implement the six WTF::charactersToDouble and WTF::charactersToFloat
overloads for Latin-1 and UTF-16 input and the four static
WTF::double_conversion::StringToDoubleConverter StringToDouble and
StringToFloat overloads for char and uint16_t input, following pinned
public WebKit. One parser follows StringToIeee: the number grammar, the
772-digit cut with a sticky digit, the exponent saturation and the
processed length. charactersToDouble and charactersToFloat add
toDoubleType's leading ASCII spaces and ok/parsedLength results, map
UTF-16 code units above 0x7F to 0 and round the float overloads through
double. StringToDoubleConverter reads the code units as they are, skips
no spaces and rounds StringToFloat directly to float as Strtof does.
Null characters with a nonzero length and a null processed length throw
where WebKit faults, a decimal exponent that leaves the range of
WebKit's int throws where WebKit overflows, and a UTF-16 charactersTo*
length above UINT32_MAX throws where WebKit's conversion Vector crashes.
2026-10-31 03:59:10 +01:00
Adrià e2df06e661 Merge pull request #13565 from KernelPanicNT/feat/nkwebkit-wtf-date-parsing
feat(libSceNKWebKit): parse legacy dates as WTF DateMath does
2026-10-31 03:47:56 +01:00
pushkarreddyy 033b890632 test(libkernel): cover invalid memory pointer rejection in signal wait calls 2026-10-31 08:16:23 +05:30
pushkarreddyy aeab1543b4 test(libkernel): cover invalid memory rejection in flexible memory queries and PRT aperture 2026-10-31 08:15:41 +05:30
pushkarreddyy 33aa65bf90 test(libkernel): cover EFAULT from direct memory queries for invalid memory pointers 2026-10-31 08:14:53 +05:30
pushkarreddyy db3e933d27 test(libkernel): check ERANGE before EFAULT and stub copy helper in no-session test 2026-10-31 08:14:24 +05:30
pushkarreddyy 2c57410c25 test(libkernel): cover EFAULT from getlogin_r for invalid memory pointers 2026-10-31 08:14:24 +05:30
AdriàandClaude Sonnet 5.5 5c0646737d fix(libkernel): write only the version fields and keep errno in system version queries
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-31 07:55:32 +05:30
pushkarreddyy 7f46028352 test(libkernel): cover invalid memory rejection in system version queries 2026-10-31 07:53:47 +05:30
Adrià 9eca75175e Merge pull request #13545 from pushkarreddyy/fix/page-table-stats-efault
fix(libkernel): return EFAULT from page table and trace memory stats for invalid memory
2026-10-31 03:16:52 +01:00