This was mostly, if not entirely, written by "Doodle" and "Caetano": doodle@scenergy.dfmk.hu daniel@caetano.eng.br --ryan. --HG-- extra : convert_revision : svn%3Ac70aab31-4412-0410-b14c-859654838e24/trunk%401193
133 lines
4 KiB
Text
133 lines
4 KiB
Text
|
|
===========
|
|
SDL on OS/2
|
|
===========
|
|
|
|
Last updated on Oct 02, 2005.
|
|
|
|
|
|
1. How to compile?
|
|
------------------
|
|
|
|
To compile this, you'll need the followings installed:
|
|
- The OS/2 Developer's Toolkit
|
|
- The OpenWatcom compiler
|
|
(http://www.openwatcom.org)
|
|
- The FSLib library
|
|
(ftp://ftp.netlabs.org/pub/SDL)
|
|
|
|
Please edit the second, fourth and fifth lines of setvars.cmd file
|
|
to set the folders where the toolkit, the OW compiler and the FSLib are.
|
|
You won't need NASM yet (The Netwide Assembler), you can leave that line.
|
|
Run setvars.cmd, and you should get a shell in which you can
|
|
compile SDL.
|
|
|
|
Check the "Watcom.mif" file. This is the file which is included by all the
|
|
Watcom makefiles, so changes here will affect the whole build process.
|
|
There is a line in there which determines if the resulting SDL.DLL will be
|
|
a 'debug' or a 'release' build. The 'debug' version is full of printf()'s,
|
|
so if something goes wrong, its output can help a lot for debugging.
|
|
|
|
Then go to the 'src' folder, and run "wmake -f makefile.wat".
|
|
This should create the SDL.DLL and the corresponding SDL.LIB file there.
|
|
|
|
To test applications, it's a good idea to use the 'debug' build of SDL, and
|
|
redirect the standard output and standard error output to files, to see what
|
|
happens internally in SDL.
|
|
(like: testsprite >stdout.txt 2>stderr.txt)
|
|
|
|
To rebuild SDL, use the following commands in 'src' folder:
|
|
wmake -f makefile.wat clean
|
|
wmake -f makefile.wat
|
|
|
|
|
|
|
|
2. How to compile the testapps?
|
|
-------------------------------
|
|
|
|
Once you have SDL.DLL compiled, navigate into the 'test' folder, copy in there
|
|
the newly built SDL.DLL, and copy in there FSLib.DLL.
|
|
|
|
Then run "wmake -f makefile.wat" in there to compile some of the testapps.
|
|
|
|
|
|
|
|
3. What is missing?
|
|
-------------------
|
|
|
|
The following things are missing from this SDL implementation:
|
|
- MMX, SSE and 3DNOW! optimized video blitters?
|
|
- HW Video surfaces
|
|
- OpenGL support
|
|
|
|
|
|
|
|
4. Special Keys / Full-Screen support
|
|
-------------------------------------
|
|
|
|
There are two special hot-keys implemented:
|
|
- Alt+Home switches between fullscreen and windowed mode
|
|
- Alt+End simulates closing the window (can be used as a Panic key)
|
|
Only the LEFT Alt key will work.
|
|
|
|
|
|
|
|
5. Joysticks on SDL/2
|
|
---------------------
|
|
|
|
The Joystick detection only works for standard joysticks (2 buttons, 2 axes
|
|
and the like). Therefore, if you use a non-standard joystick, you should
|
|
specify its features in the SDL_OS2_JOYSTICK environment variable in a batch
|
|
file or CONFIG.SYS, so SDL applications can provide full capability to your
|
|
device. The syntax is:
|
|
|
|
SET SDL_OS2_JOYSTICK=[JOYSTICK_NAME] [AXES] [BUTTONS] [HATS] [BALLS]
|
|
|
|
So, it you have a Gravis GamePad with 4 axes, 2 buttons, 2 hats and 0 balls,
|
|
the line should be:
|
|
|
|
SET SDL_OS2_JOYSTICK=Gravis_GamePad 4 2 2 0
|
|
|
|
If you want to add spaces in your joystick name, just surround it with
|
|
quotes or double-quotes:
|
|
|
|
SET SDL_OS2_JOYSTICK='Gravis GamePad' 4 2 2 0
|
|
|
|
or
|
|
|
|
SET SDL_OS2_JOYSTICK="Gravis GamePad" 4 2 2 0
|
|
|
|
Notive However that Balls and Hats are not supported under OS/2, and the
|
|
value will be ignored... but it is wise to define these correctly because
|
|
in the future those can be supported.
|
|
Also the number of buttons is limited to 2 when using two joysticks,
|
|
4 when using one joystick with 4 axes, 6 when using a joystick with 3 axes
|
|
and 8 when using a joystick with 2 axes. Notice however these are limitations
|
|
of the Joystick Port hardware, not OS/2.
|
|
|
|
|
|
|
|
6. Next steps...
|
|
----------------
|
|
|
|
Things to do:
|
|
- Implement missing stuffs (look for 'TODO' string in source code!)
|
|
- Finish video driver (the 'wincommon' can be a good example for missing
|
|
things like application icon and so on...)
|
|
- Enable MMX/SSE/SSE2 acceleration functions
|
|
- Rewrite CDROM support using DOS Ioctl for better support.
|
|
|
|
|
|
|
|
7. Contacts
|
|
-----------
|
|
|
|
You can contact the developers for bugs:
|
|
|
|
Area Developer email
|
|
General (Audio/Video/System) Doodle doodle@scenergy.dfmk.hu
|
|
CDROM and Joystick Caetano daniel@caetano.eng.br
|
|
|
|
Notice however that SDL/2 is 'in development' stage so ... if you want to help,
|
|
please, be our guest and contact us!
|
|
|