diff options
author | YamaArashi <shadow962@live.com> | 2016-02-03 00:26:25 -0800 |
---|---|---|
committer | YamaArashi <shadow962@live.com> | 2016-02-03 00:26:25 -0800 |
commit | 5fd538d1802b2ae9e3e854140f68cb45fe50e97a (patch) | |
tree | a7d3cc4b70435a6cc4a94b4497307393d743f28d /asm | |
parent | 6f965a9eca507c27049fbd90a57f620b63c92d6d (diff) |
RTC code/data
Diffstat (limited to 'asm')
-rw-r--r-- | asm/crt0.s | 2 | ||||
-rw-r--r-- | asm/rom.s | 836 |
2 files changed, 21 insertions, 817 deletions
diff --git a/asm/crt0.s b/asm/crt0.s index 9729a9488..94d4a4b7a 100644 --- a/asm/crt0.s +++ b/asm/crt0.s @@ -12,7 +12,7 @@ GPIOPortData: ; 80000C4 GPIOPortDirection: ; 80000C6 .2byte 0 -GPIOPortReadWrite: ; 80000C8 +GPIOPortReadEnable: ; 80000C8 .2byte 0 .rept 6 @@ -27,7 +27,7 @@ AgbMain: ; 800024C bl InitKeypadData bl InitIntrHandlers bl m4aSoundInit - bl GameFreakRTC_Init + bl RtcInit bl CheckForFlashMemory bl init_saveblock_ptrs_and_set_copyright_callback2 bl sound_sources_off @@ -204,7 +204,7 @@ _080003E0: .4byte 0x0000043c thumb_func_start SeedRngWithRtc SeedRngWithRtc: ; 80003E4 push {lr} - bl GameFreakRTC_GetNumMinutes + bl RtcGetMinuteCount adds r2, r0, 0 lsrs r0, r2, 16 ldr r1, _080003FC @@ -620,7 +620,7 @@ DoSoftReset: ; 80006B4 ands r2, r1 strh r2, [r0, 0xA] ldrh r0, [r0, 0xA] - bl RTC_SetReadOnly + bl RTC_Protect movs r0, 0xFF bl SoftReset pop {r4} @@ -18378,803 +18378,7 @@ _080090EC: .4byte 0x00000fbc _080090F0: .4byte 0x0000efff thumb_func_end sub_8009084 - thumb_func_start GFRTC_DisableInterrupts -GFRTC_DisableInterrupts: ; 80090F4 - ldr r2, _08009104 - ldr r1, _08009108 - ldrh r0, [r1] - strh r0, [r2] - movs r0, 0 - strh r0, [r1] - bx lr - .align 2 -_08009104: .4byte 0x0300046e -_08009108: .4byte 0x04000208 - thumb_func_end GFRTC_DisableInterrupts - - thumb_func_start GFRTC_RestoreInterrupts -GFRTC_RestoreInterrupts: ; 800910C - ldr r0, _08009118 - ldr r1, _0800911C - ldrh r1, [r1] - strh r1, [r0] - bx lr - .align 2 -_08009118: .4byte 0x04000208 -_0800911C: .4byte 0x0300046e - thumb_func_end GFRTC_RestoreInterrupts - - thumb_func_start GFRTC_ConvertBcdToBinary -GFRTC_ConvertBcdToBinary: ; 8009120 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x9F - bhi _08009132 - movs r3, 0xF - ands r3, r2 - cmp r3, 0x9 - bls _08009136 -_08009132: - movs r0, 0xFF - b _08009144 -_08009136: - lsrs r1, r0, 28 - movs r0, 0xF - ands r1, r0 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 1 - adds r0, r3 -_08009144: - pop {r1} - bx r1 - thumb_func_end GFRTC_ConvertBcdToBinary - - thumb_func_start GFRTC_IsLeapYear -GFRTC_IsLeapYear: ; 8009148 - push {r4,lr} - lsls r0, 24 - lsrs r1, r0, 24 - adds r4, r1, 0 - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _08009166 - adds r0, r1, 0 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 24 - cmp r0, 0 - bne _08009174 -_08009166: - movs r1, 0xC8 - lsls r1, 1 - adds r0, r4, 0 - bl __modsi3 - cmp r0, 0 - bne _08009178 -_08009174: - movs r0, 0x1 - b _0800917A -_08009178: - movs r0, 0 -_0800917A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GFRTC_IsLeapYear - - thumb_func_start GFRTC_ConvertYmdToDayCount -GFRTC_ConvertYmdToDayCount: ; 8009180 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - movs r5, 0 - subs r4, r7, 0x1 - cmp r4, 0 - ble _080091C0 -_0800919C: - ldr r1, _08009204 - adds r0, r5, r1 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r0, r4, 24 - lsrs r0, 24 - bl GFRTC_IsLeapYear - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080091BA - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_080091BA: - subs r4, 0x1 - cmp r4, 0 - bgt _0800919C -_080091C0: - subs r0, r6, 0x1 - cmp r0, 0 - ble _080091D8 - ldr r1, _08009208 - adds r4, r0, 0 -_080091CA: - ldm r1!, {r0} - adds r0, r5, r0 - lsls r0, 16 - lsrs r5, r0, 16 - subs r4, 0x1 - cmp r4, 0 - bne _080091CA -_080091D8: - cmp r6, 0x2 - bls _080091F0 - adds r0, r7, 0 - bl GFRTC_IsLeapYear - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080091F0 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_080091F0: - mov r1, r8 - adds r0, r5, r1 - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r5, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2 -_08009204: .4byte 0x0000016d -_08009208: .4byte gUnknown_081E761C - thumb_func_end GFRTC_ConvertYmdToDayCount - - thumb_func_start GFRTC_GetDayCount -GFRTC_GetDayCount: ; 800920C - push {r4-r6,lr} - adds r6, r0, 0 - ldrb r0, [r6] - bl GFRTC_ConvertBcdToBinary - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldrb r0, [r6, 0x1] - bl GFRTC_ConvertBcdToBinary - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r6, 0x2] - bl GFRTC_ConvertBcdToBinary - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl GFRTC_ConvertYmdToDayCount - lsls r0, 16 - lsrs r0, 16 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GFRTC_GetDayCount - - thumb_func_start GameFreakRTC_Init -GameFreakRTC_Init: ; 8009248 - push {r4,r5,lr} - ldr r5, _08009274 - movs r0, 0 - strh r0, [r5] - bl GFRTC_DisableInterrupts - bl RTC_SetReadWrite - bl RTC_Init - ldr r4, _08009278 - strb r0, [r4] - bl GFRTC_RestoreInterrupts - ldrb r4, [r4] - movs r0, 0xF - ands r0, r4 - cmp r0, 0 - bne _0800927C - movs r0, 0x1 - strh r0, [r5] - b _0800929A - .align 2 -_08009274: .4byte 0x03000458 -_08009278: .4byte 0x0300046c -_0800927C: - movs r0, 0xF0 - ands r0, r4 - cmp r0, 0 - beq _08009286 - movs r0, 0x2 -_08009286: - strh r0, [r5] - ldr r4, _080092A0 - adds r0, r4, 0 - bl GFRTC_GetControlRegAndRtcDateTime - adds r0, r4, 0 - bl GFRTC_TestForErrors - ldr r1, _080092A4 - strh r0, [r1] -_0800929A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2 -_080092A0: .4byte 0x03000460 -_080092A4: .4byte 0x03000458 - thumb_func_end GameFreakRTC_Init - - thumb_func_start sub_80092A8 -sub_80092A8: ; 80092A8 - ldr r0, _080092B0 - ldrh r0, [r0] - bx lr - .align 2 -_080092B0: .4byte 0x03000458 - thumb_func_end sub_80092A8 - - thumb_func_start GameFreakRTC_GetRTCDateTime -GameFreakRTC_GetRTCDateTime: ; 80092B4 - push {r4,lr} - adds r2, r0, 0 - ldr r0, _080092D0 - ldrh r1, [r0] - movs r0, 0xFF - lsls r0, 4 - ands r0, r1 - cmp r0, 0 - beq _080092D8 - adds r1, r2, 0 - ldr r0, _080092D4 - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - b _080092DE - .align 2 -_080092D0: .4byte 0x03000458 -_080092D4: .4byte gUnknown_081E7610 -_080092D8: - adds r0, r2, 0 - bl GFRTC_GetControlRegAndRtcDateTime -_080092DE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GameFreakRTC_GetRTCDateTime - - thumb_func_start GameFreakRTC_GetRTCDateTimeInternal -GameFreakRTC_GetRTCDateTimeInternal: ; 80092E4 - push {r4,lr} - adds r4, r0, 0 - bl GFRTC_DisableInterrupts - adds r0, r4, 0 - bl RTC_GetDateTime - bl GFRTC_RestoreInterrupts - pop {r4} - pop {r0} - bx r0 - thumb_func_end GameFreakRTC_GetRTCDateTimeInternal - - thumb_func_start GameFreakRTC_GetControlReg -GameFreakRTC_GetControlReg: ; 80092FC - push {r4,lr} - adds r4, r0, 0 - bl GFRTC_DisableInterrupts - adds r0, r4, 0 - bl RTC_GetControlReg - bl GFRTC_RestoreInterrupts - pop {r4} - pop {r0} - bx r0 - thumb_func_end GameFreakRTC_GetControlReg - - thumb_func_start GFRTC_GetControlRegAndRtcDateTime -GFRTC_GetControlRegAndRtcDateTime: ; 8009314 - push {r4,lr} - adds r4, r0, 0 - bl GameFreakRTC_GetControlReg - adds r0, r4, 0 - bl GameFreakRTC_GetRTCDateTimeInternal - pop {r4} - pop {r0} - bx r0 - thumb_func_end GFRTC_GetControlRegAndRtcDateTime - - thumb_func_start GFRTC_TestForErrors -GFRTC_TestForErrors: ; 8009328 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - ldrb r1, [r7, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r0, 24 - negs r0, r0 - asrs r4, r0, 31 - movs r0, 0x20 - ands r4, r0 - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - bne _0800934E - movs r0, 0x10 - orrs r4, r0 -_0800934E: - ldrb r0, [r7] - bl GFRTC_ConvertBcdToBinary - mov r8, r0 - cmp r0, 0xFF - bne _08009362 - movs r0, 0x40 - orrs r4, r0 - lsls r0, r4, 16 - lsrs r4, r0, 16 -_08009362: - ldrb r0, [r7, 0x1] - bl GFRTC_ConvertBcdToBinary - adds r6, r0, 0 - cmp r6, 0xFF - beq _08009376 - cmp r6, 0 - beq _08009376 - cmp r6, 0xC - ble _0800937E -_08009376: - movs r0, 0x80 - orrs r4, r0 - lsls r0, r4, 16 - lsrs r4, r0, 16 -_0800937E: - ldrb r0, [r7, 0x2] - bl GFRTC_ConvertBcdToBinary - adds r5, r0, 0 - cmp r5, 0xFF - bne _08009396 - movs r1, 0x80 - lsls r1, 1 - adds r0, r1, 0 - orrs r4, r0 - lsls r0, r4, 16 - lsrs r4, r0, 16 -_08009396: - cmp r6, 0x2 - bne _080093B4 - mov r1, r8 - lsls r0, r1, 24 - lsrs r0, 24 - bl GFRTC_IsLeapYear - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080093B0 - ldr r1, [r1, 0x4] - adds r0, r1 - b _080093BE - .align 2 -_080093B0: .4byte gUnknown_081E761C -_080093B4: - ldr r0, _08009424 - subs r1, r6, 0x1 - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] -_080093BE: - cmp r5, r0 - ble _080093CE - movs r1, 0x80 - lsls r1, 1 - adds r0, r1, 0 - orrs r4, r0 - lsls r0, r4, 16 - lsrs r4, r0, 16 -_080093CE: - ldrb r0, [r7, 0x4] - bl GFRTC_ConvertBcdToBinary - adds r5, r0, 0 - cmp r5, 0x18 - ble _080093E6 - movs r1, 0x80 - lsls r1, 2 - adds r0, r1, 0 - orrs r4, r0 - lsls r0, r4, 16 - lsrs r4, r0, 16 -_080093E6: - ldrb r0, [r7, 0x5] - bl GFRTC_ConvertBcdToBinary - adds r5, r0, 0 - cmp r5, 0x3C - ble _080093FE - movs r1, 0x80 - lsls r1, 3 - adds r0, r1, 0 - orrs r4, r0 - lsls r0, r4, 16 - lsrs r4, r0, 16 -_080093FE: - ldrb r0, [r7, 0x6] - bl GFRTC_ConvertBcdToBinary - adds r5, r0, 0 - cmp r5, 0x3C - ble _08009416 - movs r1, 0x80 - lsls r1, 4 - adds r0, r1, 0 - orrs r4, r0 - lsls r0, r4, 16 - lsrs r4, r0, 16 -_08009416: - adds r0, r4, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2 -_08009424: .4byte gUnknown_081E761C - thumb_func_end GFRTC_TestForErrors - - thumb_func_start sub_8009428 -sub_8009428: ; 8009428 - push {lr} - bl GFRTC_DisableInterrupts - bl RTC_Reset - bl GFRTC_RestoreInterrupts - pop {r0} - bx r0 - thumb_func_end sub_8009428 - - thumb_func_start GameFreakRTC_FormatDecimalTimeString -GameFreakRTC_FormatDecimalTimeString: ; 800943C - push {r4-r6,lr} - adds r5, r2, 0 - adds r6, r3, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - movs r4, 0xF0 - strb r4, [r0] - adds r0, 0x1 - adds r1, r5, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - strb r4, [r0] - adds r0, 0x1 - adds r1, r6, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - movs r1, 0xFF - strb r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end GameFreakRTC_FormatDecimalTimeString - - thumb_func_start GameFreakRTC_FormatHexTimeString -GameFreakRTC_FormatHexTimeString: ; 8009474 - push {r4-r6,lr} - adds r5, r2, 0 - adds r6, r3, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToHexStringN - movs r4, 0xF0 - strb r4, [r0] - adds r0, 0x1 - adds r1, r5, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToHexStringN - strb r4, [r0] - adds r0, 0x1 - adds r1, r6, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToHexStringN - movs r1, 0xFF - strb r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end GameFreakRTC_FormatHexTimeString - - thumb_func_start GameFreakRTC_FormatHexTimeStringFromRTCInfo -GameFreakRTC_FormatHexTimeStringFromRTCInfo: ; 80094AC - push {lr} - ldr r3, _080094C0 - ldrb r1, [r3, 0x4] - ldrb r2, [r3, 0x5] - ldrb r3, [r3, 0x6] - bl GameFreakRTC_FormatHexTimeString - pop {r0} - bx r0 - .align 2 -_080094C0: .4byte 0x03000460 - thumb_func_end GameFreakRTC_FormatHexTimeStringFromRTCInfo - - thumb_func_start GameFreakRTC_FormatDecimalYearMonthDayString -GameFreakRTC_FormatDecimalYearMonthDayString: ; 80094C4 - push {r4-r6,lr} - adds r5, r2, 0 - adds r6, r3, 0 - movs r2, 0x2 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - movs r4, 0xAE - strb r4, [r0] - adds r0, 0x1 - adds r1, r5, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - strb r4, [r0] - adds r0, 0x1 - adds r1, r6, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - movs r1, 0xFF - strb r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end GameFreakRTC_FormatDecimalYearMonthDayString - - thumb_func_start GameFreakRTC_FormatHexYearMonthDayString -GameFreakRTC_FormatHexYearMonthDayString: ; 80094FC - push {r4-r6,lr} - adds r5, r2, 0 - adds r6, r3, 0 - movs r2, 0x2 - movs r3, 0x4 - bl ConvertIntToHexStringN - movs r4, 0xAE - strb r4, [r0] - adds r0, 0x1 - adds r1, r5, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToHexStringN - strb r4, [r0] - adds r0, 0x1 - adds r1, r6, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToHexStringN - movs r1, 0xFF - strb r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end GameFreakRTC_FormatHexYearMonthDayString - - thumb_func_start GameFreakRTC_GetRTCDelta -GameFreakRTC_GetRTCDelta: ; 8009534 - push {r4-r7,lr} - adds r5, r0, 0 - adds r7, r1, 0 - adds r6, r2, 0 - bl GFRTC_GetDayCount - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldrb r0, [r5, 0x6] - bl GFRTC_ConvertBcdToBinary - ldrb r1, [r6, 0x4] - subs r0, r1 - strb r0, [r7, 0x4] - ldrb r0, [r5, 0x5] - bl GFRTC_ConvertBcdToBinary - ldrb r1, [r6, 0x3] - subs r0, r1 - strb r0, [r7, 0x3] - ldrb r0, [r5, 0x4] - bl GFRTC_ConvertBcdToBinary - ldrb r1, [r6, 0x2] - subs r0, r1 - strb r0, [r7, 0x2] - ldrh r0, [r6] - subs r4, r0 - strh r4, [r7] - ldrb r1, [r7, 0x4] - movs r0, 0x4 - ldrsb r0, [r7, r0] - cmp r0, 0 - bge _08009586 - adds r0, r1, 0 - adds r0, 0x3C - strb r0, [r7, 0x4] - ldrb r0, [r7, 0x3] - subs r0, 0x1 - strb r0, [r7, 0x3] -_08009586: - ldrb r1, [r7, 0x3] - movs r0, 0x3 - ldrsb r0, [r7, r0] - cmp r0, 0 - bge _0800959C - adds r0, r1, 0 - adds r0, 0x3C - strb r0, [r7, 0x3] - ldrb r0, [r7, 0x2] - subs r0, 0x1 - strb r0, [r7, 0x2] -_0800959C: - ldrb r1, [r7, 0x2] - movs r0, 0x2 - ldrsb r0, [r7, r0] - cmp r0, 0 - bge _080095B2 - adds r0, r1, 0 - adds r0, 0x18 - strb r0, [r7, 0x2] - ldrh r0, [r7] - subs r0, 0x1 - strh r0, [r7] -_080095B2: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end GameFreakRTC_GetRTCDelta - - thumb_func_start GameFreakRTC_CalcLocalDateTime -GameFreakRTC_CalcLocalDateTime: ; 80095B8 - push {r4,lr} - ldr r4, _080095D4 - adds r0, r4, 0 - bl GameFreakRTC_GetRTCDateTime - ldr r1, _080095D8 - ldr r2, _080095DC - adds r0, r4, 0 - bl GameFreakRTC_GetRTCDelta - pop {r4} - pop {r0} - bx r0 - .align 2 -_080095D4: .4byte 0x03000460 -_080095D8: .4byte 0x03004038 -_080095DC: .4byte 0x02024f3c - thumb_func_end GameFreakRTC_CalcLocalDateTime - - thumb_func_start GameFreakRTC_CalcRTCToLocalDelta_DayZero -GameFreakRTC_CalcRTCToLocalDelta_DayZero: ; 80095E0 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - movs r0, 0 - adds r1, r3, 0 - movs r3, 0 - bl GameFreakRTC_CalcRTCToLocalDelta - pop {r0} - bx r0 - thumb_func_end GameFreakRTC_CalcRTCToLocalDelta_DayZero - - thumb_func_start GameFreakRTC_CalcRTCToLocalDelta -GameFreakRTC_CalcRTCToLocalDelta: ; 80095F4 - push {r4,r5,lr} - ldr r4, _08009618 - strh r0, [r4] - strb r1, [r4, 0x2] - strb r2, [r4, 0x3] - strb r3, [r4, 0x4] - ldr r5, _0800961C - adds r0, r5, 0 - bl GameFreakRTC_GetRTCDateTime - ldr r1, _08009620 - adds r0, r5, 0 - adds r2, r4, 0 - bl GameFreakRTC_GetRTCDelta - pop {r4,r5} - pop {r0} - bx r0 - .align 2 -_08009618: .4byte 0x03004038 -_0800961C: .4byte 0x03000460 -_08009620: .4byte 0x02024f3c - thumb_func_end GameFreakRTC_CalcRTCToLocalDelta - - thumb_func_start GameFreakRTC_GetDelta -GameFreakRTC_GetDelta: ; 8009624 - push {r4-r6,lr} - adds r4, r0, 0 - ldrb r3, [r2, 0x4] - ldrb r0, [r1, 0x4] - subs r5, r3, r0 - strb r5, [r4, 0x4] - ldrb r3, [r2, 0x3] - ldrb r0, [r1, 0x3] - subs r6, r3, r0 - strb r6, [r4, 0x3] - ldrb r0, [r2, 0x2] - ldrb r3, [r1, 0x2] - subs r0, r3 - strb r0, [r4, 0x2] - ldrh r0, [r2] - ldrh r1, [r1] - subs r0, r1 - strh r0, [r4] - lsls r0, r5, 24 - cmp r0, 0 - bge _08009658 - adds r0, r5, 0 - adds r0, 0x3C - strb r0, [r4, 0x4] - subs r0, r6, 0x1 - strb r0, [r4, 0x3] -_08009658: - ldrb r1, [r4, 0x3] - movs r0, 0x3 - ldrsb r0, [r4, r0] - cmp r0, 0 - bge _0800966E - adds r0, r1, 0 - adds r0, 0x3C - strb r0, [r4, 0x3] - ldrb r0, [r4, 0x2] - subs r0, 0x1 - strb r0, [r4, 0x2] -_0800966E: - ldrb r1, [r4, 0x2] - movs r0, 0x2 - ldrsb r0, [r4, r0] - cmp r0, 0 - bge _08009684 - adds r0, r1, 0 - adds r0, 0x18 - strb r0, [r4, 0x2] - ldrh r0, [r4] - subs r0, 0x1 - strh r0, [r4] -_08009684: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end GameFreakRTC_GetDelta - - thumb_func_start GameFreakRTC_GetNumMinutes -GameFreakRTC_GetNumMinutes: ; 800968C - push {r4,lr} - ldr r4, _080096C0 - adds r0, r4, 0 - bl GameFreakRTC_GetRTCDateTime - adds r0, r4, 0 - bl GFRTC_GetDayCount - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 1 - adds r1, r0 - lsls r0, r1, 4 - subs r0, r1 - lsls r0, 5 - ldrb r2, [r4, 0x4] - lsls r1, r2, 4 - subs r1, r2 - lsls r1, 2 - adds r0, r1 - ldrb r4, [r4, 0x5] - adds r0, r4 - pop {r4} - pop {r1} - bx r1 - .align 2 -_080096C0: .4byte 0x03000460 - thumb_func_end GameFreakRTC_GetNumMinutes + .include "genasm/rtc_util.s" thumb_func_start sub_80096C4 sub_80096C4: ; 80096C4 @@ -19647,7 +18851,7 @@ sub_8009A64: ; 8009A64 adds r1, 0x4 movs r0, 0x7 strh r0, [r1] - bl sub_80092A8 + bl RtcGetErrorFlags movs r1, 0xFF lsls r1, 4 ands r1, r0 @@ -126160,7 +125364,7 @@ _0803F5D0: adds r0, r3 b _0803F61C _0803F5DA: - bl GameFreakRTC_CalcLocalDateTime + bl RtcCalcLocalTime ldr r0, _0803F5F8 ldrb r0, [r0, 0x2] subs r0, 0xC @@ -126179,7 +125383,7 @@ _0803F5F6: .align 2 _0803F5F8: .4byte 0x03004038 _0803F5FC: - bl GameFreakRTC_CalcLocalDateTime + bl RtcCalcLocalTime ldr r0, _0803F624 ldrb r0, [r0, 0x2] cmp r0, 0xB @@ -165175,7 +164379,7 @@ NewGameInitData: ; 8052E6C cmp r0, 0x2 bne _08052E7E _08052E7A: - bl sub_8009428 + bl RtcReset _08052E7E: ldr r1, _08052F40 movs r0, 0x1 @@ -208403,7 +207607,7 @@ s2C_unknown: ; 8066300 lsls r1, 24 lsrs r1, 24 adds r0, r4, 0 - bl GameFreakRTC_CalcRTCToLocalDelta_DayZero + bl RtcInitLocalTimeOffset movs r0, 0 pop {r4,r5} pop {r1} @@ -208422,7 +207626,7 @@ s2D_unknown: ; 8066338 thumb_func_start s2E_unknown s2E_unknown: ; 8066344 push {lr} - bl GameFreakRTC_CalcLocalDateTime + bl RtcCalcLocalTime ldr r2, _0806636C ldr r1, _08066370 movs r0, 0x2 @@ -216900,7 +216104,7 @@ sub_806A328: ; 806A328 push {lr} ldr r0, _0806A350 bl FlagSet - bl GameFreakRTC_CalcLocalDateTime + bl RtcCalcLocalTime ldr r2, _0806A354 adds r2, 0xA0 ldr r3, _0806A358 @@ -216928,7 +216132,7 @@ InTrainerHill: ; 806A360 lsls r0, 24 cmp r0, 0 beq _0806A380 - bl GameFreakRTC_CalcLocalDateTime + bl RtcCalcLocalTime ldr r4, _0806A38C adds r0, r4, 0 bl sub_806A390 @@ -216998,7 +216202,7 @@ sub_806A3F4: ; 806A3F4 mov r0, sp adds r1, r6, 0 adds r2, r5, 0 - bl GameFreakRTC_GetDelta + bl CalcTimeDifference mov r0, sp movs r2, 0 ldrsh r1, [r0, r2] @@ -218186,7 +217390,7 @@ _0806AD5C: .4byte 0x0202f388 _0806AD60: .4byte 0x03005eb8 _0806AD64: .4byte gUnknown_084118A0 _0806AD68: - bl GameFreakRTC_CalcLocalDateTime + bl RtcCalcLocalTime ldr r0, _0806AD7C movs r1, 0x50 bl AddTask @@ -218261,7 +217465,7 @@ _0806AE04: .4byte 0x03004b20 _0806AE08: ldrb r0, [r5, 0x2] bl remove_task - bl sub_8009428 + bl RtcReset ldr r4, _0806AE4C movs r1, 0 ldrsh r0, [r4, r1] @@ -218271,7 +217475,7 @@ _0806AE08: ldrsb r2, [r4, r2] movs r3, 0x4 ldrsb r3, [r4, r3] - bl GameFreakRTC_CalcRTCToLocalDelta + bl RtcCalcLocalTimeOffset ldr r2, _0806AE50 adds r2, 0xA0 ldr r0, [r4] @@ -547951,7 +547155,7 @@ sub_810AD58: ; 810AD58 ldrsh r0, [r4, r1] movs r2, 0xE ldrsh r1, [r4, r2] - bl GameFreakRTC_CalcRTCToLocalDelta_DayZero + bl RtcInitLocalTimeOffset movs r0, 0x1 negs r0, r0 movs r1, 0 @@ -548310,7 +547514,7 @@ sub_810AFE0: ; 810AFE0 adds r4, r0, 0 lsls r4, 24 lsrs r4, 24 - bl GameFreakRTC_CalcLocalDateTime + bl RtcCalcLocalTime ldr r1, _0810B048 lsls r0, r4, 2 adds r0, r4 @@ -552842,7 +552046,7 @@ sub_810D378: ; 810D378 lsls r0, 24 cmp r0, 0 beq _0810D3BE - bl GameFreakRTC_CalcLocalDateTime + bl RtcCalcLocalTime ldr r1, _0810D3AC ldr r0, _0810D3B0 ldrb r0, [r0, 0x2] @@ -568816,7 +568020,7 @@ _0811536C: lsrs r4, r0, 24 cmp r4, 0x5 bls _08115322 - bl GameFreakRTC_CalcLocalDateTime + bl RtcCalcLocalTime add sp, 0x8 pop {r4-r6} pop {r0} |