diff options
Diffstat (limited to 'arm9/lib/src/SND_interface.c')
-rw-r--r-- | arm9/lib/src/SND_interface.c | 172 |
1 files changed, 0 insertions, 172 deletions
diff --git a/arm9/lib/src/SND_interface.c b/arm9/lib/src/SND_interface.c deleted file mode 100644 index 42b5ff42..00000000 --- a/arm9/lib/src/SND_interface.c +++ /dev/null @@ -1,172 +0,0 @@ -#include "SND_interface.h" -#include "SND_command.h" - -static void PushCommand_impl(s32 id, u32 par1, u32 par2, u32 par3, u32 par4); -#define PushCmd1(id, a) PushCommand_impl(id, (u32)(a), 0, 0, 0) -#define PushCmd2(id, a, b) PushCommand_impl(id, (u32)(a), (u32)(b), 0, 0) -#define PushCmd3(id, a, b, c) PushCommand_impl(id, (u32)(a), (u32)(b), (u32)(c), 0) -#define PushCmd4(id, a, b, c, d) PushCommand_impl(id, (u32)(a), (u32)(b), (u32)(c), (u32)(d)) - -// TODO fill in "random" constants with macros - -// ARM_FUNC void SND_StartSeq(s32 player, const void *seqBasePtr, u32 seqOffset, struct SNDBankData *bankData) { } - -ARM_FUNC void SND_StopSeq(s32 player) { - PushCmd1(SND_CMD_STOP_SEQ, player); -} - -ARM_FUNC void SND_PrepareSeq(s32 player, const void *seqBasePtr, u32 seqOffset, struct SNDBankData *bankData) { - PushCmd4(SND_CMD_PREPARE_SEQ, player, seqBasePtr, seqOffset, bankData); -} - -ARM_FUNC void SND_StartPreparedSeq(s32 player) { - PushCmd1(SND_CMD_START_PREPARED_SEQ, player); -} - -ARM_FUNC void SND_PauseSeq(s32 player, BOOL flag) { - PushCmd2(SND_CMD_PAUSE_SEQ, player, flag); -} - -// ARM_FUNC void SND_SetPlayerTempoRatio(s32 player, s32 ratio) { } - -ARM_FUNC void SND_SetPlayerVolume(s32 player, s32 volume) { - SNDi_SetPlayerParam(player, 6, (u32)volume, 2); -} - -ARM_FUNC void SND_SetPlayerChannelPriority(s32 player, s32 prio) { - SNDi_SetPlayerParam(player, 4, (u32)prio, 1); -} - -// ARM_FUNC void SND_SetPlayerLocalVariable(s32 player, s32 varNo, s16 var) { } - -// ARM_FUNC void SND_SetPlayerGlobalVariable(s32 varNo, s16 var) { } - -// ARM_FUNC void SND_SetTrackVolume(s32 player, u32 trackBitMask, s32 volume) { } - -ARM_FUNC void SND_SetTrackPitch(s32 player, u32 trackBitMask, s32 pitch) { - SNDi_SetTrackParam(player, trackBitMask, 12, (u32)pitch, 2); -} - -ARM_FUNC void SND_SetTrackPan(s32 player, u32 trackBitMask, s32 pan) { - SNDi_SetTrackParam(player, trackBitMask, 9, (u32)pan, 1); -} - -ARM_FUNC void SND_SetTrackAllocatableChannel(s32 player, u32 trackBitMask, u32 chnBitMask) { - PushCmd3(SND_CMD_ALLOCATABLE_CHANNEL, player, trackBitMask, chnBitMask); -} - -ARM_FUNC void SND_StartTimer(u32 chnBitMask, u32 capBitMask, u32 alarmBitMask, u32 flags) { - PushCmd4(SND_CMD_START_TIMER, chnBitMask, capBitMask, alarmBitMask, flags); -} - -ARM_FUNC void SND_StopTimer(u32 chnBitMask, u32 capBitMask, u32 alarmBitMask, u32 flags) { - s32 i = 0; - u32 tmpMask = alarmBitMask; - - while (i < SND_ALARM_COUNT && tmpMask != 0) { - if (tmpMask & 1) - SNDi_IncAlarmId((u32)i); - i++; - tmpMask >>= 1; - } - - PushCmd4(SND_CMD_STOP_TIMER, chnBitMask, capBitMask, alarmBitMask, flags); -} - -ARM_FUNC void SND_SetupCapture(s32 capture, s32 format, void *bufferPtr, u32 length, BOOL loopFlag, s32 in, s32 out) { - PushCmd3(SND_CMD_SETUP_CAPTURE, bufferPtr, length, - (capture << 31) | (format << 30) | (loopFlag << 29) | (in << 28) | (out << 27)); -} - -ARM_FUNC void SND_SetupAlarm(s32 alarm, u32 tick, u32 period, SNDAlarmCallback cb, void *userData) { - PushCmd4(SND_CMD_SETUP_ALARM, alarm, tick, period, SNDi_SetAlarmHandler((u32)alarm, cb, userData)); -} - -// ARM_FUNC void SND_SetTrackMute(s32 player, u32 trackBitMask, BOOL flag) { } - -// ARM_FUNC void SND_StopUnlockedChannel(u32 chnBitMask, u32 flags) { } - -ARM_FUNC void SND_LockChannel(u32 chnBitMask, u32 flags) { - PushCmd2(SND_CMD_LOCK_CHANNEL, chnBitMask, flags); -} - -ARM_FUNC void SND_UnlockChannel(u32 chnBitMask, u32 flags) { - PushCmd2(SND_CMD_UNLOCK_CHANNEL, chnBitMask, flags); -} - -ARM_FUNC void SND_SetChannelTimer(u32 chnBitMask, s32 timer) { - PushCmd2(SND_CMD_CHANNEL_TIMER, chnBitMask, timer); -} - -ARM_FUNC void SND_SetChannelVolume(u32 chnBitMask, s32 volume, s32 chnDataShift) { - PushCmd3(SND_CMD_CHANNEL_VOLUME, chnBitMask, volume, chnDataShift); -} - -ARM_FUNC void SND_SetChannelPan(u32 chnBitMask, s32 pan) { - PushCmd2(SND_CMD_CHANNEL_PAN, chnBitMask, pan); -} - -ARM_FUNC void SND_SetupChannelPcm(s32 chn, s32 waveFormat, const void *dataAddr, s32 loopMode, s32 loopStart, s32 dataLen, s32 volume, s32 chnDataShift, s32 timer, s32 pan) { - PushCmd4(SND_CMD_SETUP_CHANNEL_PCM, - chn | (timer << 16), - dataAddr, - (volume << 24) | (chnDataShift << 22) | dataLen, - (loopMode << 26) | (waveFormat << 24) | (pan << 16) | loopStart); -} - -// ARM_FUNC void SND_SetupChannelPsg(s32 chn, s32 sndDuty, s32 volume, s32 chnDataShift, s32 timer, s32 pan) { } - -// ARM_FUNC void SND_SetupChannelNoise(s32 chn, s32 volume, s32 chnDataShift, s32 timer, s32 pan) { } - -ARM_FUNC void SND_InvalidateSeqData(const void *start, const void *end) { - PushCmd2(SND_CMD_INVALIDATE_SEQ, start, end); -} - -ARM_FUNC void SND_InvalidateBankData(const void *start, const void *end) { - PushCmd2(SND_CMD_INVALIDATE_BANK, start, end); -} - -ARM_FUNC void SND_InvalidateWaveData(const void *start, const void *end) { - PushCmd2(SND_CMD_INVALIDATE_WAVE, start, end); -} - -// ARM_FUNC void SND_SetMasterVolume(s32 volume) { } - -ARM_FUNC void SND_SetOutputSelector(s32 left, s32 right, s32 channel1, s32 channel3) { - PushCmd4(SND_CMD_OUTPUT_SELECTOR, left, right, channel1, channel3); -} - -ARM_FUNC void SND_SetMasterPan(s32 pan) { - PushCmd1(SND_CMD_MASTER_PAN, pan); -} - -ARM_FUNC void SND_ResetMasterPan(void) { - PushCmd1(SND_CMD_MASTER_PAN, -1); -} - -// ARM_FUNC void SND_ReadDriverInfo(struct SNDDriverInfo *info) { } - -ARM_FUNC void SNDi_SetPlayerParam(s32 player, u32 offset, u32 data, s32 size) { - PushCmd4(SND_CMD_PLAYER_PARAM, player, offset, data, size); -} - -ARM_FUNC void SNDi_SetTrackParam(s32 player, u32 trackBitMask, u32 offset, u32 data, s32 size) { - PushCmd4(SND_CMD_TRACK_PARAM, player | (size << 24), trackBitMask, offset, data); -} - -// ARM_FUNC void SNDi_SetSurroundDecay(s32 decay) { } - -// ARM_FUNC void SNDi_SkipSeq(s32 player, u32 tick) { } - -ARM_FUNC static void PushCommand_impl(s32 id, u32 par1, u32 par2, u32 par3, u32 par4) { - struct SNDCommand *cmd = SND_AllocCommand(SND_CMD_FLAG_BLOCK); - if (cmd == NULL) - return; - - cmd->id = id; - cmd->arg[0] = par1; - cmd->arg[1] = par2; - cmd->arg[2] = par3; - cmd->arg[3] = par4; - SND_PushCommand(cmd); -} |