sdk-core
v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Toggle main menu visibility
Loading...
Searching...
No Matches
s_svva.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
static
void
__attribute__
((optimize(
"no-unroll-loops"
))) _spu_wait_SpuSetVoiceVolumeAttr(
void
)
14
{
15
int
i;
16
int
v1;
17
18
v1 = 1;
19
for
( i = 0; i < 2; i += 1 )
20
{
21
v1 *= 13;
22
__asm__ __volatile__(
""
:
"+g"
(v1) : :);
23
}
24
}
25
26
void
SpuSetVoiceVolumeAttr(
int
v_num, s16 voll, s16 volr, s16 voll_mode, s16 volr_mode)
27
{
28
s16 v5;
29
s16 v6;
30
int
v7;
31
s16 v8;
32
s16 v9;
33
34
v5 = voll & ~0x8000;
35
v6 = 0;
36
v7 = 8 * v_num;
37
switch
( voll_mode )
38
{
39
case
SPU_VOICE_LINEARIncN:
40
v6 = 0x8000;
41
break
;
42
case
SPU_VOICE_LINEARIncR:
43
v6 = 0x9000;
44
break
;
45
case
SPU_VOICE_LINEARDecN:
46
v6 = 0xA000;
47
break
;
48
case
SPU_VOICE_LINEARDecR:
49
v6 = 0xB000;
50
break
;
51
case
SPU_VOICE_EXPIncN:
52
v6 = 0xC000;
53
break
;
54
case
SPU_VOICE_EXPIncR:
55
v6 = 0xD000;
56
break
;
57
case
SPU_VOICE_EXPDec:
58
v6 = 0xE000;
59
break
;
60
default
:
61
break
;
62
}
63
v8 = volr & ~0x8000;
64
v9 = 0;
65
_spu_RXX[512 * _spu_core + v7] = v5 | v6;
66
switch
( volr_mode )
67
{
68
case
SPU_VOICE_LINEARIncN:
69
v9 = 0x8000;
70
break
;
71
case
SPU_VOICE_LINEARIncR:
72
v9 = 0x9000;
73
break
;
74
case
SPU_VOICE_LINEARDecN:
75
v9 = 0xA000;
76
break
;
77
case
SPU_VOICE_LINEARDecR:
78
v9 = 0xB000;
79
break
;
80
case
SPU_VOICE_EXPIncN:
81
v9 = 0xC000;
82
break
;
83
case
SPU_VOICE_EXPIncR:
84
v9 = 0xD000;
85
break
;
86
case
SPU_VOICE_EXPDec:
87
v9 = 0xE000;
88
break
;
89
default
:
90
break
;
91
}
92
_spu_RXX[512 * _spu_core + 1 + v7] = v8 | v9;
93
_spu_wait_SpuSetVoiceVolumeAttr();
94
}
libspu2_internal.h
__attribute__
Definition
gif_registers.h:40
core
libspu2
src
s_svva.c
Generated by
1.18.0