Skip to content

Latest commit

 

History

History
97 lines (78 loc) · 3.39 KB

README.NanoX

File metadata and controls

97 lines (78 loc) · 3.39 KB
 
1
=================================================================
2
Patch version 0.9 of SDL(Simple DirectMedia Layer) for Nano-X API
3
4
=================================================================
5
6
Authors: Hsieh-Fu Tsai, clare@setabox.com
Greg Haerr, greg@censoft.com
8
9
10
11
12
13
This patch is against SDL version 1.2.4.
It enhances previous patch 0.8 by providing direct framebuffer
access as well as dynamic hardware pixel type support, not
requiring a compile-time option setting for different framebuffer
modes.
Tested against Microwindows version 0.89pre9.
15
16
17
18
Older Microwindows versions
===========================
If running on a version older than Microwindows 0.89pre9,
the following items might need to be patched in Microwindows.
20
1. Patch src/nanox/client.c::GrClose()
21
22
23
24
25
26
27
It fixes the client side GrClose(). In the original version,
GrOpen() can only be called once. When the GrOpen() is called at
the second time, the program will terminate. In order to prevent
this situation, we need to insert "nxSocket = -1" after
"close(nxSocket)" in GrClose(). If you do not have this problem,
you may skip this step.
28
29
30
31
32
2. Patch src/nanox/clientfb.c to return absolute x,y coordinates
when using GrGetWindowFBInfo(). Copy the version 0.89pre9
of src/nanox/clientfb.c to your system, or configure
using --disable-nanox-direct-fb.
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
=============
Quick Install
=============
1. ./configure --disable-video-x11 --disable-video-fbcon \
--enable-video-nanox \
--with-nanox-pixel-type=[rgb/0888/888/565/555/332/pal]
2. make clean
3. make
4. make install (as root)
============
Nitty-gritty
============
48
--enable-nanox-direct-fb Use direct framebuffer access
49
50
51
--enable-nanox-debug Show debug messages
--enable-nanox-share-memory Use shared-memory to speed up
52
53
54
55
When running multi-threaded applications using SDL, such
as SMPEG, set THREADSAFE=Y in Microwindows' config file,
to enable GrXXX() system call critical section support.
56
57
58
59
60
61
62
63
64
=============================================
Some programs can be used to test this patch.
=============================================
1. http://www.cs.berkeley.edu/~weimer/atris (a tetris-like game)
2. http://www.libsdl.org/projects/newvox/
3. http://www.libsdl.org/projects/xflame/
4. http://www.libsdl.org/projects/optimum/
5. http://www.gnugeneration.com/software/loop/
65
66
6: http://www.lokigames.com/development/smpeg.php3 (SMPEG version 0.4.4)
67
68
69
70
71
72
73
74
75
=========
Todo List
=========
1. Create hardware surface
2. Create YUVOverlay on hardware
3. Use OpenGL
4. Gamma correction
5. Hide/Change mouse pointer
76
77
6. Better window movement control with direct fb access
7. Palette handling in 8bpp could be improved
78
79
80
81
82
83
84
85
86
87
=====================
Supporting Institutes
=====================
Many thanks to go to Setabox Co., Ltd. and CML (Communication and
Multimedia Laboratory, http://www.cmlab.csie.ntu.edu.tw/) in the
Department of Computer Science and Information Engineering of
National Taiwan University for supporting this porting project.
88
89
90
Century Embedded Technologies (http://embedded.censoft.com)
for this patch.
91
92
93
94
95
96
===================
Contact Information
===================
Welcome to give me any suggestion and to report bugs.
My e-mail address : clare@setabox.com or niky@cmlab.csie.ntu.edu.tw