CSND Shared Memory: Difference between revisions

No edit summary
Line 280: Line 280:


This command is used for initializing IMA-ADPCM state(when IMA-ADPCM encoding is used), prior to using command 0xE. [[CSND]] <nowiki>channelslotregister+0x18 = (u16)cmdword[3] | ((cmdword[4] & 0xFF)<<16)</nowiki>. [[CSND]] channelslotregister+0x1C = 0.
This command is used for initializing IMA-ADPCM state(when IMA-ADPCM encoding is used), prior to using command 0xE. [[CSND]] <nowiki>channelslotregister+0x18 = (u16)cmdword[3] | ((cmdword[4] & 0xFF)<<16)</nowiki>. [[CSND]] channelslotregister+0x1C = 0.
=Command 0xC=
{| class="wikitable" border="1"
|-
!  Index Byte
!  Size
!  Description
|-
| 0x2
| 2
| CmdID 0xB
|-
| 0xC
| 2
| User processes set this to: [https://github.com/3dshax/ctr/blob/master/ctrtool/cwav.h cwav_imaadpcminfo.loopdata]
|-
| 0x10
| 1
| User processes set this to: [https://github.com/3dshax/ctr/blob/master/ctrtool/cwav.h cwav_imaadpcminfo.looptableindex]
|-
| 0x11
| 0xF
| Unused, all-zero.
|}
This is used for initializing looping state for IMA-ADPCM encoding. <nowiki>channelslotregister+0x18 = (1<<31) | (u16)cmdword[3] | ((cmdword[4] & 0xFF)<<16)</nowiki>.


=Command 0xE=
=Command 0xE=