summaryrefslogtreecommitdiff
path: root/README.MiNT
diff options
context:
space:
mode:
authorGraydon, Tracy <tracy.graydon@intel.com>2012-11-28 19:43:53 -0800
committerGraydon, Tracy <tracy.graydon@intel.com>2012-11-28 19:43:53 -0800
commit55af18608e149dd3930e420014068df6fe416552 (patch)
tree3d85f5ddc0de53fce59b0a8a4dcd9891e58a43eb /README.MiNT
downloadSDL-55af18608e149dd3930e420014068df6fe416552.tar.gz
SDL-55af18608e149dd3930e420014068df6fe416552.tar.bz2
SDL-55af18608e149dd3930e420014068df6fe416552.zip
Initial commit for Tizensubmit/1.0/20121129.034415
Diffstat (limited to 'README.MiNT')
-rw-r--r--README.MiNT250
1 files changed, 250 insertions, 0 deletions
diff --git a/README.MiNT b/README.MiNT
new file mode 100644
index 0000000..eabe3eb
--- /dev/null
+++ b/README.MiNT
@@ -0,0 +1,250 @@
+==============================================================================
+Using the Simple DirectMedia Layer on Atari
+==============================================================================
+
+
+ If you want to build SDL from sources to create SDL programs on Atari:
+ see sections I - II.
+
+ If you want to create SDL programs on Atari using SDL binary build,
+ download it from my web site (URL at end of this file).
+
+ If you want to configure a program using SDL on Atari,
+ see sections IV - VI.
+
+
+==============================================================================
+I. Building the Simple DirectMedia Layer libraries:
+ (This step isn't necessary if you have the SDL binary distribution)
+
+ Do the classic configure, with --disable-shared --enable-static and:
+
+ Tos version (should run everywhere):
+ --disable-threads
+ Tos does not support threads.
+
+ MiNT version (maybe Magic, only for multitasking OS):
+ --disable-pthreads --enable-pth
+ Mint and Magic may supports threads, so audio can be used with current
+ devices, like Sun audio, or disk-writing support. Like Tos, interrupt
+ audio without threads is more suited for Atari machines.
+
+ Then you can make ; make install it.
+
+==============================================================================
+II. Building the Simple DirectMedia Layer test programs:
+
+ Do the classic configure, then make.
+
+ Run them !
+
+==============================================================================
+III. Enjoy! :)
+
+ If you have a project you'd like me to know about, or want to ask questions,
+ go ahead and join the SDL developer's mailing list by sending e-mail to:
+
+ sdl-request@libsdl.org
+
+ and put "subscribe" into the subject of the message. Or alternatively you
+ can use the web interface:
+
+ http://www.libsdl.org/mailman/listinfo/sdl
+
+==============================================================================
+IV. What is supported:
+
+Keyboard (GEMDOS, BIOS, GEM, Ikbd)
+Mouse (XBIOS, GEM, Ikbd, /dev/mouse (non working atm, disabled))
+Video (XBIOS (Fullscreen), GEM (Windowed and Fullscreen))
+Timer (VBL vector, GNU pth library)
+Joysticks and joypads (Ikbd, Hardware)
+Audio (Hardware, XBIOS, GSXB, MCSN, STFA, /dev/audio if threads enabled)
+Threads (Multitasking OS only via GNU pth library)
+Shared object loader (using LDG library from http://ldg.atari.org/)
+Audio CD (MetaDOS)
+OpenGL (using Mesa offscreen rendering driver)
+
+- Dependent driver combinations:
+Video Kbd Mouse Timer Joysticks
+xbios ikbd ikbd vbl(2) ikbd
+xbios gemdos xbios vbl(2) xbios
+xbios bios xbios vbl(2) xbios
+gem gem gem(1) vbl(2) xbios
+
+Audio O/S Misc
+dma8 All Uses MFP Timer A interrupt
+xbios TOS Uses MFP Timer A interrupt
+xbios MiNT Uses MFP Timer A interrupt
+xbios Magic Uses MFP Timer A interrupt
+stfa All Uses MFP interrupt
+mcsn TOS Uses MFP Timer A interrupt
+mcsn MiNT Uses MiNT thread
+mcsn Magic Disabled
+gsxb All Uses GSXB callback
+
+Joypad driver always uses hardware access.
+OpenGL driver always uses OSMesa.
+
+(1) GEM does not report relative mouse motion, so xbios mouse driver is used
+to report this type event.
+A preliminary driver for /dev/mouse device driver is present, but is disabled
+till it can be used with other applications simultaneously.
+
+(2) If you build SDL with threads using the GNU pth library, timers are
+supported via the pth library.
+
+==============================================================================
+V. Environment variables:
+
+SDL_VIDEODRIVER:
+ Set to 'xbios' to force xbios video driver
+ Set to 'gem' to force gem video driver
+
+SDL_VIDEO_GL_DRIVER:
+ Set to filename to load as OpenGL library, if you use SDL_GL_LoadLibrary()
+
+SDL_AUDIODRIVER:
+ Set to 'mint_gsxb' to force Atari GSXB audio driver
+ Set to 'mint_mcsn' to force Atari MCSN audio driver
+ Set to 'mint_stfa' to force Atari STFA audio driver
+ Set to 'mint_xbios' to force Atari Xbios audio driver
+ Set to 'mint_dma8' to force Atari 8 bits DMA audio driver
+ Set to 'audio' to force Sun /dev/audio audio driver
+ Set to 'disk' to force disk-writing audio driver
+
+SDL_ATARI_EVENTSDRIVER
+ Set to 'ikbd' to force IKBD 6301 keyboard driver
+ Set to 'gemdos' to force gemdos keyboard driver
+ Set to 'bios' to force bios keyboard driver
+
+SDL_JOYSTICK_ATARI:
+ Use any of these strings in the environment variable to enable or
+ disable a joystick:
+
+ 'ikbd-joy1-[on|off]' for IKBD joystick on port 1 (hardware access)
+ 'xbios-joy1-[on|off]' for IKBD joystick on port 1 (xbios access)
+ 'porta-pad-[on|off]' for joypad and/or teamtap on port A
+ 'porta-joy0-[on|off]' for joystick 0 on port A
+ 'porta-joy1-[on|off]' for joystick 1 on port A
+ 'porta-lp-[on|off]' for lightpen on port A
+ 'porta-anpad-[on|off]' for analog paddle on port A
+ 'portb-pad-[on|off]' for joypad and/or teamtap on port B
+ 'portb-joy0-[on|off]' for joystick 0 on port B
+ 'portb-joy1-[on|off]' for joystick 1 on port B
+ 'portb-anpad-[on|off]' for analog paddle on port B
+
+ Default configuration is:
+ 'ikbd-joy1-on' (if IKBD events driver enabled)
+ 'xbios-joy1-on' (if gemdos/bios/gem events driver enabled)
+ 'porta-pad-on portb-pad-on' (if available on the machine)
+
+ port[a|b]-[pad|joy?|lp|anpad]-* strings are mutually exclusives.
+ On such a port, you can only use a joypad OR 1 or 2 joysticks OR
+ a lightpen OR an analog paddle. You must disable joypad before
+ setting another controller.
+
+ The second joystick port on IKBD is used by the mouse, so not usable.
+ Another problem with the IKBD: mouse buttons and joystick fire buttons
+ are wired together at the hardware level, it means:
+ port 0 port 0 port 1
+ mouse left button = joystick fire 0 = joystick fire 1
+ mouse right button = joystick fire 1 = joystick fire 0
+
+ Descriptions of joysticks/joypads:
+ - Joypads: 1 hat, 17 buttons (Atari Jaguar console-like).
+ - Joysticks: 1 hat, 1 button.
+ - Lightpen, analog paddles: 2 axis, 2 buttons. The 2 buttons are those
+ affected to 1 button joysticks on the same port.
+
+==============================================================================
+VI. More informations about drivers:
+
+OpenGL:
+ The default is to use the Mesa offscreen driver (osmesa.ldg). If you want
+ to use an older OpenGL implementation, like mesa_gl.ldg or tiny_gl.ldg,
+ your program must use SDL_GL_LoadLibrary() to do so, and retrieve the
+ needed function pointers with SDL_LoadFunction(). In all cases, the OpenGL
+ context is taken care of by SDL itself, you just have to use gl* functions.
+
+ However, there is one OpenGL call that has a different prototype in the old
+ implementations: glOrtho(). In the old implementations, it has 6 float as
+ parameters, in the standard one, it has 6 double parameters. If you want
+ to compile testdyngl, or any other SDL program that loads its OpenGL
+ library, you must change the glOrtho() prototype used in this program. In
+ osmesa.ldg, you can retrieve a glOrtho() with double parameters, by
+ searching for the function "glOrtho6d".
+
+Xbios video:
+ Video chip is detected using the _VDO cookie.
+ Screen enhancers are not supported, but could be if you know how to
+ use them.
+
+ ST, STE, Mega ST, Mega STE:
+ 320x200x4 bits, shades of grey, available only for the purpose
+ of testing SDL.
+ TT:
+ 320x480x8 and 320x240x8 (software double-lined mode).
+ Falcon:
+ All modes supported by the current monitor (RVB or VGA).
+ BlowUp and Centscreen extended modes, ScreenBlaster 3 current mode.
+ Milan:
+ Experimental support
+ Clones and any machine with monochrome monitor:
+ Not supported.
+
+Gem video:
+ Automatically used if xbios not available.
+
+ All machines:
+ Only the current resolution, if 8 bits or higher depth.
+
+IKBD keyboard, mouse and joystick driver:
+ Available if _MCH cookie is ST, Mega ST, STE, Mega STE, TT or Falcon.
+
+ Hades has an IKBD, but xbios is not available for video, so IKBD
+ driver is disabled.
+
+Gemdos and bios keyboard driver:
+ Available on all machines.
+
+Mouse and joystick xbios driver:
+ Available on all machines (I think).
+
+Joypad driver:
+ Available if _MCH cookie is STE or Falcon. Supports teamtap.
+
+PTH timer driver:
+ Available with multitasking OS.
+
+VBL timer driver:
+ Available on all machines (I think).
+
+Audio drivers:
+ Cookies _SND, MCSN, STFA and GSXB used to detect supported audio
+ capabilities.
+
+ STE, Mega STE, TT:
+ 8 bits DMA (hardware access)
+ STFA, MCSN or GSXB driver if installed
+ Falcon:
+ 8 bits DMA (hardware access)
+ Xbios functions
+ STFA, MCSN or GSXB driver if installed
+ Other machines:
+ STFA, MCSN or GSXB driver if installed
+
+ STFA driver:
+ http://removers.free.fr/softs/stfa.html
+ GSXB driver:
+ http://assemsoft.atari.org/gsxb/
+ MacSound driver:
+ http://jf.omnis.ch/software/tos/
+ MagicSound driver (MCSN,GSXB compatible):
+ http://perso.wanadoo.fr/didierm/
+ X-Sound driver (GSXB compatible):
+ http://www.uni-ulm.de/~s_thuth/atari/xsound_e.html
+
+--
+Patrice Mandin <patmandin@gmail.com>
+http://pmandin.atari.org/