summaryrefslogtreecommitdiff
path: root/apps/plugins/sdl/src/audio/nds/soundcommon.h
diff options
context:
space:
mode:
authorFranklin Wei <git@fwei.tk>2017-01-21 15:18:31 -0500
committerFranklin Wei <git@fwei.tk>2017-12-23 21:01:26 -0500
commita855d6202536ff28e5aae4f22a0f31d8f5b325d0 (patch)
tree8c75f224dd64ed360505afa8843d016b0d75000b /apps/plugins/sdl/src/audio/nds/soundcommon.h
parent01c6dcf6c7b9bb1ad2fa0450f99bacc5f3d3e04b (diff)
downloadrockbox-a855d6202536ff28e5aae4f22a0f31d8f5b325d0.tar.gz
rockbox-a855d6202536ff28e5aae4f22a0f31d8f5b325d0.zip
Port of Duke Nukem 3D
This ports Fabien Sanglard's Chocolate Duke to run on a version of SDL for Rockbox. Change-Id: I8f2c4c78af19de10c1633ed7bb7a997b43256dd9
Diffstat (limited to 'apps/plugins/sdl/src/audio/nds/soundcommon.h')
-rw-r--r--apps/plugins/sdl/src/audio/nds/soundcommon.h80
1 files changed, 80 insertions, 0 deletions
diff --git a/apps/plugins/sdl/src/audio/nds/soundcommon.h b/apps/plugins/sdl/src/audio/nds/soundcommon.h
new file mode 100644
index 0000000000..d38e37cf68
--- /dev/null
+++ b/apps/plugins/sdl/src/audio/nds/soundcommon.h
@@ -0,0 +1,80 @@
1/*
2 SDL - Simple DirectMedia Layer
3 Copyright (C) 1997-2012 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
24#ifndef __SOUNDCOMMON_H
25#define __SOUNDCOMMON_H
26
27#include <nds.h>
28
29#define CLOCK (1 << 25)
30
31#ifdef __cplusplus
32extern "C" {
33#endif
34
35typedef enum
36{
37 NONE = 0,
38 INIT = 1,
39 MIX = 2,
40 MIXING = 4,
41 STOP = 8
42}CommandType;
43
44typedef enum
45{
46 FIFO_NONE = 0,
47 UPDATEON_ARM9 = 1,
48 MIXCOMPLETE_ONARM9 = 2,
49}FifoType;
50
51typedef struct
52{
53 s8 *mixbuffer;//,*soundbuffer;
54 u32 rate;
55 u32 buffersize;
56 u32 cmd;
57 u8 channel,format;
58 u32 soundcursor,numsamples;
59 s32 prevtimer;
60 s16 period;
61}S_SoundSystem;
62
63#define soundsystem ((S_SoundSystem*)((u32)(IPC)+sizeof(TransferRegion)))
64
65#ifdef ARM9
66extern void SoundSystemInit(u32 rate,u32 buffersize,u8 channel,u8 format);
67extern void SoundStartMixer(void);
68extern void SendCommandToArm7(u32 command);
69#else
70extern void SoundVBlankIrq(void);
71extern void SoundSwapAndMix(void);
72extern void SoundSetTimer(int period);
73extern void SoundFifoHandler(void);
74extern void SendCommandToArm9(u32 command);
75#endif
76
77#ifdef __cplusplus
78}
79#endif
80#endif