debug menu unified, more debug tools
[libpicofe.git] / common / common.h
CommitLineData
b8464531 1// platform specific things for common menu code
2
3#ifdef __GP2X__
4#include "../gp2x/gp2x.h"
5
6#define BTN_UP GP2X_UP
7#define BTN_DOWN GP2X_DOWN
8#define BTN_LEFT GP2X_LEFT
9#define BTN_RIGHT GP2X_RIGHT
10
11#define BTN_NORTH GP2X_Y
12#define BTN_SOUTH GP2X_X
13#define BTN_WEST GP2X_A
14#define BTN_EAST GP2X_B
15#define BTN_L GP2X_L
16#define BTN_R GP2X_R
17
18unsigned long wait_for_input(unsigned long interesting);
19void gp2x_pd_clone_buffer2(void);
20void menu_darken_bg(void *dst, int pixels, int darker);
21void menu_flip(void);
22
23#define SCREEN_WIDTH 320
24#define SCREEN_HEIGHT 240
25#define SCREEN_BUFFER gp2x_screen
26
27#define read_buttons(which) \
28 wait_for_input(which)
29#define menu_draw_begin() \
30 gp2x_pd_clone_buffer2()
31#define clear_screen() \
32 memset(gp2x_screen, 0, 320*240*2)
33#define darken_screen() \
34 menu_darken_bg(gp2x_screen, 320*240, 0)
35#define menu_draw_end() \
36 menu_flip()
37
38// ------------------------------------
39
40#elif defined(__GIZ__)
41
42// TODO
43//#include "../gizmondo/giz.h"
44#define SCREEN_WIDTH 321
45#define SCREEN_BUFFER menu_screen
46extern unsigned char *menu_screen;
47
48// ------------------------------------
49
50#elif defined(PSP)
51
52#include "../psp/psp.h"
53
54#define BTN_NORTH BTN_TRIANGLE
55#define BTN_SOUTH BTN_X
56#define BTN_WEST BTN_SQUARE
57#define BTN_EAST BTN_CIRCLE
58
59unsigned long wait_for_input(unsigned int interesting, int is_key_config);
60void menu_draw_begin(void);
61void menu_darken_bg(void *dst, const void *src, int pixels, int darker);
62void menu_draw_end(void);
63
64#define SCREEN_WIDTH 512
65#define SCREEN_HEIGHT 272
66#define SCREEN_BUFFER psp_screen
67
68#define read_buttons(which) \
69 wait_for_input(which, 0)
70#define clear_screen() \
71 memset(SCREEN_BUFFER, 0, SCREEN_WIDTH*SCREEN_HEIGHT*2)
72#define darken_screen() \
73 menu_darken_bg(psp_screen, psp_screen, SCREEN_WIDTH*SCREEN_HEIGHT, 0)
74
75#endif