Commit Graph
3618 Commits
Author SHA1 Message Date
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
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
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
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
felekandClaude Opus 5.5 822ad04809 docs(dev): drop the draft notice from the game testing guide
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BywPXoZACVi8ALV4JKvuPZ
2026-10-19 14:25:53 +02:00
felekandClaude Opus 5.5 9702cd0ea7 docs(dev): fold testers' notes from #6622 into the game testing guide
Adds what testers reported in the Q&A thread and what our own runs
showed: confirming the GPU and the cache state, AC power and refresh
rate, the Windows exit code of an uncaught exception, Windows session
and scheduled-task start, Unity module placement and the MinGW DLLs,
a section on measuring performance, and the report fields.
Drops APS5_NO_MOUSE_CAPTURE, which main no longer has.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BywPXoZACVi8ALV4JKvuPZ
2026-10-19 14:25:53 +02:00
mrfelekandClaude Opus 5.5 7914eb8ca7 docs(dev): take the tested GPU from the log's selection line
A report names the GPU as the log's `Selected GPU name=` line shows it, since AnyPS5 can fall back to llvmpipe without presentation support or pick another adapter on Windows (suggested by odntht on #6627).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BywPXoZACVi8ALV4JKvuPZ
2026-10-19 14:25:53 +02:00
mrfelekandClaude Haiku 5.5 e4a071f695 docs(dev): add a game testing guide
Draft guide for running a title on AnyPS5: the build and conversion steps,
the environment variables to set for each run, what to read in the log and
the exit code, how to tell a stall from a crash, Windows-specific notes, and
what to include when reporting a result. Maintainers are asked what they need
from it in the Q&A discussion linked from the page.

Co-Authored-By: Claude Haiku 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BywPXoZACVi8ALV4JKvuPZ
2026-10-19 14:25:53 +02:00
billybobpicklioandClaude Opus 5.5 73983f1c29 perf(agc): queue CPU-path indirect draws on the draw pipeline
An indirect draw drained queue 0's draw pipeline on entry and recorded every
record on the worker, so titles that draw mostly through DRAW_INDIRECT,
DRAW_INDEX_INDIRECT and DRAW_INDEX_INDIRECT_MULTI got no overlap between the
worker's capture of one draw and the committer's recording of the previous.

The draw now drains only when its records or its count overlap a write still
queued on the pipeline. Records drawn inline drain first, so they stay in
order, and the last drawn record is queued like a direct draw, carrying its
write ranges. APS5_NO_PIPELINED_INDIRECT=1 restores the drain on every
indirect draw.

agc_driver_pipelined_indirect_draw holds the committer with a blocking item and
checks that two indirect draws queue behind it and draw what a direct draw
does, and that a draw whose record a queued label writes waits for it.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 14:23:10 +02:00
Dean 8982791bc3 Merge pull request #7654 from ionut27001/fix/libkernel-sysarch-i386-bases
fix(libkernel): answer sysarch I386_GET_FSBASE, I386_GET_GSBASE and undefined operations as measured on a PS5
2026-10-20 01:22:09 +13:00
Adrià c0607cc4bc Merge pull request #6871 from hugodearaujo/fix/audioout2-speaker-angles
fix(libSceAudioOut): report the front left speaker at +30 degrees, as the console does
2026-10-19 14:19:16 +02:00
Adrià 74eec319ca Merge pull request #6822 from ErenYeager1836/feat/libSceRtc-component-accessors
feat(libSceRtc): implement component getters and setters with range validation
2026-10-19 14:16:05 +02:00
Adrià 54e4adde5b Merge pull request #6860 from Amoenus/codex/fix-legacy-haptic-output-main82
fix(audio): route legacy vibration PCM with per-port timing
2026-10-19 14:10:57 +02:00
Adrià 2b049317b8 Merge pull request #6850 from Ondra97/codex/fix-f64-compare-denormals
fix(shader): honor f64 comparison input denormal mode
2026-10-19 14:05:45 +02:00
Adrià ebf1a90270 Merge pull request #6825 from hugodearaujo/fix/report-implied-read-protection
fix(libkernel): report the read bit of every write bit in a mapping's protection
2026-10-19 14:04:45 +02:00
Adrià 5c6c65232b Merge pull request #6844 from al3w0f205/feat/hmd2-firmware-exports
feat(libSceHmd2): export missing firmware functions from database
2026-10-19 14:03:46 +02:00
Adrià 980da5090d Merge pull request #6842 from milescoviello/fix/scripting-heap-own-blocks
fix(libc): give the scripting heap hooks blocks from libc's own heap
2026-10-19 14:03:41 +02:00
xxLnolan 30454880de fix(libc): implement PAF mspace memalign 2026-10-19 13:59:05 +02:00