diff options
author | jiangzhengwenjz <jiangzhengwenjzw@qq.com> | 2019-12-29 06:24:26 +0800 |
---|---|---|
committer | jiangzhengwenjz <jiangzhengwenjzw@qq.com> | 2020-01-09 12:38:57 +0800 |
commit | 973cb394b23002acde7d7ea19abc754019dd106c (patch) | |
tree | cf05524128224aceb57dd33f84ea4fdaacb4ecb3 /asm | |
parent | 8f1a8972c19f5cd2522c9e7982bd330ac05305e9 (diff) |
librfu through 0x81E13F0
Diffstat (limited to 'asm')
-rw-r--r-- | asm/librfu.s | 1943 |
1 files changed, 0 insertions, 1943 deletions
diff --git a/asm/librfu.s b/asm/librfu.s index 2e17aef23..d3b48f07e 100644 --- a/asm/librfu.s +++ b/asm/librfu.s @@ -5,1949 +5,6 @@ .text - thumb_func_start rfu_initializeAPI -rfu_initializeAPI: @ 81E05B0 - push {r4-r7,lr} - adds r4, r0, 0 - mov r12, r2 - lsls r1, 16 - lsrs r2, r1, 16 - lsls r3, 24 - lsrs r7, r3, 24 - movs r0, 0xF0 - lsls r0, 20 - ands r0, r4 - movs r1, 0x80 - lsls r1, 18 - cmp r0, r1 - bne _081E05D0 - cmp r7, 0 - bne _081E05D8 -_081E05D0: - movs r0, 0x3 - ands r0, r4 - cmp r0, 0 - beq _081E05DC -_081E05D8: - movs r0, 0x2 - b _081E06C6 -_081E05DC: - cmp r7, 0 - beq _081E05E8 - ldr r3, _081E05E4 @ =0x00000e64 - b _081E05EA - .align 2, 0 -_081E05E4: .4byte 0x00000e64 -_081E05E8: - ldr r3, _081E05F4 @ =0x00000504 -_081E05EA: - cmp r2, r3 - bcs _081E05F8 - movs r0, 0x1 - b _081E06C6 - .align 2, 0 -_081E05F4: .4byte 0x00000504 -_081E05F8: - ldr r0, _081E06CC @ =gRfuLinkStatus - str r4, [r0] - ldr r1, _081E06D0 @ =gRfuStatic - adds r0, r4, 0 - adds r0, 0xB4 - str r0, [r1] - ldr r1, _081E06D4 @ =gRfuFixed - adds r0, 0x28 - str r0, [r1] - ldr r2, _081E06D8 @ =gRfuSlotStatusNI - movs r1, 0xDE - lsls r1, 1 - adds r0, r4, r1 - str r0, [r2] - ldr r1, _081E06DC @ =gRfuSlotStatusUNI - movs r3, 0xDF - lsls r3, 2 - adds r0, r4, r3 - str r0, [r1] - movs r5, 0x1 - adds r6, r2, 0 - adds r4, r1, 0 -_081E0624: - lsls r2, r5, 2 - adds r3, r2, r6 - subs r1, r5, 0x1 - lsls r1, 2 - adds r0, r1, r6 - ldr r0, [r0] - adds r0, 0x70 - str r0, [r3] - adds r2, r4 - adds r1, r4 - ldr r0, [r1] - adds r0, 0x1C - str r0, [r2] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bls _081E0624 - ldr r0, _081E06D4 @ =gRfuFixed - ldr r1, [r0] - adds r1, 0xDC - ldr r4, _081E06DC @ =gRfuSlotStatusUNI - ldr r0, [r4, 0xC] - adds r0, 0x1C - str r0, [r1] - mov r1, r12 - adds r2, r7, 0 - bl STWI_init_all - bl rfu_STC_clearAPIVariables - movs r5, 0 - ldr r3, _081E06D8 @ =gRfuSlotStatusNI - movs r2, 0 -_081E0668: - lsls r1, r5, 2 - adds r0, r1, r3 - ldr r0, [r0] - str r2, [r0, 0x68] - str r2, [r0, 0x6C] - adds r1, r4 - ldr r0, [r1] - str r2, [r0, 0x14] - str r2, [r0, 0x18] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bls _081E0668 - ldr r1, _081E06E0 @ =rfu_STC_fastCopy - movs r5, 0x2 - negs r5, r5 - ands r5, r1 - ldr r2, _081E06D4 @ =gRfuFixed - ldr r0, [r2] - adds r4, r0, 0 - adds r4, 0x8 - ldr r0, _081E06E4 @ =rfu_REQ_changeMasterSlave - subs r0, r1 - lsls r0, 15 - lsrs r3, r0, 16 - subs r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - ldr r0, _081E06E8 @ =0x0000ffff - cmp r3, r0 - beq _081E06BC - adds r6, r0, 0 -_081E06AA: - ldrh r0, [r5] - strh r0, [r4] - adds r5, 0x2 - adds r4, 0x2 - subs r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, r6 - bne _081E06AA -_081E06BC: - ldr r1, [r2] - adds r0, r1, 0 - adds r0, 0x9 - str r0, [r1, 0x4] - movs r0, 0 -_081E06C6: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_081E06CC: .4byte gRfuLinkStatus -_081E06D0: .4byte gRfuStatic -_081E06D4: .4byte gRfuFixed -_081E06D8: .4byte gRfuSlotStatusNI -_081E06DC: .4byte gRfuSlotStatusUNI -_081E06E0: .4byte rfu_STC_fastCopy -_081E06E4: .4byte rfu_REQ_changeMasterSlave -_081E06E8: .4byte 0x0000ffff - thumb_func_end rfu_initializeAPI - - thumb_func_start rfu_STC_clearAPIVariables -rfu_STC_clearAPIVariables: @ 81E06EC - push {r4-r7,lr} - sub sp, 0x4 - ldr r1, _081E0760 @ =0x04000208 - ldrh r0, [r1] - adds r7, r0, 0 - movs r6, 0 - strh r6, [r1] - ldr r5, _081E0764 @ =gRfuStatic - ldr r1, [r5] - ldrb r4, [r1] - mov r0, sp - strh r6, [r0] - ldr r2, _081E0768 @ =0x01000014 - bl CpuSet - ldr r2, [r5] - movs r0, 0x8 - ands r4, r0 - movs r1, 0 - strb r4, [r2] - mov r0, sp - adds r0, 0x2 - strh r1, [r0] - ldr r4, _081E076C @ =gRfuLinkStatus - ldr r1, [r4] - ldr r2, _081E0770 @ =0x0100005a - bl CpuSet - ldr r1, [r4] - movs r0, 0x4 - strb r0, [r1, 0x9] - ldr r0, [r5] - strb r6, [r0, 0x6] - ldr r1, [r4] - movs r0, 0xFF - strb r0, [r1] - bl rfu_clearAllSlot - ldr r0, [r5] - strb r6, [r0, 0x9] - movs r2, 0 - movs r3, 0 -_081E0740: - ldr r0, [r5] - lsls r1, r2, 1 - adds r0, 0x12 - adds r0, r1 - strh r3, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _081E0740 - ldr r0, _081E0760 @ =0x04000208 - strh r7, [r0] - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081E0760: .4byte 0x04000208 -_081E0764: .4byte gRfuStatic -_081E0768: .4byte 0x01000014 -_081E076C: .4byte gRfuLinkStatus -_081E0770: .4byte 0x0100005a - thumb_func_end rfu_STC_clearAPIVariables - - thumb_func_start rfu_REQ_PARENT_resumeRetransmitAndChange -rfu_REQ_PARENT_resumeRetransmitAndChange: @ 81E0774 - push {lr} - ldr r0, _081E0784 @ =rfu_STC_REQ_callback - bl STWI_set_Callback_M - bl STWI_send_ResumeRetransmitAndChangeREQ - pop {r0} - bx r0 - .align 2, 0 -_081E0784: .4byte rfu_STC_REQ_callback - thumb_func_end rfu_REQ_PARENT_resumeRetransmitAndChange - - thumb_func_start rfu_UNI_PARENT_getDRAC_ACK -rfu_UNI_PARENT_getDRAC_ACK: @ 81E0788 - push {r4,r5,lr} - adds r4, r0, 0 - movs r0, 0 - strb r0, [r4] - ldr r5, _081E07A0 @ =gRfuLinkStatus - ldr r0, [r5] - ldrb r0, [r0] - cmp r0, 0x1 - beq _081E07A4 - movs r0, 0xC0 - lsls r0, 2 - b _081E07CA - .align 2, 0 -_081E07A0: .4byte gRfuLinkStatus -_081E07A4: - bl rfu_getSTWIRecvBuffer - adds r1, r0, 0 - ldrb r0, [r1] - cmp r0, 0x28 - beq _081E07B4 - cmp r0, 0x36 - bne _081E07C8 -_081E07B4: - ldrb r0, [r1, 0x1] - cmp r0, 0 - bne _081E07C0 - ldr r0, [r5] - ldrb r0, [r0, 0x2] - b _081E07C2 -_081E07C0: - ldrb r0, [r1, 0x4] -_081E07C2: - strb r0, [r4] - movs r0, 0 - b _081E07CA -_081E07C8: - movs r0, 0x10 -_081E07CA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end rfu_UNI_PARENT_getDRAC_ACK - - thumb_func_start rfu_setTimerInterrupt -rfu_setTimerInterrupt: @ 81E07D0 - push {lr} - adds r2, r0, 0 - adds r0, r1, 0 - lsls r2, 24 - lsrs r2, 24 - adds r1, r2, 0 - bl STWI_init_timer - pop {r0} - bx r0 - thumb_func_end rfu_setTimerInterrupt - - thumb_func_start rfu_getSTWIRecvBuffer -rfu_getSTWIRecvBuffer: @ 81E07E4 - ldr r0, _081E07F0 @ =gRfuFixed - ldr r0, [r0] - adds r0, 0xDC - ldr r0, [r0] - bx lr - .align 2, 0 -_081E07F0: .4byte gRfuFixed - thumb_func_end rfu_getSTWIRecvBuffer - - thumb_func_start rfu_setMSCCallback -rfu_setMSCCallback: @ 81E07F4 - push {lr} - bl STWI_set_Callback_S - pop {r0} - bx r0 - thumb_func_end rfu_setMSCCallback - - thumb_func_start rfu_setREQCallback -rfu_setREQCallback: @ 81E0800 - push {lr} - adds r1, r0, 0 - ldr r0, _081E0818 @ =gRfuFixed - ldr r0, [r0] - str r1, [r0] - negs r0, r1 - orrs r0, r1 - lsrs r0, 31 - bl rfu_enableREQCallback - pop {r0} - bx r0 - .align 2, 0 -_081E0818: .4byte gRfuFixed - thumb_func_end rfu_setREQCallback - - thumb_func_start rfu_enableREQCallback -rfu_enableREQCallback: @ 81E081C - push {lr} - lsls r0, 24 - cmp r0, 0 - beq _081E0834 - ldr r0, _081E0830 @ =gRfuStatic - ldr r2, [r0] - ldrb r1, [r2] - movs r0, 0x8 - orrs r0, r1 - b _081E083E - .align 2, 0 -_081E0830: .4byte gRfuStatic -_081E0834: - ldr r0, _081E0844 @ =gRfuStatic - ldr r2, [r0] - ldrb r1, [r2] - movs r0, 0xF7 - ands r0, r1 -_081E083E: - strb r0, [r2] - pop {r0} - bx r0 - .align 2, 0 -_081E0844: .4byte gRfuStatic - thumb_func_end rfu_enableREQCallback - - thumb_func_start rfu_STC_REQ_callback -rfu_STC_REQ_callback: @ 81E0848 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 16 - lsrs r4, r1, 16 - ldr r0, _081E087C @ =rfu_CB_defaultCallback - bl STWI_set_Callback_M - ldr r0, _081E0880 @ =gRfuStatic - ldr r0, [r0] - strh r4, [r0, 0x1C] - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _081E0876 - ldr r0, _081E0884 @ =gRfuFixed - ldr r0, [r0] - ldr r2, [r0] - adds r0, r5, 0 - adds r1, r4, 0 - bl _call_via_r2 -_081E0876: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081E087C: .4byte rfu_CB_defaultCallback -_081E0880: .4byte gRfuStatic -_081E0884: .4byte gRfuFixed - thumb_func_end rfu_STC_REQ_callback - - thumb_func_start rfu_CB_defaultCallback -rfu_CB_defaultCallback: @ 81E0888 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r3, r1, 16 - cmp r0, 0xFF - bne _081E08E4 - ldr r0, _081E08EC @ =gRfuStatic - ldr r0, [r0] - ldrb r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _081E08B2 - ldr r0, _081E08F0 @ =gRfuFixed - ldr r0, [r0] - ldr r2, [r0] - movs r0, 0xFF - adds r1, r3, 0 - bl _call_via_r2 -_081E08B2: - ldr r0, _081E08F4 @ =gRfuLinkStatus - ldr r0, [r0] - ldrb r1, [r0, 0x2] - ldrb r0, [r0, 0x3] - adds r5, r0, 0 - orrs r5, r1 - movs r4, 0 -_081E08C0: - adds r0, r5, 0 - asrs r0, r4 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081E08D2 - adds r0, r4, 0 - bl rfu_STC_removeLinkData -_081E08D2: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _081E08C0 - ldr r0, _081E08F4 @ =gRfuLinkStatus - ldr r1, [r0] - movs r0, 0xFF - strb r0, [r1] -_081E08E4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081E08EC: .4byte gRfuStatic -_081E08F0: .4byte gRfuFixed -_081E08F4: .4byte gRfuLinkStatus - thumb_func_end rfu_CB_defaultCallback - - thumb_func_start rfu_waitREQComplete -rfu_waitREQComplete: @ 81E08F8 - push {lr} - bl STWI_poll_CommandEnd - ldr r0, _081E0908 @ =gRfuStatic - ldr r0, [r0] - ldrh r0, [r0, 0x1C] - pop {r1} - bx r1 - .align 2, 0 -_081E0908: .4byte gRfuStatic - thumb_func_end rfu_waitREQComplete - - thumb_func_start rfu_REQ_RFUStatus -rfu_REQ_RFUStatus: @ 81E090C - push {lr} - ldr r0, _081E091C @ =rfu_STC_REQ_callback - bl STWI_set_Callback_M - bl STWI_send_SystemStatusREQ - pop {r0} - bx r0 - .align 2, 0 -_081E091C: .4byte rfu_STC_REQ_callback - thumb_func_end rfu_REQ_RFUStatus - - thumb_func_start rfu_getRFUStatus -rfu_getRFUStatus: @ 81E0920 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _081E0938 @ =gRfuFixed - ldr r0, [r5] - adds r0, 0xDC - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0x93 - beq _081E093C - movs r0, 0x10 - b _081E0956 - .align 2, 0 -_081E0938: .4byte gRfuFixed -_081E093C: - bl STWI_poll_CommandEnd - lsls r0, 16 - cmp r0, 0 - bne _081E0950 - ldr r0, [r5] - adds r0, 0xDC - ldr r0, [r0] - ldrb r0, [r0, 0x7] - b _081E0952 -_081E0950: - movs r0, 0xFF -_081E0952: - strb r0, [r4] - movs r0, 0 -_081E0956: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end rfu_getRFUStatus - - thumb_func_start rfu_MBOOT_CHILD_inheritanceLinkStatus -rfu_MBOOT_CHILD_inheritanceLinkStatus: @ 81E095C - push {lr} - ldr r2, _081E0964 @ =_Str_RFU_MBOOT - ldr r3, _081E0968 @ =0x30000F0 - b _081E0976 - .align 2, 0 -_081E0964: .4byte _Str_RFU_MBOOT -_081E0968: .4byte 0x30000F0 -_081E096C: - ldrb r0, [r3] - adds r3, 0x1 - adds r2, 0x1 - cmp r1, r0 - bne _081E09CC -_081E0976: - ldrb r1, [r2] - cmp r1, 0 - bne _081E096C - movs r2, 0xC0 - lsls r2, 18 - movs r3, 0 - movs r1, 0 -_081E0984: - ldrh r0, [r2] - adds r0, r3, r0 - lsls r0, 16 - lsrs r3, r0, 16 - adds r2, 0x2 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x59 - bls _081E0984 - ldr r0, _081E09C0 @ =0x30000FA - ldrh r0, [r0] - cmp r3, r0 - bne _081E09CC - movs r0, 0xC0 - lsls r0, 18 - ldr r1, _081E09C4 @ =gRfuLinkStatus - ldr r1, [r1] - movs r2, 0x5A - bl CpuSet - ldr r0, _081E09C8 @ =gRfuStatic - ldr r2, [r0] - ldrb r1, [r2] - movs r0, 0x80 - orrs r0, r1 - strb r0, [r2] - movs r0, 0 - b _081E09CE - .align 2, 0 -_081E09C0: .4byte 0x30000FA -_081E09C4: .4byte gRfuLinkStatus -_081E09C8: .4byte gRfuStatic -_081E09CC: - movs r0, 0x1 -_081E09CE: - pop {r1} - bx r1 - thumb_func_end rfu_MBOOT_CHILD_inheritanceLinkStatus - - thumb_func_start rfu_REQ_stopMode -rfu_REQ_stopMode: @ 81E09D4 - push {lr} - ldr r0, _081E09F4 @ =0x04000208 - ldrh r0, [r0] - cmp r0, 0 - bne _081E09FC - movs r0, 0x3D - movs r1, 0x6 - bl rfu_STC_REQ_callback - ldr r0, _081E09F8 @ =gRfuState - ldr r1, [r0] - ldrh r0, [r1, 0x12] - movs r0, 0x6 - strh r0, [r1, 0x12] - b _081E0A72 - .align 2, 0 -_081E09F4: .4byte 0x04000208 -_081E09F8: .4byte gRfuState -_081E09FC: - bl AgbRFU_SoftReset - bl rfu_STC_clearAPIVariables - movs r0, 0x8 - bl sub_81E349C - ldr r1, _081E0A4C @ =0x00008001 - cmp r0, r1 - bne _081E0A60 - ldr r0, _081E0A50 @ =gRfuState - ldr r0, [r0] - ldrb r0, [r0, 0xA] - lsls r0, 2 - ldr r2, _081E0A54 @ =0x04000100 - adds r1, r0, r2 - movs r0, 0 - str r0, [r1] - movs r0, 0x83 - lsls r0, 16 - str r0, [r1] - ldr r0, [r1] - lsls r0, 16 - ldr r2, _081E0A58 @ =0x0105ffff - ldr r3, _081E0A5C @ =rfu_CB_stopMode - cmp r0, r2 - bhi _081E0A3A -_081E0A32: - ldr r0, [r1] - lsls r0, 16 - cmp r0, r2 - bls _081E0A32 -_081E0A3A: - movs r0, 0 - str r0, [r1] - adds r0, r3, 0 - bl STWI_set_Callback_M - bl STWI_send_StopModeREQ - b _081E0A72 - .align 2, 0 -_081E0A4C: .4byte 0x00008001 -_081E0A50: .4byte gRfuState -_081E0A54: .4byte 0x04000100 -_081E0A58: .4byte 0x0105ffff -_081E0A5C: .4byte rfu_CB_stopMode -_081E0A60: - ldr r1, _081E0A78 @ =0x04000128 - movs r2, 0x80 - lsls r2, 6 - adds r0, r2, 0 - strh r0, [r1] - movs r0, 0x3D - movs r1, 0 - bl rfu_STC_REQ_callback -_081E0A72: - pop {r0} - bx r0 - .align 2, 0 -_081E0A78: .4byte 0x04000128 - thumb_func_end rfu_REQ_stopMode - - thumb_func_start rfu_CB_stopMode -rfu_CB_stopMode: @ 81E0A7C - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 16 - lsrs r1, 16 - adds r2, r1, 0 - cmp r2, 0 - bne _081E0A96 - ldr r1, _081E0AA4 @ =0x04000128 - movs r4, 0x80 - lsls r4, 6 - adds r0, r4, 0 - strh r0, [r1] -_081E0A96: - adds r0, r3, 0 - adds r1, r2, 0 - bl rfu_STC_REQ_callback - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081E0AA4: .4byte 0x04000128 - thumb_func_end rfu_CB_stopMode - - thumb_func_start rfu_REQBN_softReset_and_checkID -rfu_REQBN_softReset_and_checkID: @ 81E0AA8 - push {lr} - ldr r0, _081E0AB8 @ =0x04000208 - ldrh r0, [r0] - cmp r0, 0 - bne _081E0ABC - movs r0, 0x1 - negs r0, r0 - b _081E0ADC - .align 2, 0 -_081E0AB8: .4byte 0x04000208 -_081E0ABC: - bl AgbRFU_SoftReset - bl rfu_STC_clearAPIVariables - movs r0, 0x1E - bl sub_81E349C - adds r2, r0, 0 - cmp r2, 0 - bne _081E0ADA - ldr r1, _081E0AE0 @ =0x04000128 - movs r3, 0x80 - lsls r3, 6 - adds r0, r3, 0 - strh r0, [r1] -_081E0ADA: - adds r0, r2, 0 -_081E0ADC: - pop {r1} - bx r1 - .align 2, 0 -_081E0AE0: .4byte 0x04000128 - thumb_func_end rfu_REQBN_softReset_and_checkID - - thumb_func_start rfu_REQ_reset -rfu_REQ_reset: @ 81E0AE4 - push {lr} - ldr r0, _081E0AF4 @ =rfu_CB_reset - bl STWI_set_Callback_M - bl STWI_send_ResetREQ - pop {r0} - bx r0 - .align 2, 0 -_081E0AF4: .4byte rfu_CB_reset - thumb_func_end rfu_REQ_reset - - thumb_func_start rfu_CB_reset -rfu_CB_reset: @ 81E0AF8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 16 - lsrs r1, 16 - adds r4, r1, 0 - cmp r4, 0 - bne _081E0B0C - bl rfu_STC_clearAPIVariables -_081E0B0C: - adds r0, r5, 0 - adds r1, r4, 0 - bl rfu_STC_REQ_callback - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end rfu_CB_reset - - thumb_func_start rfu_REQ_configSystem -rfu_REQ_configSystem: @ 81E0B1C - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r0, _081E0B54 @ =rfu_STC_REQ_callback - bl STWI_set_Callback_M - movs r0, 0x3 - ands r4, r0 - movs r0, 0x3C - orrs r4, r0 - adds r0, r4, 0 - adds r1, r5, 0 - adds r2, r6, 0 - bl STWI_send_SystemConfigREQ - cmp r6, 0 - bne _081E0B5C - ldr r0, _081E0B58 @ =gRfuStatic - ldr r1, [r0] - movs r0, 0x1 - strh r0, [r1, 0x1A] - b _081E0B76 - .align 2, 0 -_081E0B54: .4byte rfu_STC_REQ_callback -_081E0B58: .4byte gRfuStatic -_081E0B5C: - ldr r5, _081E0B7C @ =0x04000208 - ldrh r4, [r5] - movs r0, 0 - strh r0, [r5] - movs r0, 0x96 - lsls r0, 2 - adds r1, r6, 0 - bl Div - ldr r1, _081E0B80 @ =gRfuStatic - ldr r1, [r1] - strh r0, [r1, 0x1A] - strh r4, [r5] -_081E0B76: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081E0B7C: .4byte 0x04000208 -_081E0B80: .4byte gRfuStatic - thumb_func_end rfu_REQ_configSystem - - thumb_func_start rfu_REQ_configGameData -rfu_REQ_configGameData: @ 81E0B84 - push {r4-r7,lr} - sub sp, 0x10 - adds r4, r2, 0 - adds r7, r3, 0 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r2, r1, 16 - adds r5, r4, 0 - mov r0, sp - strb r1, [r0] - lsrs r2, 24 - strb r2, [r0, 0x1] - cmp r6, 0 - beq _081E0BAA - movs r1, 0x80 - orrs r2, r1 - movs r1, 0 - orrs r2, r1 - strb r2, [r0, 0x1] -_081E0BAA: - movs r2, 0x2 - ldr r0, _081E0C0C @ =rfu_CB_configGameData - mov r12, r0 -_081E0BB0: - mov r3, sp - adds r1, r3, r2 - ldrb r0, [r4] - strb r0, [r1] - adds r4, 0x1 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xE - bls _081E0BB0 - movs r3, 0 - adds r1, r7, 0 - movs r2, 0 -_081E0BCA: - ldrb r0, [r1] - adds r0, r3, r0 - lsls r0, 24 - adds r1, 0x1 - lsrs r0, 24 - ldrb r3, [r5] - adds r0, r3 - lsls r0, 24 - lsrs r3, r0, 24 - adds r5, 0x1 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x7 - bls _081E0BCA - mov r1, sp - mvns r0, r3 - strb r0, [r1, 0xF] - cmp r6, 0 - beq _081E0BF6 - movs r0, 0 - strb r0, [r1, 0xE] -_081E0BF6: - mov r0, r12 - bl STWI_set_Callback_M - mov r0, sp - adds r1, r7, 0 - bl STWI_send_GameConfigREQ - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081E0C0C: .4byte rfu_CB_configGameData - thumb_func_end rfu_REQ_configGameData - - thumb_func_start rfu_CB_configGameData -rfu_CB_configGameData: @ 81E0C10 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - lsls r1, 16 - lsrs r7, r1, 16 - cmp r7, 0 - bne _081E0C9A - ldr r0, _081E0C54 @ =gRfuState - ldr r0, [r0] - ldr r1, [r0, 0x24] - ldr r0, _081E0C58 @ =gRfuLinkStatus - ldr r6, [r0] - ldrb r2, [r1, 0x4] - adds r5, r6, 0 - adds r5, 0x98 - strh r2, [r5] - ldrb r0, [r1, 0x5] - lsls r3, r0, 8 - orrs r3, r2 - strh r3, [r5] - adds r4, r1, 0x6 - movs r1, 0x80 - lsls r1, 8 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _081E0C5C - eors r3, r1 - strh r3, [r5] - adds r1, r6, 0 - adds r1, 0x97 - movs r0, 0x1 - b _081E0C62 - .align 2, 0 -_081E0C54: .4byte gRfuState -_081E0C58: .4byte gRfuLinkStatus -_081E0C5C: - adds r1, r6, 0 - adds r1, 0x97 - movs r0, 0 -_081E0C62: - strb r0, [r1] - movs r2, 0 - ldr r3, _081E0CA8 @ =gRfuLinkStatus -_081E0C68: - ldr r0, [r3] - adds r0, 0x9A - adds r0, r2 - ldrb r1, [r4] - strb r1, [r0] - adds r4, 0x1 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xC - bls _081E0C68 - adds r4, 0x1 - movs r2, 0 - ldr r3, _081E0CA8 @ =gRfuLinkStatus -_081E0C84: - ldr r0, [r3] - adds r0, 0xA9 - adds r0, r2 - ldrb r1, [r4] - strb r1, [r0] - adds r4, 0x1 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x7 - bls _081E0C84 -_081E0C9A: - mov r0, r12 - adds r1, r7, 0 - bl rfu_STC_REQ_callback - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081E0CA8: .4byte gRfuLinkStatus - thumb_func_end rfu_CB_configGameData - - thumb_func_start rfu_REQ_startSearchChild -rfu_REQ_startSearchChild: @ 81E0CAC - push {lr} - ldr r0, _081E0CDC @ =rfu_CB_defaultCallback - bl STWI_set_Callback_M - bl STWI_send_SystemStatusREQ - bl STWI_poll_CommandEnd - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - bne _081E0CE4 - ldr r0, _081E0CE0 @ =gRfuFixed - ldr r0, [r0] - adds r0, 0xDC - ldr r0, [r0] - ldrb r0, [r0, 0x7] - cmp r0, 0 - bne _081E0CEA - movs r0, 0x1 - bl rfu_STC_clearLinkStatus - b _081E0CEA - .align 2, 0 -_081E0CDC: .4byte rfu_CB_defaultCallback -_081E0CE0: .4byte gRfuFixed -_081E0CE4: - movs r0, 0x19 - bl rfu_STC_REQ_callback -_081E0CEA: - ldr r0, _081E0CF8 @ =rfu_CB_startSearchChild - bl STWI_set_Callback_M - bl STWI_send_SC_StartREQ - pop {r0} - bx r0 - .align 2, 0 -_081E0CF8: .4byte rfu_CB_startSearchChild - thumb_func_end rfu_REQ_startSearchChild - - thumb_func_start rfu_CB_startSearchChild -rfu_CB_startSearchChild: @ 81E0CFC - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r1, 16 - lsrs r1, 16 - adds r2, r1, 0 - cmp r2, 0 - bne _081E0D14 - ldr r0, _081E0D20 @ =gRfuStatic - ldr r1, [r0] - movs r0, 0x1 - strb r0, [r1, 0x9] -_081E0D14: - adds r0, r3, 0 - adds r1, r2, 0 - bl rfu_STC_REQ_callback - pop {r0} - bx r0 - .align 2, 0 -_081E0D20: .4byte gRfuStatic - thumb_func_end rfu_CB_startSearchChild - - thumb_func_start rfu_STC_clearLinkStatus -rfu_STC_clearLinkStatus: @ 81E0D24 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl rfu_clearAllSlot - cmp r4, 0 - beq _081E0D4C - mov r0, sp - movs r5, 0 - strh r5, [r0] - ldr r4, _081E0D80 @ =gRfuLinkStatus - ldr r1, [r4] - adds r1, 0x14 - ldr r2, _081E0D84 @ =0x01000040 - bl CpuSet - ldr r0, [r4] - strb r5, [r0, 0x8] -_081E0D4C: - movs r1, 0 - ldr r2, _081E0D80 @ =gRfuLinkStatus - adds r4, r2, 0 - movs r3, 0 -_081E0D54: - ldr r0, [r4] - adds r0, 0xA - adds r0, r1 - strb r3, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bls _081E0D54 - ldr r0, [r2] - movs r1, 0 - strb r1, [r0, 0x1] - ldr r0, [r2] - strb r1, [r0, 0x2] - ldr r0, [r2] - strb r1, [r0, 0x3] - ldr r0, [r2] - strb r1, [r0, 0x7] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081E0D80: .4byte gRfuLinkStatus -_081E0D84: .4byte 0x01000040 - thumb_func_end rfu_STC_clearLinkStatus - - thumb_func_start rfu_REQ_pollSearchChild -rfu_REQ_pollSearchChild: @ 81E0D88 - push {lr} - ldr r0, _081E0D98 @ =rfu_CB_pollAndEndSearchChild - bl STWI_set_Callback_M - bl STWI_send_SC_PollingREQ - pop {r0} - bx r0 - .align 2, 0 -_081E0D98: .4byte rfu_CB_pollAndEndSearchChild - thumb_func_end rfu_REQ_pollSearchChild - - thumb_func_start rfu_REQ_endSearchChild -rfu_REQ_endSearchChild: @ 81E0D9C - push {lr} - ldr r0, _081E0DAC @ =rfu_CB_pollAndEndSearchChild - bl STWI_set_Callback_M - bl STWI_send_SC_EndREQ - pop {r0} - bx r0 - .align 2, 0 -_081E0DAC: .4byte rfu_CB_pollAndEndSearchChild - thumb_func_end rfu_REQ_endSearchChild - - thumb_func_start rfu_CB_pollAndEndSearchChild -rfu_CB_pollAndEndSearchChild: @ 81E0DB0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 16 - lsrs r6, r1, 16 - cmp r6, 0 - bne _081E0DC2 - bl rfu_STC_readChildList -_081E0DC2: - cmp r4, 0x1A - bne _081E0E04 - ldr r5, _081E0DF8 @ =gRfuLinkStatus - ldr r0, [r5] - adds r0, 0x94 - ldrh r0, [r0] - cmp r0, 0 - bne _081E0E20 - ldr r0, _081E0DFC @ =rfu_CB_defaultCallback - bl STWI_set_Callback_M - bl STWI_send_SystemStatusREQ - bl STWI_poll_CommandEnd - lsls r0, 16 - cmp r0, 0 - bne _081E0E20 - ldr r1, [r5] - ldr r0, _081E0E00 @ =gRfuFixed - ldr r0, [r0] - adds r0, 0xDC - ldr r0, [r0] - ldrh r0, [r0, 0x4] - adds r1, 0x94 - strh r0, [r1] - b _081E0E20 - .align 2, 0 -_081E0DF8: .4byte gRfuLinkStatus -_081E0DFC: .4byte rfu_CB_defaultCallback -_081E0E00: .4byte gRfuFixed -_081E0E04: - cmp r4, 0x1B - bne _081E0E20 - ldr r0, _081E0E30 @ =gRfuLinkStatus - ldr r1, [r0] - ldrb r0, [r1] - cmp r0, 0xFF - bne _081E0E18 - adds r1, 0x94 - movs r0, 0 - strh r0, [r1] -_081E0E18: - ldr r0, _081E0E34 @ =gRfuStatic - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0x9] -_081E0E20: - adds r0, r4, 0 - adds r1, r6, 0 - bl rfu_STC_REQ_callback - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081E0E30: .4byte gRfuLinkStatus -_081E0E34: .4byte gRfuStatic - thumb_func_end rfu_CB_pollAndEndSearchChild - - thumb_func_start rfu_STC_readChildList -rfu_STC_readChildList: @ 81E0E38 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r1, _081E0F64 @ =gRfuFixed - ldr r0, [r1] - adds r0, 0xDC - ldr r0, [r0] - ldrb r2, [r0, 0x1] - mov r8, r2 - adds r4, r1, 0 - cmp r2, 0 - beq _081E0E96 - ldr r5, [r0, 0x4] - ldr r0, _081E0F68 @ =rfu_CB_defaultCallback - bl STWI_set_Callback_M - bl STWI_send_LinkStatusREQ - bl STWI_poll_CommandEnd - lsls r0, 16 - cmp r0, 0 - bne _081E0E8A - ldr r0, [r4] - adds r0, 0xDC - ldr r0, [r0] - adds r4, r0, 0x4 - movs r2, 0 -_081E0E76: - mov r0, sp - adds r1, r0, r2 - ldrb r0, [r4] - strb r0, [r1] - adds r4, 0x1 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _081E0E76 -_081E0E8A: - ldr r0, _081E0F64 @ =gRfuFixed - ldr r1, [r0] - adds r1, 0xDC - ldr r1, [r1] - str r5, [r1, 0x4] - adds r4, r0, 0 -_081E0E96: - ldr r0, [r4] - adds r0, 0xDC - ldr r0, [r0] - adds r4, r0, 0x4 - mov r1, r8 - cmp r1, 0 - beq _081E0F52 - ldr r2, _081E0F6C @ =gRfuStatic - mov r9, r2 - ldr r7, _081E0F70 @ =gRfuLinkStatus - mov r10, r9 -_081E0EAC: - ldrb r2, [r4, 0x2] - adds r5, r2, 0 - cmp r2, 0x3 - bhi _081E0F42 - ldr r1, [r7] - ldrb r0, [r1, 0x2] - asrs r0, r2 - movs r6, 0x1 - ands r0, r6 - cmp r0, 0 - bne _081E0F42 - ldrb r3, [r1, 0x3] - asrs r3, r2 - ands r3, r6 - cmp r3, 0 - bne _081E0F42 - mov r1, sp - adds r0, r1, r2 - ldrb r0, [r0] - mov r12, r10 - cmp r0, 0 - beq _081E0EE6 - mov r0, r9 - ldr r1, [r0] - adds r1, 0xE - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_081E0EE6: - mov r1, r9 - ldr r0, [r1] - adds r0, 0xE - adds r1, r0, r5 - ldrb r0, [r1] - cmp r0, 0x3 - bls _081E0F42 - strb r3, [r1] - ldr r0, [r7] - adds r0, 0xA - adds r0, r5 - movs r1, 0xFF - strb r1, [r0] - ldr r2, [r7] - adds r0, r6, 0 - lsls r0, r5 - ldrb r1, [r2, 0x2] - orrs r0, r1 - strb r0, [r2, 0x2] - ldr r1, [r7] - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] - ldr r1, [r7] - lsls r3, r5, 5 - adds r1, r3 - ldrh r0, [r4] - strh r0, [r1, 0x14] - strb r5, [r1, 0x16] - ldr r0, [r7] - strb r6, [r0] - mov r0, r12 - ldr r2, [r0] - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - mov r2, r12 - ldr r1, [r2] - lsls r0, r5, 1 - adds r1, 0x12 - adds r1, r0 - ldr r0, [r7] - adds r0, r3 - ldrh r0, [r0, 0x14] - strh r0, [r1] -_081E0F42: - mov r0, r8 - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - adds r4, 0x4 - cmp r0, 0 - bne _081E0EAC -_081E0F52: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081E0F64: .4byte gRfuFixed -_081E0F68: .4byte rfu_CB_defaultCallback -_081E0F6C: .4byte gRfuStatic -_081E0F70: .4byte gRfuLinkStatus - thumb_func_end rfu_STC_readChildList - - thumb_func_start rfu_REQ_startSearchParent -rfu_REQ_startSearchParent: @ 81E0F74 - push {lr} - ldr r0, _081E0F84 @ =rfu_CB_startSearchParent - bl STWI_set_Callback_M - bl STWI_send_SP_StartREQ - pop {r0} - bx r0 - .align 2, 0 -_081E0F84: .4byte rfu_CB_startSearchParent - thumb_func_end rfu_REQ_startSearchParent - - thumb_func_start rfu_CB_startSearchParent -rfu_CB_startSearchParent: @ 81E0F88 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 16 - lsrs r1, 16 - adds r4, r1, 0 - cmp r4, 0 - bne _081E0F9E - movs r0, 0 - bl rfu_STC_clearLinkStatus -_081E0F9E: - adds r0, r5, 0 - adds r1, r4, 0 - bl rfu_STC_REQ_callback - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end rfu_CB_startSearchParent - - thumb_func_start rfu_REQ_pollSearchParent -rfu_REQ_pollSearchParent: @ 81E0FAC - push {lr} - ldr r0, _081E0FBC @ =rfu_CB_pollSearchParent - bl STWI_set_Callback_M - bl STWI_send_SP_PollingREQ - pop {r0} - bx r0 - .align 2, 0 -_081E0FBC: .4byte rfu_CB_pollSearchParent - thumb_func_end rfu_REQ_pollSearchParent - - thumb_func_start rfu_CB_pollSearchParent -rfu_CB_pollSearchParent: @ 81E0FC0 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 16 - lsrs r1, 16 - adds r4, r1, 0 - cmp r4, 0 - bne _081E0FD4 - bl rfu_STC_readParentCandidateList -_081E0FD4: - adds r0, r5, 0 - adds r1, r4, 0 - bl rfu_STC_REQ_callback - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end rfu_CB_pollSearchParent - - thumb_func_start rfu_REQ_endSearchParent -rfu_REQ_endSearchParent: @ 81E0FE4 - push {lr} - ldr r0, _081E0FF4 @ =rfu_STC_REQ_callback - bl STWI_set_Callback_M - bl STWI_send_SP_EndREQ - pop {r0} - bx r0 - .align 2, 0 -_081E0FF4: .4byte rfu_STC_REQ_callback - thumb_func_end rfu_REQ_endSearchParent - - thumb_func_start rfu_STC_readParentCandidateList -rfu_STC_readParentCandidateList: @ 81E0FF8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - mov r0, sp - movs r4, 0 - strh r4, [r0] - ldr r5, _081E10A0 @ =gRfuLinkStatus - ldr r1, [r5] - adds r1, 0x14 - ldr r2, _081E10A4 @ =0x01000040 - bl CpuSet - ldr r0, _081E10A8 @ =gRfuFixed - ldr r0, [r0] - adds r0, 0xDC - ldr r2, [r0] - ldrb r7, [r2, 0x1] - adds r2, 0x4 - ldr r0, [r5] - strb r4, [r0, 0x8] - movs r6, 0 - cmp r7, 0 - beq _081E10FC - mov r12, r5 - ldr r0, _081E10AC @ =0x00007fff - mov r8, r0 -_081E102E: - subs r0, r7, 0x7 - lsls r0, 24 - lsrs r7, r0, 24 - adds r1, r2, 0x6 - adds r2, 0x13 - ldrb r0, [r2] - mvns r0, r0 - lsls r0, 24 - lsrs r5, r0, 24 - adds r2, 0x1 - movs r4, 0 - movs r3, 0 - adds r6, 0x1 -_081E1048: - ldrb r0, [r2] - adds r0, r4, r0 - lsls r0, 24 - adds r2, 0x1 - lsrs r0, 24 - ldrb r4, [r1] - adds r0, r4 - lsls r0, 24 - lsrs r4, r0, 24 - adds r1, 0x1 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x7 - bls _081E1048 - cmp r4, r5 - bne _081E10F0 - subs r2, 0x1C - mov r0, r12 - ldr r1, [r0] - ldrb r0, [r1, 0x8] - lsls r0, 5 - adds r0, 0x14 - adds r4, r1, r0 - ldrh r0, [r2] - movs r3, 0 - strh r0, [r4] - adds r2, 0x2 - ldrb r0, [r2] - strb r0, [r4, 0x2] - adds r2, 0x2 - ldrh r1, [r2] - mov r0, r8 - ands r0, r1 - strh r0, [r4, 0x4] - ldrh r1, [r2] - movs r0, 0x80 - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - beq _081E10B0 - movs r0, 0x1 - strb r0, [r4, 0x3] - b _081E10B2 - .align 2, 0 -_081E10A0: .4byte gRfuLinkStatus -_081E10A4: .4byte 0x01000040 -_081E10A8: .4byte gRfuFixed -_081E10AC: .4byte 0x00007fff -_081E10B0: - strb r3, [r4, 0x3] -_081E10B2: - adds r2, 0x2 - movs r3, 0 - adds r5, r4, 0 - adds r5, 0x15 - adds r4, 0x6 -_081E10BC: - adds r1, r4, r3 - ldrb r0, [r2] - strb r0, [r1] - adds r2, 0x1 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xC - bls _081E10BC - adds r2, 0x1 - movs r3, 0 - adds r4, r5, 0 -_081E10D4: - adds r1, r4, r3 - ldrb r0, [r2] - strb r0, [r1] - adds r2, 0x1 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x7 - bls _081E10D4 - mov r4, r12 - ldr r1, [r4] - ldrb r0, [r1, 0x8] - adds r0, 0x1 - strb r0, [r1, 0x8] -_081E10F0: - lsls r0, r6, 24 - lsrs r6, r0, 24 - cmp r6, 0x3 - bhi _081E10FC - cmp r7, 0 - bne _081E102E -_081E10FC: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end rfu_STC_readParentCandidateList - - thumb_func_start rfu_REQ_startConnectParent -rfu_REQ_startConnectParent: @ 81E1108 - push {r4,r5,lr} - lsls r0, 16 - lsrs r4, r0, 16 - movs r3, 0 - movs r2, 0 - ldr r1, _081E1154 @ =gRfuLinkStatus - ldr r0, [r1] - ldrh r0, [r0, 0x14] - cmp r0, r4 - beq _081E1134 - adds r5, r1, 0 -_081E111E: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bhi _081E1134 - ldr r0, [r5] - lsls r1, r2, 5 - adds r0, r1 - ldrh r0, [r0, 0x14] - cmp r0, r4 - bne _081E111E -_081E1134: - cmp r2, 0x4 - bne _081E113C - movs r3, 0x80 - lsls r3, 1 -_081E113C: - cmp r3, 0 - bne _081E1160 - ldr r0, _081E1158 @ =gRfuStatic - ldr r0, [r0] - strh r4, [r0, 0x1E] - ldr r0, _081E115C @ =rfu_STC_REQ_callback - bl STWI_set_Callback_M - adds r0, r4, 0 - bl STWI_send_CP_StartREQ - b _081E1168 - .align 2, 0 -_081E1154: .4byte gRfuLinkStatus -_081E1158: .4byte gRfuStatic -_081E115C: .4byte rfu_STC_REQ_callback -_081E1160: - movs r0, 0x1F - adds r1, r3, 0 - bl rfu_STC_REQ_callback -_081E1168: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end rfu_REQ_startConnectParent - - thumb_func_start rfu_REQ_pollConnectParent -rfu_REQ_pollConnectParent: @ 81E1170 - push {lr} - ldr r0, _081E1180 @ =rfu_CB_pollConnectParent - bl STWI_set_Callback_M - bl STWI_send_CP_PollingREQ - pop {r0} - bx r0 - .align 2, 0 -_081E1180: .4byte rfu_CB_pollConnectParent - thumb_func_end rfu_REQ_pollConnectParent - - thumb_func_start rfu_CB_pollConnectParent -rfu_CB_pollConnectParent: @ 81E1184 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x24] - lsls r1, 16 - lsrs r1, 16 - str r1, [sp, 0x28] - cmp r1, 0 - bne _081E1286 - ldr r0, _081E1240 @ =gRfuFixed - ldr r0, [r0] - adds r0, 0xDC - ldr r0, [r0] - ldrh r5, [r0, 0x4] - ldrb r1, [r0, 0x6] - mov r10, r1 - ldrb r0, [r0, 0x7] - cmp r0, 0 - bne _081E1286 - movs r0, 0x80 - lsls r0, 17 - lsls r0, r1 - lsrs r2, r0, 24 - ldr r4, _081E1244 @ =gRfuLinkStatus - ldr r3, [r4] - ldrb r1, [r3, 0x2] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _081E1286 - adds r0, r2, 0 - orrs r0, r1 - strb r0, [r3, 0x2] - ldr r1, [r4] - ldrb r0, [r1, 0x3] - bics r0, r2 - strb r0, [r1, 0x3] - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x94 - movs r2, 0 - strh r5, [r0] - ldrb r0, [r1, 0x1] - adds r0, 0x1 - strb r0, [r1, 0x1] - ldr r0, [r4] - strb r2, [r0] - ldr r3, _081E1248 @ =gRfuStatic - ldr r2, [r3] - ldrb r1, [r2] - movs r0, 0x80 - orrs r0, r1 - strb r0, [r2] - movs r5, 0 - adds r7, r4, 0 - add r6, sp, 0x20 - movs r0, 0 - mov r8, r0 -_081E1202: - ldr r2, [r7] - lsls r4, r5, 5 - adds r0, r2, r4 - ldr r1, [r3] - ldrh r0, [r0, 0x14] - ldrh r1, [r1, 0x1E] - cmp r0, r1 - bne _081E125A - ldrb r0, [r2, 0x8] - cmp r0, 0 - beq _081E1250 - mov r9, sp - adds r0, r4, 0 - adds r0, 0x14 - adds r0, r2, r0 - mov r1, sp - movs r2, 0x10 - bl CpuSet - mov r1, r8 - strh r1, [r6] - ldr r1, [r7] - adds r1, 0x14 - adds r0, r6, 0 - ldr r2, _081E124C @ =0x01000040 - bl CpuSet - ldr r0, [r7] - mov r1, r8 - strb r1, [r0, 0x8] - b _081E1264 - .align 2, 0 -_081E1240: .4byte gRfuFixed -_081E1244: .4byte gRfuLinkStatus -_081E1248: .4byte gRfuStatic -_081E124C: .4byte 0x01000040 -_081E1250: - adds r0, r4, 0 - adds r0, 0x14 - adds r2, r0 - mov r9, r2 - b _081E1264 -_081E125A: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _081E1202 -_081E1264: - cmp r5, 0x3 - bhi _081E1286 - ldr r4, _081E12A0 @ =gRfuLinkStatus - mov r0, r10 - lsls r5, r0, 5 - adds r0, r5, 0 - adds r0, 0x14 - ldr r1, [r4] - adds r1, r0 - mov r0, r9 - movs r2, 0x10 - bl CpuSet - ldr r0, [r4] - adds r0, r5 - mov r1, r10 - strb r1, [r0, 0x16] -_081E1286: - ldr r0, [sp, 0x24] - ldr r1, [sp, 0x28] - bl rfu_STC_REQ_callback - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081E12A0: .4byte gRfuLinkStatus - thumb_func_end rfu_CB_pollConnectParent - - thumb_func_start rfu_getConnectParentStatus -rfu_getConnectParentStatus: @ 81E12A4 - push {lr} - adds r3, r0, 0 - movs r0, 0xFF - strb r0, [r3] - ldr r0, _081E12C4 @ =gRfuFixed - ldr r0, [r0] - adds r0, 0xDC - ldr r2, [r0] - ldrb r0, [r2] - adds r0, 0x60 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _081E12C8 - movs r0, 0x10 - b _081E12D4 - .align 2, 0 -_081E12C4: .4byte gRfuFixed -_081E12C8: - adds r2, 0x6 - ldrb r0, [r2] - strb r0, [r1] - ldrb r0, [r2, 0x1] - strb r0, [r3] - movs r0, 0 -_081E12D4: - pop {r1} - bx r1 - thumb_func_end rfu_getConnectParentStatus - - thumb_func_start rfu_REQ_endConnectParent -rfu_REQ_endConnectParent: @ 81E12D8 - push {lr} - ldr r0, _081E1304 @ =rfu_CB_pollConnectParent - bl STWI_set_Callback_M - bl STWI_send_CP_EndREQ - ldr r0, _081E1308 @ =gRfuFixed - ldr r0, [r0] - adds r0, 0xDC - ldr r1, [r0] - ldrb r0, [r1, 0x6] - cmp r0, 0x3 - bhi _081E1300 - ldr r0, _081E130C @ =gRfuStatic - ldr r0, [r0] - adds r0, 0xA - ldrb r1, [r1, 0x6] - adds r0, r1 - movs r1, 0 - strb r1, [r0] -_081E1300: - pop {r0} - bx r0 - .align 2, 0 -_081E1304: .4byte rfu_CB_pollConnectParent -_081E1308: .4byte gRfuFixed -_081E130C: .4byte gRfuStatic - thumb_func_end rfu_REQ_endConnectParent - - thumb_func_start rfu_syncVBlank -rfu_syncVBlank: @ 81E1310 - push {r4,r5,lr} - bl rfu_NI_checkCommFailCounter - ldr r0, _081E1358 @ =gRfuLinkStatus - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0xFF - beq _081E13E8 - ldr r4, _081E135C @ =gRfuStatic - ldr r1, [r4] - ldrb r0, [r1, 0x6] - cmp r0, 0 - beq _081E132E - subs r0, 0x1 - strb r0, [r1, 0x6] -_081E132E: - bl rfu_getMasterSlave - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, [r4] - ldrb r1, [r2] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _081E1360 - cmp r3, 0 - bne _081E136E - movs r0, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r1, [r4] - movs r0, 0xB4 - lsls r0, 1 - strh r0, [r1, 0x20] - b _081E136A - .align 2, 0 -_081E1358: .4byte gRfuLinkStatus -_081E135C: .4byte gRfuStatic -_081E1360: - cmp r3, 0 - beq _081E1380 - movs r0, 0xFB - ands r0, r1 - strb r0, [r2] -_081E136A: - cmp r3, 0 - beq _081E1380 -_081E136E: - ldr r3, _081E137C @ =gRfuStatic - ldr r2, [r3] - ldrb r1, [r2] - movs r0, 0xFD - ands r0, r1 - b _081E138A - .align 2, 0 -_081E137C: .4byte gRfuStatic -_081E1380: - ldr r3, _081E13DC @ =gRfuStatic - ldr r2, [r3] - ldrb r1, [r2] - movs r0, 0x2 - orrs r0, r1 -_081E138A: - strb r0, [r2] - ldr r3, [r3] - ldrb r1, [r3] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _081E13E8 - ldrh r0, [r3, 0x20] - cmp r0, 0 - bne _081E13E4 - movs r0, 0xFB - ands r0, r1 - strb r0, [r3] - ldr r0, _081E13E0 @ =gRfuLinkStatus - ldr r0, [r0] - ldrb r1, [r0, 0x2] - ldrb r0, [r0, 0x3] - adds r5, r0, 0 - orrs r5, r1 - movs r4, 0 -_081E13B2: - adds r0, r5, 0 - asrs r0, r4 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081E13C4 - adds r0, r4, 0 - bl rfu_STC_removeLinkData -_081E13C4: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _081E13B2 - ldr r0, _081E13E0 @ =gRfuLinkStatus - ldr r1, [r0] - movs r0, 0xFF - strb r0, [r1] - movs r0, 0x1 - b _081E13EA - .align 2, 0 -_081E13DC: .4byte gRfuStatic -_081E13E0: .4byte gRfuLinkStatus -_081E13E4: - subs r0, 0x1 - strh r0, [r3, 0x20] -_081E13E8: - movs r0, 0 -_081E13EA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end rfu_syncVBlank - thumb_func_start rfu_REQBN_watchLink rfu_REQBN_watchLink: @ 81E13F0 push {r4-r7,lr} |