summaryrefslogtreecommitdiff
path: root/src/code/lbrtc/722880.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/code/lbrtc/722880.c')
-rw-r--r--src/code/lbrtc/722880.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/code/lbrtc/722880.c b/src/code/lbrtc/722880.c
new file mode 100644
index 0000000..6c57977
--- /dev/null
+++ b/src/code/lbrtc/722880.c
@@ -0,0 +1,26 @@
+#include "lbrtc.h"
+#include "attributes.h"
+
+s32 func_800FEBE0_jp(OSMesgQueue* mq, OSRTCTime* time) {
+ u32 ret;
+ UNUSED s32 pad;
+ __OSContRTCControlRegs rtc[1];
+ u8 status;
+
+ ret = func_800FE480_jp(mq, &status);
+ if (ret == 0) {
+ ret = func_800FEE10_jp(mq, RTC_CR_BLOCK_TYPE, (u8*)&rtc);
+ if (ret == 0) {
+ rtc[0].writeProtectBitfield &= ~RTC_WRITE_PROTECT_NVRAM_BIT;
+ ret = func_800FE8D0_jp(mq, RTC_CR_BLOCK_TYPE, (u8*)&rtc);
+ if (ret == 0) {
+ ret = func_800FE8D0_jp(mq, RTC_SRAM_BLOCK_TYPE, (u8*)time);
+ if (ret == 0) {
+ rtc[0].writeProtectBitfield |= RTC_WRITE_PROTECT_NVRAM_BIT;
+ ret = func_800FE8D0_jp(mq, RTC_CR_BLOCK_TYPE, (u8*)&rtc);
+ }
+ }
+ }
+ }
+ return ret;
+}