PS2SDK
PS2 Homebrew Libraries
Loading...
Searching...
No Matches
sr_gaks.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
13int SpuRGetAllKeysStatus(int min_, int max_, char *status)
14{
15 int voice;
16
17 if ( min_ < 0 )
18 {
19 min_ = 0;
20 }
21 if ( min_ < 0 || min_ >= 24 )
22 return SPU_INVALID_ARGS;
23 if ( max_ >= 24 )
24 max_ = 23;
25 if ( max_ < 0 )
26 return SPU_INVALID_ARGS;
27 if ( max_ < min_ )
28 return SPU_INVALID_ARGS;
29 for ( voice = min_; voice < (max_ + 1); voice += 1 )
30 {
31 const vu16 *v9;
32
33 v9 = &_spu_RXX[512 * _spu_core + 8 * voice];
34 if ( (_spu_keystat[_spu_core] & (1 << voice)) != 0 )
35 {
36 if ( v9[5] )
37 {
38 status[voice] = SPU_ON;
39 }
40 else
41 {
42 status[voice] = SPU_ON_ENV_OFF;
43 }
44 }
45 else
46 {
47 if ( v9[5] )
48 {
49 status[voice] = SPU_OFF_ENV_ON;
50 }
51 else
52 {
53 status[voice] = SPU_OFF;
54 }
55 }
56 }
57 return SPU_SUCCESS;
58}
59
60void SpuGetAllKeysStatus(char *status)
61{
62 SpuRGetAllKeysStatus(0, 23, status);
63}