From eb13294661514e27b3b89e26b7a4401cc93feb93 Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Fri, 25 Jun 2021 23:43:40 +0200 Subject: decompile SND_alarm and SND_work --- arm7/lib/include/SND_exChannel.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'arm7/lib/include/SND_exChannel.h') diff --git a/arm7/lib/include/SND_exChannel.h b/arm7/lib/include/SND_exChannel.h index 05fbe3d7..b9545435 100644 --- a/arm7/lib/include/SND_exChannel.h +++ b/arm7/lib/include/SND_exChannel.h @@ -3,6 +3,6 @@ #include "global.h" -bool SND_IsChannelActive(u32 idx); +BOOL SND_IsChannelActive(s32 idx); -#endif //GUARD_SND_EXCHANNEL_H \ No newline at end of file +#endif //GUARD_SND_EXCHANNEL_H -- cgit v1.2.3 From beb52cb6569ea02d7bcb4bf33c3c18224d3c8c78 Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Sat, 26 Jun 2021 16:44:34 +0200 Subject: arm7: decompile SND_main --- arm7/lib/include/SND_exChannel.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'arm7/lib/include/SND_exChannel.h') diff --git a/arm7/lib/include/SND_exChannel.h b/arm7/lib/include/SND_exChannel.h index b9545435..976d2786 100644 --- a/arm7/lib/include/SND_exChannel.h +++ b/arm7/lib/include/SND_exChannel.h @@ -1,8 +1,11 @@ #ifndef GUARD_SND_EXCHANNEL_H #define GUARD_SND_EXCHANNEL_H -#include "global.h" +#include "nitro/types.h" +void SND_ExChannelInit(void); BOOL SND_IsChannelActive(s32 idx); +void SND_UpdateExChannel(void); +void SND_ExChannelMain(BOOL update); #endif //GUARD_SND_EXCHANNEL_H -- cgit v1.2.3 From f9aae26dd2155d78f111907f47feb0ec5be9f30c Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Sun, 27 Jun 2021 00:04:45 +0200 Subject: arm7: decompile SND_lockChannel --- arm7/lib/include/SND_exChannel.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'arm7/lib/include/SND_exChannel.h') diff --git a/arm7/lib/include/SND_exChannel.h b/arm7/lib/include/SND_exChannel.h index 976d2786..8450a629 100644 --- a/arm7/lib/include/SND_exChannel.h +++ b/arm7/lib/include/SND_exChannel.h @@ -3,9 +3,12 @@ #include "nitro/types.h" +#include "nitro/SND_main_shared.h" + void SND_ExChannelInit(void); BOOL SND_IsChannelActive(s32 idx); void SND_UpdateExChannel(void); void SND_ExChannelMain(BOOL update); +void SND_FreeExChannel(struct SNDExChannel *chn); #endif //GUARD_SND_EXCHANNEL_H -- cgit v1.2.3 From d049ab8b4a071b7718461dc8b513f34466fec931 Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Wed, 30 Jun 2021 19:03:31 +0200 Subject: add some more sound header stuff --- arm7/lib/include/SND_exChannel.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'arm7/lib/include/SND_exChannel.h') diff --git a/arm7/lib/include/SND_exChannel.h b/arm7/lib/include/SND_exChannel.h index 8450a629..cc07d34f 100644 --- a/arm7/lib/include/SND_exChannel.h +++ b/arm7/lib/include/SND_exChannel.h @@ -11,4 +11,6 @@ void SND_UpdateExChannel(void); void SND_ExChannelMain(BOOL update); void SND_FreeExChannel(struct SNDExChannel *chn); +typedef void (*SNDExChannelCallback)(struct SNDExChannel *chn, s32 status, void *userData); + #endif //GUARD_SND_EXCHANNEL_H -- cgit v1.2.3 From 45bbe700e7686ab96b7fc805ea2ea6d024f6077f Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Thu, 1 Jul 2021 00:09:40 +0200 Subject: arm7: decompile SND_exChannel --- arm7/lib/include/SND_exChannel.h | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) (limited to 'arm7/lib/include/SND_exChannel.h') diff --git a/arm7/lib/include/SND_exChannel.h b/arm7/lib/include/SND_exChannel.h index cc07d34f..dfd93f21 100644 --- a/arm7/lib/include/SND_exChannel.h +++ b/arm7/lib/include/SND_exChannel.h @@ -3,14 +3,33 @@ #include "nitro/types.h" +#include "nitro/SND_exChannel_shared.h" #include "nitro/SND_main_shared.h" +typedef void (*SNDExChannelCallback)(struct SNDExChannel *chn, s32 status, void *userData); + void SND_ExChannelInit(void); -BOOL SND_IsChannelActive(s32 idx); void SND_UpdateExChannel(void); -void SND_ExChannelMain(BOOL update); +void SND_ExChannelMain(BOOL step); +BOOL SND_StartExChannelPcm(struct SNDExChannel *chn, const struct SNDWaveParam *wave, const void *data, s32 length); +BOOL SND_StartExChannelPsg(struct SNDExChannel *chn, s32 duty, s32 length); +BOOL SND_StartExChannelNoise(struct SNDExChannel *chn, s32 length); +s32 SND_UpdateExChannelEnvelope(struct SNDExChannel *chn, BOOL step); +void SND_SetExChannelAttack(struct SNDExChannel *chn, s32 attack); +void SND_SetExChannelDecay(struct SNDExChannel *chn, s32 decay); +void SND_SetExChannelSustain(struct SNDExChannel *chn, s32 sustain); +void SND_SetExChannelRelease(struct SNDExChannel *chn, s32 release); +void SND_ReleaseExChannel(struct SNDExChannel *chn); +BOOL SND_IsExChannelActive(struct SNDExChannel *chn); +struct SNDExChannel *SND_AllocExChannel(u32 channelMask, int priority, u32 flags, SNDExChannelCallback callback, void *callbackUserData); void SND_FreeExChannel(struct SNDExChannel *chn); +BOOL SND_IsChannelActive(s32 idx); -typedef void (*SNDExChannelCallback)(struct SNDExChannel *chn, s32 status, void *userData); +// TODO internal functions, move these so exChannel +s32 ExChannelSweepUpdate(struct SNDExChannel *chn, BOOL step); +s32 ExChannelLfoUpdate(struct SNDExChannel *chn, BOOL step); +void ExChannelStart(struct SNDExChannel *chn, s32); +s32 ExChannelVolumeCmp(struct SNDExChannel *chn_a, struct SNDExChannel *chn_b); +void ExChannelSetup(struct SNDExChannel *, SNDExChannelCallback callback, void *callbackUserData, s32 priority); #endif //GUARD_SND_EXCHANNEL_H -- cgit v1.2.3 From 6fda29badc3e915d019ab6f6c1cddc19d18614b2 Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Wed, 7 Jul 2021 02:27:19 +0200 Subject: arm7: decompile SND_channel --- arm7/lib/include/SND_exChannel.h | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'arm7/lib/include/SND_exChannel.h') diff --git a/arm7/lib/include/SND_exChannel.h b/arm7/lib/include/SND_exChannel.h index dfd93f21..fcc3a548 100644 --- a/arm7/lib/include/SND_exChannel.h +++ b/arm7/lib/include/SND_exChannel.h @@ -6,8 +6,6 @@ #include "nitro/SND_exChannel_shared.h" #include "nitro/SND_main_shared.h" -typedef void (*SNDExChannelCallback)(struct SNDExChannel *chn, s32 status, void *userData); - void SND_ExChannelInit(void); void SND_UpdateExChannel(void); void SND_ExChannelMain(BOOL step); @@ -26,10 +24,10 @@ void SND_FreeExChannel(struct SNDExChannel *chn); BOOL SND_IsChannelActive(s32 idx); // TODO internal functions, move these so exChannel -s32 ExChannelSweepUpdate(struct SNDExChannel *chn, BOOL step); -s32 ExChannelLfoUpdate(struct SNDExChannel *chn, BOOL step); -void ExChannelStart(struct SNDExChannel *chn, s32); -s32 ExChannelVolumeCmp(struct SNDExChannel *chn_a, struct SNDExChannel *chn_b); -void ExChannelSetup(struct SNDExChannel *, SNDExChannelCallback callback, void *callbackUserData, s32 priority); +int ExChannelSweepUpdate(struct SNDExChannel *chn, BOOL step); +int ExChannelLfoUpdate(struct SNDExChannel *chn, BOOL step); +void ExChannelStart(struct SNDExChannel *chn, int length); +int ExChannelVolumeCmp(struct SNDExChannel *chn_a, struct SNDExChannel *chn_b); +void ExChannelSetup(struct SNDExChannel *, SNDExChannelCallback callback, void *callbackUserData, int priority); #endif //GUARD_SND_EXCHANNEL_H -- cgit v1.2.3 From 4fbf785bbdfee9be474724caf8b804b0544d0f79 Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Thu, 8 Jul 2021 15:28:40 +0200 Subject: arm7: decompile SND_command --- arm7/lib/include/SND_exChannel.h | 1 + 1 file changed, 1 insertion(+) (limited to 'arm7/lib/include/SND_exChannel.h') diff --git a/arm7/lib/include/SND_exChannel.h b/arm7/lib/include/SND_exChannel.h index fcc3a548..038a1a49 100644 --- a/arm7/lib/include/SND_exChannel.h +++ b/arm7/lib/include/SND_exChannel.h @@ -22,6 +22,7 @@ BOOL SND_IsExChannelActive(struct SNDExChannel *chn); struct SNDExChannel *SND_AllocExChannel(u32 channelMask, int priority, u32 flags, SNDExChannelCallback callback, void *callbackUserData); void SND_FreeExChannel(struct SNDExChannel *chn); BOOL SND_IsChannelActive(s32 idx); +void SND_InvalidateWave(const void *start, const void *end); // TODO internal functions, move these so exChannel int ExChannelSweepUpdate(struct SNDExChannel *chn, BOOL step); -- cgit v1.2.3 From 0da1dc3cb5db999b5035c28858134ba6fbcc661c Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Fri, 9 Jul 2021 18:19:29 +0200 Subject: arm7: decompile SND --- arm7/lib/include/SND_exChannel.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'arm7/lib/include/SND_exChannel.h') diff --git a/arm7/lib/include/SND_exChannel.h b/arm7/lib/include/SND_exChannel.h index 038a1a49..66a1d78f 100644 --- a/arm7/lib/include/SND_exChannel.h +++ b/arm7/lib/include/SND_exChannel.h @@ -21,7 +21,7 @@ void SND_ReleaseExChannel(struct SNDExChannel *chn); BOOL SND_IsExChannelActive(struct SNDExChannel *chn); struct SNDExChannel *SND_AllocExChannel(u32 channelMask, int priority, u32 flags, SNDExChannelCallback callback, void *callbackUserData); void SND_FreeExChannel(struct SNDExChannel *chn); -BOOL SND_IsChannelActive(s32 idx); +BOOL SND_IsChannelActive(int idx); void SND_InvalidateWave(const void *start, const void *end); // TODO internal functions, move these so exChannel -- cgit v1.2.3 From 72f92a37748688de99ad007f3d221853c394f203 Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Sun, 1 Aug 2021 03:09:03 +0200 Subject: arm7: merge SND_lockChannel into SND_exChannel --- arm7/lib/include/SND_exChannel.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'arm7/lib/include/SND_exChannel.h') diff --git a/arm7/lib/include/SND_exChannel.h b/arm7/lib/include/SND_exChannel.h index 66a1d78f..9ebedc76 100644 --- a/arm7/lib/include/SND_exChannel.h +++ b/arm7/lib/include/SND_exChannel.h @@ -31,4 +31,9 @@ void ExChannelStart(struct SNDExChannel *chn, int length); int ExChannelVolumeCmp(struct SNDExChannel *chn_a, struct SNDExChannel *chn_b); void ExChannelSetup(struct SNDExChannel *, SNDExChannelCallback callback, void *callbackUserData, int priority); +void SND_StopUnlockedChannel(u32 channelMask, u32 weak); +void SND_LockChannel(u32 channelMask, u32 weak); +void SND_UnlockChannel(u32 channelMask, u32 weak); +u32 SND_GetLockedChannel(u32 weak); + #endif //GUARD_SND_EXCHANNEL_H -- cgit v1.2.3 From 9a42ad73f93adceb0c39067906e0639c8f56aa31 Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Sun, 1 Aug 2021 11:57:01 +0200 Subject: arm7: merge SND_wave into SND_exChannel --- arm7/lib/include/SND_exChannel.h | 2 ++ 1 file changed, 2 insertions(+) (limited to 'arm7/lib/include/SND_exChannel.h') diff --git a/arm7/lib/include/SND_exChannel.h b/arm7/lib/include/SND_exChannel.h index 9ebedc76..6bc4ab29 100644 --- a/arm7/lib/include/SND_exChannel.h +++ b/arm7/lib/include/SND_exChannel.h @@ -36,4 +36,6 @@ void SND_LockChannel(u32 channelMask, u32 weak); void SND_UnlockChannel(u32 channelMask, u32 weak); u32 SND_GetLockedChannel(u32 weak); +void SND_InvalidateWave(const void *begin, const void *end); + #endif //GUARD_SND_EXCHANNEL_H -- cgit v1.2.3 From 5adc7017a33cf6d55cf76d95a72fc6f5d879bcc3 Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Sun, 1 Aug 2021 12:00:10 +0200 Subject: arm7: merge SND_lfo into SND_exChannel --- arm7/lib/include/SND_exChannel.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'arm7/lib/include/SND_exChannel.h') diff --git a/arm7/lib/include/SND_exChannel.h b/arm7/lib/include/SND_exChannel.h index 6bc4ab29..03fd4b41 100644 --- a/arm7/lib/include/SND_exChannel.h +++ b/arm7/lib/include/SND_exChannel.h @@ -38,4 +38,9 @@ u32 SND_GetLockedChannel(u32 weak); void SND_InvalidateWave(const void *begin, const void *end); +void SND_InitLfoParam(struct SNDLfoParam *lfoParam); +void SND_StartLfo(struct SNDLfo *lfo); +void SND_UpdateLfo(struct SNDLfo *lfo); +int SND_GetLfoValue(struct SNDLfo *lfo); + #endif //GUARD_SND_EXCHANNEL_H -- cgit v1.2.3 From 94657eec81f491a4d5925b2965bb1ea0d635705e Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Sun, 1 Aug 2021 12:07:49 +0200 Subject: arm7: merge SND_channel into SND_exChannel --- arm7/lib/include/SND_exChannel.h | 42 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) (limited to 'arm7/lib/include/SND_exChannel.h') diff --git a/arm7/lib/include/SND_exChannel.h b/arm7/lib/include/SND_exChannel.h index 03fd4b41..a2d19971 100644 --- a/arm7/lib/include/SND_exChannel.h +++ b/arm7/lib/include/SND_exChannel.h @@ -42,5 +42,47 @@ void SND_InitLfoParam(struct SNDLfoParam *lfoParam); void SND_StartLfo(struct SNDLfo *lfo); void SND_UpdateLfo(struct SNDLfo *lfo); int SND_GetLfoValue(struct SNDLfo *lfo); +void SNDi_SetSurroundDecay(int decay); + +void SND_SetupChannelPcm( + int chnIdx, + const void *data, + int format, + int loop, + int loopStart, + int loopLen, + int volume, + int volumeDiv, + int timer, + int pan +); + +void SND_SetupChannelPsg( + int chnIdx, + int waveDuty, + int volume, + int volumeDiv, + int timer, + int pan +); + +void SND_SetupChannelNoise( + int chnIdx, + int volume, + int volumeDiv, + int timer, + int pan +); + +void SND_StopChannel(int chnIdx, int hold); + +void SND_SetChannelVolume(int chnIdx, int volume, int volumeDiv); +void SND_SetChannelPan(int chnIdx, int pan); +void SND_SetChannelTimer(int chnIdx, int timer); + +u32 SND_GetChannelControl(int idx); + +// TODO move this function to SND_exChannel.c +u16 CalcDecayCoeff(int value); #endif //GUARD_SND_EXCHANNEL_H -- cgit v1.2.3 From 07509f83f91c412f9150c52b4467429ac46eefe2 Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Sun, 1 Aug 2021 12:39:24 +0200 Subject: arm7: split SND into SND_global and SND_channel --- arm7/lib/include/SND_exChannel.h | 43 ---------------------------------------- 1 file changed, 43 deletions(-) (limited to 'arm7/lib/include/SND_exChannel.h') diff --git a/arm7/lib/include/SND_exChannel.h b/arm7/lib/include/SND_exChannel.h index a2d19971..99f8de21 100644 --- a/arm7/lib/include/SND_exChannel.h +++ b/arm7/lib/include/SND_exChannel.h @@ -21,7 +21,6 @@ void SND_ReleaseExChannel(struct SNDExChannel *chn); BOOL SND_IsExChannelActive(struct SNDExChannel *chn); struct SNDExChannel *SND_AllocExChannel(u32 channelMask, int priority, u32 flags, SNDExChannelCallback callback, void *callbackUserData); void SND_FreeExChannel(struct SNDExChannel *chn); -BOOL SND_IsChannelActive(int idx); void SND_InvalidateWave(const void *start, const void *end); // TODO internal functions, move these so exChannel @@ -42,47 +41,5 @@ void SND_InitLfoParam(struct SNDLfoParam *lfoParam); void SND_StartLfo(struct SNDLfo *lfo); void SND_UpdateLfo(struct SNDLfo *lfo); int SND_GetLfoValue(struct SNDLfo *lfo); -void SNDi_SetSurroundDecay(int decay); - -void SND_SetupChannelPcm( - int chnIdx, - const void *data, - int format, - int loop, - int loopStart, - int loopLen, - int volume, - int volumeDiv, - int timer, - int pan -); - -void SND_SetupChannelPsg( - int chnIdx, - int waveDuty, - int volume, - int volumeDiv, - int timer, - int pan -); - -void SND_SetupChannelNoise( - int chnIdx, - int volume, - int volumeDiv, - int timer, - int pan -); - -void SND_StopChannel(int chnIdx, int hold); - -void SND_SetChannelVolume(int chnIdx, int volume, int volumeDiv); -void SND_SetChannelPan(int chnIdx, int pan); -void SND_SetChannelTimer(int chnIdx, int timer); - -u32 SND_GetChannelControl(int idx); - -// TODO move this function to SND_exChannel.c -u16 CalcDecayCoeff(int value); #endif //GUARD_SND_EXCHANNEL_H -- cgit v1.2.3 From 17bd4c9973fff575355a8c35532f37d7c05dbf60 Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Sun, 1 Aug 2021 12:41:55 +0200 Subject: arm7: make more SND_exChannel functions static --- arm7/lib/include/SND_exChannel.h | 7 ------- 1 file changed, 7 deletions(-) (limited to 'arm7/lib/include/SND_exChannel.h') diff --git a/arm7/lib/include/SND_exChannel.h b/arm7/lib/include/SND_exChannel.h index 99f8de21..2d9a5a8c 100644 --- a/arm7/lib/include/SND_exChannel.h +++ b/arm7/lib/include/SND_exChannel.h @@ -23,13 +23,6 @@ struct SNDExChannel *SND_AllocExChannel(u32 channelMask, int priority, u32 flags void SND_FreeExChannel(struct SNDExChannel *chn); void SND_InvalidateWave(const void *start, const void *end); -// TODO internal functions, move these so exChannel -int ExChannelSweepUpdate(struct SNDExChannel *chn, BOOL step); -int ExChannelLfoUpdate(struct SNDExChannel *chn, BOOL step); -void ExChannelStart(struct SNDExChannel *chn, int length); -int ExChannelVolumeCmp(struct SNDExChannel *chn_a, struct SNDExChannel *chn_b); -void ExChannelSetup(struct SNDExChannel *, SNDExChannelCallback callback, void *callbackUserData, int priority); - void SND_StopUnlockedChannel(u32 channelMask, u32 weak); void SND_LockChannel(u32 channelMask, u32 weak); void SND_UnlockChannel(u32 channelMask, u32 weak); -- cgit v1.2.3 From d72270d4bd4c3160f98812de51cfb76fb6b47295 Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Tue, 3 Aug 2021 18:44:55 +0200 Subject: arm7: run clang-format on SND_* --- arm7/lib/include/SND_exChannel.h | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'arm7/lib/include/SND_exChannel.h') diff --git a/arm7/lib/include/SND_exChannel.h b/arm7/lib/include/SND_exChannel.h index 2d9a5a8c..6e89cb72 100644 --- a/arm7/lib/include/SND_exChannel.h +++ b/arm7/lib/include/SND_exChannel.h @@ -9,7 +9,8 @@ void SND_ExChannelInit(void); void SND_UpdateExChannel(void); void SND_ExChannelMain(BOOL step); -BOOL SND_StartExChannelPcm(struct SNDExChannel *chn, const struct SNDWaveParam *wave, const void *data, s32 length); +BOOL SND_StartExChannelPcm( + struct SNDExChannel *chn, const struct SNDWaveParam *wave, const void *data, s32 length); BOOL SND_StartExChannelPsg(struct SNDExChannel *chn, s32 duty, s32 length); BOOL SND_StartExChannelNoise(struct SNDExChannel *chn, s32 length); s32 SND_UpdateExChannelEnvelope(struct SNDExChannel *chn, BOOL step); @@ -19,7 +20,11 @@ void SND_SetExChannelSustain(struct SNDExChannel *chn, s32 sustain); void SND_SetExChannelRelease(struct SNDExChannel *chn, s32 release); void SND_ReleaseExChannel(struct SNDExChannel *chn); BOOL SND_IsExChannelActive(struct SNDExChannel *chn); -struct SNDExChannel *SND_AllocExChannel(u32 channelMask, int priority, u32 flags, SNDExChannelCallback callback, void *callbackUserData); +struct SNDExChannel *SND_AllocExChannel(u32 channelMask, + int priority, + u32 flags, + SNDExChannelCallback callback, + void *callbackUserData); void SND_FreeExChannel(struct SNDExChannel *chn); void SND_InvalidateWave(const void *start, const void *end); @@ -35,4 +40,4 @@ void SND_StartLfo(struct SNDLfo *lfo); void SND_UpdateLfo(struct SNDLfo *lfo); int SND_GetLfoValue(struct SNDLfo *lfo); -#endif //GUARD_SND_EXCHANNEL_H +#endif // GUARD_SND_EXCHANNEL_H -- cgit v1.2.3