Commit Graph
7981 Commits
Author SHA1 Message Date
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
codingreapermapsandClaude Opus 5.5 191c8a8d2b feat(agc): run DB depth copies into a single-sample R32 float target
A draw with DB_RENDER_CONTROL.DEPTH_COPY copies one sample of the
Z_32_FLOAT depth surface into color target 0. It now runs as a compute
pass that fetches that sample and stores it into the R32 float target,
when the draw covers the whole surface without depth or stencil tests.
With COPY_CENTROID the sample is the first one the draw covers, which is
sample 0 under the full sample mask the driver requires, as radeonsi
programs its per-sample DB to CB copies.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 08:03:33 +00:00
SebastianandClaude Opus 5.5 31fc06b120 docs(debt): record the pthread_mutex_reltimedlock_np timeout width
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01QnkpF2oEMofseVz9Z7WEAC
2026-10-21 08:00:28 +00:00
SebastianandClaude Opus 5.5 74bd5d9fa5 feat(libkernel): add mutex ownership, relative lock and spin/yield accessors
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01QnkpF2oEMofseVz9Z7WEAC
2026-10-21 08:00:19 +00:00
Dean f894ba69d3 Merge pull request #8479 from hypermoist/feat/libc-wide-stream-scanf
feat(libc): add the wide stream scanf family
2026-10-21 20:58:24 +13:00
Dean 854a514bbe Merge pull request #7945 from veosett/codex/windows-cache-housekeeping-safety
fix(shader): avoid unsafe Windows cache directory traversal
2026-10-21 20:57:27 +13:00
Dean ef1f41c4c9 Merge pull request #8061 from Dragost/fix/libkernel-pthread-yield-busy-spin
fix(libkernel): prevent 100% CPU busy-spinning on pthread yield on Windows
2026-10-21 20:57:20 +13:00
Dean fbba6e8208 Merge pull request #8845 from rooklz/fix/refs-file-identity
fix(relinker): compare Windows file identities by their 128-bit file ID
2026-10-21 20:57:16 +13:00
Dean fc3853432f Merge pull request #8934 from xdCloudy/feat/ps5-depth-exports
feat(libSceDepth): declare PS5 depth exports
2026-10-21 20:57:04 +13:00
Dean 1bcaa14234 Merge pull request #8307 from hypermoist/fix/libs-console-results-part2
fix(libs): return what the firmware returns from 31 more calls it does not implement
2026-10-21 20:57:00 +13:00
lakhantheboss d3542d5eed fix(savedata): return parameter errors for null arguments 2026-10-21 13:23:15 +05:30
frankea 43e5ca6edb Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into ps5-measured-1340
# Conflicts:
#	docs/dev/debt/libSceAgcDriver.md
2026-10-21 03:48:32 -04:00
Dean 0c50cbf3e4 Merge pull request #8936 from xdCloudy/feat/ps5-videodec-exports
feat(libSceVideodec): declare PS5 video decoder exports
2026-10-21 20:46:56 +13:00
Dean 51e9046672 Merge pull request #8935 from xdCloudy/feat/ps5-esvm-exports
feat(libSceEsvm): declare PS5 ESVM exports
2026-10-21 20:46:52 +13:00
Dean fb8b15c886 Merge pull request #8933 from xdCloudy/feat/ps5-agcdriver-exports
feat(libSceAgcDriver): declare PS5 AGC driver exports
2026-10-21 20:46:48 +13:00
primesoul-web b3bca1bc95 feat(libSceUsbStorage): the no-device path of the USB storage service
Nine of the twenty-one exports implement the no-device path: the lifecycle
pair accepts every call and keeps no state, the device queries answer the
empty list, the not-exists 0 and the device-not-found error, the map
requests answer device-not-found with their outputs untouched, and the
getdents family answers device-not-found on open and not-supported with
zero bytes on the read of a never-opened descriptor. The argument
validation of the register, unregister, unmap and getdents-close exports
is implemented and answers 0x80f40002; past it they keep their markers,
because no reference establishes their success path. The device-info
record and two prototypes follow SharpProspero, the rest shadPS4, each
pinned in the debt entry.
2026-10-21 07:44:05 +00:00
Sam 0560c1f095 Merge remote-tracking branch 'origin/main' into fix/agc-capture-skip-float-probe 2026-10-21 09:43:30 +02:00
Dragost 2716dee730 fix(libkernel): prevent 100% CPU busy-spinning on pthread yield on Windows 2026-10-21 09:30:27 +02:00
frankea 15ed39fb98 Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into ps5-measured-1340
# Conflicts:
#	docs/dev/debt/libSceSystemService.md
2026-10-21 03:30:24 -04:00
ionut27001 741c96ca89 fix(libc): seed random() and its default state as measured on a PS5
The libSceLibcInternal of a payload process on a PS5 (firmware 12.70) seeds
the additive feedback generator with a good_rand that reads its argument as an
int32, turns 0 into 123459876 and applies x = 16807 * (x % 127773) - 2836 * (x / 127773),
adding 0x7fffffff to a negative result. Its default state is the state after
srandom(1), not a precomputed table.

Replace the good_rand, build the default state by seeding it with 1 and add a
guest test that pins the first values of a fresh process, the values after each
measured seed and the saved state words of every measured initstate size.
2026-10-21 10:26:06 +03:00
Dean 9be6ccf60c Merge pull request #8255 from Nixitov/feat/process-abi-type
feat(libkernel): declare sceKernelGetProcessAbiType
2026-10-21 20:20:37 +13:00
Dean 06dbff33c7 Merge pull request #8252 from YossiYad/feat/move-handle-errors
fix(libSceMove): return INVALID_HANDLE and ALREADY_OPENED instead of throwing, and open other users' controllers
2026-10-21 20:20:33 +13:00
akkadbakkad89 54f45af110 fix(libSceNpCppWebApi): drop title ID from section marker and shorten the debt entry 2026-10-21 07:20:27 +00:00
Dean 7ef094f7d4 Merge pull request #8222 from jagrat04/feat/libSceNet-show-route
feat(libSceNet): implement sceNetShowRoute
2026-10-21 20:19:56 +13:00
Dean b974e17b81 Merge pull request #8206 from Celegans12/feat/agc-skip-refused-draws
feat(agc): skip draws whose graphics stage the recompiler refuses behind APS5_SKIP_REFUSED_DRAWS
2026-10-21 20:16:54 +13:00
akkadbakkad89 60cff59d8a feat(libSceNpCppWebApi): cover SessionManager PlayerSessionsApi and InGameCatalog ContainerApi imports 2026-10-21 07:14:31 +00:00
Savvanis SpyrosandClaude Opus 5.5 ffb782739b docs(debt): name no title in the polygon mode entry
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 10:13:32 +03:00
Savvanis SpyrosandClaude Opus 5.5 e61d31d287 feat(agc): draw point and line polygon modes
PA_SU_SC_MODE_CNTL with POLY_MODE set to a point or line type was refused,
and every triangle was drawn filled. The state decode now takes the polygon
type of the faces that are not culled into State::polygonMode, ignores the
types when POLY_MODE is clear or the primitives are points or lines, and
keeps refusing front and back types that differ while both faces are drawn.

Points are drawn one pixel wide (PA_SU_POINT_SIZE 0x00080008 inside
PA_SU_POINT_MINMAX), the size VK_KHR_maintenance5 gives a point whose
shader does not write PointSize, and lines one pixel wide (PA_SU_LINE_CNTL).
The device enables fillModeNonSolid and maintenance5 when they are
available. The polygon mode joins the pipeline, library and draw keys and
the pipeline journal (format 5).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 10:13:32 +03:00
Savvanis SpyrosandClaude Opus 5.5 1c0e23afc5 fix(agc): trim a strided overhang at the render target only for read-only buffers
A store to the trimmed tail of a written buffer would be dropped instead
of failing as an alias of the render target, so only read-only buffers,
such as per-attribute vertex fetches, are trimmed.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 10:09:17 +03:00
Savvanis SpyrosandClaude Opus 5.5 44dfebb524 fix(libSceNpManager): take the request id and online id in sceNpSetGamePresenceOnline
shadPS4 declares sceNpSetGamePresenceOnline(req_id, online_id, presence)
and returns INVALID_ARGUMENT for request id 0 or a null online id. The
export took (user id, timeout), so a caller's arguments landed in the
wrong registers.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 10:06:06 +03:00
xdCloudy 44c36055a2 docs(debt): place AGC driver note by related entries 2026-10-21 08:05:46 +01:00
xdCloudy 6b33ef1bd1 docs(debt): isolate AGC driver unknown signatures 2026-10-21 08:04:36 +01:00
xdCloudy b95a10c920 docs(libSceAgcDriver): record unknown export signatures 2026-10-21 08:04:36 +01:00