Difference between revisions of "APU"
From xboxdevwiki
(→Global Processor (GP)) |
(More logical order (VP -> GP -> EP)) |
||
Line 4: | Line 4: | ||
* SGE = Scatter Gather Entry | * SGE = Scatter Gather Entry | ||
* PRD = Physical Resource Descriptor (Same thing as SGE?!) | * PRD = Physical Resource Descriptor (Same thing as SGE?!) | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
== Voice Processor (VP) == | == Voice Processor (VP) == | ||
Line 62: | Line 47: | ||
f = pow2(p / 4096) * 48000 | f = pow2(p / 4096) * 48000 | ||
</pre> | </pre> | ||
+ | |||
+ | == Global Processor (GP) == | ||
+ | |||
+ | The GP runs all enabled sound effects on the voice bins. DirectSound allows to load custom DSP code for these effects. | ||
+ | |||
+ | * GPS = GP Scratch (?) | ||
+ | * GPF = GP FIFO | ||
+ | |||
+ | == Encode Processor (EP) == | ||
+ | |||
+ | The EP encodes the final AC3 stream for SPDIF. {{FIXME|reason=It might do more than just that; what does it do in analog mode for example?}} | ||
+ | It is not used during the [[Boot Animation]]. | ||
+ | |||
+ | * EPS = EP Scratch (?) | ||
+ | * EPF = EP FIFO | ||
== Related == | == Related == |
Revision as of 10:52, 26 June 2017
The MCPX contains an APU (Audio Processing Unit).
- SSL = Stream Segment List
- SGE = Scatter Gather Entry
- PRD = Physical Resource Descriptor (Same thing as SGE?!)
Contents
Voice Processor (VP)
A powerful voice processor. There can be up to 256 voices[citation needed] and 64[citation needed] of those can be 3D.
Per-voice settings:
- Head-related transfer function
- Low-frequency oscillation
- Pitch
- Input type (8bit, 16bit, 24bit, ADPCM)
- Volume envelope
- 8 target bins, each with a custom volume for this voice
There are 32 bins which these voices will be mixed into.
Memory sections
- VPV = VP Voices
- VPHT = VP HRTF Target
- VPHC = VP HRTF Current
- VPSGE = VP SGEs
- VPSSL = VP SSLs
Voice lists
The voices are kept in a single-linked list. There are 3 voice lists:
- 2D
- 3D
- MP (Multipass?)
Voice structure
This is 0x80 bytes
Pitch calculation
The 16 bit signed pitch value (p) can be converted to and from a unsigned frequency in Hz (f) using the following formulas:
p = 4096 * log2(f / 48000) f = pow2(p / 4096) * 48000
Global Processor (GP)
The GP runs all enabled sound effects on the voice bins. DirectSound allows to load custom DSP code for these effects.
- GPS = GP Scratch (?)
- GPF = GP FIFO
Encode Processor (EP)
The EP encodes the final AC3 stream for SPDIF. [FIXME] It is not used during the Boot Animation.
- EPS = EP Scratch (?)
- EPF = EP FIFO