📄 sound.c
字号:
#include <GBA.h>
void play_wave(u32 srate,u32 loc)//播放wave音乐
{
REG_SOUNDCNT_L=0;
REG_SOUNDCNT_H=0x0b0F; //DS A&B + fifo reset + timer0 + max volume to L and R
REG_SOUNDCNT_X=0x0080; //turn sound chip on
REG_DMA1SAD=loc; //dma1 source
REG_DMA1DAD=0x040000a0; //write to FIFO A address
REG_DMA1CNT_H=0xb600; //dma control: DMA enabled+ start on FIFO+32bit+repeat
//Formula for playback frequency is: 0xFFFF-round(cpuFreq/playbackFreq)
REG_TM0CNT_L=0xffff-16780000/srate;//set srate
REG_TM0CNT_H=0x0080; //enable timer at CPU freq
}
void stop_dsound()
{
REG_DMA1SAD=0;
REG_DMA1CNT_H=0;
REG_DMA1DAD=0;
REG_TM0CNT_H=0;
REG_TM0CNT_L=0;
REG_SOUNDCNT_X=0;
REG_SOUNDCNT_L=0;
REG_SOUNDCNT_H=0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -