sdk-core
v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Toggle main menu visibility
Loading...
Searching...
No Matches
s_gcmva.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
SpuGetCommonMasterVolumeAttr(s16 *mvol_left, s16 *mvol_right, s16 *mvolmode_left, s16 *mvolmode_right)
14
{
15
s16 v4;
16
const
vu16 *v5;
17
u16 v6;
18
u16 v7;
19
s16 v8;
20
21
v4 = 0;
22
v5 = &_spu_RXX[20 * _spu_core];
23
v6 = v5[944];
24
v7 = v5[945];
25
v8 = 0;
26
if
( (v6 & 0x8000) != 0 )
27
{
28
switch
( v6 & 0xF000 )
29
{
30
case
0x8000:
31
v4 = SPU_VOICE_LINEARIncN;
32
break
;
33
case
0x9000:
34
v4 = SPU_VOICE_LINEARIncR;
35
break
;
36
case
0xa000:
37
v4 = SPU_VOICE_LINEARDecN;
38
break
;
39
case
0xb000:
40
v4 = SPU_VOICE_LINEARDecR;
41
break
;
42
case
0xc000:
43
v4 = SPU_VOICE_EXPIncN;
44
break
;
45
case
0xd000:
46
v4 = SPU_VOICE_EXPIncR;
47
break
;
48
case
0xe000:
49
case
0xf000:
50
v4 = SPU_VOICE_EXPDec;
51
break
;
52
default
:
53
break
;
54
}
55
v6 &= ~0xF000;
56
}
57
v8 = 0;
58
if
( (v7 & 0x8000) != 0 )
59
{
60
switch
( v7 & 0xF000 )
61
{
62
case
0x8000:
63
v8 = SPU_VOICE_LINEARIncN;
64
break
;
65
case
0x9000:
66
v8 = SPU_VOICE_LINEARIncR;
67
break
;
68
case
0xa000:
69
v8 = SPU_VOICE_LINEARDecN;
70
break
;
71
case
0xb000:
72
v8 = SPU_VOICE_LINEARDecR;
73
break
;
74
case
0xc000:
75
v8 = SPU_VOICE_EXPIncN;
76
break
;
77
case
0xd000:
78
v8 = SPU_VOICE_EXPIncR;
79
break
;
80
case
0xe000:
81
case
0xf000:
82
v8 = SPU_VOICE_EXPDec;
83
break
;
84
default
:
85
break
;
86
}
87
v7 &= ~0xF000;
88
}
89
*mvolmode_left = v4;
90
*mvolmode_right = v8;
91
if
( v6 < 0x4000u )
92
*mvol_left = v6;
93
else
94
*mvol_left = v6 + 0x8000;
95
if
( v7 < 0x4000u )
96
*mvol_right = v7;
97
else
98
*mvol_right = v7 + 0x8000;
99
}
libspu2_internal.h
core
libspu2
src
s_gcmva.c
Generated by
1.18.0