Difference between revisions of "APU"

From xboxdevwiki
Jump to: navigation, search
(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?!)
 
== 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
 
  
 
== 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?!)

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:

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

Related