summaryrefslogtreecommitdiff
path: root/arm9/lib/include
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2020-05-10 14:12:15 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2020-05-10 14:12:15 -0400
commit7b8a6275ebdbb2b6d5023fe8769e08be074f032a (patch)
treea7cbbdac916945d202a62afbb5cf48517b6719a7 /arm9/lib/include
parent6b870e88c3acc3843c5639af64fe12eccf64e712 (diff)
Tocuh up main.c; key input
Diffstat (limited to 'arm9/lib/include')
-rw-r--r--arm9/lib/include/FS_overlay.h3
-rw-r--r--arm9/lib/include/registers.h55
2 files changed, 58 insertions, 0 deletions
diff --git a/arm9/lib/include/FS_overlay.h b/arm9/lib/include/FS_overlay.h
index fd1e2900..14c7ce66 100644
--- a/arm9/lib/include/FS_overlay.h
+++ b/arm9/lib/include/FS_overlay.h
@@ -12,6 +12,9 @@ extern "C" {
typedef u32 FSOverlayID;
+#define FS_EXTERN_OVERLAY(name) extern u32 SDK_OVERLAY_ ## name ## _ID[1]
+#define FS_OVERLAY_ID(name) ((u32)&(SDK_OVERLAY_ ## name ## _ID))
+
typedef void (*FSOverlayInitFunc)(void);
typedef struct FSOverlayInfoHeader
diff --git a/arm9/lib/include/registers.h b/arm9/lib/include/registers.h
index 45b36334..a28f9800 100644
--- a/arm9/lib/include/registers.h
+++ b/arm9/lib/include/registers.h
@@ -52,4 +52,59 @@
#define REG_GXSTAT_ADDR (HW_REG_BASE + REG_GXSTAT_OFFSET)
#define reg_G3X_GXSTAT (*(REGType32v *)REG_GXSTAT_ADDR)
+#define REG_PAD_KEYINPUT_L_SHIFT 9
+#define REG_PAD_KEYINPUT_L_SIZE 1
+#define REG_PAD_KEYINPUT_L_MASK 0x0200
+
+#define REG_PAD_KEYINPUT_R_SHIFT 8
+#define REG_PAD_KEYINPUT_R_SIZE 1
+#define REG_PAD_KEYINPUT_R_MASK 0x0100
+
+#define REG_PAD_KEYINPUT_DOWN_SHIFT 7
+#define REG_PAD_KEYINPUT_DOWN_SIZE 1
+#define REG_PAD_KEYINPUT_DOWN_MASK 0x0080
+
+#define REG_PAD_KEYINPUT_UP_SHIFT 6
+#define REG_PAD_KEYINPUT_UP_SIZE 1
+#define REG_PAD_KEYINPUT_UP_MASK 0x0040
+
+#define REG_PAD_KEYINPUT_LEFT_SHIFT 5
+#define REG_PAD_KEYINPUT_LEFT_SIZE 1
+#define REG_PAD_KEYINPUT_LEFT_MASK 0x0020
+
+#define REG_PAD_KEYINPUT_RIGHT_SHIFT 4
+#define REG_PAD_KEYINPUT_RIGHT_SIZE 1
+#define REG_PAD_KEYINPUT_RIGHT_MASK 0x0010
+
+#define REG_PAD_KEYINPUT_START_SHIFT 3
+#define REG_PAD_KEYINPUT_START_SIZE 1
+#define REG_PAD_KEYINPUT_START_MASK 0x0008
+
+#define REG_PAD_KEYINPUT_SEL_SHIFT 2
+#define REG_PAD_KEYINPUT_SEL_SIZE 1
+#define REG_PAD_KEYINPUT_SEL_MASK 0x0004
+
+#define REG_PAD_KEYINPUT_B_SHIFT 1
+#define REG_PAD_KEYINPUT_B_SIZE 1
+#define REG_PAD_KEYINPUT_B_MASK 0x0002
+
+#define REG_PAD_KEYINPUT_A_SHIFT 0
+#define REG_PAD_KEYINPUT_A_SIZE 1
+#define REG_PAD_KEYINPUT_A_MASK 0x0001
+
+#ifndef SDK_ASM
+#define REG_PAD_KEYINPUT_FIELD( l, r, down, up, left, right, start, sel, b, a ) \
+ (u16)( \
+ ((u32)(l) << REG_PAD_KEYINPUT_L_SHIFT) | \
+ ((u32)(r) << REG_PAD_KEYINPUT_R_SHIFT) | \
+ ((u32)(down) << REG_PAD_KEYINPUT_DOWN_SHIFT) | \
+ ((u32)(up) << REG_PAD_KEYINPUT_UP_SHIFT) | \
+ ((u32)(left) << REG_PAD_KEYINPUT_LEFT_SHIFT) | \
+ ((u32)(right) << REG_PAD_KEYINPUT_RIGHT_SHIFT) | \
+ ((u32)(start) << REG_PAD_KEYINPUT_START_SHIFT) | \
+ ((u32)(sel) << REG_PAD_KEYINPUT_SEL_SHIFT) | \
+ ((u32)(b) << REG_PAD_KEYINPUT_B_SHIFT) | \
+ ((u32)(a) << REG_PAD_KEYINPUT_A_SHIFT))
+#endif
+
#endif //POKEDIAMOND_REGISTERS_H