PS2SDK
PS2 Homebrew Libraries
Loading...
Searching...
No Matches
vm_no2.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 "libsnd2_internal.h"
12
13void vmNoiseOn2(u8 vc, u16 voll, u16 volr, u16 arg3, u16 arg4)
14{
15 int vc_mask_tmp1;
16 int vc_mask_tmp2;
17 u16 okon1_tmp;
18 u16 okon2_tmp;
19 libsnd2_spu_voice_t *voice_struct;
20
21 (void)arg3;
22 (void)arg4;
23
24 voice_struct = &_svm_voice[vc];
25 _svm_sreg_buf[vc].m_vol_left = voll;
26 _svm_sreg_buf[vc].m_vol_right = volr;
27 _svm_sreg_dirty[vc] |= 3;
28 if ( vc >= 0x10u )
29 {
30 vc_mask_tmp1 = 0;
31 vc_mask_tmp2 = 1 << (vc - 16);
32 }
33 else
34 {
35 vc_mask_tmp1 = 1 << vc;
36 vc_mask_tmp2 = 0;
37 }
38 voice_struct->m_pitch = 10;
39 voice_struct->m_unk1d = 2;
40 okon1_tmp = _svm_okon1;
41 okon2_tmp = _svm_okon2;
42 voice_struct->m_unk02 = 0;
43 _svm_okon1 = okon1_tmp | vc_mask_tmp1;
44 _svm_okon2 = okon2_tmp | vc_mask_tmp2;
45 _svm_okof1 &= ~(okon1_tmp | vc_mask_tmp1);
46 _svm_okof2 &= ~(okon2_tmp | vc_mask_tmp2);
47 SpuSetNoiseVoice(SPU_ON, ((u8)vc_mask_tmp2 << 16) | (u16)vc_mask_tmp1);
48}