From 4195577deb16293f0e0cb93fe9a6da80cc0c97eb Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Wed, 23 Jun 2021 13:20:51 +0200 Subject: arm7: add OS_CancelAlarm declaration --- arm7/lib/include/OS_alarm.h | 1 + 1 file changed, 1 insertion(+) (limited to 'arm7/lib/include') diff --git a/arm7/lib/include/OS_alarm.h b/arm7/lib/include/OS_alarm.h index a4566348..ad14eaff 100644 --- a/arm7/lib/include/OS_alarm.h +++ b/arm7/lib/include/OS_alarm.h @@ -5,6 +5,7 @@ #include "nitro/OS_alarm_shared.h" void OS_CreateAlarm(OSAlarm *alarm); +void OS_CancelAlarm(OSAlarm *alarm); BOOL OS_IsAlarmAvailable(void); void OS_SetAlarm(OSAlarm *alarm, OSTick tick, OSAlarmHandler handler, void *arg); void OS_SetPeriodicAlarm(OSAlarm *alarm, OSTick start, OSTick period, OSAlarmHandler handler, void *arg); -- cgit v1.2.3 From 69200d83f7bf3c189e226f3561cef3a6ee7ee6ce Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Fri, 25 Jun 2021 15:01:22 +0200 Subject: move PXI function declarations from OS_reset to their respective headers --- arm7/lib/include/PXI_fifo.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'arm7/lib/include') diff --git a/arm7/lib/include/PXI_fifo.h b/arm7/lib/include/PXI_fifo.h index 6d634f72..27f6b005 100644 --- a/arm7/lib/include/PXI_fifo.h +++ b/arm7/lib/include/PXI_fifo.h @@ -3,4 +3,7 @@ #include "nitro/PXI_fifo_shared.h" +s32 PXI_SendWordByFifo(s32 fifotag, u32 data, BOOL err); +void PXI_SetFifoRecvCallback(s32 fifotag, PXIFifoCallback callback); + #endif //POKEDIAMOND_ARM7_PXI_FIFO_H -- cgit v1.2.3 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_alarm.h | 12 ++++++------ arm7/lib/include/SND_capture.h | 6 ++++++ arm7/lib/include/SND_exChannel.h | 4 ++-- arm7/lib/include/SND_work.h | 11 ++++++++++- 4 files changed, 24 insertions(+), 9 deletions(-) create mode 100644 arm7/lib/include/SND_capture.h (limited to 'arm7/lib/include') diff --git a/arm7/lib/include/SND_alarm.h b/arm7/lib/include/SND_alarm.h index 195b90bb..1eca6fe8 100644 --- a/arm7/lib/include/SND_alarm.h +++ b/arm7/lib/include/SND_alarm.h @@ -2,11 +2,11 @@ #define GUARD_SND_ALARM_H #include "global.h" -#include "SND_alarm_shared.h" +#include "nitro/SND_alarm_shared.h" -void SND_StopAlarm(u32 idx); -void SND_StartAlarm(u32 idx); -void SND_SetupAlarm(); -void SND_AlarmInit(); +void SND_AlarmInit(void); +void SND_SetupAlarm(s32 idx, OSTick tick, OSTick period, u32 id); +void SND_StartAlarm(s32 idx); +void SND_StopAlarm(s32 idx); -#endif //GUARD_SND_ALARM_H \ No newline at end of file +#endif //GUARD_SND_ALARM_H diff --git a/arm7/lib/include/SND_capture.h b/arm7/lib/include/SND_capture.h new file mode 100644 index 00000000..78a09efa --- /dev/null +++ b/arm7/lib/include/SND_capture.h @@ -0,0 +1,6 @@ +#ifndef GUARD_SND_CAPTURE_H +#define GUARD_SND_CAPTURE_H + +BOOL SND_IsCaptureActive(s32 idx); + +#endif //GUARD_SND_CAPTURE_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 diff --git a/arm7/lib/include/SND_work.h b/arm7/lib/include/SND_work.h index 9b834c6c..49933fc7 100644 --- a/arm7/lib/include/SND_work.h +++ b/arm7/lib/include/SND_work.h @@ -1,4 +1,13 @@ #ifndef GUARD_SND_WORK_H #define GUARD_SND_WORK_H -#endif //GUARD_SND_WORK_H \ No newline at end of file +#include "nitro/SND_work_shared.h" + +extern struct SNDWork SNDi_Work; +extern struct SNDSharedWork *SNDi_SharedWork; + +void SND_SetPlayerLocalVariable(u32 player, u32 var, s16 value); +void SND_SetPlayerGlobalVariable(u32 var, s16 value); +void SND_UpdateSharedWork(void); + +#endif //GUARD_SND_WORK_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.h | 10 ++++++++++ arm7/lib/include/SND_command.h | 7 +++++++ arm7/lib/include/SND_exChannel.h | 5 ++++- arm7/lib/include/SND_main.h | 16 ++++++++++++++++ arm7/lib/include/SND_seq.h | 7 +++++++ arm7/lib/include/SND_util.h | 8 ++++++++ 6 files changed, 52 insertions(+), 1 deletion(-) create mode 100644 arm7/lib/include/SND.h create mode 100644 arm7/lib/include/SND_command.h create mode 100644 arm7/lib/include/SND_main.h create mode 100644 arm7/lib/include/SND_seq.h create mode 100644 arm7/lib/include/SND_util.h (limited to 'arm7/lib/include') diff --git a/arm7/lib/include/SND.h b/arm7/lib/include/SND.h new file mode 100644 index 00000000..69db1a16 --- /dev/null +++ b/arm7/lib/include/SND.h @@ -0,0 +1,10 @@ +#ifndef GUARD_SND_H +#define GUARD_SND_H + +#include "nitro/types.h" + +void SND_Enable(void); +void SND_SetOutputSelector(u8 leftOutputFrom, u8 rightOutputFrom, u8 outputCh1ToMixer, u8 outputCh3ToMixer); +void SND_SetMasterVolume(u8 vol); + +#endif //GUARD_SND_H diff --git a/arm7/lib/include/SND_command.h b/arm7/lib/include/SND_command.h new file mode 100644 index 00000000..ea5452b9 --- /dev/null +++ b/arm7/lib/include/SND_command.h @@ -0,0 +1,7 @@ +#ifndef GUARD_SND_COMMAND_H +#define GUARD_SND_COMMAND_H + +void SND_CommandInit(void); +void SND_CommandProc(void); + +#endif //GUARD_SND_COMMAND_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 diff --git a/arm7/lib/include/SND_main.h b/arm7/lib/include/SND_main.h new file mode 100644 index 00000000..eba3ff44 --- /dev/null +++ b/arm7/lib/include/SND_main.h @@ -0,0 +1,16 @@ +#ifndef GUARD_SND_MAIN_H +#define GUARD_SND_MAIN_H + +#include "nitro/types.h" + +void SND_Init(u32 priority); +void SND_CreateThread(u32 priority); +void SND_InitIntervalTimer(void); +void SND_StartIntervalTimer(void); +void SND_StopIntervalTimer(void); +u32 SND_WaitForIntervalTimer(void); +void SND_SendWakeupMessage(void); +void SNDi_LockMutex(void); +void SNDi_UnlockMutex(void); + +#endif //GUARD_SND_MAIN_H diff --git a/arm7/lib/include/SND_seq.h b/arm7/lib/include/SND_seq.h new file mode 100644 index 00000000..642cff3e --- /dev/null +++ b/arm7/lib/include/SND_seq.h @@ -0,0 +1,7 @@ +#ifndef GUARD_SND_SEQ_H +#define GUARD_SND_SEQ_H + +void SND_SeqInit(void); +void SND_SeqMain(BOOL update); + +#endif //GUARD_SND_SEQ_H diff --git a/arm7/lib/include/SND_util.h b/arm7/lib/include/SND_util.h new file mode 100644 index 00000000..babf2a87 --- /dev/null +++ b/arm7/lib/include/SND_util.h @@ -0,0 +1,8 @@ +#ifndef GUARD_SND_UTIL_H +#define GUARD_SND_UTIL_H + +#include "nitro/types.h" + +u32 SND_CalcRandom(void); + +#endif //GUARD_SND_UTIL_H -- cgit v1.2.3 From 83c92e11bdb440c80042ad7434966a03bc7b18c3 Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Sat, 26 Jun 2021 19:07:04 +0200 Subject: arm7: decompile SND_wave --- arm7/lib/include/SND.h | 1 + arm7/lib/include/SND_wave.h | 6 ++++++ 2 files changed, 7 insertions(+) create mode 100644 arm7/lib/include/SND_wave.h (limited to 'arm7/lib/include') diff --git a/arm7/lib/include/SND.h b/arm7/lib/include/SND.h index 69db1a16..b471ac72 100644 --- a/arm7/lib/include/SND.h +++ b/arm7/lib/include/SND.h @@ -6,5 +6,6 @@ void SND_Enable(void); void SND_SetOutputSelector(u8 leftOutputFrom, u8 rightOutputFrom, u8 outputCh1ToMixer, u8 outputCh3ToMixer); void SND_SetMasterVolume(u8 vol); +void SND_StopChannel(s32 idx, BOOL hold); #endif //GUARD_SND_H diff --git a/arm7/lib/include/SND_wave.h b/arm7/lib/include/SND_wave.h new file mode 100644 index 00000000..e1ae93fe --- /dev/null +++ b/arm7/lib/include/SND_wave.h @@ -0,0 +1,6 @@ +#ifndef GUARD_SND_WAVE_H +#define GUARD_SND_WAVE_H + +void SND_InvalidateWave(void *begin, void *end); + +#endif //GUARD_SND_WAVE_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 +++ arm7/lib/include/SND_lockChannel.h | 11 +++++++++++ 2 files changed, 14 insertions(+) create mode 100644 arm7/lib/include/SND_lockChannel.h (limited to 'arm7/lib/include') 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 diff --git a/arm7/lib/include/SND_lockChannel.h b/arm7/lib/include/SND_lockChannel.h new file mode 100644 index 00000000..ed7fd872 --- /dev/null +++ b/arm7/lib/include/SND_lockChannel.h @@ -0,0 +1,11 @@ +#ifndef GUARD_SND_LOCKCHANNEL_H +#define GUARD_SND_LOCKCHANNEL_H + +#include "nitro/types.h" + +void SND_StopUnlockedChannel(u32 channelMask); +void SND_LockChannel(u32 channelMask, u32 locked); +void SND_UnlockChannel(u32 channelMask, u32 locked); +u32 SND_GetLockedChannel(u32 locked); + +#endif //GUARD_SND_LOCKCHANNEL_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_channel.h | 42 ++++++++++++++++++++++++++++++++++++++++ arm7/lib/include/SND_exChannel.h | 2 ++ arm7/lib/include/registers.h | 7 +++++++ 3 files changed, 51 insertions(+) create mode 100644 arm7/lib/include/SND_channel.h (limited to 'arm7/lib/include') diff --git a/arm7/lib/include/SND_channel.h b/arm7/lib/include/SND_channel.h new file mode 100644 index 00000000..5f90aa66 --- /dev/null +++ b/arm7/lib/include/SND_channel.h @@ -0,0 +1,42 @@ +#ifndef GUARD_SND_CHANNEL_H +#define GUARD_SND_CHANNEL_H + +#include "nitro/types.h" + +void SND_SetupChannelPcm( + s32 chnIdx, + const void *data, + s32 format, + s32 loop, + s32 loopStart, + s32 loopLen, + s32 volume, + s32 volumeDiv, + s32 timer, + s32 pan +); + +void SND_SetupChannelPsg( + s32 chnIdx, + s32 waveDuty, + s32 volume, + s32 volumeDiv, + s32 timer, + s32 pan +); + +void SND_SetupChannelNoise( + s32 chnIdx, + s32 volume, + s32 volumeDiv, + s32 timer, + s32 pan +); + +void SND_StopChannel(s32 chnIdx, s32 hold); + +void SND_SetChannelVolume(s32 chnIdx, s32 volume, s32 volumeDiv); +void SND_SetChannelPan(s32 chnIdx, s32 pan); +void SND_SetChannelTimer(s32 chnIdx, s32 timer); + +#endif //GUARD_SND_CHANNEL_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 diff --git a/arm7/lib/include/registers.h b/arm7/lib/include/registers.h index 1fb1e9ca..bc55d0d8 100644 --- a/arm7/lib/include/registers.h +++ b/arm7/lib/include/registers.h @@ -5,6 +5,13 @@ #define reg_EXTKEYIN (*(REGType16v *)0x4000136) +#define reg_SOUNDxCNT_STAT(x) (*((REGType8v *)0x4000403 + ((int)(x) * 0x10))) +#define reg_SOUNDxCNT(x) (*((REGType32v *)0x4000400 + ((int)x) * 0x10)) +#define reg_SOUNDxSAD(x) (*((REGType32v *)0x4000404 + ((int)x) * 0x10)) +#define reg_SOUNDxTMR(x) (*((REGType16v *)0x4000408 + ((int)x) * 0x10)) +#define reg_SOUNDxPNT(x) (*((REGType16v *)0x400040A + ((int)x) * 0x10)) +#define reg_SOUNDxLEN(x) (*((REGType32v *)0x400040C + ((int)x) * 0x10)) + #define EXTKEYIN_X (1<<0) #define EXTKEYIN_Y (1<<1) #define EXTKEYIN_DEBUG (1<<3) -- 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_channel.h | 3 +++ arm7/lib/include/SND_exChannel.h | 25 ++++++++++++++++++++++--- arm7/lib/include/SND_lockChannel.h | 4 ++++ arm7/lib/include/SND_util.h | 7 +++++++ 4 files changed, 36 insertions(+), 3 deletions(-) (limited to 'arm7/lib/include') diff --git a/arm7/lib/include/SND_channel.h b/arm7/lib/include/SND_channel.h index 5f90aa66..718e7e2b 100644 --- a/arm7/lib/include/SND_channel.h +++ b/arm7/lib/include/SND_channel.h @@ -39,4 +39,7 @@ void SND_SetChannelVolume(s32 chnIdx, s32 volume, s32 volumeDiv); void SND_SetChannelPan(s32 chnIdx, s32 pan); void SND_SetChannelTimer(s32 chnIdx, s32 timer); +// TODO move this function to SND_exChannel.c +u16 CalcDecayCoeff(s32 value); + #endif //GUARD_SND_CHANNEL_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 diff --git a/arm7/lib/include/SND_lockChannel.h b/arm7/lib/include/SND_lockChannel.h index ed7fd872..9673fb51 100644 --- a/arm7/lib/include/SND_lockChannel.h +++ b/arm7/lib/include/SND_lockChannel.h @@ -8,4 +8,8 @@ void SND_LockChannel(u32 channelMask, u32 locked); void SND_UnlockChannel(u32 channelMask, u32 locked); u32 SND_GetLockedChannel(u32 locked); +// TODO remove these externs if lockChannel is merged with exChannel +extern u32 sLockedChannelMask; +extern u32 sWeakLockedChannelMask; + #endif //GUARD_SND_LOCKCHANNEL_H diff --git a/arm7/lib/include/SND_util.h b/arm7/lib/include/SND_util.h index babf2a87..1bfdb7a8 100644 --- a/arm7/lib/include/SND_util.h +++ b/arm7/lib/include/SND_util.h @@ -3,6 +3,13 @@ #include "nitro/types.h" +#define SND_DECIBEL_SQUARE_TABLE_COUNT + u32 SND_CalcRandom(void); +u16 SND_CalcChannelVolume(s32 value); +u16 SND_CalcTimer(s32 timer, s32 pitch); + +extern const s16 SNDi_DecibelSquareTable[128]; + #endif //GUARD_SND_UTIL_H -- cgit v1.2.3 From 449da4e1036ef58a11c71f80833443da49c36ff6 Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Thu, 1 Jul 2021 02:11:30 +0200 Subject: arm7: decompile SND_lfo --- arm7/lib/include/SND_lfo.h | 13 +++++++++++++ arm7/lib/include/SND_util.h | 3 ++- 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 arm7/lib/include/SND_lfo.h (limited to 'arm7/lib/include') diff --git a/arm7/lib/include/SND_lfo.h b/arm7/lib/include/SND_lfo.h new file mode 100644 index 00000000..065e0ed6 --- /dev/null +++ b/arm7/lib/include/SND_lfo.h @@ -0,0 +1,13 @@ +#ifndef GUARD_SND_LFO_H +#define GUARD_SND_LFO_H + +#include "nitro/types.h" + +#include "nitro/SND_main_shared.h" + +void SND_InitLfoParam(struct SNDLfoParam *lfoParam); +void SND_StartLfo(struct SNDLfo *lfo); +void SND_UpdateLfo(struct SNDLfo *lfo); +s32 SND_LfoGetValue(struct SNDLfo *lfo); + +#endif //GUARD_SND_LFO_H diff --git a/arm7/lib/include/SND_util.h b/arm7/lib/include/SND_util.h index 1bfdb7a8..d9bc56c0 100644 --- a/arm7/lib/include/SND_util.h +++ b/arm7/lib/include/SND_util.h @@ -5,7 +5,8 @@ #define SND_DECIBEL_SQUARE_TABLE_COUNT -u32 SND_CalcRandom(void); +u16 SND_CalcRandom(void); +s8 SND_SinIdx(s32 index); u16 SND_CalcChannelVolume(s32 value); u16 SND_CalcTimer(s32 timer, s32 pitch); -- cgit v1.2.3 From 3f2b6670db01714364e1f1941c75e91df0f478fa Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Fri, 2 Jul 2021 23:55:05 +0200 Subject: refactor sound headers --- arm7/lib/include/SND_lfo.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'arm7/lib/include') diff --git a/arm7/lib/include/SND_lfo.h b/arm7/lib/include/SND_lfo.h index 065e0ed6..05d4647e 100644 --- a/arm7/lib/include/SND_lfo.h +++ b/arm7/lib/include/SND_lfo.h @@ -3,7 +3,7 @@ #include "nitro/types.h" -#include "nitro/SND_main_shared.h" +#include "nitro/SND_exChannel_shared.h" void SND_InitLfoParam(struct SNDLfoParam *lfoParam); void SND_StartLfo(struct SNDLfo *lfo); -- cgit v1.2.3 From 68dcc21efd11140a70419ada34ac5f2d9d526f69 Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Sat, 3 Jul 2021 14:49:13 +0200 Subject: arm7: decompile SND_bank --- arm7/lib/include/SND_bank.h | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 arm7/lib/include/SND_bank.h (limited to 'arm7/lib/include') diff --git a/arm7/lib/include/SND_bank.h b/arm7/lib/include/SND_bank.h new file mode 100644 index 00000000..36bdc08f --- /dev/null +++ b/arm7/lib/include/SND_bank.h @@ -0,0 +1,11 @@ +#ifndef GUARD_SND_BANK_H +#define GUARD_SND_BANK_H + +#include "nitro/SND_bank_shared.h" +#include "nitro/types.h" + +BOOL SND_ReadInstData(const struct SNDBankData *bankData, s32 program, s32 midiKey, struct SNDInstData *instData); +const struct SNDWaveData *SND_GetWaveDataAddress(const struct SNDWaveArc *waveArc, s32 wave); +BOOL SND_NoteOn(struct SNDExChannel *chn, s32 midiKey, s32 velocity, s32 length, const struct SNDBankData *bankData, const struct SNDInstData *instData); + +#endif //GUARD_SND_BANK_H -- cgit v1.2.3 From c0b5972e6e55ea33746ec45317410b17e35e4929 Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Sat, 3 Jul 2021 21:25:05 +0200 Subject: more header refactoring --- arm7/lib/include/SND_util.h | 8 ++++---- arm7/lib/include/syscall.h | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-) (limited to 'arm7/lib/include') diff --git a/arm7/lib/include/SND_util.h b/arm7/lib/include/SND_util.h index d9bc56c0..80534b94 100644 --- a/arm7/lib/include/SND_util.h +++ b/arm7/lib/include/SND_util.h @@ -3,13 +3,13 @@ #include "nitro/types.h" -#define SND_DECIBEL_SQUARE_TABLE_COUNT +#define SND_VOL_DB_MIN (-723) u16 SND_CalcRandom(void); -s8 SND_SinIdx(s32 index); +s8 SND_SinIdx(int index); -u16 SND_CalcChannelVolume(s32 value); -u16 SND_CalcTimer(s32 timer, s32 pitch); +u16 SND_CalcChannelVolume(int value); +u16 SND_CalcTimer(int timer, int pitch); extern const s16 SNDi_DecibelSquareTable[128]; diff --git a/arm7/lib/include/syscall.h b/arm7/lib/include/syscall.h index 55462cc7..1ac6fe49 100644 --- a/arm7/lib/include/syscall.h +++ b/arm7/lib/include/syscall.h @@ -2,5 +2,7 @@ #define POKEDIAMOND_ARM7_SYSCALL_H void SVC_WaitByLoop(u32 ct); +u8 SVC_GetVolumeTable(int idx); +u16 SVC_GetPitchTable(int idx); #endif //POKEDIAMOND_ARM7_SYSCALL_H -- cgit v1.2.3 From c607834736e32183b56150e478f90ee7edc233af Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Wed, 7 Jul 2021 00:24:21 +0200 Subject: arm7: decompile SND_capture --- arm7/lib/include/SND_capture.h | 5 ++++- arm7/lib/include/registers.h | 2 ++ 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'arm7/lib/include') diff --git a/arm7/lib/include/SND_capture.h b/arm7/lib/include/SND_capture.h index 78a09efa..1878f90e 100644 --- a/arm7/lib/include/SND_capture.h +++ b/arm7/lib/include/SND_capture.h @@ -1,6 +1,9 @@ #ifndef GUARD_SND_CAPTURE_H #define GUARD_SND_CAPTURE_H -BOOL SND_IsCaptureActive(s32 idx); +#include "nitro/types.h" + +void SND_SetupCapture(int idx, int format, void *captureData, int size, BOOL loop, int capCtrlSrc, int capCtrlDst); +BOOL SND_IsCaptureActive(int idx); #endif //GUARD_SND_CAPTURE_H diff --git a/arm7/lib/include/registers.h b/arm7/lib/include/registers.h index bc55d0d8..e9280957 100644 --- a/arm7/lib/include/registers.h +++ b/arm7/lib/include/registers.h @@ -12,6 +12,8 @@ #define reg_SOUNDxPNT(x) (*((REGType16v *)0x400040A + ((int)x) * 0x10)) #define reg_SOUNDxLEN(x) (*((REGType32v *)0x400040C + ((int)x) * 0x10)) +#define reg_SNDCAPxCNT(x) (*((REGType8v *)0x4000508 + ((int)(x)))) + #define EXTKEYIN_X (1<<0) #define EXTKEYIN_Y (1<<1) #define EXTKEYIN_DEBUG (1<<3) -- 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_channel.h | 4 +++- arm7/lib/include/SND_exChannel.h | 12 +++++------- arm7/lib/include/SND_lfo.h | 2 +- 3 files changed, 9 insertions(+), 9 deletions(-) (limited to 'arm7/lib/include') diff --git a/arm7/lib/include/SND_channel.h b/arm7/lib/include/SND_channel.h index 718e7e2b..ea179968 100644 --- a/arm7/lib/include/SND_channel.h +++ b/arm7/lib/include/SND_channel.h @@ -3,6 +3,8 @@ #include "nitro/types.h" +#include "SND_exChannel.h" + void SND_SetupChannelPcm( s32 chnIdx, const void *data, @@ -40,6 +42,6 @@ void SND_SetChannelPan(s32 chnIdx, s32 pan); void SND_SetChannelTimer(s32 chnIdx, s32 timer); // TODO move this function to SND_exChannel.c -u16 CalcDecayCoeff(s32 value); +u16 CalcDecayCoeff(int value); #endif //GUARD_SND_CHANNEL_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 diff --git a/arm7/lib/include/SND_lfo.h b/arm7/lib/include/SND_lfo.h index 05d4647e..43055c27 100644 --- a/arm7/lib/include/SND_lfo.h +++ b/arm7/lib/include/SND_lfo.h @@ -8,6 +8,6 @@ void SND_InitLfoParam(struct SNDLfoParam *lfoParam); void SND_StartLfo(struct SNDLfo *lfo); void SND_UpdateLfo(struct SNDLfo *lfo); -s32 SND_LfoGetValue(struct SNDLfo *lfo); +int SND_GetLfoValue(struct SNDLfo *lfo); #endif //GUARD_SND_LFO_H -- cgit v1.2.3 From 3adc1b31e95dde87e60f338113c83bcca2974c33 Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Wed, 7 Jul 2021 13:53:26 +0200 Subject: add MI_CpuCopy32 --- arm7/lib/include/MI_memory.h | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'arm7/lib/include') diff --git a/arm7/lib/include/MI_memory.h b/arm7/lib/include/MI_memory.h index 1e0de0b9..73d62e97 100644 --- a/arm7/lib/include/MI_memory.h +++ b/arm7/lib/include/MI_memory.h @@ -22,4 +22,9 @@ static inline void MI_CpuClear32(void *dest, u32 size) MI_CpuFill32(dest, 0, size); } +static inline void MI_CpuCopy32(void *src, void *dst, u32 size) +{ + MIi_CopyCopy32((u32 *)src, (u32 *)dst, size); +} + #endif //POKEDIAMOND_ARM7_MI_MEMORY_H -- cgit v1.2.3 From 6e37656a84a76cd315b870a8002e2fec0fa0f00e Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Thu, 8 Jul 2021 13:38:52 +0200 Subject: minor fixes --- arm7/lib/include/MI_memory.h | 2 +- arm7/lib/include/SND_lockChannel.h | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'arm7/lib/include') diff --git a/arm7/lib/include/MI_memory.h b/arm7/lib/include/MI_memory.h index 73d62e97..6fa1d0ec 100644 --- a/arm7/lib/include/MI_memory.h +++ b/arm7/lib/include/MI_memory.h @@ -24,7 +24,7 @@ static inline void MI_CpuClear32(void *dest, u32 size) static inline void MI_CpuCopy32(void *src, void *dst, u32 size) { - MIi_CopyCopy32((u32 *)src, (u32 *)dst, size); + MIi_CpuCopy32((u32 *)src, (u32 *)dst, size); } #endif //POKEDIAMOND_ARM7_MI_MEMORY_H diff --git a/arm7/lib/include/SND_lockChannel.h b/arm7/lib/include/SND_lockChannel.h index 9673fb51..461745b3 100644 --- a/arm7/lib/include/SND_lockChannel.h +++ b/arm7/lib/include/SND_lockChannel.h @@ -3,10 +3,10 @@ #include "nitro/types.h" -void SND_StopUnlockedChannel(u32 channelMask); -void SND_LockChannel(u32 channelMask, u32 locked); -void SND_UnlockChannel(u32 channelMask, u32 locked); -u32 SND_GetLockedChannel(u32 locked); +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); // TODO remove these externs if lockChannel is merged with exChannel extern u32 sLockedChannelMask; -- 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.h | 4 +--- arm7/lib/include/SND_channel.h | 4 ++++ arm7/lib/include/SND_command.h | 2 ++ arm7/lib/include/SND_exChannel.h | 1 + arm7/lib/include/SND_main.h | 2 ++ arm7/lib/include/SND_seq.h | 17 +++++++++++++++++ arm7/lib/include/SND_wave.h | 2 +- arm7/lib/include/SND_work.h | 4 ++-- 8 files changed, 30 insertions(+), 6 deletions(-) (limited to 'arm7/lib/include') diff --git a/arm7/lib/include/SND.h b/arm7/lib/include/SND.h index b471ac72..c417ab0e 100644 --- a/arm7/lib/include/SND.h +++ b/arm7/lib/include/SND.h @@ -4,8 +4,6 @@ #include "nitro/types.h" void SND_Enable(void); -void SND_SetOutputSelector(u8 leftOutputFrom, u8 rightOutputFrom, u8 outputCh1ToMixer, u8 outputCh3ToMixer); -void SND_SetMasterVolume(u8 vol); -void SND_StopChannel(s32 idx, BOOL hold); +void SND_SetOutputSelector(int leftOutputFrom, int rightOutputFrom, int outputCh1ToMixer, int outputCh3ToMixer); #endif //GUARD_SND_H diff --git a/arm7/lib/include/SND_channel.h b/arm7/lib/include/SND_channel.h index ea179968..8b74b579 100644 --- a/arm7/lib/include/SND_channel.h +++ b/arm7/lib/include/SND_channel.h @@ -5,6 +5,8 @@ #include "SND_exChannel.h" +void SNDi_SetSurroundDecay(int decay); + void SND_SetupChannelPcm( s32 chnIdx, const void *data, @@ -41,6 +43,8 @@ void SND_SetChannelVolume(s32 chnIdx, s32 volume, s32 volumeDiv); void SND_SetChannelPan(s32 chnIdx, s32 pan); void SND_SetChannelTimer(s32 chnIdx, s32 timer); +u32 SND_GetChannelControl(int idx); + // TODO move this function to SND_exChannel.c u16 CalcDecayCoeff(int value); diff --git a/arm7/lib/include/SND_command.h b/arm7/lib/include/SND_command.h index ea5452b9..c22cd459 100644 --- a/arm7/lib/include/SND_command.h +++ b/arm7/lib/include/SND_command.h @@ -1,6 +1,8 @@ #ifndef GUARD_SND_COMMAND_H #define GUARD_SND_COMMAND_H +#include "nitro/SND_command_shared.h" + void SND_CommandInit(void); void SND_CommandProc(void); 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); diff --git a/arm7/lib/include/SND_main.h b/arm7/lib/include/SND_main.h index eba3ff44..fc72ae33 100644 --- a/arm7/lib/include/SND_main.h +++ b/arm7/lib/include/SND_main.h @@ -12,5 +12,7 @@ u32 SND_WaitForIntervalTimer(void); void SND_SendWakeupMessage(void); void SNDi_LockMutex(void); void SNDi_UnlockMutex(void); +void SND_SetMasterVolume(int vol); +void SND_SetMasterPan(int pan); #endif //GUARD_SND_MAIN_H diff --git a/arm7/lib/include/SND_seq.h b/arm7/lib/include/SND_seq.h index 642cff3e..25b63a35 100644 --- a/arm7/lib/include/SND_seq.h +++ b/arm7/lib/include/SND_seq.h @@ -1,7 +1,24 @@ #ifndef GUARD_SND_SEQ_H #define GUARD_SND_SEQ_H +#include "nitro/types.h" + +#include "nitro/SND_bank_shared.h" + void SND_SeqInit(void); void SND_SeqMain(BOOL update); +void SND_StartSeq(int player, const void *seq, u32 offset, struct SNDBankData *bank); +void SND_StopSeq(int player); +void SND_PrepareSeq(int player, const void *seq, u32 offset, struct SNDBankData *bank); +void SND_StartPreparedSeq(int player); +void SND_PauseSeq(int player, BOOL pause); +void SND_SkipSeq(int player, u32 tick); +void SNDi_SetPlayerParam(int player, u32 offset, u32 data, int size); +void SNDi_SetTrackParam(int player, u32 trackMask, u32 offset, u32 data, int size); +void SND_SetTrackMute(int player, u32 trackMask, BOOL mute); +void SND_SetTrackAllocatableChannel(int player, u32 trackMask, u32 channelMask); +void SND_InvalidateSeq(const void *start, const void *end); +void SND_InvalidateBank(const void *start, const void *end); + #endif //GUARD_SND_SEQ_H diff --git a/arm7/lib/include/SND_wave.h b/arm7/lib/include/SND_wave.h index e1ae93fe..fd76b1a5 100644 --- a/arm7/lib/include/SND_wave.h +++ b/arm7/lib/include/SND_wave.h @@ -1,6 +1,6 @@ #ifndef GUARD_SND_WAVE_H #define GUARD_SND_WAVE_H -void SND_InvalidateWave(void *begin, void *end); +void SND_InvalidateWave(const void *begin, const void *end); #endif //GUARD_SND_WAVE_H diff --git a/arm7/lib/include/SND_work.h b/arm7/lib/include/SND_work.h index 49933fc7..0125a52d 100644 --- a/arm7/lib/include/SND_work.h +++ b/arm7/lib/include/SND_work.h @@ -6,8 +6,8 @@ extern struct SNDWork SNDi_Work; extern struct SNDSharedWork *SNDi_SharedWork; -void SND_SetPlayerLocalVariable(u32 player, u32 var, s16 value); -void SND_SetPlayerGlobalVariable(u32 var, s16 value); +void SND_SetPlayerLocalVariable(int player, int var, s16 value); +void SND_SetPlayerGlobalVariable(int var, s16 value); void SND_UpdateSharedWork(void); #endif //GUARD_SND_WORK_H -- cgit v1.2.3 From bedb58ea94b44f8b4168fd731339fec38ee21988 Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Fri, 9 Jul 2021 13:43:54 +0200 Subject: arm7: decompile SND_seq --- arm7/lib/include/SND_unk_037FD440.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 arm7/lib/include/SND_unk_037FD440.h (limited to 'arm7/lib/include') diff --git a/arm7/lib/include/SND_unk_037FD440.h b/arm7/lib/include/SND_unk_037FD440.h new file mode 100644 index 00000000..460217c6 --- /dev/null +++ b/arm7/lib/include/SND_unk_037FD440.h @@ -0,0 +1,22 @@ +#ifndef GUARD_SND_UNK_H +#define GUARD_SND_UNK_H + +#include "nitro/types.h" + +struct SNDTrack *PlayerGetTrack(struct SNDPlayer *player, int track); +void PlayerStop(struct SNDPlayer *); +void TrackMute(struct SNDTrack *track, struct SNDPlayer *player, int muteMode); +void TrackReleaseChannels(struct SNDTrack *track, struct SNDPlayer *player, int release); +void TrackFreeChannels(struct SNDTrack *track); +BOOL PlayerStepTicks(struct SNDPlayer *player, u32 ticks); +void PlayerSetBank(struct SNDPlayer *player, struct SNDBankData *bankData); +int AllocateTrack(void); +void TrackInit(struct SNDTrack *track); +void TrackSetSeq(struct SNDTrack *track, const void *seq, u32 offset); +void SeqCacheFetch(const void *addr); +u8 SeqReadByte(const void *addr); +u16 TrackReadHword(struct SNDTrack *track); +void PlayerSeqMain(struct SNDPlayer *player); +void PlayerUpdateChannelVolume(struct SNDPlayer *player); + +#endif //GUARD_SND_UNK_H -- 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/PM.h | 9 ++++++++ arm7/lib/include/SND.h | 6 +++++ arm7/lib/include/SND_channel.h | 48 ++++++++++++++++++++-------------------- arm7/lib/include/SND_exChannel.h | 2 +- arm7/lib/include/registers.h | 30 ++++++++++++++++++------- arm7/lib/include/syscall.h | 2 ++ 6 files changed, 64 insertions(+), 33 deletions(-) create mode 100644 arm7/lib/include/PM.h (limited to 'arm7/lib/include') diff --git a/arm7/lib/include/PM.h b/arm7/lib/include/PM.h new file mode 100644 index 00000000..df2185be --- /dev/null +++ b/arm7/lib/include/PM.h @@ -0,0 +1,9 @@ +#ifndef GUARD_PM_H +#define GUARD_PM_H + +#include "nitro/types.h" + +void PMi_SetControl(int ctrl); +void PMi_ResetControl(int ctrl); + +#endif //GUARD_PM_H diff --git a/arm7/lib/include/SND.h b/arm7/lib/include/SND.h index c417ab0e..196377ed 100644 --- a/arm7/lib/include/SND.h +++ b/arm7/lib/include/SND.h @@ -4,6 +4,12 @@ #include "nitro/types.h" void SND_Enable(void); +void SND_Disable(void); +void SND_Shutdown(void); +void SND_BeginSleep(void); +void SND_EndSleep(void); +void SND_SetMasterPan(int pan); +void SND_SetMasterVolume(int vol); void SND_SetOutputSelector(int leftOutputFrom, int rightOutputFrom, int outputCh1ToMixer, int outputCh3ToMixer); #endif //GUARD_SND_H diff --git a/arm7/lib/include/SND_channel.h b/arm7/lib/include/SND_channel.h index 8b74b579..9e015beb 100644 --- a/arm7/lib/include/SND_channel.h +++ b/arm7/lib/include/SND_channel.h @@ -8,40 +8,40 @@ void SNDi_SetSurroundDecay(int decay); void SND_SetupChannelPcm( - s32 chnIdx, + int chnIdx, const void *data, - s32 format, - s32 loop, - s32 loopStart, - s32 loopLen, - s32 volume, - s32 volumeDiv, - s32 timer, - s32 pan + int format, + int loop, + int loopStart, + int loopLen, + int volume, + int volumeDiv, + int timer, + int pan ); void SND_SetupChannelPsg( - s32 chnIdx, - s32 waveDuty, - s32 volume, - s32 volumeDiv, - s32 timer, - s32 pan + int chnIdx, + int waveDuty, + int volume, + int volumeDiv, + int timer, + int pan ); void SND_SetupChannelNoise( - s32 chnIdx, - s32 volume, - s32 volumeDiv, - s32 timer, - s32 pan + int chnIdx, + int volume, + int volumeDiv, + int timer, + int pan ); -void SND_StopChannel(s32 chnIdx, s32 hold); +void SND_StopChannel(int chnIdx, int hold); -void SND_SetChannelVolume(s32 chnIdx, s32 volume, s32 volumeDiv); -void SND_SetChannelPan(s32 chnIdx, s32 pan); -void SND_SetChannelTimer(s32 chnIdx, s32 timer); +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); 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 diff --git a/arm7/lib/include/registers.h b/arm7/lib/include/registers.h index e9280957..f30d237a 100644 --- a/arm7/lib/include/registers.h +++ b/arm7/lib/include/registers.h @@ -5,14 +5,28 @@ #define reg_EXTKEYIN (*(REGType16v *)0x4000136) -#define reg_SOUNDxCNT_STAT(x) (*((REGType8v *)0x4000403 + ((int)(x) * 0x10))) -#define reg_SOUNDxCNT(x) (*((REGType32v *)0x4000400 + ((int)x) * 0x10)) -#define reg_SOUNDxSAD(x) (*((REGType32v *)0x4000404 + ((int)x) * 0x10)) -#define reg_SOUNDxTMR(x) (*((REGType16v *)0x4000408 + ((int)x) * 0x10)) -#define reg_SOUNDxPNT(x) (*((REGType16v *)0x400040A + ((int)x) * 0x10)) -#define reg_SOUNDxLEN(x) (*((REGType32v *)0x400040C + ((int)x) * 0x10)) - -#define reg_SNDCAPxCNT(x) (*((REGType8v *)0x4000508 + ((int)(x)))) +#define reg_POWCNT2 (*(REGType16v *)0x4000304) + + +#define reg_SOUNDCNT_VOL (*(REGType8v *)0x4000500) +#define reg_SOUNDCNT_MIX (*(REGType8v *)0x4000501) + +#define reg_SOUNDxCNT_VOL(x) (*(REGType8v *)(0x4000400 + ((int)(x) * 0x10))) +#define reg_SOUNDxCNT_VOLS(x) (*(REGType16v *)(0x4000400 + ((int)(x) * 0x10))) +#define reg_SOUNDxCNT_PAN(x) (*(REGType8v *)(0x4000402 + ((int)(x) * 0x10))) +#define reg_SOUNDxCNT_STAT(x) (*(REGType8v *)(0x4000403 + ((int)(x) * 0x10))) +#define reg_SOUNDxCNT(x) (*(REGType32v *)(0x4000400 + ((int)x) * 0x10)) +#define reg_SOUNDoffCNT(off) (*(REGType32v *)(0x4000400 + (int)(off))) +#define reg_SOUNDxSAD(x) (*(REGType32v *)(0x4000404 + ((int)x) * 0x10)) +#define reg_SOUNDoffSAD(off) (*(REGType32v *)(0x4000404 + (int)(off))) +#define reg_SOUNDxTMR(x) (*(REGType16v *)(0x4000408 + ((int)x) * 0x10)) +#define reg_SOUNDoffTMR(off) (*(REGType16v *)(0x4000408 + (int)(off))) +#define reg_SOUNDxPNT(x) (*(REGType16v *)(0x400040A + ((int)x) * 0x10)) +#define reg_SOUNDoffPNT(off) (*(REGType16v *)(0x400040A + (int)(off))) +#define reg_SOUNDxLEN(x) (*(REGType32v *)(0x400040C + ((int)x) * 0x10)) +#define reg_SOUNDoffLEN(off) (*(REGType32v *)(0x400040C + (int)(off))) + +#define reg_SNDCAPxCNT(x) (*(REGType8v *)(0x4000508 + ((int)(x)))) #define EXTKEYIN_X (1<<0) #define EXTKEYIN_Y (1<<1) diff --git a/arm7/lib/include/syscall.h b/arm7/lib/include/syscall.h index 1ac6fe49..579fd790 100644 --- a/arm7/lib/include/syscall.h +++ b/arm7/lib/include/syscall.h @@ -4,5 +4,7 @@ void SVC_WaitByLoop(u32 ct); u8 SVC_GetVolumeTable(int idx); u16 SVC_GetPitchTable(int idx); +void SVC_SoundBiasSet(int step); +void SVC_SoundBiasReset(int step); #endif //POKEDIAMOND_ARM7_SYSCALL_H -- cgit v1.2.3 From 9148e1b93023ccafed96d2bfc199ba3ee289e02e Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Sat, 10 Jul 2021 01:36:57 +0200 Subject: arm7: document SND_unk functions --- arm7/lib/include/SND_unk_037FD440.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'arm7/lib/include') diff --git a/arm7/lib/include/SND_unk_037FD440.h b/arm7/lib/include/SND_unk_037FD440.h index 460217c6..5eef03df 100644 --- a/arm7/lib/include/SND_unk_037FD440.h +++ b/arm7/lib/include/SND_unk_037FD440.h @@ -15,7 +15,7 @@ void TrackInit(struct SNDTrack *track); void TrackSetSeq(struct SNDTrack *track, const void *seq, u32 offset); void SeqCacheFetch(const void *addr); u8 SeqReadByte(const void *addr); -u16 TrackReadHword(struct SNDTrack *track); +u16 TrackReadU16(struct SNDTrack *track); void PlayerSeqMain(struct SNDPlayer *player); void PlayerUpdateChannelVolume(struct SNDPlayer *player); -- cgit v1.2.3 From c2bd97bebcecbe1d1743572ea99fa82fb9019832 Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Sun, 1 Aug 2021 02:45:26 +0200 Subject: arm7: decompile SND_unk_037FD440 --- arm7/lib/include/SND_unk_037FD440.h | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'arm7/lib/include') diff --git a/arm7/lib/include/SND_unk_037FD440.h b/arm7/lib/include/SND_unk_037FD440.h index 5eef03df..f73825c8 100644 --- a/arm7/lib/include/SND_unk_037FD440.h +++ b/arm7/lib/include/SND_unk_037FD440.h @@ -3,20 +3,23 @@ #include "nitro/types.h" +#include "nitro/SND_seq_shared.h" +#include "nitro/SND_work_shared.h" + struct SNDTrack *PlayerGetTrack(struct SNDPlayer *player, int track); void PlayerStop(struct SNDPlayer *); void TrackMute(struct SNDTrack *track, struct SNDPlayer *player, int muteMode); void TrackReleaseChannels(struct SNDTrack *track, struct SNDPlayer *player, int release); void TrackFreeChannels(struct SNDTrack *track); BOOL PlayerStepTicks(struct SNDPlayer *player, u32 ticks); -void PlayerSetBank(struct SNDPlayer *player, struct SNDBankData *bankData); +void PlayerInit(struct SNDPlayer *player, struct SNDBankData *bankData); int AllocateTrack(void); void TrackInit(struct SNDTrack *track); -void TrackSetSeq(struct SNDTrack *track, const void *seq, u32 offset); -void SeqCacheFetch(const void *addr); -u8 SeqReadByte(const void *addr); +void TrackStart(struct SNDTrack *track, const void *seq, u32 offset); +void SeqCacheFetch(const u8 *addr); +u8 SeqReadByte(const u8 *addr); u16 TrackReadU16(struct SNDTrack *track); void PlayerSeqMain(struct SNDPlayer *player); -void PlayerUpdateChannelVolume(struct SNDPlayer *player); +void PlayerUpdateChannel(struct SNDPlayer *player); #endif //GUARD_SND_UNK_H -- cgit v1.2.3 From 80b1041da789f4c83318287ca59c5f95ae84fb6a Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Sun, 1 Aug 2021 03:00:03 +0200 Subject: arm7: merge SND_seq SND_unk --- arm7/lib/include/SND_unk_037FD440.h | 25 ------------------------- 1 file changed, 25 deletions(-) delete mode 100644 arm7/lib/include/SND_unk_037FD440.h (limited to 'arm7/lib/include') diff --git a/arm7/lib/include/SND_unk_037FD440.h b/arm7/lib/include/SND_unk_037FD440.h deleted file mode 100644 index f73825c8..00000000 --- a/arm7/lib/include/SND_unk_037FD440.h +++ /dev/null @@ -1,25 +0,0 @@ -#ifndef GUARD_SND_UNK_H -#define GUARD_SND_UNK_H - -#include "nitro/types.h" - -#include "nitro/SND_seq_shared.h" -#include "nitro/SND_work_shared.h" - -struct SNDTrack *PlayerGetTrack(struct SNDPlayer *player, int track); -void PlayerStop(struct SNDPlayer *); -void TrackMute(struct SNDTrack *track, struct SNDPlayer *player, int muteMode); -void TrackReleaseChannels(struct SNDTrack *track, struct SNDPlayer *player, int release); -void TrackFreeChannels(struct SNDTrack *track); -BOOL PlayerStepTicks(struct SNDPlayer *player, u32 ticks); -void PlayerInit(struct SNDPlayer *player, struct SNDBankData *bankData); -int AllocateTrack(void); -void TrackInit(struct SNDTrack *track); -void TrackStart(struct SNDTrack *track, const void *seq, u32 offset); -void SeqCacheFetch(const u8 *addr); -u8 SeqReadByte(const u8 *addr); -u16 TrackReadU16(struct SNDTrack *track); -void PlayerSeqMain(struct SNDPlayer *player); -void PlayerUpdateChannel(struct SNDPlayer *player); - -#endif //GUARD_SND_UNK_H -- 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 +++++ arm7/lib/include/SND_lockChannel.h | 15 --------------- 2 files changed, 5 insertions(+), 15 deletions(-) delete mode 100644 arm7/lib/include/SND_lockChannel.h (limited to 'arm7/lib/include') 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 diff --git a/arm7/lib/include/SND_lockChannel.h b/arm7/lib/include/SND_lockChannel.h deleted file mode 100644 index 461745b3..00000000 --- a/arm7/lib/include/SND_lockChannel.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef GUARD_SND_LOCKCHANNEL_H -#define GUARD_SND_LOCKCHANNEL_H - -#include "nitro/types.h" - -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); - -// TODO remove these externs if lockChannel is merged with exChannel -extern u32 sLockedChannelMask; -extern u32 sWeakLockedChannelMask; - -#endif //GUARD_SND_LOCKCHANNEL_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 ++ arm7/lib/include/SND_wave.h | 6 ------ 2 files changed, 2 insertions(+), 6 deletions(-) delete mode 100644 arm7/lib/include/SND_wave.h (limited to 'arm7/lib/include') 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 diff --git a/arm7/lib/include/SND_wave.h b/arm7/lib/include/SND_wave.h deleted file mode 100644 index fd76b1a5..00000000 --- a/arm7/lib/include/SND_wave.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef GUARD_SND_WAVE_H -#define GUARD_SND_WAVE_H - -void SND_InvalidateWave(const void *begin, const void *end); - -#endif //GUARD_SND_WAVE_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 +++++ arm7/lib/include/SND_lfo.h | 5 ----- 2 files changed, 5 insertions(+), 5 deletions(-) (limited to 'arm7/lib/include') 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 diff --git a/arm7/lib/include/SND_lfo.h b/arm7/lib/include/SND_lfo.h index 43055c27..f3737f08 100644 --- a/arm7/lib/include/SND_lfo.h +++ b/arm7/lib/include/SND_lfo.h @@ -5,9 +5,4 @@ #include "nitro/SND_exChannel_shared.h" -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_LFO_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_channel.h | 51 ---------------------------------------- arm7/lib/include/SND_exChannel.h | 42 +++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+), 51 deletions(-) delete mode 100644 arm7/lib/include/SND_channel.h (limited to 'arm7/lib/include') diff --git a/arm7/lib/include/SND_channel.h b/arm7/lib/include/SND_channel.h deleted file mode 100644 index 9e015beb..00000000 --- a/arm7/lib/include/SND_channel.h +++ /dev/null @@ -1,51 +0,0 @@ -#ifndef GUARD_SND_CHANNEL_H -#define GUARD_SND_CHANNEL_H - -#include "nitro/types.h" - -#include "SND_exChannel.h" - -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_CHANNEL_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.h | 15 ------------- arm7/lib/include/SND_channel.h | 47 ++++++++++++++++++++++++++++++++++++++++ arm7/lib/include/SND_exChannel.h | 43 ------------------------------------ arm7/lib/include/SND_global.h | 14 ++++++++++++ arm7/lib/include/SND_main.h | 2 -- 5 files changed, 61 insertions(+), 60 deletions(-) delete mode 100644 arm7/lib/include/SND.h create mode 100644 arm7/lib/include/SND_channel.h create mode 100644 arm7/lib/include/SND_global.h (limited to 'arm7/lib/include') diff --git a/arm7/lib/include/SND.h b/arm7/lib/include/SND.h deleted file mode 100644 index 196377ed..00000000 --- a/arm7/lib/include/SND.h +++ /dev/null @@ -1,15 +0,0 @@ -#ifndef GUARD_SND_H -#define GUARD_SND_H - -#include "nitro/types.h" - -void SND_Enable(void); -void SND_Disable(void); -void SND_Shutdown(void); -void SND_BeginSleep(void); -void SND_EndSleep(void); -void SND_SetMasterPan(int pan); -void SND_SetMasterVolume(int vol); -void SND_SetOutputSelector(int leftOutputFrom, int rightOutputFrom, int outputCh1ToMixer, int outputCh3ToMixer); - -#endif //GUARD_SND_H diff --git a/arm7/lib/include/SND_channel.h b/arm7/lib/include/SND_channel.h new file mode 100644 index 00000000..0c3cbe7b --- /dev/null +++ b/arm7/lib/include/SND_channel.h @@ -0,0 +1,47 @@ +#ifndef GUARD_SND_CHANNEL_H +#define GUARD_SND_CHANNEL_H + +#include "nitro/types.h" + +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_SetChannelTimer(int chnIdx, int timer); +void SND_SetChannelPan(int chnIdx, int pan); + +BOOL SND_IsChannelActive(int idx); +void SND_SetMasterPan(int pan); +u32 SND_GetChannelControl(int idx); +void SNDi_SetSurroundDecay(int decay); + +#endif //GUARD_SND_CHANNEL_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 diff --git a/arm7/lib/include/SND_global.h b/arm7/lib/include/SND_global.h new file mode 100644 index 00000000..47bb7a69 --- /dev/null +++ b/arm7/lib/include/SND_global.h @@ -0,0 +1,14 @@ +#ifndef GUARD_SND_GLOBAL_H +#define GUARD_SND_GLOBAL_H + +#include "nitro/types.h" + +void SND_Enable(void); +void SND_Disable(void); +void SND_Shutdown(void); +void SND_BeginSleep(void); +void SND_EndSleep(void); +void SND_SetMasterVolume(int vol); +void SND_SetOutputSelector(int leftOutputFrom, int rightOutputFrom, int outputCh1ToMixer, int outputCh3ToMixer); + +#endif //GUARD_SND_GLOBAL_H diff --git a/arm7/lib/include/SND_main.h b/arm7/lib/include/SND_main.h index fc72ae33..eba3ff44 100644 --- a/arm7/lib/include/SND_main.h +++ b/arm7/lib/include/SND_main.h @@ -12,7 +12,5 @@ u32 SND_WaitForIntervalTimer(void); void SND_SendWakeupMessage(void); void SNDi_LockMutex(void); void SNDi_UnlockMutex(void); -void SND_SetMasterVolume(int vol); -void SND_SetMasterPan(int pan); #endif //GUARD_SND_MAIN_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') 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_alarm.h | 2 +- arm7/lib/include/SND_bank.h | 14 ++++++++++---- arm7/lib/include/SND_capture.h | 5 +++-- arm7/lib/include/SND_channel.h | 25 +++++-------------------- arm7/lib/include/SND_command.h | 2 +- arm7/lib/include/SND_exChannel.h | 11 ++++++++--- arm7/lib/include/SND_global.h | 5 +++-- arm7/lib/include/SND_lfo.h | 2 +- arm7/lib/include/SND_main.h | 2 +- arm7/lib/include/SND_seq.h | 2 +- arm7/lib/include/SND_util.h | 2 +- arm7/lib/include/SND_work.h | 2 +- 12 files changed, 36 insertions(+), 38 deletions(-) (limited to 'arm7/lib/include') diff --git a/arm7/lib/include/SND_alarm.h b/arm7/lib/include/SND_alarm.h index 1eca6fe8..51f01bcc 100644 --- a/arm7/lib/include/SND_alarm.h +++ b/arm7/lib/include/SND_alarm.h @@ -9,4 +9,4 @@ void SND_SetupAlarm(s32 idx, OSTick tick, OSTick period, u32 id); void SND_StartAlarm(s32 idx); void SND_StopAlarm(s32 idx); -#endif //GUARD_SND_ALARM_H +#endif // GUARD_SND_ALARM_H diff --git a/arm7/lib/include/SND_bank.h b/arm7/lib/include/SND_bank.h index 36bdc08f..e22410ca 100644 --- a/arm7/lib/include/SND_bank.h +++ b/arm7/lib/include/SND_bank.h @@ -1,11 +1,17 @@ #ifndef GUARD_SND_BANK_H #define GUARD_SND_BANK_H -#include "nitro/SND_bank_shared.h" #include "nitro/types.h" +#include "nitro/SND_bank_shared.h" -BOOL SND_ReadInstData(const struct SNDBankData *bankData, s32 program, s32 midiKey, struct SNDInstData *instData); +BOOL SND_ReadInstData( + const struct SNDBankData *bankData, s32 program, s32 midiKey, struct SNDInstData *instData); const struct SNDWaveData *SND_GetWaveDataAddress(const struct SNDWaveArc *waveArc, s32 wave); -BOOL SND_NoteOn(struct SNDExChannel *chn, s32 midiKey, s32 velocity, s32 length, const struct SNDBankData *bankData, const struct SNDInstData *instData); +BOOL SND_NoteOn(struct SNDExChannel *chn, + s32 midiKey, + s32 velocity, + s32 length, + const struct SNDBankData *bankData, + const struct SNDInstData *instData); -#endif //GUARD_SND_BANK_H +#endif // GUARD_SND_BANK_H diff --git a/arm7/lib/include/SND_capture.h b/arm7/lib/include/SND_capture.h index 1878f90e..f71ce18d 100644 --- a/arm7/lib/include/SND_capture.h +++ b/arm7/lib/include/SND_capture.h @@ -3,7 +3,8 @@ #include "nitro/types.h" -void SND_SetupCapture(int idx, int format, void *captureData, int size, BOOL loop, int capCtrlSrc, int capCtrlDst); +void SND_SetupCapture( + int idx, int format, void *captureData, int size, BOOL loop, int capCtrlSrc, int capCtrlDst); BOOL SND_IsCaptureActive(int idx); -#endif //GUARD_SND_CAPTURE_H +#endif // GUARD_SND_CAPTURE_H diff --git a/arm7/lib/include/SND_channel.h b/arm7/lib/include/SND_channel.h index 0c3cbe7b..b401029a 100644 --- a/arm7/lib/include/SND_channel.h +++ b/arm7/lib/include/SND_channel.h @@ -3,8 +3,7 @@ #include "nitro/types.h" -void SND_SetupChannelPcm( - int chnIdx, +void SND_SetupChannelPcm(int chnIdx, const void *data, int format, int loop, @@ -13,25 +12,11 @@ void SND_SetupChannelPcm( int volume, int volumeDiv, int timer, - int pan -); + int pan); -void SND_SetupChannelPsg( - int chnIdx, - int waveDuty, - 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_SetupChannelNoise(int chnIdx, int volume, int volumeDiv, int timer, int pan); void SND_StopChannel(int chnIdx, int hold); @@ -44,4 +29,4 @@ void SND_SetMasterPan(int pan); u32 SND_GetChannelControl(int idx); void SNDi_SetSurroundDecay(int decay); -#endif //GUARD_SND_CHANNEL_H +#endif // GUARD_SND_CHANNEL_H diff --git a/arm7/lib/include/SND_command.h b/arm7/lib/include/SND_command.h index c22cd459..db42d177 100644 --- a/arm7/lib/include/SND_command.h +++ b/arm7/lib/include/SND_command.h @@ -6,4 +6,4 @@ void SND_CommandInit(void); void SND_CommandProc(void); -#endif //GUARD_SND_COMMAND_H +#endif // GUARD_SND_COMMAND_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 diff --git a/arm7/lib/include/SND_global.h b/arm7/lib/include/SND_global.h index 47bb7a69..cb91db66 100644 --- a/arm7/lib/include/SND_global.h +++ b/arm7/lib/include/SND_global.h @@ -9,6 +9,7 @@ void SND_Shutdown(void); void SND_BeginSleep(void); void SND_EndSleep(void); void SND_SetMasterVolume(int vol); -void SND_SetOutputSelector(int leftOutputFrom, int rightOutputFrom, int outputCh1ToMixer, int outputCh3ToMixer); +void SND_SetOutputSelector( + int leftOutputFrom, int rightOutputFrom, int outputCh1ToMixer, int outputCh3ToMixer); -#endif //GUARD_SND_GLOBAL_H +#endif // GUARD_SND_GLOBAL_H diff --git a/arm7/lib/include/SND_lfo.h b/arm7/lib/include/SND_lfo.h index f3737f08..71e0febf 100644 --- a/arm7/lib/include/SND_lfo.h +++ b/arm7/lib/include/SND_lfo.h @@ -5,4 +5,4 @@ #include "nitro/SND_exChannel_shared.h" -#endif //GUARD_SND_LFO_H +#endif // GUARD_SND_LFO_H diff --git a/arm7/lib/include/SND_main.h b/arm7/lib/include/SND_main.h index eba3ff44..65e3f8d3 100644 --- a/arm7/lib/include/SND_main.h +++ b/arm7/lib/include/SND_main.h @@ -13,4 +13,4 @@ void SND_SendWakeupMessage(void); void SNDi_LockMutex(void); void SNDi_UnlockMutex(void); -#endif //GUARD_SND_MAIN_H +#endif // GUARD_SND_MAIN_H diff --git a/arm7/lib/include/SND_seq.h b/arm7/lib/include/SND_seq.h index 25b63a35..4e54c0ff 100644 --- a/arm7/lib/include/SND_seq.h +++ b/arm7/lib/include/SND_seq.h @@ -21,4 +21,4 @@ void SND_SetTrackAllocatableChannel(int player, u32 trackMask, u32 channelMask); void SND_InvalidateSeq(const void *start, const void *end); void SND_InvalidateBank(const void *start, const void *end); -#endif //GUARD_SND_SEQ_H +#endif // GUARD_SND_SEQ_H diff --git a/arm7/lib/include/SND_util.h b/arm7/lib/include/SND_util.h index 80534b94..3b20a79f 100644 --- a/arm7/lib/include/SND_util.h +++ b/arm7/lib/include/SND_util.h @@ -13,4 +13,4 @@ u16 SND_CalcTimer(int timer, int pitch); extern const s16 SNDi_DecibelSquareTable[128]; -#endif //GUARD_SND_UTIL_H +#endif // GUARD_SND_UTIL_H diff --git a/arm7/lib/include/SND_work.h b/arm7/lib/include/SND_work.h index 0125a52d..536d4bd0 100644 --- a/arm7/lib/include/SND_work.h +++ b/arm7/lib/include/SND_work.h @@ -10,4 +10,4 @@ void SND_SetPlayerLocalVariable(int player, int var, s16 value); void SND_SetPlayerGlobalVariable(int var, s16 value); void SND_UpdateSharedWork(void); -#endif //GUARD_SND_WORK_H +#endif // GUARD_SND_WORK_H -- cgit v1.2.3 From 0d7ce0e3ba9bc78a5d785e6857c4b8876ad2cf66 Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Wed, 25 Aug 2021 17:37:46 +0200 Subject: PR: implement review corrections 1 --- arm7/lib/include/PM.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'arm7/lib/include') diff --git a/arm7/lib/include/PM.h b/arm7/lib/include/PM.h index df2185be..136976e3 100644 --- a/arm7/lib/include/PM.h +++ b/arm7/lib/include/PM.h @@ -3,7 +3,7 @@ #include "nitro/types.h" -void PMi_SetControl(int ctrl); -void PMi_ResetControl(int ctrl); +void PMi_SetControl(u8 ctrl); +void PMi_ResetControl(u8 ctrl); #endif //GUARD_PM_H -- cgit v1.2.3