mirror of
https://github.com/zeldaret/ss
synced 2026-05-26 15:45:19 -04:00
26af4db82d
* update from dtk-template and start work towards using clangd * include <a> -> "a" * Update build.yml * remove/add non-trivial class in union warning
49 lines
1.1 KiB
C
49 lines
1.1 KiB
C
#ifndef RVL_SDK_OS_RTC_H
|
|
#define RVL_SDK_OS_RTC_H
|
|
#include "common.h"
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
* Documentation from:
|
|
* https://www.gc-forever.com/yagcd/chap10.html#sec10.5
|
|
*/
|
|
|
|
typedef struct OSSram {
|
|
u16 checksum; // at 0x0
|
|
u16 invchecksum; // at 0x2
|
|
u32 ead0; // at 0x4
|
|
u32 ead1; // at 0x8
|
|
u32 counterBias; // at 0xC
|
|
u8 dispOfsH; // at 0x10
|
|
u8 ntd; // at 0x11
|
|
u8 lang; // at 0x12
|
|
u8 flags; // at 0x13
|
|
} OSSram;
|
|
|
|
typedef struct OSSramEx {
|
|
char UNK_0x0[0x1C];
|
|
u16 wirelessPadId[4]; // at 0x1C
|
|
char UNK_0x38[0x3C - 0x38];
|
|
u16 gbs; // at 0x3C
|
|
char UNK_0x3E[0x40 - 0x3E];
|
|
} OSSramEx;
|
|
|
|
void __OSInitSram(void);
|
|
OSSramEx *__OSLockSramEx(void);
|
|
BOOL __OSUnlockSramEx(BOOL save);
|
|
BOOL __OSSyncSram(void);
|
|
BOOL __OSReadROM(void *dst, s32 size, const void *src);
|
|
u16 OSGetWirelessID(s32 pad);
|
|
void OSSetWirelessID(s32 pad, u16 id);
|
|
u16 OSGetGbsMode(void);
|
|
void OSSetGbsMode(u16 gbs);
|
|
BOOL __OSGetRTCFlags(u32 *out);
|
|
BOOL __OSClearRTCFlags(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|