Commit Graph
141 Commits
Author SHA1 Message Date
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
Dean fc7e583e6e Merge pull request #11035 from orezraey/fix/libsceaudioout-repeated-init-measured-ps5
fix(libSceAudioOut): fail a repeated sceAudioOut2Initialize and sceAudioOutInit as measured on a PS5
2026-10-27 09:16:48 +13:00
Dean Galvin 91039afff1 Merge branch 'main' into feat/audioout-set-main-output 2026-10-26 09:57:37 +13:00
p3nicillinandClaude Opus 5.5 6d4247f45f fix(libSceAudioOut): declare sceAudioOutSetPadSpkVolume as PSBox calls it
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 20:12:50 +00:00
orezraeyandClaude Opus 5.5 9925a9e401 fix(libSceAudioOut): fail a repeated sceAudioOut2Initialize and sceAudioOutInit as measured on a PS5
On PS5 firmware 13.60 a second sceAudioOut2Initialize returns 0x80268004,
also after sceAudioOutInit, and a second sceAudioOutInit returns
0x8026000e. sceAudioOutInit after sceAudioOut2Initialize still returns 0.
sceAudioOut2InitializeEx and sceAudioOut2LoInit keep returning 0; their
repeats were not measured.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-25 11:36:01 -03:00
boykopovar 2a99f02f25 fix(sdk): reconcile declarations after main rebase 2026-10-24 23:17:50 +03:00
boykopovar fdf9ca7574 fix(sdk): reconcile public headers after rebase 2026-10-24 23:17:47 +03:00
boykopovar f38d29fd08 refactor(sdk): add canonical headers for remaining libraries 2026-10-24 23:17:42 +03:00
boykopovar 35cf8d56cd refactor(sdk): add canonical headers for core libraries 2026-10-24 23:17:37 +03:00
Dean 1c6e10f170 Merge pull request #8693 from JAB-dev/fix/audioout2-speaker-info-errors
fix(libSceAudioOut): report not-initialized, null-pointer and flag errors from sceAudioOut2GetSpeakerInfo
2026-10-25 07:32:15 +13:00
JAB-devandClaude Sonnet 5.5 4be45df841 test(libSceAudioOut): stop asserting a repeated AudioOut2 init and record the init gaps
`sceAudioOutInit` now initializes AudioOut2, so the extra `sceAudioOut2Initialize()` in the speaker-info test after a legacy init pinned a repeated direct-init result that no run on the console covered; the test keeps the legacy-init to speaker-info success check. The debt file records that a repeated `sceAudioOutInit` returns 0 here against `0x8026000e` on the firmware and that a repeated `sceAudioOut2Initialize` is unmeasured, describes the flag-1 selector as the unidentified per-process libkernel value with BunnyFl's `0x14FFFFF` boundary, and splits the speaker-info entry so no entry passes the length limit.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-24 18:32:14 +02:00
JAB-dev 032b4ff6da Merge remote-tracking branch 'origin/main' into HEAD 2026-10-24 18:01:59 +02:00
Adrià 87666fc5d6 Merge pull request #8525 from MarrasFederico/feat/audio-out-mastering
feat(libSceAudioOut): answer the legacy mastering calls without a mastering stage
2026-10-24 14:21:12 +02:00
Adrià FranchandClaude Sonnet 5.5 de28243d26 fix(libSceAudioOut): clear sceAudioOutGetSystemState reserved fields
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 20:31:12 +02:00
Benjamin Cortez b0b7198b7a feat(libSceAudioOut): implement sceAudioOutGetSystemState 2026-10-23 20:31:12 +02:00
Dean 19d0005a47 Merge pull request #9027 from hypermoist/fix/audioout2-mastering-state
fix(libSceAudioOut): track mastering initialization as the console does
2026-10-24 00:54:34 +13:00
Dean 98aef0f7fa Merge pull request #9023 from hypermoist/fix/audioout-info-calls
fix(libSceAudioOut): return what the firmware returns from three info calls
2026-10-24 00:54:12 +13:00
JAB-devandClaude Sonnet 5.5 a5c3bb0933 fix(libSceAudioOut): sceAudioOutInit initializes AudioOut2 as the firmware does
In PS5 firmware 3.20 and 4.03 sceAudioOutInit calls sceAudioOut2Initialize, which sets the flag that sceAudioOut2GetSpeakerInfo tests before anything else. A title that only calls sceAudioOutInit got 0x80268006 here. The flag moves next to sceAudioOutInit so the test targets that build only AudioOut.cpp still link.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 12:36:41 +02:00
JAB-devandClaude Sonnet 5.5 1c335b6ea9 Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into fix/audioout2-speaker-info-errors
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 12:33:19 +02:00
hypermistandClaude Opus 5.5 1cee26eba7 Merge remote-tracking branch 'upstream/main' into fix/audioout2-mastering-state
Keep the shared Init/InitEx validation over the InitEx body from #9349.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01SNqSvnFwRBz3D76n476yw6
2026-10-23 19:12:29 +13:00
Federico Marras cf06f64c29 Merge remote-tracking branch 'upstream/main' into feat/audio-out-mastering
# Conflicts:
#	docs/dev/debt/libSceAudioOut.md
2026-10-23 07:11:02 +02:00
Dean 18b9b17664 Merge pull request #9838 from JAB-dev/fix/audioout2-system-debug-state-validation
fix(libSceAudioOut): validate the debug state id and size in sceAudioOut2SetSystemDebugState
2026-10-23 15:36:06 +13:00
Dean ccab14d394 Merge pull request #8915 from hypermoist/feat/audio3d-speaker-array
feat(audio3d): forward the speaker-array calls to AudioOut2
2026-10-23 14:13:57 +13:00
Dean 9f64d9203f Merge pull request #9351 from thuanquang/test/audio-out-buffer-size-overflow
test(libSceAudioOut): check that an audio port whose buffer size overflows throws
2026-10-23 13:04:47 +13:00
Dean bacd18e63a Merge pull request #9349 from MarcZX10/codex/audioout2-initex-console-flag31
feat(libSceAudioOut): support mastering InitEx flags
2026-10-23 12:57:51 +13:00
JAB-devandClaude Sonnet 5.5 7281c9b68b Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into fix/audioout2-system-debug-state-validation
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-23 00:28:54 +02:00
Dean 5f83572bfb Merge pull request #9032 from hypermoist/fix/audioout2-lo-terminate
fix(libSceAudioOut): return 0 from sceAudioOut2LoTerminate and forward sceAudioOut2InitializeEx
2026-10-23 09:43:36 +13:00
JAB-devandClaude Sonnet 5.5 611db84ca5 fix(libSceAudioOut): validate the debug state id and size in sceAudioOut2SetSystemDebugState
sceAudioOut2SetSystemDebugState accepts only the loudness debug state (id 1, 8-byte param); other ids and sizes return the invalid param error and a null pointer returns the invalid pointer error. The one debug state the console also accepts, id 0x20 with a 4-byte param, throws.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-22 18:09:35 +02:00
Federico Marras c764bdc087 Merge remote-tracking branch 'upstream/main' into feat/audio-out-mastering
# Conflicts:
#	docs/dev/debt/libSceAudioOut.md
2026-10-22 07:01:43 +02:00
hypermist 7ef7653590 Merge remote-tracking branch 'upstream/main' into fix/audioout2-mastering-state
# Conflicts:
#	docs/dev/debt/libSceAudioOut.md
2026-10-22 14:20:02 +13:00
JAB-devandClaude Sonnet 5.5 43a76fcdb5 Merge branch 'main' of https://github.com/boykopovar/AnyPS5 into fix/audioout2-speaker-info-errors
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-22 00:02:33 +02:00
thuanquangandClaude ca8b3da6fb test(libSceAudioOut): check that an audio port whose buffer size overflows throws
Co-Authored-By: Claude <[email protected]>
2026-10-22 02:07:26 +07:00
MarcZX10 023139d12c feat(libSceAudioOut): support mastering InitEx flags 2026-10-21 19:05:18 +00:00
boykopovar b5d626bc21 fix(audioout): enforce native monitor buffer validation 2026-10-21 21:51:55 +03:00
boykopovar f7a7be1a27 fix(audioout2): restore optional attribute outputs and errors 2026-10-21 21:51:54 +03:00
boykopovar 62e4e204f1 fix(audioout): restore device id open argument slots 2026-10-21 21:50:50 +03:00
boykopovar 11c5d585e6 fix(audio): correct mix level and 3d latency validation 2026-10-21 21:48:01 +03:00
NikoandClaude Opus 5.5 d16be88e39 feat(libSceAudioOut): return 0 from sceAudioOutSetMainOutput like the firmware stub
sceAudioOutSetMainOutput threw "not implemented". In firmware 12.70
the export is `xor eax,eax; ret` (PS5-Audio-Passthrough-Research,
docs/FINDINGS.md line 25 at cf3c921): it reads no argument, changes
nothing and returns 0. It now does the same, defined in AudioOut.cpp
next to the Sys output calls.

Its parameters stay unknown and other firmware versions are
unverified. The debt file records this under Silent stubs, which
check_conventions requires for an export that returns a constant,
in place of the function's unknown-signature line.

The audio_out_sys test checks that the call does not throw and
returns 0; on main both checks fail.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-21 16:25:58 +02: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
Federico Marras c33c37d57b Merge remote-tracking branch 'upstream/main' into feat/audio-out-mastering 2026-10-21 13:46:34 +02:00
hypermistandClaude Opus 5.5 f347e96e38 fix(libSceAudioOut): return 0 from sceAudioOut2LoTerminate and forward sceAudioOut2InitializeEx
The PS5 module's sceAudioOut2LoTerminate stops the low-latency service
and returns 0 whether or not it runs; sceAudioOut2LoInit starts no
service here. sceAudioOut2InitializeEx stores its argument and runs
sceAudioOut2Initialize.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 23:10:16 +13:00
hypermistandClaude Opus 5.5 5a7ef76100 fix(libSceAudioOut): track mastering initialization as the console does
The PS5 module keeps one mastering-initialized flag. A repeated
initialization returns 0 before the flags are checked; otherwise
sceAudioOut2MasteringInit accepts only 0 and sceAudioOut2MasteringInitEx
also bit 31, and other flags return 0x80268201. Term, GetState and
SetParam return 0x80268203 before initialization, GetState returns
0x8026800C for a null state and SetParam 0x80268205 for flags above 1.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 23:03:49 +13:00
hypermistandClaude Opus 5.5 30785885f7 fix(libSceAudioOut): return what the firmware returns from three info calls
sceAudioOutGetInfo and sceAudioOutGetInfoOpenNum return 0 and
sceAudioOutGetSimulatedHandleStatusInfo returns 0x809B00FF without
reading their arguments.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 22:56:09 +13:00
hypermistandClaude Opus 5.5 51c5f528be feat(audio3d): forward the speaker-array calls to AudioOut2
sceAudio3dGetSpeakerArrayMemorySize, CreateSpeakerArray, DeleteSpeakerArray
and GetSpeakerArrayMixCoefficients(2) forward to the AudioOut2 speaker-array
calls as the console does: the memory size asks for no ambisonics, create
rejects a null handle or parameters with SCE_AUDIO3D_ERROR_INVALID_PARAMETER
and passes no ambisonics parameters, and MixCoefficients passes height_aware 0
and a 0.1 downmix spread radius. AudioOut2 create no longer rejects a null
ambisonics pointer, which the console accepts.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01RbLgECLQ2bpDM7oe2urGZK
2026-10-21 18:56:28 +13:00
JAB-devandClaude Sonnet 5.5 4b0c16a173 fix(libSceAudioOut): report not-initialized, null-pointer and flag errors from sceAudioOut2GetSpeakerInfo
sceAudioOut2GetSpeakerInfo now returns the SDK AudioOut2 errors: not initialized before sceAudioOut2Initialize, invalid pointer for a null result and invalid param for flags above 1. sceAudioOut2Initialize records that it ran.

Co-Authored-By: Claude Sonnet 5.5 <[email protected]>
2026-10-20 23:13:00 +02:00
Federico Marras 0d6ba22d9f feat(libSceAudioOut): serve the low-latency AudioOut2 calls through their standard counterparts 2026-10-20 17:16:40 +02:00
Federico Marras a97a04f0c0 feat(libSceAudioOut): answer the legacy mastering calls without a mastering stage 2026-10-20 17:07:53 +02:00
Yuri Olive 29e9ab36e1 fix(libSceAudioOut): drop names missing from the pinned aerolib 2026-10-20 06:25:40 -03:00
Yuri Olive 3eee2b281f fix(libSceAudioOut): leave sceAudioOutGetSystemState to #5965 2026-10-19 15:17:06 -03:00
Yuri Olive df6b81f83b feat(libSceAudioOut): export missing firmware audio output interfaces 2026-10-19 14:56:52 -03:00