11#include "libspu2_internal.h"
24 v3 = &_spu_RXX[20 * _spu_core];
28 if ( (v4 & 0x8000) != 0 )
30 switch ( v4 & 0xF000 )
33 v2 = SPU_VOICE_LINEARIncN;
36 v2 = SPU_VOICE_LINEARIncR;
39 v2 = SPU_VOICE_LINEARDecN;
42 v2 = SPU_VOICE_LINEARDecR;
45 v2 = SPU_VOICE_EXPIncN;
48 v2 = SPU_VOICE_EXPIncR;
52 v2 = SPU_VOICE_EXPDec;
59 if ( (v5 & 0x8000) != 0 )
61 switch ( v5 & 0xF000 )
64 v6 = SPU_VOICE_LINEARIncN;
67 v6 = SPU_VOICE_LINEARIncR;
70 v6 = SPU_VOICE_LINEARDecN;
73 v6 = SPU_VOICE_LINEARDecR;
76 v6 = SPU_VOICE_EXPIncN;
79 v6 = SPU_VOICE_EXPIncR;
83 v6 = SPU_VOICE_EXPDec;
93 attr->mvol.left = v4 + 0x8000;
95 attr->mvol.right = v5;
97 attr->mvol.right = v5 + 0x8000;
98 attr->mvolmode.right = v6;
99 attr->mvolmode.left = v2;
100 v11 = &_spu_RXX[20 * _spu_core];
101 attr->mvolx.left = v11[972];
102 attr->mvolx.right = v11[973];
103 attr->cd.volume.left = v11[968];
104 attr->cd.volume.right = v11[969];
105 attr->cd.reverb = (_spu_RXX[512 * _spu_core + 205] & 4) != 0;
106 attr->cd.mix = (_spu_RXX[512 * _spu_core + 205] & 1) != 0;
107 v13 = &_spu_RXX[20 * _spu_core];
108 attr->ext.volume.left = v13[970];
109 attr->ext.volume.right = v13[971];
110 attr->ext.reverb = (_spu_RXX[512 * _spu_core + 205] & 8) != 0;
111 attr->ext.mix = (_spu_RXX[512 * _spu_core + 205] & 2) != 0;