diff options
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | asm/rom.s | 4 | ||||
-rw-r--r-- | data/data2.s | 2 | ||||
-rw-r--r-- | data/rtc.s (renamed from data/rtc_util.s) | 0 | ||||
-rw-r--r-- | include/rtc.h | 76 | ||||
-rw-r--r-- | include/rtc_util.h | 34 | ||||
-rw-r--r-- | include/siirtc.h | 54 | ||||
-rw-r--r-- | src/rtc.c (renamed from src/rtc_util.c) | 2 | ||||
-rw-r--r-- | src/siirtc.c (renamed from src/librtc.c) | 2 |
9 files changed, 88 insertions, 88 deletions
@@ -62,7 +62,7 @@ include tilesets.mk $(OBJS): $(CSRCS:src/%.c=genasm/%.s) -genasm/librtc.s: CFLAGS := -mthumb-interwork -Iinclude +genasm/siirtc.s: CFLAGS := -mthumb-interwork -Iinclude # TODO: fix this .syntax hack @@ -18378,7 +18378,7 @@ _080090EC: .4byte 0x00000fbc _080090F0: .4byte 0x0000efff thumb_func_end sub_8009084 - .include "genasm/rtc_util.s" + .include "genasm/rtc.s" thumb_func_start sub_80096C4 sub_80096C4: ; 80096C4 @@ -676821,7 +676821,7 @@ _0814AE2C: .4byte gUnknown_0842F6C0 .include "asm/libgcnmultiboot.s" .include "asm/libmks4agb.s" .include "asm/libagbbackup.s" - .include "genasm/librtc.s" + .include "genasm/siirtc.s" .include "asm/libagbsyscall.s" .include "asm/libgcc.s" .include "data/data2.s" diff --git a/data/data2.s b/data/data2.s index 9f5b37cd8..a3c66a58a 100644 --- a/data/data2.s +++ b/data/data2.s @@ -364,7 +364,7 @@ gUnknown_081E75FC: ; 81E75FC .incbin "baserom.gba", 0x001e75fc, 0x14 ; 81E7610 - .include "data/rtc_util.s" + .include "data/rtc.s" gUnknown_081E764C: ; 81E764C .incbin "baserom.gba", 0x001e764c, 0x40 diff --git a/data/rtc_util.s b/data/rtc.s index 599f4e001..599f4e001 100644 --- a/data/rtc_util.s +++ b/data/rtc.s diff --git a/include/rtc.h b/include/rtc.h index 5864f95b8..96d7e716b 100644 --- a/include/rtc.h +++ b/include/rtc.h @@ -1,54 +1,34 @@ -#ifndef GUARD_RTC_H -#define GUARD_RTC_H +#ifndef GUARD_RTC_UTIL_H +#define GUARD_RTC_UTIL_H -#include "gba/gba.h" +#include "global.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 +#define RTC_INIT_ERROR 0x0001 +#define RTC_INIT_WARNING 0x0002 -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 -}; +#define RTC_ERR_12HOUR_CLOCK 0x0010 +#define RTC_ERR_POWER_FAILURE 0x0020 +#define RTC_ERR_INVALID_YEAR 0x0040 +#define RTC_ERR_INVALID_MONTH 0x0080 +#define RTC_ERR_INVALID_DAY 0x0100 +#define RTC_ERR_INVALID_HOUR 0x0200 +#define RTC_ERR_INVALID_MINUTE 0x0400 +#define RTC_ERR_INVALID_SECOND 0x0800 -struct SiiRtcInfo -{ - u8 year; - u8 month; - u8 day; - u8 dayOfWeek; - u8 hour; - u8 minute; - u8 second; - u8 status; - u8 alarmHour; - u8 alarmMinute; -}; +#define RTC_ERR_FLAG_MASK 0x0FF0 -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); +void RtcInit(); +u16 RtcGetErrorStatus(); +void RtcReset(); +void FormatDecimalTime(u8 *dest, s32 hour, s32 minute, s32 second); +void FormatHexTime(u8 *dest, s32 hour, s32 minute, s32 second); +void FormatHexRtcTime(u8 *dest); +void FormatDecimalDate(u8 *dest, s32 year, s32 month, s32 day); +void FormatHexDate(u8 *dest, s32 year, s32 month, s32 day); +void RtcCalcLocalTime(); +void RtcInitLocalTimeOffset(s32 hour, s32 minute); +void RtcCalcLocalTimeOffset(s32 days, s32 hours, s32 minutes, s32 seconds); +void CalcTimeDifference(struct Time *result, struct Time *t1, struct Time *t2); +u32 RtcGetMinuteCount(); -#endif // GUARD_RTC_H +#endif // GUARD_RTC_UTIL_H diff --git a/include/rtc_util.h b/include/rtc_util.h deleted file mode 100644 index 96d7e716b..000000000 --- a/include/rtc_util.h +++ /dev/null @@ -1,34 +0,0 @@ -#ifndef GUARD_RTC_UTIL_H -#define GUARD_RTC_UTIL_H - -#include "global.h" - -#define RTC_INIT_ERROR 0x0001 -#define RTC_INIT_WARNING 0x0002 - -#define RTC_ERR_12HOUR_CLOCK 0x0010 -#define RTC_ERR_POWER_FAILURE 0x0020 -#define RTC_ERR_INVALID_YEAR 0x0040 -#define RTC_ERR_INVALID_MONTH 0x0080 -#define RTC_ERR_INVALID_DAY 0x0100 -#define RTC_ERR_INVALID_HOUR 0x0200 -#define RTC_ERR_INVALID_MINUTE 0x0400 -#define RTC_ERR_INVALID_SECOND 0x0800 - -#define RTC_ERR_FLAG_MASK 0x0FF0 - -void RtcInit(); -u16 RtcGetErrorStatus(); -void RtcReset(); -void FormatDecimalTime(u8 *dest, s32 hour, s32 minute, s32 second); -void FormatHexTime(u8 *dest, s32 hour, s32 minute, s32 second); -void FormatHexRtcTime(u8 *dest); -void FormatDecimalDate(u8 *dest, s32 year, s32 month, s32 day); -void FormatHexDate(u8 *dest, s32 year, s32 month, s32 day); -void RtcCalcLocalTime(); -void RtcInitLocalTimeOffset(s32 hour, s32 minute); -void RtcCalcLocalTimeOffset(s32 days, s32 hours, s32 minutes, s32 seconds); -void CalcTimeDifference(struct Time *result, struct Time *t1, struct Time *t2); -u32 RtcGetMinuteCount(); - -#endif // GUARD_RTC_UTIL_H diff --git a/include/siirtc.h b/include/siirtc.h new file mode 100644 index 000000000..5864f95b8 --- /dev/null +++ b/include/siirtc.h @@ -0,0 +1,54 @@ +#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 diff --git a/src/rtc_util.c b/src/rtc.c index 876d4ab24..6f164066b 100644 --- a/src/rtc_util.c +++ b/src/rtc.c @@ -1,6 +1,6 @@ #include "global.h" +#include "siirtc.h" #include "rtc.h" -#include "rtc_util.h" #include "string_util.h" extern const struct SiiRtcInfo gRtcDummy; diff --git a/src/librtc.c b/src/siirtc.c index 8d748b06e..cb152abdf 100644 --- a/src/librtc.c +++ b/src/siirtc.c @@ -3,7 +3,7 @@ // communicating with the RTC. #include "gba/gba.h" -#include "rtc.h" +#include "siirtc.h" #define STATUS_INTFE 0x02 // frequency interrupt enable #define STATUS_INTME 0x08 // per-minute interrupt enable |