CSND Shared Memory: Difference between revisions
mNo edit summary |
No edit summary |
||
Line 450: | Line 450: | ||
CSND module writes state info(including state from [[CSND]] registers) for each audio channel to shared-memory for this command. | CSND module writes state info(including state from [[CSND]] registers) for each audio channel to shared-memory for this command. | ||
=Offset1= | |||
This section describes the structure of the data located at offset1(from [[CSND:Initialize]]) in shared-memory. This data is updated by command 0x300, and by commands which update the channel physical address registers. The following describes the format of the entries located here. | |||
==Entry Format== | |||
{| class="wikitable" border="1" | |||
|- | |||
! Index Byte | |||
! Size | |||
! Description | |||
|- | |||
| 0x0 | |||
| 1 | |||
| 0 = audio channel is not playing, 1 = audio channel is playing. CSND module sets this field to zero when bit14-bit15 in the channel CNT register are all-zero, otherwise CSND module sets this to value 1. | |||
|- | |||
| 0x1 | |||
| 3 | |||
| Padding | |||
|- | |||
| 0x4 | |||
| 2 | |||
| This is from the low 16-bits from chanregisterslot+0x18(see type0 cmd 0xB). | |||
|- | |||
| 0x6 | |||
| 1 | |||
| Value = (*(chanregisterslot+0x18) & 0x7F0000) >> 16(see type0 cmd 0xB). | |||
|- | |||
| 0x7 | |||
| 1 | |||
| Padding | |||
|- | |||
| 0x8 | |||
| 4 | |||
| This is the physical address from the main physical address channel-slot register. When the audio channel is playing, this is the address of the sample-data that was being played at the time this address was written here by CSND module. | |||
|} |