Commit Graph
7981 Commits
Author SHA1 Message Date
Adrià d099bc6cd8 Merge pull request #8245 from YossiYad/feat/http-object-options
feat(libSceHttp): keep options per template, connection and request and implement their getters
2026-10-21 14:04:15 +02:00
lakhantheboss d1b7722630 feat(libSceAppContent): implement temporary data mount 2026-10-21 17:33:27 +05:30
Adrià aed67d7e55 Merge pull request #8256 from YossiYad/feat/hmd-no-headset-queries
feat(libSceHmd): answer ten buffer and device queries the way the disconnected-headset path implies
2026-10-21 14:03:19 +02:00
Adrià f815e8bdd6 Merge pull request #8247 from santhoshkumar-dev/codex/freetype-font-face-lifecycle
feat(libSceFreeType): support memory fonts and face cleanup
2026-10-21 14:03:13 +02:00
Adrià d5705d17ad Merge pull request #8290 from akkadbakkad89/feat/psml-mfsr-queries
feat(libScePsml): implement the MFSR query exports
2026-10-21 14:02:16 +02:00
Adrià b11d7cefdb Merge pull request #7907 from akkadbakkad89/feat/prx-declare-inventory-74
feat(prx): declare exports for 66 inventory-covered system libraries
2026-10-21 14:02:05 +02:00
Yossi Yadgar fcc7f2aba9 docs(debt): note where sceNpCheckCallbackForLib comes from 2026-10-21 14:59:31 +03:00
thuanquangandClaude Opus 5.5 9ab433f250 fix(agc): start DB_Z_INFO and DB_STENCIL_INFO at their clear-state value
A context that never wrote DB_Z_INFO or DB_STENCIL_INFO had neither
register, so a draw testing depth or stencil without a depth target was
refused (PPSA24040, DB_DEPTH_CONTROL 0x777), and a depth or stencil plane
whose other register was never written stopped on a missing register.
Both now start at 0, FORMAT INVALID, initially and after CLEAR_STATE.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 18:57:24 +07:00
Federico Marras bef2578837 fix(libSceAudioOut): throw for any legacy mastering flags while their effect is disputed 2026-10-21 13:52:55 +02:00
Yossi Yadgar 3c5924518f docs(debt): note where the internal ImeDialog calls come from 2026-10-21 14:52:11 +03:00
Retr0 99c195e79a fix(libc): leave tzname[1] as three spaces for a zone without daylight saving time
FreeBSD 11 localtime.c initializes tzname to WILDABBR ("   ") and settzname()
resets both entries to it before filling them from the zone's types, so a
zone with no daylight saving type keeps "   " in tzname[1]. Windows left it
empty and Linux repeated tzname[0].
2026-10-21 14:49:28 +03:00
Retr0 36226741f5 fix(libc): open a directory with fopen in a read mode on Windows
FreeBSD 11 fopen opens the path with _open, and vn_open_vnode refuses a
directory only for FWRITE or O_TRUNC, so fopen of a directory in a read
mode succeeds; Linux hosts already open it. On Windows CreateFileW
without FILE_FLAG_BACKUP_SEMANTICS refused it with EACCES.

fopen now opens such a path as a libkernel directory descriptor, which
libkernel registers in libc when it loads, and fclose and freopen remove
it from libkernel's table. Reads on the stream fail with EISDIR and set
the error indicator, as on a Linux host and FreeBSD's tmpfs: the Windows
CRT fails them already but reports EINVAL. Writes fail with EBADF, and
fseek, ftell and ungetc work, as on any read-only stream.
2026-10-21 14:48:37 +03:00
orezraeyandClaude Opus 5.5 c5df2f4ce0 fix(libSceNet): accept every sceNetMemoryAllocate flag as measured on a PS5
A PS5 (firmware 13.60) allocates with any flag value, zero-fills only for
flag 2 and returns 64-byte aligned blocks. Record the measured behaviour of
sceNetGetIfName, sceNetGetRandom, sceNetGetSystemTime, sceNetMemoryFree and
sceNetUsleep, which already match the console, and keep only their open gaps.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 08:48:19 -03:00
Gabrieljr42 df0a74e7c6 fix(ajm): parse protected MP3 frame metadata correctly 2026-10-21 08:48:05 -03:00
Adrià 47fa6eecf8 Merge pull request #8215 from jagrat04/feat/libSceNpWebApi2-add-web-trace-tag
feat(libSceNpWebApi2): implement sceNpWebApi2AddWebTraceTag
2026-10-21 13:46:46 +02:00
Adrià e335d5b5ba Merge pull request #7974 from DavidSamir/feat/libkernel-file-mmap-macos
feat(libkernel): map files through the guest's mmap on macOS hosts
2026-10-21 13:46:41 +02:00
Federico Marras c33c37d57b Merge remote-tracking branch 'upstream/main' into feat/audio-out-mastering 2026-10-21 13:46:34 +02:00
Federico Marras 546d62d6b4 feat(libSceNgs2): report the ATRAC9 frame layout in sceNgs2GetWaveformFrameInfo 2026-10-21 13:46:12 +02:00
thuanquangandClaude b8596dca9b docs(shader): say that S#s without a mip filter also read a multi-level view at its base
Co-Authored-By: Claude <[email protected]>
2026-10-21 18:41:59 +07:00
Adrià 865166414f Merge pull request #7884 from jacob6769/feat/ces-korean-big5
feat(libSceCesCs): convert EUC-KR, UHC and Big5 through the CP949 and CP950 tables
2026-10-21 13:39:26 +02:00
Adrià 6c8b43931b Merge pull request #8228 from jagrat04/feat/libSceNet-show-route6
feat(libSceNet): implement sceNetShowRoute6
2026-10-21 13:38:29 +02:00
Adrià 64361960c5 Merge pull request #7818 from fogydes/feat/vorbisdec-firmware-exports
feat(libSceVorbisDec): export missing firmware Vorbis decoder interfaces
2026-10-21 13:38:24 +02:00
Adrià de4ef842b5 Merge pull request #7850 from mugurc/feat/libkernel-sockets-macos
feat(libkernel): UDP sockets and name resolution on macOS hosts
2026-10-21 13:36:21 +02:00
Gabrieljr42 5df064ebda Merge remote-tracking branch 'upstream/main' into feat/ajm-mp3-frame-metadata 2026-10-21 08:35:45 -03:00
xXPBSXxandClaude Sonnet 5.5 0e2252f638 fix(libkernel): accept flock on a directory descriptor on Windows
FreeBSD 11.4's sys_flock only requires a vnode descriptor, so flock on a directory descriptor succeeds. On Windows the call reached LockFileEx, which rejects a directory handle with ERROR_INVALID_PARAMETER, and flock_nid_postfix turned that into a runtime_error that aborted the process. A directory descriptor now returns 0 without taking a lock; the new guest_file_lock_directory case covers it and the debt entry records that no lock is held.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-21 13:35:39 +02:00
orezraeyandClaude Opus 5.5 19d7e29b3a fix(libSceHttp): copy URIs as measured on a PS5
A payload on a PS5 (firmware 13.60) shows sceHttpUriCopy clears the
whole output and all prepare bytes of the pool before it reads the
source, so a source that is the output or lies in the pool copies as
empty. Read the source after clearing, clear the output with its
padding, and test the measured layout, failures and aliasing.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 08:33:25 -03:00
Gabrieljr42 e25647d686 fix(progress): handle snapshots without library counts 2026-10-21 08:33:04 -03:00
Gabrieljr42 11d5efa075 Merge remote-tracking branch 'origin/main' into feat/progress-library-report 2026-10-21 08:32:06 -03:00
Adrià FranchandClaude 488da1774d fix(libSceNpAuth): indent the A forwards and pin the shadPS4 links in the debt entry
Co-Authored-By: Claude <[email protected]>
2026-10-21 13:28:34 +02:00
NoOverflow 982db91217 feat(libSceNpAuth): implement sceNpAuthGetAuthorizationCodeA and sceNpAuthGetIdTokenA
Both forward to their V3 counterparts, which share one implementation in
shadPS4, and complete libSceNpAuth (14/14).
2026-10-21 13:28:13 +02:00
orezraeyandClaude Opus 5.5 77a05cbfe9 fix(libSceHttp): parse status lines past lineLen as measured on a PS5
A payload process on a PS5 (firmware 13.60) parsed 124 status lines and
lengths. It checks lineLen only for its minimum of 8 and for the three
code digits, reads the version and its separators past it, and finds the
line feed up to and including the byte at lineLen, so a length that
stops right before the line feed still parses. When the version ends
past lineLen the unsigned subtractions wrap and the search continues
until a line feed.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 08:24:19 -03:00
hypermistandClaude Opus 5.5 736ee67caf feat(libSceNpCommon): implement 94 more of the module's exports
Builds on #9037. Adds threads, event flags, semaphores, atomics, heaps
and kernel memory, callout contexts, time and SDK version queries,
base64 and hex codecs, integer and string helpers, JSON escaping, URL
encoding, online id strings, language codes, title ids and debug output.
The behaviour follows libSceNpCommon.sprx from firmware 12.00, read
from disassembly.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-22 00:23:37 +13:00
akkadbakkad89andDevin a212812dc1 feat(prx): declare exports for 5 inventory-covered system libraries
Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-21 16:47:58 +05:30
Federico Marras cc7b9a7652 Merge remote-tracking branch 'upstream/main' into feat/kqueue-read-on-kqueue
# Conflicts:
#	docs/dev/debt/libkernel.md
2026-10-21 13:17:12 +02:00
Federico Marras 49f1c7207b Merge remote-tracking branch 'upstream/main' into docs/ajm-instance-signature-sources
# Conflicts:
#	docs/dev/debt/libSceAjm.native.md
2026-10-21 13:16:27 +02:00
Savvanis Spyros 123768abcd Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into fix/agc-release-mem-system-counter
# Conflicts:
#	docs/dev/debt/libSceAgcDriver.md
2026-10-21 14:15:53 +03:00
Dean 3e91c8edf5 Merge pull request #8850 from UnhealthyKraken/feat/libkernel-cfsetspeed
feat(libkernel): implement cfsetspeed
2026-10-22 00:13:16 +13:00
Savvanis SpyrosandClaude Opus 5.5 79a5d6b65a fix(libSceNpManager): refuse an unknown request in sceNpSetGamePresenceOnline
After the argument checks, shadPS4 looks the request up and returns
REQUEST_NOT_FOUND for one that was never created or was deleted. The
library already tracks live requests for sceNpSetTimeout.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 14:13:04 +03:00
louise-patraandClaude Opus 5.5 43d4eebe51 feat(libSceFiber): attach contexts on run and switch, internal option initialize
Fibers may be initialized without a context and get one from
_sceFiberAttachContextAndRun or _sceFiberAttachContextAndSwitch.
_sceFiberInitializeWithInternalOptionImpl accepts the ulobjmgr,
context size check and FPU default flags.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 16:42:19 +05:30
Savvanis SpyrosandClaude Opus 5.5 1d0451f659 docs(relinker): note that a deferred module the title never loads gets no module_start
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 14:12:12 +03:00
Adrià b3f4783abc Merge pull request #7795 from fogydes/feat/remoteplay-firmware-exports
feat(libSceRemoteplay): export missing firmware remote play interfaces
2026-10-21 13:11:20 +02:00
David 6d8ff2d5b8 Merge branch 'main' into feat/agc-barycentric-tessellation-strips 2026-10-21 15:10:49 +04:00
Adrià 59776f2e6a Merge pull request #7841 from hypermoist/feat/libc-annex-k-remaining
feat(libc): implement the remaining C11 Annex K bounds-checking functions
2026-10-21 13:09:59 +02:00
Adrià eb4a7fee4e Merge pull request #7525 from AlexOfTheForest/feat/scanf-wide-linux
feat(libc): scan 16-bit wide conversions in the sscanf family on Linux
2026-10-21 13:09:54 +02:00
Federico Marras 93fb6293c4 Merge remote-tracking branch 'upstream/main' into feat/system-service-app-title-id
# Conflicts:
#	docs/dev/debt/libSceSystemService.md
2026-10-21 13:09:18 +02:00
Adrià 98145b48d8 Merge pull request #7426 from DavidSamir/feat/shader-barycentric-tessellation-last-vertex
feat(agc): draw the last provoking vertex through the barycentric tessellation stages
2026-10-21 13:08:47 +02:00
Adrià 2cca5c0fd6 Merge pull request #7600 from milescoviello/feat/msaa-dcc-comp-to-single
feat(agc): take RADV's comp-to-single clear of a multisampled DCC target
2026-10-21 13:07:42 +02:00
orezraeyandClaude Opus 5.5 b9b9c07713 fix(libSceHttp): parse, build and merge URIs as measured on a PS5
A payload process on a PS5 (firmware 13.60) parsed, built and merged
several hundred URIs. sceHttpUriParse cuts the hostname at the first
byte that cannot be in it and starts the path there instead of failing,
takes the userinfo up to the first '@', accepts a port up to 65536 that
ends at '/' or the end, and gives https... schemes 443 and http...
schemes 80. It sweeps the path as sceHttpUriSweepPath does but sizes the
pool for the unswept path, and leaves require alone when the pool is too
small. sceHttpUriBuild writes IPv6 hostnames without brackets.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 08:07:12 -03:00
akkadbakkad89 f57ef9986f feat(prx): declare exports for 66 inventory-covered system libraries 2026-10-21 16:30:58 +05:30
ntamas94 95968952e1 Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into fix/agc-copied-writer-label-drain
# Conflicts:
#	core/libs/prx/libSceAgcDriver/CMakeLists.txt
2026-10-21 12:58:03 +02:00