Changes

1,058 bytes added ,  18:58, 23 January 2016
Added Channel Context
Line 84: Line 84:  
| 0x2
 
| 0x2
 
| Frame Counter
 
| Frame Counter
 +
|}
 +
 +
== Channel Config ==
 +
 +
A 192 byte long structure. There are 24 of them.
 +
 +
{| class="wikitable"
 +
|-
 +
| Offset
 +
| Type
 +
| Description
 +
|-
 +
| 0
 +
| u32
 +
| Dirty flags
 +
|-
 +
| 4
 +
| 70 bytes
 +
| TODO
 +
|-
 +
| 74
 +
| u16
 +
| Bitmap of which buffers in queue are valid
 +
|-
 +
| 76
 +
| Buffer[4]
 +
| Buffer queue
 +
|-
 +
| 156
 +
| u32
 +
| -
 +
|-
 +
| 160
 +
| u16
 +
| Is Active
 +
|-
 +
| 162
 +
| u16
 +
| Config Serial Number (Userland)
 +
|-
 +
| 164
 +
| 8
 +
| TODO
 +
|-
 +
| 172
 +
| u32
 +
| Physical address of current buffer
 +
|-
 +
| 176
 +
| u32
 +
| Number of samples in current buffer
 +
|-
 +
| 180
 +
| u16
 +
| bits[0:1]: 1 = mono, 2 = stereo; bits[2:3]: buffer format
 +
|-
 +
| 182
 +
| u16
 +
| ADPCM predictor
 +
|-
 +
| 184
 +
| s16
 +
| ADPCM yn1
 +
|-
 +
| 186
 +
| s16
 +
| ADPCM yn2
 +
|-
 +
| 188
 +
| u16
 +
| bit[0]: Has ADPCM data?; bit[1]: Is looping?
 +
|-
 +
| 190
 +
| u16
 +
| Buffer Id of this current buffer
 +
|}
 +
 +
=== Buffer ===
 +
 +
{| class="wikitable"
 +
|-
 +
| Offset
 +
| Type
 +
| Description
 +
|-
 +
| 0
 +
| u32
 +
| Physical Address
 +
|-
 +
| 4
 +
| u32
 +
| Sample Count
 +
|-
 +
| 8
 +
| u16
 +
| ADPCM P/S
 +
|-
 +
| 10
 +
| s16[2]
 +
| ADPCM yn[1,2]
 +
|-
 +
| 14
 +
| u8
 +
| Has ADPCM?
 +
|-
 +
| 15
 +
| u8
 +
| Looping?
 +
|-
 +
| 16
 +
| u16
 +
| Buffer Id
 +
|-
 +
| 18
 +
| u16
 +
| -
 
|}
 
|}
50

edits