diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/librfu.s | 6487 |
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. |