Commit Graph
3637 Commits
Author SHA1 Message Date
Yuri Olive 196e2e2ada feat(libSceNetCtl): export missing firmware interfaces 2026-10-19 14:55:22 -03:00
Adrià 8e0fde7d59 Merge pull request #7091 from Bl4ckk01/feat/ces-sjis-cp1250
feat(libSceCesCs): implement Shift-JIS CP932 and CP1250 encoding conversions
2026-10-19 19:49:48 +02:00
Adrià 76b836d365 Merge pull request #7087 from Aryansh1520/new-topic
feat(libSceRudp): implement sceRudpNetReceived and sceRudpEnableInternalIOThread2
2026-10-19 19:49:42 +02:00
Adrià 8444508241 Merge pull request #7815 from parl0v/docs/fusion-oc-lds-source
docs(debt): cite radeonsi for the front half's OC_LDS_EN in shader fusion
2026-10-19 19:44:00 +02:00
Adrià 48790e0233 Merge pull request #7039 from nabil88/fix/windows-libkernel-and-tests
feat(libkernel): implement getdtablesize and fix Windows host-tree removal
2026-10-19 19:36:18 +02:00
Adrià a77e40f93f Merge pull request #7070 from milescoviello/feat/kern-proc-vmmap
feat(libkernel): report the guest address-space map through kern.proc.vmmap
2026-10-19 19:36:11 +02:00
Adrià 68447804da Merge pull request #6975 from T3cm0/bionic/libc-addstd
feat(libc): implement ios_base::_Addstd
2026-10-19 19:35:57 +02:00
Adrià e6a3cf0079 Merge pull request #7808 from parl0v/docs/host-import-budget-default
docs(env): describe the default host import budget as HostImportBudget computes it
2026-10-19 19:35:47 +02:00
Dean 738d884102 Merge pull request #7878 from xxLnolan/fix/libc-paf-mspace-memalign
fix(libc): implement PAF mspace memalign
2026-10-20 05:54:04 +13:00
Dean c66a207ddd Merge pull request #7842 from ionut27001/fix/libkernel-umtx-op1-eopnotsupp
fix(libkernel): fail _umtx_op operation 1 with EOPNOTSUPP as measured on a PS5
2026-10-20 05:53:50 +13:00
Dean 240255fcf8 Merge pull request #7924 from realshinmalphur/feat/net-process-time
feat(net): implement process-relative system time
2026-10-20 05:53:14 +13:00
Dean a4c04c75d6 Merge pull request #7921 from ntamas94/fix/sce-net-inet-pton-whitespace
fix(libSceNet): end IPv4 sceNetInetPton text at whitespace as the PS4 does
2026-10-20 05:52:50 +13:00
Dean a39411c67a Merge pull request #7906 from Rajkamalcode/fix/libc-bessel-zero
fix(libc): return -inf from y0f, y1f and ynf at zero
2026-10-20 05:52:35 +13:00
Dean dbac9fa15b Merge pull request #7909 from parl0v/feat/pad-accessibility-controller-state
feat(libScePad): implement scePadGetAccessibilityControllerState (zBsgF0q8DIM)
2026-10-20 05:24:48 +13:00
Dean 78f7af3fc8 Merge pull request #7908 from parl0v/fix/pad-n3kSX62fgNo-after-open
fix(libScePad): return 0 from n3kSX62fgNo after scePadInit, with a pad open or not
2026-10-20 05:22:46 +13:00
Adrià 5638146d6a Merge pull request #7526 from Amoenus/codex/docs-trace-summary-seconds-main3e3e
docs(dev): correct periodic trace summary interval units
2026-10-19 18:18:10 +02:00
Adrià 0fbfd91e5e Merge pull request #6985 from Lorkydey/feat/libc-floating-point-controls
feat(libc): implement floating-point rounding and exception flags
2026-10-19 17:54:33 +02:00
Adrià c017549dc1 Merge pull request #6955 from alfalfa-star/perf/agc-space-page-reuse
perf(agc): reuse a cached address space's committed pages on a hit
2026-10-19 17:33:02 +02:00
Adrià 88a6b34bc5 Merge pull request #6966 from ebosido444-ai/fix/agc-relocated-header
fix(agc): resolve a relocated AGC header whose arrays hold the registered bytes
2026-10-19 17:28:19 +02:00
Adrià 4393456ed0 Merge pull request #7010 from MarcZX10/codex/trace-dispatch-queue-origin
chore(agc): tag dispatch IO traces with queue origin
2026-10-19 17:27:46 +02:00
Adrià c92eb8da1e Merge pull request #6931 from AnthonyClemens/perf/agc-pipelined-indirect-draws
perf(agc): queue CPU-path indirect draws on the draw pipeline
2026-10-19 16:48:13 +02:00
Adrià 73c59b7be6 Merge pull request #6958 from Pipodi/fix/pipeline-cache-save-try-lock
fix(agc): skip a periodic pipeline cache save while a pipeline creation holds the cache
2026-10-19 16:48:06 +02:00
Adrià 863486cc32 Merge pull request #6836 from DavidSamir/fix/libkernel-open-file-limit-macos
fix(libkernel): set the open file limit at load on macOS
2026-10-19 16:38:18 +02:00
Adrià bcdee66d10 Merge pull request #5782 from SirDarky/feat/shader-mad-f32-gfx1010
docs(debt): record the v_mad_f32 family as measured on gfx1010
2026-10-19 16:19:55 +02:00
Adrià 4f10164198 Merge pull request #6901 from akkadbakkad89/feat/np-cpp-web-api
feat(libs): restore libSceNpCppWebApi for dumps that ship no copy
2026-10-19 16:18:42 +02:00
ShinMalphur 41fe91a13b docs(net): state hardware validation gap first 2026-10-19 20:41:43 +06:30
ShinMalphur 905fa532af docs(net): record process-time behavior source 2026-10-19 20:41:03 +06:30
Adrià c4708fa207 Merge pull request #6916 from MarcZX10/codex/carry-tz-6910
fix(libc): honor guest TZ in time conversions
2026-10-19 16:08:10 +02:00
ntamas94andClaude Opus 5.5 be7068bd81 fix(libSceNet): end IPv4 sceNetInetPton text at whitespace as the PS4 does
PS4 firmware 10.71 converts "1.2.3.4" followed by a space, tab, LF,
VT, FF or CR, and anything after it ("1.2.3.4 x"), to 1.2.3.4 and
returns 1, where host inet_pton returns 0. Leading whitespace, other
trailing bytes (0x01, 0xa0), "1.2.3 " and IPv6 text with whitespace
still fail there.

A failed conversion leaves the destination and sceNetErrnoLoc
unchanged on the console; Winsock inet_pton writes the parsed prefix
before failing, so the conversion now goes through a local buffer.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 16:05:36 +02:00
Adrià ebb478c055 Merge pull request #6939 from milescoviello/fix/systemservice-psmkit-exports
fix(libSceSystemService): declare the PsmKit local process exports
2026-10-19 16:05:00 +02:00
MarcusandClaude Opus 5.5 8768803dd7 docs(debt): record the v_mad_f32 family as measured on gfx1010
v_mad_f32, v_mac_f32, v_madak_f32 and v_madmk_f32 exist only on gfx10.1,
so the RDNA2 oracle can't measure them. Measured on gfx1010 (RX 5700 XT)
in wave32 at IEEE 0 and 1, f32 denormal modes 0 to 3 and round modes 0
to 3, and in wave64, they round the product before the add, flush f32
sources, product (tiny after rounding with an unbounded exponent) and
result in every mode, and choose NaN results like the fma forms.

The behaviour stays left to the driver: translating it on every lane
cost about 15x main on the RX 5700 XT and 23x on an RTX 3070, and a
branch around the exact path still about 6x, so the lowering waits for
the SPIR-V float controls of #981.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 09:54:55 -04:00
Adrià 85029a00f5 Merge pull request #6762 from simonbronk/fix/stencil-op-value-export
fix(agc): replace with a stencil operation value the pixel shader exports
2026-10-19 15:45:10 +02:00
Adrià 3efab5ed86 Merge pull request #6914 from moong15/pr/queued-index-read-order
fix(agc): order deferred write-backs after queued draws' index reads
2026-10-19 15:39:49 +02:00
Adrià f4366753aa Merge pull request #6908 from Zinebyte/fix/posix-sleep-cancellation
fix(libkernel): wake POSIX sleep for thread cancellation
2026-10-19 15:39:43 +02:00
Dean acbeb8475c Merge pull request #7823 from Chikimaro/feat/libscenet-usleep-inetptonex
feat(libSceNet): implement sceNetUsleep and sceNetInetPtonEx
2026-10-20 02:22:01 +13:00
Adrià e01d909086 Merge pull request #6915 from Nixitov/feat/physhm
feat(libkernel): declare physhm_open and physhm_unlink
2026-10-19 15:18:41 +02:00
Josip Parlov acd1e0ef8f feat(libScePad): implement scePadGetAccessibilityControllerState (zBsgF0q8DIM)
The name hashes to zBsgF0q8DIM. Signature and error order follow the
OS 10.01 system module: NOT_INITIALIZED, INVALID_ARG for a NULL output,
INVALID_HANDLE for a bad handle. The emulated pad is not an Access
controller and reports 0.
2026-10-19 15:06:28 +02:00
Josip Parlov d68d797c76 fix(libScePad): return 0 from n3kSX62fgNo after scePadInit, with a pad open or not
The OS 10.01 system module checks only that the library is initialised,
then sends a per-process value to ShellCore over Mbus and returns 0 when
that call succeeds. It does not look at pad handles, so the throw while a
pad is open is gone. 0x809200ff, measured in a process that is not a game,
is the failed Mbus call; a game process is assumed to get 0.
2026-10-19 15:06:08 +02:00
Adrià 3bb15be094 Merge pull request #6799 from milescoviello/fix/cube-face-image-store
fix(shader): store through DIM 2D image_store to a cube T#'s BASE_ARRAY face
2026-10-19 15:04:02 +02:00
Adrià Franch f533fef893 docs(libSceRudp): drop stale and duplicate debt entries 2026-10-19 15:01:06 +02:00
Rajkamalcode cea6fabfae fix(libc): return -inf from y0f, y1f and ynf at zero
The guest's second-kind Bessel functions return -inf and raise the divide-by-zero exception for x = +-0 (see e_jn.c), but the UCRT returns NaN for y1 and yn. Route x == +-0 through a shared helper, cover ynf(2, 0) in the guest math test, and note the special case in the libc technical debt.
2026-10-19 18:31:00 +05:30
Aryan SharmaandClaude Haiku 5.5 3ef8925a99 feat(libSceRudp): implement sceRudpEnableInternalIOThread2
The managed SceRudp.Rudp.EnableInternalIOThread in PPSA06888's Unity
metadata takes (uint stackSize, uint priority, ulong affinity), which
gives the signature. Like sceRudpEnableInternalIOThread it reports
RUDP_ERROR_NOT_INITIALIZED before sceRudpInit and success after it,
without starting a thread.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-19 15:00:54 +02:00
Aryan SharmaandClaude Haiku 5.5 7b626baa23 feat(libSceRudp): implement sceRudpNetReceived and declare sceRudpGetOption
sceRudpNetReceived follows sceRudpNetFlush: it reports
RUDP_ERROR_NOT_INITIALIZED before sceRudpInit and success after it, since
no packets are ever received. sceRudpGetOption now has the signature its
PPSA06888 call sites use, (ctx_id, option, value, len), and still throws
because the option codes, defaults and errors are unknown.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
2026-10-19 15:00:54 +02:00
UAQ Taxi a968336825 fix(libc): remove Windows trees without the remove_all symlink hang
MinGW libstdc++ up to GCC 16 does not treat a reparse point as a link in
std::filesystem::remove_all, so a host tree that holds a symlink is walked
through the link and never returns. Add RemoveTree, which removes the tree
itself on Windows, and use it where save data, app content and the shader
disk cache removed host trees. The libstdc++ fix is in GCC 17 (88856ad855ae).
2026-10-19 14:49:49 +02:00
Adrià e3d401e6fe Merge pull request #6964 from Owes-UX/docs/debt-drop-implemented-imports
docs(debt): drop implemented functions from unknown-signature lists
2026-10-19 14:48:12 +02:00
T3cm0 6fdb88fd48 fix(libc): share slot 8 in ios_base::_Addstd as the console does 2026-10-19 14:41:10 +02:00
tecmo 4bf4fc9864 feat(libc): implement ios_base::_Addstd
Queue the stream in the table of the 8 standard stream
slots of Dinkumware's ios.cpp: the first free slot or the one
that already holds the stream, with a reference count per slot,
and the destructor suppresses the destruction of a standard
stream while its slot still has open references.
2026-10-19 14:41:10 +02:00
ebosido444-ai 943b7007c9 fix(agc): resolve a relocated AGC header whose arrays hold the registered bytes
A title can relocate a registered shader header, and the register, special and
semantic arrays it points at, into memory of its own and resolve the ABI with
that copy (Astro's Playroom, PPSA01325, #2914). SameHeader accepted such a copy
only while every pointer inside it stayed put, so a moved array left the
resolution throwing "refers to a replaced shader header".

Accept the copy when every array it names still holds the registered bytes: the
registered header then decodes what the copy describes, nothing is copied and
ShaderSnapshot stays immutable. A copy whose arrays differ or are unreadable
still throws.
2026-10-19 14:36:11 +02:00
Owes Mehboob 33cd848ba9 docs(debt): drop implemented functions from unknown-signature lists 2026-10-19 14:34:26 +02:00
Adrià Franch 3881028d43 docs(dev): fix the PowerShell log redirection and add the device-lost and abort notes 2026-10-19 14:26:07 +02:00