summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
Diffstat (limited to 'asm')
-rw-r--r--asm/librfu.s6487
1 files changed, 0 insertions, 6487 deletions
diff --git a/asm/librfu.s b/asm/librfu.s
deleted file mode 100644
index 28cc01594..000000000
--- a/asm/librfu.s
+++ /dev/null
@@ -1,6487 +0,0 @@
- .include "asm/macros.inc"
-
- .syntax unified
-
- .text
-
- thumb_func_start rfu_initializeAPI
-rfu_initializeAPI: @ 82E3EB4
- 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 _082E3ED4
- cmp r7, 0
- bne _082E3EDC
-_082E3ED4:
- movs r0, 0x3
- ands r0, r4
- cmp r0, 0
- beq _082E3EE0
-_082E3EDC:
- movs r0, 0x2
- b _082E3FB8
-_082E3EE0:
- cmp r7, 0
- beq _082E3EEC
- ldr r3, =0x00000e64
- b _082E3EEE
- .align 2, 0
- .pool
-_082E3EEC:
- ldr r3, =0x00000504
-_082E3EEE:
- cmp r2, r3
- bcs _082E3EFC
- movs r0, 0x1
- b _082E3FB8
- .align 2, 0
- .pool
-_082E3EFC:
- ldr r0, =gRfuLinkStatus
- str r4, [r0]
- ldr r1, =gRfuStatic
- adds r0, r4, 0
- adds r0, 0xB4
- str r0, [r1]
- ldr r1, =gRfuFixed
- adds r0, 0x28
- str r0, [r1]
- ldr r2, =gRfuSlotStatusNI
- movs r1, 0xDE
- lsls r1, 1
- adds r0, r4, r1
- str r0, [r2]
- ldr r1, =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
-_082E3F28:
- 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 _082E3F28
- ldr r0, =gRfuFixed
- ldr r1, [r0]
- adds r1, 0xDC
- ldr r4, =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, =gRfuSlotStatusNI
- movs r2, 0
-_082E3F6C:
- 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 _082E3F6C
- ldr r4, =sub_82E53F4
- movs r0, 0x2
- negs r0, r0
- ands r4, r0
- ldr r1, =gRfuFixed
- ldr r0, [r1]
- adds r2, r0, 0
- adds r2, 0x8
- movs r3, 0x2F
- ldr r5, =0x0000ffff
-_082E3F9C:
- ldrh r0, [r4]
- strh r0, [r2]
- adds r4, 0x2
- adds r2, 0x2
- subs r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r5
- bne _082E3F9C
- ldr r1, [r1]
- adds r0, r1, 0
- adds r0, 0x9
- str r0, [r1, 0x4]
- movs r0, 0
-_082E3FB8:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
- .pool
- thumb_func_end rfu_initializeAPI
-
- thumb_func_start rfu_STC_clearAPIVariables
-rfu_STC_clearAPIVariables: @ 82E3FDC
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r1, =0x04000208
- ldrh r0, [r1]
- adds r7, r0, 0
- movs r6, 0
- strh r6, [r1]
- ldr r5, =gRfuStatic
- ldr r1, [r5]
- ldrb r4, [r1]
- mov r0, sp
- strh r6, [r0]
- ldr r2, =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, =gRfuLinkStatus
- ldr r1, [r4]
- ldr r2, =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
-_082E4030:
- 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 _082E4030
- ldr r0, =0x04000208
- strh r7, [r0]
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_STC_clearAPIVariables
-
- thumb_func_start rfu_REQ_PARENT_resumeRetransmitAndChange
-rfu_REQ_PARENT_resumeRetransmitAndChange: @ 82E4064
- push {lr}
- ldr r0, =rfu_STC_REQ_callback
- bl STWI_set_Callback_M
- bl STWI_send_ResumeRetransmitAndChangeREQ
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_REQ_PARENT_resumeRetransmitAndChange
-
- thumb_func_start rfu_UNI_PARENT_getDRAC_ACK
-rfu_UNI_PARENT_getDRAC_ACK: @ 82E4078
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0
- strb r0, [r4]
- ldr r5, =gRfuLinkStatus
- ldr r0, [r5]
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _082E4094
- movs r0, 0xC0
- lsls r0, 2
- b _082E40BA
- .align 2, 0
- .pool
-_082E4094:
- bl rfu_getSTWIRecvBuffer
- adds r1, r0, 0
- ldrb r0, [r1]
- cmp r0, 0x28
- beq _082E40A4
- cmp r0, 0x36
- bne _082E40B8
-_082E40A4:
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- bne _082E40B0
- ldr r0, [r5]
- ldrb r0, [r0, 0x2]
- b _082E40B2
-_082E40B0:
- ldrb r0, [r1, 0x4]
-_082E40B2:
- strb r0, [r4]
- movs r0, 0
- b _082E40BA
-_082E40B8:
- movs r0, 0x10
-_082E40BA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end rfu_UNI_PARENT_getDRAC_ACK
-
- thumb_func_start rfu_setTimerInterrupt
-rfu_setTimerInterrupt: @ 82E40C0
- 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: @ 82E40D4
- ldr r0, =gRfuFixed
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r0, [r0]
- bx lr
- .align 2, 0
- .pool
- thumb_func_end rfu_getSTWIRecvBuffer
-
- thumb_func_start rfu_setMSCCallback
-rfu_setMSCCallback: @ 82E40E4
- push {lr}
- bl STWI_set_Callback_S
- pop {r0}
- bx r0
- thumb_func_end rfu_setMSCCallback
-
- thumb_func_start rfu_setREQCallback
-rfu_setREQCallback: @ 82E40F0
- push {lr}
- adds r1, r0, 0
- ldr r0, =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
- .pool
- thumb_func_end rfu_setREQCallback
-
- thumb_func_start rfu_enableREQCallback
-rfu_enableREQCallback: @ 82E410C
- push {lr}
- lsls r0, 24
- cmp r0, 0
- beq _082E4124
- ldr r0, =gRfuStatic
- ldr r2, [r0]
- ldrb r1, [r2]
- movs r0, 0x8
- orrs r0, r1
- b _082E412E
- .align 2, 0
- .pool
-_082E4124:
- ldr r0, =gRfuStatic
- ldr r2, [r0]
- ldrb r1, [r2]
- movs r0, 0xF7
- ands r0, r1
-_082E412E:
- strb r0, [r2]
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_enableREQCallback
-
- thumb_func_start rfu_STC_REQ_callback
-rfu_STC_REQ_callback: @ 82E4138
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r0, =rfu_CB_defaultCallback
- bl STWI_set_Callback_M
- ldr r0, =gRfuStatic
- ldr r0, [r0]
- strh r4, [r0, 0x1C]
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _082E4166
- ldr r0, =gRfuFixed
- ldr r0, [r0]
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r4, 0
- bl _call_via_r2
-_082E4166:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_STC_REQ_callback
-
- thumb_func_start rfu_CB_defaultCallback
-rfu_CB_defaultCallback: @ 82E4178
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r3, r1, 16
- cmp r0, 0xFF
- bne _082E41D4
- ldr r0, =gRfuStatic
- ldr r0, [r0]
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _082E41A2
- ldr r0, =gRfuFixed
- ldr r0, [r0]
- ldr r2, [r0]
- movs r0, 0xFF
- adds r1, r3, 0
- bl _call_via_r2
-_082E41A2:
- ldr r0, =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r1, [r0, 0x2]
- ldrb r0, [r0, 0x3]
- adds r5, r0, 0
- orrs r5, r1
- movs r4, 0
-_082E41B0:
- adds r0, r5, 0
- asrs r0, r4
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _082E41C2
- adds r0, r4, 0
- bl rfu_STC_removeLinkData
-_082E41C2:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _082E41B0
- ldr r0, =gRfuLinkStatus
- ldr r1, [r0]
- movs r0, 0xFF
- strb r0, [r1]
-_082E41D4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_CB_defaultCallback
-
- thumb_func_start rfu_waitREQComplete
-rfu_waitREQComplete: @ 82E41E8
- push {lr}
- bl STWI_poll_CommandEnd
- ldr r0, =gRfuStatic
- ldr r0, [r0]
- ldrh r0, [r0, 0x1C]
- pop {r1}
- bx r1
- .align 2, 0
- .pool
- thumb_func_end rfu_waitREQComplete
-
- thumb_func_start rfu_REQ_RFUStatus
-rfu_REQ_RFUStatus: @ 82E41FC
- push {lr}
- ldr r0, =rfu_STC_REQ_callback
- bl STWI_set_Callback_M
- bl STWI_send_SystemStatusREQ
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_REQ_RFUStatus
-
- thumb_func_start rfu_getRFUStatus
-rfu_getRFUStatus: @ 82E4210
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, =gRfuFixed
- ldr r0, [r5]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x93
- beq _082E422C
- movs r0, 0x10
- b _082E4246
- .align 2, 0
- .pool
-_082E422C:
- bl STWI_poll_CommandEnd
- lsls r0, 16
- cmp r0, 0
- bne _082E4240
- ldr r0, [r5]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrb r0, [r0, 0x7]
- b _082E4242
-_082E4240:
- movs r0, 0xFF
-_082E4242:
- strb r0, [r4]
- movs r0, 0
-_082E4246:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end rfu_getRFUStatus
-
- thumb_func_start rfu_MBOOT_CHILD_inheritanceLinkStatus
-rfu_MBOOT_CHILD_inheritanceLinkStatus: @ 82E424C
- push {lr}
- ldr r2, =str_checkMbootLL
- ldr r3, =gDma3Requests + 0xE0
- b _082E4266
- .align 2, 0
- .pool
-_082E425C:
- ldrb r0, [r3]
- adds r3, 0x1
- adds r2, 0x1
- cmp r1, r0
- bne _082E42BC
-_082E4266:
- ldrb r1, [r2]
- cmp r1, 0
- bne _082E425C
- movs r2, 0xC0
- lsls r2, 18
- movs r3, 0
- movs r1, 0
-_082E4274:
- 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 _082E4274
- ldr r0, =gDma3Requests + 0xEA
- ldrh r0, [r0]
- cmp r3, r0
- bne _082E42BC
- movs r0, 0xC0
- lsls r0, 18
- ldr r1, =gRfuLinkStatus
- ldr r1, [r1]
- movs r2, 0x5A
- bl CpuSet
- ldr r0, =gRfuStatic
- ldr r2, [r0]
- ldrb r1, [r2]
- movs r0, 0x80
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0
- b _082E42BE
- .align 2, 0
- .pool
-_082E42BC:
- movs r0, 0x1
-_082E42BE:
- pop {r1}
- bx r1
- thumb_func_end rfu_MBOOT_CHILD_inheritanceLinkStatus
-
- thumb_func_start rfu_REQ_stopMode
-rfu_REQ_stopMode: @ 82E42C4
- push {lr}
- ldr r0, =0x04000208
- ldrh r0, [r0]
- cmp r0, 0
- bne _082E42EC
- movs r0, 0x3D
- movs r1, 0x6
- bl rfu_STC_REQ_callback
- ldr r0, =gSTWIStatus
- ldr r1, [r0]
- ldrh r0, [r1, 0x12]
- movs r0, 0x6
- strh r0, [r1, 0x12]
- b _082E4362
- .align 2, 0
- .pool
-_082E42EC:
- bl AgbRFU_SoftReset
- bl rfu_STC_clearAPIVariables
- movs r0, 0x8
- bl AgbRFU_checkID
- ldr r1, =0x00008001
- cmp r0, r1
- bne _082E4350
- ldr r0, =gSTWIStatus
- ldr r0, [r0]
- ldrb r0, [r0, 0xA]
- lsls r0, 2
- ldr r2, =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, =0x0105ffff
- ldr r3, =rfu_CB_stopMode
- cmp r0, r2
- bhi _082E432A
-_082E4322:
- ldr r0, [r1]
- lsls r0, 16
- cmp r0, r2
- bls _082E4322
-_082E432A:
- movs r0, 0
- str r0, [r1]
- adds r0, r3, 0
- bl STWI_set_Callback_M
- bl STWI_send_StopModeREQ
- b _082E4362
- .align 2, 0
- .pool
-_082E4350:
- ldr r1, =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
-_082E4362:
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_REQ_stopMode
-
- thumb_func_start rfu_CB_stopMode
-rfu_CB_stopMode: @ 82E436C
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 16
- lsrs r1, 16
- adds r2, r1, 0
- cmp r2, 0
- bne _082E4386
- ldr r1, =0x04000128
- movs r4, 0x80
- lsls r4, 6
- adds r0, r4, 0
- strh r0, [r1]
-_082E4386:
- adds r0, r3, 0
- adds r1, r2, 0
- bl rfu_STC_REQ_callback
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_CB_stopMode
-
- thumb_func_start rfu_REQBN_softReset_and_checkID
-rfu_REQBN_softReset_and_checkID: @ 82E4398
- push {lr}
- ldr r0, =0x04000208
- ldrh r0, [r0]
- cmp r0, 0
- bne _082E43AC
- movs r0, 0x1
- negs r0, r0
- b _082E43CC
- .align 2, 0
- .pool
-_082E43AC:
- bl AgbRFU_SoftReset
- bl rfu_STC_clearAPIVariables
- movs r0, 0x1E
- bl AgbRFU_checkID
- adds r2, r0, 0
- cmp r2, 0
- bne _082E43CA
- ldr r1, =0x04000128
- movs r3, 0x80
- lsls r3, 6
- adds r0, r3, 0
- strh r0, [r1]
-_082E43CA:
- adds r0, r2, 0
-_082E43CC:
- pop {r1}
- bx r1
- .align 2, 0
- .pool
- thumb_func_end rfu_REQBN_softReset_and_checkID
-
- thumb_func_start rfu_REQ_reset
-rfu_REQ_reset: @ 82E43D4
- push {lr}
- ldr r0, =rfu_CB_reset
- bl STWI_set_Callback_M
- bl STWI_send_ResetREQ
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_REQ_reset
-
- thumb_func_start rfu_CB_reset
-rfu_CB_reset: @ 82E43E8
- 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 _082E43FC
- bl rfu_STC_clearAPIVariables
-_082E43FC:
- 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: @ 82E440C
- 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, =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 _082E444C
- ldr r0, =gRfuStatic
- ldr r1, [r0]
- movs r0, 0x1
- strh r0, [r1, 0x1A]
- b _082E4466
- .align 2, 0
- .pool
-_082E444C:
- ldr r5, =0x04000208
- ldrh r4, [r5]
- movs r0, 0
- strh r0, [r5]
- movs r0, 0x96
- lsls r0, 2
- adds r1, r6, 0
- bl Div
- ldr r1, =gRfuStatic
- ldr r1, [r1]
- strh r0, [r1, 0x1A]
- strh r4, [r5]
-_082E4466:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_REQ_configSystem
-
- thumb_func_start rfu_REQ_configGameData
-rfu_REQ_configGameData: @ 82E4474
- 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 _082E449A
- movs r1, 0x80
- orrs r2, r1
- movs r1, 0
- orrs r2, r1
- strb r2, [r0, 0x1]
-_082E449A:
- movs r2, 0x2
- ldr r0, =rfu_CB_configGameData
- mov r12, r0
-_082E44A0:
- 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 _082E44A0
- movs r3, 0
- adds r1, r7, 0
- movs r2, 0
-_082E44BA:
- 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 _082E44BA
- mov r1, sp
- mvns r0, r3
- strb r0, [r1, 0xF]
- cmp r6, 0
- beq _082E44E6
- movs r0, 0
- strb r0, [r1, 0xE]
-_082E44E6:
- 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
- .pool
- thumb_func_end rfu_REQ_configGameData
-
- thumb_func_start rfu_CB_configGameData
-rfu_CB_configGameData: @ 82E4500
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- lsls r1, 16
- lsrs r7, r1, 16
- cmp r7, 0
- bne _082E458A
- ldr r0, =gSTWIStatus
- ldr r0, [r0]
- ldr r1, [r0, 0x24]
- ldr r0, =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 _082E454C
- eors r3, r1
- strh r3, [r5]
- adds r1, r6, 0
- adds r1, 0x97
- movs r0, 0x1
- b _082E4552
- .align 2, 0
- .pool
-_082E454C:
- adds r1, r6, 0
- adds r1, 0x97
- movs r0, 0
-_082E4552:
- strb r0, [r1]
- movs r2, 0
- ldr r3, =gRfuLinkStatus
-_082E4558:
- 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 _082E4558
- adds r4, 0x1
- movs r2, 0
- ldr r3, =gRfuLinkStatus
-_082E4574:
- 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 _082E4574
-_082E458A:
- mov r0, r12
- adds r1, r7, 0
- bl rfu_STC_REQ_callback
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_CB_configGameData
-
- thumb_func_start rfu_REQ_startSearchChild
-rfu_REQ_startSearchChild: @ 82E459C
- push {r4,lr}
- movs r1, 0
- ldr r4, =rfu_CB_defaultCallback
- ldr r3, =gRfuStatic
- movs r2, 0
-_082E45A6:
- ldr r0, [r3]
- adds r0, 0xE
- adds r0, r1
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x3
- bls _082E45A6
- adds r0, r4, 0
- bl STWI_set_Callback_M
- bl STWI_send_SystemStatusREQ
- bl STWI_poll_CommandEnd
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _082E45F0
- ldr r0, =gRfuFixed
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- bne _082E45F6
- movs r0, 0x1
- bl rfu_STC_clearLinkStatus
- b _082E45F6
- .align 2, 0
- .pool
-_082E45F0:
- movs r0, 0x19
- bl rfu_STC_REQ_callback
-_082E45F6:
- ldr r0, =rfu_CB_startSearchChild
- bl STWI_set_Callback_M
- bl STWI_send_SC_StartREQ
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_REQ_startSearchChild
-
- thumb_func_start rfu_CB_startSearchChild
-rfu_CB_startSearchChild: @ 82E460C
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 16
- lsrs r1, 16
- adds r2, r1, 0
- cmp r2, 0
- bne _082E4624
- ldr r0, =gRfuStatic
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0x9]
-_082E4624:
- adds r0, r3, 0
- adds r1, r2, 0
- bl rfu_STC_REQ_callback
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_CB_startSearchChild
-
- thumb_func_start rfu_STC_clearLinkStatus
-rfu_STC_clearLinkStatus: @ 82E4634
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl rfu_clearAllSlot
- cmp r4, 0
- beq _082E465C
- mov r0, sp
- movs r5, 0
- strh r5, [r0]
- ldr r4, =gRfuLinkStatus
- ldr r1, [r4]
- adds r1, 0x14
- ldr r2, =0x01000040
- bl CpuSet
- ldr r0, [r4]
- strb r5, [r0, 0x8]
-_082E465C:
- movs r1, 0
- ldr r2, =gRfuLinkStatus
- adds r4, r2, 0
- movs r3, 0
-_082E4664:
- 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 _082E4664
- 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
- .pool
- thumb_func_end rfu_STC_clearLinkStatus
-
- thumb_func_start rfu_REQ_pollSearchChild
-rfu_REQ_pollSearchChild: @ 82E4698
- push {lr}
- ldr r0, =rfu_CB_pollAndEndSearchChild
- bl STWI_set_Callback_M
- bl STWI_send_SC_PollingREQ
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_REQ_pollSearchChild
-
- thumb_func_start rfu_REQ_endSearchChild
-rfu_REQ_endSearchChild: @ 82E46AC
- push {lr}
- ldr r0, =rfu_CB_pollAndEndSearchChild
- bl STWI_set_Callback_M
- bl STWI_send_SC_EndREQ
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_REQ_endSearchChild
-
- thumb_func_start rfu_CB_pollAndEndSearchChild
-rfu_CB_pollAndEndSearchChild: @ 82E46C0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- lsrs r6, r1, 16
- cmp r6, 0
- bne _082E46D2
- bl rfu_STC_readChildList
-_082E46D2:
- cmp r4, 0x1A
- bne _082E4714
- ldr r5, =gRfuLinkStatus
- ldr r0, [r5]
- adds r0, 0x94
- ldrh r0, [r0]
- cmp r0, 0
- bne _082E4730
- ldr r0, =rfu_CB_defaultCallback
- bl STWI_set_Callback_M
- bl STWI_send_SystemStatusREQ
- bl STWI_poll_CommandEnd
- lsls r0, 16
- cmp r0, 0
- bne _082E4730
- ldr r1, [r5]
- ldr r0, =gRfuFixed
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrh r0, [r0, 0x4]
- adds r1, 0x94
- strh r0, [r1]
- b _082E4730
- .align 2, 0
- .pool
-_082E4714:
- cmp r4, 0x1B
- bne _082E4730
- ldr r0, =gRfuLinkStatus
- ldr r1, [r0]
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _082E4728
- adds r1, 0x94
- movs r0, 0
- strh r0, [r1]
-_082E4728:
- ldr r0, =gRfuStatic
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x9]
-_082E4730:
- adds r0, r4, 0
- adds r1, r6, 0
- bl rfu_STC_REQ_callback
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_CB_pollAndEndSearchChild
-
- thumb_func_start rfu_STC_readChildList
-rfu_STC_readChildList: @ 82E4748
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, =gRfuFixed
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrb r7, [r0, 0x1]
- adds r6, r0, 0x4
- cmp r7, 0
- beq _082E47EE
- ldr r0, =gRfuStatic
- mov r8, r0
- ldr r1, =gRfuLinkStatus
- mov r12, r1
-_082E4766:
- ldrb r4, [r6, 0x2]
- cmp r4, 0x3
- bhi _082E47E2
- mov r2, r12
- ldr r1, [r2]
- ldrb r0, [r1, 0x2]
- asrs r0, r4
- movs r5, 0x1
- ands r0, r5
- cmp r0, 0
- bne _082E47E2
- ldrb r0, [r1, 0x3]
- asrs r0, r4
- ands r0, r5
- cmp r0, 0
- bne _082E47E2
- mov r1, r8
- ldr r0, [r1]
- adds r0, 0xE
- adds r0, r4
- movs r1, 0xF0
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0xA
- adds r0, r4
- movs r1, 0x10
- strb r1, [r0]
- ldr r2, [r2]
- adds r0, r5, 0
- lsls r0, r4
- ldrb r1, [r2, 0x2]
- orrs r0, r1
- strb r0, [r2, 0x2]
- mov r2, r12
- ldr r1, [r2]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- ldr r1, [r2]
- lsls r3, r4, 5
- adds r1, r3
- ldrh r0, [r6]
- strh r0, [r1, 0x14]
- strb r4, [r1, 0x16]
- ldr r0, [r2]
- strb r5, [r0]
- mov r0, r8
- ldr r2, [r0]
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- mov r2, r8
- ldr r1, [r2]
- lsls r0, r4, 1
- adds r1, 0x12
- adds r1, r0
- mov r2, r12
- ldr r0, [r2]
- adds r0, r3
- ldrh r0, [r0, 0x14]
- strh r0, [r1]
-_082E47E2:
- subs r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r6, 0x4
- cmp r7, 0
- bne _082E4766
-_082E47EE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_STC_readChildList
-
- thumb_func_start rfu_REQ_startSearchParent
-rfu_REQ_startSearchParent: @ 82E4804
- push {lr}
- ldr r0, =rfu_CB_startSearchParent
- bl STWI_set_Callback_M
- bl STWI_send_SP_StartREQ
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_REQ_startSearchParent
-
- thumb_func_start rfu_CB_startSearchParent
-rfu_CB_startSearchParent: @ 82E4818
- 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 _082E482E
- movs r0, 0
- bl rfu_STC_clearLinkStatus
-_082E482E:
- 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: @ 82E483C
- push {lr}
- ldr r0, =sub_82E4850
- bl STWI_set_Callback_M
- bl STWI_send_SP_PollingREQ
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_REQ_pollSearchParent
-
- thumb_func_start sub_82E4850
-sub_82E4850: @ 82E4850
- 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 _082E4864
- bl rfu_STC_readParentCandidateList
-_082E4864:
- adds r0, r5, 0
- adds r1, r4, 0
- bl rfu_STC_REQ_callback
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_82E4850
-
- thumb_func_start rfu_REQ_endSearchParent
-rfu_REQ_endSearchParent: @ 82E4874
- push {lr}
- ldr r0, =rfu_STC_REQ_callback
- bl STWI_set_Callback_M
- bl STWI_send_SP_EndREQ
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_REQ_endSearchParent
-
- thumb_func_start rfu_STC_readParentCandidateList
-rfu_STC_readParentCandidateList: @ 82E4888
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- mov r0, sp
- movs r4, 0
- strh r4, [r0]
- ldr r5, =gRfuLinkStatus
- ldr r1, [r5]
- adds r1, 0x14
- ldr r2, =0x01000040
- bl CpuSet
- ldr r0, =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 _082E498C
- mov r12, r5
- ldr r0, =0x00007fff
- mov r8, r0
-_082E48BE:
- 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
-_082E48D8:
- 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 _082E48D8
- cmp r4, r5
- bne _082E4980
- 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 _082E4940
- movs r0, 0x1
- strb r0, [r4, 0x3]
- b _082E4942
- .align 2, 0
- .pool
-_082E4940:
- strb r3, [r4, 0x3]
-_082E4942:
- adds r2, 0x2
- movs r3, 0
- adds r5, r4, 0
- adds r5, 0x15
- adds r4, 0x6
-_082E494C:
- 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 _082E494C
- adds r2, 0x1
- movs r3, 0
- adds r4, r5, 0
-_082E4964:
- 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 _082E4964
- mov r4, r12
- ldr r1, [r4]
- ldrb r0, [r1, 0x8]
- adds r0, 0x1
- strb r0, [r1, 0x8]
-_082E4980:
- lsls r0, r6, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bhi _082E498C
- cmp r7, 0
- bne _082E48BE
-_082E498C:
- 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: @ 82E4998
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- movs r3, 0
- movs r2, 0
- ldr r1, =gRfuLinkStatus
- ldr r0, [r1]
- ldrh r0, [r0, 0x14]
- cmp r0, r4
- beq _082E49C4
- adds r5, r1, 0
-_082E49AE:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bhi _082E49C4
- ldr r0, [r5]
- lsls r1, r2, 5
- adds r0, r1
- ldrh r0, [r0, 0x14]
- cmp r0, r4
- bne _082E49AE
-_082E49C4:
- cmp r2, 0x4
- bne _082E49CC
- movs r3, 0x80
- lsls r3, 1
-_082E49CC:
- cmp r3, 0
- bne _082E49F0
- ldr r0, =gRfuStatic
- ldr r0, [r0]
- strh r4, [r0, 0x1E]
- ldr r0, =rfu_STC_REQ_callback
- bl STWI_set_Callback_M
- adds r0, r4, 0
- bl STWI_send_CP_StartREQ
- b _082E49F8
- .align 2, 0
- .pool
-_082E49F0:
- movs r0, 0x1F
- adds r1, r3, 0
- bl rfu_STC_REQ_callback
-_082E49F8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end rfu_REQ_startConnectParent
-
- thumb_func_start rfu_REQ_pollConnectParent
-rfu_REQ_pollConnectParent: @ 82E4A00
- push {lr}
- ldr r0, =rfu_CB_pollConnectParent
- bl STWI_set_Callback_M
- bl STWI_send_CP_PollingREQ
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_REQ_pollConnectParent
-
- thumb_func_start rfu_CB_pollConnectParent
-rfu_CB_pollConnectParent: @ 82E4A14
- 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 _082E4B16
- ldr r0, =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 _082E4B16
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r1
- lsrs r2, r0, 24
- ldr r4, =gRfuLinkStatus
- ldr r3, [r4]
- ldrb r1, [r3, 0x2]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _082E4B16
- 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, =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
-_082E4A92:
- 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 _082E4AEA
- ldrb r0, [r2, 0x8]
- cmp r0, 0
- beq _082E4AE0
- 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, =0x01000040
- bl CpuSet
- ldr r0, [r7]
- mov r1, r8
- strb r1, [r0, 0x8]
- b _082E4AF4
- .align 2, 0
- .pool
-_082E4AE0:
- adds r0, r4, 0
- adds r0, 0x14
- adds r2, r0
- mov r9, r2
- b _082E4AF4
-_082E4AEA:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _082E4A92
-_082E4AF4:
- cmp r5, 0x3
- bhi _082E4B16
- ldr r4, =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]
-_082E4B16:
- 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
- .pool
- thumb_func_end rfu_CB_pollConnectParent
-
- thumb_func_start rfu_getConnectParentStatus
-rfu_getConnectParentStatus: @ 82E4B34
- push {lr}
- adds r3, r0, 0
- movs r0, 0xFF
- strb r0, [r3]
- ldr r0, =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 _082E4B58
- movs r0, 0x10
- b _082E4B64
- .align 2, 0
- .pool
-_082E4B58:
- adds r2, 0x6
- ldrb r0, [r2]
- strb r0, [r1]
- ldrb r0, [r2, 0x1]
- strb r0, [r3]
- movs r0, 0
-_082E4B64:
- pop {r1}
- bx r1
- thumb_func_end rfu_getConnectParentStatus
-
- thumb_func_start rfu_REQ_endConnectParent
-rfu_REQ_endConnectParent: @ 82E4B68
- push {lr}
- ldr r0, =rfu_CB_pollConnectParent
- bl STWI_set_Callback_M
- bl STWI_send_CP_EndREQ
- ldr r0, =gRfuFixed
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r1, [r0]
- ldrb r0, [r1, 0x6]
- cmp r0, 0x3
- bhi _082E4B90
- ldr r0, =gRfuStatic
- ldr r0, [r0]
- adds r0, 0xA
- ldrb r1, [r1, 0x6]
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_082E4B90:
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_REQ_endConnectParent
-
- thumb_func_start rfu_syncVBlank
-rfu_syncVBlank: @ 82E4BA0
- push {r4,r5,lr}
- bl rfu_NI_checkCommFailCounter
- ldr r0, =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _082E4C78
- ldr r4, =gRfuStatic
- ldr r1, [r4]
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- beq _082E4BBE
- subs r0, 0x1
- strb r0, [r1, 0x6]
-_082E4BBE:
- 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 _082E4BF0
- cmp r3, 0
- bne _082E4BFE
- movs r0, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r1, [r4]
- movs r0, 0xB4
- lsls r0, 1
- strh r0, [r1, 0x20]
- b _082E4BFA
- .align 2, 0
- .pool
-_082E4BF0:
- cmp r3, 0
- beq _082E4C10
- movs r0, 0xFB
- ands r0, r1
- strb r0, [r2]
-_082E4BFA:
- cmp r3, 0
- beq _082E4C10
-_082E4BFE:
- ldr r3, =gRfuStatic
- ldr r2, [r3]
- ldrb r1, [r2]
- movs r0, 0xFD
- ands r0, r1
- b _082E4C1A
- .align 2, 0
- .pool
-_082E4C10:
- ldr r3, =gRfuStatic
- ldr r2, [r3]
- ldrb r1, [r2]
- movs r0, 0x2
- orrs r0, r1
-_082E4C1A:
- strb r0, [r2]
- ldr r3, [r3]
- ldrb r1, [r3]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _082E4C78
- ldrh r0, [r3, 0x20]
- cmp r0, 0
- bne _082E4C74
- movs r0, 0xFB
- ands r0, r1
- strb r0, [r3]
- ldr r0, =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r1, [r0, 0x2]
- ldrb r0, [r0, 0x3]
- adds r5, r0, 0
- orrs r5, r1
- movs r4, 0
-_082E4C42:
- adds r0, r5, 0
- asrs r0, r4
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _082E4C54
- adds r0, r4, 0
- bl rfu_STC_removeLinkData
-_082E4C54:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _082E4C42
- ldr r0, =gRfuLinkStatus
- ldr r1, [r0]
- movs r0, 0xFF
- strb r0, [r1]
- movs r0, 0x1
- b _082E4C7A
- .align 2, 0
- .pool
-_082E4C74:
- subs r0, 0x1
- strh r0, [r3, 0x20]
-_082E4C78:
- movs r0, 0
-_082E4C7A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end rfu_syncVBlank
-
- thumb_func_start rfu_REQBN_watchLink
-rfu_REQBN_watchLink: @ 82E4C80
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- mov r8, r1
- str r2, [sp]
- str r3, [sp, 0x4]
- lsls r0, 16
- lsrs r6, r0, 16
- movs r0, 0
- str r0, [sp, 0x8]
- movs r1, 0
- str r1, [sp, 0xC]
- mov r2, r8
- strb r1, [r2]
- mov r0, sp
- ldrb r1, [r0, 0xC]
- ldr r0, [sp]
- strb r1, [r0]
- mov r2, sp
- ldrb r0, [r2, 0xC]
- ldr r2, [sp, 0x4]
- strb r0, [r2]
- ldr r5, =gRfuLinkStatus
- ldr r0, [r5]
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _082E4CBE
- b _082E504E
-_082E4CBE:
- ldr r0, =gSTWIStatus
- ldr r0, [r0]
- ldrb r0, [r0, 0x14]
- cmp r0, 0
- bne _082E4CCA
- b _082E504E
-_082E4CCA:
- ldr r3, =gRfuStatic
- ldr r2, [r3]
- ldrb r1, [r2]
- movs r4, 0x4
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _082E4CE0
- movs r0, 0xB4
- lsls r0, 1
- strh r0, [r2, 0x20]
-_082E4CE0:
- ldr r1, [r3]
- ldrb r0, [r1, 0x6]
- cmp r0, 0
- bne _082E4CEE
- strb r4, [r1, 0x6]
- movs r1, 0x1
- str r1, [sp, 0x8]
-_082E4CEE:
- lsls r0, r6, 24
- lsrs r0, 24
- cmp r0, 0x29
- bne _082E4D30
- ldr r0, =gRfuFixed
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r1, [r0]
- ldrb r0, [r1, 0x4]
- mov r2, r8
- strb r0, [r2]
- ldrb r0, [r1, 0x5]
- ldr r1, [sp]
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _082E4D18
- ldr r0, [r5]
- ldrb r0, [r0, 0x2]
- strb r0, [r2]
-_082E4D18:
- movs r2, 0x2
- str r2, [sp, 0x8]
- b _082E4D88
- .align 2, 0
- .pool
-_082E4D30:
- movs r0, 0x9B
- lsls r0, 1
- cmp r6, r0
- bne _082E4D80
- ldr r0, =gRfuFixed
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrb r6, [r0, 0x5]
- ldr r0, [r5]
- ldrb r0, [r0, 0x2]
- eors r6, r0
- ands r6, r0
- mov r0, r8
- strb r6, [r0]
- movs r0, 0x1
- ldr r1, [sp]
- strb r0, [r1]
- movs r5, 0
-_082E4D56:
- mov r2, r8
- ldrb r0, [r2]
- asrs r0, r5
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _082E4D76
- ldr r0, =gRfuLinkStatus
- ldr r0, [r0]
- adds r0, 0xA
- adds r0, r5
- movs r1, 0
- strb r1, [r0]
- adds r0, r5, 0
- bl rfu_STC_removeLinkData
-_082E4D76:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _082E4D56
-_082E4D80:
- ldr r0, [sp, 0x8]
- cmp r0, 0
- bne _082E4D88
- b _082E504E
-_082E4D88:
- ldr r4, =gRfuFixed
- ldr r0, [r4]
- adds r0, 0xDC
- ldr r0, [r0]
- ldr r1, [r0]
- str r1, [sp, 0x10]
- ldr r0, [r0, 0x4]
- str r0, [sp, 0x14]
- ldr r0, =rfu_CB_defaultCallback
- bl STWI_set_Callback_M
- bl STWI_send_LinkStatusREQ
- bl STWI_poll_CommandEnd
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0xC]
- cmp r0, 0
- bne _082E4DE8
- ldr r0, [r4]
- adds r0, 0xDC
- ldr r0, [r0]
- adds r2, r0, 0x4
- movs r5, 0
- ldr r3, =gRfuLinkStatus
-_082E4DBC:
- ldr r0, [r3]
- adds r0, 0xA
- adds r0, r5
- ldrb r1, [r2]
- strb r1, [r0]
- adds r2, 0x1
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _082E4DBC
- movs r2, 0
- mov r9, r2
- movs r5, 0
- b _082E4DF4
- .align 2, 0
- .pool
-_082E4DE8:
- movs r0, 0x11
- ldr r1, [sp, 0xC]
- bl rfu_STC_REQ_callback
- ldr r0, [sp, 0xC]
- b _082E5050
-_082E4DF4:
- ldr r1, =gRfuStatic
- ldr r0, [r1]
- adds r0, 0xE
- adds r2, r0, r5
- ldrb r0, [r2]
- adds r3, r1, 0
- cmp r0, 0
- beq _082E4E1A
- subs r0, 0x4
- strb r0, [r2]
- ldr r0, =gRfuLinkStatus
- ldr r0, [r0]
- adds r0, 0xA
- adds r1, r0, r5
- ldrb r0, [r1]
- cmp r0, 0xF
- bhi _082E4E1A
- movs r0, 0x10
- strb r0, [r1]
-_082E4E1A:
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r5
- lsrs r6, r0, 24
- adds r0, r5, 0x1
- mov r10, r0
- ldr r1, [sp, 0xC]
- cmp r1, 0
- beq _082E4E2E
- b _082E5002
-_082E4E2E:
- ldr r2, [sp, 0x8]
- cmp r2, 0x1
- bne _082E4F10
- ldr r4, =gRfuLinkStatus
- ldr r1, [r4]
- ldrb r0, [r1, 0x2]
- ands r0, r6
- cmp r0, 0
- beq _082E4F10
- adds r0, r1, 0
- adds r0, 0xA
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0
- bne _082E4F04
- ldrb r0, [r1]
- cmp r0, 0x1
- bne _082E4E84
- ldr r1, [r3]
- adds r1, 0xA
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r3]
- adds r0, 0xA
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x3
- bls _082E4F10
- mov r0, r8
- ldrb r1, [r0]
- adds r0, r6, 0
- orrs r0, r1
- mov r1, r8
- strb r0, [r1]
- ldr r0, [sp]
- strb r2, [r0]
- b _082E4F10
- .align 2, 0
- .pool
-_082E4E84:
- bl STWI_send_SystemStatusREQ
- bl STWI_poll_CommandEnd
- lsls r0, 16
- cmp r0, 0
- bne _082E4F10
- ldr r0, =gRfuFixed
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- bne _082E4EB8
- mov r2, r8
- ldrb r1, [r2]
- adds r0, r6, 0
- orrs r0, r1
- strb r0, [r2]
- mov r0, sp
- ldrb r1, [r0, 0x8]
- ldr r0, [sp]
- b _082E4F0E
- .align 2, 0
- .pool
-_082E4EB8:
- ldr r2, =gRfuStatic
- ldr r1, [r2]
- adds r1, 0xA
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- ldr r2, [r2]
- lsrs r0, 24
- ldrh r1, [r2, 0x1A]
- cmp r0, r1
- bls _082E4F10
- adds r0, r2, 0
- adds r0, 0xA
- adds r0, r5
- mov r2, sp
- ldrb r2, [r2, 0xC]
- strb r2, [r0]
- ldr r0, [r4]
- ldrb r0, [r0, 0x2]
- bl STWI_send_DisconnectREQ
- bl STWI_poll_CommandEnd
- mov r0, r8
- ldrb r1, [r0]
- adds r0, r6, 0
- orrs r0, r1
- mov r1, r8
- strb r0, [r1]
- mov r2, sp
- ldrb r0, [r2, 0x8]
- ldr r2, [sp]
- strb r0, [r2]
- b _082E4F10
- .align 2, 0
- .pool
-_082E4F04:
- ldr r0, [r3]
- adds r0, 0xA
- adds r0, r5
- mov r1, sp
- ldrb r1, [r1, 0xC]
-_082E4F0E:
- strb r1, [r0]
-_082E4F10:
- ldr r2, =gRfuLinkStatus
- mov r12, r2
- ldr r1, [r2]
- ldrb r7, [r1]
- adds r0, r5, 0x1
- mov r10, r0
- cmp r7, 0x1
- bne _082E5002
- adds r0, r1, 0
- adds r0, 0xA
- adds r4, r0, r5
- ldrb r3, [r4]
- cmp r3, 0
- beq _082E5002
- ldrb r2, [r1, 0x3]
- adds r0, r6, 0
- ands r0, r2
- cmp r0, 0
- beq _082E4F7E
- cmp r3, 0xA
- bls _082E4F78
- ldr r2, [sp, 0x4]
- ldrb r1, [r2]
- adds r0, r6, 0
- orrs r0, r1
- strb r0, [r2]
- mov r0, r12
- ldr r2, [r0]
- ldrb r1, [r2, 0x2]
- adds r0, r6, 0
- orrs r0, r1
- movs r3, 0
- strb r0, [r2, 0x2]
- mov r2, r12
- ldr r1, [r2]
- ldrb r0, [r1, 0x3]
- bics r0, r6
- strb r0, [r1, 0x3]
- ldr r1, [r2]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- ldr r0, =gRfuStatic
- ldr r0, [r0]
- adds r0, 0xA
- adds r0, r5
- strb r3, [r0]
- b _082E5002
- .align 2, 0
- .pool
-_082E4F78:
- movs r0, 0
- strb r0, [r4]
- b _082E5002
-_082E4F7E:
- ldrb r0, [r1, 0x2]
- orrs r0, r2
- ands r0, r6
- cmp r0, 0
- bne _082E5002
- bl STWI_send_SlotStatusREQ
- bl STWI_poll_CommandEnd
- ldr r0, =gRfuFixed
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r2, [r0]
- ldrb r0, [r2, 0x1]
- subs r0, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r2, 0x8
- cmp r3, 0
- beq _082E5002
- ldrh r4, [r2]
- ldrb r0, [r2, 0x2]
- cmp r0, r5
- bne _082E4FD0
- ldr r0, =gRfuStatic
- ldr r0, [r0]
- lsls r1, r5, 1
- adds r0, 0x12
- adds r0, r1
- ldrh r0, [r0]
- cmp r4, r0
- bne _082E4FD0
- lsls r7, r5
- mov r0, r9
- orrs r0, r7
- lsls r0, 24
- b _082E4FFE
- .align 2, 0
- .pool
-_082E4FD0:
- adds r2, 0x4
- subs r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- beq _082E5002
- ldrh r4, [r2]
- ldrb r0, [r2, 0x2]
- cmp r0, r5
- bne _082E4FD0
- ldr r0, =gRfuStatic
- ldr r0, [r0]
- lsls r1, r5, 1
- adds r0, 0x12
- adds r0, r1
- ldrh r0, [r0]
- cmp r4, r0
- bne _082E4FD0
- movs r0, 0x1
- lsls r0, r5
- mov r1, r9
- orrs r1, r0
- lsls r0, r1, 24
-_082E4FFE:
- lsrs r0, 24
- mov r9, r0
-_082E5002:
- ldr r0, =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r1, [r0, 0x2]
- mov r2, r8
- ldrb r0, [r2]
- ands r0, r1
- ands r6, r0
- cmp r6, 0
- beq _082E501C
- adds r0, r5, 0
- movs r1, 0
- bl rfu_STC_removeLinkData
-_082E501C:
- mov r1, r10
- lsls r0, r1, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bhi _082E5028
- b _082E4DF4
-_082E5028:
- mov r2, r9
- cmp r2, 0
- beq _082E5038
- mov r0, r9
- bl STWI_send_DisconnectREQ
- bl STWI_poll_CommandEnd
-_082E5038:
- ldr r1, =gRfuFixed
- ldr r0, [r1]
- adds r0, 0xDC
- ldr r0, [r0]
- ldr r2, [sp, 0x10]
- str r2, [r0]
- ldr r0, [r1]
- adds r0, 0xDC
- ldr r0, [r0]
- ldr r1, [sp, 0x14]
- str r1, [r0, 0x4]
-_082E504E:
- movs r0, 0
-_082E5050:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
- .pool
- thumb_func_end rfu_REQBN_watchLink
-
- thumb_func_start rfu_STC_removeLinkData
-rfu_STC_removeLinkData: @ 82E506C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r12, r1
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r7
- lsrs r6, r0, 24
- ldr r0, =gRfuStatic
- ldr r0, [r0]
- adds r0, 0xE
- adds r0, r7
- movs r1, 0
- strb r1, [r0]
- ldr r1, =gRfuLinkStatus
- ldr r4, [r1]
- ldrb r0, [r4, 0x2]
- ands r0, r6
- mov r8, r1
- cmp r0, 0
- beq _082E50AA
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- beq _082E50AA
- subs r0, 0x1
- strb r0, [r4, 0x1]
-_082E50AA:
- mov r3, r8
- ldr r2, [r3]
- mvns r5, r6
- ldrb r1, [r2, 0x2]
- adds r0, r5, 0
- ands r0, r1
- strb r0, [r2, 0x2]
- ldr r2, [r3]
- ldrb r1, [r2, 0x3]
- adds r0, r6, 0
- orrs r0, r1
- strb r0, [r2, 0x3]
- ldr r3, [r3]
- ldr r0, [r3]
- ldr r1, =0x00ff00ff
- ands r0, r1
- cmp r0, 0
- bne _082E50D2
- movs r0, 0xFF
- strb r0, [r3]
-_082E50D2:
- mov r0, r12
- cmp r0, 0
- beq _082E5110
- mov r1, sp
- movs r4, 0
- movs r0, 0
- strh r0, [r1]
- lsls r0, r7, 5
- adds r0, 0x14
- mov r2, r8
- ldr r1, [r2]
- adds r1, r0
- ldr r2, =0x01000010
- mov r0, sp
- bl CpuSet
- mov r0, r8
- ldr r2, [r0]
- ldrb r1, [r2, 0x3]
- adds r0, r5, 0
- ands r0, r1
- strb r0, [r2, 0x3]
- mov r2, r8
- ldr r1, [r2]
- ldrb r0, [r1, 0x7]
- ands r5, r0
- strb r5, [r1, 0x7]
- ldr r0, [r2]
- adds r0, 0xA
- adds r0, r7
- strb r4, [r0]
-_082E5110:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_STC_removeLinkData
-
- thumb_func_start rfu_REQ_disconnect
-rfu_REQ_disconnect: @ 82E512C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, =gRfuLinkStatus
- ldr r1, [r2]
- ldrb r0, [r1, 0x2]
- ldrb r1, [r1, 0x3]
- orrs r0, r1
- ands r0, r4
- cmp r0, 0
- beq _082E51B0
- ldr r0, =gRfuStatic
- ldr r1, [r0]
- strb r4, [r1, 0x5]
- ldr r2, [r2]
- ldrb r1, [r2]
- adds r3, r0, 0
- cmp r1, 0xFF
- bne _082E5178
- ldr r0, [r3]
- ldrb r1, [r0]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _082E5178
- ldrb r0, [r2, 0x3]
- ands r0, r4
- cmp r0, 0
- beq _082E51B0
- movs r0, 0x30
- movs r1, 0
- bl rfu_CB_disconnect
- b _082E51B0
- .align 2, 0
- .pool
-_082E5178:
- ldr r0, [r3]
- ldrb r0, [r0, 0x9]
- cmp r0, 0
- beq _082E51A4
- ldr r0, =rfu_CB_defaultCallback
- bl STWI_set_Callback_M
- bl STWI_send_SC_EndREQ
- bl STWI_poll_CommandEnd
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _082E51A4
- movs r0, 0x1B
- bl rfu_STC_REQ_callback
- b _082E51B0
- .align 2, 0
- .pool
-_082E51A4:
- ldr r0, =rfu_CB_disconnect
- bl STWI_set_Callback_M
- adds r0, r4, 0
- bl STWI_send_DisconnectREQ
-_082E51B0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_REQ_disconnect
-
- thumb_func_start rfu_CB_disconnect
-rfu_CB_disconnect: @ 82E51BC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 16
- lsrs r5, r1, 16
- cmp r5, 0x3
- bne _082E51F8
- ldr r0, =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0
- bne _082E51F8
- ldr r0, =rfu_CB_defaultCallback
- bl STWI_set_Callback_M
- bl STWI_send_SystemStatusREQ
- bl STWI_poll_CommandEnd
- lsls r0, 16
- cmp r0, 0
- bne _082E51F8
- ldr r0, =gRfuFixed
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrb r0, [r0, 0x7]
- cmp r0, 0
- bne _082E51F8
- movs r5, 0
-_082E51F8:
- ldr r3, =gRfuStatic
- ldr r2, [r3]
- ldr r0, =gRfuLinkStatus
- ldr r1, [r0]
- ldrb r0, [r1, 0x2]
- ldrb r1, [r1, 0x3]
- orrs r0, r1
- ldrb r1, [r2, 0x5]
- ands r0, r1
- strb r0, [r2, 0x5]
- ldr r0, =gRfuFixed
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r1, [r0]
- ldr r0, [r3]
- ldrb r0, [r0, 0x5]
- strb r0, [r1, 0x8]
- cmp r5, 0
- bne _082E5246
- movs r4, 0
-_082E5220:
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r4
- lsrs r0, 24
- ldr r1, =gRfuStatic
- ldr r1, [r1]
- ldrb r1, [r1, 0x5]
- ands r0, r1
- cmp r0, 0
- beq _082E523C
- adds r0, r4, 0
- movs r1, 0x1
- bl rfu_STC_removeLinkData
-_082E523C:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _082E5220
-_082E5246:
- ldr r0, =gRfuLinkStatus
- ldr r2, [r0]
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- orrs r0, r1
- cmp r0, 0
- bne _082E5258
- movs r0, 0xFF
- strb r0, [r2]
-_082E5258:
- adds r0, r6, 0
- adds r1, r5, 0
- bl rfu_STC_REQ_callback
- ldr r0, =gRfuStatic
- ldr r0, [r0]
- ldrb r0, [r0, 0x9]
- cmp r0, 0
- beq _082E5286
- ldr r0, =rfu_CB_defaultCallback
- bl STWI_set_Callback_M
- bl STWI_send_SC_StartREQ
- bl STWI_poll_CommandEnd
- adds r5, r0, 0
- cmp r5, 0
- beq _082E5286
- movs r0, 0x19
- adds r1, r5, 0
- bl rfu_STC_REQ_callback
-_082E5286:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_CB_disconnect
-
- thumb_func_start rfu_REQ_CHILD_startConnectRecovery
-rfu_REQ_CHILD_startConnectRecovery: @ 82E529C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gRfuStatic
- ldr r0, [r0]
- strb r5, [r0, 0x5]
- movs r4, 0
- movs r0, 0x1
- ands r0, r5
- ldr r2, =rfu_STC_REQ_callback
- cmp r0, 0
- bne _082E52CA
- movs r1, 0x1
-_082E52B6:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bhi _082E52CA
- adds r0, r5, 0
- asrs r0, r4
- ands r0, r1
- cmp r0, 0
- beq _082E52B6
-_082E52CA:
- adds r0, r2, 0
- bl STWI_set_Callback_M
- ldr r0, =gRfuLinkStatus
- ldr r1, [r0]
- lsls r0, r4, 5
- adds r0, r1, r0
- ldrh r0, [r0, 0x14]
- adds r1, 0x94
- ldrh r1, [r1]
- adds r2, r5, 0
- bl STWI_send_CPR_StartREQ
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_REQ_CHILD_startConnectRecovery
-
- thumb_func_start rfu_REQ_CHILD_pollConnectRecovery
-rfu_REQ_CHILD_pollConnectRecovery: @ 82E52F8
- push {lr}
- ldr r0, =rfu_CB_CHILD_pollConnectRecovery
- bl STWI_set_Callback_M
- bl STWI_send_CPR_PollingREQ
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_REQ_CHILD_pollConnectRecovery
-
- thumb_func_start rfu_CB_CHILD_pollConnectRecovery
-rfu_CB_CHILD_pollConnectRecovery: @ 82E530C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 16
- lsrs r7, r1, 16
- cmp r7, 0
- bne _082E5390
- ldr r0, =gRfuFixed
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _082E5390
- ldr r0, =gRfuStatic
- ldr r1, [r0]
- ldrb r1, [r1, 0x5]
- adds r6, r0, 0
- cmp r1, 0
- beq _082E5390
- ldr r1, =gRfuLinkStatus
- ldr r0, [r1]
- strb r7, [r0]
- movs r4, 0
- adds r5, r1, 0
- mov r12, r4
-_082E5346:
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r4
- lsrs r3, r0, 24
- ldr r2, [r5]
- ldr r0, [r6]
- ldrb r0, [r0, 0x5]
- ands r0, r3
- ldrb r1, [r2, 0x3]
- ands r0, r1
- cmp r0, 0
- beq _082E5380
- ldrb r1, [r2, 0x2]
- adds r0, r3, 0
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldr r1, [r5]
- ldrb r0, [r1, 0x3]
- bics r0, r3
- strb r0, [r1, 0x3]
- ldr r1, [r5]
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- ldr r0, [r6]
- adds r0, 0xA
- adds r0, r4
- mov r1, r12
- strb r1, [r0]
-_082E5380:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _082E5346
- ldr r1, [r6]
- movs r0, 0
- strb r0, [r1, 0x5]
-_082E5390:
- mov r0, r8
- adds r1, r7, 0
- bl rfu_STC_REQ_callback
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_CB_CHILD_pollConnectRecovery
-
- thumb_func_start rfu_CHILD_getConnectRecoveryStatus
-rfu_CHILD_getConnectRecoveryStatus: @ 82E53B0
- push {lr}
- adds r2, r0, 0
- movs r0, 0xFF
- strb r0, [r2]
- ldr r0, =gRfuFixed
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r1, [r0]
- ldrb r0, [r1]
- adds r0, 0x4D
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _082E53D4
- movs r0, 0x10
- b _082E53DA
- .align 2, 0
- .pool
-_082E53D4:
- ldrb r0, [r1, 0x4]
- strb r0, [r2]
- movs r0, 0
-_082E53DA:
- pop {r1}
- bx r1
- thumb_func_end rfu_CHILD_getConnectRecoveryStatus
-
- thumb_func_start rfu_REQ_CHILD_endConnectRecovery
-rfu_REQ_CHILD_endConnectRecovery: @ 82E53E0
- push {lr}
- ldr r0, =rfu_CB_CHILD_pollConnectRecovery
- bl STWI_set_Callback_M
- bl STWI_send_CPR_EndREQ
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_REQ_CHILD_endConnectRecovery
-
- thumb_func_start sub_82E53F4
-sub_82E53F4: @ 82E53F4
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r3, [r5]
- ldr r1, [r6]
- subs r2, 0x1
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _082E5418
- adds r4, r0, 0
- thumb_func_end sub_82E53F4
-
- non_word_aligned_thumb_func_start sub_82E540A
-sub_82E540A: @ 82E540A
- ldrb r0, [r3]
- strb r0, [r1]
- adds r3, 0x1
- adds r1, 0x1
- subs r2, 0x1
- cmp r2, r4
- bne sub_82E540A
-_082E5418:
- str r3, [r5]
- str r1, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_82E540A
-
- thumb_func_start rfu_REQ_changeMasterSlave
-rfu_REQ_changeMasterSlave: @ 82E5424
- push {lr}
- movs r0, 0x1
- bl STWI_read_status
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bne _082E5444
- ldr r0, =rfu_STC_REQ_callback
- bl STWI_set_Callback_M
- bl STWI_send_MS_ChangeREQ
- b _082E544C
- .align 2, 0
- .pool
-_082E5444:
- movs r0, 0x27
- movs r1, 0
- bl rfu_STC_REQ_callback
-_082E544C:
- pop {r0}
- bx r0
- thumb_func_end rfu_REQ_changeMasterSlave
-
- thumb_func_start rfu_getMasterSlave
-rfu_getMasterSlave: @ 82E5450
- push {lr}
- movs r0, 0x1
- bl STWI_read_status
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1
- bne _082E547E
- ldr r0, =gSTWIStatus
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x2C
- ldrb r0, [r0]
- cmp r0, 0
- beq _082E547E
- ldrb r0, [r1, 0x6]
- cmp r0, 0x27
- beq _082E547C
- cmp r0, 0x25
- beq _082E547C
- cmp r0, 0x37
- bne _082E547E
-_082E547C:
- movs r2, 0
-_082E547E:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .align 2, 0
- .pool
- thumb_func_end rfu_getMasterSlave
-
- thumb_func_start rfu_clearAllSlot
-rfu_clearAllSlot: @ 82E5488
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- ldr r1, =0x04000208
- ldrh r0, [r1]
- mov r8, r0
- movs r0, 0
- strh r0, [r1]
- movs r5, 0
- mov r0, sp
- adds r0, 0x2
- movs r7, 0
- adds r6, r0, 0
-_082E54A4:
- mov r0, sp
- strh r7, [r0]
- ldr r0, =gRfuSlotStatusNI
- lsls r4, r5, 2
- adds r0, r4, r0
- ldr r1, [r0]
- mov r0, sp
- ldr r2, =0x01000034
- bl CpuSet
- strh r7, [r6]
- ldr r0, =gRfuSlotStatusUNI
- adds r4, r0
- ldr r1, [r4]
- adds r0, r6, 0
- ldr r2, =0x0100000a
- bl CpuSet
- ldr r3, =gRfuLinkStatus
- ldr r0, [r3]
- adds r0, 0x10
- adds r0, r5
- movs r1, 0x10
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _082E54A4
- ldr r2, [r3]
- movs r1, 0
- movs r0, 0x57
- strb r0, [r2, 0xF]
- ldr r0, [r3]
- strb r1, [r0, 0x4]
- ldr r0, [r3]
- strb r1, [r0, 0x5]
- ldr r0, [r3]
- strb r1, [r0, 0x6]
- ldr r0, =gRfuStatic
- ldr r0, [r0]
- strb r1, [r0, 0x2]
- ldr r0, =0x04000208
- mov r1, r8
- strh r1, [r0]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_clearAllSlot
-
- thumb_func_start rfu_STC_releaseFrame
-rfu_STC_releaseFrame: @ 82E5528
- push {r4-r6,lr}
- adds r4, r2, 0
- lsls r0, 24
- lsrs r2, r0, 24
- adds r5, r2, 0
- lsls r1, 24
- lsrs r3, r1, 24
- ldr r0, =gRfuStatic
- ldr r0, [r0]
- ldrb r1, [r0]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _082E5568
- ldr r6, =gRfuLinkStatus
- cmp r3, 0
- bne _082E5554
- ldr r1, [r6]
- ldrb r0, [r1, 0xF]
- ldrh r4, [r4, 0x2E]
- adds r0, r4
- strb r0, [r1, 0xF]
-_082E5554:
- ldr r1, [r6]
- ldrb r0, [r1, 0xF]
- adds r0, 0x3
- strb r0, [r1, 0xF]
- b _082E5588
- .align 2, 0
- .pool
-_082E5568:
- ldr r6, =gRfuLinkStatus
- cmp r3, 0
- bne _082E557C
- ldr r1, [r6]
- adds r1, 0x10
- adds r1, r2
- ldrb r0, [r1]
- ldrh r4, [r4, 0x2E]
- adds r0, r4
- strb r0, [r1]
-_082E557C:
- ldr r1, [r6]
- adds r1, 0x10
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x2
- strb r0, [r1]
-_082E5588:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_STC_releaseFrame
-
- thumb_func_start rfu_clearSlot
-rfu_clearSlot: @ 82E5594
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r7, r1, 24
- cmp r7, 0x3
- bls _082E55B4
- movs r0, 0x80
- lsls r0, 3
- b _082E572C
-_082E55B4:
- movs r0, 0xF
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- bne _082E55C4
- movs r0, 0xC0
- lsls r0, 3
- b _082E572C
-_082E55C4:
- ldr r1, =0x04000208
- ldrh r0, [r1]
- mov r10, r0
- movs r0, 0
- strh r0, [r1]
- movs r0, 0xC
- mov r2, r8
- ands r0, r2
- cmp r0, 0
- beq _082E568C
- movs r3, 0
- ldr r1, =gRfuSlotStatusNI
- lsls r0, r7, 2
- adds r0, r1
- mov r9, r0
-_082E55E2:
- movs r4, 0
- cmp r3, 0
- bne _082E5614
- movs r0, 0x4
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- beq _082E5634
- mov r2, r9
- ldr r4, [r2]
- ldr r0, =gRfuLinkStatus
- ldr r2, [r0]
- adds r0, r4, 0
- adds r0, 0x2C
- ldrb r1, [r0]
- ldrb r0, [r2, 0x4]
- bics r0, r1
- strb r0, [r2, 0x4]
- b _082E5634
- .align 2, 0
- .pool
-_082E5614:
- movs r0, 0x8
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- beq _082E5634
- mov r2, r9
- ldr r0, [r2]
- adds r4, r0, 0
- adds r4, 0x34
- ldr r0, =gRfuLinkStatus
- ldr r2, [r0]
- movs r1, 0x1
- lsls r1, r7
- ldrb r0, [r2, 0x5]
- bics r0, r1
- strb r0, [r2, 0x5]
-_082E5634:
- adds r6, r3, 0x1
- cmp r4, 0
- beq _082E5684
- ldrh r0, [r4]
- movs r2, 0x80
- lsls r2, 8
- adds r1, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _082E5674
- lsls r1, r3, 24
- lsrs r1, 24
- adds r0, r7, 0
- adds r2, r4, 0
- bl rfu_STC_releaseFrame
- movs r1, 0
- adds r2, r4, 0
- adds r2, 0x2C
- movs r5, 0x1
- movs r3, 0
-_082E565E:
- ldrb r0, [r2]
- asrs r0, r1
- ands r0, r5
- cmp r0, 0
- beq _082E566A
- strh r3, [r4, 0x2]
-_082E566A:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x3
- bls _082E565E
-_082E5674:
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- mov r0, sp
- adds r1, r4, 0
- ldr r2, =0x0100001a
- bl CpuSet
-_082E5684:
- lsls r0, r6, 16
- lsrs r3, r0, 16
- cmp r3, 0x1
- bls _082E55E2
-_082E568C:
- movs r0, 0x1
- mov r4, r8
- ands r0, r4
- cmp r0, 0
- beq _082E5702
- ldr r1, =gRfuSlotStatusUNI
- lsls r0, r7, 2
- adds r0, r1
- ldr r3, [r0]
- ldrh r1, [r3]
- movs r0, 0x80
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _082E56F4
- ldr r0, =gRfuStatic
- ldr r0, [r0]
- ldrb r1, [r0]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _082E56D8
- ldr r2, =gRfuLinkStatus
- ldr r1, [r2]
- ldrb r0, [r1, 0xF]
- adds r0, 0x3
- ldrb r4, [r3, 0x4]
- adds r0, r4
- strb r0, [r1, 0xF]
- b _082E56EA
- .align 2, 0
- .pool
-_082E56D8:
- ldr r2, =gRfuLinkStatus
- ldr r1, [r2]
- adds r1, 0x10
- adds r1, r7
- ldrb r0, [r1]
- adds r0, 0x2
- ldrb r4, [r3, 0x4]
- adds r0, r4
- strb r0, [r1]
-_082E56EA:
- ldr r2, [r2]
- ldrb r1, [r3, 0x3]
- ldrb r0, [r2, 0x6]
- bics r0, r1
- strb r0, [r2, 0x6]
-_082E56F4:
- mov r0, sp
- movs r1, 0
- strh r1, [r0]
- ldr r2, =0x01000006
- adds r1, r3, 0
- bl CpuSet
-_082E5702:
- movs r0, 0x2
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- beq _082E5724
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gRfuSlotStatusUNI
- lsls r0, r7, 2
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0xC
- ldr r2, =0x01000004
- mov r0, sp
- bl CpuSet
-_082E5724:
- ldr r0, =0x04000208
- mov r2, r10
- strh r2, [r0]
- movs r0, 0
-_082E572C:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
- .pool
- thumb_func_end rfu_clearSlot
-
- thumb_func_start rfu_setRecvBuffer
-rfu_setRecvBuffer: @ 82E5750
- push {r4-r6,lr}
- adds r5, r2, 0
- adds r6, r3, 0
- lsls r0, 24
- lsrs r3, r0, 24
- adds r2, r3, 0
- lsls r1, 24
- lsrs r1, 24
- adds r4, r1, 0
- cmp r1, 0x3
- bls _082E576C
- movs r0, 0x80
- lsls r0, 3
- b _082E57A4
-_082E576C:
- movs r0, 0x20
- ands r0, r3
- cmp r0, 0
- beq _082E5788
- ldr r0, =gRfuSlotStatusNI
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- str r5, [r0, 0x68]
- str r6, [r0, 0x6C]
- b _082E57A2
- .align 2, 0
- .pool
-_082E5788:
- movs r0, 0x10
- ands r2, r0
- cmp r2, 0
- bne _082E5796
- movs r0, 0xC0
- lsls r0, 3
- b _082E57A4
-_082E5796:
- ldr r0, =gRfuSlotStatusUNI
- lsls r1, r4, 2
- adds r1, r0
- ldr r0, [r1]
- str r5, [r0, 0x14]
- str r6, [r0, 0x18]
-_082E57A2:
- movs r0, 0
-_082E57A4:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
- .pool
- thumb_func_end rfu_setRecvBuffer
-
- thumb_func_start rfu_NI_setSendData
-rfu_NI_setSendData: @ 82E57B0
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- str r3, [sp]
- movs r0, 0x20
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl rfu_STC_setSendData_org
- lsls r0, 16
- lsrs r0, 16
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end rfu_NI_setSendData
-
- thumb_func_start rfu_UNI_setSendData
-rfu_UNI_setSendData: @ 82E57DC
- push {lr}
- sub sp, 0x4
- adds r3, r1, 0
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r0, =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _082E57FC
- adds r0, r2, 0x3
- b _082E57FE
- .align 2, 0
- .pool
-_082E57FC:
- adds r0, r2, 0x2
-_082E57FE:
- lsls r0, 24
- lsrs r2, r0, 24
- movs r0, 0
- str r0, [sp]
- movs r0, 0x10
- bl rfu_STC_setSendData_org
- lsls r0, 16
- lsrs r0, 16
- add sp, 0x4
- pop {r1}
- bx r1
- thumb_func_end rfu_UNI_setSendData
-
- thumb_func_start rfu_NI_CHILD_setSendGameName
-rfu_NI_CHILD_setSendGameName: @ 82E5818
- push {lr}
- sub sp, 0x4
- adds r2, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 24
- lsrs r2, 24
- movs r1, 0x80
- lsls r1, 17
- lsls r1, r0
- lsrs r1, 24
- ldr r0, =gRfuLinkStatus
- ldr r3, [r0]
- adds r3, 0x98
- movs r0, 0x1A
- str r0, [sp]
- movs r0, 0x40
- bl rfu_STC_setSendData_org
- lsls r0, 16
- lsrs r0, 16
- add sp, 0x4
- pop {r1}
- bx r1
- .align 2, 0
- .pool
- thumb_func_end rfu_NI_CHILD_setSendGameName
-
- thumb_func_start rfu_STC_setSendData_org
-rfu_STC_setSendData_org: @ 82E584C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- str r3, [sp]
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- ldr r0, =gRfuLinkStatus
- ldr r2, [r0]
- ldrb r1, [r2]
- mov r10, r0
- cmp r1, 0xFF
- bne _082E5880
- ldr r0, =0x00000301
- b _082E5A36
- .align 2, 0
- .pool
-_082E5880:
- movs r0, 0xF
- ands r0, r3
- cmp r0, 0
- bne _082E588E
- movs r0, 0x80
- lsls r0, 3
- b _082E5A36
-_082E588E:
- ldrb r0, [r2, 0x2]
- ldrb r1, [r2, 0x3]
- orrs r0, r1
- ands r0, r3
- cmp r0, r3
- beq _082E58A4
- ldr r0, =0x00000401
- b _082E5A36
- .align 2, 0
- .pool
-_082E58A4:
- movs r0, 0x10
- ands r0, r6
- cmp r0, 0
- beq _082E58B0
- ldrb r0, [r2, 0x6]
- b _082E58B2
-_082E58B0:
- ldrb r0, [r2, 0x4]
-_082E58B2:
- ands r0, r3
- cmp r0, 0
- beq _082E58C0
- ldr r0, =0x00000402
- b _082E5A36
- .align 2, 0
- .pool
-_082E58C0:
- movs r2, 0
- movs r0, 0x1
- ands r0, r3
- ldr r4, =llsf_struct
- cmp r0, 0
- bne _082E58E2
- movs r1, 0x1
-_082E58CE:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bhi _082E58E2
- adds r0, r3, 0
- asrs r0, r2
- ands r0, r1
- cmp r0, 0
- beq _082E58CE
-_082E58E2:
- mov r0, r10
- ldr r1, [r0]
- ldrb r0, [r1]
- cmp r0, 0x1
- bne _082E58F4
- adds r1, 0xF
- b _082E58FE
- .align 2, 0
- .pool
-_082E58F4:
- cmp r0, 0
- bne _082E5900
- adds r0, r2, 0
- adds r0, 0x10
- adds r1, r0
-_082E58FE:
- mov r9, r1
-_082E5900:
- mov r1, r10
- ldr r0, [r1]
- ldrb r0, [r0]
- lsls r0, 4
- adds r0, r4
- ldrb r4, [r0]
- mov r0, r9
- ldrb r0, [r0]
- cmp r8, r0
- bhi _082E5918
- cmp r8, r4
- bhi _082E591E
-_082E5918:
- movs r0, 0xA0
- lsls r0, 3
- b _082E5A36
-_082E591E:
- ldr r1, =0x04000208
- ldrh r0, [r1]
- str r0, [sp, 0x4]
- movs r7, 0
- strh r7, [r1]
- movs r0, 0x20
- ands r0, r6
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _082E5938
- cmp r6, 0x40
- bne _082E59F4
-_082E5938:
- ldr r1, =gRfuSlotStatusNI
- lsls r0, r2, 2
- adds r0, r1
- ldr r0, [r0]
- mov r12, r0
- movs r1, 0
- strh r1, [r0, 0x18]
- mov r1, r12
- adds r1, 0x2D
- mov r2, r12
- str r1, [r2, 0x4]
- movs r0, 0x7
- str r0, [r2, 0x14]
- mov r0, r12
- adds r0, 0x2C
- strb r3, [r0]
- strb r3, [r2, 0x1A]
- mov r2, r8
- subs r0, r2, r4
- mov r2, r12
- strh r0, [r2, 0x2E]
- cmp r5, 0
- beq _082E5974
- strb r7, [r1]
- b _082E5978
- .align 2, 0
- .pool
-_082E5974:
- movs r0, 0x1
- strb r0, [r1]
-_082E5978:
- ldr r0, [sp, 0x28]
- mov r1, r12
- str r0, [r1, 0x30]
- ldr r2, [sp]
- str r2, [r1, 0x28]
- movs r1, 0
- mov r0, r12
- strb r1, [r0, 0x1F]
- adds r0, 0x20
- strb r1, [r0]
- mov r4, r12
- adds r4, 0x1B
- movs r6, 0
- mov r2, r12
- adds r2, 0x21
- movs r5, 0x1
-_082E5998:
- adds r0, r4, r1
- strb r6, [r0]
- adds r0, r2, r1
- strb r5, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _082E5998
- movs r2, 0
- movs r5, 0x1
- ldr r4, =gRfuSlotStatusNI
- movs r1, 0
-_082E59B2:
- adds r0, r3, 0
- asrs r0, r2
- ands r0, r5
- cmp r0, 0
- beq _082E59C4
- lsls r0, r2, 2
- adds r0, r4
- ldr r0, [r0]
- strh r1, [r0, 0x2]
-_082E59C4:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _082E59B2
- mov r1, r10
- ldr r2, [r1]
- ldrb r1, [r2, 0x4]
- adds r0, r3, 0
- orrs r0, r1
- strb r0, [r2, 0x4]
- mov r2, r9
- ldrb r0, [r2]
- mov r1, r8
- subs r0, r1
- strb r0, [r2]
- ldr r0, =0x00008021
- mov r2, r12
- strh r0, [r2]
- b _082E5A2C
- .align 2, 0
- .pool
-_082E59F4:
- movs r0, 0x10
- ands r0, r6
- cmp r0, 0
- beq _082E5A2C
- ldr r1, =gRfuSlotStatusUNI
- lsls r0, r2, 2
- adds r0, r1
- ldr r1, [r0]
- strb r3, [r1, 0x3]
- ldr r0, [sp]
- str r0, [r1, 0x8]
- mov r2, r8
- subs r0, r2, r4
- strh r0, [r1, 0x4]
- mov r2, r9
- ldrb r0, [r2]
- mov r2, r8
- subs r0, r2
- mov r2, r9
- strb r0, [r2]
- ldr r0, =0x00008024
- strh r0, [r1]
- mov r0, r10
- ldr r2, [r0]
- ldrb r1, [r2, 0x6]
- adds r0, r3, 0
- orrs r0, r1
- strb r0, [r2, 0x6]
-_082E5A2C:
- ldr r0, =0x04000208
- mov r1, sp
- ldrh r1, [r1, 0x4]
- strh r1, [r0]
- movs r0, 0
-_082E5A36:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
- .pool
- thumb_func_end rfu_STC_setSendData_org
-
- thumb_func_start rfu_changeSendTarget
-rfu_changeSendTarget: @ 82E5A54
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- adds r3, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- cmp r7, 0x3
- bls _082E5A78
- movs r0, 0x80
- lsls r0, 3
- b _082E5BAC
-_082E5A78:
- cmp r0, 0x20
- bne _082E5B18
- ldr r0, =gRfuSlotStatusNI
- mov r12, r0
- lsls r0, r7, 2
- add r0, r12
- ldr r5, [r0]
- ldrh r2, [r5]
- ldr r1, =0x00008020
- adds r0, r1, 0
- ands r0, r2
- cmp r0, r1
- bne _082E5B2E
- ldrb r0, [r5, 0x1A]
- adds r3, r6, 0
- eors r3, r0
- adds r2, r3, 0
- ands r2, r6
- cmp r2, 0
- bne _082E5B66
- cmp r3, 0
- bne _082E5AA6
- b _082E5BAA
-_082E5AA6:
- ldr r1, =0x04000208
- ldrh r0, [r1]
- mov r8, r0
- strh r2, [r1]
- movs r2, 0
- mvns r1, r3
- str r1, [sp]
- lsls r4, r6, 24
- mov r10, r4
- movs r0, 0x1
- mov r9, r0
- movs r1, 0
-_082E5ABE:
- adds r0, r3, 0
- asrs r0, r2
- mov r4, r9
- ands r0, r4
- cmp r0, 0
- beq _082E5AD2
- lsls r0, r2, 2
- add r0, r12
- ldr r0, [r0]
- strh r1, [r0, 0x2]
-_082E5AD2:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _082E5ABE
- ldr r0, =gRfuLinkStatus
- ldr r1, [r0]
- ldrb r0, [r1, 0x4]
- ldr r2, [sp]
- ands r2, r0
- strb r2, [r1, 0x4]
- strb r6, [r5, 0x1A]
- mov r0, r10
- cmp r0, 0
- bne _082E5AFE
- adds r0, r7, 0
- movs r1, 0
- adds r2, r5, 0
- bl rfu_STC_releaseFrame
- movs r0, 0x27
- strh r0, [r5]
-_082E5AFE:
- ldr r0, =0x04000208
- mov r1, r8
- strh r1, [r0]
- b _082E5BAA
- .align 2, 0
- .pool
-_082E5B18:
- cmp r3, 0x10
- bne _082E5BA4
- ldr r3, =gRfuSlotStatusUNI
- lsls r1, r7, 2
- adds r0, r1, r3
- ldr r0, [r0]
- ldrh r2, [r0]
- ldr r0, =0x00008024
- adds r5, r3, 0
- cmp r2, r0
- beq _082E5B40
-_082E5B2E:
- ldr r0, =0x00000403
- b _082E5BAC
- .align 2, 0
- .pool
-_082E5B40:
- movs r3, 0
- movs r2, 0
- adds r4, r5, 0
-_082E5B46:
- cmp r2, r7
- beq _082E5B54
- lsls r0, r2, 2
- adds r0, r4
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- orrs r3, r0
-_082E5B54:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _082E5B46
- adds r2, r6, 0
- ands r2, r3
- cmp r2, 0
- beq _082E5B70
-_082E5B66:
- ldr r0, =0x00000404
- b _082E5BAC
- .align 2, 0
- .pool
-_082E5B70:
- ldr r3, =0x04000208
- ldrh r0, [r3]
- mov r8, r0
- strh r2, [r3]
- ldr r4, =gRfuLinkStatus
- ldr r2, [r4]
- adds r5, r1, r5
- ldr r0, [r5]
- ldrb r1, [r0, 0x3]
- ldrb r0, [r2, 0x6]
- bics r0, r1
- strb r0, [r2, 0x6]
- ldr r2, [r4]
- ldrb r1, [r2, 0x6]
- adds r0, r6, 0
- orrs r0, r1
- strb r0, [r2, 0x6]
- ldr r0, [r5]
- strb r6, [r0, 0x3]
- mov r2, r8
- strh r2, [r3]
- b _082E5BAA
- .align 2, 0
- .pool
-_082E5BA4:
- movs r0, 0xC0
- lsls r0, 3
- b _082E5BAC
-_082E5BAA:
- movs r0, 0
-_082E5BAC:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end rfu_changeSendTarget
-
- thumb_func_start rfu_NI_stopReceivingData
-rfu_NI_stopReceivingData: @ 82E5BBC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _082E5BCC
- movs r0, 0x80
- lsls r0, 3
- b _082E5C26
-_082E5BCC:
- ldr r1, =gRfuSlotStatusNI
- lsls r0, r3, 2
- adds r0, r1
- ldr r2, [r0]
- adds r5, r2, 0
- adds r5, 0x34
- ldr r1, =0x04000208
- ldrh r0, [r1]
- adds r4, r0, 0
- movs r0, 0
- strh r0, [r1]
- ldrh r1, [r2, 0x34]
- movs r0, 0x80
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _082E5C20
- ldr r0, =0x00008043
- cmp r1, r0
- bne _082E5C04
- movs r0, 0x48
- b _082E5C06
- .align 2, 0
- .pool
-_082E5C04:
- movs r0, 0x47
-_082E5C06:
- strh r0, [r2, 0x34]
- ldr r0, =gRfuLinkStatus
- ldr r2, [r0]
- movs r1, 0x1
- lsls r1, r3
- ldrb r0, [r2, 0x5]
- bics r0, r1
- strb r0, [r2, 0x5]
- adds r0, r3, 0
- movs r1, 0x1
- adds r2, r5, 0
- bl rfu_STC_releaseFrame
-_082E5C20:
- ldr r0, =0x04000208
- strh r4, [r0]
- movs r0, 0
-_082E5C26:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
- .pool
- thumb_func_end rfu_NI_stopReceivingData
-
- thumb_func_start rfu_UNI_changeAndReadySendData
-rfu_UNI_changeAndReadySendData: @ 82E5C34
- push {r4-r7,lr}
- adds r7, r1, 0
- lsls r0, 24
- lsrs r0, 24
- adds r3, r0, 0
- lsls r2, 24
- lsrs r5, r2, 24
- cmp r0, 0x3
- bls _082E5C4C
- movs r0, 0x80
- lsls r0, 3
- b _082E5CC0
-_082E5C4C:
- ldr r1, =gRfuSlotStatusUNI
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- ldrh r1, [r4]
- ldr r0, =0x00008024
- cmp r1, r0
- beq _082E5C6C
- ldr r0, =0x00000403
- b _082E5CC0
- .align 2, 0
- .pool
-_082E5C6C:
- ldr r0, =gRfuLinkStatus
- ldr r1, [r0]
- ldrb r0, [r1]
- cmp r0, 0x1
- bne _082E5C84
- adds r6, r1, 0
- adds r6, 0xF
- ldrb r0, [r4, 0x4]
- ldrb r1, [r1, 0xF]
- b _082E5C92
- .align 2, 0
- .pool
-_082E5C84:
- adds r0, r3, 0
- adds r0, 0x10
- adds r6, r1, r0
- adds r1, 0x10
- adds r1, r3
- ldrb r0, [r4, 0x4]
- ldrb r1, [r1]
-_082E5C92:
- adds r0, r1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r5
- bcc _082E5CBC
- ldr r2, =0x04000208
- ldrh r1, [r2]
- movs r0, 0
- strh r0, [r2]
- str r7, [r4, 0x8]
- subs r0, r3, r5
- strb r0, [r6]
- strh r5, [r4, 0x4]
- movs r0, 0x1
- strb r0, [r4, 0x2]
- strh r1, [r2]
- movs r0, 0
- b _082E5CC0
- .align 2, 0
- .pool
-_082E5CBC:
- movs r0, 0xA0
- lsls r0, 3
-_082E5CC0:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end rfu_UNI_changeAndReadySendData
-
- thumb_func_start rfu_UNI_readySendData
-rfu_UNI_readySendData: @ 82E5CC8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bhi _082E5CE6
- ldr r1, =gRfuSlotStatusUNI
- lsls r0, 2
- adds r0, r1
- ldr r2, [r0]
- ldrh r1, [r2]
- ldr r0, =0x00008024
- cmp r1, r0
- bne _082E5CE6
- movs r0, 0x1
- strb r0, [r2, 0x2]
-_082E5CE6:
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_UNI_readySendData
-
- thumb_func_start rfu_UNI_clearRecvNewDataFlag
-rfu_UNI_clearRecvNewDataFlag: @ 82E5CF4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bhi _082E5D0A
- ldr r1, =gRfuSlotStatusUNI
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x12]
-_082E5D0A:
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_UNI_clearRecvNewDataFlag
-
- thumb_func_start rfu_REQ_sendData
-rfu_REQ_sendData: @ 82E5D14
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =gRfuLinkStatus
- ldr r2, [r0]
- ldrb r1, [r2]
- adds r4, r0, 0
- cmp r1, 0xFF
- bne _082E5D28
- b _082E5E4E
-_082E5D28:
- cmp r1, 0x1
- bne _082E5DB8
- ldrb r0, [r2, 0x4]
- ldrb r1, [r2, 0x5]
- adds r3, r0, 0
- orrs r3, r1
- ldrb r0, [r2, 0x6]
- orrs r3, r0
- cmp r3, 0
- bne _082E5DB8
- ldr r0, =gRfuStatic
- ldr r2, [r0]
- ldrb r1, [r2, 0x3]
- adds r4, r0, 0
- cmp r1, 0
- beq _082E5D50
- movs r0, 0x10
- strb r0, [r2, 0x8]
- ldr r0, [r4]
- strb r3, [r0, 0x7]
-_082E5D50:
- ldr r1, [r4]
- ldrb r0, [r1, 0x8]
- cmp r0, 0
- beq _082E5D68
- subs r0, 0x1
- strb r0, [r1, 0x8]
- b _082E5D6E
- .align 2, 0
- .pool
-_082E5D68:
- ldrb r0, [r1, 0x7]
- adds r0, 0x1
- strb r0, [r1, 0x7]
-_082E5D6E:
- ldr r1, [r4]
- ldrb r0, [r1, 0x8]
- cmp r0, 0
- bne _082E5D80
- ldrb r1, [r1, 0x7]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- bne _082E5E12
-_082E5D80:
- ldr r4, =gRfuFixed
- ldr r1, [r4]
- movs r0, 0x1
- str r0, [r1, 0x68]
- movs r0, 0xFF
- str r0, [r1, 0x78]
- ldr r0, =sub_82E5F00
- bl STWI_set_Callback_M
- cmp r5, 0
- bne _082E5DAC
- ldr r0, [r4]
- adds r0, 0x68
- movs r1, 0x1
- bl STWI_send_DataTxREQ
- b _082E5E4E
- .align 2, 0
- .pool
-_082E5DAC:
- ldr r0, [r4]
- adds r0, 0x68
- movs r1, 0x1
- bl STWI_send_DataTxAndChangeREQ
- b _082E5E4E
-_082E5DB8:
- ldr r0, [r4]
- ldrb r0, [r0, 0xE]
- cmp r0, 0
- bne _082E5DC4
- bl rfu_constructSendLLFrame
-_082E5DC4:
- ldr r0, [r4]
- ldrb r0, [r0, 0xE]
- cmp r0, 0
- beq _082E5E12
- ldr r0, =rfu_CB_sendData
- bl STWI_set_Callback_M
- cmp r5, 0
- beq _082E5DFC
- ldr r0, =gRfuFixed
- ldr r0, [r0]
- adds r0, 0x68
- ldr r1, =gRfuStatic
- ldr r1, [r1]
- ldr r1, [r1, 0x24]
- adds r1, 0x4
- lsls r1, 24
- lsrs r1, 24
- bl STWI_send_DataTxAndChangeREQ
- b _082E5E4E
- .align 2, 0
- .pool
-_082E5DFC:
- ldr r0, =gRfuFixed
- ldr r0, [r0]
- adds r0, 0x68
- ldr r1, =gRfuStatic
- ldr r1, [r1]
- ldr r1, [r1, 0x24]
- adds r1, 0x4
- lsls r1, 24
- lsrs r1, 24
- bl STWI_send_DataTxREQ
-_082E5E12:
- cmp r5, 0
- beq _082E5E4E
- ldr r0, =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _082E5E44
- ldr r0, =gSTWIStatus
- ldr r0, [r0]
- ldr r1, [r0, 0x1C]
- cmp r1, 0
- beq _082E5E4E
- movs r0, 0x27
- bl _call_via_r1
- b _082E5E4E
- .align 2, 0
- .pool
-_082E5E44:
- ldr r0, =rfu_CB_sendData2
- bl STWI_set_Callback_M
- bl STWI_send_MS_ChangeREQ
-_082E5E4E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_REQ_sendData
-
- thumb_func_start rfu_CB_sendData
-rfu_CB_sendData: @ 82E5E58
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r1, 16
- lsrs r7, r1, 16
- cmp r7, 0
- bne _082E5EC2
- movs r6, 0
- ldr r0, =0x00008020
- mov r8, r0
-_082E5E6C:
- ldr r0, =gRfuSlotStatusUNI
- lsls r2, r6, 2
- adds r0, r2, r0
- ldr r1, [r0]
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- beq _082E5E7E
- movs r0, 0
- strb r0, [r1, 0x2]
-_082E5E7E:
- ldr r0, =gRfuSlotStatusNI
- adds r0, r2, r0
- ldr r4, [r0]
- ldrh r0, [r4]
- cmp r0, r8
- bne _082E5EB8
- adds r0, r6, 0
- movs r1, 0
- adds r2, r4, 0
- bl rfu_STC_releaseFrame
- ldr r5, =gRfuLinkStatus
- ldr r2, [r5]
- ldrb r1, [r4, 0x1A]
- ldrb r0, [r2, 0x4]
- bics r0, r1
- strb r0, [r2, 0x4]
- adds r0, r4, 0
- adds r0, 0x2D
- ldrb r3, [r0]
- cmp r3, 0x1
- bne _082E5EB4
- ldr r1, [r5]
- lsls r3, r6
- ldrb r0, [r1, 0x7]
- orrs r3, r0
- strb r3, [r1, 0x7]
-_082E5EB4:
- movs r0, 0x26
- strh r0, [r4]
-_082E5EB8:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _082E5E6C
-_082E5EC2:
- ldr r0, =gRfuLinkStatus
- ldr r1, [r0]
- ldrb r0, [r1, 0xE]
- movs r0, 0
- strb r0, [r1, 0xE]
- movs r0, 0x24
- adds r1, r7, 0
- bl rfu_STC_REQ_callback
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_CB_sendData
-
- thumb_func_start rfu_CB_sendData2
-rfu_CB_sendData2: @ 82E5EF0
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x24
- bl rfu_STC_REQ_callback
- pop {r0}
- bx r0
- thumb_func_end rfu_CB_sendData2
-
- thumb_func_start sub_82E5F00
-sub_82E5F00: @ 82E5F00
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0
- beq _082E5F16
- movs r0, 0x24
- bl rfu_STC_REQ_callback
- b _082E5F22
-_082E5F16:
- cmp r0, 0xFF
- bne _082E5F22
- movs r0, 0xFF
- movs r1, 0
- bl rfu_STC_REQ_callback
-_082E5F22:
- pop {r0}
- bx r0
- thumb_func_end sub_82E5F00
-
- thumb_func_start rfu_constructSendLLFrame
-rfu_constructSendLLFrame: @ 82E5F28
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r0, =gRfuLinkStatus
- ldr r2, [r0]
- ldrb r0, [r2]
- cmp r0, 0xFF
- bne _082E5F40
- b _082E6044
-_082E5F40:
- ldrb r0, [r2, 0x4]
- ldrb r1, [r2, 0x5]
- orrs r0, r1
- ldrb r1, [r2, 0x6]
- orrs r0, r1
- cmp r0, 0
- beq _082E6044
- ldrb r0, [r2, 0xE]
- movs r0, 0
- strb r0, [r2, 0xE]
- mov r8, r0
- ldr r0, =gRfuFixed
- ldr r0, [r0]
- adds r0, 0x6C
- str r0, [sp]
- movs r6, 0
- movs r0, 0x80
- lsls r0, 8
- mov r9, r0
- ldr r1, =0x00008024
- mov r10, r1
-_082E5F6A:
- movs r5, 0
- ldr r0, =gRfuSlotStatusNI
- lsls r7, r6, 2
- adds r4, r7, r0
- ldr r2, [r4]
- ldrh r1, [r2]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- beq _082E5F8A
- adds r0, r6, 0
- mov r1, sp
- bl rfu_STC_NI_constructLLSF
- lsls r0, 16
- lsrs r5, r0, 16
-_082E5F8A:
- ldr r2, [r4]
- ldrh r1, [r2, 0x34]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- beq _082E5FA6
- adds r2, 0x34
- adds r0, r6, 0
- mov r1, sp
- bl rfu_STC_NI_constructLLSF
- lsls r0, 16
- lsrs r0, 16
- adds r5, r0
-_082E5FA6:
- ldr r0, =gRfuSlotStatusUNI
- adds r0, r7, r0
- ldr r0, [r0]
- ldrh r0, [r0]
- cmp r0, r10
- bne _082E5FC0
- adds r0, r6, 0
- mov r1, sp
- bl rfu_STC_UNI_constructLLSF
- lsls r0, 16
- lsrs r0, 16
- adds r5, r0
-_082E5FC0:
- cmp r5, 0
- beq _082E5FF4
- ldr r0, =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _082E5FE8
- add r8, r5
- b _082E5FF4
- .align 2, 0
- .pool
-_082E5FE8:
- adds r0, r7, r6
- adds r0, 0x8
- lsls r5, r0
- mov r2, r8
- orrs r2, r5
- mov r8, r2
-_082E5FF4:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _082E5F6A
- ldr r6, =gRfuStatic
- mov r0, r8
- cmp r0, 0
- beq _082E603E
- ldr r2, [sp]
- movs r0, 0x3
- ands r0, r2
- ldr r5, =gRfuLinkStatus
- ldr r1, =gRfuFixed
- cmp r0, 0
- beq _082E6026
- movs r4, 0
- movs r3, 0x3
-_082E6018:
- strb r4, [r2]
- adds r0, r2, 0x1
- str r0, [sp]
- adds r2, r0, 0
- ands r0, r3
- cmp r0, 0
- bne _082E6018
-_082E6026:
- ldr r0, [r1]
- mov r2, r8
- str r2, [r0, 0x68]
- ldr r0, [r5]
- ldrb r0, [r0]
- cmp r0, 0
- bne _082E603E
- ldr r0, [sp]
- subs r0, 0x6C
- ldr r1, [r1]
- subs r0, r1
- mov r8, r0
-_082E603E:
- ldr r0, [r6]
- mov r1, r8
- str r1, [r0, 0x24]
-_082E6044:
- 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
- .pool
- thumb_func_end rfu_constructSendLLFrame
-
- thumb_func_start rfu_STC_NI_constructLLSF
-rfu_STC_NI_constructLLSF: @ 82E6060
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r12, r1
- adds r4, r2, 0
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r2, =gRfuLinkStatus
- ldr r0, [r2]
- ldrb r0, [r0]
- lsls r0, 4
- ldr r1, =llsf_struct
- adds r0, r1
- mov r8, r0
- ldrh r1, [r4]
- ldr r0, =0x00008022
- cmp r1, r0
- bne _082E60CA
- adds r3, r4, 0
- adds r3, 0x20
- ldrb r1, [r3]
- lsls r1, 2
- adds r5, r4, 0x4
- adds r1, r5, r1
- ldr r2, [r4, 0x28]
- ldr r0, [r4, 0x30]
- adds r2, r0
- ldr r0, [r1]
- adds r6, r3, 0
- cmp r0, r2
- bcc _082E60CA
- movs r7, 0
-_082E60A8:
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _082E60B8
- strb r7, [r6]
-_082E60B8:
- ldrb r1, [r3]
- lsls r1, 2
- adds r1, r5, r1
- ldr r2, [r4, 0x28]
- ldr r0, [r4, 0x30]
- adds r2, r0
- ldr r0, [r1]
- cmp r0, r2
- bcs _082E60A8
-_082E60CA:
- ldrh r1, [r4]
- movs r0, 0x40
- ands r0, r1
- mov r9, r1
- cmp r0, 0
- beq _082E60E8
- movs r5, 0
- b _082E612C
- .align 2, 0
- .pool
-_082E60E8:
- ldr r0, =0x00008022
- cmp r9, r0
- bne _082E611C
- adds r3, r4, 0
- adds r3, 0x20
- ldrb r0, [r3]
- lsls r0, 2
- adds r1, r4, 0x4
- adds r1, r0
- ldrh r7, [r4, 0x2E]
- ldr r5, [r1]
- adds r2, r5, r7
- ldr r1, [r4, 0x28]
- ldr r0, [r4, 0x30]
- adds r0, r1, r0
- adds r6, r3, 0
- cmp r2, r0
- bls _082E6118
- subs r0, r5
- lsls r0, 16
- lsrs r5, r0, 16
- b _082E6130
- .align 2, 0
- .pool
-_082E6118:
- adds r5, r7, 0
- b _082E6130
-_082E611C:
- ldrh r2, [r4, 0x2E]
- ldr r0, [r4, 0x14]
- cmp r0, r2
- bcc _082E6128
- adds r5, r2, 0
- b _082E612C
-_082E6128:
- lsls r0, 16
- lsrs r5, r0, 16
-_082E612C:
- adds r6, r4, 0
- adds r6, 0x20
-_082E6130:
- movs r3, 0xF
- mov r0, r9
- ands r3, r0
- mov r1, r8
- ldrb r1, [r1, 0x3]
- lsls r3, r1
- ldrb r0, [r4, 0x1F]
- mov r2, r8
- ldrb r2, [r2, 0x4]
- lsls r0, r2
- orrs r3, r0
- ldrb r1, [r6]
- adds r0, r1, 0
- mov r7, r8
- ldrb r7, [r7, 0x5]
- lsls r0, r7
- orrs r3, r0
- adds r0, r4, 0
- adds r0, 0x21
- adds r0, r1
- ldrb r0, [r0]
- mov r1, r8
- ldrb r1, [r1, 0x6]
- lsls r0, r1
- orrs r3, r0
- orrs r3, r5
- str r3, [sp]
- ldr r2, =gRfuLinkStatus
- ldr r0, [r2]
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _082E6178
- ldrb r0, [r4, 0x1A]
- lsls r0, 18
- orrs r3, r0
- str r3, [sp]
-_082E6178:
- mov r2, sp
- movs r3, 0
- mov r7, r8
- ldrb r7, [r7]
- cmp r3, r7
- bcs _082E61A2
-_082E6184:
- mov r0, r12
- ldr r1, [r0]
- ldrb r0, [r2]
- strb r0, [r1]
- adds r2, 0x1
- adds r1, 0x1
- mov r7, r12
- str r1, [r7]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- mov r0, r8
- ldrb r0, [r0]
- cmp r3, r0
- bcc _082E6184
-_082E61A2:
- cmp r5, 0
- beq _082E61C2
- ldrb r1, [r6]
- lsls r1, 2
- adds r0, r4, 0x4
- adds r0, r1
- ldr r0, [r0]
- str r0, [sp, 0x4]
- ldr r0, =gRfuFixed
- ldr r1, [r0]
- add r0, sp, 0x4
- ldr r3, [r1, 0x4]
- mov r1, r12
- adds r2, r5, 0
- bl _call_via_r3
-_082E61C2:
- ldrh r1, [r4]
- ldr r0, =0x00008022
- cmp r1, r0
- bne _082E61DC
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _082E61DC
- movs r0, 0
- strb r0, [r6]
-_082E61DC:
- ldr r0, =gRfuLinkStatus
- ldr r2, [r0]
- ldrb r1, [r2]
- cmp r1, 0x1
- bne _082E61F8
- ldrb r0, [r2, 0xE]
- strb r1, [r2, 0xE]
- b _082E6206
- .align 2, 0
- .pool
-_082E61F8:
- movs r0, 0x1
- mov r1, r10
- lsls r0, r1
- ldrb r1, [r2, 0xE]
- orrs r0, r1
- ldrb r1, [r2, 0xE]
- strb r0, [r2, 0xE]
-_082E6206:
- mov r2, r8
- ldrb r0, [r2]
- adds r0, r5, r0
- lsls r0, 16
- lsrs r0, 16
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end rfu_STC_NI_constructLLSF
-
- thumb_func_start rfu_STC_UNI_constructLLSF
-rfu_STC_UNI_constructLLSF: @ 82E6220
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r6, r1, 0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, =gRfuSlotStatusUNI
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- ldrb r0, [r4, 0x2]
- cmp r0, 0
- beq _082E6244
- ldrb r0, [r4, 0x3]
- cmp r0, 0
- bne _082E624C
-_082E6244:
- movs r0, 0
- b _082E62E8
- .align 2, 0
- .pool
-_082E624C:
- ldr r0, =gRfuLinkStatus
- ldr r2, [r0]
- ldrb r0, [r2]
- lsls r0, 4
- ldr r1, =llsf_struct
- adds r5, r0, r1
- ldrh r0, [r4]
- movs r1, 0xF
- ands r1, r0
- ldrb r0, [r5, 0x3]
- lsls r1, r0
- ldrh r0, [r4, 0x4]
- orrs r1, r0
- str r1, [sp]
- ldrb r0, [r2]
- cmp r0, 0x1
- bne _082E6276
- ldrb r0, [r4, 0x3]
- lsls r0, 18
- orrs r1, r0
- str r1, [sp]
-_082E6276:
- mov r2, sp
- movs r3, 0
- ldr r1, =gRfuFixed
- mov r12, r1
- add r7, sp, 0x4
- ldrb r0, [r5]
- cmp r3, r0
- bcs _082E629E
-_082E6286:
- ldr r1, [r6]
- ldrb r0, [r2]
- strb r0, [r1]
- adds r2, 0x1
- adds r1, 0x1
- str r1, [r6]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- ldrb r1, [r5]
- cmp r3, r1
- bcc _082E6286
-_082E629E:
- ldr r0, [r4, 0x8]
- str r0, [sp, 0x4]
- mov r2, r12
- ldr r0, [r2]
- ldrh r2, [r4, 0x4]
- ldr r3, [r0, 0x4]
- adds r0, r7, 0
- adds r1, r6, 0
- bl _call_via_r3
- ldr r0, =gRfuLinkStatus
- ldr r2, [r0]
- ldrb r0, [r2]
- cmp r0, 0x1
- bne _082E62D0
- ldrb r0, [r2, 0xE]
- movs r0, 0x10
- b _082E62DC
- .align 2, 0
- .pool
-_082E62D0:
- movs r0, 0x10
- mov r1, r8
- lsls r0, r1
- ldrb r1, [r2, 0xE]
- orrs r0, r1
- ldrb r1, [r2, 0xE]
-_082E62DC:
- strb r0, [r2, 0xE]
- ldrh r0, [r4, 0x4]
- ldrb r5, [r5]
- adds r0, r5
- lsls r0, 16
- lsrs r0, 16
-_082E62E8:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end rfu_STC_UNI_constructLLSF
-
- thumb_func_start rfu_REQ_recvData
-rfu_REQ_recvData: @ 82E62F4
- push {r4,lr}
- ldr r0, =gRfuLinkStatus
- ldr r4, [r0]
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _082E6320
- ldr r2, =gRfuStatic
- ldr r3, [r2]
- ldrb r0, [r4, 0x4]
- ldrb r1, [r4, 0x5]
- orrs r0, r1
- ldrb r1, [r4, 0x6]
- orrs r0, r1
- movs r1, 0
- strb r0, [r3, 0x3]
- ldr r0, [r2]
- strb r1, [r0, 0x4]
- ldr r0, =rfu_CB_recvData
- bl STWI_set_Callback_M
- bl STWI_send_DataRxREQ
-_082E6320:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_REQ_recvData
-
- thumb_func_start rfu_CB_recvData
-rfu_CB_recvData: @ 82E6334
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 16
- lsrs r7, r1, 16
- cmp r7, 0
- bne _082E63F8
- ldr r0, =gRfuFixed
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _082E63F8
- ldr r0, =gRfuStatic
- ldr r0, [r0]
- strb r7, [r0, 0x1]
- ldr r0, =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _082E637C
- bl rfu_STC_PARENT_analyzeRecvPacket
- b _082E6380
- .align 2, 0
- .pool
-_082E637C:
- bl rfu_STC_CHILD_analyzeRecvPacket
-_082E6380:
- movs r6, 0
- ldr r0, =0x00008043
- mov r8, r0
- ldr r3, =gRfuLinkStatus
-_082E6388:
- ldr r0, =gRfuSlotStatusNI
- lsls r1, r6, 2
- adds r1, r0
- ldr r4, [r1]
- ldrh r0, [r4, 0x34]
- cmp r0, r8
- bne _082E63DA
- ldr r0, =gRfuStatic
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- asrs r0, r6
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _082E63DA
- adds r5, r4, 0
- adds r5, 0x34
- adds r0, r4, 0
- adds r0, 0x61
- ldrb r2, [r0]
- cmp r2, 0x1
- bne _082E63BE
- ldr r1, [r3]
- lsls r2, r6
- ldrb r0, [r1, 0x7]
- orrs r2, r0
- strb r2, [r1, 0x7]
-_082E63BE:
- adds r0, r6, 0
- movs r1, 0x1
- adds r2, r5, 0
- str r3, [sp]
- bl rfu_STC_releaseFrame
- ldr r3, [sp]
- ldr r2, [r3]
- ldrb r1, [r5, 0x1A]
- ldrb r0, [r2, 0x5]
- bics r0, r1
- strb r0, [r2, 0x5]
- movs r0, 0x46
- strh r0, [r4, 0x34]
-_082E63DA:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _082E6388
- ldr r0, =gRfuStatic
- ldr r1, [r0]
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- beq _082E63F8
- adds r7, r0, 0
- movs r1, 0xE0
- lsls r1, 3
- adds r0, r1, 0
- orrs r7, r0
-_082E63F8:
- mov r0, r9
- adds r1, r7, 0
- bl rfu_STC_REQ_callback
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_CB_recvData
-
- thumb_func_start rfu_STC_PARENT_analyzeRecvPacket
-rfu_STC_PARENT_analyzeRecvPacket: @ 82E6420
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r1, =gRfuFixed
- ldr r0, [r1]
- adds r0, 0xDC
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- lsrs r3, r0, 8
- movs r5, 0
- mov r12, r1
- movs r7, 0x1F
- ldr r4, =gRfuStatic
- movs r6, 0x1
-_082E643A:
- mov r0, sp
- adds r1, r0, r5
- adds r0, r3, 0
- ands r0, r7
- strb r0, [r1]
- lsrs r3, 5
- cmp r0, 0
- bne _082E6456
- ldr r0, [r4]
- adds r1, r6, 0
- lsls r1, r5
- ldrb r2, [r0, 0x1]
- orrs r1, r2
- strb r1, [r0, 0x1]
-_082E6456:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _082E643A
- mov r1, r12
- ldr r0, [r1]
- adds r0, 0xDC
- ldr r0, [r0]
- adds r6, r0, 0
- adds r6, 0x8
- movs r5, 0
-_082E646E:
- mov r0, sp
- adds r1, r0, r5
- ldrb r0, [r1]
- adds r7, r5, 0x1
- cmp r0, 0
- beq _082E64A0
- adds r4, r1, 0
-_082E647C:
- ldrb r2, [r4]
- adds r0, r5, 0
- adds r1, r6, 0
- bl rfu_STC_analyzeLLSF
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0
- ldrb r1, [r4]
- subs r1, r0
- strb r1, [r4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _082E64A0
- lsls r0, r1, 24
- cmp r0, 0
- bne _082E647C
-_082E64A0:
- lsls r0, r7, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _082E646E
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_STC_PARENT_analyzeRecvPacket
-
- thumb_func_start rfu_STC_CHILD_analyzeRecvPacket
-rfu_STC_CHILD_analyzeRecvPacket: @ 82E64B8
- push {r4-r6,lr}
- ldr r0, =gRfuFixed
- ldr r0, [r0]
- adds r0, 0xDC
- ldr r1, [r0]
- ldrh r0, [r1, 0x4]
- movs r4, 0x7F
- ands r4, r0
- adds r5, r1, 0
- adds r5, 0x8
- cmp r4, 0
- bne _082E64D8
- ldr r0, =gRfuStatic
- ldr r1, [r0]
- movs r0, 0xF
- strb r0, [r1, 0x1]
-_082E64D8:
- movs r0, 0x80
- lsls r0, 8
- adds r6, r0, 0
-_082E64DE:
- cmp r4, 0
- beq _082E6500
- movs r0, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl rfu_STC_analyzeLLSF
- lsls r0, 16
- lsrs r0, 16
- adds r5, r0
- subs r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- ands r0, r6
- cmp r0, 0
- beq _082E64DE
-_082E6500:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_STC_CHILD_analyzeRecvPacket
-
- thumb_func_start rfu_STC_analyzeLLSF
-rfu_STC_analyzeLLSF: @ 82E6510
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r7, r1, 0
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- lsls r2, 16
- lsrs r3, r2, 16
- ldr r2, =gRfuLinkStatus
- ldr r0, [r2]
- ldrb r0, [r0]
- mvns r0, r0
- movs r1, 0x1
- ands r0, r1
- lsls r0, 4
- ldr r1, =llsf_struct
- adds r6, r0, r1
- ldrb r0, [r6]
- cmp r3, r0
- bcs _082E654C
- adds r0, r3, 0
- b _082E673E
- .align 2, 0
- .pool
-_082E654C:
- movs r5, 0
- movs r4, 0
- ldrb r3, [r6, 0x1]
- ldrb r1, [r6, 0x7]
- mov r8, r1
- ldr r2, [sp]
- mov r9, r2
- cmp r4, r0
- bcs _082E6574
- adds r2, r0, 0
-_082E6560:
- ldrb r0, [r7]
- lsls r1, r4, 3
- lsls r0, r1
- orrs r5, r0
- adds r7, 0x1
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r2
- bcc _082E6560
-_082E6574:
- adds r0, r5, 0
- lsrs r0, r3
- mov r3, r8
- ands r0, r3
- ldr r1, =0xffffff00
- mov r10, r1
- mov r3, r10
- mov r2, r9
- ands r3, r2
- orrs r3, r0
- str r3, [sp]
- adds r0, r5, 0
- ldrb r1, [r6, 0x2]
- lsrs r0, r1
- ldrb r1, [r6, 0x8]
- ands r0, r1
- lsls r0, 8
- ldr r4, =0xffff00ff
- adds r2, r4, 0
- ands r2, r3
- orrs r2, r0
- str r2, [sp]
- adds r0, r5, 0
- ldrb r3, [r6, 0x3]
- lsrs r0, r3
- ldrb r1, [r6, 0x9]
- ands r0, r1
- lsls r0, 16
- ldr r3, =0xff00ffff
- ands r3, r2
- orrs r3, r0
- str r3, [sp]
- adds r0, r5, 0
- ldrb r1, [r6, 0x4]
- lsrs r0, r1
- ldrb r1, [r6, 0xA]
- ands r0, r1
- lsls r0, 24
- ldr r2, =0x00ffffff
- mov r8, r2
- mov r1, r8
- ands r1, r3
- orrs r1, r0
- mov r8, r1
- str r1, [sp]
- adds r1, r5, 0
- ldrb r2, [r6, 0x5]
- lsrs r1, r2
- ldrb r0, [r6, 0xB]
- ands r1, r0
- mov r9, sp
- ldr r2, [sp, 0x4]
- mov r3, r10
- ands r2, r3
- orrs r2, r1
- str r2, [sp, 0x4]
- adds r0, r5, 0
- ldrb r1, [r6, 0x6]
- lsrs r0, r1
- ldrb r1, [r6, 0xC]
- ands r0, r1
- lsls r0, 8
- ands r4, r2
- orrs r4, r0
- str r4, [sp, 0x4]
- ldrh r0, [r6, 0xE]
- ands r5, r0
- lsls r1, r5, 16
- ldr r0, =0x0000ffff
- ands r0, r4
- orrs r0, r1
- str r0, [sp, 0x4]
- lsrs r0, 16
- ldrb r6, [r6]
- adds r0, r6
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0
- beq _082E661A
- b _082E673C
-_082E661A:
- ldr r2, =gRfuLinkStatus
- ldr r3, [r2]
- ldrb r2, [r3]
- cmp r2, 0x1
- bne _082E66D8
- ldrb r0, [r3, 0x2]
- mov r5, r12
- asrs r0, r5
- ands r0, r2
- cmp r0, 0
- bne _082E6632
- b _082E673C
-_082E6632:
- mov r1, r8
- lsrs r0, r1, 16
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _082E6664
- mov r0, r12
- mov r1, sp
- adds r2, r7, 0
- bl rfu_STC_UNI_receive
- b _082E673C
- .align 2, 0
- .pool
-_082E6664:
- mov r5, r9
- ldrb r0, [r5, 0x3]
- cmp r0, 0
- bne _082E6678
- mov r0, r12
- mov r1, sp
- adds r2, r7, 0
- bl rfu_STC_NI_receive_Receiver
- b _082E673C
-_082E6678:
- movs r4, 0
- ldr r1, =gRfuSlotStatusNI
- ldr r0, [r1]
- ldrb r0, [r0, 0x1A]
- mov r5, r12
- asrs r0, r5
- ands r0, r2
- cmp r0, 0
- beq _082E6694
- ldrb r0, [r3, 0x4]
- b _082E66BA
- .align 2, 0
- .pool
-_082E6694:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bhi _082E673C
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- ldrb r0, [r0, 0x1A]
- mov r2, r12
- asrs r0, r2
- movs r2, 0x1
- ands r0, r2
- cmp r0, 0
- beq _082E6694
- ldr r3, =gRfuLinkStatus
- ldr r0, [r3]
- ldrb r0, [r0, 0x4]
- mov r5, r12
-_082E66BA:
- asrs r0, r5
- ands r0, r2
- cmp r0, 0
- beq _082E6694
- cmp r4, 0x3
- bhi _082E673C
- adds r0, r4, 0
- mov r1, r12
- mov r2, sp
- adds r3, r7, 0
- bl rfu_STC_NI_receive_Sender
- b _082E673C
- .align 2, 0
- .pool
-_082E66D8:
- ldrb r1, [r3, 0x2]
- mov r2, r9
- ldrb r0, [r2, 0x1]
- adds r5, r1, 0
- ands r5, r0
- cmp r5, 0
- beq _082E673C
- movs r4, 0
- movs r6, 0x1
-_082E66EA:
- adds r0, r5, 0
- asrs r0, r4
- ands r0, r6
- cmp r0, 0
- beq _082E6732
- mov r1, sp
- ldrb r0, [r1, 0x2]
- cmp r0, 0x4
- bne _082E6706
- adds r0, r4, 0
- adds r2, r7, 0
- bl rfu_STC_UNI_receive
- b _082E6732
-_082E6706:
- ldrb r0, [r1, 0x3]
- cmp r0, 0
- bne _082E6718
- adds r0, r4, 0
- mov r1, sp
- adds r2, r7, 0
- bl rfu_STC_NI_receive_Receiver
- b _082E6732
-_082E6718:
- ldr r0, =gRfuLinkStatus
- ldr r0, [r0]
- ldrb r0, [r0, 0x4]
- asrs r0, r4
- ands r0, r6
- cmp r0, 0
- beq _082E6732
- adds r0, r4, 0
- adds r1, r4, 0
- mov r2, sp
- adds r3, r7, 0
- bl rfu_STC_NI_receive_Sender
-_082E6732:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _082E66EA
-_082E673C:
- mov r0, r10
-_082E673E:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
- .pool
- thumb_func_end rfu_STC_analyzeLLSF
-
- thumb_func_start rfu_STC_UNI_receive
-rfu_STC_UNI_receive: @ 82E6754
- push {r4-r7,lr}
- sub sp, 0x8
- adds r6, r1, 0
- str r2, [sp]
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r2, =gRfuSlotStatusUNI
- lsls r1, r7, 2
- adds r1, r2
- ldr r3, [r1]
- adds r5, r3, 0
- adds r5, 0xC
- movs r4, 0
- movs r0, 0
- strh r0, [r5, 0x2]
- ldr r0, [r1]
- ldr r0, [r0, 0x18]
- adds r1, r2, 0
- ldrh r2, [r6, 0x6]
- cmp r0, r2
- bcs _082E6790
- movs r0, 0x49
- strh r0, [r3, 0xC]
- ldr r0, =0x00000701
- strh r0, [r5, 0x2]
- b _082E67DE
- .align 2, 0
- .pool
-_082E6790:
- ldrb r0, [r5, 0x7]
- cmp r0, 0
- beq _082E67A8
- ldrb r0, [r5, 0x6]
- cmp r0, 0
- beq _082E67B4
- ldr r0, =0x00000709
- strh r0, [r5, 0x2]
- b _082E67DE
- .align 2, 0
- .pool
-_082E67A8:
- ldrb r0, [r5, 0x6]
- cmp r0, 0
- beq _082E67B4
- movs r0, 0xE1
- lsls r0, 3
- strh r0, [r5, 0x2]
-_082E67B4:
- movs r4, 0
- ldr r0, =0x00008042
- strh r0, [r5]
- ldrh r0, [r6, 0x6]
- strh r0, [r5, 0x4]
- ldrh r2, [r6, 0x6]
- lsls r0, r7, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r0, [r0, 0x14]
- str r0, [sp, 0x4]
- ldr r0, =gRfuFixed
- ldr r0, [r0]
- add r1, sp, 0x4
- ldr r3, [r0, 0x4]
- mov r0, sp
- bl _call_via_r3
- movs r0, 0x1
- strb r0, [r5, 0x6]
- strh r4, [r5]
-_082E67DE:
- ldrh r0, [r5, 0x2]
- cmp r0, 0
- beq _082E67F2
- ldr r0, =gRfuStatic
- ldr r2, [r0]
- movs r0, 0x10
- lsls r0, r7
- ldrb r1, [r2, 0x4]
- orrs r0, r1
- strb r0, [r2, 0x4]
-_082E67F2:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_STC_UNI_receive
-
- thumb_func_start rfu_STC_NI_receive_Sender
-rfu_STC_NI_receive_Sender: @ 82E6808
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r6, r2, 0
- lsls r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- ldr r1, =gRfuSlotStatusNI
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- mov r12, r0
- ldrh r0, [r0]
- mov r9, r0
- mov r0, r12
- adds r0, 0x21
- ldrb r2, [r6, 0x4]
- adds r0, r2
- ldrb r0, [r0]
- str r0, [sp]
- ldrb r2, [r6, 0x2]
- cmp r2, 0x2
- bne _082E6844
- ldr r0, =0x00008022
- cmp r9, r0
- beq _082E685E
-_082E6844:
- cmp r2, 0x1
- bne _082E684E
- ldr r0, =0x00008021
- cmp r9, r0
- beq _082E685E
-_082E684E:
- movs r3, 0x1B
- add r3, r12
- mov r8, r3
- cmp r2, 0x3
- bne _082E6882
- ldr r0, =0x00008023
- cmp r9, r0
- bne _082E6882
-_082E685E:
- ldrb r1, [r6, 0x4]
- mov r0, r12
- adds r0, 0x21
- adds r0, r1
- ldrb r0, [r0]
- movs r7, 0x1B
- add r7, r12
- mov r8, r7
- ldrb r2, [r6, 0x5]
- cmp r0, r2
- bne _082E6882
- adds r0, r7, r1
- movs r1, 0x1
- mov r3, r10
- lsls r1, r3
- ldrb r2, [r0]
- orrs r1, r2
- strb r1, [r0]
-_082E6882:
- ldrb r2, [r6, 0x4]
- mov r7, r8
- adds r0, r7, r2
- ldrb r0, [r0]
- mov r3, r12
- ldrb r1, [r3, 0x1A]
- ands r0, r1
- cmp r0, r1
- bne _082E697E
- adds r3, 0x21
- adds r2, r3, r2
- ldrb r0, [r2]
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- movs r1, 0
- strb r0, [r2]
- ldrb r0, [r6, 0x4]
- add r0, r8
- strb r1, [r0]
- mov r7, r12
- ldrh r1, [r7]
- ldr r2, =0x00007fdf
- adds r0, r1, r2
- lsls r0, 16
- lsrs r0, 16
- adds r5, r3, 0
- cmp r0, 0x1
- bhi _082E6970
- ldr r0, =0x00008021
- cmp r1, r0
- bne _082E68E8
- ldrb r1, [r6, 0x4]
- lsls r1, 2
- subs r3, 0x1D
- adds r1, r3, r1
- ldrh r2, [r7, 0x2E]
- ldr r0, [r1]
- adds r0, r2
- str r0, [r1]
- b _082E68FE
- .align 2, 0
- .pool
-_082E68E8:
- ldrb r2, [r6, 0x4]
- lsls r2, 2
- mov r3, r12
- adds r3, 0x4
- adds r2, r3, r2
- mov r7, r12
- ldrh r1, [r7, 0x2E]
- lsls r1, 2
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
-_082E68FE:
- mov r0, r12
- ldrh r1, [r0, 0x2E]
- ldr r0, [r0, 0x14]
- subs r0, r1
- mov r1, r12
- str r0, [r1, 0x14]
- cmp r0, 0
- beq _082E6912
- cmp r0, 0
- bge _082E697E
-_082E6912:
- mov r0, r12
- adds r0, 0x20
- movs r2, 0
- strb r2, [r0]
- mov r7, r12
- ldrh r1, [r7]
- ldr r0, =0x00008021
- cmp r1, r0
- bne _082E695C
- movs r4, 0
-_082E6926:
- adds r0, r5, r4
- movs r1, 0x1
- strb r1, [r0]
- lsls r1, r4, 2
- adds r1, r3, r1
- mov r2, r12
- ldrh r0, [r2, 0x2E]
- adds r2, r0, 0
- muls r2, r4
- mov r7, r12
- ldr r0, [r7, 0x28]
- adds r0, r2
- str r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _082E6926
- ldr r0, [r7, 0x30]
- str r0, [r7, 0x14]
- ldr r0, =0x00008022
- strh r0, [r7]
- b _082E697E
- .align 2, 0
- .pool
-_082E695C:
- strb r2, [r5]
- mov r0, r12
- str r2, [r0, 0x14]
- ldr r0, =0x00008023
- mov r1, r12
- strh r0, [r1]
- b _082E697E
- .align 2, 0
- .pool
-_082E6970:
- lsls r1, 16
- ldr r0, =0x80230000
- cmp r1, r0
- bne _082E697E
- ldr r0, =0x00008020
- mov r2, r12
- strh r0, [r2]
-_082E697E:
- mov r3, r12
- ldrh r0, [r3]
- cmp r0, r9
- bne _082E69A8
- ldrb r2, [r6, 0x4]
- mov r0, r12
- adds r0, 0x21
- adds r0, r2
- ldrb r0, [r0]
- ldr r7, [sp]
- cmp r0, r7
- bne _082E69A8
- mov r1, r8
- adds r0, r1, r2
- ldrb r0, [r0]
- mov r2, r10
- asrs r0, r2
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _082E69CE
-_082E69A8:
- ldr r4, =0x04000208
- ldrh r2, [r4]
- movs r0, 0
- strh r0, [r4]
- ldr r0, =gRfuStatic
- ldr r3, [r0]
- movs r0, 0x10
- mov r7, r10
- lsls r0, r7
- ldrb r1, [r3, 0x2]
- orrs r0, r1
- movs r1, 0
- strb r0, [r3, 0x2]
- lsls r0, r7, 2
- ldr r3, =gRfuSlotStatusNI
- adds r0, r3
- ldr r0, [r0]
- strh r1, [r0, 0x2]
- strh r2, [r4]
-_082E69CE:
- 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
- .pool
- thumb_func_end rfu_STC_NI_receive_Sender
-
- thumb_func_start rfu_STC_NI_receive_Receiver
-rfu_STC_NI_receive_Receiver: @ 82E69F4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r6, r1, 0
- str r2, [sp]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r7, 0
- ldr r1, =gRfuSlotStatusNI
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- adds r5, r4, 0
- adds r5, 0x34
- ldrh r0, [r4, 0x34]
- mov r9, r0
- ldrb r0, [r6, 0x4]
- adds r3, r4, 0
- adds r3, 0x55
- adds r0, r3, r0
- ldrb r0, [r0]
- mov r10, r0
- ldrb r0, [r6, 0x2]
- cmp r0, 0x3
- bne _082E6A64
- ldr r0, =gRfuStatic
- ldr r2, [r0]
- movs r0, 0x1
- mov r1, r8
- lsls r0, r1
- ldrb r1, [r2, 0x1]
- orrs r0, r1
- strb r0, [r2, 0x1]
- ldrh r1, [r4, 0x34]
- ldr r0, =0x00008042
- cmp r1, r0
- bne _082E6AAA
- adds r0, r4, 0
- adds r0, 0x54
- strb r7, [r0]
- strb r7, [r3]
- ldr r0, =0x00008043
- strh r0, [r4, 0x34]
- b _082E6AAA
- .align 2, 0
- .pool
-_082E6A64:
- cmp r0, 0x2
- bne _082E6A90
- ldr r0, =0x00008041
- cmp r9, r0
- bne _082E6A7C
- ldr r0, [r5, 0x14]
- cmp r0, 0
- bne _082E6A7C
- mov r0, r8
- adds r1, r5, 0
- bl rfu_STC_NI_initSlot_asRecvDataEntity
-_082E6A7C:
- ldrh r1, [r5]
- ldr r0, =0x00008042
- cmp r1, r0
- bne _082E6AAA
- b _082E6AAE
- .align 2, 0
- .pool
-_082E6A90:
- cmp r0, 0x1
- bne _082E6AAA
- ldr r7, =0x00008041
- cmp r9, r7
- beq _082E6AAE
- mov r0, r8
- adds r1, r5, 0
- bl rfu_STC_NI_initSlot_asRecvControllData
- ldrh r0, [r4, 0x34]
- cmp r0, r7
- bne _082E6B4A
- movs r7, 0x1
-_082E6AAA:
- cmp r7, 0
- beq _082E6B04
-_082E6AAE:
- ldrb r2, [r6, 0x5]
- ldrb r3, [r6, 0x4]
- adds r4, r5, 0
- adds r4, 0x21
- adds r0, r4, r3
- ldrb r0, [r0]
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- cmp r2, r0
- bne _082E6B04
- ldr r0, =gRfuFixed
- ldr r0, [r0]
- lsls r1, r3, 2
- adds r1, 0x4
- adds r1, r5, r1
- ldrh r2, [r6, 0x6]
- ldr r3, [r0, 0x4]
- mov r0, sp
- bl _call_via_r3
- ldrh r1, [r5]
- ldr r0, =0x00008042
- cmp r1, r0
- bne _082E6AF4
- ldrb r0, [r6, 0x4]
- lsls r0, 2
- adds r2, r5, 0x4
- adds r2, r0
- ldrh r0, [r5, 0x2E]
- lsls r1, r0, 1
- adds r1, r0
- ldr r0, [r2]
- adds r0, r1
- str r0, [r2]
-_082E6AF4:
- ldrh r1, [r6, 0x6]
- ldr r0, [r5, 0x14]
- subs r0, r1
- str r0, [r5, 0x14]
- ldrb r0, [r6, 0x4]
- adds r0, r4, r0
- ldrb r1, [r6, 0x5]
- strb r1, [r0]
-_082E6B04:
- ldrh r0, [r5, 0x18]
- cmp r0, 0
- bne _082E6B4A
- ldrb r0, [r6, 0x4]
- adds r1, r5, 0
- adds r1, 0x20
- strb r0, [r1]
- ldrh r0, [r5]
- cmp r0, r9
- bne _082E6B2C
- adds r0, r5, 0
- adds r0, 0x21
- ldrb r2, [r6, 0x4]
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, r10
- bne _082E6B2C
- ldrb r6, [r6, 0x5]
- cmp r0, r6
- bne _082E6B4A
-_082E6B2C:
- ldr r3, =0x04000208
- ldrh r2, [r3]
- movs r0, 0
- strh r0, [r3]
- ldr r0, =gRfuStatic
- ldr r4, [r0]
- movs r0, 0x1
- mov r1, r8
- lsls r0, r1
- ldrb r1, [r4, 0x2]
- orrs r0, r1
- movs r1, 0
- strb r0, [r4, 0x2]
- strh r1, [r5, 0x2]
- strh r2, [r3]
-_082E6B4A:
- 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
- .pool
- thumb_func_end rfu_STC_NI_receive_Receiver
-
- thumb_func_start rfu_STC_NI_initSlot_asRecvControllData
-rfu_STC_NI_initSlot_asRecvControllData: @ 82E6B70
- push {r4-r7,lr}
- adds r2, r1, 0
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, =gRfuLinkStatus
- ldr r3, [r0]
- ldrb r1, [r3]
- mov r12, r0
- cmp r1, 0x1
- bne _082E6B90
- movs r5, 0x3
- adds r1, r3, 0
- adds r1, 0xF
- b _082E6B98
- .align 2, 0
- .pool
-_082E6B90:
- movs r5, 0x2
- adds r0, r4, 0
- adds r0, 0x10
- adds r1, r3, r0
-_082E6B98:
- movs r7, 0x1
- adds r0, r7, 0
- lsls r0, r4
- lsls r0, 24
- lsrs r6, r0, 24
- adds r4, r6, 0
- ldrh r3, [r2]
- cmp r3, 0
- bne _082E6BF6
- ldrb r0, [r1]
- cmp r0, r5
- bcs _082E6BD0
- movs r0, 0x49
- strh r0, [r2]
- ldr r0, =0x00000702
- strh r0, [r2, 0x18]
- ldr r0, =gRfuStatic
- ldr r2, [r0]
- ldrb r1, [r2, 0x4]
- adds r0, r6, 0
- orrs r0, r1
- strb r0, [r2, 0x4]
- b _082E6BF6
- .align 2, 0
- .pool
-_082E6BD0:
- strh r3, [r2, 0x18]
- ldrb r0, [r1]
- subs r0, r5
- strb r0, [r1]
- adds r0, r2, 0
- adds r0, 0x2D
- str r0, [r2, 0x4]
- movs r0, 0x7
- str r0, [r2, 0x14]
- strb r7, [r2, 0x1F]
- strh r3, [r2, 0x2E]
- strb r4, [r2, 0x1A]
- ldr r0, =0x00008041
- strh r0, [r2]
- mov r0, r12
- ldr r1, [r0]
- ldrb r0, [r1, 0x5]
- orrs r4, r0
- strb r4, [r1, 0x5]
-_082E6BF6:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_STC_NI_initSlot_asRecvControllData
-
- thumb_func_start rfu_STC_NI_initSlot_asRecvDataEntity
-rfu_STC_NI_initSlot_asRecvDataEntity: @ 82E6C00
- push {r4-r7,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- adds r0, 0x2D
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _082E6C24
- ldr r0, =gRfuLinkStatus
- lsls r1, r5, 5
- adds r1, 0x14
- ldr r0, [r0]
- adds r0, r1
- adds r0, 0x4
- b _082E6C7A
- .align 2, 0
- .pool
-_082E6C24:
- ldr r1, =gRfuSlotStatusNI
- lsls r0, r5, 2
- adds r0, r1
- ldr r2, [r0]
- ldr r1, [r4, 0x30]
- ldr r0, [r2, 0x6C]
- cmp r1, r0
- bls _082E6C78
- movs r1, 0x80
- lsls r1, 17
- lsls r1, r5
- lsrs r1, 24
- ldr r0, =gRfuStatic
- ldr r3, [r0]
- ldrb r2, [r3, 0x4]
- adds r0, r1, 0
- orrs r0, r2
- strb r0, [r3, 0x4]
- ldr r0, =gRfuLinkStatus
- ldr r2, [r0]
- ldrb r0, [r2, 0x5]
- bics r0, r1
- strb r0, [r2, 0x5]
- ldr r0, =0x00000701
- strh r0, [r4, 0x18]
- movs r0, 0x47
- strh r0, [r4]
- adds r0, r5, 0
- movs r1, 0x1
- adds r2, r4, 0
- bl rfu_STC_releaseFrame
- b _082E6CAC
- .align 2, 0
- .pool
-_082E6C78:
- ldr r0, [r2, 0x68]
-_082E6C7A:
- str r0, [r4, 0x4]
- movs r3, 0
- adds r6, r4, 0
- adds r6, 0x21
- movs r7, 0
- adds r5, r4, 0x4
-_082E6C86:
- adds r0, r6, r3
- strb r7, [r0]
- lsls r1, r3, 2
- adds r1, r5, r1
- ldrh r0, [r4, 0x2E]
- adds r2, r0, 0
- muls r2, r3
- ldr r0, [r4, 0x4]
- adds r0, r2
- str r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _082E6C86
- ldr r0, [r4, 0x30]
- str r0, [r4, 0x14]
- ldr r0, =0x00008042
- strh r0, [r4]
-_082E6CAC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_STC_NI_initSlot_asRecvDataEntity
-
- thumb_func_start rfu_NI_checkCommFailCounter
-rfu_NI_checkCommFailCounter: @ 82E6CB8
- push {r4-r7,lr}
- ldr r2, =gRfuLinkStatus
- ldr r0, [r2]
- ldrb r1, [r0, 0x4]
- ldrb r0, [r0, 0x5]
- orrs r0, r1
- cmp r0, 0
- beq _082E6D3E
- ldr r1, =0x04000208
- ldrh r0, [r1]
- mov r12, r0
- movs r0, 0
- strh r0, [r1]
- ldr r1, =gRfuStatic
- ldr r0, [r1]
- ldrb r0, [r0, 0x2]
- lsrs r7, r0, 4
- movs r3, 0
- adds r6, r1, 0
- adds r5, r2, 0
- ldr r4, =gRfuSlotStatusNI
-_082E6CE2:
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r3
- lsrs r2, r0, 24
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- ands r0, r2
- cmp r0, 0
- beq _082E6D0A
- ldr r0, [r6]
- ldrb r0, [r0, 0x2]
- ands r0, r2
- cmp r0, 0
- bne _082E6D0A
- lsls r0, r3, 2
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x2]
- adds r0, 0x1
- strh r0, [r1, 0x2]
-_082E6D0A:
- ldr r0, [r5]
- ldrb r0, [r0, 0x5]
- ands r0, r2
- cmp r0, 0
- beq _082E6D28
- adds r0, r7, 0
- ands r0, r2
- cmp r0, 0
- bne _082E6D28
- lsls r0, r3, 2
- adds r0, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x36]
- adds r0, 0x1
- strh r0, [r1, 0x36]
-_082E6D28:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _082E6CE2
- ldr r0, [r6]
- movs r1, 0
- strb r1, [r0, 0x2]
- ldr r0, =0x04000208
- mov r1, r12
- strh r1, [r0]
-_082E6D3E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_NI_checkCommFailCounter
-
- thumb_func_start rfu_REQ_noise
-rfu_REQ_noise: @ 82E6D54
- push {lr}
- ldr r0, =rfu_STC_REQ_callback
- bl STWI_set_Callback_M
- movs r0, 0x1
- movs r1, 0
- bl STWI_send_TestModeREQ
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end rfu_REQ_noise
-
- thumb_func_start AgbRFU_checkID
-AgbRFU_checkID: @ 82E6D6C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, =0x04000208
- ldrh r0, [r0]
- cmp r0, 0
- bne _082E6D88
- movs r0, 0x1
- negs r0, r0
- b _082E6E08
- .align 2, 0
- .pool
-_082E6D88:
- ldr r0, =0x04000200
- ldrh r0, [r0]
- mov r8, r0
- ldr r4, =gSTWIStatus
- ldr r1, [r4]
- movs r0, 0xA
- str r0, [r1]
- ldr r0, =Sio32IDIntr
- bl STWI_set_Callback_ID
- bl Sio32IDInit
- ldr r0, [r4]
- ldrb r0, [r0, 0xA]
- lsls r0, 2
- ldr r1, =0x04000100
- adds r4, r0, r1
- lsls r0, r5, 27
- lsrs r5, r0, 24
- movs r7, 0
- b _082E6DD6
- .align 2, 0
- .pool
-_082E6DC4:
- strh r6, [r4, 0x2]
- strh r6, [r4]
- movs r0, 0x83
- strh r0, [r4, 0x2]
-_082E6DCC:
- ldrh r0, [r4]
- cmp r0, 0x1F
- bls _082E6DCC
- strh r7, [r4, 0x2]
- strh r7, [r4]
-_082E6DD6:
- subs r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xFF
- beq _082E6DEA
- bl Sio32IDMain
- adds r6, r0, 0
- cmp r6, 0
- beq _082E6DC4
-_082E6DEA:
- ldr r1, =0x04000208
- movs r0, 0
- strh r0, [r1]
- ldr r0, =0x04000200
- mov r2, r8
- strh r2, [r0]
- movs r0, 0x1
- strh r0, [r1]
- ldr r0, =gSTWIStatus
- ldr r1, [r0]
- movs r0, 0
- str r0, [r1]
- bl STWI_set_Callback_ID
- adds r0, r6, 0
-_082E6E08:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
- .pool
- thumb_func_end AgbRFU_checkID
-
- thumb_func_start Sio32IDInit
-Sio32IDInit: @ 82E6E20
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r3, =0x04000208
- movs r4, 0
- strh r4, [r3]
- ldr r2, =0x04000200
- ldr r0, =gSTWIStatus
- ldr r0, [r0]
- movs r1, 0x8
- ldrb r0, [r0, 0xA]
- lsls r1, r0
- movs r5, 0x80
- orrs r1, r5
- ldrh r0, [r2]
- bics r0, r1
- strh r0, [r2]
- movs r0, 0x1
- strh r0, [r3]
- ldr r0, =0x04000134
- strh r4, [r0]
- subs r2, 0xD8
- movs r1, 0x80
- lsls r1, 5
- adds r0, r1, 0
- strh r0, [r2]
- ldrh r0, [r2]
- movs r3, 0x81
- lsls r3, 7
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r2]
- movs r0, 0
- str r0, [sp]
- ldr r1, =gRfuSIO32Id
- ldr r2, =0x05000003
- mov r0, sp
- bl CpuSet
- ldr r0, =0x04000202
- strh r5, [r0]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end Sio32IDInit
-
- thumb_func_start Sio32IDMain
-Sio32IDMain: @ 82E6E94
- push {r4-r7,lr}
- ldr r0, =gRfuSIO32Id
- ldrb r1, [r0, 0x1]
- mov r12, r1
- adds r7, r0, 0
- cmp r1, 0
- beq _082E6EAC
- cmp r1, 0x1
- beq _082E6EE4
- b _082E6F7C
- .align 2, 0
- .pool
-_082E6EAC:
- movs r6, 0x1
- strb r6, [r7]
- ldr r3, =0x04000128
- ldrh r0, [r3]
- movs r5, 0x1
- orrs r0, r5
- strh r0, [r3]
- ldr r4, =0x04000208
- mov r0, r12
- strh r0, [r4]
- ldr r2, =0x04000200
- ldrh r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strh r0, [r2]
- strh r6, [r4]
- strb r5, [r7, 0x1]
- ldrb r0, [r3]
- orrs r0, r1
- strb r0, [r3]
- b _082E6F80
- .align 2, 0
- .pool
-_082E6EE4:
- ldrh r0, [r7, 0xA]
- cmp r0, 0
- bne _082E6F78
- ldrb r0, [r7]
- cmp r0, 0x1
- bne _082E6F14
- ldrh r0, [r7, 0x2]
- cmp r0, 0
- bne _082E6F80
- ldr r3, =0x04000208
- strh r0, [r3]
- ldr r2, =0x04000128
- ldrh r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strh r0, [r2]
- mov r1, r12
- strh r1, [r3]
- b _082E6F80
- .align 2, 0
- .pool
-_082E6F14:
- ldrh r1, [r7, 0x4]
- ldr r0, =0x00008001
- cmp r1, r0
- beq _082E6F80
- ldrh r6, [r7, 0x2]
- cmp r6, 0
- bne _082E6F80
- ldr r4, =0x04000208
- strh r6, [r4]
- ldr r3, =0x04000200
- ldrh r1, [r3]
- ldr r0, =0x0000ff7f
- ands r0, r1
- strh r0, [r3]
- mov r7, r12
- strh r7, [r4]
- ldr r2, =0x04000128
- strh r6, [r2]
- movs r1, 0x80
- lsls r1, 5
- adds r0, r1, 0
- strh r0, [r2]
- ldr r0, =0x04000202
- movs r5, 0x80
- strh r5, [r0]
- ldrh r0, [r2]
- movs r7, 0x81
- lsls r7, 7
- adds r1, r7, 0
- orrs r0, r1
- strh r0, [r2]
- strh r6, [r4]
- ldrh r0, [r3]
- orrs r0, r5
- strh r0, [r3]
- mov r0, r12
- strh r0, [r4]
- b _082E6F80
- .align 2, 0
- .pool
-_082E6F78:
- movs r0, 0x2
- strb r0, [r7, 0x1]
-_082E6F7C:
- ldrh r0, [r7, 0xA]
- b _082E6F82
-_082E6F80:
- movs r0, 0
-_082E6F82:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end Sio32IDMain
-
- thumb_func_start Sio32IDIntr
-Sio32IDIntr: @ 82E6F88
- push {r4,r5,lr}
- ldr r0, =0x04000120
- ldr r5, [r0]
- ldr r0, =gRfuSIO32Id
- ldrb r1, [r0]
- adds r4, r0, 0
- cmp r1, 0x1
- beq sub_82E6FA2
- ldr r0, =0x04000128
- ldrh r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strh r1, [r0]
- thumb_func_end Sio32IDIntr
-
- non_word_aligned_thumb_func_start sub_82E6FA2
-sub_82E6FA2: @ 82E6FA2
- ldrb r2, [r4]
- lsls r1, r2, 4
- adds r0, r5, 0
- lsls r0, r1
- lsrs r1, r0, 16
- movs r0, 0x1
- subs r0, r2
- lsls r0, 4
- lsls r5, r0
- adds r0, r5, 0
- lsrs r5, r0, 16
- ldrh r0, [r4, 0xA]
- cmp r0, 0
- bne _082E6FF6
- ldrh r2, [r4, 0x6]
- cmp r1, r2
- bne _082E6FF4
- ldrh r3, [r4, 0x2]
- cmp r3, 0x3
- bls _082E6FDC
- strh r5, [r4, 0xA]
- b _082E6FF6
- .align 2, 0
- .pool
-_082E6FDC:
- ldrh r0, [r4, 0x4]
- mvns r0, r0
- lsls r0, 16
- lsrs r0, 16
- cmp r1, r0
- bne _082E6FF6
- mvns r0, r2
- lsls r0, 16
- lsrs r0, 16
- cmp r5, r0
- bne _082E6FF6
- adds r0, r3, 0x1
-_082E6FF4:
- strh r0, [r4, 0x2]
-_082E6FF6:
- ldrh r0, [r4, 0x2]
- cmp r0, 0x3
- bhi _082E700C
- lsls r0, 1
- ldr r1, =Sio32ConnectionData
- adds r0, r1
- ldrh r0, [r0]
- b _082E700E
- .align 2, 0
- .pool
-_082E700C:
- ldr r0, =0x00008001
-_082E700E:
- strh r0, [r4, 0x4]
- mvns r0, r5
- strh r0, [r4, 0x6]
- ldr r3, =0x04000120
- ldrh r2, [r4, 0x4]
- ldrb r1, [r4]
- movs r0, 0x1
- subs r0, r1
- lsls r0, 4
- lsls r2, r0
- ldrh r0, [r4, 0x6]
- lsls r1, 4
- lsls r0, r1
- adds r2, r0
- str r2, [r3]
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _082E705C
- ldrh r0, [r4, 0x2]
- cmp r0, 0
- bne _082E703E
- ldr r0, =0x0000494e
- cmp r5, r0
- bne _082E705C
-_082E703E:
- movs r0, 0
- ldr r1, =0x00000257
-_082E7042:
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r1
- bls _082E7042
- ldrh r0, [r4, 0xA]
- cmp r0, 0
- bne _082E705C
- ldr r0, =0x04000128
- ldrh r1, [r0]
- movs r2, 0x80
- orrs r1, r2
- strh r1, [r0]
-_082E705C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end sub_82E6FA2
-
- .align 2, 0 @ Don't pad with nop.