Dean
8cc3be6e2b
Merge pull request #9098 from EagleBearerYS/perf/libc-collect-without-region-query
...
perf(libc): read private write watches per allocation without a region query
2026-10-27 14:57:16 +13:00
Dean
e55c69f1fd
Merge pull request #8927 from ionut27001/fix/videoout-cursor-flip-status
...
fix(libSceVideoOut): answer the cursor, flip status and pending-flip calls as measured on a PS5
2026-10-27 14:57:01 +13:00
Dean
37c6b4bc25
Merge pull request #8077 from 0xcrstn/ufc6/descriptor-web-fold
...
fix(shader): split descriptor webs whose paths fold or hold invalid arms
2026-10-27 14:56:47 +13:00
Himansh Raj
1220ef8556
test(relinker): check that codesign leaves the macOS entry stub intact
2026-10-27 07:26:38 +05:30
Dean
d1de04f943
Merge pull request #7484 from AlxcBTW/pr/robust-loads
...
perf(recompiler): leave the descriptor-range comparison out of direct buffer loads when the device zeroes past the range
2026-10-27 14:56:32 +13:00
Dean
630211a866
Merge pull request #6612 from milescoviello/feat/tess-geometry
...
feat(agc): draw tessellation followed by an NGG geometry stage
2026-10-27 14:56:18 +13:00
Dean
8b2ae8a578
Merge pull request #6249 from Ondra97/codex/fix-copy-alias-byte-coverage
...
fix(agc): preserve all bytes in image-backed buffer copies
2026-10-27 14:56:03 +13:00
al3w0f205
25a0e0c4fe
test(libkernel): cover double close and invalid file descriptor rejection in sceKernelClose
2026-10-26 20:39:44 -05:00
al3w0f205
3b5e611b36
test(libkernel): cover null thread handle and mask validation in thread affinity
2026-10-26 20:39:19 -05:00
al3w0f205
f3303edc0d
test(libkernel): cover null pointer and invalid clock id in clock gettime and getres
2026-10-26 20:38:45 -05:00
Danigamer05
218e9c7e4e
feat(libc): add standard count-ones functions
2026-10-27 02:38:24 +01:00
roboterspinne
de3c2d9536
fix(relinker): refuse red-zone leaves without a frame pointer that push or pop
...
In a leaf without a frame pointer, --frame-red-zone lowers RSP after
the prologue and adds the shift to every RSP operand in the body,
assuming RSP does not move between the prologue and the exits. It
refused explicit RSP arithmetic but not opcode-encoded pushes and pops,
so after "push rax" in the body the read of the pushed slot at [rsp]
became [rsp+0x10], a red-zone slot, and "pushfq; and qword [rsp], -2;
popfq" changed that slot instead of the saved flags. Such a leaf now
keeps its red zone and is reported as "push or pop inside the body":
push and pop of a register, push imm, push r/m, pop r/m, pushf, popf
and push or pop of fs or gs outside the exits. The pops of an exit
still frame, and leaves with a frame pointer, whose RSP operands are
already refused, still frame when they push and pop.
2026-10-27 02:36:47 +01:00
Dean
27ad7244d2
Merge pull request #11290 from frankea/fix/draw-index-indirect-multi-tags
...
fix(agc): bracket sceAgcDcbDrawIndexIndirectMulti with the console's tag markers
2026-10-27 14:28:45 +13:00
Dean
d0bf428a45
Merge pull request #9906 from TheSovietWaffle/fix/recompiler-stencil-replay-helper-free-ballots
...
fix(recompiler): let optional-body merges reach ballots that helper lanes cannot contribute to
2026-10-27 14:28:31 +13:00
Dean
a83ebf95ea
Merge pull request #11306 from frankea/fix/agc-tag-marker-headers
...
fix(agc): write libSceAgc's tag markers with the console's header flags
2026-10-27 14:27:49 +13:00
Dean
82358b124e
Merge pull request #10976 from slick-daddy/perf/redundant-sort-hotpath
...
chore(shader): skip redundant sort/unique on single-element otherReads
2026-10-27 14:27:18 +13:00
Dean
7d1ed9bb1e
Merge pull request #8879 from MarcZX10/codex/masked-select-single-pass
...
perf(shader): stop masked-select elimination after one analysis pass
2026-10-27 14:26:37 +13:00
al3w0f205
260454d8b9
test(libkernel): cover invalid usec and bad descriptor validation in futimes
2026-10-26 20:11:55 -05:00
al3w0f205
de459c7ed8
test(libSceNet): cover bad file descriptor rejection in socket close
2026-10-26 20:09:44 -05:00
dantdmdarealguy
b6a16bfbbb
docs(debt): drop the stale ApRp stub note from libSceNetCtl
...
The eleven sceNetCtlApRp* exports return 0 as their firmware bodies do
since db2575839 (#8307 ); none of them is a stub any more, so the
sentence saying their stub bodies are unchanged no longer describes a
gap.
2026-10-26 20:08:22 -05:00
Dean
e2d457be34
Merge pull request #11312 from xXPBSXx/carry/6531-pad-input
...
fix(tools): normalize pad input output encoding and validate target path
2026-10-27 14:07:02 +13:00
Dean
c610af2957
Merge pull request #11275 from malekaifa/fix/oracle-hip-output-alias
...
fix(hw-oracle): protect HIP inputs from output aliases
2026-10-27 14:06:32 +13:00
Dean
38cda53b52
Merge pull request #11160 from p3n1cillin/claude/audioout-padspk-volume
...
fix(libSceAudioOut): declare sceAudioOutSetPadSpkVolume as PSBox calls it
2026-10-27 14:05:56 +13:00
MarcZX10
da573bb3a3
fix(libSceNpTus): give sceNpTusCreateNpTitleCtx its signature in the public header
...
main declares it with an empty parameter list in Api.hpp, which conflicts with the definition.
2026-10-27 01:05:54 +00:00
MarcZX10
34e039ab3e
docs(libSceNpTus): record the single-source shadPS4 signatures of the declared stubs
2026-10-27 01:05:41 +00:00
MarcZX10
5e1fc33a26
feat(libSceNpTus): declare a stub with its shadPS4 signature
...
They still throw through NotImplemented_nid_no_patch; only the parameter
lists change. The only source is shadPS4's PS4 prototypes; nothing is measured on a PS5.
2026-10-27 01:05:41 +00:00
Dean
59872bbfc4
Merge pull request #11015 from plexerPK/fix/advisor-symlink-loop
...
fix(tools): reject cyclic patch advisor paths per entry
2026-10-27 14:05:19 +13:00
Dean
ade24e2f19
Merge pull request #10931 from MarcZX10/marc/fix-progress-small-delta
...
fix(tools): show a headline progress change that rounding would hide
2026-10-27 14:04:38 +13:00
Danigamer05
762556eb2d
feat(libc): implement signed 32-bit minimum value helper
2026-10-27 01:58:48 +01:00
Danigamer05
5f08cbf1b3
feat(libc): implement unsigned 32-bit maximum
2026-10-27 01:58:47 +01:00
Danigamer05
4b911d7bae
feat(libc): implement signed 64-bit maximum
2026-10-27 01:58:46 +01:00
Danigamer05
80bc31bb6c
feat(libc): implement signed 64-bit minimum
2026-10-27 01:58:45 +01:00
Danigamer05
be750a1f38
feat(libc): implement unsigned 32-bit minimum
2026-10-27 01:58:44 +01:00
Danigamer05
7792cff8ef
feat(libc): implement unsigned 64-bit maximum
2026-10-27 01:58:43 +01:00
al3w0f205
3a701b0350
test(libkernel): cover null pointer and invalid type validation in mutex attributes
2026-10-26 19:58:31 -05:00
al3w0f205
c3267a8b1b
test(libSceAudio3d): cover terminate when uninitialized and positive reserved parameter
2026-10-26 19:57:37 -05:00
al3w0f205
e66943d28a
test(libSceFont): cover invalid font handle in font scale slant and dpi getters
2026-10-26 19:56:47 -05:00
al3w0f205
0bbbb0bc8d
test(libSceFont): cover parameter validation in sceFontDestroyLibrary and sceFontMemoryTerm
2026-10-26 19:55:55 -05:00
al3w0f205
cf2bfcb8e5
test(libSceFont): cover invalid font handle in effect weight and scale setters
2026-10-26 19:55:02 -05:00
al3w0f205
d1e47bdbde
test(libSceCesCs): cover null source buffer rejection in mbc conversions
2026-10-26 19:53:59 -05:00
al3w0f205
2f67ef6d06
test(libSceCesCs): cover null source and destination checks in Japanese conversions
2026-10-26 19:53:17 -05:00
cabreira97
887d6bc760
docs(readme): sync translations with current README
...
Compatibility now points only to the Game bring-up discussions, and Disclaimer gains the paragraph on Sony affiliation and trademarks.
2026-10-26 21:53:10 -03:00
al3w0f205
2eda942a42
test(libSceCesCs): cover null source and profile checks in utf16 and utf32 sbc conversions
2026-10-26 19:52:18 -05:00
cabreira97
f589a5c5ec
docs(readme): add pt-BR, es, zh-CN and ru translations
...
Translations live in docs/user/ and the English README links to them with a language selector at the top.
2026-10-26 21:51:44 -03:00
al3w0f205
d18c3ba169
test(libSceCesCs): cover null source buffer in utf16 and utf32le conversions
2026-10-26 19:51:19 -05:00
al3w0f205
2de6a9f947
test(libSceCamera): cover out-of-range channel rejection in settings getters and setters
2026-10-26 19:50:03 -05:00
al3w0f205
7f3c05b5b8
test(libSceCdlgG2P): cover reopen and null parameter behavior in finished dialog state
2026-10-26 19:48:57 -05:00
p3nicillin and Claude Opus 5.5
563844efe0
feat(libkernel_sys): implement sceKernelGetCpumodeGame and sceKernelSetCpumodeGame
...
ProsperoEden declares the setter with the mode as its argument and the
getter with an int output, and measured on a PS5 that modes 0 and 1 are
accepted, 2 to 7 return 0x80020016 and 1 is the default. Both threw as
discovered stubs. Other modes and a null output throw.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-27 00:44:24 +00:00
MarcZX10
c2e8c2130b
docs(libSceNpUtility): drop the duplicate Net* entry and the stub it replaced from the old lists
...
sceNpLookupCreateTitleCtxA has its own entry now, and sceNpLookupNetAbortRequest and sceNpLookupNetCensorComment were listed twice.
2026-10-27 00:29:59 +00:00
JJenkx and Claude Opus 5.5
1add0a5859
fix(libc): follow the console's rand, srand and rand_r
...
rand and rand_r both used FreeBSD's do_rand (Park and Miller on
state % 0x7ffffffe + 1, minus one), so rand returned values up to
0x7ffffffd and rand(), rand_r() and every seeded sequence differed
from the console. The libc.prx that titles ship (the same code in the
copies of PPSA13934, PPSA07923 and PPSA05916, read from disassembly)
uses two different generators:
- rand steps a 64-bit state, initially 1, as
state * 0x5851F42D4C957F2D + 1 and returns (state >> 32) & 0x3FFFFFFF,
so its results stay at or below 0x3FFFFFFF. srand stores the seed
zero-extended as that state.
- rand_r is the minimal standard generator, state * 16807 modulo
2^31 - 1 on the signed 32-bit state (1 gives 16807, 282475249,
1622650073), and a zero state becomes 0x2AE1B767.
guest_math now expects those results: the rand_r chain from 1, the
zero and 0x7FFFFFFF states, rand after srand(1), srand(0) and
srand(0xFFFFFFFF), and rand's range over 1000 calls. Its previous
checks expected FreeBSD's values and rand matching rand_r.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-26 20:22:30 -04:00