summaryrefslogtreecommitdiff
path: root/include/gba/types.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/gba/types.h')
-rw-r--r--include/gba/types.h46
1 files changed, 37 insertions, 9 deletions
diff --git a/include/gba/types.h b/include/gba/types.h
index 4e1ab3003..1274d4f0d 100644
--- a/include/gba/types.h
+++ b/include/gba/types.h
@@ -1,19 +1,23 @@
#ifndef GUARD_GBA_TYPES_H
#define GUARD_GBA_TYPES_H
-typedef unsigned char u8;
-typedef unsigned short u16;
-typedef unsigned int u32;
-typedef signed char s8;
-typedef signed short s16;
-typedef signed int s32;
-
-typedef volatile u8 vu8;
+typedef unsigned char u8;
+typedef unsigned short u16;
+typedef unsigned int u32;
+typedef unsigned long long u64;
+typedef signed char s8;
+typedef signed short s16;
+typedef signed int s32;
+typedef signed long long s64;
+
+typedef volatile u8 vu8;
typedef volatile u16 vu16;
typedef volatile u32 vu32;
-typedef volatile s8 vs8;
+typedef volatile u64 vu64;
+typedef volatile s8 vs8;
typedef volatile s16 vs16;
typedef volatile s32 vs32;
+typedef volatile s64 vs64;
typedef float f32;
typedef double f64;
@@ -67,4 +71,28 @@ struct ObjAffineSrcData
u16 rotation;
};
+// Multi-player SIO Control Structure
+struct SioMultiCnt
+{
+ u16 baudRate:2; // baud rate
+ u16 si:1; // SI terminal
+ u16 sd:1; // SD terminal
+ u16 id:2; // ID
+ u16 error:1; // error flag
+ u16 enable:1; // SIO enable
+ u16 unused_11_8:4;
+ u16 mode:2; // communication mode (should equal 2)
+ u16 intrEnable:1; // IRQ enable
+ u16 unused_15:1;
+ u16 data; // data
+};
+
+#define ST_SIO_MULTI_MODE 2 // Multi-player communication mode
+
+// baud rate
+#define ST_SIO_9600_BPS 0 // 9600 bps
+#define ST_SIO_38400_BPS 1 // 38400 bps
+#define ST_SIO_57600_BPS 2 // 57600 bps
+#define ST_SIO_115200_BPS 3 // 115200 bps
+
#endif // GUARD_GBA_TYPES_H