Mercurial > sdl-ios-xcode
annotate src/audio/mint/SDL_mintaudio.h @ 4241:d3a210342761 SDL-1.2
Fixed crash with right side up BMP files
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Sat, 26 Sep 2009 06:01:27 +0000 |
parents | a1b03ba2fcd0 |
children |
rev | line source |
---|---|
398
d219b0e02f5f
Added Atari audio support (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
1 /* |
644
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
2 SDL - Simple DirectMedia Layer |
4159 | 3 Copyright (C) 1997-2009 Sam Lantinga |
644
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
4 |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
5 This library is free software; you can redistribute it and/or |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
6 modify it under the terms of the GNU Library General Public |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
7 License as published by the Free Software Foundation; either |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
8 version 2 of the License, or (at your option) any later version. |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
9 |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
10 This library is distributed in the hope that it will be useful, |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
11 but WITHOUT ANY WARRANTY; without even the implied warranty of |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
13 Library General Public License for more details. |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
14 |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
15 You should have received a copy of the GNU Library General Public |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
16 License along with this library; if not, write to the Free |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
17 Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
18 |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
19 Sam Lantinga |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
20 slouken@libsdl.org |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
21 */ |
1402
d910939febfa
Use consistent identifiers for the various platforms we support.
Sam Lantinga <slouken@libsdl.org>
parents:
1361
diff
changeset
|
22 #include "SDL_config.h" |
644
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
23 |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
24 /* |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
25 MiNT audio driver |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
26 |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
27 Patrice Mandin |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
28 */ |
398
d219b0e02f5f
Added Atari audio support (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
29 |
d219b0e02f5f
Added Atari audio support (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
30 #ifndef _SDL_mintaudio_h |
d219b0e02f5f
Added Atari audio support (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
31 #define _SDL_mintaudio_h |
d219b0e02f5f
Added Atari audio support (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
32 |
1361
19418e4422cb
New configure-based build system. Still work in progress, but much improved
Sam Lantinga <slouken@libsdl.org>
parents:
1111
diff
changeset
|
33 #include "../SDL_sysaudio.h" |
644
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
34 #include "SDL_mintaudio_stfa.h" |
398
d219b0e02f5f
Added Atari audio support (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
35 |
d219b0e02f5f
Added Atari audio support (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
36 /* Hidden "this" pointer for the audio functions */ |
d219b0e02f5f
Added Atari audio support (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
37 #define _THIS SDL_AudioDevice *this |
d219b0e02f5f
Added Atari audio support (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
38 |
961
185acc07127a
Date: Fri, 29 Oct 2004 11:47:09 +0200
Patrice Mandin <patmandin@gmail.com>
parents:
769
diff
changeset
|
39 /* 16 predivisors with 3 clocks max. */ |
185acc07127a
Date: Fri, 29 Oct 2004 11:47:09 +0200
Patrice Mandin <patmandin@gmail.com>
parents:
769
diff
changeset
|
40 #define MINTAUDIO_maxfreqs (16*3) |
185acc07127a
Date: Fri, 29 Oct 2004 11:47:09 +0200
Patrice Mandin <patmandin@gmail.com>
parents:
769
diff
changeset
|
41 |
185acc07127a
Date: Fri, 29 Oct 2004 11:47:09 +0200
Patrice Mandin <patmandin@gmail.com>
parents:
769
diff
changeset
|
42 typedef struct { |
185acc07127a
Date: Fri, 29 Oct 2004 11:47:09 +0200
Patrice Mandin <patmandin@gmail.com>
parents:
769
diff
changeset
|
43 Uint32 frequency; |
185acc07127a
Date: Fri, 29 Oct 2004 11:47:09 +0200
Patrice Mandin <patmandin@gmail.com>
parents:
769
diff
changeset
|
44 Uint32 masterclock; |
185acc07127a
Date: Fri, 29 Oct 2004 11:47:09 +0200
Patrice Mandin <patmandin@gmail.com>
parents:
769
diff
changeset
|
45 Uint32 predivisor; |
1107
856f76a099c7
Can use both clocks of FDI interface on Falcon, plus digital output
Patrice Mandin <patmandin@gmail.com>
parents:
1079
diff
changeset
|
46 int gpio_bits; /* in case of external clock */ |
961
185acc07127a
Date: Fri, 29 Oct 2004 11:47:09 +0200
Patrice Mandin <patmandin@gmail.com>
parents:
769
diff
changeset
|
47 } mint_frequency_t; |
185acc07127a
Date: Fri, 29 Oct 2004 11:47:09 +0200
Patrice Mandin <patmandin@gmail.com>
parents:
769
diff
changeset
|
48 |
644
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
49 struct SDL_PrivateAudioData { |
961
185acc07127a
Date: Fri, 29 Oct 2004 11:47:09 +0200
Patrice Mandin <patmandin@gmail.com>
parents:
769
diff
changeset
|
50 mint_frequency_t frequencies[MINTAUDIO_maxfreqs]; |
185acc07127a
Date: Fri, 29 Oct 2004 11:47:09 +0200
Patrice Mandin <patmandin@gmail.com>
parents:
769
diff
changeset
|
51 int freq_count; /* Number of frequencies in the array */ |
644
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
52 int numfreq; /* Number of selected frequency */ |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
53 }; |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
54 |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
55 /* Old variable names */ |
961
185acc07127a
Date: Fri, 29 Oct 2004 11:47:09 +0200
Patrice Mandin <patmandin@gmail.com>
parents:
769
diff
changeset
|
56 |
185acc07127a
Date: Fri, 29 Oct 2004 11:47:09 +0200
Patrice Mandin <patmandin@gmail.com>
parents:
769
diff
changeset
|
57 #define MINTAUDIO_frequencies (this->hidden->frequencies) |
185acc07127a
Date: Fri, 29 Oct 2004 11:47:09 +0200
Patrice Mandin <patmandin@gmail.com>
parents:
769
diff
changeset
|
58 #define MINTAUDIO_freqcount (this->hidden->freq_count) |
644
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
59 #define MINTAUDIO_numfreq (this->hidden->numfreq) |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
60 |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
61 /* _MCH cookie (values>>16) */ |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
62 enum { |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
63 MCH_ST=0, |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
64 MCH_STE, |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
65 MCH_TT, |
1079
39b5606fa543
Forgot enumeration value for Atari clones
Patrice Mandin <patmandin@gmail.com>
parents:
961
diff
changeset
|
66 MCH_F30, |
39b5606fa543
Forgot enumeration value for Atari clones
Patrice Mandin <patmandin@gmail.com>
parents:
961
diff
changeset
|
67 MCH_CLONE, |
39b5606fa543
Forgot enumeration value for Atari clones
Patrice Mandin <patmandin@gmail.com>
parents:
961
diff
changeset
|
68 MCH_ARANYM |
644
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
69 }; |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
70 |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
71 /* Master clocks for replay frequencies */ |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
72 #define MASTERCLOCK_STE 8010666 /* Not sure of this one */ |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
73 #define MASTERCLOCK_TT 16107953 /* Not sure of this one */ |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
74 #define MASTERCLOCK_FALCON1 25175000 |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
75 #define MASTERCLOCK_FALCON2 32000000 /* Only usable for DSP56K */ |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
76 #define MASTERCLOCK_FALCONEXT -1 /* Clock on DSP56K port, unknown */ |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
77 #define MASTERCLOCK_44K 22579200 /* Standard clock for 44.1 Khz */ |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
78 #define MASTERCLOCK_48K 24576000 /* Standard clock for 48 Khz */ |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
79 |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
80 /* Master clock predivisors */ |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
81 #define MASTERPREDIV_STE 160 |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
82 #define MASTERPREDIV_TT 320 |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
83 #define MASTERPREDIV_FALCON 256 |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
84 #define MASTERPREDIV_MILAN 256 |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
85 |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
86 /* MFP 68901 interrupt sources */ |
4149
2325dd996f73
Check defines do not already exist in recent system headers
Patrice Mandin <patmandin@gmail.com>
parents:
3865
diff
changeset
|
87 #ifndef MFP_PARALLEL |
644
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
88 enum { |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
89 MFP_PARALLEL=0, |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
90 MFP_DCD, |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
91 MFP_CTS, |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
92 MFP_BITBLT, |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
93 MFP_TIMERD, |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
94 MFP_BAUDRATE=MFP_TIMERD, |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
95 MFP_TIMERC, |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
96 MFP_200HZ=MFP_TIMERC, |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
97 MFP_ACIA, |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
98 MFP_DISK, |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
99 MFP_TIMERB, |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
100 MFP_HBLANK=MFP_TIMERB, |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
101 MFP_TERR, |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
102 MFP_TBE, |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
103 MFP_RERR, |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
104 MFP_RBF, |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
105 MFP_TIMERA, |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
106 MFP_DMASOUND=MFP_TIMERA, |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
107 MFP_RING, |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
108 MFP_MONODETECT |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
109 }; |
4149
2325dd996f73
Check defines do not already exist in recent system headers
Patrice Mandin <patmandin@gmail.com>
parents:
3865
diff
changeset
|
110 #endif |
644
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
111 |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
112 /* Xbtimer() timers */ |
4149
2325dd996f73
Check defines do not already exist in recent system headers
Patrice Mandin <patmandin@gmail.com>
parents:
3865
diff
changeset
|
113 #ifndef XB_TIMERA |
644
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
114 enum { |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
115 XB_TIMERA=0, |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
116 XB_TIMERB, |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
117 XB_TIMERC, |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
118 XB_TIMERD |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
119 }; |
4149
2325dd996f73
Check defines do not already exist in recent system headers
Patrice Mandin <patmandin@gmail.com>
parents:
3865
diff
changeset
|
120 #endif |
644
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
121 |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
122 /* Variables */ |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
123 extern SDL_AudioDevice *SDL_MintAudio_device; |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
124 extern Uint8 *SDL_MintAudio_audiobuf[2]; /* Pointers to buffers */ |
704 | 125 extern unsigned long SDL_MintAudio_audiosize; /* Length of audio buffer=spec->size */ |
1751
a11c13151840
Declare volatile variables modified by interrupt routines
Patrice Mandin <patmandin@gmail.com>
parents:
1402
diff
changeset
|
126 extern volatile unsigned short SDL_MintAudio_numbuf; /* Buffer to play */ |
a11c13151840
Declare volatile variables modified by interrupt routines
Patrice Mandin <patmandin@gmail.com>
parents:
1402
diff
changeset
|
127 extern volatile unsigned short SDL_MintAudio_mutex; |
644
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
128 extern cookie_stfa_t *SDL_MintAudio_stfa; |
1751
a11c13151840
Declare volatile variables modified by interrupt routines
Patrice Mandin <patmandin@gmail.com>
parents:
1402
diff
changeset
|
129 extern volatile unsigned long SDL_MintAudio_clocktics; |
3865
e958a003b69b
Add function to check FPU presence
Patrice Mandin <patmandin@gmail.com>
parents:
1751
diff
changeset
|
130 extern unsigned short SDL_MintAudio_hasfpu; /* To preserve fpu registers if needed */ |
644
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
131 |
1111
12c49532be00
Use MiNT thread to update DMA pointers instead of unusable MFP interrupt
Patrice Mandin <patmandin@gmail.com>
parents:
1107
diff
changeset
|
132 /* MiNT thread variables */ |
12c49532be00
Use MiNT thread to update DMA pointers instead of unusable MFP interrupt
Patrice Mandin <patmandin@gmail.com>
parents:
1107
diff
changeset
|
133 extern SDL_bool SDL_MintAudio_mint_present; |
12c49532be00
Use MiNT thread to update DMA pointers instead of unusable MFP interrupt
Patrice Mandin <patmandin@gmail.com>
parents:
1107
diff
changeset
|
134 extern SDL_bool SDL_MintAudio_quit_thread; |
12c49532be00
Use MiNT thread to update DMA pointers instead of unusable MFP interrupt
Patrice Mandin <patmandin@gmail.com>
parents:
1107
diff
changeset
|
135 extern SDL_bool SDL_MintAudio_thread_finished; |
12c49532be00
Use MiNT thread to update DMA pointers instead of unusable MFP interrupt
Patrice Mandin <patmandin@gmail.com>
parents:
1107
diff
changeset
|
136 extern long SDL_MintAudio_thread_pid; |
12c49532be00
Use MiNT thread to update DMA pointers instead of unusable MFP interrupt
Patrice Mandin <patmandin@gmail.com>
parents:
1107
diff
changeset
|
137 |
644
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
138 /* Functions */ |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
139 void SDL_MintAudio_Callback(void); |
1107
856f76a099c7
Can use both clocks of FDI interface on Falcon, plus digital output
Patrice Mandin <patmandin@gmail.com>
parents:
1079
diff
changeset
|
140 void SDL_MintAudio_AddFrequency(_THIS, Uint32 frequency, Uint32 clock, |
856f76a099c7
Can use both clocks of FDI interface on Falcon, plus digital output
Patrice Mandin <patmandin@gmail.com>
parents:
1079
diff
changeset
|
141 Uint32 prediv, int gpio_bits); |
961
185acc07127a
Date: Fri, 29 Oct 2004 11:47:09 +0200
Patrice Mandin <patmandin@gmail.com>
parents:
769
diff
changeset
|
142 int SDL_MintAudio_SearchFrequency(_THIS, int desired_freq); |
3865
e958a003b69b
Add function to check FPU presence
Patrice Mandin <patmandin@gmail.com>
parents:
1751
diff
changeset
|
143 void SDL_MintAudio_CheckFpu(void); |
644
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
144 |
1111
12c49532be00
Use MiNT thread to update DMA pointers instead of unusable MFP interrupt
Patrice Mandin <patmandin@gmail.com>
parents:
1107
diff
changeset
|
145 /* MiNT thread functions */ |
12c49532be00
Use MiNT thread to update DMA pointers instead of unusable MFP interrupt
Patrice Mandin <patmandin@gmail.com>
parents:
1107
diff
changeset
|
146 int SDL_MintAudio_Thread(long param); |
12c49532be00
Use MiNT thread to update DMA pointers instead of unusable MFP interrupt
Patrice Mandin <patmandin@gmail.com>
parents:
1107
diff
changeset
|
147 void SDL_MintAudio_WaitThread(void); |
12c49532be00
Use MiNT thread to update DMA pointers instead of unusable MFP interrupt
Patrice Mandin <patmandin@gmail.com>
parents:
1107
diff
changeset
|
148 |
644
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
149 /* ASM interrupt functions */ |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
150 void SDL_MintAudio_GsxbInterrupt(void); |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
151 void SDL_MintAudio_EmptyGsxbInterrupt(void); |
961
185acc07127a
Date: Fri, 29 Oct 2004 11:47:09 +0200
Patrice Mandin <patmandin@gmail.com>
parents:
769
diff
changeset
|
152 void SDL_MintAudio_XbiosInterruptMeasureClock(void); |
644
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
153 void SDL_MintAudio_XbiosInterrupt(void); |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
154 void SDL_MintAudio_Dma8Interrupt(void); |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
155 void SDL_MintAudio_StfaInterrupt(void); |
594422ab8f9f
Atari MiNT: added more audio drivers
Patrice Mandin <patmandin@gmail.com>
parents:
398
diff
changeset
|
156 |
398
d219b0e02f5f
Added Atari audio support (thanks Patrice!)
Sam Lantinga <slouken@libsdl.org>
parents:
diff
changeset
|
157 #endif /* _SDL_mintaudio_h */ |