README.OS2
author Szymon Wilczek <kazeuser@gmail.com>
Thu, 14 Aug 2008 08:28:19 +0000
branchgsoc2008_manymouse
changeset 3779 5f599ed92fb9
parent 1895 c121d94672cb
child 3244 7c73d5b5a0d6
permissions -rw-r--r--
Small improvements
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1190
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
     1
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
     2
===========
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
     3
SDL on OS/2
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
     4
===========
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
     5
1895
c121d94672cb SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents: 1850
diff changeset
     6
Last updated on May. 1, 2006.
1190
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
     7
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
     8
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
     9
1. How to compile?
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    10
------------------
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    11
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    12
To compile this, you'll need the followings installed:
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    13
- The OS/2 Developer's Toolkit
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    14
- The OpenWatcom compiler 
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    15
  (http://www.openwatcom.org)
1895
c121d94672cb SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents: 1850
diff changeset
    16
- The FSLib library
c121d94672cb SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents: 1850
diff changeset
    17
  (ftp://ftp.netlabs.org/pub/SDL)
1190
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    18
1758
45138f6a2fb5 Updated OS/2 project files
Sam Lantinga <slouken@libsdl.org>
parents: 1442
diff changeset
    19
First of all, you have to unzip the Watcom-OS2.zip file. This will result in a 
45138f6a2fb5 Updated OS/2 project files
Sam Lantinga <slouken@libsdl.org>
parents: 1442
diff changeset
    20
file called "makefile" and a file called "setvars.cmd" in this folder (and some
45138f6a2fb5 Updated OS/2 project files
Sam Lantinga <slouken@libsdl.org>
parents: 1442
diff changeset
    21
more files...).
1442
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
    22
1190
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    23
Please edit the second, fourth and fifth lines of setvars.cmd file
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    24
to set the folders where the toolkit, the OW compiler and the FSLib are. 
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    25
You won't need NASM yet (The Netwide Assembler), you can leave that line.
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    26
Run setvars.cmd, and you should get a shell in which you can
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    27
compile SDL.
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    28
1758
45138f6a2fb5 Updated OS/2 project files
Sam Lantinga <slouken@libsdl.org>
parents: 1442
diff changeset
    29
Check the "makefile" file. There is a line in there which determines if the 
45138f6a2fb5 Updated OS/2 project files
Sam Lantinga <slouken@libsdl.org>
parents: 1442
diff changeset
    30
resulting SDL.DLL will be a 'debug' or a 'release' build. The 'debug' version 
45138f6a2fb5 Updated OS/2 project files
Sam Lantinga <slouken@libsdl.org>
parents: 1442
diff changeset
    31
is full of printf()'s, so if something goes wrong, its output can help a lot
45138f6a2fb5 Updated OS/2 project files
Sam Lantinga <slouken@libsdl.org>
parents: 1442
diff changeset
    32
for debugging.
1190
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    33
1758
45138f6a2fb5 Updated OS/2 project files
Sam Lantinga <slouken@libsdl.org>
parents: 1442
diff changeset
    34
Then run "wmake".
1895
c121d94672cb SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents: 1850
diff changeset
    35
This should create the SDL.DLL and the corresponding SDL.LIB file here.
1190
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    36
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    37
To test applications, it's a good idea to use the 'debug' build of SDL, and
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    38
redirect the standard output and standard error output to files, to see what
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    39
happens internally in SDL.
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    40
(like: testsprite >stdout.txt 2>stderr.txt)
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    41
1758
45138f6a2fb5 Updated OS/2 project files
Sam Lantinga <slouken@libsdl.org>
parents: 1442
diff changeset
    42
To rebuild SDL, use the following commands in this folder:
45138f6a2fb5 Updated OS/2 project files
Sam Lantinga <slouken@libsdl.org>
parents: 1442
diff changeset
    43
wmake clean
45138f6a2fb5 Updated OS/2 project files
Sam Lantinga <slouken@libsdl.org>
parents: 1442
diff changeset
    44
wmake
1190
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    45
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    46
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    47
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    48
2. How to compile the testapps?
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    49
-------------------------------
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    50
1895
c121d94672cb SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents: 1850
diff changeset
    51
Once you have SDL.DLL compiled, navigate into the 'test' folder, copy in there
c121d94672cb SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents: 1850
diff changeset
    52
the newly built SDL.DLL, and copy in there FSLib.DLL.
1190
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    53
1758
45138f6a2fb5 Updated OS/2 project files
Sam Lantinga <slouken@libsdl.org>
parents: 1442
diff changeset
    54
Then run "wmake" in there to compile some of the testapps.
1190
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    55
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    56
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    57
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    58
3. What is missing?
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    59
-------------------
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    60
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    61
The following things are missing from this SDL implementation:
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    62
- MMX, SSE and 3DNOW! optimized video blitters?
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    63
- HW Video surfaces
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    64
- OpenGL support
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    65
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    66
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    67
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    68
4. Special Keys / Full-Screen support
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    69
-------------------------------------
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    70
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    71
There are two special hot-keys implemented:
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    72
- Alt+Home switches between fullscreen and windowed mode
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    73
- Alt+End simulates closing the window (can be used as a Panic key)
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    74
Only the LEFT Alt key will work.
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    75
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    76
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    77
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    78
5. Joysticks on SDL/2
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    79
---------------------
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    80
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    81
The Joystick detection only works for standard joysticks (2 buttons, 2 axes
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    82
and the like). Therefore, if you use a non-standard joystick, you should
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    83
specify its features in the SDL_OS2_JOYSTICK environment variable in a batch
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    84
file or CONFIG.SYS, so SDL applications can provide full capability to your
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    85
device. The syntax is:
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    86
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    87
SET SDL_OS2_JOYSTICK=[JOYSTICK_NAME] [AXES] [BUTTONS] [HATS] [BALLS]
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    88
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    89
So, it you have a Gravis GamePad with 4 axes, 2 buttons, 2 hats and 0 balls,
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    90
the line should be:
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    91
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    92
SET SDL_OS2_JOYSTICK=Gravis_GamePad 4 2 2 0
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    93
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    94
If you want to add spaces in your joystick name, just surround it with
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    95
quotes or double-quotes:
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    96
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    97
SET SDL_OS2_JOYSTICK='Gravis GamePad' 4 2 2 0
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    98
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    99
or
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   100
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   101
SET SDL_OS2_JOYSTICK="Gravis GamePad" 4 2 2 0
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   102
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   103
   Notive However that Balls and Hats are not supported under OS/2, and the
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   104
value will be ignored... but it is wise to define these correctly because 
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   105
in the future those can be supported.
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   106
   Also the number of buttons is limited to 2 when using two joysticks,
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   107
4 when using one joystick with 4 axes, 6 when using a joystick with 3 axes
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   108
and 8 when using a joystick with 2 axes. Notice however these are limitations 
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   109
of the Joystick Port hardware, not OS/2.
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   110
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   111
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   112
1442
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   113
6. Proportional windows
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   114
-----------------------
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   115
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   116
For some SDL applications it can be handy to have proportional windows, so
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   117
the windows will keep their aspect ratio when resized.
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   118
This can be achieved in two ways:
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   119
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   120
- Before starting the given SDL application, set the
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   121
  SDL_USE_PROPORTIONAL_WINDOW environment variable to something, e.g.:
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   122
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   123
  SET SDL_USE_PROPORTIONAL_WINDOW=1
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   124
  dosbox.exe
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   125
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   126
- If you have a HOME environment variable set, then SDL will look for a file
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   127
  in there called ".sdl.proportionals". If that file contains the name of the
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   128
  currently running SDL executable, then that process will have proportional
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   129
  windows automatically.
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   130
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   131
  Please note that this file is created automatically with default values
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   132
  at the first run.
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   133
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   134
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   135
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   136
7. Audio in SDL applications
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   137
----------------------------
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   138
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   139
Audio effects are one of the most important features in games. Creating audio
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   140
effects in sync with the game and without hickups and pauses in the audio are
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   141
very important things.
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   142
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   143
However there are multithreaded SDL applications that have tight loops as their
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   144
main logic loop. This kills performance in OS/2, and takes too much CPU from
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   145
other threads in the same process, for example from the thread to create the 
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   146
sound effects.
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   147
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   148
For this reason, the OS/2 port of SDL can be instructed to run the audio thread
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   149
in high priority, which makes sure that there will be enough time for the 
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   150
processing of the audio data.
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   151
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   152
At default, SDL/2 runs the audio thread at ForegroundServer+0 priority. Well 
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   153
written and well behaving SDL applications should work well in this mode.
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   154
For other applications, you can tell SDL/2 to run the audio thread at 
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   155
TimeCritical priority by setting an env.variable before starting the SDL app:
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   156
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   157
    SET SDL_USE_TIMECRITICAL_AUDIO=1
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   158
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   159
Please note that this is a bit risky, because if the SDL application runs a
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   160
tight infinite loop in this thread, this will make the whole system 
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   161
unresponsive, so use it with care, and only for applications that need it!
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   162
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   163
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   164
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   165
8. Next steps...
1190
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   166
----------------
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   167
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   168
Things to do:
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   169
- Implement missing stuffs (look for 'TODO' string in source code!)
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   170
- Finish video driver (the 'wincommon' can be a good example for missing
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   171
  things like application icon and so on...)
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   172
- Enable MMX/SSE/SSE2 acceleration functions
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   173
- Rewrite CDROM support using DOS Ioctl for better support.
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   174
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   175
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   176
1442
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   177
9. Contacts
1190
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   178
-----------
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   179
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   180
   You can contact the developers for bugs:
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   181
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   182
   Area					Developer		email
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   183
   General (Audio/Video/System)		Doodle			doodle@scenergy.dfmk.hu
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   184
   CDROM and Joystick			Caetano			daniel@caetano.eng.br
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   185
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   186
   Notice however that SDL/2 is 'in development' stage so ... if you want to help,
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   187
please, be our guest and contact us!
173c063d4f55 OS/2 port!
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
   188
1442
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   189
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   190
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   191
10. Changelog of the OS/2 port
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   192
------------------------------
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   193
1758
45138f6a2fb5 Updated OS/2 project files
Sam Lantinga <slouken@libsdl.org>
parents: 1442
diff changeset
   194
Version 1.2 - 2006-05-01  - Doodle
45138f6a2fb5 Updated OS/2 project files
Sam Lantinga <slouken@libsdl.org>
parents: 1442
diff changeset
   195
 - Modified makefile system to have only one makefile
45138f6a2fb5 Updated OS/2 project files
Sam Lantinga <slouken@libsdl.org>
parents: 1442
diff changeset
   196
 - Included FSLib headers, DLL and LIB file
45138f6a2fb5 Updated OS/2 project files
Sam Lantinga <slouken@libsdl.org>
parents: 1442
diff changeset
   197
1442
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   198
Version 1.2 - 2006-02-26  - Doodle
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   199
 - Updated the official SDL version with the OS/2 specific changes.
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   200
 - Added support for real unicode keycode conversion.
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   201
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   202
Version 1.2.7 - 2006-01-20  - Doodle
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   203
 - Added support for selectively using timecritical priority for
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   204
   audio threads by SDL_USE_TIMECRITICAL_AUDIO environment variable.
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   205
   (e.g.: 
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   206
    SET SDL_USE_TIMECRITICAL_AUDIO=1
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   207
    dosbox.exe
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   208
   )
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   209
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   210
Version 1.2.7 - 2005-12-22  - Doodle
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   211
 - Added support for proportional SDL windows.
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   212
   There are two ways to have proportional (aspect-keeping) windows for
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   213
   a given SDL application: Either set the SDL_USE_PROPORTIONAL_WINDOW
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   214
   environment variable to something before starting the application
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   215
   (e.g.: 
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   216
    SET SDL_USE_PROPORTIONAL_WINDOW=1
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   217
    dosbox.exe
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   218
   )
1895
c121d94672cb SDL 1.2 is moving to a branch, and SDL 1.3 is becoming the head.
Sam Lantinga <slouken@libsdl.org>
parents: 1850
diff changeset
   219
   or, if you have the HOME environment variable set, then SDL.DLL will
1442
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   220
   create a file in that directory called .sdl.proportionals, and you can
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   221
   put there the name of executable files that will be automatically made
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   222
   proportional.
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   223
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   224
Version 1.2.7 - 2005-10-14  - Doodle
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   225
 - Enabled Exception handler code in FSLib to be able to restore original
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   226
   desktop video mode in case the application crashes.
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   227
 - Added the missing FSLib_Uninitialize() call into SDL.
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   228
   (The lack of it did not cause problems, but it's cleaner this way.)
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   229
 - Fixed a mouse problem in Fullscreen mode where any mouse click
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   230
   re-centered the mouse.
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   231
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   232
Version 1.2.7 - 2005-10-09  - Doodle
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   233
 - Implemented window icon support
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   234
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   235
Version 1.2.7 - 2005-10-03  - Doodle
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   236
 - Reworked semaphore support again
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   237
 - Tuned thread priorities
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   238
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   239
Version 1.2.7 - 2005-10-02  - Doodle
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   240
 - Added support for custom mouse pointers
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   241
 - Fixed WM_CLOSE processing: give a chance to SDL app to ask user...
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   242
 - Added support for MMX-accelerated audio mixers
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   243
 - Other small fixes
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   244
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   245
Version 1.2.7 - 2005-09-12  - Doodle
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   246
 - Small fixes for DosBox incorporated into public release
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   247
 - Fixed semaphore support (SDL_syssem.c)
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   248
 - Fixed FSLib to have good clipping in scaled window mode,
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   249
   and to prevent occasional desktop freezes.
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   250
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   251
Version 1.2.7 - 2004-09-08a - Caetano
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   252
	- Improved joystick support (general verifications about hardware).
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   253
	- Added support up to 8 buttons in 2 axes joysticks and 6 buttons in 3 axes joysticks.
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   254
	- Added support to environment variable SDL_OS2_JOYSTICK to specify a joystick.
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   255
	- Improved Joystick test to handle every type of joystick and display only relevant information.
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   256
	- Merged with Doodle 2004-09-08
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   257
	- Little tid up in README.OS2
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   258
	- Added explanation about SDL_OS2_JOYSTICK environment variable on README.OS2
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   259
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   260
Version 1.2.7 - 2004-09-07 - Caetano
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   261
	- Merged with changes in headers for GCC compiling.
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   262
	- Added Joystick support using basic IBM GAME$ support, allowing it to work with all joystick drivers since OS/2 2.1.
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   263
	- Improved joystick detection (hacked!). OS/2 do not allow real joystick detection, so... 
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   264
	- 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).
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   265
	- Created separated Joystick test program to test only joystick functions.
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   266
	- Improved joystick auto-centering.
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   267
	- Improved the coordinate correction routine to use two scale factors for each axis.
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   268
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   269
Version 1.2.7 - 2004-07-05 - Caetano
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   270
	- Corrected the time returned by status in CDROM support (it was incorrect)
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   271
	- Added the testcdrom.c and corrected the linking directive (it was causing an error)
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   272
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   273
Version 1.2.7 - 2004-07-02a - Caetano
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   274
	- Corrected a little problem in a comment at SDL-1.2.7\test\torturethread.c, line 18 (missing */, nested comment)
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   275
	- Added CDROM support to tree (SDL-1.2.7\src\cdrom\os2\SDL_syscdrom.c)
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   276
	- Modified makefile (SDL-1.2.7\src\makefiles.wat and SDL-1.2.7\watcom.mif) to build with CDROM support
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   277
	- Added the "extra" SDL_types.h forgotten in 2004-07-02 version.
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   278
e3242177fe4a Updated OS/2 build, yay!
Sam Lantinga <slouken@libsdl.org>
parents: 1190
diff changeset
   279
<End-Of-File>