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.
|}