aboutsummaryrefslogtreecommitdiff
path: root/backends/platform/gp2x/gp2x-hw.h
diff options
context:
space:
mode:
Diffstat (limited to 'backends/platform/gp2x/gp2x-hw.h')
-rw-r--r--backends/platform/gp2x/gp2x-hw.h74
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