README.OS2
changeset 1190 173c063d4f55
child 1442 e3242177fe4a
equal deleted inserted replaced
1189:c96b326b90ba 1190:173c063d4f55
       
     1 
       
     2 ===========
       
     3 SDL on OS/2
       
     4 ===========
       
     5 
       
     6 Last updated on Oct 02, 2005.
       
     7 
       
     8 
       
     9 1. How to compile?
       
    10 ------------------
       
    11 
       
    12 To compile this, you'll need the followings installed:
       
    13 - The OS/2 Developer's Toolkit
       
    14 - The OpenWatcom compiler 
       
    15   (http://www.openwatcom.org)
       
    16 - The FSLib library
       
    17   (ftp://ftp.netlabs.org/pub/SDL)
       
    18 
       
    19 Please edit the second, fourth and fifth lines of setvars.cmd file
       
    20 to set the folders where the toolkit, the OW compiler and the FSLib are. 
       
    21 You won't need NASM yet (The Netwide Assembler), you can leave that line.
       
    22 Run setvars.cmd, and you should get a shell in which you can
       
    23 compile SDL.
       
    24 
       
    25 Check the "Watcom.mif" file. This is the file which is included by all the
       
    26 Watcom makefiles, so changes here will affect the whole build process.
       
    27 There is a line in there which determines if the resulting SDL.DLL will be
       
    28 a 'debug' or a 'release' build. The 'debug' version is full of printf()'s,
       
    29 so if something goes wrong, its output can help a lot for debugging.
       
    30 
       
    31 Then go to the 'src' folder, and run "wmake -f makefile.wat".
       
    32 This should create the SDL.DLL and the corresponding SDL.LIB file there.
       
    33 
       
    34 To test applications, it's a good idea to use the 'debug' build of SDL, and
       
    35 redirect the standard output and standard error output to files, to see what
       
    36 happens internally in SDL.
       
    37 (like: testsprite >stdout.txt 2>stderr.txt)
       
    38 
       
    39 To rebuild SDL, use the following commands in 'src' folder:
       
    40 wmake -f makefile.wat clean
       
    41 wmake -f makefile.wat
       
    42 
       
    43 
       
    44 
       
    45 2. How to compile the testapps?
       
    46 -------------------------------
       
    47 
       
    48 Once you have SDL.DLL compiled, navigate into the 'test' folder, copy in there
       
    49 the newly built SDL.DLL, and copy in there FSLib.DLL.
       
    50 
       
    51 Then run "wmake -f makefile.wat" in there to compile some of the testapps.
       
    52 
       
    53 
       
    54 
       
    55 3. What is missing?
       
    56 -------------------
       
    57 
       
    58 The following things are missing from this SDL implementation:
       
    59 - MMX, SSE and 3DNOW! optimized video blitters?
       
    60 - HW Video surfaces
       
    61 - OpenGL support
       
    62 
       
    63 
       
    64 
       
    65 4. Special Keys / Full-Screen support
       
    66 -------------------------------------
       
    67 
       
    68 There are two special hot-keys implemented:
       
    69 - Alt+Home switches between fullscreen and windowed mode
       
    70 - Alt+End simulates closing the window (can be used as a Panic key)
       
    71 Only the LEFT Alt key will work.
       
    72 
       
    73 
       
    74 
       
    75 5. Joysticks on SDL/2
       
    76 ---------------------
       
    77 
       
    78 The Joystick detection only works for standard joysticks (2 buttons, 2 axes
       
    79 and the like). Therefore, if you use a non-standard joystick, you should
       
    80 specify its features in the SDL_OS2_JOYSTICK environment variable in a batch
       
    81 file or CONFIG.SYS, so SDL applications can provide full capability to your
       
    82 device. The syntax is:
       
    83 
       
    84 SET SDL_OS2_JOYSTICK=[JOYSTICK_NAME] [AXES] [BUTTONS] [HATS] [BALLS]
       
    85 
       
    86 So, it you have a Gravis GamePad with 4 axes, 2 buttons, 2 hats and 0 balls,
       
    87 the line should be:
       
    88 
       
    89 SET SDL_OS2_JOYSTICK=Gravis_GamePad 4 2 2 0
       
    90 
       
    91 If you want to add spaces in your joystick name, just surround it with
       
    92 quotes or double-quotes:
       
    93 
       
    94 SET SDL_OS2_JOYSTICK='Gravis GamePad' 4 2 2 0
       
    95 
       
    96 or
       
    97 
       
    98 SET SDL_OS2_JOYSTICK="Gravis GamePad" 4 2 2 0
       
    99 
       
   100    Notive However that Balls and Hats are not supported under OS/2, and the
       
   101 value will be ignored... but it is wise to define these correctly because 
       
   102 in the future those can be supported.
       
   103    Also the number of buttons is limited to 2 when using two joysticks,
       
   104 4 when using one joystick with 4 axes, 6 when using a joystick with 3 axes
       
   105 and 8 when using a joystick with 2 axes. Notice however these are limitations 
       
   106 of the Joystick Port hardware, not OS/2.
       
   107 
       
   108 
       
   109 
       
   110 6. Next steps...
       
   111 ----------------
       
   112 
       
   113 Things to do:
       
   114 - Implement missing stuffs (look for 'TODO' string in source code!)
       
   115 - Finish video driver (the 'wincommon' can be a good example for missing
       
   116   things like application icon and so on...)
       
   117 - Enable MMX/SSE/SSE2 acceleration functions
       
   118 - Rewrite CDROM support using DOS Ioctl for better support.
       
   119 
       
   120 
       
   121 
       
   122 7. Contacts
       
   123 -----------
       
   124 
       
   125    You can contact the developers for bugs:
       
   126 
       
   127    Area					Developer		email
       
   128    General (Audio/Video/System)		Doodle			doodle@scenergy.dfmk.hu
       
   129    CDROM and Joystick			Caetano			daniel@caetano.eng.br
       
   130 
       
   131    Notice however that SDL/2 is 'in development' stage so ... if you want to help,
       
   132 please, be our guest and contact us!
       
   133