Commit Graph
7963 Commits
Author SHA1 Message Date
xXPBSXxandClaude Sonnet 5.5 9abca4b9f9 docs(debt): say what the socketpair poll note still lacks after the peer closes
On Windows a pair end now reports POLLIN after the peer's shutdown or close.
The console also reports POLLHUP after close; the loopback connection cannot
tell a close from a shutdown.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-21 14:47:07 +02:00
Dean ce7d547175 Merge pull request #8856 from klosixgaming-arch/feat/agc-point-list-geometry-output
feat(agc): draw point-list output of NGG geometry programs as mesh points
2026-10-22 01:46:18 +13:00
Retr0 41709ae50e fix(libkernel): move events reported by sceKernelWaitEqueue behind the waiting ones
FreeBSD 11 kqueue_scan (sys/kern/kern_event.c) re-inserts a reported
knote without EV_CLEAR or EV_DISPATCH at the tail of kq_head, and
knote_enqueue puts a knote that fires again at the tail as well, so the
next scan starts with the events that were not reported yet.
sceKernelWaitEqueue scanned the event list in place, so with num smaller
than the number of ready events the first ones were reported on every
call and the later ones starved. Each reported event that stays
registered now moves to the end of the list, in the order reported.
2026-10-21 15:41:06 +03:00
Retr0 bbfa163722 fix(libkernel): discard a pending signal when sigaction or signal ignores it
FreeBSD 11's kern_sigaction (sys/kern/kern_sig.c) calls
sigqueue_delete_proc, which drops the signal from the process queue and
from every thread's queue, whenever the new handler is SIG_IGN, or
SIG_DFL on a signal whose sigprop has SA_IGNORE (SIGURG, SIGCONT,
SIGCHLD, SIGIO, SIGWINCH, SIGINFO). It does so whether or not the
signal is blocked. sigaction and signal now take the signal off the
pending set in those cases, so a later unblock or wait never sees it.
2026-10-21 15:35:32 +03:00
Adrià 7280a17ec0 Merge pull request #8360 from MarrasFederico/feat/vdecsw-vp9-picture-info
feat(libSceVdecsw): report VP9 picture info in sceVdecswGetVp9PictureInfo
2026-10-21 14:35:16 +02:00
Retr0 f2bc1195f8 fix(libkernel): reject socket addresses longer than sockaddr_in or sockaddr_in6 with EINVAL
FreeBSD 11.4 getsockaddr sets sa_len to the length argument, and
tcp_usr_bind, tcp_usr_connect, in_pcbbind_setup, in_pcbconnect_setup,
in6_pcbbind and in6_pcbladdr answer EINVAL when it is not the size of
the socket family's address. udp6_bind and udp6_connect pass an
IPv4-mapped address to the IPv4 code without that check when
IPV6_V6ONLY is clear, and udp6_send always checks it. bind and connect
on AF_INET and AF_INET6 sockets, and sendto on AF_INET6 datagram
sockets, now fail a longer address with EINVAL.
2026-10-21 15:31:15 +03:00
jacob6769andClaude Opus 5.5 b50e5c7a4d feat(libSceCesCs): implement the EUC-KR, UHC and Big5 scalar conversions
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 21:29:50 +09:00
lakhantheboss 8af8f1d54f docs(libSceAppContent): clarify temporary storage debt 2026-10-21 17:59:48 +05:30
xXPBSXxandClaude Sonnet 5.5 f1c8ae0ccb fix(libkernel): report a stream whose peer closed as readable in poll on Windows
WSAPoll reports POLLHUP alone for a stream socket whose peer has closed, so
poll never returned POLLIN for it and a caller waiting for POLLIN did not see
the end of the stream. sopoll_generic reports a socket that can receive no
more as readable and adds POLLHUP only once it can send no more either.
poll now adds the requested read bit and keeps POLLHUP only after the socket
shut its own sending side. A reset or refused connection keeps WSAPoll's flags.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-21 14:28:15 +02:00
Federico Marras c6a2cf6042 Merge remote-tracking branch 'upstream/main' into feat/ngs2-waveform-frame-info
# Conflicts:
#	core/libs/prx/libSceNgs2.native/tests/Ngs2Atrac9.cpp
2026-10-21 14:27:59 +02:00
Retr0 3509bb528a fix(libSceNet): report EAGAIN when a stream receive times out on Windows
FreeBSD 11.4's soreceive_generic waits in sbwait (sys/kern/uipc_socket.c,
uipc_sockbuf.c), whose msleep_sbt on so_rcv.sb_timeo returns EWOULDBLOCK
(35) for every socket type when SO_RCVTIMEO expires. On Windows the host
socket is non-blocking and native_transfer enforces the timeout itself,
but it reported WSAETIMEDOUT, which only datagram receives turned into
EAGAIN; a stream receive failed with ETIMEDOUT (60). A receive that
reaches the stored timeout now reports WSAEWOULDBLOCK, so every
receive returns EAGAIN, and a host WSAETIMEDOUT still maps to ETIMEDOUT.
2026-10-21 15:26:46 +03:00
Adrià 2f161d4f33 Merge pull request #8345 from MarrasFederico/feat/mbus-device-generation
feat(libSceMbus): report a device set that never changes in sceDeviceServiceGetGeneration
2026-10-21 14:20:48 +02:00
Federico Marras 4a446319ef docs(libSceNgs2.native): shorten the sceNgs2GetWaveformFrameInfo debt entry 2026-10-21 14:20:22 +02:00
Dean 0c83831421 Merge pull request #8975 from milescoviello/rebase/5499-db-depth-copy
feat(agc): run DB depth copies into a single-sample R32 float target
2026-10-22 01:20:22 +13:00
Adrià fce8ecf162 Merge pull request #8330 from ymatrix1/feat/regmgr-missing-exports
feat(libSceRegMgr): export missing firmware registry manager interfaces
2026-10-21 14:18:55 +02:00
Adrià 6cfd7912a6 Merge pull request #8332 from ymatrix1/feat/avsetting-hid-missing-exports
feat(libSceAvSetting): export missing firmware AV setting and HID control interfaces
2026-10-21 14:18:50 +02:00
Adrià 44d01b8f4b Merge pull request #8333 from ymatrix1/feat/gamelivestreaming-missing-exports
feat(libSceGameLiveStreaming): export missing firmware live streaming interfaces
2026-10-21 14:18:44 +02:00
Adrià 94b2b54e8c Merge pull request #8338 from KernelPanicNT/feat/ngs2-calc-waveform-block-pcm
feat(libSceNgs2): map waveform blocks of linear PCM and float types
2026-10-21 14:17:40 +02:00
Retr0 9bd2bb06cc fix(libkernel): return ENOTSOCK from sendfile on a descriptor that is not a socket
FreeBSD 11 sendfile checks the file descriptor first, then looks up the
socket with getsock_cap, which answers ENOTSOCK for an open descriptor
that is not a socket and EBADF for one that is not open
(sys/kern/kern_sendfile.c, sys/kern/uipc_syscalls.c).

sendfile replaced the errno that Lookup had already set with EBADF. It
now reports the errno Lookup chose, so an open non-socket gives ENOTSOCK
and a closed descriptor still gives EBADF. The sentence about this gap
is cut from the sendfile debt entry and guest_sendfile covers both cases.
2026-10-21 15:16:35 +03:00
David 087c1f40a4 Merge branch 'main' into feat/agc-barycentric-rect-list 2026-10-21 16:15:52 +04:00
Federico Marras e556f153ef Merge remote-tracking branch 'upstream/main' into feat/ngs2-waveform-frame-info
# Conflicts:
#	docs/dev/debt/libSceNgs2.md
2026-10-21 14:15:23 +02:00
Adrià 11bb53a347 Merge pull request #8327 from MarrasFederico/feat/ngs2-voice-owner
feat(libSceNgs2): report the rack and index that own a voice in sceNgs2VoiceGetOwner
2026-10-21 14:12:24 +02:00
Santhosh Kumar 114df6965f feat(libSceFreeType): expose font format and embedding flags 2026-10-21 17:41:11 +05:30
Santhosh Kumar a5b7e4d268 feat(libSceFreeType): reverse and translate guest outlines 2026-10-21 17:41:10 +05:30
Santhosh Kumar 0ed04b266a feat(libSceFreeType): expose charmap metadata 2026-10-21 17:41:10 +05:30
Santhosh Kumar 9544a3e766 feat(libSceFreeType): check outlines and query control bounds 2026-10-21 17:41:09 +05:30
aarushkhaandClaude Opus 5.5 7bff640073 feat(libkernel): answer sceKernelAddReadEvent and sceKernelAddWriteEvent on regular files
Both threw for a regular file. They now follow FreeBSD 11.4's
filt_vfsread and filt_vfswrite: a read event reports the file size less
the descriptor's offset and fires while that is not 0; a write event
always fires with data 0. A wait holding such an event polls it again
every millisecond, as no host call reports every file change. A size
above 1 and other vnode types still throw.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 17:40:45 +05:30
Santhosh Kumar 091dc1d1b5 feat(libSceFreeType): expose raw SFNT name records 2026-10-21 17:40:35 +05:30
orezraeyandClaude Opus 5.5 6369edbf12 Merge main into fix/http-uri-parse-measured-ps5
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 09:10:14 -03:00
Santhosh Kumar 1bf9429135 feat(libSceFreeType): expose font and glyph names 2026-10-21 17:39:26 +05:30
Santhosh Kumar 211dc984b1 docs(libSceFreeType): use the shared debt sections 2026-10-21 17:38:36 +05:30
Santhosh Kumar 69e6ac4438 feat(libSceFreeType): copy and convert guest bitmaps 2026-10-21 17:38:35 +05:30
Adrià d099bc6cd8 Merge pull request #8245 from YossiYad/feat/http-object-options
feat(libSceHttp): keep options per template, connection and request and implement their getters
2026-10-21 14:04:15 +02:00
lakhantheboss d1b7722630 feat(libSceAppContent): implement temporary data mount 2026-10-21 17:33:27 +05:30
Adrià aed67d7e55 Merge pull request #8256 from YossiYad/feat/hmd-no-headset-queries
feat(libSceHmd): answer ten buffer and device queries the way the disconnected-headset path implies
2026-10-21 14:03:19 +02:00
Adrià f815e8bdd6 Merge pull request #8247 from santhoshkumar-dev/codex/freetype-font-face-lifecycle
feat(libSceFreeType): support memory fonts and face cleanup
2026-10-21 14:03:13 +02:00
Adrià d5705d17ad Merge pull request #8290 from akkadbakkad89/feat/psml-mfsr-queries
feat(libScePsml): implement the MFSR query exports
2026-10-21 14:02:16 +02:00
Adrià b11d7cefdb Merge pull request #7907 from akkadbakkad89/feat/prx-declare-inventory-74
feat(prx): declare exports for 66 inventory-covered system libraries
2026-10-21 14:02:05 +02:00
Yossi Yadgar fcc7f2aba9 docs(debt): note where sceNpCheckCallbackForLib comes from 2026-10-21 14:59:31 +03:00
thuanquangandClaude Opus 5.5 9ab433f250 fix(agc): start DB_Z_INFO and DB_STENCIL_INFO at their clear-state value
A context that never wrote DB_Z_INFO or DB_STENCIL_INFO had neither
register, so a draw testing depth or stencil without a depth target was
refused (PPSA24040, DB_DEPTH_CONTROL 0x777), and a depth or stencil plane
whose other register was never written stopped on a missing register.
Both now start at 0, FORMAT INVALID, initially and after CLEAR_STATE.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 18:57:24 +07:00
Federico Marras bef2578837 fix(libSceAudioOut): throw for any legacy mastering flags while their effect is disputed 2026-10-21 13:52:55 +02:00
Yossi Yadgar 3c5924518f docs(debt): note where the internal ImeDialog calls come from 2026-10-21 14:52:11 +03:00
Retr0 99c195e79a fix(libc): leave tzname[1] as three spaces for a zone without daylight saving time
FreeBSD 11 localtime.c initializes tzname to WILDABBR ("   ") and settzname()
resets both entries to it before filling them from the zone's types, so a
zone with no daylight saving type keeps "   " in tzname[1]. Windows left it
empty and Linux repeated tzname[0].
2026-10-21 14:49:28 +03:00
Retr0 36226741f5 fix(libc): open a directory with fopen in a read mode on Windows
FreeBSD 11 fopen opens the path with _open, and vn_open_vnode refuses a
directory only for FWRITE or O_TRUNC, so fopen of a directory in a read
mode succeeds; Linux hosts already open it. On Windows CreateFileW
without FILE_FLAG_BACKUP_SEMANTICS refused it with EACCES.

fopen now opens such a path as a libkernel directory descriptor, which
libkernel registers in libc when it loads, and fclose and freopen remove
it from libkernel's table. Reads on the stream fail with EISDIR and set
the error indicator, as on a Linux host and FreeBSD's tmpfs: the Windows
CRT fails them already but reports EINVAL. Writes fail with EBADF, and
fseek, ftell and ungetc work, as on any read-only stream.
2026-10-21 14:48:37 +03:00
orezraeyandClaude Opus 5.5 c5df2f4ce0 fix(libSceNet): accept every sceNetMemoryAllocate flag as measured on a PS5
A PS5 (firmware 13.60) allocates with any flag value, zero-fills only for
flag 2 and returns 64-byte aligned blocks. Record the measured behaviour of
sceNetGetIfName, sceNetGetRandom, sceNetGetSystemTime, sceNetMemoryFree and
sceNetUsleep, which already match the console, and keep only their open gaps.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 08:48:19 -03:00
Gabrieljr42 df0a74e7c6 fix(ajm): parse protected MP3 frame metadata correctly 2026-10-21 08:48:05 -03:00
Adrià 47fa6eecf8 Merge pull request #8215 from jagrat04/feat/libSceNpWebApi2-add-web-trace-tag
feat(libSceNpWebApi2): implement sceNpWebApi2AddWebTraceTag
2026-10-21 13:46:46 +02:00
Adrià e335d5b5ba Merge pull request #7974 from DavidSamir/feat/libkernel-file-mmap-macos
feat(libkernel): map files through the guest's mmap on macOS hosts
2026-10-21 13:46:41 +02:00
Federico Marras c33c37d57b Merge remote-tracking branch 'upstream/main' into feat/audio-out-mastering 2026-10-21 13:46:34 +02:00
Federico Marras 546d62d6b4 feat(libSceNgs2): report the ATRAC9 frame layout in sceNgs2GetWaveformFrameInfo 2026-10-21 13:46:12 +02:00