Commit Graph
7963 Commits
Author SHA1 Message Date
Yossi Yadgar 6fdfa33e03 feat(libSceNpCommon): wrap the libkernel mutex calls 2026-10-21 13:18:56 +03:00
Yossi Yadgar 683fc312fa feat(libSceNpCommon): compare, order and validate online IDs and NpIds 2026-10-21 13:18:56 +03:00
hypermistandClaude Opus 5.5 573113e8af feat(libSceAjm.native): build the WVorbis header packet
sceAjmDecWVorbisCreateHeaderPacket checks its 0x48-byte parameter as the
PS5 module does and writes a five-entry length table, a Vorbis
identification header from the parameters, an empty comment header and
the setup packet.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 23:18:21 +13:00
Dean Galvin d8c89db757 Merge origin/main into PR 8561 2026-10-21 23:16:00 +13:00
hypermistandClaude Opus 5.5 e0f3e860a2 docs(libSceAudioOut): list sceAudioOut2LoTerminate under Silent stubs
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 23:11:19 +13:00
hypermistandClaude Opus 5.5 f347e96e38 fix(libSceAudioOut): return 0 from sceAudioOut2LoTerminate and forward sceAudioOut2InitializeEx
The PS5 module's sceAudioOut2LoTerminate stops the low-latency service
and returns 0 whether or not it runs; sceAudioOut2LoInit starts no
service here. sceAudioOut2InitializeEx stores its argument and runs
sceAudioOut2Initialize.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 23:10:16 +13:00
Dean 2abfb1beb4 Merge pull request #8983 from xdCloudy/feat/libSceNpCommon-150-exports
feat(libSceNpCommon): declare 150 pending exports
2026-10-21 23:07:33 +13:00
Dean 61922f66da Merge pull request #8949 from xdCloudy/feat/ps5-npsnsfacebookdialog-exports
feat(libSceNpSnsFacebookDialog): declare PS5 pending exports
2026-10-21 23:07:29 +13:00
Dean b5baeea5af Merge pull request #8119 from DavidSamir/feat/videodec2-unimplemented-exports
feat(libSceVideodec2): export thirteen functions as not implemented
2026-10-21 23:07:25 +13:00
Dean ee676246cf Merge pull request #6519 from Get-fix/ps4/kernel-system-module-path
feat(libkernel): load system libraries from their console paths
2026-10-21 23:07:21 +13:00
hypermistandClaude Opus 5.5 98e8a2b791 feat(libSceGameLiveStreaming): answer sceGameLiveStreamingGetProgramInfo with an empty program
The PS5 module returns 0x80A00002 for a null pointer and otherwise
clears the 0x134C-byte program info before filling it from the system
service. Nothing is broadcast here, so the info stays zero.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 23:06:19 +13:00
hypermistandClaude Opus 5.5 5a7ef76100 fix(libSceAudioOut): track mastering initialization as the console does
The PS5 module keeps one mastering-initialized flag. A repeated
initialization returns 0 before the flags are checked; otherwise
sceAudioOut2MasteringInit accepts only 0 and sceAudioOut2MasteringInitEx
also bit 31, and other flags return 0x80268201. Term, GetState and
SetParam return 0x80268203 before initialization, GetState returns
0x8026800C for a null state and SetParam 0x80268205 for flags above 1.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 23:03:49 +13:00
milescovielloandClaude Opus 5.5 f57bbc936a perf(agc): store only the depth plane units a flush overlaps
A read of memory inside a stale D32 Z_X depth plane (FlushDepthPlanes) stored
the whole plane: a copy of the depth image into the mirror, MarkWholeWritten
and a write-back of every byte. In Super Meat Boy 3D (#8840) a read-only
buffer ending about 3 KiB inside a stale 3840x2160 plane makes
ShaderResources::Revalidate flush ~1000 times per 5 s, each one moving
31.9 MiB, bound by transfer bandwidth.

A depth surface now tracks its plane as 64 KiB units, each one 128x128 tile
of the mirror's block units: a stale bit and a write generation per unit
replace memoryStale and the plane-wide syncedGeneration.

- FlushDepthPlanes stores only the stale units the range overlaps: the depth
  to mirror copy takes one region per unit rectangle (UnitRects, from the
  mirror's slice windows), the mirror marks just those units written
  (MarkUnitsWritten) and the write-back covers their hull. The other units
  stay stale and the plane stays registered. Stale bits are cleared only
  after the copy was recorded, and the stored units' generations advance
  only when FlushPending stored them. A depth fast clear still pending at
  the store rewrites the whole image, so it makes every unit stale first.
- SyncFromMemory copies from the mirror only the units the guest wrote since
  their own generation (one ChangedBlocks scan; untracked memory counts as
  unwritten, as WrittenSince did), so a guest write into one unit no longer
  replaces GPU depth that is still unstored in the others.
- Flushes followed by a retire keep the whole-plane store: the color target
  flush in Draw and a written storage view (DepthPlaneScope::Whole). The
  retire of an overwritten surface in DepthSurfaceTexture first stores its
  remaining stale units the guest did not write.
- A mirror without block units (APS5_NO_BLOCK_TRACKING, unaligned base)
  falls back to the whole-plane copy, and APS5_DEPTH_PLANE_WHOLE_STORE=1
  tracks the plane as one unit, the previous behaviour.
- DepthPlaneStoreCounts reports stores, units and bytes stored.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 10:03:00 +00:00
Dean 7156315ef3 Merge pull request #8952 from xdCloudy/feat/ps5-ult-exports
feat(libSceUlt): declare PS5 pending exports
2026-10-21 23:00:33 +13:00
Dean 87e7bbc7e4 Merge pull request #8950 from xdCloudy/feat/ps5-savedata-exports
feat(libSceSaveData): declare PS5 pending exports
2026-10-21 23:00:29 +13:00
Dean add0185079 Merge pull request #8948 from xdCloudy/feat/ps5-npmanager-exports
feat(libSceNpManager): declare PS5 pending exports
2026-10-21 23:00:23 +13:00
Dean 8baf2b480d Merge pull request #8843 from christophermonterocortes-cr/feat/npcppwebapi-demangled-signatures
feat(libSceNpCppWebApi): align stub signatures with demangled symbols
2026-10-21 23:00:17 +13:00
Dean aa37bc7aef Merge pull request #6683 from EagleBearerYS/fix/agc-sample-location-grid-exact
fix(agc): keep the guest's sample order where pixel (0,0)'s locations stand in for a 2x2 grid
2026-10-21 23:00:12 +13:00
HQasperandClaude Opus 5.5 52a439bc70 feat(libSceLibreSsl): implement the MD4, MD5, SHA-1 and SHA-2 digests
MD4, MD5, SHA1, SHA224, SHA256, SHA384 and SHA512 Init/Update/Final and
the SHA256 one-shot threw. They now hash as LibreSSL does, on the
caller's MD4_CTX, MD5_CTX, SHA_CTX, SHA256_CTX and SHA512_CTX laid out as
in LibreSSL's md4.h, md5.h and sha.h, so a context copied or inspected
by the title stays valid: the bit count in Nl/Nh, the partial block in
data with its length in num, and md_len selecting the truncated digest.
Final pads and clears the buffer as LibreSSL's sources do.

Cases that differ between LibreSSL versions throw: SHA256 with a null
digest buffer and SHA512_Final with the SHA-512/224 or SHA-512/256
length. The test checks the RFC 1320, RFC 1321 and FIPS 180 vectors over
several chunk sizes, the context fields, copied contexts and those
cases.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-10-21 09:59:04 +00:00
Adrià FranchandClaude 4c153eca53 docs(dev): guide to reading call sites and library disassembly
Co-Authored-By: Claude <[email protected]>
2026-10-21 11:56:11 +02:00
LeandroLP23andClaude Opus 5.5 c8b68f814c docs(debt): drop the CMASK clear pass entry for AMD without pipeline libraries
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 11:54:32 +02:00
Santhosh Kumar 303f15c078 docs(libSceFreeType): clarify Windows memory face limits 2026-10-21 15:22:04 +05:30
Santhosh Kumar 9f311ca8c1 feat(libSceFreeType): support memory fonts and face cleanup 2026-10-21 15:19:12 +05:30
Yossi Yadgar 1f407e5970 docs(debt): note where the new NpTus request checks come from 2026-10-21 12:33:20 +03:00
Dragost 3b40961d5d fix(libSceAvPlayer): allow presenting video frames within sync tolerance 2026-10-21 11:32:33 +02:00
Dean b5d763770a Merge pull request #8955 from xdCloudy/feat/ps5-videoout-exports
feat(libSceVideoOut): declare PS5 pending exports
2026-10-21 22:20:56 +13:00
Dean 32f5424e80 Merge pull request #8954 from xdCloudy/feat/ps5-videocoreinterface-exports
feat(libSceVideoCoreInterface): declare PS5 pending exports
2026-10-21 22:20:52 +13:00
Dean 6f3b8e66be Merge pull request #8953 from xdCloudy/feat/ps5-urlconfigresolver-exports
feat(libSceUrlConfigResolver): declare PS5 pending exports
2026-10-21 22:20:48 +13:00
Dean 2ca8469e84 Merge pull request #8947 from xdCloudy/feat/ps5-imedialog-exports
feat(libSceImeDialog): declare PS5 pending exports
2026-10-21 22:20:44 +13:00
Dean e6ebe8a8b7 Merge pull request #8857 from Dripl1x/perf/direct-memory-section-pool
perf(libkernel): reuse released direct-memory sections that never held data
2026-10-21 22:20:39 +13:00
JJenkxandClaude Opus 5.5 2fc26b970f fix(libkernel): return ESRCH for a null semaphore handle
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 05:18:18 -04:00
xdCloudy 2ae6cd18bf feat(libSceNpManager): declare 150 pending exports 2026-10-21 10:09:38 +01:00
Dean Galvin 89c2393593 docs(dev): describe the unimplemented Videodec2 exports without naming a title
Name no title or title ID in the entry. The mechanism text is unchanged.
2026-10-21 22:05:51 +13:00
dantdmdarealguy 103484d0be fix(tools): read the EnvironmentNumber environment reader in env_reference
The Windows crash report reads APS5_CRASH_STACK_BYTES through
EnvironmentNumber, which env_reference did not recognize, so the name had
no row in docs/dev/ENVIRONMENT.md and neither the reference check nor the
conventions check reported it. Recognize the reader as an integer reader
and add the row.
2026-10-21 04:01:18 -05:00
hypermistandClaude Opus 5.5 e66eae3c5a feat(libSceLibcInternal): add the std::filesystem file and directory primitives
The Dinkumware std::filesystem in titles calls twelve low-level helpers
that libSceLibcInternal exports and this project did not: _Stat, _Lstat,
_File_size, _Last_write_time, _Make_dir, _Remove_dir, _Unlink, _Chmod,
_Current_get, _Open_dir, _Read_dir and _Close_dir. They now follow the
PS5 12.00 module on top of the guest stat, mkdir, rmdir, unlink, chmod,
getcwd and directory calls, with its results: file_type codes from the
mode, not_found for ENOENT, ENOTDIR, EINVAL and ENAMETOOLONG, mkdir's
1/0/-errno, -1 for a failed size, and directory reads that skip the dot
entries and report the type as unknown. As on the console, _Lstat
follows links like _Stat.

The two _Xfilesystem_error overloads are exported and still throw, as
the guest filesystem_error type is not provided yet.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 21:58:09 +13:00
xdCloudy 8648287a23 feat(libSceNpCommon): isolate 150 pending exports 2026-10-21 09:49:31 +01:00
xdCloudy bb8b215939 feat(libSceNpManager): declare 150 pending exports 2026-10-21 09:49:31 +01:00
xdCloudy 3e12ba183f feat(libSceNpCommon): declare 150 pending exports 2026-10-21 09:49:31 +01:00
David abe827df20 Merge remote-tracking branch 'origin/main' into feat/videodec2-unimplemented-exports
# Conflicts:
#	docs/dev/debt/libSceVideodec2.md
2026-10-21 12:41:51 +04:00
lakhantheboss 2b1eb36139 fix(savedata): validate backup and event result arguments 2026-10-21 14:06:38 +05:30
Dean Galvin 0f7241f3a7 Merge origin/main into PR 6519 2026-10-21 21:35:27 +13:00
Dean 27c88a8d75 Merge pull request #8224 from savvaniss/fix/agc-strided-overhang-render-target
fix(agc): bind a strided buffer's last record only up to the render target it runs into
2026-10-21 21:32:49 +13:00
Dean 14a903974e Merge pull request #8945 from xdCloudy/feat/ps5-httpcache-exports
feat(libSceHttpCache): declare PS5 pending exports
2026-10-21 21:32:24 +13:00
Dean 285e62dbe9 Merge pull request #8943 from xdCloudy/feat/ps5-acm-exports
feat(libSceAcm): declare PS5 pending exports
2026-10-21 21:32:20 +13:00
Dean d6ce027977 Merge pull request #8805 from ags-arnab/feat/nptus-multislot-variables
feat(libSceNpTus): run the remaining multi-slot variable calls offline
2026-10-21 21:32:16 +13:00
Dean bf272df673 Merge pull request #8839 from JJenkx/windows/videodec2-generic-vp9-info
fix(libSceVideodec2): answer the generic picture query for VP9 pictures
2026-10-21 21:32:04 +13:00
maximaxi01 a4079e9d4c fix(libSceFont): select the Hangul Light system font 2026-10-21 08:26:13 +00:00
Dean Galvin 2baa2b5a6e docs(dev): describe the missing-interpolator debt entry without naming a title
Name no title, title ID or shader address in the entry. The mechanism text is unchanged.
2026-10-21 21:16:31 +13:00
Dean Galvin efb4ac4773 Merge origin/main into PR 6604 2026-10-21 21:12:11 +13:00
MarcZX10 a4bda973a9 Merge current main for getresid EFAULT follow-up 2026-10-21 08:08:27 +00:00