summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/librfu.s1943
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}