Dean Galvin
f200a93447
Merge main into this branch
2026-11-01 12:07:53 +13:00
Dean Galvin
31cf82a8a3
Merge #13988 into this branch
2026-11-01 12:07:47 +13:00
Adrià
a85102910a
Merge pull request #13694 from MarcZX10/fix/host-device-changes
...
fix(libSceAudioOut): reopen the output device the host stopped
2026-10-31 20:31:07 +01:00
Adrià
1cac0ca433
Merge pull request #13676 from xXPBSXx/docs/audioout-lastoutputtime-sources
...
docs(debt): name when the emulators stamp the last audio output time
2026-10-31 19:49:18 +01:00
alfalfa-star and Claude Opus 5.5
c34ab0258d
fix(libSceAudioOut): play the PCM a port was given at the set when an AudioOut2 context advances
...
Advance read each port's buffer when it completed the grain. Crash
Bandicoot 4 (PPSA02433) runs Wwise, which sets each object port's buffer
after mixing and clears the buffer for the next frame before it calls
Advance, so every grain was read as silence and the menu and gameplay had
no sound. A grain given by a set now plays the copy taken at that set; a
repeated buffer is still read at Advance.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-31 15:56:36 +01:00
alfalfa-star and Claude Opus 5.5
11f217b14f
fix(libSceAudioOut): play silence for a regiven AudioOut2 buffer that is not set again
...
A port without a new buffer for a grain repeated its last one whenever the
buffer had not moved on, which also covered a port given the same buffer
every grain. Crash Bandicoot 4 (PPSA02433) gives each Wwise object port the
same buffer every grain and none for about 350 ms while it loads; the
repeat then played the memory Wwise had reused, a loud burst of noise.
Only a port given a buffer once since it was created or cleared repeats it
now.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-31 15:29:32 +01:00
Adrià
18f5949788
Merge pull request #13588 from MarcZX10/docs/debt-D1-1
...
docs(libSceAmpr, libSceAudioOut): correct two debt statements
2026-10-31 06:02:12 +01:00
MarcZX10
2bdcad1490
Merge upstream/main into fix/host-device-changes
2026-10-30 23:52:24 +00:00
Adrià
b55fa1b387
Merge pull request #13223 from kyon-eth/feat/audio-out-320-exports
...
feat(libSceAudioOut): declare 33 callable exports
2026-10-30 23:57:31 +01:00
xXPBSXx and Claude Opus 5.5
4574fd1356
docs(debt): name when the emulators stamp the last audio output time
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-30 23:37:52 +01:00
MarcZX10
9b6c28b8bd
Merge upstream/main into fix/host-device-changes
...
Bring the branch up to the current upstream main. The only conflict was the
AudioOut debt doc, where both sides added a Functional entry; both are kept.
2026-10-30 19:52:07 +00:00
MarcZX10
a2ee59cda8
docs(libSceAudioOut): sceAudioOut2LoInit only marks AudioOut2 initialized
...
Old claim: the sceAudioOut2Lo* calls, including sceAudioOut2LoInit, each forward to
their sceAudioOut2 counterpart.
What the code does: sceAudioOut2LoInit calls AudioOut2MarkInitialized and returns 0;
it does not call sceAudioOut2Initialize. sceAudioOut2InitializeEx has the same body.
The other sceAudioOut2Lo* calls named in the entry forward.
Permalinks at b1b5353cfc :
- https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libSceAudioOut/src/AudioOut2Low.cpp#L10-L13
- https://github.com/boykopovar/AnyPS5/blob/b1b5353cfcee098ed17e3ba8a6e616bee97c9215/core/libs/prx/libSceAudioOut/src/AudioOut2System.cpp#L17-L21
2026-10-30 18:49:34 +00:00
Adrià
01069f4d2b
Merge pull request #12954 from hugodearaujo/fix/audioout2-blocking-push
...
fix(libSceAudioOut): return from a blocking AudioOut2 push once the queue has room
2026-10-30 15:45:36 +01:00
MarcZX10
de0b4c4163
docs(libSceAudioOut): record the AudioOut2 main output as debt
...
A context's main host device is not reopened when the host stops it, a
gap the branch does not fix. The console's behaviour is unmeasured.
2026-10-30 14:00:37 +00:00
MarcZX10
d94ae4c58c
docs(libSceAudioOut): record the host output reopen as debt
...
The reopen of a stopped host output has no console counterpart to test
against, so its guest-visible behaviour is recorded as unmeasured.
2026-10-30 14:00:24 +00:00
Dean
806b22a060
Merge pull request #12698 from xXPBSXx/docs/audioout2-push-blocking-count
...
docs(libSceAudioOut): count the blocking values passed to sceAudioOut2ContextPush
2026-10-31 00:20:59 +13:00
Kyon
e4b274109f
feat(libSceAudioOut): declare 33 callable exports
2026-10-30 07:02:41 +00:00
hugodearaujo
56fd9eac87
Merge main into fix/audioout2-blocking-push
...
# Conflicts:
# core/libs/prx/libSceAudioOut/src/AudioOut2Context.cpp
2026-10-30 03:03:08 -03:00
Adrià
4628011bc8
Merge pull request #12727 from XairRrR/fix-audioout-context-handles
...
fix(libSceAudioOut): reject AudioOut2 context handles that are not live contexts
2026-10-30 05:51:47 +01:00
hugodearaujo
1f905993a3
docs(libSceAudioOut): state the blocking push's combined worst-case wait
2026-10-29 20:40:18 -03:00
Dean
85ae67061d
Merge pull request #12856 from slopgobblercobbler/fix/audioout-param-buffer-validation
...
fix(libSceAudioOut): validate open format parameter and virtual port buffer boundaries
2026-10-30 10:18:42 +13:00
Dean
af4e595327
Merge pull request #11762 from oneandonlydean/salvage/small-exports-9541
...
feat(prx): declare 34 PS5 JSON, AudioOut, AudioIn and Sdma exports
2026-10-30 08:13:52 +13:00
Adrià and Claude Sonnet 5.5
1ed07de320
test(libSceAudioOut): assert the blocking push level, not elapsed time; note destroy during a push is unsupported
...
Co-Authored-By: Claude Sonnet 5.5 <[email protected] >
2026-10-29 18:43:12 +01:00
hugodearaujo
7a75ea95b3
docs(libSceAudioOut): record the blocking push wait as inferred from PPSA02530
...
The wait is described in the debt file instead of in code comments.
2026-10-29 13:29:53 -03:00
slopgobblercobbler
120b2036a5
fix(libSceAudioOut): validate open format parameter and virtual port buffer boundaries
2026-10-29 14:27:50 +01:00
XairRrR
669ad73b05
docs(libSceAudioOut): record the AudioOut2 context handle gaps
...
The live context set rejects stale and invalid handles but not a destroy
that races another call on the same handle, because the lookup releases
the set's lock before the caller uses the context. A destroyed handle also
becomes valid again when a new context gets the same allocation. Both are
recorded in the libSceAudioOut debt file.
AI-assisted: yes
2026-10-29 06:56:28 +01:00
xXPBSXx and Claude Opus 5.5
f205990ead
docs(debt): count one two-path Push site as not constant
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-29 05:58:28 +01:00
xXPBSXx and Claude Sonnet 5.5
ba998c5558
docs(libSceAudioOut): count the blocking values passed to sceAudioOut2ContextPush
...
Co-Authored-By: Claude Sonnet 5.5 <[email protected] >
2026-10-29 00:49:14 +01:00
SeaSunPT and Claude Opus 5.5
9f6c3527ed
fix(libSceAudioOut): refuse system debug state and chat calls before sceAudioOut2Initialize
...
#9838 read sceAudioOut2SetSystemDebugState in PS5 firmware 3.20 and 4.03:
it returns 0x80268006 (not initialized) before sceAudioOut2Initialize,
ahead of its pointer, id and size checks. The debt entry for
sceAudioOut2EnableChat and sceAudioOut2DisableChat records the same
0x80268006 before AudioOut2 initialization. Both were left out while
AudioOut2 initialization was not tracked; AudioOut2IsInitialized_nid_no_patch
now tracks it, so all three return 0x80268006 first and change no state.
The two debt entries drop the closed gap.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-28 12:56:22 +00:00
Dean Galvin
d64880a5a4
Merge branch 'main' into salvage/small-exports-9541
...
# Conflicts:
# docs/dev/debt/libSceAudioOut.md
2026-10-28 22:38:37 +13:00
Dean
c2d14b444c
Merge pull request #11918 from kyon-eth/feat/audioout2-1360-inventory
...
feat(libSceAudioOut): declare 11 additional exports
2026-10-28 22:30:28 +13:00
Adrià
41417377ca
Merge pull request #11742 from milescoviello/docs/audioout2-context-attributes-silent
...
docs(libSceAudioOut): list sceAudioOut2ContextSetAttributes as a silent stub
2026-10-28 10:11:24 +01:00
Adrià
a57567928d
Merge pull request #11739 from milescoviello/docs/audioout2-port-state-reads
...
docs(libSceAudioOut): note which port state fields five titles read
2026-10-28 10:10:14 +01:00
Dean
a1f5ae4e8b
Merge pull request #11244 from SeaSunPT/fix/audioout2-mastering-not-initialized
...
fix(libSceAudioOut): refuse sceAudioOut2Mastering calls before sceAudioOut2Initialize
2026-10-28 13:02:46 +13:00
Dean
6c48f35a95
Merge pull request #8098 from LuisAguilarDev/fix/audioout2-silent-ports
...
fix(audioout2): keep each port's grain when ports share a buffer
2026-10-28 12:59:20 +13:00
Dean
45af0a222e
Merge pull request #11458 from MarcZX10/marc/docs-debt-sync
...
docs(debt): drop duplicated debt entries
2026-10-28 12:05:46 +13:00
Kyon
fadf15081d
feat(libSceAudioOut): declare 11 additional exports
2026-10-27 12:31:40 +00:00
xdCloudy
278754be7c
feat(prx): declare 27 PS5 JSON and AudioOut exports
2026-10-27 19:57:19 +13:00
milescoviello and Claude Opus 5.5
0f9133b769
docs(libSceAudioOut): scope the context attribute stub to valid arguments
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-27 06:46:52 +00:00
milescoviello and Claude Opus 5.5
448275eff5
docs(libSceAudioOut): list sceAudioOut2ContextSetAttributes as a silent stub
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-27 06:34:57 +00:00
milescoviello and Claude Opus 5.5
603a540fa7
docs(libSceAudioOut): scope the port state reads to the inspected instructions
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-27 06:29:16 +00:00
milescoviello and Claude Opus 5.5
8f2f7b8971
docs(libSceAudioOut): note which port state fields five titles read
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-27 06:25:19 +00: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
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
SeaSunPT and Claude Opus 5.5
d736ea814e
Merge branch 'main' into fix/audioout2-mastering-not-initialized
...
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-26 15:34:06 +00:00
hypermist and Claude Opus 5.5
d6f2d6501e
docs(debt): cite firmware 13.60, not 12.00, for the decrypted modules
...
The modules these entries were read from record SDK 13.60 (0x13600007)
in their module-param segment, so they are firmware 13.60. Only the
version label changes; the behaviour described is unchanged.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
Claude-Session: https://claude.ai/code/session_013XFS3FUfBtqCVfwmBrRQ6q
2026-10-26 16:17:50 +01:00
Adrià
b28254176b
Merge pull request #10146 from xXPBSXx/docs/debt-audioout-portcreate-title
...
docs(debt): note the formats a title passes to sceAudioOut2PortCreate
2026-10-26 16:07:32 +01:00
MarcZX10
b3d00b129b
docs(debt): drop the duplicate sceAudioOut2Set3DLatency entry
2026-10-26 14:02:23 +00:00
SeaSunPT and Claude Opus 5.5
4128be2f60
fix(libSceAudioOut): refuse sceAudioOut2Mastering calls before sceAudioOut2Initialize
...
The PS5 module read for #9027 returns 0x80268006 from sceAudioOut2MasteringInit,
sceAudioOut2MasteringInitEx, sceAudioOut2MasteringTerm,
sceAudioOut2MasteringGetState and sceAudioOut2MasteringSetParam before
sceAudioOut2Initialize. #9027 left the check out because AudioOut2
initialization was not tracked; AudioOut2IsInitialized_nid_no_patch now
tracks it, so each of these returns 0x80268006 first, before its own
mastering-state and argument checks, and changes no state. The debt entry
drops the closed gap.
Co-Authored-By: Claude Opus 5.5 <[email protected] >
2026-10-25 22:07:11 +00:00
Dean Galvin
91039afff1
Merge branch 'main' into feat/audioout-set-main-output
2026-10-26 09:57:37 +13:00