PS2SDK
PS2 Homebrew Libraries
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
s_svrra.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
13static void __attribute__((optimize("no-unroll-loops"))) _spu_wait_SpuSetVoiceRRAttr(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
26void SpuSetVoiceRRAttr(int v_num, u16 rr, int rr_mode)
27{
28 s16 v3;
29 int v4;
30
31 v3 = 0;
32 v4 = 8 * v_num;
33 if ( rr_mode != SPU_VOICE_LINEARDecN )
34 v3 = 32 * (rr_mode == SPU_VOICE_EXPDec);
35 _spu_RXX[512 * _spu_core + 4 + v4] = (_spu_RXX[512 * _spu_core + 4 + v4] & ~0x3f) | rr | v3;
36 _spu_wait_SpuSetVoiceRRAttr();
37}
typedef __attribute__
Definition tlbfunc.c:60