initial upstream import
[drnoksnes] / gp2x_sdk.h
1 #ifndef _GP2X_SDK_H_
2 #define _GP2X_SDK_H_
3
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7
8 #define SOUND_THREAD_SOUND_ON                   1
9 #define SOUND_THREAD_SOUND_OFF          2
10 #define SOUND_THREAD_PAUSE                              3
11
12 #define INP_BUTTON_UP                           (0)
13 #define INP_BUTTON_LEFT                         (2)
14 #define INP_BUTTON_DOWN                         (4)
15 #define INP_BUTTON_RIGHT                        (6)
16 #define INP_BUTTON_START                        (8)
17 #define INP_BUTTON_SELECT                       (9)
18 #define INP_BUTTON_L                            (10)
19 #define INP_BUTTON_R                            (11)
20 #define INP_BUTTON_A                            (12)
21 #define INP_BUTTON_B                            (13)
22 #define INP_BUTTON_X                            (14)
23 #define INP_BUTTON_Y                            (15)
24 #define INP_BUTTON_VOL_UP                       (23)
25 #define INP_BUTTON_VOL_DOWN                     (22)
26 #define INP_BUTTON_STICK_PUSH           (27)
27
28 void gp_drawString (int x,int y,int len,char *buffer,unsigned short color,void *framebuffer);
29 void gp_clearFramebuffer16(unsigned short *framebuffer, unsigned short pal);
30 void gp_clearFramebuffer8(unsigned char *framebuffer, unsigned char pal);
31 void gp_clearFramebuffer(void *framebuffer, unsigned int pal);
32 void gp_setCpuspeed(unsigned int cpuspeed);
33 void gp_initGraphics(unsigned short bpp, int flip, int applyMmuHack);
34 void gp_setFramebuffer(int flip, int sync);
35 void gp2x_video_setpalette(void);
36 int gp_initSound(int rate, int bits, int stereo, int Hz, int frag);
37 void gp_stopSound(void);
38 void gp_Reset(void);
39 void gp2x_enableIRQ(void);
40 void gp2x_disableIRQ(void);
41 void gp2x_sound_volume(int l, int r);
42 unsigned long gp2x_timer_read(void);
43 unsigned int gp_getButton(unsigned char enable_diagnals);
44 void gp2x_video_RGB_setscaling(int W, int H);
45 void gp2x_sound_play_bank(int bank);
46 void gp2x_sound_sync(void);
47 void set_gamma(int g100);
48 void set_RAM_Timings(int tRC, int tRAS, int tWR, int tMRD, int tRFC, int tRP, int tRCD);
49
50 extern volatile int SoundThreadFlag;
51 extern volatile int CurrentSoundBank;
52 extern int CurrentFrameBuffer;
53 extern volatile short *pOutput[];
54 extern unsigned short *framebuffer16[];
55 extern unsigned long gp2x_physvram[];
56 extern unsigned char *framebuffer8[];
57 extern volatile unsigned short  gp2x_palette[512][2];
58 extern volatile unsigned short *gp2x_memregs;
59 extern volatile unsigned long *gp2x_memregl;
60 extern volatile unsigned long *gp2x_blitter;
61
62 #ifdef __cplusplus
63 }
64 #endif
65
66 #endif
67