SDL 1.2.13
[crawl:crawl-sdl.git] / src / audio / mint / SDL_mintaudio_stfa.h
1 /*
2     SDL - Simple DirectMedia Layer
3     Copyright (C) 1997-2004 Sam Lantinga
4
5     This library is free software; you can redistribute it and/or
6     modify it under the terms of the GNU Library General Public
7     License as published by the Free Software Foundation; either
8     version 2 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     Library General Public License for more details.
14
15     You should have received a copy of the GNU Library General Public
16     License along with this library; if not, write to the Free
17     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18
19     Sam Lantinga
20     slouken@libsdl.org
21 */
22 #include "SDL_config.h"
23
24 /*
25         STFA control structure
26
27         Patrice Mandin
28 */
29
30 #ifndef _SDL_mintaudio_stfa_h
31 #define _SDL_mintaudio_stfa_h
32
33 /*--- Defines ---*/
34
35 #define C_STFA  0x53544641L     /* Sound treiber für atari (seb/The removers) */
36
37 #define STFA_PLAY_ENABLE        (1<<0)
38 #define STFA_PLAY_DISABLE       (0<<0)
39 #define STFA_PLAY_REPEAT        (1<<1)
40 #define STFA_PLAY_SINGLE        (0<<1)
41
42 #define STFA_FORMAT_SIGNED              (1<<15)
43 #define STFA_FORMAT_UNSIGNED    (0<<15)
44 #define STFA_FORMAT_STEREO              (1<<14)
45 #define STFA_FORMAT_MONO                (0<<14)
46 #define STFA_FORMAT_16BIT               (1<<13)
47 #define STFA_FORMAT_8BIT                (0<<13)
48 #define STFA_FORMAT_LITENDIAN   (1<<9)
49 #define STFA_FORMAT_BIGENDIAN   (0<<9)
50 #define STFA_FORMAT_FREQ_MASK   0x0f
51 enum {
52         STFA_FORMAT_F4995=0,
53         STFA_FORMAT_F6269,
54         STFA_FORMAT_F7493,
55         STFA_FORMAT_F8192,
56
57         STFA_FORMAT_F9830,
58         STFA_FORMAT_F10971,
59         STFA_FORMAT_F12538,
60         STFA_FORMAT_F14985,
61
62         STFA_FORMAT_F16384,
63         STFA_FORMAT_F19819,
64         STFA_FORMAT_F21943,
65         STFA_FORMAT_F24576,
66
67         STFA_FORMAT_F30720,
68         STFA_FORMAT_F32336,
69         STFA_FORMAT_F43885,
70         STFA_FORMAT_F49152
71 };
72
73 /*--- Types ---*/
74
75 typedef struct {
76         unsigned short sound_enable;
77         unsigned short sound_control;
78         unsigned short sound_output;
79         unsigned long sound_start;
80         unsigned long sound_current;
81         unsigned long sound_end;
82         unsigned short version;
83         void *old_vbl;
84         void *old_timera;
85         unsigned long old_mfp_status;
86         void *new_vbl;
87         void *drivers_list;
88         void *play_stop;
89         unsigned short frequency;
90         void *set_frequency;
91         
92         unsigned short frequency_threshold;
93         unsigned short *custom_freq_table;
94         unsigned short stfa_on_off;
95         void *new_drivers_list;
96         unsigned long old_bit_2_of_cookie_snd;
97         void (*stfa_it)(void);
98 } cookie_stfa_t __attribute__((packed));
99
100 #endif /* _SDL_mintaudio_stfa_h */