|
1 ============================================================================== |
|
2 Using the Simple DirectMedia Layer on Atari |
|
3 ============================================================================== |
|
4 |
|
5 |
|
6 If you want to build SDL from sources to create SDL programs on Atari: |
|
7 see sections I - II. |
|
8 |
|
9 If you want to create SDL programs on Atari using SDL binary build, |
|
10 download it from my web site (URL at end of this file). |
|
11 |
|
12 If you want to configure a program using SDL on Atari, |
|
13 see sections IV - VI. |
|
14 |
|
15 |
|
16 ============================================================================== |
|
17 I. Building the Simple DirectMedia Layer libraries: |
|
18 (This step isn't necessary if you have the SDL binary distribution) |
|
19 |
|
20 Do the classic configure, with --disable-shared --enable-static and: |
|
21 |
|
22 Tos version (should run everywhere): |
|
23 --disable-threads |
|
24 Tos does not support threads. |
|
25 |
|
26 MiNT version (maybe Magic, only for multitasking OS): |
|
27 --disable-pthreads --enable-pth |
|
28 Mint and Magic may supports threads, so audio can be used with current |
|
29 devices, like Sun audio, or disk-writing support. Like Tos, interrupt |
|
30 audio without threads is more suited for Atari machines. |
|
31 |
|
32 Then you can make ; make install it. |
|
33 |
|
34 ============================================================================== |
|
35 II. Building the Simple DirectMedia Layer test programs: |
|
36 |
|
37 Do the classic configure, then make. |
|
38 |
|
39 Run them ! |
|
40 |
|
41 ============================================================================== |
|
42 III. Enjoy! :) |
|
43 |
|
44 If you have a project you'd like me to know about, or want to ask questions, |
|
45 go ahead and join the SDL developer's mailing list by sending e-mail to: |
|
46 |
|
47 sdl-request@libsdl.org |
|
48 |
|
49 and put "subscribe" into the subject of the message. Or alternatively you |
|
50 can use the web interface: |
|
51 |
|
52 http://www.libsdl.org/mailman/listinfo/sdl |
|
53 |
|
54 ============================================================================== |
|
55 IV. What is supported: |
|
56 |
|
57 Keyboard (GEMDOS, BIOS, GEM, Ikbd) |
|
58 Mouse (XBIOS, GEM, Ikbd, /dev/mouse (non working atm, disabled)) |
|
59 Video (XBIOS (Fullscreen), GEM (Windowed and Fullscreen)) |
|
60 Timer (VBL vector, GNU pth library) |
|
61 Joysticks and joypads (Ikbd, Hardware) |
|
62 Audio (Hardware, XBIOS, GSXB, MCSN, STFA, /dev/audio if threads enabled) |
|
63 Threads (Multitasking OS only via GNU pth library) |
|
64 Shared object loader (using LDG library from http://ldg.atari.org/) |
|
65 Audio CD (MetaDOS) |
|
66 OpenGL (using Mesa offscreen rendering driver) |
|
67 |
|
68 - Dependent driver combinations: |
|
69 Video Kbd Mouse Timer Joysticks |
|
70 xbios ikbd ikbd vbl(2) ikbd |
|
71 xbios gemdos xbios vbl(2) xbios |
|
72 xbios bios xbios vbl(2) xbios |
|
73 gem gem gem(1) vbl(2) xbios |
|
74 |
|
75 Audio O/S Misc |
|
76 dma8 All Uses MFP Timer A interrupt |
|
77 xbios TOS Uses MFP Timer A interrupt |
|
78 xbios MiNT Uses MFP Timer A interrupt |
|
79 xbios Magic Disabled |
|
80 stfa All Uses MFP interrupt |
|
81 mcsn TOS Uses MFP Timer A interrupt |
|
82 mcsn MiNT Uses MiNT thread |
|
83 mcsn Magic Disabled |
|
84 gsxb All Uses GSXB callback |
|
85 |
|
86 Joypad driver always uses hardware access. |
|
87 OpenGL driver always uses OSMesa. |
|
88 |
|
89 (1) GEM does not report relative mouse motion, so xbios mouse driver is used |
|
90 to report this type event. |
|
91 A preliminary driver for /dev/mouse device driver is present, but is disabled |
|
92 till it can be used with other applications simultaneously. |
|
93 |
|
94 (2) If you build SDL with threads using the GNU pth library, timers are |
|
95 supported via the pth library. |
|
96 |
|
97 ============================================================================== |
|
98 V. Environment variables: |
|
99 |
|
100 SDL_VIDEODRIVER: |
|
101 Set to 'xbios' to force xbios video driver |
|
102 Set to 'gem' to force gem video driver |
|
103 |
|
104 SDL_VIDEO_GL_DRIVER: |
|
105 Set to filename to load as OpenGL library, if you use SDL_GL_LoadLibrary() |
|
106 |
|
107 SDL_AUDIODRIVER: |
|
108 Set to 'mint_gsxb' to force Atari GSXB audio driver |
|
109 Set to 'mint_mcsn' to force Atari MCSN audio driver |
|
110 Set to 'mint_stfa' to force Atari STFA audio driver |
|
111 Set to 'mint_xbios' to force Atari Xbios audio driver |
|
112 Set to 'mint_dma8' to force Atari 8 bits DMA audio driver |
|
113 Set to 'audio' to force Sun /dev/audio audio driver |
|
114 Set to 'disk' to force disk-writing audio driver |
|
115 |
|
116 SDL_ATARI_EVENTSDRIVER |
|
117 Set to 'ikbd' to force IKBD 6301 keyboard driver |
|
118 Set to 'gemdos' to force gemdos keyboard driver |
|
119 Set to 'bios' to force bios keyboard driver |
|
120 |
|
121 SDL_JOYSTICK_ATARI: |
|
122 Use any of these strings in the environment variable to enable or |
|
123 disable a joystick: |
|
124 |
|
125 'ikbd-joy1-[on|off]' for IKBD joystick on port 1 (hardware access) |
|
126 'xbios-joy1-[on|off]' for IKBD joystick on port 1 (xbios access) |
|
127 'porta-pad-[on|off]' for joypad and/or teamtap on port A |
|
128 'porta-joy0-[on|off]' for joystick 0 on port A |
|
129 'porta-joy1-[on|off]' for joystick 1 on port A |
|
130 'porta-lp-[on|off]' for lightpen on port A |
|
131 'porta-anpad-[on|off]' for analog paddle on port A |
|
132 'portb-pad-[on|off]' for joypad and/or teamtap on port B |
|
133 'portb-joy0-[on|off]' for joystick 0 on port B |
|
134 'portb-joy1-[on|off]' for joystick 1 on port B |
|
135 'portb-anpad-[on|off]' for analog paddle on port B |
|
136 |
|
137 Default configuration is: |
|
138 'ikbd-joy1-on' (if IKBD events driver enabled) |
|
139 'xbios-joy1-on' (if gemdos/bios/gem events driver enabled) |
|
140 'porta-pad-on portb-pad-on' (if available on the machine) |
|
141 |
|
142 port[a|b]-[pad|joy?|lp|anpad]-* strings are mutually exclusives. |
|
143 On such a port, you can only use a joypad OR 1 or 2 joysticks OR |
|
144 a lightpen OR an analog paddle. You must disable joypad before |
|
145 setting another controller. |
|
146 |
|
147 The second joystick port on IKBD is used by the mouse, so not usable. |
|
148 Another problem with the IKBD: mouse buttons and joystick fire buttons |
|
149 are wired together at the hardware level, it means: |
|
150 port 0 port 0 port 1 |
|
151 mouse left button = joystick fire 0 = joystick fire 1 |
|
152 mouse right button = joystick fire 1 = joystick fire 0 |
|
153 |
|
154 Descriptions of joysticks/joypads: |
|
155 - Joypads: 1 hat, 17 buttons (Atari Jaguar console-like). |
|
156 - Joysticks: 1 hat, 1 button. |
|
157 - Lightpen, analog paddles: 2 axis, 2 buttons. The 2 buttons are those |
|
158 affected to 1 button joysticks on the same port. |
|
159 |
|
160 ============================================================================== |
|
161 VI. More informations about drivers: |
|
162 |
|
163 OpenGL: |
|
164 The default is to use the Mesa offscreen driver (osmesa.ldg). If you want |
|
165 to use an older OpenGL implementation, like mesa_gl.ldg or tiny_gl.ldg, |
|
166 your program must use SDL_GL_LoadLibrary() to do so, and retrieve the |
|
167 needed function pointers with SDL_LoadFunction(). In all cases, the OpenGL |
|
168 context is taken care of by SDL itself, you just have to use gl* functions. |
|
169 |
|
170 However, there is one OpenGL call that has a different prototype in the old |
|
171 implementations: glOrtho(). In the old implementations, it has 6 float as |
|
172 parameters, in the standard one, it has 6 double parameters. If you want |
|
173 to compile testdyngl, or any other SDL program that loads its OpenGL |
|
174 library, you must change the glOrtho() prototype used in this program. In |
|
175 osmesa.ldg, you can retrieve a glOrtho() with double parameters, by |
|
176 searching for the function "glOrtho6d". |
|
177 |
|
178 Xbios video: |
|
179 Video chip is detected using the _VDO cookie. |
|
180 Screen enhancers are not supported, but could be if you know how to |
|
181 use them. |
|
182 |
|
183 ST, STE, Mega ST, Mega STE: |
|
184 320x200x4 bits, shades of grey, available only for the purpose |
|
185 of testing SDL. |
|
186 TT: |
|
187 320x480x8 and 320x240x8 (software double-lined mode). |
|
188 Falcon: |
|
189 All modes supported by the current monitor (RVB or VGA). |
|
190 BlowUp and Centscreen extended modes, ScreenBlaster 3 current mode. |
|
191 Clones and any machine with monochrome monitor: |
|
192 Not supported. |
|
193 |
|
194 Gem video: |
|
195 Automatically used if xbios not available. |
|
196 |
|
197 All machines: |
|
198 Only the current resolution, if 8 bits or higher depth. |
|
199 |
|
200 IKBD keyboard, mouse and joystick driver: |
|
201 Available if _MCH cookie is ST, Mega ST, STE, Mega STE, TT or Falcon. |
|
202 |
|
203 Hades has an IKBD, but xbios is not available for video, so IKBD |
|
204 driver is disabled. |
|
205 |
|
206 Gemdos and bios keyboard driver: |
|
207 Available on all machines. |
|
208 |
|
209 Mouse and joystick xbios driver: |
|
210 Available on all machines (I think). |
|
211 |
|
212 Joypad driver: |
|
213 Available if _MCH cookie is STE or Falcon. Supports teamtap. |
|
214 |
|
215 PTH timer driver: |
|
216 Available with multitasking OS. |
|
217 |
|
218 VBL timer driver: |
|
219 Available on all machines (I think). |
|
220 |
|
221 Audio drivers: |
|
222 Cookies _SND, MCSN, STFA and GSXB used to detect supported audio |
|
223 capabilities. |
|
224 |
|
225 STE, Mega STE, TT: |
|
226 8 bits DMA (hardware access) |
|
227 STFA, MCSN or GSXB driver if installed |
|
228 Falcon: |
|
229 8 bits DMA (hardware access) |
|
230 Xbios functions |
|
231 STFA, MCSN or GSXB driver if installed |
|
232 Other machines: |
|
233 STFA, MCSN or GSXB driver if installed |
|
234 |
|
235 STFA driver: |
|
236 http://removers.free.fr/softs/stfa.html |
|
237 GSXB driver: |
|
238 http://assemsoft.atari.org/gsxb/ |
|
239 MacSound driver: |
|
240 http://jf.omnis.ch/software/tos/ |
|
241 MagicSound driver (MCSN,GSXB compatible): |
|
242 http://perso.wanadoo.fr/didierm/ |
|
243 X-Sound driver (GSXB compatible): |
|
244 http://www.uni-ulm.de/~s_thuth/atari/xsound_e.html |
|
245 |
|
246 -- |
|
247 Patrice Mandin <pmandin@caramail.com> |
|
248 http://pmandin.atari.org/ |