CSND Shared Memory: Difference between revisions
No edit summary |
No edit summary |
||
Line 120: | Line 120: | ||
|} | |} | ||
This sets the address and size of the second block of an audio channel. The CSND module writes these fields to the channel [[CSND|register]] for the physical address of the second block and the register for the block size | This sets the address and size of the second block of an audio channel. The CSND module writes these fields to the channel [[CSND|register]] for the physical address of the second block and the register for the block size. | ||
==Command 0x4== | ==Command 0x4== | ||
Line 268: | Line 268: | ||
| 0xC | | 0xC | ||
| 4 | | 4 | ||
| Physical address of the | | Physical address of the first block of audio data | ||
|- | |- | ||
| 0x10 | | 0x10 | ||
Line 279: | Line 279: | ||
|} | |} | ||
This sets the address and size of the first block of an audio channel. The CSND module writes these fields to the channel [[CSND|register]] for the physical address of the first block and the register for the block size | This sets the address and size of the first block of an audio channel. The CSND module writes these fields to the channel [[CSND|register]] for the physical address of the first block and the register for the block size. | ||
==Command 0xB== | ==Command 0xB== | ||
Line 369: | Line 369: | ||
| 0x1C | | 0x1C | ||
| 4 | | 4 | ||
| Total byte-size | | Total byte-size of one block. | ||
|} | |} | ||
This initializes the [[CSND]] channel registers located at: 0x1EC03400 + (channel_index*0x20). It is unknown if stereo samples are supported. When looping is disabled, the hardware plays the first block and then stops. When looping is enabled, the hardware plays | This initializes the [[CSND]] channel registers located at: 0x1EC03400 + (channel_index*0x20). It is unknown if stereo samples are supported. When looping is disabled, the hardware plays the first block and then stops. When looping is enabled, the hardware plays the first block once and then repeats the second forever. Before playing a block, the hardware reads the corresponding address register in order to know where it is located. The block size is either read only once at the beginning or before each block (this is controlled by bit11 of word 0x8). | ||
===Parameter word 0x8=== | ===Parameter word 0x8=== | ||
Line 393: | Line 393: | ||
|- | |- | ||
| 11 | | 11 | ||
| 0 = | | 0 = read the block size only once, 1 = read the block size before each block. | ||
|- | |- | ||
| 13-12 | | 13-12 |