sound.c

来自「redboy for gba 是BPNS为GBA编写的一个小软件。软件的邹形是B」· C语言 代码 · 共 29 行

C
29
字号
#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 + =
减小字号Ctrl + -
显示快捷键?