diff options
Diffstat (limited to 'backends/platform/gp2x/gp2x-hw.h')
-rw-r--r-- | backends/platform/gp2x/gp2x-hw.h | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/backends/platform/gp2x/gp2x-hw.h b/backends/platform/gp2x/gp2x-hw.h new file mode 100644 index 0000000000..59593882b0 --- /dev/null +++ b/backends/platform/gp2x/gp2x-hw.h @@ -0,0 +1,74 @@ +/* ScummVM - Scumm Interpreter + * Copyright (C) 2001 Ludvig Strigeus + * Copyright (C) 2001-2006 The ScummVM project + * Copyright (C) 2005-2006 John Willis (Portions of the GP2X Backend) + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * $URL$ + * $Id$ + * + */ + +/* + * GP2X: Hardware Stuff. + * + */ + +#ifndef GP2X_HW_H +#define GP2X_HW_H + +//GP2X Main Joystick Mappings +//TODO: Use these more standard mappings over the custom ones. + +#define GP2X_BUTTON_UP (0) +#define GP2X_BUTTON_UPLEFT (1) +#define GP2X_BUTTON_LEFT (2) +#define GP2X_BUTTON_DOWNLEFT (3) +#define GP2X_BUTTON_DOWN (4) +#define GP2X_BUTTON_DOWNRIGHT (5) +#define GP2X_BUTTON_RIGHT (6) +#define GP2X_BUTTON_UPRIGHT (7) +#define GP2X_BUTTON_START (8) +#define GP2X_BUTTON_SELECT (9) +#define GP2X_BUTTON_L (10) +#define GP2X_BUTTON_R (11) +#define GP2X_BUTTON_A (12) +#define GP2X_BUTTON_B (13) +#define GP2X_BUTTON_X (14) +#define GP2X_BUTTON_Y (15) +#define GP2X_BUTTON_VOLUP (16) +#define GP2X_BUTTON_VOLDOWN (17) +#define GP2X_BUTTON_CLICK (18) + +#define GP2X_MAXVOL 100 // Highest level permitted by GP2X's mixer +#define SYS_CLK_FREQ 7372800 // Clock Frequency + +extern void GP2X_device_init(); +extern void GP2X_device_deinit(); +extern void GP2X_mixer_set_volume(int, int); +extern int GP2X_mixer_get_volume(); +extern void GP2X_mixer_move_volume(int); +extern void GP2X_setCpuspeed(unsigned int cpuspeed); + +extern void save_system_regs(void); /* save some registers */ +extern void set_display_clock_div(unsigned div); +extern void set_FCLK(unsigned MHZ); /* adjust the clock frequency (in Mhz units) */ +extern void set_920_Div(unsigned short div); /* 0 to 7 divider (freq=FCLK/(1+div)) */ +extern void set_DCLK_Div(unsigned short div); /* 0 to 7 divider (freq=FCLK/(1+div)) */ +extern void Disable_940(void); /* 940t down */ +extern void gp2x_video_wait_vsync(void); + +#endif //GP2X_HW_H |