Mercurial > sdl-ios-xcode
comparison src/audio/nds/sound9.c @ 3976:8582c6a5ca16 SDL-1.2
Added initial support for Nintendo DS, based on the work by Troy Davis (GPF)
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 25 Jun 2007 00:50:20 +0000 |
parents | |
children | a1b03ba2fcd0 |
comparison
equal
deleted
inserted
replaced
3975:e85e65aec22f | 3976:8582c6a5ca16 |
---|---|
1 /* | |
2 SDL - Simple DirectMedia Layer | |
3 Copyright (C) 1997-2006 Sam Lantinga | |
4 | |
5 This library is free software; you can redistribute it and/or | |
6 modify it under the terms of the GNU Lesser General Public | |
7 License as published by the Free Software Foundation; either | |
8 version 2.1 of the License, or (at your option) any later version. | |
9 | |
10 This library is distributed in the hope that it will be useful, | |
11 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
13 Lesser General Public License for more details. | |
14 | |
15 You should have received a copy of the GNU Lesser General Public | |
16 License along with this library; if not, write to the Free Software | |
17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | |
18 | |
19 Sam Lantinga | |
20 slouken@libsdl.org | |
21 */ | |
22 #include "SDL_config.h" | |
23 #include "SDL_stdinc.h" | |
24 | |
25 #include "soundcommon.h" | |
26 | |
27 void SoundSystemInit(u32 rate,u32 buffersize,u8 channel,u8 format) | |
28 { | |
29 soundsystem->rate = rate; | |
30 | |
31 if(format == 8) | |
32 soundsystem->buffersize = buffersize; | |
33 else if(format == 16) | |
34 soundsystem->buffersize = buffersize * sizeof(short); | |
35 | |
36 soundsystem->mixbuffer = (s8*)SDL_malloc(soundsystem->buffersize); | |
37 //soundsystem->soundbuffer = soundsystem->mixbuffer; | |
38 soundsystem->format = format; | |
39 soundsystem->channel = channel; | |
40 soundsystem->prevtimer = 0; | |
41 soundsystem->soundcursor = 0; | |
42 soundsystem->numsamples = 0; | |
43 soundsystem->period = 0x1000000 / rate; | |
44 soundsystem->cmd = INIT; | |
45 } | |
46 | |
47 void SoundStartMixer(void) | |
48 { | |
49 soundsystem->cmd |= MIX; | |
50 } | |
51 | |
52 void SendCommandToArm7(u32 command) | |
53 { | |
54 while (REG_IPC_FIFO_CR & IPC_FIFO_SEND_FULL); | |
55 if (REG_IPC_FIFO_CR & IPC_FIFO_ERROR) | |
56 { | |
57 REG_IPC_FIFO_CR |= IPC_FIFO_SEND_CLEAR; | |
58 } | |
59 | |
60 REG_IPC_FIFO_TX = command; | |
61 } |