11#include "libspu2_internal.h"
13void SpuGetVoiceADSRAttr(
14 int v_num, u16 *ar, u16 *dr, u16 *sr, u16 *rr, u16 *sl,
int *ar_mode,
int *sr_mode,
int *rr_mode)
20 v9 = &_spu_RXX[512 * _spu_core + 8 * (v_num & 0x1F)];
23 *ar = (v10 >> 8) & 0x3F;
24 *ar_mode = SPU_VOICE_LINEARIncN;
25 if ( (v10 & 0x8000) != 0 )
26 *ar_mode = SPU_VOICE_EXPIncN;
27 *dr = (u8)(v10 & 0xF0) >> 4;
28 *sr = (v11 >> 6) & 0x7F;
29 switch ( v11 & 0xE000 )
32 *sr_mode = SPU_VOICE_EXPDec;
35 *sr_mode = SPU_VOICE_EXPIncN;
38 *sr_mode = SPU_VOICE_LINEARDecN;
41 *sr_mode = SPU_VOICE_LINEARIncN;
45 *rr_mode = SPU_VOICE_LINEARDecN;
46 if ( (v11 & 0x20) != 0 )
47 *rr_mode = SPU_VOICE_EXPDec;