diff options
Diffstat (limited to 'arm7/lib/src/SND_global.c')
-rw-r--r-- | arm7/lib/src/SND_global.c | 30 |
1 files changed, 20 insertions, 10 deletions
diff --git a/arm7/lib/src/SND_global.c b/arm7/lib/src/SND_global.c index 0654934f..c78fcd5f 100644 --- a/arm7/lib/src/SND_global.c +++ b/arm7/lib/src/SND_global.c @@ -8,18 +8,22 @@ #include "registers.h" #include "syscall.h" -void SND_Enable(void) { +void SND_Enable(void) +{ reg_SOUNDCNT_MIX |= 0x80; } -void SND_Disable(void) { +void SND_Disable(void) +{ reg_SOUNDCNT_MIX &= ~0x80; } -void SND_Shutdown(void) { +void SND_Shutdown(void) +{ SND_Disable(); - for (int i = 0; i < SND_CHANNEL_COUNT; i++) { + for (int i = 0; i < SND_CHANNEL_COUNT; i++) + { SND_StopChannel(i, 1); } @@ -27,7 +31,8 @@ void SND_Shutdown(void) { reg_SNDCAPxCNT(1) = 0; } -void SND_BeginSleep(void) { +void SND_BeginSleep(void) +{ SND_Disable(); SVC_SoundBiasReset(0x80); OS_SpinWait(0x40000); @@ -35,19 +40,24 @@ void SND_BeginSleep(void) { reg_POWCNT2 &= ~1; } -void SND_EndSleep(void) { - reg_POWCNT2 |= 1; // enable speakers +void SND_EndSleep(void) +{ + reg_POWCNT2 |= 1; // enable speakers PMi_SetControl(1); SVC_SoundBiasSet(0x100); OS_SpinWait(0x7AB80); // what does this wait for and how long does it wait? SND_Enable(); } -void SND_SetMasterVolume(int vol) { +void SND_SetMasterVolume(int vol) +{ reg_SOUNDCNT_VOL = (u8)vol; } -void SND_SetOutputSelector(int leftOutputFrom, int rightOutputFrom, int outputCh1ToMixer, int outputCh3ToMixer) { +void SND_SetOutputSelector( + int leftOutputFrom, int rightOutputFrom, int outputCh1ToMixer, int outputCh3ToMixer) +{ int masterEnable = (reg_SOUNDCNT_MIX & 0x80) ? 1 : 0; - reg_SOUNDCNT_MIX = (u8)((masterEnable << 7) | (outputCh3ToMixer << 5) | (outputCh1ToMixer << 4) | (rightOutputFrom << 2) | (leftOutputFrom)); + reg_SOUNDCNT_MIX = (u8)((masterEnable << 7) | (outputCh3ToMixer << 5) | + (outputCh1ToMixer << 4) | (rightOutputFrom << 2) | (leftOutputFrom)); } |