Line 41: |
Line 41: |
| These four audio channels feed into three intermediate mixers. Two of these intermediate mixers are used for effects and aux. | | These four audio channels feed into three intermediate mixers. Two of these intermediate mixers are used for effects and aux. |
| | | |
− | == Channel Config == | + | == Frame Count == |
| + | |
| + | == Input Config == |
| | | |
| A 192 byte long structure. There are 24 of them. | | A 192 byte long structure. There are 24 of them. |
Line 93: |
Line 95: |
| | 180 | | | 180 |
| | u16 | | | u16 |
− | | bits[0:1]: 1 = mono, 2 = stereo; bits[2:3]: buffer format | + | | bits[0:1]: 1 = mono, 2 = stereo; bits[2:3]: buffer format, bits[5]: fade in |
| |- | | |- |
| | 182 | | | 182 |
| | u16 | | | u16 |
− | | ADPCM predictor | + | | ADPCM predictor/scale |
| |- | | |- |
| | 184 | | | 184 |
| | s16 | | | s16 |
− | | ADPCM yn1 | + | | ADPCM y[n-1] |
| |- | | |- |
| | 186 | | | 186 |
| | s16 | | | s16 |
− | | ADPCM yn2 | + | | ADPCM y[n-2] |
| |- | | |- |
| | 188 | | | 188 |
| | u16 | | | u16 |
− | | bit[0]: Has ADPCM data?; bit[1]: Is looping? | + | | bit[0]: ADPCM updated?; bit[1]: Is looping? |
| |- | | |- |
| | 190 | | | 190 |
Line 134: |
Line 136: |
| | 8 | | | 8 |
| | u16 | | | u16 |
− | | ADPCM P/S | + | | 4 bits: ADPCM Predictor, 4 bits: ADPCM Scale |
| |- | | |- |
| | 10 | | | 10 |
− | | s16[2] | + | | s16 |
− | | ADPCM yn[1,2] | + | | ADPCM y[n-1] |
| + | |- |
| + | | 11 |
| + | | s16 |
| + | | ADPCM y[n-2] |
| |- | | |- |
| | 14 | | | 14 |
| | u8 | | | u8 |
− | | Has ADPCM? | + | | ADPCM dirty? |
| |- | | |- |
| | 15 | | | 15 |
Line 157: |
Line 163: |
| |} | | |} |
| | | |
− | === Simple Filter Configuration === | + | === Simple Filter === |
| | | |
| This is a standard single-pole filter. The fall-off is 6dB per octave as you would expect. | | This is a standard single-pole filter. The fall-off is 6dB per octave as you would expect. |
Line 175: |
Line 181: |
| | a1 | | | a1 |
| |} | | |} |
| + | |
| + | == Input status == |
| + | |
| + | Read only. |
| + | |
| + | == Input ADPCM coefficients == |
| + | |
| + | == DSP configuration == |
| + | |
| + | === Delay Effect === |
| + | |
| + | Delay with feedback. |
| + | |
| + | Length of delay is a multiple of audio frames. There are 160 samples per audioframe. |
| + | |
| + | Feedback arm only has a gain on it. Under the feedback arm is a single-pole filter with the delay. |
| + | |
| + | === Reverb Effect === |
| + | |
| + | == DSP status == |
| + | |
| + | Read only. |
| + | |
| + | == Output samples == |
| + | |
| + | Read only. |
| + | |
| + | PCM16. |
| + | |
| + | == Intermediate mix samples == |
| + | |
| + | Read/Write. |
| + | |
| + | PCM32. Also serves an aux function, allowing the ARM11 to apply custom effects to audio. |
| + | |
| + | == Compressor table == |
| + | |
| + | A precomputed response curve lookup table for the compressor. |