asyn-only dev support + in_gp2x driver
[libpicofe.git] / common / common.h
index 4945f5e..d641c38 100644 (file)
@@ -3,19 +3,44 @@
 #ifdef __GP2X__
 #include "../gp2x/gp2x.h"
 
-#define BTN_UP    GP2X_UP
-#define BTN_DOWN  GP2X_DOWN
-#define BTN_LEFT  GP2X_LEFT
-#define BTN_RIGHT GP2X_RIGHT
-
-#define BTN_NORTH GP2X_Y
-#define BTN_SOUTH GP2X_X
-#define BTN_WEST  GP2X_A
-#define BTN_EAST  GP2X_B
-#define BTN_L     GP2X_L
-#define BTN_R     GP2X_R
-
-unsigned long wait_for_input(unsigned long interesting);
+// TODO merge
+#define PBTN_UP    (1 <<  0)
+#define PBTN_DOWN  (1 <<  1)
+#define PBTN_LEFT  (1 <<  2)
+#define PBTN_RIGHT (1 <<  3)
+
+#define PBTN_NORTH (1 <<  4)
+#define PBTN_SOUTH (1 <<  5)
+#define PBTN_WEST  (1 <<  6)
+#define PBTN_EAST  (1 <<  7)
+#define PBTN_L     (1 <<  8)
+#define PBTN_R     (1 <<  9)
+
+/* menu nav */
+#define PBTN_MOK   PBTN_EAST
+#define PBTN_MBACK PBTN_SOUTH
+#define PBTN_MENU  (1 << 10)
+
+#if 0
+#define PBTN_UP    GP2X_UP
+#define PBTN_DOWN  GP2X_DOWN
+#define PBTN_LEFT  GP2X_LEFT
+#define PBTN_RIGHT GP2X_RIGHT
+
+#define PBTN_NORTH GP2X_Y
+#define PBTN_SOUTH GP2X_X
+#define PBTN_WEST  GP2X_A
+#define PBTN_EAST  GP2X_B
+#define PBTN_L     GP2X_L
+#define PBTN_R     GP2X_R
+
+/* menu nav */
+#define PBTN_MOK   GP2X_B
+#define PBTN_MBACK GP2X_X
+#define PBTN_MENU  GP2X_SELECT
+#endif
+#define GP2X_Y 0 /* FIXME */
+
 void gp2x_pd_clone_buffer2(void);
 void menu_darken_bg(void *dst, int pixels, int darker);
 void menu_flip(void);
@@ -24,10 +49,6 @@ void menu_flip(void);
 #define SCREEN_HEIGHT 240
 #define SCREEN_BUFFER gp2x_screen
 
-#define read_buttons(which) \
-       wait_for_input(which)
-#define read_buttons_async(which) \
-       (gp2x_joystick_read(0) & (which))
 #define menu_draw_begin() \
        gp2x_pd_clone_buffer2()
 #define clear_screen() \
@@ -43,12 +64,11 @@ void menu_flip(void);
 
 #include "../gizmondo/giz.h"
 
-#define BTN_NORTH BTN_STOP
-#define BTN_SOUTH BTN_PLAY
-#define BTN_WEST  BTN_REW
-#define BTN_EAST  BTN_FWD
+#define PBTN_NORTH PBTN_STOP
+#define PBTN_SOUTH PBTN_PLAY
+#define PBTN_WEST  PBTN_REW
+#define PBTN_EAST  PBTN_FWD
 
-unsigned long wait_for_input(unsigned int interesting);
 void menu_draw_begin(int use_bgbuff);
 void menu_darken_bg(void *dst, const void *src, int pixels, int darker);
 void menu_draw_end(void);
@@ -59,9 +79,6 @@ void menu_draw_end(void);
 extern void *menu_screen;
 extern void *giz_screen;
 
-#define read_buttons(which) \
-       wait_for_input(which)
-#define read_buttons_async(which) 0
 #define menu_draw_begin() \
        menu_draw_begin(1)
 #define clear_screen() \
@@ -75,12 +92,11 @@ extern void *giz_screen;
 
 #include "../psp/psp.h"
 
-#define BTN_NORTH BTN_TRIANGLE
-#define BTN_SOUTH BTN_X
-#define BTN_WEST  BTN_SQUARE
-#define BTN_EAST  BTN_CIRCLE
+#define PBTN_NORTH PBTN_TRIANGLE
+#define PBTN_SOUTH PBTN_X
+#define PBTN_WEST  PBTN_SQUARE
+#define PBTN_EAST  PBTN_CIRCLE
 
-unsigned long wait_for_input(unsigned int interesting, int is_key_config);
 void menu_draw_begin(void);
 void menu_darken_bg(void *dst, const void *src, int pixels, int darker);
 void menu_draw_end(void);
@@ -89,10 +105,6 @@ void menu_draw_end(void);
 #define SCREEN_HEIGHT 272
 #define SCREEN_BUFFER psp_screen
 
-#define read_buttons(which) \
-       wait_for_input(which, 0)
-#define read_buttons_async(which) \
-       (psp_pad_read(0) & (which))
 #define clear_screen() \
        memset(SCREEN_BUFFER, 0, SCREEN_WIDTH*SCREEN_HEIGHT*2)
 #define darken_screen() \
@@ -102,35 +114,33 @@ void menu_draw_end(void);
 
 #elif defined(PANDORA)
 
-// TODO
+#define PBTN_UP    (1 <<  0)
+#define PBTN_DOWN  (1 <<  1)
+#define PBTN_LEFT  (1 <<  2)
+#define PBTN_RIGHT (1 <<  3)
 
-#include "../gp2x/gp2x.h"
+#define PBTN_NORTH (1 <<  4)
+#define PBTN_SOUTH (1 <<  5)
+#define PBTN_WEST  (1 <<  6)
+#define PBTN_EAST  (1 <<  7)
+#define PBTN_L     (1 <<  8)
+#define PBTN_R     (1 <<  9)
 
-#define BTN_UP    0
-#define BTN_DOWN  0
-#define BTN_LEFT  0
-#define BTN_RIGHT 0
+/* menu nav */
+#define PBTN_MOK   PBTN_EAST
+#define PBTN_MBACK PBTN_SOUTH
+#define PBTN_MENU  (1 << 10)
 
-#define BTN_NORTH 0
-#define BTN_SOUTH 0
-#define BTN_WEST  0
-#define BTN_EAST  0
-#define BTN_L     0
-#define BTN_R     0
-
-unsigned long wait_for_input(unsigned long interesting);
 void gp2x_pd_clone_buffer2(void);
 void menu_darken_bg(void *dst, int pixels, int darker);
 void menu_flip(void);
 
+extern void *gp2x_screen;
+
 #define SCREEN_WIDTH  800
 #define SCREEN_HEIGHT 480
 #define SCREEN_BUFFER gp2x_screen
 
-#define read_buttons(which) \
-       wait_for_input(which)
-#define read_buttons_async(which) \
-       (gp2x_joystick_read(0) & (which))
 #define menu_draw_begin() \
        gp2x_pd_clone_buffer2()
 #define clear_screen() \