PS2SDK
PS2 Homebrew Libraries
Loading...
Searching...
No Matches
s_scmva.c
1
/*
2
# _____ ___ ____ ___ ____
3
# ____| | ____| | | |____|
4
# | ___| |____ ___| ____| | \ PS2DEV Open Source Project.
5
#-----------------------------------------------------------------------
6
# Copyright ps2dev - http://www.ps2dev.org
7
# Licenced under Academic Free License version 2.0
8
# Review ps2sdk README & LICENSE files for further details.
9
*/
10
11
#include "libspu2_internal.h"
12
13
void
SpuSetCommonMasterVolumeAttr(s16 mvol_left, s16 mvol_right, s16 mvolmode_left, s16 mvolmode_right)
14
{
15
s16 v4;
16
s16 v5;
17
int
v6;
18
int
v7;
19
20
v4 = mvol_left;
21
v5 = mvol_right;
22
v6 = 0;
23
v7 = 0;
24
switch
( mvolmode_left )
25
{
26
case
SPU_VOICE_LINEARIncN:
27
v6 = 0x8000;
28
break
;
29
case
SPU_VOICE_LINEARIncR:
30
v6 = 0x9000;
31
break
;
32
case
SPU_VOICE_LINEARDecN:
33
v6 = 0xa000;
34
break
;
35
case
SPU_VOICE_LINEARDecR:
36
v6 = 0xb000;
37
break
;
38
case
SPU_VOICE_EXPIncN:
39
v6 = 0xc000;
40
break
;
41
case
SPU_VOICE_EXPIncR:
42
v6 = 0xd000;
43
break
;
44
case
SPU_VOICE_EXPDec:
45
v6 = 0xe000;
46
break
;
47
default
:
48
break
;
49
}
50
if
( v6 )
51
{
52
v4 = 127;
53
if
( mvol_left < 128 )
54
{
55
v4 = mvol_left;
56
if
( mvol_left < 0 )
57
v4 = 0;
58
}
59
}
60
_spu_RXX[20 * _spu_core + 944] = (v4 & ~0x8000) | v6;
61
switch
( mvolmode_right )
62
{
63
case
SPU_VOICE_LINEARIncN:
64
v7 = 0x8000;
65
break
;
66
case
SPU_VOICE_LINEARIncR:
67
v7 = 0x9000;
68
break
;
69
case
SPU_VOICE_LINEARDecN:
70
v7 = 0xa000;
71
break
;
72
case
SPU_VOICE_LINEARDecR:
73
v7 = 0xb000;
74
break
;
75
case
SPU_VOICE_EXPIncN:
76
v7 = 0xc000;
77
break
;
78
case
SPU_VOICE_EXPIncR:
79
v7 = 0xd000;
80
break
;
81
case
SPU_VOICE_EXPDec:
82
v7 = 0xe000;
83
break
;
84
default
:
85
break
;
86
}
87
if
( v7 )
88
{
89
v5 = 127;
90
if
( mvol_right < 128 )
91
{
92
v5 = mvol_right;
93
if
( mvol_right < 0 )
94
v5 = 0;
95
}
96
}
97
_spu_RXX[20 * _spu_core + 945] = (v5 & ~0x8000) | v7;
98
}
iop
sound
libspu2
src
s_scmva.c
Generated on Wed Feb 19 2025 02:05:18 for PS2SDK by
1.12.0