summaryrefslogtreecommitdiff
path: root/arm9/asm/gf_rtc.s
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/asm/gf_rtc.s')
-rw-r--r--arm9/asm/gf_rtc.s410
1 files changed, 0 insertions, 410 deletions
diff --git a/arm9/asm/gf_rtc.s b/arm9/asm/gf_rtc.s
deleted file mode 100644
index a73a4801..00000000
--- a/arm9/asm/gf_rtc.s
+++ /dev/null
@@ -1,410 +0,0 @@
- .include "asm/macros.inc"
- .include "global.inc"
-
- .rodata
-
- .global sMaxTime
-sMaxTime: ; 0x020ED498
- ; 23:59:59
- .word 23, 59, 59
-
- .global sMaxDate
-sMaxDate: ; 0x020ED4A4
- ; 31 December, 2099
- .word 99, 12, 31, 0
-
- .global sGF_DaysPerMonth
-sGF_DaysPerMonth: ; 0x020ED4B2
- .short 0
- .short 31
- .short 59
- .short 90
- .short 120
- .short 151
- .short 181
- .short 212
- .short 243
- .short 273
- .short 304
- .short 334
-
- .global sTimeOfDayByHour
-sTimeOfDayByHour: ; 0x020ED4CC
- ; 00:00 - 03:59
- .byte 0x04, 0x04, 0x04, 0x04
- ; 04:00 - 09:59
- .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- ; 10:00 - 16:59
- .byte 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01
- ; 17:00 - 19:59
- .byte 0x02, 0x02, 0x02
- ; 20:00 - 23:59
- .byte 0x03, 0x03, 0x03, 0x03
-
- .section .bss
-
- .global sGFRTCWork
-sGFRTCWork: ; 0x021C4808
- .space 0x48
-
- .text
-
- thumb_func_start GF_InitRTCWork
-GF_InitRTCWork: ; 0x0201259C
- push {r3, lr}
- bl RTC_Init
- ldr r3, _020125CC ; =sGFRTCWork
- mov r0, #0x0
- add r2, r3, #0x0
- add r1, r0, #0x0
- stmia r2!, {r0-r1}
- stmia r2!, {r0-r1}
- stmia r2!, {r0-r1}
- stmia r2!, {r0-r1}
- stmia r2!, {r0-r1}
- stmia r2!, {r0-r1}
- stmia r2!, {r0-r1}
- stmia r2!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r1, _020125D0 ; =sGFRTCWork
- str r0, [r1, #0x0]
- str r0, [r1, #0x4]
- str r0, [r1, #0x8]
- add r0, r3, #0x0
- bl GF_RTC_GetDateTime
- pop {r3, pc}
- .balign 4
-_020125CC: .word sGFRTCWork
-_020125D0: .word sGFRTCWork
-
- thumb_func_start GF_RTC_UpdateOnFrame
-GF_RTC_UpdateOnFrame: ; 0x020125D4
- push {r3, lr}
- ldr r0, _020125F4 ; =sGFRTCWork
- ldr r1, [r0, #0x4]
- cmp r1, #0x0
- bne _020125F2
- ldr r1, [r0, #0x8]
- add r1, r1, #0x1
- str r1, [r0, #0x8]
- cmp r1, #0xa
- ble _020125F2
- mov r1, #0x0
- str r1, [r0, #0x8]
- ldr r0, _020125F8 ; =sGFRTCWork
- bl GF_RTC_GetDateTime
-_020125F2:
- pop {r3, pc}
- .balign 4
-_020125F4: .word sGFRTCWork
-_020125F8: .word sGFRTCWork
-
- thumb_func_start GF_RTC_GetDateTime_Callback
-GF_RTC_GetDateTime_Callback: ; 0x020125FC
- push {r4, lr}
- add r4, r1, #0x0
- str r0, [r4, #0xc]
- cmp r0, #0x0
- beq _0201260A
- bl ErrorHandling
-_0201260A:
- add r3, r4, #0x0
- mov r0, #0x1
- add r2, r4, #0x0
- add r3, #0x2c
- str r0, [r4, #0x0]
- ldmia r3!, {r0-r1}
- add r2, #0x10
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- add r3, r4, #0x0
- add r3, #0x3c
- add r2, r4, #0x0
- ldmia r3!, {r0-r1}
- add r2, #0x20
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- str r0, [r2, #0x0]
- mov r0, #0x0
- str r0, [r4, #0x4]
- pop {r4, pc}
-
- thumb_func_start GF_RTC_GetDateTime
-GF_RTC_GetDateTime: ; 0x02012634
- push {r4, lr}
- add r4, r0, #0x0
- mov r0, #0x1
- str r0, [r4, #0x4]
- add r0, r4, #0x0
- add r1, r4, #0x0
- ldr r2, _02012658 ; =GF_RTC_GetDateTime_Callback
- add r0, #0x2c
- add r1, #0x3c
- add r3, r4, #0x0
- bl RTC_GetDateTimeAsync
- str r0, [r4, #0xc]
- cmp r0, #0x0
- beq _02012656
- bl ErrorHandling
-_02012656:
- pop {r4, pc}
- .balign 4
-_02012658: .word GF_RTC_GetDateTime_Callback
-
- thumb_func_start GF_RTC_CopyDateTime
-GF_RTC_CopyDateTime: ; 0x0201265C
- push {r3-r5, lr}
- add r5, r0, #0x0
- ldr r0, _02012684 ; =sGFRTCWork
- add r4, r1, #0x0
- ldr r0, [r0, #0x0]
- cmp r0, #0x1
- beq _0201266E
- bl ErrorHandling
-_0201266E:
- ldr r2, _02012688 ; =sGFRTCWork + 16
- ldmia r2!, {r0-r1}
- stmia r5!, {r0-r1}
- ldmia r2!, {r0-r1}
- ldr r2, _0201268C ; =sGFRTCWork + 32
- stmia r5!, {r0-r1}
- ldmia r2!, {r0-r1}
- stmia r4!, {r0-r1}
- ldr r0, [r2, #0x0]
- str r0, [r4, #0x0]
- pop {r3-r5, pc}
- .balign 4
-_02012684: .word sGFRTCWork
-_02012688: .word sGFRTCWork + 16
-_0201268C: .word sGFRTCWork + 32
-
- thumb_func_start GF_RTC_CopyTime
-GF_RTC_CopyTime: ; 0x02012690
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _020126AC ; =sGFRTCWork
- ldr r0, [r0, #0x0]
- cmp r0, #0x1
- beq _020126A0
- bl ErrorHandling
-_020126A0:
- ldr r2, _020126B0 ; =sGFRTCWork + 32
- ldmia r2!, {r0-r1}
- stmia r4!, {r0-r1}
- ldr r0, [r2, #0x0]
- str r0, [r4, #0x0]
- pop {r4, pc}
- .balign 4
-_020126AC: .word sGFRTCWork
-_020126B0: .word sGFRTCWork + 32
-
- thumb_func_start GF_RTC_CopyDate
-GF_RTC_CopyDate: ; 0x020126B4
- push {r4, lr}
- add r4, r0, #0x0
- ldr r0, _020126D0 ; =sGFRTCWork
- ldr r0, [r0, #0x0]
- cmp r0, #0x1
- beq _020126C4
- bl ErrorHandling
-_020126C4:
- ldr r2, _020126D4 ; =sGFRTCWork + 16
- ldmia r2!, {r0-r1}
- stmia r4!, {r0-r1}
- ldmia r2!, {r0-r1}
- stmia r4!, {r0-r1}
- pop {r4, pc}
- .balign 4
-_020126D0: .word sGFRTCWork
-_020126D4: .word sGFRTCWork + 16
-
- thumb_func_start GF_RTC_TimeToSec
-GF_RTC_TimeToSec: ; 0x020126D8
- push {r3-r4}
- ldr r4, _020126F8 ; =sGFRTCWork + 32
- mov r0, #0x3c
- ldr r1, [r4, #0x4]
- ldr r3, [r4, #0x8]
- add r2, r1, #0x0
- mul r2, r0
- mov r0, #0xe1
- ldr r1, [r4, #0x0]
- lsl r0, r0, #0x4
- mul r0, r1
- add r0, r2, r0
- add r0, r3, r0
- pop {r3-r4}
- bx lr
- nop
-_020126F8: .word sGFRTCWork + 32
-
- thumb_func_start GF_RTC_DateTimeToSec
-GF_RTC_DateTimeToSec: ; 0x020126FC
- ldr r3, _02012704 ; =RTC_ConvertDateTimeToSecond
- ldr r0, _02012708 ; =sGFRTCWork + 16
- ldr r1, _0201270C ; =sGFRTCWork + 32
- bx r3
- .balign 4
-_02012704: .word RTC_ConvertDateTimeToSecond
-_02012708: .word sGFRTCWork + 16
-_0201270C: .word sGFRTCWork + 32
-
- thumb_func_start FUN_02012710
-FUN_02012710: ; 0x02012710
- push {r4-r6, lr}
- sub sp, #0x10
- add r5, r0, #0x0
- ldr r2, [r5, #0x4]
- ldr r0, _02012778 ; =sGF_DaysPerMonth - 2
- lsl r1, r2, #0x1
- ldrh r0, [r0, r1]
- ldr r3, [r5, #0x8]
- add r4, r3, r0
- cmp r2, #0x3
- blo _02012752
- ldr r6, [r5, #0x0]
- mov r0, #0x1e
- lsr r2, r6, #0x1f
- lsl r1, r6, #0x1e
- sub r1, r1, r2
- ror r1, r0
- add r0, r2, r1
- bne _02012742
- add r0, r6, #0x0
- mov r1, #0x64
- bl _s32_div_f
- cmp r1, #0x0
- bne _02012750
-_02012742:
- mov r1, #0x19
- add r0, r6, #0x0
- lsl r1, r1, #0x4
- bl _s32_div_f
- cmp r1, #0x0
- bne _02012752
-_02012750:
- add r4, r4, #0x1
-_02012752:
- add r6, r5, #0x0
- add r3, sp, #0x0
- add r2, r3, #0x0
- ldmia r6!, {r0-r1}
- stmia r3!, {r0-r1}
- ldmia r6!, {r0-r1}
- stmia r3!, {r0-r1}
- mov r0, #0x1
- str r0, [sp, #0x4]
- str r0, [sp, #0x8]
- add r0, r2, #0x0
- bl RTC_ConvertDateToDay
- add r0, r5, #0x0
- bl RTC_ConvertDateToDay
- add r0, r4, #0x0
- add sp, #0x10
- pop {r4-r6, pc}
- .balign 4
-_02012778: .word sGF_DaysPerMonth - 2
-
- thumb_func_start IsNighttime
-IsNighttime: ; 0x0201277C
- push {r3, lr}
- bl GF_RTC_GetTimeOfDay
- cmp r0, #0x3
- beq _0201278A
- cmp r0, #0x4
- bne _0201278E
-_0201278A:
- mov r0, #0x1
- pop {r3, pc}
-_0201278E:
- mov r0, #0x0
- pop {r3, pc}
- .balign 4
-
- thumb_func_start GF_RTC_GetTimeOfDay
-GF_RTC_GetTimeOfDay: ; 0x02012794
- push {lr}
- sub sp, #0xc
- add r0, sp, #0x0
- bl GF_RTC_CopyTime
- ldr r0, [sp, #0x0]
- bl GF_RTC_GetTimeOfDayByHour
- add sp, #0xc
- pop {pc}
-
- thumb_func_start GF_RTC_GetTimeOfDayByHour
-GF_RTC_GetTimeOfDayByHour: ; 0x020127A8
- push {r4, lr}
- add r4, r0, #0x0
- bmi _020127B2
- cmp r4, #0x18
- blt _020127B6
-_020127B2:
- bl ErrorHandling
-_020127B6:
- ldr r0, _020127BC ; =sTimeOfDayByHour
- ldrb r0, [r0, r4]
- pop {r4, pc}
- .balign 4
-_020127BC: .word sTimeOfDayByHour
-
- thumb_func_start FUN_020127C0
-FUN_020127C0: ; 0x020127C0
- push {r4-r7, lr}
- sub sp, #0x24
- add r6, r3, #0x0
- ldr r3, _0201282C ; =sMaxDate
- add r4, r0, #0x0
- add r7, r1, #0x0
- add r5, r2, #0x0
- add r2, sp, #0x14
- ldmia r3!, {r0-r1}
- str r2, [sp, #0x0]
- stmia r2!, {r0-r1}
- ldmia r3!, {r0-r1}
- stmia r2!, {r0-r1}
- ldr r3, _02012830 ; =sMaxTime
- add r2, sp, #0x8
- ldmia r3!, {r0-r1}
- str r2, [sp, #0x4]
- stmia r2!, {r0-r1}
- ldr r0, [r3, #0x0]
- ldr r1, [sp, #0x4]
- str r0, [r2, #0x0]
- ldr r0, [sp, #0x0]
- bl RTC_ConvertDateTimeToSecond
- add r2, r1, #0x0
- add r3, r0, #0x0
- mov r1, #0x0
- ldr r0, _02012834 ; =0xBC19137F
- eor r1, r2
- eor r0, r3
- orr r0, r1
- beq _02012804
- bl ErrorHandling
-_02012804:
- sub r0, r4, r5
- mov r12, r7
- mov r0, r12
- sbc r0, r6
- bge _02012818
- sub r0, r5, r4
- sbc r6, r7
- add sp, #0x24
- add r1, r6, #0x0
- pop {r4-r7, pc}
-_02012818:
- ldr r0, _02012834 ; =0xBC19137F
- mov r1, #0x0
- sub r0, r0, r4
- sbc r1, r7
- add r0, r5, r0
- adc r6, r1
- add r1, r6, #0x0
- add sp, #0x24
- pop {r4-r7, pc}
- nop
-_0201282C: .word sMaxDate
-_02012830: .word sMaxTime
-_02012834: .word 0xBC19137F