19682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
29682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall===========
39682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallSDL on OS/2
49682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall===========
59682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
69682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallLast updated on May. 17, 2006.
79682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
89682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
99682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall1. How to compile?
109682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall------------------
119682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
129682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallTo compile this, you'll need the followings installed:
139682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall- The OS/2 Developer's Toolkit
149682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall- The OpenWatcom compiler 
159682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall  (http://www.openwatcom.org)
169682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
179682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallFirst of all, you have to unzip the Watcom-OS2.zip file. This will result in a 
189682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallfile called "makefile" and a file called "setvars.cmd" in this folder (and some
199682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallmore files...).
209682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
219682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallPlease edit the second, fourth and fifth lines of setvars.cmd file
229682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallto set the folders where the toolkit, the OW compiler and the FSLib are. 
239682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallYou won't need NASM yet (The Netwide Assembler), you can leave that line.
249682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallRun setvars.cmd, and you should get a shell in which you can
259682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallcompile SDL.
269682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
279682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallCheck the "makefile" file. There is a line in there which determines if the 
289682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallresulting SDL.DLL will be a 'debug' or a 'release' build. The 'debug' version 
299682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallis full of printf()'s, so if something goes wrong, its output can help a lot
309682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallfor debugging.
319682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
329682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallThen run "wmake".
339682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallThis should create the SDL12.DLL and the corresponding SDL12.LIB file here.
349682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
359682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallTo test applications, it's a good idea to use the 'debug' build of SDL, and
369682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallredirect the standard output and standard error output to files, to see what
379682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallhappens internally in SDL.
389682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall(like: testsprite >stdout.txt 2>stderr.txt)
399682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
409682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallTo rebuild SDL, use the following commands in this folder:
419682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallwmake clean
429682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallwmake
439682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
449682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
459682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
469682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall2. How to compile the testapps?
479682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall-------------------------------
489682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
499682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallOnce you have SDL12.DLL compiled, navigate into the 'test' folder, copy in 
509682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallthere the newly built SDL12.DLL, and copy in there FSLib.DLL.
519682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
529682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallThen run "wmake" in there to compile some of the testapps.
539682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
549682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
559682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
569682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall3. What is missing?
579682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall-------------------
589682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
599682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallThe following things are missing from this SDL implementation:
609682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall- MMX, SSE and 3DNOW! optimized video blitters?
619682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall- HW Video surfaces
629682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall- OpenGL support
639682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
649682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
659682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
669682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall4. Special Keys / Full-Screen support
679682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall-------------------------------------
689682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
699682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallThere are two special hot-keys implemented:
709682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall- Alt+Home switches between fullscreen and windowed mode
719682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall- Alt+End simulates closing the window (can be used as a Panic key)
729682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallOnly the LEFT Alt key will work.
739682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
749682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
759682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
769682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall5. Joysticks on SDL/2
779682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall---------------------
789682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
799682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallThe Joystick detection only works for standard joysticks (2 buttons, 2 axes
809682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halland the like). Therefore, if you use a non-standard joystick, you should
819682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallspecify its features in the SDL_OS2_JOYSTICK environment variable in a batch
829682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallfile or CONFIG.SYS, so SDL applications can provide full capability to your
839682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halldevice. The syntax is:
849682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
859682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallSET SDL_OS2_JOYSTICK=[JOYSTICK_NAME] [AXES] [BUTTONS] [HATS] [BALLS]
869682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
879682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallSo, it you have a Gravis GamePad with 4 axes, 2 buttons, 2 hats and 0 balls,
889682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallthe line should be:
899682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
909682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallSET SDL_OS2_JOYSTICK=Gravis_GamePad 4 2 2 0
919682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
929682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallIf you want to add spaces in your joystick name, just surround it with
939682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallquotes or double-quotes:
949682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
959682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallSET SDL_OS2_JOYSTICK='Gravis GamePad' 4 2 2 0
969682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
979682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallor
989682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
999682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallSET SDL_OS2_JOYSTICK="Gravis GamePad" 4 2 2 0
1009682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1019682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   Notive However that Balls and Hats are not supported under OS/2, and the
1029682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallvalue will be ignored... but it is wise to define these correctly because 
1039682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallin the future those can be supported.
1049682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   Also the number of buttons is limited to 2 when using two joysticks,
1059682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall4 when using one joystick with 4 axes, 6 when using a joystick with 3 axes
1069682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halland 8 when using a joystick with 2 axes. Notice however these are limitations 
1079682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallof the Joystick Port hardware, not OS/2.
1089682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1099682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1109682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1119682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall6. Proportional windows
1129682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall-----------------------
1139682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1149682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallFor some SDL applications it can be handy to have proportional windows, so
1159682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallthe windows will keep their aspect ratio when resized.
1169682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallThis can be achieved in two ways:
1179682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1189682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall- Before starting the given SDL application, set the
1199682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall  SDL_USE_PROPORTIONAL_WINDOW environment variable to something, e.g.:
1209682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1219682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall  SET SDL_USE_PROPORTIONAL_WINDOW=1
1229682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall  dosbox.exe
1239682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1249682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall- If you have a HOME environment variable set, then SDL will look for a file
1259682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall  in there called ".sdl.proportionals". If that file contains the name of the
1269682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall  currently running SDL executable, then that process will have proportional
1279682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall  windows automatically.
1289682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1299682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall  Please note that this file is created automatically with default values
1309682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall  at the first run.
1319682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1329682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1339682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1349682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall7. Audio in SDL applications
1359682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall----------------------------
1369682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1379682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallAudio effects are one of the most important features in games. Creating audio
1389682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halleffects in sync with the game and without hickups and pauses in the audio are
1399682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallvery important things.
1409682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1419682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallHowever there are multithreaded SDL applications that have tight loops as their
1429682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallmain logic loop. This kills performance in OS/2, and takes too much CPU from
1439682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallother threads in the same process, for example from the thread to create the 
1449682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallsound effects.
1459682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1469682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallFor this reason, the OS/2 port of SDL can be instructed to run the audio thread
1479682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallin high priority, which makes sure that there will be enough time for the 
1489682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallprocessing of the audio data.
1499682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1509682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallAt default, SDL/2 runs the audio thread at ForegroundServer+0 priority. Well 
1519682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallwritten and well behaving SDL applications should work well in this mode.
1529682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallFor other applications, you can tell SDL/2 to run the audio thread at 
1539682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallTimeCritical priority by setting an env.variable before starting the SDL app:
1549682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1559682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    SET SDL_USE_TIMECRITICAL_AUDIO=1
1569682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1579682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallPlease note that this is a bit risky, because if the SDL application runs a
1589682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Halltight infinite loop in this thread, this will make the whole system 
1599682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallunresponsive, so use it with care, and only for applications that need it!
1609682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1619682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1629682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1639682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall8. Next steps...
1649682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall----------------
1659682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1669682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallThings to do:
1679682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall- Implement missing stuffs (look for 'TODO' string in source code!)
1689682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall- Finish video driver (the 'wincommon' can be a good example for missing
1699682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall  things like application icon and so on...)
1709682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall- Enable MMX/SSE/SSE2 acceleration functions
1719682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall- Rewrite CDROM support using DOS Ioctl for better support.
1729682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1739682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1749682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1759682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall9. Contacts
1769682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall-----------
1779682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1789682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   You can contact the developers for bugs:
1799682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1809682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   Area					Developer		email
1819682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   General (Audio/Video/System)		Doodle			doodle@scenergy.dfmk.hu
1829682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   CDROM and Joystick			Caetano			daniel@caetano.eng.br
1839682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1849682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   Notice however that SDL/2 is 'in development' stage so ... if you want to help,
1859682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hallplease, be our guest and contact us!
1869682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1879682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1889682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1899682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall10. Changelog of the OS/2 port
1909682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall------------------------------
1919682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1929682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallVersion 1.2.10 - 2006-05-17  - Doodle
1939682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall - Small modifications for v1.2.10 release
1949682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall - Changed DLL name to include version info (currently SDL12.dll)
1959682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
1969682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallVersion 1.2 - 2006-05-01  - Doodle
1979682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall - Modified makefile system to have only one makefile
1989682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall - Included FSLib headers, DLL and LIB file
1999682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
2009682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallVersion 1.2 - 2006-02-26  - Doodle
2019682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall - Updated the official SDL version with the OS/2 specific changes.
2029682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall - Added support for real unicode keycode conversion.
2039682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
2049682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallVersion 1.2.7 - 2006-01-20  - Doodle
2059682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall - Added support for selectively using timecritical priority for
2069682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   audio threads by SDL_USE_TIMECRITICAL_AUDIO environment variable.
2079682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   (e.g.: 
2089682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    SET SDL_USE_TIMECRITICAL_AUDIO=1
2099682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    dosbox.exe
2109682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   )
2119682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
2129682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallVersion 1.2.7 - 2005-12-22  - Doodle
2139682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall - Added support for proportional SDL windows.
2149682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   There are two ways to have proportional (aspect-keeping) windows for
2159682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   a given SDL application: Either set the SDL_USE_PROPORTIONAL_WINDOW
2169682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   environment variable to something before starting the application
2179682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   (e.g.: 
2189682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    SET SDL_USE_PROPORTIONAL_WINDOW=1
2199682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall    dosbox.exe
2209682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   )
2219682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   or, if you have the HOME environment variable set, then SDL12.DLL will
2229682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   create a file in that directory called .sdl.proportionals, and you can
2239682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   put there the name of executable files that will be automatically made
2249682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   proportional.
2259682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
2269682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallVersion 1.2.7 - 2005-10-14  - Doodle
2279682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall - Enabled Exception handler code in FSLib to be able to restore original
2289682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   desktop video mode in case the application crashes.
2299682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall - Added the missing FSLib_Uninitialize() call into SDL.
2309682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   (The lack of it did not cause problems, but it's cleaner this way.)
2319682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall - Fixed a mouse problem in Fullscreen mode where any mouse click
2329682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   re-centered the mouse.
2339682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
2349682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallVersion 1.2.7 - 2005-10-09  - Doodle
2359682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall - Implemented window icon support
2369682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
2379682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallVersion 1.2.7 - 2005-10-03  - Doodle
2389682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall - Reworked semaphore support again
2399682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall - Tuned thread priorities
2409682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
2419682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallVersion 1.2.7 - 2005-10-02  - Doodle
2429682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall - Added support for custom mouse pointers
2439682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall - Fixed WM_CLOSE processing: give a chance to SDL app to ask user...
2449682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall - Added support for MMX-accelerated audio mixers
2459682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall - Other small fixes
2469682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
2479682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallVersion 1.2.7 - 2005-09-12  - Doodle
2489682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall - Small fixes for DosBox incorporated into public release
2499682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall - Fixed semaphore support (SDL_syssem.c)
2509682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall - Fixed FSLib to have good clipping in scaled window mode,
2519682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall   and to prevent occasional desktop freezes.
2529682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
2539682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallVersion 1.2.7 - 2004-09-08a - Caetano
2549682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	- Improved joystick support (general verifications about hardware).
2559682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	- Added support up to 8 buttons in 2 axes joysticks and 6 buttons in 3 axes joysticks.
2569682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	- Added support to environment variable SDL_OS2_JOYSTICK to specify a joystick.
2579682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	- Improved Joystick test to handle every type of joystick and display only relevant information.
2589682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	- Merged with Doodle 2004-09-08
2599682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	- Little tid up in README.OS2
2609682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	- Added explanation about SDL_OS2_JOYSTICK environment variable on README.OS2
2619682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
2629682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallVersion 1.2.7 - 2004-09-07 - Caetano
2639682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	- Merged with changes in headers for GCC compiling.
2649682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	- Added Joystick support using basic IBM GAME$ support, allowing it to work with all joystick drivers since OS/2 2.1.
2659682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	- Improved joystick detection (hacked!). OS/2 do not allow real joystick detection, so... 
2669682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	- Modified makefile in test to compile "testjoystick". Anyway, it's useless, since it seems to cause a lot of trouble in OS/2 (because os video routines, not Joystick support).
2679682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	- Created separated Joystick test program to test only joystick functions.
2689682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	- Improved joystick auto-centering.
2699682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	- Improved the coordinate correction routine to use two scale factors for each axis.
2709682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
2719682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallVersion 1.2.7 - 2004-07-05 - Caetano
2729682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	- Corrected the time returned by status in CDROM support (it was incorrect)
2739682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	- Added the testcdrom.c and corrected the linking directive (it was causing an error)
2749682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
2759682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse HallVersion 1.2.7 - 2004-07-02a - Caetano
2769682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	- Corrected a little problem in a comment at SDL-1.2.7\test\torturethread.c, line 18 (missing */, nested comment)
2779682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	- Added CDROM support to tree (SDL-1.2.7\src\cdrom\os2\SDL_syscdrom.c)
2789682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	- Modified makefile (SDL-1.2.7\src\makefiles.wat and SDL-1.2.7\watcom.mif) to build with CDROM support
2799682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall	- Added the "extra" SDL_types.h forgotten in 2004-07-02 version.
2809682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall
2819682c8870b8ff5e4ac2e4c70b759f791c6f38c1fJesse Hall<End-Of-File>
282