diff options
| author | Takoroka <137927095+Takoroka@users.noreply.github.com> | 2026-10-31 10:16:49 -0400 |
|---|---|---|
| committer | Takoroka <137927095+Takoroka@users.noreply.github.com> | 2026-10-31 10:16:49 -0400 |
| commit | 140489e51fc6a773146eace7ebdc6ccb8ad551d4 (patch) | |
| tree | b468b2adffe8cff412b2f3da83c9d30fa63c0b5a /src/core/debugger/debugger.cpp | |
| parent | 8ac95d5e42fc571279eede89bfd0a4f83d2783d2 (diff) | |
nx2: give the Switch 2 audio streams (auddmg:u, audsmx:u) real objects
Switch Sports' menu movie plays its sound through an nn::audio output stream, which
the SDK builds on the virtual output devices (auddmg:u) and the sysmix sessions
(audsmx:u). Without them it stopped with 2153-1600, then 2153-1604.
- auddmg:u 0 returns the virtual device manager: one stereo 48 kHz device (list,
default, format check, the 0x228-byte property block, state event). The block's
u32 at 0x220 is the device id the SDK hands to CreateStream, which refuses 0.
700/800 attach and detach a stream (OutputStream Start/Stop).
- audsmx:u 0 returns the user session: CreateStream (buffer address and size of the
game's ring) returning a stream object, Engage/Disengage. The stream object takes
the format, gain, prime/purge/clock and the state and data events.
- A 5 ms timer moves the ring's read index (buffer + 0x44) toward the game's write
index (buffer + 0x1004) at the sample rate while a stream is attached, and signals
the data event while the ring has room, so the movie keeps feeding it. The audio is
not mixed into Eden's output yet.
Diffstat (limited to 'src/core/debugger/debugger.cpp')
0 files changed, 0 insertions, 0 deletions
