Commit Graph

488 Commits

Author SHA1 Message Date
Adrià Franch 263cb6626c feat(jpegenc): honor the encode restart interval
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-06 14:16:07 +02:00
Dean 5895ea721a
Merge pull request #814 from adriadam10/feat/kernel-aio-batch
feat(libkernel): Aio batch submit, wait, cancel and delete
2026-10-06 22:34:58 +13:00
Dean 77b96c6c00
Merge pull request #813 from adriadam10/feat/http-offline-noops
feat(libSceHttp): add sceHttpSetResponseHeaderMaxSize, sceHttpRedirectCacheFlush, sceHttpsUnloadCert
2026-10-06 22:34:16 +13:00
Dean 5d6ee4669a
Merge pull request #808 from adriadam10/feat/kernel-get-direct-memory-type
feat(libkernel): implement sceKernelGetDirectMemoryType
2026-10-06 22:32:51 +13:00
Dean 88ca57d7af
Merge pull request #806 from adriadam10/feat/kernel-vectored-io
feat(libkernel): sceKernelReadv, Writev, Preadv and Pwritev
2026-10-06 22:32:09 +13:00
Dean 1e6b1cb7eb
Merge pull request #804 from adriadam10/feat/rtc-format-rfc2822
feat(rtc): implement sceRtcFormatRFC2822 and the RFC 2822/3339 local-time formatters
2026-10-06 22:31:59 +13:00
Dean dd9b95790e
Merge pull request #782 from adriadam10/feat/rtc-parse-datetime-rfc2822
feat(rtc): parse RFC 2822 and asctime strings in sceRtcParseDateTime
2026-10-06 22:31:17 +13:00
Dean fbcba205de
Merge pull request #485 from RomainROCH/codex/fix-jpeg-formats
fix(jpegenc): honor chroma sampling and encode true grayscale JPEGs
2026-10-06 22:29:11 +13:00
Dean 6f3d485fca
Merge pull request #723 from alfalfa-star/feat/libkernel-module-info-from-addr
feat(libkernel): implement sceKernelGetModuleInfoFromAddr
2026-10-06 22:29:00 +13:00
Dean 229b1287b4
Merge pull request #721 from merwie/feat/kernel-checked-release-direct-memory
feat(libkernel): implement sceKernelCheckedReleaseDirectMemory
2026-10-06 22:28:18 +13:00
Dean 1b6a7bae64
Merge pull request #700 from merwie/fix/kernel-virtual-query-reserved
fix(libkernel): report reserved virtual ranges in sceKernelVirtualQuery
2026-10-06 22:27:36 +13:00
boykopovar e76c70f682
Merge pull request #676 from adriadam10/refactor/drop-bundled-middleware
refactor(libs): drop replacements of modules that titles ship themselves
2026-10-06 11:57:51 +03:00
Adrià Franch 0f2699eef4 feat(libkernel): Aio batch submit, wait, cancel and delete
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-06 08:11:07 +02:00
Adrià Franch bc7fdff9e5 feat(libSceHttp): add sceHttpSetResponseHeaderMaxSize, sceHttpRedirectCacheFlush, sceHttpsUnloadCert
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-06 08:06:17 +02:00
Adrià Franch 6d2713cbdd feat(libkernel): implement sceKernelGetDirectMemoryType
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-06 07:44:18 +02:00
Dean aa335b85ba
Merge pull request #802 from Raghav314/feat/videoout-allow-wqhd-detection
feat(libSceVideoOut): implement sceVideoOutAllowOutputResolutionWqhdDetection
2026-10-06 18:34:23 +13:00
Adrià Franch ab98cd7f4a feat(libkernel): sceKernelReadv, Writev, Preadv and Pwritev
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-06 07:33:51 +02:00
Adrià Franch 3515ead91a feat(rtc): implement sceRtcFormatRFC2822 and the RFC 2822/3339 local-time formatters
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-06 07:27:27 +02:00
Adrià Franch 4e5a1fe9d4 feat(rtc): parse RFC 2822 and asctime strings in sceRtcParseDateTime
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-06 07:16:02 +02:00
Adrià Franch 79057e9160 refactor(libs): drop replacements of modules that titles ship themselves
Co-Authored-By: Claude <noreply@anthropic.com>
2026-10-06 07:11:33 +02:00
raghav314 958b856832 feat(libSceVideoOut): implement sceVideoOutAllowOutputResolutionWqhdDetection
Lets an open port report 2560x1440 output (resolution 4). The output
status here is 1080p or 2160p, so the call changes nothing it reports.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 10:10:25 +05:30
raghav314 670ffb9da3 feat(libkernel): implement sceKernelGetAvailableCpumask
Returns the CPU mask threads get by default (DEFAULT_THREAD_AFFINITY,
0x1FFF), the value itself rather than an error code.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 09:41:52 +05:30
Dean aff8dfb3f3
Merge pull request #797 from ThisIsAkill/fix/libc-fiopen-export
feat(libc): export std::_Fiopen as unimplemented
2026-10-06 16:32:54 +13:00
Dean 4ee77fc5ac
Merge pull request #796 from CnRJay/feat/appcontent-addcont-mount
feat(libSceAppContent): answer add-content mounts without installed content
2026-10-06 16:32:12 +13:00
Dean 746d3c6897
Merge pull request #794 from CnRJay/feat/ime-closed-panel
feat(libSceIme): report the closed IME panel
2026-10-06 16:31:30 +13:00
Dean 0db5bfcf36
Merge pull request #792 from CnRJay/feat/libkernel-sendmsg-recvmsg
feat(libkernel): implement sendmsg and recvmsg
2026-10-06 16:31:19 +13:00
Dean dee8fa1855
Merge pull request #791 from CnRJay/feat/agc-driver-resource-queries
feat(libSceAgcDriver): answer the resource registration queries
2026-10-06 16:30:38 +13:00
Dean faf985ea11
Merge pull request #790 from CnRJay/feat/image-msaa-load
feat(shader): implement image_msaa_load
2026-10-06 16:29:56 +13:00
Dean 77a8bf3370
Merge pull request #789 from Celegans12/feat/voiceqos-init-app-type
feat(voiceqos): accept app type 0x10000000 in sceVoiceQoSInit
2026-10-06 16:29:14 +13:00
Akhil Moola be6705e977 feat(libc): export std::_Fiopen as unimplemented
PPSA21564 and PPSA21567 import std::_Fiopen (NID vYWK2Pz8vGE), the only libc
NID the host libc lacks. Without it the executable fails to load against
the host libc when the title's own libc.prx is left out of the guest
conversion, which is how the Linux runs of PPSA21564 avoid the libc.prx
binding crash. The values of the open mode and the meaning of the
protection argument are unknown, so the export throws when called; it was
never called in a 300 s run of PPSA21567.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014A3UgWDUxE1EeHyVZm6tiN
2026-10-05 20:06:18 -06:00
Nicolas Abosch 7789c0a57b feat(libs): implement homebrew libc and kernel runtime exports 2026-10-05 22:40:16 -03:00
Chad 03afdb55bb Merge remote-tracking branch 'upstream/main' into feat/libkernel-sendmsg-recvmsg
# Conflicts:
#	core/libs/prx/libkernel/Unimplemented.cpp
2026-10-05 20:23:13 -05:00
Chad f2427b1a24 Merge remote-tracking branch 'upstream/main' into feat/agc-driver-resource-queries
# Conflicts:
#	docs/dev/TechnicalDebt.md
2026-10-05 20:22:12 -05:00
Chad e18722e499 Merge remote-tracking branch 'upstream/main' into feat/image-msaa-load 2026-10-05 20:20:55 -05:00
Chad ebe0515180 feat(libSceAppContent): answer add-content mounts without installed content
No additional content is installed, so sceAppContentAddcontMount returns
SCE_APP_CONTENT_ERROR_NOT_FOUND with the mount point untouched, and
sceAppContentAddcontUnmount finds no mount to release. A missing label
or mount point is a parameter error. The library gets its own
CMakeLists for the new guest_appcontent test.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 20:19:09 -05:00
Dean 6136e52110
Merge pull request #785 from NahuelGenchi/feat/kernel-futimes
feat(libkernel): implement futimes
2026-10-06 14:15:34 +13:00
Dean aa22e43932
Merge pull request #784 from NahuelGenchi/feat/kernel-fchmod
feat(libkernel): implement fchmod and sceKernelFchmod
2026-10-06 14:14:52 +13:00
Dean 901ddfd1f8
Merge pull request #783 from adriadam10/feat/net-resolver-get-error
feat(libSceNet): implement sceNetResolverGetError
2026-10-06 14:14:10 +13:00
Chad a74f282359 feat(libSceIme): report the closed IME panel
sceImeOpen is not implemented, so the IME panel is never open.
sceImeClose, sceImeSetCaret, sceImeSetText and sceImeSetTextGeometry
return SCE_IME_ERROR_NOT_OPENED, checking the panel before their
arguments, as sceImeKeyboardGetInfo does for the keyboard.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 20:14:09 -05:00
Dean 8235eda149
Merge pull request #769 from adriadam10/feat/font-writing-line
feat(font): implement writing lines
2026-10-06 14:13:27 +13:00
Chad 77550ab731 feat(libkernel): implement sendmsg and recvmsg
Both take the FreeBSD msghdr (48 bytes, iovecs of a pointer and a 64-bit
length) and run on the host sockets: sendmsg gathers the iovecs and sends
through sendto, recvmsg receives into one buffer and scatters it. A
datagram longer than the iovecs is cut and reported with MSG_TRUNC, also
on Windows where recvfrom fails with WSAEMSGSIZE. More than 1024 iovecs
fail with EMSGSIZE. No ancillary data is ever received, so recvmsg
clears msg_controllen; sending control data throws.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 20:10:13 -05:00
Chad 5d99f135d7 feat(libSceAgcDriver): answer the resource registration queries
Registration of owners and resources fails with
RESOURCE_REGISTRATION_UNAVAILABLE, so no handle is ever valid: the owner
and resource getters, sceAgcDriverSetResourceUserData,
sceAgcDriverRegisterGdsResource, sceAgcDriverFindResourcesPublic,
sceAgcDriverUnregisterAllResourcesForOwner and
sceAgcDriverGetDefaultOwner return the same error.
sceAgcDriverUnregisterWorkloadStream mirrors the accepting
RegisterWorkloadStream. No capture, trace or submit validation ever runs,
so their status queries report false.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 20:07:28 -05:00
Chad e263402296 feat(shader): implement image_msaa_load
Decode MIMG opcode 0x80 on 2D MSAA and 2D MSAA array images with a
single-bit dmask and return four dwords: the selected component of the
fragment named in the address and the three that follow it. Each fragment
is read with its own image fetch, adding the fragment step to the packed
address dword so a16 layouts keep working.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 19:56:34 -05:00
Celegans12 4b0119426b feat(voiceqos): accept app type 0x10000000 in sceVoiceQoSInit
sceVoiceQoSInit accepted only app type 0x20000000 and threw for every
other value. PPSA26344 v1.008 passes 0x10000000 at both of its call
sites, so its initialization threw.

Accept 0x10000000 as a second known app type. Its meaning is unknown,
so the constant is named after the value, and it is handled like
0x20000000; the block stays unused. A null or empty block, a second
initialization and every other app type still throw.

guest_voice_qos_tests now takes the app type as its argument and runs
in ctest once per accepted value, because sceVoiceQoSEnd still throws
and one process can initialize only once.
2026-10-06 02:42:33 +02:00
Dean 9cafa33f94
Merge pull request #658 from NumberGuan/codex/fix-net-inet-ntop-errors
fix(net): report address text buffer errors to the guest
2026-10-06 13:29:03 +13:00
Dean cdb2707ad2
Merge pull request #686 from Pouare514/fix/direct-memory-release-clears-mappings
fix(libkernel): drop direct mappings when physical backing is released
2026-10-06 13:28:21 +13:00
Dean 3e9bcee7b9
Merge pull request #756 from CnRJay/feat/amm-prt
feat(libs): implement the AMM PRT commands
2026-10-06 13:17:24 +13:00
Dean 5cc58621a9
Merge pull request #749 from CnRJay/feat/amm-remap-protect
feat(libs): implement the AMM remap, multimap and protection changes
2026-10-06 13:17:14 +13:00
Dean ece9990d89
Merge pull request #748 from CnRJay/feat/amm-core
feat(libs): implement the AMM map, map direct and unmap commands and the APR map region
2026-10-06 13:16:31 +13:00
Dean 633459b09c
Merge pull request #672 from NahuelGenchi/fix/linux-guest-export-namespace
fix(relinker): keep host prx references out of guest modules on Linux
2026-10-06 13:15:49 +13:00