#ifndef GUARD_RTC_H #define GUARD_RTC_H #include "gba/gba.h" #define SIIRTCINFO_INTFE 0x01 // frequency interrupt enable #define SIIRTCINFO_INTME 0x02 // per-minute interrupt enable #define SIIRTCINFO_INTAE 0x04 // alarm interrupt enable #define SIIRTCINFO_24HOUR 0x40 // 0: 12-hour mode, 1: 24-hour mode #define SIIRTCINFO_POWER 0x80 // power on or power failure occurred enum { MONTH_JAN = 1, MONTH_FEB, MONTH_MAR, MONTH_APR, MONTH_MAY, MONTH_JUN, MONTH_JUL, MONTH_AUG, MONTH_SEP, MONTH_OCT, MONTH_NOV, MONTH_DEC }; struct SiiRtcInfo { u8 year; u8 month; u8 day; u8 dayOfWeek; u8 hour; u8 minute; u8 second; u8 status; u8 alarmHour; u8 alarmMinute; }; void SiiRtcUnprotect(); void SiiRtcProtect(); u8 SiiRtcProbe(); bool8 SiiRtcReset(); bool8 SiiRtcGetStatus(struct SiiRtcInfo *rtc); bool8 SiiRtcSetStatus(struct SiiRtcInfo *rtc); bool8 SiiRtcGetDateTime(struct SiiRtcInfo *rtc); bool8 SiiRtcSetDateTime(struct SiiRtcInfo *rtc); bool8 SiiRtcGetTime(struct SiiRtcInfo *rtc); bool8 SiiRtcSetTime(struct SiiRtcInfo *rtc); bool8 SiiRtcSetAlarm(struct SiiRtcInfo *rtc); #endif // GUARD_RTC_H