README.NanoX
changeset 471 26dafefeebb2
parent 30 57bf11a5efd7
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