1190
|
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
|