asyn-only dev support + in_gp2x driver
[picodrive.git] / platform / common / common.h
CommitLineData
f579f7b8 1// platform specific things for common menu code
2
3#ifdef __GP2X__
4#include "../gp2x/gp2x.h"
5
217d08bc 6// TODO merge
7#define PBTN_UP (1 << 0)
8#define PBTN_DOWN (1 << 1)
9#define PBTN_LEFT (1 << 2)
10#define PBTN_RIGHT (1 << 3)
11
12#define PBTN_NORTH (1 << 4)
13#define PBTN_SOUTH (1 << 5)
14#define PBTN_WEST (1 << 6)
15#define PBTN_EAST (1 << 7)
16#define PBTN_L (1 << 8)
17#define PBTN_R (1 << 9)
18
19/* menu nav */
20#define PBTN_MOK PBTN_EAST
21#define PBTN_MBACK PBTN_SOUTH
22#define PBTN_MENU (1 << 10)
23
24#if 0
e5ab6faf 25#define PBTN_UP GP2X_UP
26#define PBTN_DOWN GP2X_DOWN
27#define PBTN_LEFT GP2X_LEFT
28#define PBTN_RIGHT GP2X_RIGHT
29
30#define PBTN_NORTH GP2X_Y
31#define PBTN_SOUTH GP2X_X
32#define PBTN_WEST GP2X_A
33#define PBTN_EAST GP2X_B
34#define PBTN_L GP2X_L
35#define PBTN_R GP2X_R
f579f7b8 36
b6820926 37/* menu nav */
38#define PBTN_MOK GP2X_B
39#define PBTN_MBACK GP2X_X
40#define PBTN_MENU GP2X_SELECT
217d08bc 41#endif
42#define GP2X_Y 0 /* FIXME */
b6820926 43
f579f7b8 44void gp2x_pd_clone_buffer2(void);
45void menu_darken_bg(void *dst, int pixels, int darker);
46void menu_flip(void);
47
48#define SCREEN_WIDTH 320
49#define SCREEN_HEIGHT 240
50#define SCREEN_BUFFER gp2x_screen
51
f579f7b8 52#define menu_draw_begin() \
53 gp2x_pd_clone_buffer2()
54#define clear_screen() \
55 memset(gp2x_screen, 0, 320*240*2)
56#define darken_screen() \
57 menu_darken_bg(gp2x_screen, 320*240, 0)
58#define menu_draw_end() \
59 menu_flip()
60
61// ------------------------------------
62
63#elif defined(__GIZ__)
64
84100c0f 65#include "../gizmondo/giz.h"
66
e5ab6faf 67#define PBTN_NORTH PBTN_STOP
68#define PBTN_SOUTH PBTN_PLAY
69#define PBTN_WEST PBTN_REW
70#define PBTN_EAST PBTN_FWD
84100c0f 71
84100c0f 72void menu_draw_begin(int use_bgbuff);
73void menu_darken_bg(void *dst, const void *src, int pixels, int darker);
74void menu_draw_end(void);
75
76#define SCREEN_WIDTH 321
77#define SCREEN_HEIGHT 240
78#define SCREEN_BUFFER ((giz_screen != NULL) ? giz_screen : menu_screen)
79extern void *menu_screen;
80extern void *giz_screen;
81
84100c0f 82#define menu_draw_begin() \
83 menu_draw_begin(1)
84#define clear_screen() \
85 memset(SCREEN_BUFFER, 0, SCREEN_WIDTH*SCREEN_HEIGHT*2)
86#define darken_screen() \
87 menu_darken_bg(menu_screen, menu_screen, SCREEN_WIDTH*SCREEN_HEIGHT, 0)
f579f7b8 88
89// ------------------------------------
90
91#elif defined(PSP)
92
93#include "../psp/psp.h"
94
e5ab6faf 95#define PBTN_NORTH PBTN_TRIANGLE
96#define PBTN_SOUTH PBTN_X
97#define PBTN_WEST PBTN_SQUARE
98#define PBTN_EAST PBTN_CIRCLE
f579f7b8 99
f579f7b8 100void menu_draw_begin(void);
101void menu_darken_bg(void *dst, const void *src, int pixels, int darker);
102void menu_draw_end(void);
103
104#define SCREEN_WIDTH 512
105#define SCREEN_HEIGHT 272
106#define SCREEN_BUFFER psp_screen
107
f579f7b8 108#define clear_screen() \
109 memset(SCREEN_BUFFER, 0, SCREEN_WIDTH*SCREEN_HEIGHT*2)
110#define darken_screen() \
111 menu_darken_bg(psp_screen, psp_screen, SCREEN_WIDTH*SCREEN_HEIGHT, 0)
112
3a3947cd 113// ------------------------------------
114
115#elif defined(PANDORA)
116
3b13ec65 117#define PBTN_UP (1 << 0)
118#define PBTN_DOWN (1 << 1)
119#define PBTN_LEFT (1 << 2)
120#define PBTN_RIGHT (1 << 3)
121
122#define PBTN_NORTH (1 << 4)
123#define PBTN_SOUTH (1 << 5)
124#define PBTN_WEST (1 << 6)
125#define PBTN_EAST (1 << 7)
126#define PBTN_L (1 << 8)
127#define PBTN_R (1 << 9)
3a3947cd 128
b6820926 129/* menu nav */
130#define PBTN_MOK PBTN_EAST
131#define PBTN_MBACK PBTN_SOUTH
132#define PBTN_MENU (1 << 10)
133
3a3947cd 134void gp2x_pd_clone_buffer2(void);
135void menu_darken_bg(void *dst, int pixels, int darker);
136void menu_flip(void);
137
b6820926 138extern void *gp2x_screen;
139
e55f0cbb 140#define SCREEN_WIDTH 800
141#define SCREEN_HEIGHT 480
3a3947cd 142#define SCREEN_BUFFER gp2x_screen
143
3a3947cd 144#define menu_draw_begin() \
145 gp2x_pd_clone_buffer2()
146#define clear_screen() \
e55f0cbb 147 memset(gp2x_screen, 0, 800*480*2)
3a3947cd 148#define darken_screen() \
e55f0cbb 149 menu_darken_bg(gp2x_screen, 800*480, 0)
3a3947cd 150#define menu_draw_end() \
151 menu_flip()
152
f579f7b8 153#endif