comparison README.NanoX @ 471:26dafefeebb2

Date: Sat, 24 Aug 2002 22:20:01 -0600 From: "Greg Haerr" Subject: Announce: sdl-nanox-patch Sam, I've created an update patch for enhanced Nano-X support with SDL. I've created the patch against SDL-1.2.4. I'd appreciate it if you would apply it to the next SDL version. Enhancements include: 1. Small bugfixes to compile without errors 2. Support for direct client-side framebuffer access with configure option 3. Add dynamic pixel type support for hardware framebuffer; eliminating the need for compile-time configuration option. I've updated the README.NanoX file with the details. This version has been tested with Microwindows v0.89pre9 CVS and SMPEG 0.4.4. I've added multi-threading support to Microwindows to support the multi-threaded SMPEG, and all works fine. To turn on thread safety in Microwindows, use THREADSAFE=Y in the Microwindows config file. Thanks! Regards, Greg Founder, The Microwindows Project http://microwindows.org
author Sam Lantinga <slouken@libsdl.org>
date Sun, 25 Aug 2002 06:21:49 +0000
parents 57bf11a5efd7
children
comparison
equal deleted inserted replaced
470:877b992f2d0c 471:26dafefeebb2
1 ================================================================= 1 =================================================================
2 Patch version 0.8 of SDL(Simple DirectMedia Layer) for Nano-X API 2 Patch version 0.9 of SDL(Simple DirectMedia Layer) for Nano-X API
3 ================================================================= 3 =================================================================
4 4
5 Author: Hsieh-Fu Tsai, clare@setabox.com 5 Authors: Hsieh-Fu Tsai, clare@setabox.com
6 Greg Haerr, greg@censoft.com
6 7
7 There are two patch files in this package. 8 This patch is against SDL version 1.2.4.
9 It enhances previous patch 0.8 by providing direct framebuffer
10 access as well as dynamic hardware pixel type support, not
11 requiring a compile-time option setting for different framebuffer
12 modes.
13 Tested against Microwindows version 0.89pre9.
8 14
9 1. The first patch file, nanox.patch, is to fix a bug in Nano-X. 15 Older Microwindows versions
10 This patch is proposed by Gary James (gjames@twcny.rr.com). 16 ===========================
17 If running on a version older than Microwindows 0.89pre9,
18 the following items might need to be patched in Microwindows.
11 19
20 1. Patch src/nanox/client.c::GrClose()
12 It fixes the client side GrClose(). In the original version, 21 It fixes the client side GrClose(). In the original version,
13 GrOpen() can only be called once. When the GrOpen() is called at 22 GrOpen() can only be called once. When the GrOpen() is called at
14 the second time, the program will terminate. In order to prevent 23 the second time, the program will terminate. In order to prevent
15 this situation, we need to insert "nxSocket = -1" after 24 this situation, we need to insert "nxSocket = -1" after
16 "close(nxSocket)" in GrClose(). If you do not have this problem, 25 "close(nxSocket)" in GrClose(). If you do not have this problem,
17 you may skip this step. 26 you may skip this step.
27
28 2. Patch src/nanox/clientfb.c to return absolute x,y coordinates
29 when using GrGetWindowFBInfo(). Copy the version 0.89pre9
30 of src/nanox/clientfb.c to your system, or configure
31 using --disable-nanox-direct-fb.
18 32
19 ============= 33 =============
20 Quick Install 34 Quick Install
21 ============= 35 =============
22 36
29 43
30 ============ 44 ============
31 Nitty-gritty 45 Nitty-gritty
32 ============ 46 ============
33 47
34 --with-nanox-pixel-type=[rgb/0888/888/565/555/332/pal] 48 --enable-nanox-direct-fb Use direct framebuffer access
35
36 If the wrong pixel type is used, the program will crash when the
37 sub-routine updates the screen. This option depends on SCREEN_PIXTYPE
38 which is defined in Microwin0.89pre7/src/config. SCREEN_PIXTYPE
39 is used to define the pixel type in Microwindows/Nano-X.
40 I only test the program when the pixel type is in "rgb"
41 (Microwin under X11) or "888" (framebuffer in 24-bit).
42
43 --enable-nanox-debug Show debug messages 49 --enable-nanox-debug Show debug messages
44 --enable-nanox-share-memory Use shared-memory to speed up 50 --enable-nanox-share-memory Use shared-memory to speed up
51
52 When running multi-threaded applications using SDL, such
53 as SMPEG, set THREADSAFE=Y in Microwindows' config file,
54 to enable GrXXX() system call critical section support.
45 55
46 ============================================= 56 =============================================
47 Some programs can be used to test this patch. 57 Some programs can be used to test this patch.
48 ============================================= 58 =============================================
49 59
50 1. http://www.cs.berkeley.edu/~weimer/atris (a tetris-like game) 60 1. http://www.cs.berkeley.edu/~weimer/atris (a tetris-like game)
51 2. http://www.libsdl.org/projects/newvox/ 61 2. http://www.libsdl.org/projects/newvox/
52 3. http://www.libsdl.org/projects/xflame/ 62 3. http://www.libsdl.org/projects/xflame/
53 4. http://www.libsdl.org/projects/optimum/ 63 4. http://www.libsdl.org/projects/optimum/
54 5. http://www.gnugeneration.com/software/loop/ 64 5. http://www.gnugeneration.com/software/loop/
55 65 6: http://www.lokigames.com/development/smpeg.php3 (SMPEG version 0.4.4)
66
56 ========= 67 =========
57 Todo List 68 Todo List
58 ========= 69 =========
59 70
60 1. Create hardware surface 71 1. Create hardware surface
61 2. Create YUVOverlay on hardware 72 2. Create YUVOverlay on hardware
62 3. Use OpenGL 73 3. Use OpenGL
63 4. Gamma correction 74 4. Gamma correction
64 5. Hide/Change mouse pointer 75 5. Hide/Change mouse pointer
76 6. Better window movement control with direct fb access
77 7. Palette handling in 8bpp could be improved
65 78
66 ===================== 79 =====================
67 Supporting Institutes 80 Supporting Institutes
68 ===================== 81 =====================
69 82
70 Many thanks to go to Setabox Co., Ltd. and CML (Communication and 83 Many thanks to go to Setabox Co., Ltd. and CML (Communication and
71 Multimedia Laboratory, http://www.cmlab.csie.ntu.edu.tw/) in the 84 Multimedia Laboratory, http://www.cmlab.csie.ntu.edu.tw/) in the
72 Department of Computer Science and Information Engineering of 85 Department of Computer Science and Information Engineering of
73 National Taiwan University for supporting this porting project. 86 National Taiwan University for supporting this porting project.
74 87
88 Century Embedded Technologies (http://embedded.censoft.com)
89 for this patch.
90
75 =================== 91 ===================
76 Contact Information 92 Contact Information
77 =================== 93 ===================
78 94
79 Welcome to give me any suggestion and to report bugs. 95 Welcome to give me any suggestion and to report bugs.
80 My e-mail address : clare@setabox.com or niky@cmlab.csie.ntu.edu.tw 96 My e-mail address : clare@setabox.com or niky@cmlab.csie.ntu.edu.tw
81 97 or greg@censoft.com