• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 */
101