summaryrefslogtreecommitdiff
path: root/arm9/lib/include
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/lib/include')
-rw-r--r--arm9/lib/include/MI_memory.h1
-rw-r--r--arm9/lib/include/OS_entropy.h7
-rw-r--r--arm9/lib/include/OS_ownerInfo.h28
-rw-r--r--arm9/lib/include/gx.h2
-rw-r--r--arm9/lib/include/mmap.h2
-rw-r--r--arm9/lib/include/userInfo.h92
6 files changed, 124 insertions, 8 deletions
diff --git a/arm9/lib/include/MI_memory.h b/arm9/lib/include/MI_memory.h
index d9935a5f..0ebb3560 100644
--- a/arm9/lib/include/MI_memory.h
+++ b/arm9/lib/include/MI_memory.h
@@ -6,5 +6,6 @@ void MI_CpuCopy8(void const *src, void *dest, u32 size);
static inline void MI_CpuClear8(void *dest, u32 size) {
MI_CpuFill8(dest, 0, size);
}
+void MIi_CpuCopy16(const void *src, void *dst, u32 size);
#endif //NITRO_MI_MEMORY_H_
diff --git a/arm9/lib/include/OS_entropy.h b/arm9/lib/include/OS_entropy.h
index 78ac71b7..b0f2781a 100644
--- a/arm9/lib/include/OS_entropy.h
+++ b/arm9/lib/include/OS_entropy.h
@@ -6,15 +6,10 @@
#define POKEDIAMOND_OS_ENTROPY_H
#include "consts.h"
+#include "userInfo.h"
void OS_GetLowEntropyData(u32 * arr);
-typedef struct NVRAMConfig{
- u8 ncd[110]; // todo: typeof NVRAMConfigData
- u16 saveCount;
- u16 rc16;
-} NVRAMConfig;
-
extern vu64 OSi_TickCounter;
extern u16 OS_GetTickLo(void);
diff --git a/arm9/lib/include/OS_ownerInfo.h b/arm9/lib/include/OS_ownerInfo.h
new file mode 100644
index 00000000..13bae06e
--- /dev/null
+++ b/arm9/lib/include/OS_ownerInfo.h
@@ -0,0 +1,28 @@
+#ifndef POKEDIAMOND_OS_OWNERINFO_H
+#define POKEDIAMOND_OS_OWNERINFO_H
+
+#include "consts.h"
+#include "userInfo.h"
+
+typedef struct OSBirthday
+{
+ u8 month;
+ u8 day;
+} OSBirthday;
+
+typedef struct OSOwnerInfo
+{
+ u8 language;
+ u8 favoriteColour;
+ OSBirthday birthday;
+ u16 nickName[10]; //either 10 or 8
+ u16 nickNameLength;
+ u16 comment[26];
+ u16 commentLength;
+} OSOwnerInfo;
+
+void OS_GetMacAddress(u8 *macAddress);
+void OS_GetOwnerInfo(OSOwnerInfo* info);
+s64 OS_GetOwnerRtcOffset(void);
+
+#endif //POKEDIAMOND_OS_OWNERINFO_H
diff --git a/arm9/lib/include/gx.h b/arm9/lib/include/gx.h
index 8abe4e40..79b707fc 100644
--- a/arm9/lib/include/gx.h
+++ b/arm9/lib/include/gx.h
@@ -2,6 +2,7 @@
#define GUARD_GX_H
#include "fx.h"
+#include "MI_memory.h"
//temporary while other files aren't decompiled
@@ -14,7 +15,6 @@ void MI_Copy64B(void *src, void *dst);
void MI_WaitDma(u32);
void MI_DmaCopy32Async(u32, const void *, void *, u32, void *, void *);
void MI_DmaCopy16(u32 unk, const void *src, void *dst, u32 size);
-void MIi_CpuCopy16(const void *src, void *dst, u32 size);
void MI_DmaCopy32(u32 unk, const void *src, void *dst, u32 size);
void MIi_CpuCopy32(const void *src, void *dst, u32 size);
void OSi_UnlockVram(u16, u16);
diff --git a/arm9/lib/include/mmap.h b/arm9/lib/include/mmap.h
index 207e0509..65b93e1e 100644
--- a/arm9/lib/include/mmap.h
+++ b/arm9/lib/include/mmap.h
@@ -98,7 +98,7 @@ typedef struct {
u16 mmem_checker_subp; // 3fa-3fb: 2bytes MainMomory Size Checker for Sub processor
u8 padding4[2]; // 3fc-3fd: (2bytes)
u16 command_area; // 3fe-3ff: 2bytes Command Area
-} OSSystemWork;
+} OSSystemWork; //0x027FFC00
#define OS_GetSystemWork() ((OSSystemWork *)HW_MAIN_MEM_SYSTEM)
diff --git a/arm9/lib/include/userInfo.h b/arm9/lib/include/userInfo.h
new file mode 100644
index 00000000..a4f67d3f
--- /dev/null
+++ b/arm9/lib/include/userInfo.h
@@ -0,0 +1,92 @@
+#ifndef POKEDIAMOND_USERINFO_H
+#define POKEDIAMOND_USERINFO_H
+
+typedef struct NVRAMConfigDate
+{
+ u8 month;
+ u8 day;
+} NVRAMConfigDate;
+
+typedef struct NVRAMConfigNickname
+{
+ u16 str[10];
+ u8 length;
+ u8 rsv;
+} NVRAMConfigNickname;
+
+typedef struct NVRAMConfigComment
+{
+ u16 str[26];
+ u8 length;
+ u8 rsv;
+} NVRAMConfigComment;
+
+typedef struct NVRAMConfigOwnerInfo
+{
+ u8 favouriteColour:4;
+ u8 rsv:4;
+ NVRAMConfigDate birthday;
+ u8 pad;
+ NVRAMConfigNickname nickname;
+ NVRAMConfigComment comment;
+} NVRAMConfigOwnerInfo;
+
+typedef struct NVRAMConfigAlarm
+{
+ u8 hour;
+ u8 minute;
+ u8 second;
+ u8 pad;
+ u16 enableWeek:7;
+ u16 alarmOn:1;
+ u16 rsv:8;
+} NVRAMConfigAlarm;
+
+typedef struct NVRAMConfigTpCalibData
+{
+ u16 raw_x1;
+ u16 raw_y1;
+ u8 dx1;
+ u8 dy1;
+ u16 raw_x2;
+ u16 raw_y2;
+ u8 dx2;
+ u8 dy2;
+} NVRAMConfigTpCalibData;
+
+typedef struct NVRAMConfigOption
+{
+ u16 language:3;
+ u16 agbLcd:1;
+ u16 detectPullOutCardFlag:1;
+ u16 detectPullOutCtrdgFlag:1;
+ u16 autoBootFlag:1;
+ u16 rsv:4;
+ u16 input_favouriteColour:1;
+ u16 input_tp:1;
+ u16 input_language:1;
+ u16 input_rtc:1;
+ u16 input_nickname:1;
+ u8 timeZone;
+ u8 rtcClockAdjust;
+ s64 rtcOffset;
+} NVRAMConfigOption;
+
+typedef struct NVRAMConfigData
+{
+ u8 version;
+ u8 pad;
+ NVRAMConfigOwnerInfo owner;
+ NVRAMConfigAlarm alarm;
+ NVRAMConfigTpCalibData tp;
+ NVRAMConfigOption option;
+} NVRAMConfigData;
+
+typedef struct NVRAMConfig
+{
+ NVRAMConfigData ncd;
+ u16 saveCount;
+ u16 crc16;
+} NVRAMConfig;
+
+#endif //POKEDIAMOND_USERINFO_H