tweaks from 2008 (gpsp09-2xb_3)
[gpsp.git] / gp2x / gp2xminilib.h
CommitLineData
2823a4c8 1/*
2 GP2X minimal library v0.5 by rlyeh, 2005.
3
4 + GP2X video library with double buffering.
5 + GP2X soundring buffer library with double buffering.
6 + GP2X joystick library.
7
8 Thanks to Squidge, Robster, snaff and NK, for the help & previous work! :-)
9
10
11 What's new
12 ==========
13
14 0.5: patched sound for real stereo (using NK's solution); better init code.
15
16 0.4: lots of cleanups; sound is threaded now, double buffered too; 8 bpp video support; better exiting code.
17
18 0.3: shorter library; improved joystick diagonal detection.
19
20 0.2: better code layout; public release.
21
22 0.1: beta release
23*/
24
25/* .h by Hermes/PS2Reality*/
26
27#if !defined(GP2XMINILIB)
28#define GP2XMINILIB
29
30enum { GP2X_UP=0x1, GP2X_LEFT=0x4, GP2X_DOWN=0x10, GP2X_RIGHT=0x40,
31 GP2X_START=1<<8, GP2X_SELECT=1<<9, GP2X_L=1<<10, GP2X_R=1<<11,
32 GP2X_A=1<<12, GP2X_B=1<<13, GP2X_X=1<<14, GP2X_Y=1<<15,
33 GP2X_VOL_UP=1<<22, GP2X_VOL_DOWN=1<<23, GP2X_PUSH=1<<27, };
34
35#define gp2x_video_color15(R,G,B,A) (((R&0xF8)<<8)|((G&0xF8)<<3)|((B&0xF8)>>3)|(A<<5))
36#define gp2x_video_color8 (C,R,G,B) gp2x_palette[C][0]=(G<<8)|B,gp2x_palette[C][1]=R;
37
38
39
40
41
42extern unsigned short *gp2x_memregs, *gp2x_screen15, *gp2x_logvram15[2], gp2x_sound_buffer[4+(44100*2)*4]; //*2=stereo, *4=max buffers
43
44
45
46extern unsigned long gp2x_dev[4];
47
48
49void gp2x_video_flip(void);
50void gp2x_video_setpalette(void);
51unsigned long gp2x_joystick_read(void);
52void *gp2x_sound_play(void *blah);
53void gp2x_deinit(void);
54void gp2x_init(int bpp, int rate, int bits, int stereo, int Hz);
55
56
57
58#endif