diff options
author | PikalaxALT <PikalaxALT@gmail.com> | 2020-01-13 22:08:11 -0500 |
---|---|---|
committer | PikalaxALT <PikalaxALT@gmail.com> | 2020-01-13 22:08:11 -0500 |
commit | d9ea5a08159ededd81fc0d8c33b0270b925081b6 (patch) | |
tree | 5e9764a3c67db5c7f971279f75de6391c1eaeb46 /asm | |
parent | 36306a82d131eee74c48e0ca6e66fff97dcffac2 (diff) |
link_rfu_2 through rfufunc_80FA020
Diffstat (limited to 'asm')
-rw-r--r-- | asm/link_rfu_2.s | 2298 |
1 files changed, 0 insertions, 2298 deletions
diff --git a/asm/link_rfu_2.s b/asm/link_rfu_2.s index a5426166d..e67fa8ccf 100644 --- a/asm/link_rfu_2.s +++ b/asm/link_rfu_2.s @@ -5,2304 +5,6 @@ .text - thumb_func_start sub_80F8F7C -sub_80F8F7C: @ 80F8F7C - push {lr} - adds r1, r0, 0 - ldr r2, _080F8F94 @ =Rfu - ldrh r0, [r2, 0x4] - cmp r0, 0x11 - beq _080F8F8C - cmp r1, 0 - beq _080F8F98 -_080F8F8C: - movs r0, 0x12 - strh r0, [r2, 0x4] - movs r0, 0x1 - b _080F8F9A - .align 2, 0 -_080F8F94: .4byte Rfu -_080F8F98: - movs r0, 0 -_080F8F9A: - pop {r1} - bx r1 - thumb_func_end sub_80F8F7C - - thumb_func_start sub_80F8FA0 -sub_80F8FA0: @ 80F8FA0 - ldr r1, _080F8FA8 @ =Rfu - movs r0, 0xE - strh r0, [r1, 0x4] - bx lr - .align 2, 0 -_080F8FA8: .4byte Rfu - thumb_func_end sub_80F8FA0 - - thumb_func_start sub_80F8FAC -sub_80F8FAC: @ 80F8FAC - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0 - b _080F8FBE -_080F8FB6: - lsrs r1, 1 - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 -_080F8FBE: - cmp r2, 0x3 - bhi _080F8FD0 - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080F8FB6 - adds r0, r2, 0 - bl rfu_UNI_readySendData -_080F8FD0: - pop {r0} - bx r0 - thumb_func_end sub_80F8FAC - - thumb_func_start sub_80F8FD4 -sub_80F8FD4: @ 80F8FD4 - push {r4-r7,lr} - sub sp, 0x4 - movs r2, 0 - ldr r7, _080F9028 @ =gRecvCmds - ldr r0, _080F902C @ =Rfu - adds r6, r7, 0 - ldr r1, _080F9030 @ =0x0000093f - adds r5, r0, r1 -_080F8FE4: - movs r3, 0 - lsls r0, r2, 3 - lsls r1, r2, 4 - adds r4, r2, 0x1 - subs r0, r2 - lsls r0, 1 - adds r2, r0, r5 - adds r1, r6 -_080F8FF4: - ldrh r0, [r1] - lsrs r0, 8 - strb r0, [r2, 0x1] - ldrh r0, [r1] - strb r0, [r2] - adds r2, 0x2 - adds r1, 0x2 - adds r3, 0x1 - cmp r3, 0x6 - ble _080F8FF4 - adds r2, r4, 0 - cmp r2, 0x4 - ble _080F8FE4 - movs r0, 0 - mov r1, sp - strh r0, [r1] - ldr r2, _080F9034 @ =0x01000028 - mov r0, sp - adds r1, r7, 0 - bl CpuSet - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F9028: .4byte gRecvCmds -_080F902C: .4byte Rfu -_080F9030: .4byte 0x0000093f -_080F9034: .4byte 0x01000028 - thumb_func_end sub_80F8FD4 - - thumb_func_start sub_80F9038 -sub_80F9038: @ 80F9038 - push {lr} - ldr r3, _080F9064 @ =gSendCmd - ldr r2, _080F9068 @ =gRecvCmds - movs r1, 0x6 -_080F9040: - ldrh r0, [r3] - strh r0, [r2] - adds r3, 0x2 - adds r2, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _080F9040 - ldr r1, _080F9064 @ =gSendCmd - movs r2, 0 - adds r0, r1, 0 - adds r0, 0xC -_080F9056: - strh r2, [r0] - subs r0, 0x2 - cmp r0, r1 - bge _080F9056 - pop {r0} - bx r0 - .align 2, 0 -_080F9064: .4byte gSendCmd -_080F9068: .4byte gRecvCmds - thumb_func_end sub_80F9038 - - thumb_func_start sub_80F906C -sub_80F906C: @ 80F906C - push {r4,r5,lr} - ldr r4, _080F90CC @ =Rfu - ldr r0, _080F90D0 @ =0x000008f4 - adds r5, r4, r0 - ldrb r0, [r5] - cmp r0, 0 - beq _080F909E - ldr r1, _080F90D4 @ =0x000008d4 - adds r0, r4, r1 - adds r1, r4, 0 - adds r1, 0x4C - bl sub_80FC888 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080F90D8 @ =0x000008f2 - adds r0, r4, r1 - ldrb r0, [r0] - adds r1, r0, 0 - cmp r1, 0 - bne _080F909A - ldrb r0, [r5] - strb r1, [r5] -_080F909A: - cmp r2, 0 - bne _080F90C4 -_080F909E: - ldr r5, _080F90CC @ =Rfu - ldr r1, _080F90D0 @ =0x000008f4 - adds r0, r5, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080F90C4 - movs r1, 0xD4 - lsls r1, 3 - adds r0, r5, r1 - adds r4, r5, 0 - adds r4, 0x4C - adds r1, r4, 0 - bl sub_80FC79C - ldr r1, _080F90D4 @ =0x000008d4 - adds r0, r5, r1 - adds r1, r4, 0 - bl sub_80FC828 -_080F90C4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080F90CC: .4byte Rfu -_080F90D0: .4byte 0x000008f4 -_080F90D4: .4byte 0x000008d4 -_080F90D8: .4byte 0x000008f2 - thumb_func_end sub_80F906C - - thumb_func_start IsRfuRecvQueueEmpty -IsRfuRecvQueueEmpty: @ 80F90DC - push {r4,lr} - ldr r0, _080F90EC @ =gRfuLinkStatus - ldr r0, [r0] - ldrb r0, [r0, 0x6] - cmp r0, 0 - bne _080F90F0 -_080F90E8: - movs r0, 0 - b _080F9110 - .align 2, 0 -_080F90EC: .4byte gRfuLinkStatus -_080F90F0: - movs r3, 0 - ldr r4, _080F9118 @ =gRecvCmds -_080F90F4: - movs r2, 0 - lsls r0, r3, 4 - adds r1, r0, r4 -_080F90FA: - ldrh r0, [r1] - cmp r0, 0 - bne _080F90E8 - adds r1, 0x2 - adds r2, 0x1 - cmp r2, 0x6 - ble _080F90FA - adds r3, 0x1 - cmp r3, 0x4 - ble _080F90F4 - movs r0, 0x1 -_080F9110: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080F9118: .4byte gRecvCmds - thumb_func_end IsRfuRecvQueueEmpty - - thumb_func_start sub_80F911C -sub_80F911C: @ 80F911C - push {r4-r6,lr} - ldr r6, _080F9138 @ =Rfu - ldrh r0, [r6, 0x4] - cmp r0, 0x13 - bhi _080F913C - bl rfu_REQ_recvData - bl rfu_waitREQComplete - movs r0, 0 - bl LinkRfu_REQ_SendData_HandleParentRelationship - b _080F91F6 - .align 2, 0 -_080F9138: .4byte Rfu -_080F913C: - ldr r0, _080F9198 @ =0x00000993 - adds r1, r6, r0 - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldr r0, _080F919C @ =0x0000099a - adds r1, r6, r0 - ldr r0, _080F91A0 @ =gRfuLinkStatus - ldr r0, [r0] - ldrb r1, [r1] - ldrb r0, [r0, 0x2] - ands r0, r1 - cmp r0, r1 - bne _080F91F6 - cmp r0, 0 - beq _080F91F6 - ldr r1, _080F91A4 @ =0x00000994 - adds r0, r6, r1 - ldrb r0, [r0] - adds r5, r0, 0 - cmp r5, 0 - bne _080F91EC - ldr r0, _080F91A8 @ =0x0000099b - adds r4, r6, r0 - ldrb r0, [r4] - cmp r0, 0 - beq _080F91CC - bl sub_80FBCF8 - strb r5, [r4] - ldr r1, _080F91AC @ =0x0000099c - adds r0, r6, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080F91B0 - movs r4, 0x80 - lsls r4, 8 - movs r0, 0x2 - adds r1, r4, 0 - bl sub_80FB9E4 - adds r0, r4, 0 - bl sub_80FB0E8 - b _080F91F6 - .align 2, 0 -_080F9198: .4byte 0x00000993 -_080F919C: .4byte 0x0000099a -_080F91A0: .4byte gRfuLinkStatus -_080F91A4: .4byte 0x00000994 -_080F91A8: .4byte 0x0000099b -_080F91AC: .4byte 0x0000099c -_080F91B0: - ldr r0, _080F91C4 @ =gUnknown_3005E10 - ldrb r4, [r0] - cmp r4, 0 - bne _080F91CC - bl sub_80F8DC0 - ldr r0, _080F91C8 @ =gReceivedRemoteLinkPlayers - strb r4, [r0] - b _080F91F6 - .align 2, 0 -_080F91C4: .4byte gUnknown_3005E10 -_080F91C8: .4byte gReceivedRemoteLinkPlayers -_080F91CC: - bl sub_80F8FD4 - ldr r0, _080F91E4 @ =Rfu - ldr r1, _080F91E8 @ =0x00000992 - adds r0, r1 - ldrb r0, [r0] - bl rfu_UNI_readySendData - movs r0, 0x1 - bl LinkRfu_REQ_SendData_HandleParentRelationship - b _080F91F0 - .align 2, 0 -_080F91E4: .4byte Rfu -_080F91E8: .4byte 0x00000992 -_080F91EC: - bl rfu_REQ_PARENT_resumeRetransmitAndChange -_080F91F0: - ldr r1, _080F9200 @ =Rfu - movs r0, 0x1 - strb r0, [r1, 0xE] -_080F91F6: - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_080F9200: .4byte Rfu - thumb_func_end sub_80F911C - - thumb_func_start sub_80F9204 -sub_80F9204: @ 80F9204 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r0, _080F92E4 @ =Rfu - ldrh r1, [r0, 0x4] - adds r6, r0, 0 - cmp r1, 0x13 - bhi _080F921C - b _080F947E -_080F921C: - ldrb r0, [r6, 0xE] - cmp r0, 0x1 - beq _080F9224 - b _080F947E -_080F9224: - bl rfu_waitREQComplete - ldr r0, _080F92E8 @ =0x00000993 - adds r2, r6, r0 - ldrb r0, [r2] - cmp r0, 0 - bne _080F9244 - adds r1, r6, 0 - adds r1, 0xEE -_080F9236: - ldrb r0, [r1] - cmp r0, 0 - beq _080F923E - b _080F94A4 -_080F923E: - ldrb r0, [r2] - cmp r0, 0 - beq _080F9236 -_080F9244: - bl rfu_REQ_recvData - bl rfu_waitREQComplete - ldr r2, _080F92EC @ =gUnknown_3005E10 - ldr r4, _080F92E4 @ =Rfu - ldr r1, _080F92F0 @ =0x0000099a - adds r0, r4, r1 - ldrb r1, [r2, 0x3] - ldrb r0, [r0] - ands r1, r0 - cmp r1, r0 - beq _080F9260 - b _080F9468 -_080F9260: - ldr r6, _080F92F4 @ =0x00000994 - adds r1, r4, r6 - ldrb r0, [r1] - movs r0, 0 - strb r0, [r1] - ldr r1, _080F92F8 @ =gUnknown_203AC08 - ldrh r0, [r1, 0x6] - adds r0, 0x1 - strh r0, [r1, 0x6] - ldrb r7, [r2] - movs r5, 0 -_080F9276: - movs r0, 0x1 - ands r0, r7 - lsrs r1, r7, 1 - str r1, [sp, 0x4] - adds r2, r5, 0x1 - str r2, [sp] - cmp r0, 0 - bne _080F9288 - b _080F9388 -_080F9288: - ldr r1, _080F92E4 @ =Rfu - lsls r2, r5, 3 - subs r0, r2, r5 - lsls r4, r0, 1 - adds r0, r1, 0 - adds r0, 0x15 - adds r0, r4, r0 - ldrb r0, [r0] - adds r6, r1, 0 - adds r3, r2, 0 - lsls r1, r5, 24 - mov r10, r1 - cmp r0, 0 - beq _080F9380 - ldr r2, _080F92FC @ =0x000009a6 - adds r0, r6, r2 - adds r1, r5, r0 - ldrb r0, [r1] - cmp r0, 0xFF - beq _080F9304 - adds r0, r6, 0 - adds r0, 0x14 - adds r0, r4, r0 - ldrb r2, [r0] - lsrs r2, 5 - ldrb r0, [r1] - adds r0, 0x1 - movs r1, 0x7 - ands r0, r1 - cmp r2, r0 - beq _080F9304 - ldr r0, _080F9300 @ =0x000009a2 - adds r1, r6, r0 - adds r1, r5, r1 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - bls _080F9380 - movs r0, 0x81 - lsls r0, 8 - bl sub_80FB0E8 - b _080F9380 - .align 2, 0 -_080F92E4: .4byte Rfu -_080F92E8: .4byte 0x00000993 -_080F92EC: .4byte gUnknown_3005E10 -_080F92F0: .4byte 0x0000099a -_080F92F4: .4byte 0x00000994 -_080F92F8: .4byte gUnknown_203AC08 -_080F92FC: .4byte 0x000009a6 -_080F9300: .4byte 0x000009a2 -_080F9304: - ldr r2, _080F9444 @ =Rfu - ldr r6, _080F9448 @ =0x000009a6 - adds r1, r2, r6 - adds r1, r5, r1 - subs r3, r5 - lsls r3, 1 - adds r4, r2, 0 - adds r4, 0x14 - adds r2, r3, r4 - ldrb r0, [r2] - lsrs r0, 5 - strb r0, [r1] - ldr r1, _080F9444 @ =Rfu - subs r6, 0x4 - adds r0, r1, r6 - adds r0, r5, r0 - movs r1, 0 - strb r1, [r0] - ldrb r1, [r2] - movs r0, 0x1F - ands r0, r1 - strb r0, [r2] - ldr r2, _080F944C @ =Rfu+0x996 - adds r0, r5, r2 - ldrb r0, [r0] - movs r6, 0 - lsls r1, r5, 24 - mov r10, r1 - lsrs r2, r7, 1 - str r2, [sp, 0x4] - adds r5, 0x1 - str r5, [sp] - ldr r1, _080F9450 @ =gRecvCmds - mov r9, r1 - adds r5, r3, 0 - adds r7, r4, 0 - lsls r0, 4 - mov r8, r0 - adds r2, r5, 0x1 - mov r12, r2 -_080F9354: - lsls r1, r6, 1 - mov r0, r8 - adds r4, r1, r0 - add r4, r9 - mov r2, r12 - adds r3, r1, r2 - adds r3, r7 - ldrb r2, [r3] - lsls r2, 8 - adds r1, r5 - adds r1, r7 - ldrb r0, [r1] - orrs r0, r2 - strh r0, [r4] - movs r0, 0 - strb r0, [r3] - strb r0, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x6 - bls _080F9354 -_080F9380: - mov r1, r10 - lsrs r0, r1, 24 - bl rfu_UNI_clearRecvNewDataFlag -_080F9388: - ldr r2, [sp, 0x4] - lsls r0, r2, 16 - lsrs r7, r0, 16 - ldr r6, [sp] - lsls r0, r6, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bhi _080F939A - b _080F9276 -_080F939A: - bl sub_80F9038 - movs r0, 0 - bl sub_80F9868 - bl sub_80FA510 - ldr r4, _080F9444 @ =Rfu - ldr r1, _080F9454 @ =0x0000099d - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080F9476 - ldr r2, _080F9458 @ =0x00000991 - adds r0, r4, r2 - ldrb r2, [r0] - cmp r2, 0 - bne _080F9476 - ldr r0, _080F945C @ =gUnknown_203AC08 - ldrb r1, [r0, 0xE] - strb r2, [r0, 0xE] - ldr r6, _080F9460 @ =0x00000992 - adds r0, r4, r6 - ldrb r1, [r0] - movs r0, 0x3 - bl rfu_clearSlot - movs r5, 0 - adds r7, r4, 0 - adds r7, 0x14 -_080F93D6: - ldr r0, _080F9454 @ =0x0000099d - adds r6, r4, r0 - ldrb r0, [r6] - asrs r0, r5 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080F93FA - lsls r1, r5, 24 - lsrs r1, 24 - lsls r2, r5, 3 - subs r2, r5 - lsls r2, 1 - adds r2, r7 - movs r0, 0x10 - movs r3, 0xE - bl rfu_setRecvBuffer -_080F93FA: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x3 - bls _080F93D6 - subs r4, r6, 0x3 - ldrb r0, [r4] - ldrb r2, [r6] - adds r1, r0, 0 - orrs r1, r2 - bl sub_80F887C - ldrb r1, [r6] - movs r2, 0 - strb r1, [r6, 0x4] - ldrb r0, [r4] - orrs r0, r1 - strb r0, [r4] - strb r2, [r6] - ldrb r0, [r4] - adds r1, r6, 0 - subs r1, 0x5E - movs r2, 0x46 - bl rfu_UNI_setSendData - ldrb r0, [r4] - bl sub_80F886C - adds r1, r6, 0 - subs r1, 0xB - strb r0, [r1] - ldr r0, _080F9464 @ =sub_80FAA94 - movs r1, 0 - bl CreateTask - b _080F9476 - .align 2, 0 -_080F9444: .4byte Rfu -_080F9448: .4byte 0x000009a6 -_080F944C: .4byte Rfu+0x996 -_080F9450: .4byte gRecvCmds -_080F9454: .4byte 0x0000099d -_080F9458: .4byte 0x00000991 -_080F945C: .4byte gUnknown_203AC08 -_080F9460: .4byte 0x00000992 -_080F9464: .4byte sub_80FAA94 -_080F9468: - ldr r2, _080F9498 @ =0x00000994 - adds r1, r4, r2 - ldrb r0, [r1] - movs r2, 0 - movs r0, 0x1 - strb r0, [r1] - strb r2, [r4, 0xE] -_080F9476: - ldr r1, _080F949C @ =Rfu - movs r0, 0 - strb r0, [r1, 0xE] - adds r6, r1, 0 -_080F947E: - ldr r1, _080F9498 @ =0x00000994 - adds r0, r6, r1 - ldrb r0, [r0] - adds r1, r0, 0 - ldr r0, _080F94A0 @ =gRfuLinkStatus - ldr r0, [r0] - ldrb r0, [r0, 0x6] - cmp r0, 0 - beq _080F94A8 - movs r0, 0x1 - ands r0, r1 - b _080F94AA - .align 2, 0 -_080F9498: .4byte 0x00000994 -_080F949C: .4byte Rfu -_080F94A0: .4byte gRfuLinkStatus -_080F94A4: - movs r0, 0 - b _080F94AA -_080F94A8: - movs r0, 0 -_080F94AA: - 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 sub_80F9204 - - thumb_func_start sub_80F94BC -sub_80F94BC: @ 80F94BC - push {r4,r5,lr} - adds r4, r0, 0 - adds r2, r1, 0 - ldrh r1, [r4] - cmp r1, 0 - beq _080F9500 - ldr r0, _080F94FC @ =Rfu - movs r5, 0x81 - lsls r5, 1 - adds r3, r0, r5 - ldrb r0, [r3] - lsls r0, 5 - orrs r0, r1 - strh r0, [r4] - ldrb r0, [r3] - adds r0, 0x1 - movs r1, 0x7 - ands r0, r1 - strb r0, [r3] - adds r3, r4, 0 - movs r4, 0x6 -_080F94E6: - ldrh r1, [r3] - lsrs r0, r1, 8 - strb r0, [r2, 0x1] - strb r1, [r2] - adds r2, 0x2 - adds r3, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _080F94E6 - b _080F950E - .align 2, 0 -_080F94FC: .4byte Rfu -_080F9500: - movs r1, 0 - adds r0, r2, 0 - adds r0, 0xD -_080F9506: - strb r1, [r0] - subs r0, 0x1 - cmp r0, r2 - bge _080F9506 -_080F950E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80F94BC - - thumb_func_start sub_80F9514 -sub_80F9514: @ 80F9514 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x58 - ldr r0, _080F9638 @ =Rfu+0x124 - mov r1, sp - bl sub_80FC6E8 - movs r1, 0 - ldr r0, _080F963C @ =gRecvCmds - mov r12, r0 -_080F952A: - movs r4, 0 - lsls r0, r1, 3 - adds r2, r1, 0x1 - mov r8, r2 - lsls r6, r1, 4 - subs r0, r1 - lsls r5, r0, 1 -_080F9538: - lsls r1, r4, 1 - adds r3, r1, r6 - add r3, r12 - adds r1, r5, r1 - adds r0, r1, 0x1 - add r0, sp - ldrb r2, [r0] - lsls r2, 8 - mov r7, sp - adds r0, r7, r1 - ldrb r0, [r0] - orrs r0, r2 - strh r0, [r3] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x6 - bls _080F9538 - mov r1, r8 - lsls r0, r1, 24 - lsrs r1, r0, 24 - cmp r1, 0x4 - bls _080F952A - movs r0, 0 - bl sub_80F9868 - ldr r0, _080F9640 @ =gUnknown_3005E10 - ldrb r0, [r0, 0x2] - cmp r0, 0 - bne _080F95E4 - ldr r0, _080F9644 @ =Rfu - ldr r2, _080F9648 @ =0x0000099c - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080F95E4 - ldr r0, _080F964C @ =gRfuLinkStatus - ldr r0, [r0] - ldrb r1, [r0, 0x2] - ldrb r0, [r0, 0x3] - orrs r0, r1 - bl rfu_REQ_disconnect - bl rfu_waitREQComplete - bl sub_80FB9F4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080F95B0 - cmp r0, 0x6 - beq _080F95B0 - cmp r0, 0x9 - beq _080F95B0 - movs r1, 0x90 - lsls r1, 8 - movs r0, 0x2 - bl sub_80FB9E4 -_080F95B0: - bl rfu_clearAllSlot - ldr r1, _080F9650 @ =gReceivedRemoteLinkPlayers - movs r0, 0 - strb r0, [r1] - ldr r0, _080F9644 @ =Rfu - movs r5, 0 - str r5, [r0] - ldr r7, _080F9648 @ =0x0000099c - adds r6, r0, r7 - ldrb r0, [r6] - cmp r0, 0x1 - bne _080F95DC - movs r4, 0x90 - lsls r4, 8 - movs r0, 0x2 - adds r1, r4, 0 - bl sub_80FB9E4 - adds r0, r4, 0 - bl sub_80FB0E8 -_080F95DC: - ldr r0, _080F9640 @ =gUnknown_3005E10 - strb r5, [r0, 0x5] - strb r5, [r0, 0x4] - strb r5, [r6] -_080F95E4: - ldr r6, _080F9644 @ =Rfu - ldr r0, _080F9654 @ =0x00000988 - adds r2, r6, r0 - ldrb r0, [r2] - cmp r0, 0 - beq _080F9628 - ldrb r0, [r2] - subs r0, 0x1 - ldrb r1, [r2] - strb r0, [r2] - bl sub_80FA510 - ldr r5, _080F9658 @ =gSendCmd - add r4, sp, 0x48 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_80F94BC - movs r1, 0xD4 - lsls r1, 3 - adds r0, r6, r1 - adds r1, r4, 0 - bl sub_80FC63C - movs r1, 0 - movs r2, 0 -_080F9618: - lsls r0, r1, 1 - adds r0, r5 - strh r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x6 - bls _080F9618 -_080F9628: - bl IsRfuRecvQueueEmpty - add sp, 0x58 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080F9638: .4byte Rfu+0x124 -_080F963C: .4byte gRecvCmds -_080F9640: .4byte gUnknown_3005E10 -_080F9644: .4byte Rfu -_080F9648: .4byte 0x0000099c -_080F964C: .4byte gRfuLinkStatus -_080F9650: .4byte gReceivedRemoteLinkPlayers -_080F9654: .4byte 0x00000988 -_080F9658: .4byte gSendCmd - thumb_func_end sub_80F9514 - - thumb_func_start sub_80F965C -sub_80F965C: @ 80F965C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _080F9708 @ =Rfu - ldr r2, [r0, 0x70] - mov r10, r2 - movs r5, 0 - adds r2, r0, 0 - adds r2, 0x6E - ldrh r3, [r2] - cmp r5, r3 - bge _080F96F8 - mov r9, r0 - ldr r0, _080F970C @ =gUnknown_3002008 - mov r8, r0 -_080F967E: - movs r0, 0x1 - ands r0, r1 - lsrs r7, r1, 1 - adds r6, r5, 0x1 - cmp r0, 0 - bne _080F96EC - ldr r1, _080F9710 @ =0xffff8900 - adds r0, r1, 0 - adds r1, r5, 0 - orrs r1, r0 - mov r2, r8 - strh r1, [r2] - movs r4, 0 - lsls r0, r5, 1 - ldr r3, _080F9714 @ =gUnknown_3001FF8 - mov r12, r3 - adds r0, r5 - lsls r0, 2 - mov r1, r10 - adds r2, r0, r1 - mov r3, r8 - adds r3, 0x2 -_080F96AA: - ldrb r1, [r2, 0x1] - lsls r1, 8 - ldrb r0, [r2] - orrs r0, r1 - strh r0, [r3] - adds r2, 0x2 - adds r3, 0x2 - adds r4, 0x1 - cmp r4, 0x6 - ble _080F96AA - movs r4, 0 - ldr r2, _080F970C @ =gUnknown_3002008 - ldr r1, _080F9714 @ =gUnknown_3001FF8 -_080F96C4: - ldrh r0, [r2] - lsrs r0, 8 - strb r0, [r1, 0x1] - ldrh r0, [r2] - strb r0, [r1] - adds r2, 0x2 - adds r1, 0x2 - adds r4, 0x1 - cmp r4, 0x6 - ble _080F96C4 - ldr r0, _080F9718 @ =Rfu+0x6a0 - mov r1, r12 - bl sub_80FC63C - movs r1, 0x1 - lsls r1, r5 - mov r2, r9 - ldr r0, [r2, 0x78] - orrs r0, r1 - str r0, [r2, 0x78] -_080F96EC: - adds r1, r7, 0 - adds r5, r6, 0 - ldr r3, _080F971C @ =Rfu+0x6e - ldrh r3, [r3] - cmp r5, r3 - blt _080F967E -_080F96F8: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F9708: .4byte Rfu -_080F970C: .4byte gUnknown_3002008 -_080F9710: .4byte 0xffff8900 -_080F9714: .4byte gUnknown_3001FF8 -_080F9718: .4byte Rfu+0x6a0 -_080F971C: .4byte Rfu+0x6e - thumb_func_end sub_80F965C - - thumb_func_start Rfu_SetBlockReceivedFlag -Rfu_SetBlockReceivedFlag: @ 80F9720 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - ldr r0, _080F973C @ =Rfu - ldrb r2, [r0, 0xC] - cmp r2, 0x1 - bne _080F9740 - cmp r1, 0 - beq _080F9740 - adds r0, 0x61 - adds r0, r1, r0 - strb r2, [r0] - b _080F9748 - .align 2, 0 -_080F973C: .4byte Rfu -_080F9740: - adds r0, 0x5C - adds r0, r1, r0 - movs r1, 0x1 - strb r1, [r0] -_080F9748: - pop {r0} - bx r0 - thumb_func_end Rfu_SetBlockReceivedFlag - - thumb_func_start Rfu_ResetBlockReceivedFlag -Rfu_ResetBlockReceivedFlag: @ 80F974C - lsls r0, 24 - lsrs r0, 24 - ldr r3, _080F976C @ =Rfu - adds r1, r3, 0 - adds r1, 0x5C - adds r1, r0, r1 - movs r2, 0 - strb r2, [r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - adds r1, 0x92 - strb r2, [r1] - bx lr - .align 2, 0 -_080F976C: .4byte Rfu - thumb_func_end Rfu_ResetBlockReceivedFlag - - thumb_func_start sub_80F9770 -sub_80F9770: @ 80F9770 - push {r4,r5,lr} - adds r3, r0, 0 - ldr r0, _080F9784 @ =Rfu - ldrb r1, [r0, 0xC] - adds r5, r0, 0 - cmp r1, 0x1 - bne _080F9788 - movs r0, 0 - b _080F97AA - .align 2, 0 -_080F9784: .4byte Rfu -_080F9788: - movs r2, 0 - ldr r0, _080F97B0 @ =0x00000996 - adds r4, r5, r0 -_080F978E: - adds r1, r2, r4 - adds r0, r3, r2 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _080F978E - ldr r1, _080F97B4 @ =0x000008f6 - adds r0, r5, r1 - ldrb r0, [r0] - adds r0, r3 - ldrb r0, [r0] -_080F97AA: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080F97B0: .4byte 0x00000996 -_080F97B4: .4byte 0x000008f6 - thumb_func_end sub_80F9770 - - thumb_func_start rfu_func_080F97B8 -rfu_func_080F97B8: @ 80F97B8 - push {lr} - ldr r0, _080F97F0 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _080F97EA - ldr r3, _080F97F4 @ =gHeldKeyCodeToSend - ldrh r2, [r3] - cmp r2, 0 - beq _080F97EA - ldr r0, _080F97F8 @ =gLinkTransferringData - ldrb r0, [r0] - cmp r0, 0x1 - beq _080F97EA - ldr r1, _080F97FC @ =gUnknown_3001188 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldrb r0, [r1] - lsls r0, 8 - orrs r0, r2 - strh r0, [r3] - movs r0, 0xBE - lsls r0, 8 - bl sub_80F9D04 -_080F97EA: - pop {r0} - bx r0 - .align 2, 0 -_080F97F0: .4byte gReceivedRemoteLinkPlayers -_080F97F4: .4byte gHeldKeyCodeToSend -_080F97F8: .4byte gLinkTransferringData -_080F97FC: .4byte gUnknown_3001188 - thumb_func_end rfu_func_080F97B8 - - thumb_func_start sub_80F9800 -sub_80F9800: @ 80F9800 - ldr r0, _080F9804 @ =gUnknown_3005440 - bx lr - .align 2, 0 -_080F9804: .4byte gUnknown_3005440 - thumb_func_end sub_80F9800 - - thumb_func_start IsSendingKeysToRfu -IsSendingKeysToRfu: @ 80F9808 - push {lr} - movs r2, 0 - ldr r0, _080F9820 @ =Rfu - ldr r1, [r0] - ldr r0, _080F9824 @ =rfu_func_080F97B8 - cmp r1, r0 - bne _080F9818 - movs r2, 0x1 -_080F9818: - adds r0, r2, 0 - pop {r1} - bx r1 - .align 2, 0 -_080F9820: .4byte Rfu -_080F9824: .4byte rfu_func_080F97B8 - thumb_func_end IsSendingKeysToRfu - - thumb_func_start sub_80F9828 -sub_80F9828: @ 80F9828 - push {r4,lr} - ldr r4, _080F9848 @ =Rfu - ldr r0, [r4] - cmp r0, 0 - beq _080F983E - ldr r0, _080F984C @ =gUnknown_843ED94 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu.c" - ldr r1, _080F9850 @ =0x000005c1 // 1473 - ldr r2, _080F9854 @ =gUnknown_843EDC4 "Rfu.RfuFunc == NULL" - movs r3, 0x1 - bl AGBAssert -_080F983E: - ldr r0, _080F9858 @ =rfu_func_080F97B8 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F9848: .4byte Rfu -_080F984C: .4byte gUnknown_843ED94 -_080F9850: .4byte 0x000005c1 -_080F9854: .4byte gUnknown_843EDC4 -_080F9858: .4byte rfu_func_080F97B8 - thumb_func_end sub_80F9828 - - thumb_func_start Rfu_set_zero -Rfu_set_zero: @ 80F985C - ldr r1, _080F9864 @ =Rfu - movs r0, 0 - str r0, [r1] - bx lr - .align 2, 0 -_080F9864: .4byte Rfu - thumb_func_end Rfu_set_zero - - thumb_func_start sub_80F9868 -sub_80F9868: @ 80F9868 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - movs r0, 0 - mov r8, r0 -_080F9876: - mov r1, r8 - lsls r5, r1, 4 - ldr r2, _080F98B4 @ =gRecvCmds - adds r0, r5, r2 - ldrh r7, [r0] - movs r3, 0xFF - lsls r3, 8 - adds r0, r3, 0 - adds r1, r0, 0 - ands r1, r7 - movs r0, 0x88 - lsls r0, 8 - adds r2, r5, 0 - cmp r1, r0 - beq _080F9954 - cmp r1, r0 - bgt _080F98CA - movs r0, 0xCC - lsls r0, 7 - cmp r1, r0 - bne _080F98A2 - b _080F9AD0 -_080F98A2: - cmp r1, r0 - bgt _080F98B8 - movs r0, 0xBE - lsls r0, 7 - cmp r1, r0 - bne _080F98B0 - b _080F9AC0 -_080F98B0: - b _080F9BF4 - .align 2, 0 -_080F98B4: .4byte gRecvCmds -_080F98B8: - movs r0, 0xEE - lsls r0, 7 - cmp r1, r0 - beq _080F9914 - movs r0, 0xF0 - lsls r0, 7 - cmp r1, r0 - beq _080F9902 - b _080F9BF4 -_080F98CA: - movs r0, 0xBE - lsls r0, 8 - cmp r1, r0 - bne _080F98D4 - b _080F9BE4 -_080F98D4: - cmp r1, r0 - bgt _080F98EC - movs r0, 0x89 - lsls r0, 8 - cmp r1, r0 - beq _080F99B8 - movs r0, 0xA1 - lsls r0, 8 - cmp r1, r0 - bne _080F98EA - b _080F9A9C -_080F98EA: - b _080F9BF4 -_080F98EC: - movs r0, 0xED - lsls r0, 8 - cmp r1, r0 - bne _080F98F6 - b _080F9B00 -_080F98F6: - movs r0, 0xEE - lsls r0, 8 - cmp r1, r0 - bne _080F9900 - b _080F9BA0 -_080F9900: - b _080F9BF4 -_080F9902: - ldr r4, _080F993C @ =Rfu - ldrb r0, [r4, 0xC] - cmp r0, 0 - bne _080F9914 - ldr r0, _080F9940 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _080F9914 - b _080F9C40 -_080F9914: - ldr r0, _080F9944 @ =gRfuLinkStatus - ldr r0, [r0] - ldrb r0, [r0] - mov r6, r8 - adds r6, 0x1 - cmp r0, 0 - beq _080F9924 - b _080F9BF8 -_080F9924: - ldr r1, _080F9948 @ =gRecvCmds + 2 - adds r0, r2, r1 - ldrh r0, [r0] - ldr r3, _080F993C @ =Rfu - strb r0, [r3, 0xD] - ldr r4, _080F994C @ =gRecvCmds + 4 - adds r0, r2, r4 - bl sub_80F9770 - ldr r1, _080F9950 @ =Rfu+0x986 - strb r0, [r1] - b _080F9BF8 - .align 2, 0 -_080F993C: .4byte Rfu -_080F9940: .4byte gReceivedRemoteLinkPlayers -_080F9944: .4byte gRfuLinkStatus -_080F9948: .4byte gRecvCmds + 2 -_080F994C: .4byte gRecvCmds + 4 -_080F9950: .4byte Rfu+0x986 -_080F9954: - ldr r2, _080F99AC @ =Rfu - mov r9, r2 - mov r3, r8 - lsls r0, r3, 2 - add r0, r8 - lsls r7, r0, 2 - adds r3, r7, r2 - movs r4, 0x92 - adds r4, r3 - mov r12, r4 - ldrb r4, [r4] - mov r6, r8 - adds r6, 0x1 - cmp r4, 0 - beq _080F9974 - b _080F9BF8 -_080F9974: - adds r0, r3, 0 - adds r0, 0x80 - movs r2, 0 - strh r4, [r0] - ldr r1, _080F99B0 @ =gRecvCmds + 2 - adds r0, r5, r1 - ldrh r0, [r0] - adds r1, r3, 0 - adds r1, 0x82 - strh r0, [r1] - ldr r1, _080F99B4 @ =gRecvCmds + 4 - adds r0, r5, r1 - ldrh r1, [r0] - adds r0, r3, 0 - adds r0, 0x91 - strb r1, [r0] - mov r0, r9 - adds r0, 0x88 - adds r0, r7, r0 - str r4, [r0] - movs r0, 0x1 - mov r3, r12 - strb r0, [r3] - mov r0, r9 - adds r0, 0x5C - add r0, r8 - strb r2, [r0] - b _080F9BF8 - .align 2, 0 -_080F99AC: .4byte Rfu -_080F99B0: .4byte gRecvCmds + 2 -_080F99B4: .4byte gRecvCmds + 4 -_080F99B8: - ldr r4, _080F9A88 @ =Rfu - mov r9, r4 - mov r0, r8 - lsls r1, r0, 2 - adds r0, r1, r0 - lsls r4, r0, 2 - mov r3, r9 - adds r2, r4, r3 - adds r0, r2, 0 - adds r0, 0x92 - ldrb r3, [r0] - mov r10, r1 - mov r6, r8 - adds r6, 0x1 - cmp r3, 0x1 - beq _080F99DA - b _080F9BF8 -_080F99DA: - movs r0, 0xFF - ands r0, r7 - adds r2, 0x80 - strh r0, [r2] - mov r1, r9 - adds r1, 0x88 - adds r1, r4, r1 - lsls r3, r0 - ldr r0, [r1] - orrs r0, r3 - str r0, [r1] - movs r4, 0 - ldr r0, _080F9A8C @ =gBlockRecvBuffer - mov r9, r0 - mov r12, r2 - mov r1, r8 - lsls r7, r1, 8 - adds r3, r5, 0 -_080F99FE: - mov r2, r12 - ldrh r0, [r2] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 1 - adds r1, r4 - lsls r1, 1 - adds r1, r7 - add r1, r9 - adds r2, r4, 0x1 - lsls r0, r2, 1 - adds r0, r3 - ldr r4, _080F9A90 @ =gRecvCmds - adds r0, r4 - ldrh r0, [r0] - strh r0, [r1] - lsls r2, 16 - lsrs r4, r2, 16 - cmp r4, 0x5 - bls _080F99FE - ldr r4, _080F9A88 @ =Rfu - mov r0, r10 - add r0, r8 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x88 - adds r1, r0, r1 - adds r2, r0, r4 - adds r0, r2, 0 - adds r0, 0x82 - ldrh r0, [r0] - lsls r0, 2 - ldr r3, _080F9A94 @ =gUnknown_843EBD4 - adds r0, r3 - ldr r1, [r1] - ldr r0, [r0] - cmp r1, r0 - beq _080F9A4C - b _080F9BF8 -_080F9A4C: - adds r1, r2, 0 - adds r1, 0x92 - movs r0, 0x2 - strb r0, [r1] - mov r1, r8 - lsls r0, r1, 24 - lsrs r0, 24 - bl Rfu_SetBlockReceivedFlag - bl sub_80F9800 - ldrb r1, [r0, 0xA] - movs r0, 0x7F - ands r0, r1 - cmp r0, 0x45 - beq _080F9A6E - b _080F9BF8 -_080F9A6E: - ldr r0, _080F9A98 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _080F9A78 - b _080F9BF8 -_080F9A78: - ldrb r0, [r4, 0xC] - cmp r0, 0 - beq _080F9A80 - b _080F9BF8 -_080F9A80: - ldr r0, _080F9A8C @ =gBlockRecvBuffer - bl sub_80FAA58 - b _080F9BF8 - .align 2, 0 -_080F9A88: .4byte Rfu -_080F9A8C: .4byte gBlockRecvBuffer -_080F9A90: .4byte gRecvCmds -_080F9A94: .4byte gUnknown_843EBD4 -_080F9A98: .4byte gReceivedRemoteLinkPlayers -_080F9A9C: - ldr r2, _080F9AB8 @ =gUnknown_843EC64 - ldr r3, _080F9ABC @ =gRecvCmds + 2 - adds r0, r5, r3 - ldrh r1, [r0] - lsls r1, 3 - adds r0, r1, r2 - ldr r0, [r0] - adds r2, 0x4 - adds r1, r2 - ldrh r1, [r1] - bl Rfu_InitBlockSend - b _080F9BF4 - .align 2, 0 -_080F9AB8: .4byte gUnknown_843EC64 -_080F9ABC: .4byte gRecvCmds + 2 -_080F9AC0: - ldr r1, _080F9ACC @ =Rfu+0xe4 - add r1, r8 - movs r0, 0x1 - strb r0, [r1] - b _080F9BF4 - .align 2, 0 -_080F9ACC: .4byte Rfu+0xe4 -_080F9AD0: - ldr r2, _080F9AF8 @ =Rfu - movs r4, 0x80 - lsls r4, 1 - adds r0, r2, r4 - ldr r3, _080F9AFC @ =gRecvCmds + 2 - adds r1, r5, r3 - ldrh r0, [r0] - mov r6, r8 - adds r6, 0x1 - ldrh r1, [r1] - cmp r0, r1 - beq _080F9AEA - b _080F9BF8 -_080F9AEA: - adds r0, r2, 0 - adds r0, 0xE9 - add r0, r8 - movs r1, 0x1 - strb r1, [r0] - b _080F9BF8 - .align 2, 0 -_080F9AF8: .4byte Rfu -_080F9AFC: .4byte gRecvCmds + 2 -_080F9B00: - ldr r7, _080F9B4C @ =Rfu - ldrb r2, [r7, 0xC] - cmp r2, 0 - bne _080F9B68 - ldr r3, _080F9B50 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r3] - mov r6, r8 - adds r6, 0x1 - cmp r0, 0 - beq _080F9BF8 - ldr r0, _080F9B54 @ =gRecvCmds + 2 - adds r4, r5, r0 - ldrh r1, [r4] - ldr r0, _080F9B58 @ =gRfuLinkStatus - ldr r0, [r0] - ldrb r0, [r0, 0x2] - ands r1, r0 - cmp r1, 0 - beq _080F9B38 - strb r2, [r3] - bl sub_80FEB14 - ldr r1, _080F9B5C @ =gRecvCmds + 4 - adds r0, r5, r1 - ldrh r1, [r0] - ldr r2, _080F9B60 @ =0x0000099c - adds r0, r7, r2 - strb r1, [r0] -_080F9B38: - ldr r0, _080F9B64 @ =gRecvCmds - adds r0, 0x6 - adds r0, r5, r0 - ldrh r0, [r0] - strb r0, [r7, 0xD] - ldrh r0, [r4] - bl sub_80FA9D0 - b _080F9BF8 - .align 2, 0 -_080F9B4C: .4byte Rfu -_080F9B50: .4byte gReceivedRemoteLinkPlayers -_080F9B54: .4byte gRecvCmds + 2 -_080F9B58: .4byte gRfuLinkStatus -_080F9B5C: .4byte gRecvCmds + 4 -_080F9B60: .4byte 0x0000099c -_080F9B64: .4byte gRecvCmds -_080F9B68: - movs r0, 0xEE - lsls r0, 8 - bl sub_80F9D04 - ldr r1, _080F9B90 @ =gSendCmd - ldr r3, _080F9B94 @ =gRecvCmds + 2 - adds r0, r5, r3 - ldrh r0, [r0] - strh r0, [r1, 0x2] - ldr r4, _080F9B98 @ =gRecvCmds + 4 - adds r0, r5, r4 - ldrh r0, [r0] - strh r0, [r1, 0x4] - ldr r0, _080F9B9C @ =gRecvCmds - adds r0, 0x6 - adds r0, r5, r0 - ldrh r0, [r0] - strh r0, [r1, 0x6] - b _080F9BF4 - .align 2, 0 -_080F9B90: .4byte gSendCmd -_080F9B94: .4byte gRecvCmds + 2 -_080F9B98: .4byte gRecvCmds + 4 -_080F9B9C: .4byte gRecvCmds -_080F9BA0: - ldr r4, _080F9BD0 @ =Rfu - ldrb r0, [r4, 0xC] - mov r6, r8 - adds r6, 0x1 - cmp r0, 0x1 - bne _080F9C34 - ldr r0, _080F9BD4 @ =0x0000099b - adds r2, r4, r0 - ldr r1, _080F9BD8 @ =gRecvCmds + 2 - adds r3, r5, r1 - ldrb r1, [r3] - ldrb r0, [r2] - orrs r0, r1 - strb r0, [r2] - ldr r2, _080F9BDC @ =gRecvCmds + 4 - adds r0, r5, r2 - ldrh r1, [r0] - ldr r2, _080F9BE0 @ =0x0000099c - adds r0, r4, r2 - strb r1, [r0] - ldrh r0, [r3] - bl sub_80FA9D0 - b _080F9BF8 - .align 2, 0 -_080F9BD0: .4byte Rfu -_080F9BD4: .4byte 0x0000099b -_080F9BD8: .4byte gRecvCmds + 2 -_080F9BDC: .4byte gRecvCmds + 4 -_080F9BE0: .4byte 0x0000099c -_080F9BE4: - ldr r0, _080F9C24 @ =gLinkPartnersHeldKeys - mov r3, r8 - lsls r1, r3, 1 - adds r1, r0 - ldr r4, _080F9C28 @ =gRecvCmds + 2 - adds r0, r5, r4 - ldrh r0, [r0] - strh r0, [r1] -_080F9BF4: - mov r6, r8 - adds r6, 0x1 -_080F9BF8: - ldr r3, _080F9C2C @ =Rfu - ldrb r4, [r3, 0xC] - cmp r4, 0x1 - bne _080F9C34 - adds r0, r3, 0 - adds r0, 0x61 - mov r1, r8 - adds r2, r1, r0 - ldrb r0, [r2] - adds r1, r0, 0 - cmp r1, 0 - beq _080F9C34 - cmp r1, 0x4 - bne _080F9C30 - adds r0, r3, 0 - adds r0, 0x5C - add r0, r8 - movs r1, 0 - strb r4, [r0] - strb r1, [r2] - b _080F9C34 - .align 2, 0 -_080F9C24: .4byte gLinkPartnersHeldKeys -_080F9C28: .4byte gRecvCmds + 2 -_080F9C2C: .4byte Rfu -_080F9C30: - adds r0, 0x1 - strb r0, [r2] -_080F9C34: - lsls r0, r6, 16 - lsrs r0, 16 - mov r8, r0 - cmp r0, 0x4 - bhi _080F9C40 - b _080F9876 -_080F9C40: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80F9868 - - thumb_func_start sub_80F9C50 -sub_80F9C50: @ 80F9C50 - push {lr} - movs r2, 0 - ldr r0, _080F9C64 @ =Rfu - adds r1, r0, 0 - adds r1, 0x92 -_080F9C5A: - ldrb r0, [r1] - cmp r0, 0 - beq _080F9C68 - movs r0, 0 - b _080F9C72 - .align 2, 0 -_080F9C64: .4byte Rfu -_080F9C68: - adds r1, 0x14 - adds r2, 0x1 - cmp r2, 0x4 - ble _080F9C5A - movs r0, 0x1 -_080F9C72: - pop {r1} - bx r1 - thumb_func_end sub_80F9C50 - - thumb_func_start sub_80F9C78 -sub_80F9C78: @ 80F9C78 - push {r4,lr} - movs r1, 0 - ldr r2, _080F9CA0 @ =Rfu - ldrb r0, [r2, 0xD] - cmp r1, r0 - bge _080F9CAC - adds r4, r0, 0 - adds r3, r2, 0 - adds r3, 0x92 - adds r2, 0x5C -_080F9C8C: - ldrb r0, [r3] - cmp r0, 0x2 - bne _080F9C9A - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x1 - beq _080F9CA4 -_080F9C9A: - movs r0, 0 - b _080F9CAE - .align 2, 0 -_080F9CA0: .4byte Rfu -_080F9CA4: - adds r3, 0x14 - adds r1, 0x1 - cmp r1, r4 - blt _080F9C8C -_080F9CAC: - movs r0, 0x1 -_080F9CAE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80F9C78 - - thumb_func_start sub_80F9CB4 -sub_80F9CB4: @ 80F9CB4 - movs r2, 0 - movs r1, 0 - strh r1, [r0] - strh r1, [r0, 0x2] - str r1, [r0, 0x4] - str r1, [r0, 0x8] - strb r2, [r0, 0x10] - strb r2, [r0, 0x11] - strb r2, [r0, 0x12] - bx lr - thumb_func_end sub_80F9CB4 - - thumb_func_start Rfu_GetBlockReceivedStatus -Rfu_GetBlockReceivedStatus: @ 80F9CC8 - push {r4,lr} - movs r2, 0 - movs r1, 0 - ldr r0, _080F9D00 @ =Rfu - adds r3, r0, 0 - adds r3, 0x92 - adds r4, r0, 0 - adds r4, 0x5C -_080F9CD8: - ldrb r0, [r3] - cmp r0, 0x2 - bne _080F9CEE - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080F9CEE - lsls r0, r1 - orrs r2, r0 - lsls r0, r2, 24 - lsrs r2, r0, 24 -_080F9CEE: - adds r3, 0x14 - adds r1, 0x1 - cmp r1, 0x4 - ble _080F9CD8 - adds r0, r2, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080F9D00: .4byte Rfu - thumb_func_end Rfu_GetBlockReceivedStatus - - thumb_func_start sub_80F9D04 -sub_80F9D04: @ 80F9D04 - push {r4,r5,lr} - lsls r0, 16 - lsrs r1, r0, 16 - ldr r5, _080F9D34 @ =gSendCmd - strh r1, [r5] - movs r0, 0xF0 - lsls r0, 7 - adds r4, r5, 0 - cmp r1, r0 - beq _080F9D98 - cmp r1, r0 - bgt _080F9D4A - movs r0, 0xBE - lsls r0, 7 - cmp r1, r0 - beq _080F9DE8 - cmp r1, r0 - bgt _080F9D38 - movs r0, 0xBC - lsls r0, 6 - cmp r1, r0 - beq _080F9DFC - b _080F9E22 - .align 2, 0 -_080F9D34: .4byte gSendCmd -_080F9D38: - movs r0, 0xCC - lsls r0, 7 - cmp r1, r0 - beq _080F9DE8 - movs r0, 0xEE - lsls r0, 7 - cmp r1, r0 - beq _080F9D98 - b _080F9E22 -_080F9D4A: - movs r0, 0xBE - lsls r0, 8 - cmp r1, r0 - beq _080F9E1C - cmp r1, r0 - bgt _080F9E22 - movs r0, 0x88 - lsls r0, 8 - cmp r1, r0 - beq _080F9D68 - movs r0, 0xA1 - lsls r0, 8 - cmp r1, r0 - beq _080F9D80 - b _080F9E22 -_080F9D68: - ldr r0, _080F9D7C @ =Rfu - adds r1, r0, 0 - adds r1, 0x6E - ldrh r1, [r1] - strh r1, [r5, 0x2] - adds r0, 0x7D - ldrb r0, [r0] - adds r0, 0x80 - strh r0, [r5, 0x4] - b _080F9E22 - .align 2, 0 -_080F9D7C: .4byte Rfu -_080F9D80: - bl sub_80F9C50 - lsls r0, 24 - cmp r0, 0 - beq _080F9E22 - ldr r0, _080F9D94 @ =Rfu - adds r0, 0x5A - ldrb r0, [r0] - b _080F9E20 - .align 2, 0 -_080F9D94: .4byte Rfu -_080F9D98: - ldr r3, _080F9DD4 @ =Rfu - ldr r1, _080F9DD8 @ =0x0000099a - adds r0, r3, r1 - ldr r2, _080F9DDC @ =0x0000099b - adds r1, r3, r2 - ldrb r2, [r0] - ldrb r0, [r1] - eors r0, r2 - ldr r1, _080F9DE0 @ =gUnknown_843EC41 - adds r0, r1 - ldrb r0, [r0] - adds r0, 0x1 - strb r0, [r3, 0xD] - ldrb r0, [r3, 0xD] - strh r0, [r4, 0x2] - adds r2, r4, 0x4 - movs r4, 0 - ldr r0, _080F9DE4 @ =0x00000996 - adds r3, r0 -_080F9DBE: - adds r1, r2, r4 - adds r0, r4, r3 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - bls _080F9DBE - b _080F9E22 - .align 2, 0 -_080F9DD4: .4byte Rfu -_080F9DD8: .4byte 0x0000099a -_080F9DDC: .4byte 0x0000099b -_080F9DE0: .4byte gUnknown_843EC41 -_080F9DE4: .4byte 0x00000996 -_080F9DE8: - ldr r0, _080F9DF8 @ =Rfu - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r4, 0x2] - b _080F9E22 - .align 2, 0 -_080F9DF8: .4byte Rfu -_080F9DFC: - movs r4, 0 - ldr r3, _080F9E18 @ =Rfu+0xf2 -_080F9E00: - adds r2, r4, 0x1 - lsls r1, r2, 1 - adds r1, r5 - lsls r0, r4, 1 - adds r0, r3 - ldrh r0, [r0] - strh r0, [r1] - lsls r2, 24 - lsrs r4, r2, 24 - cmp r4, 0x5 - bls _080F9E00 - b _080F9E22 - .align 2, 0 -_080F9E18: .4byte Rfu+0xf2 -_080F9E1C: - ldr r0, _080F9E28 @ =gHeldKeyCodeToSend - ldrh r0, [r0] -_080F9E20: - strh r0, [r5, 0x2] -_080F9E22: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080F9E28: .4byte gHeldKeyCodeToSend - thumb_func_end sub_80F9D04 - - thumb_func_start sub_80F9E2C -sub_80F9E2C: @ 80F9E2C - push {r4,lr} - adds r4, r0, 0 - ldr r0, _080F9E58 @ =gSendCmd - ldrh r0, [r0] - cmp r0, 0 - bne _080F9E52 - bl sub_80FBA00 - cmp r0, 0 - bne _080F9E52 - ldr r0, _080F9E5C @ =Rfu+0xf2 - adds r1, r4, 0 - movs r2, 0xC - bl memcpy - movs r0, 0xBC - lsls r0, 6 - bl sub_80F9D04 -_080F9E52: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F9E58: .4byte gSendCmd -_080F9E5C: .4byte Rfu+0xf2 - thumb_func_end sub_80F9E2C - - thumb_func_start Rfu_InitBlockSend -Rfu_InitBlockSend: @ 80F9E60 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r7, r0, 0 - adds r6, r1, 0 - cmp r6, 0xFC - bls _080F9E7C - ldr r0, _080F9EA8 @ =gUnknown_843ED94 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu.c" - ldr r1, _080F9EAC @ =0x00000701 // 1793 - ldr r2, _080F9EB0 @ =gUnknown_843EDD8 "size<=252" - movs r3, 0x1 - bl AGBAssert -_080F9E7C: - ldr r5, _080F9EB4 @ =Rfu - ldr r0, [r5] - cmp r0, 0 - bne _080F9EA4 - ldr r0, _080F9EB8 @ =gSendCmd - ldrh r0, [r0] - cmp r0, 0 - bne _080F9EA4 - movs r0, 0x7C - adds r0, r5 - mov r9, r0 - ldrb r1, [r0] - mov r8, r1 - cmp r1, 0 - beq _080F9EC0 - ldr r1, _080F9EBC @ =gUnknown_203AC08 - adds r1, 0x83 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080F9EA4: - movs r0, 0 - b _080F9F2A - .align 2, 0 -_080F9EA8: .4byte gUnknown_843ED94 -_080F9EAC: .4byte 0x00000701 -_080F9EB0: .4byte gUnknown_843EDD8 -_080F9EB4: .4byte Rfu -_080F9EB8: .4byte gSendCmd -_080F9EBC: .4byte gUnknown_203AC08 -_080F9EC0: - adds r0, r6, 0 - movs r1, 0xC - bl __umodsi3 - negs r4, r0 - orrs r4, r0 - lsrs r4, 31 - bl GetMultiplayerId - adds r1, r5, 0 - adds r1, 0x7D - strb r0, [r1] - movs r0, 0x1 - mov r1, r9 - strb r0, [r1] - adds r0, r6, 0 - movs r1, 0xC - bl __udivsi3 - adds r0, r4 - adds r1, r5, 0 - adds r1, 0x6E - strh r0, [r1] - adds r0, r5, 0 - adds r0, 0x6C - mov r1, r8 - strh r1, [r0] - movs r0, 0x80 - lsls r0, 1 - cmp r6, r0 - bls _080F9F02 - str r7, [r5, 0x70] - b _080F9F14 -_080F9F02: - ldr r4, _080F9F38 @ =gBlockSendBuffer - cmp r7, r4 - beq _080F9F12 - adds r0, r4, 0 - adds r1, r7, 0 - adds r2, r6, 0 - bl memcpy -_080F9F12: - str r4, [r5, 0x70] -_080F9F14: - movs r0, 0x88 - lsls r0, 8 - bl sub_80F9D04 - ldr r0, _080F9F3C @ =Rfu - ldr r1, _080F9F40 @ =rfufunc_80F9F44 - str r1, [r0] - adds r0, 0x5B - movs r1, 0 - strb r1, [r0] - movs r0, 0x1 -_080F9F2A: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080F9F38: .4byte gBlockSendBuffer -_080F9F3C: .4byte Rfu -_080F9F40: .4byte rfufunc_80F9F44 - thumb_func_end Rfu_InitBlockSend - - thumb_func_start rfufunc_80F9F44 -rfufunc_80F9F44: @ 80F9F44 - push {r4,r5,lr} - ldr r0, _080F9F74 @ =gSendCmd - ldrh r0, [r0] - cmp r0, 0 - bne _080F9F98 - movs r5, 0x88 - lsls r5, 8 - adds r0, r5, 0 - bl sub_80F9D04 - ldr r4, _080F9F78 @ =Rfu - ldrb r0, [r4, 0xC] - cmp r0, 0x1 - bne _080F9F7C - adds r1, r4, 0 - adds r1, 0x5B - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bls _080F9F98 - b _080F9F94 - .align 2, 0 -_080F9F74: .4byte gSendCmd -_080F9F78: .4byte Rfu -_080F9F7C: - bl GetMultiplayerId - ldr r1, _080F9FA0 @ =gRecvCmds - lsls r0, 24 - lsrs r0, 20 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - cmp r0, r5 - bne _080F9F98 -_080F9F94: - ldr r0, _080F9FA4 @ =sub_80F9FA8 - str r0, [r4] -_080F9F98: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080F9FA0: .4byte gRecvCmds -_080F9FA4: .4byte sub_80F9FA8 - thumb_func_end rfufunc_80F9F44 - - thumb_func_start sub_80F9FA8 -sub_80F9FA8: @ 80F9FA8 - push {r4-r6,lr} - ldr r0, _080FA014 @ =Rfu - mov r12, r0 - ldr r5, [r0, 0x70] - ldr r3, _080FA018 @ =gSendCmd - mov r2, r12 - adds r2, 0x6C - ldrh r1, [r2] - movs r4, 0x89 - lsls r4, 8 - adds r0, r4, 0 - orrs r0, r1 - strh r0, [r3] - movs r4, 0 - adds r6, r2, 0 - adds r3, 0x2 -_080F9FC8: - lsls r2, r4, 1 - ldrh r1, [r6] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, r5 - ldrb r1, [r0, 0x1] - lsls r1, 8 - ldrb r0, [r0] - orrs r0, r1 - strh r0, [r3] - adds r3, 0x2 - adds r4, 0x1 - cmp r4, 0x6 - ble _080F9FC8 - mov r0, r12 - adds r0, 0x6C - ldrh r1, [r0] - adds r1, 0x1 - strh r1, [r0] - adds r0, 0x2 - ldrh r0, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r0, r1 - bhi _080FA00C - mov r0, r12 - adds r0, 0x7C - movs r1, 0 - strb r1, [r0] - ldr r0, _080FA01C @ =rfufunc_80FA020 - mov r1, r12 - str r0, [r1] -_080FA00C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080FA014: .4byte Rfu -_080FA018: .4byte gSendCmd -_080FA01C: .4byte rfufunc_80FA020 - thumb_func_end sub_80F9FA8 - - thumb_func_start rfufunc_80FA020 -rfufunc_80FA020: @ 80FA020 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r5, _080FA0C8 @ =Rfu - ldr r0, [r5, 0x70] - mov r8, r0 - bl GetMultiplayerId - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r0, [r5, 0xC] - cmp r0, 0 - bne _080FA0E8 - ldr r3, _080FA0CC @ =gSendCmd - adds r2, r5, 0 - adds r2, 0x6E - ldrh r0, [r2] - subs r0, 0x1 - ldr r4, _080FA0D0 @ =0xffff8900 - adds r1, r4, 0 - orrs r0, r1 - strh r0, [r3] - movs r4, 0 - mov r9, r5 - ldr r0, _080FA0D4 @ =gRecvCmds - mov r12, r0 - lsls r5, r6, 4 - adds r7, r2, 0 - adds r3, 0x2 -_080FA05C: - lsls r2, r4, 1 - ldrh r1, [r7] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - add r0, r8 - adds r1, r0, 0 - subs r1, 0xB - ldrb r1, [r1] - lsls r1, 8 - subs r0, 0xC - ldrb r0, [r0] - orrs r0, r1 - strh r0, [r3] - adds r3, 0x2 - adds r4, 0x1 - cmp r4, 0x6 - ble _080FA05C - mov r1, r12 - adds r0, r5, r1 - ldrb r1, [r0] - mov r3, r9 - adds r0, r3, 0 - adds r0, 0x6E - ldrh r0, [r0] - subs r0, 0x1 - cmp r1, r0 - bne _080FA0EC - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 2 - adds r1, r3, 0 - adds r1, 0x88 - adds r1, r0, r1 - ldr r2, _080FA0D8 @ =gUnknown_843EBD4 - adds r0, r3 - adds r0, 0x82 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r2 - ldr r1, [r1] - ldr r0, [r0] - cmp r1, r0 - beq _080FA0E0 - adds r0, r6, 0 - bl sub_80F965C - ldr r1, _080FA0DC @ =gUnknown_203AC08 - adds r1, 0x64 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _080FA0EC - .align 2, 0 -_080FA0C8: .4byte Rfu -_080FA0CC: .4byte gSendCmd -_080FA0D0: .4byte 0xffff8900 -_080FA0D4: .4byte gRecvCmds -_080FA0D8: .4byte gUnknown_843EBD4 -_080FA0DC: .4byte gUnknown_203AC08 -_080FA0E0: - movs r0, 0 - mov r4, r9 - str r0, [r4] - b _080FA0EC -_080FA0E8: - movs r0, 0 - str r0, [r5] -_080FA0EC: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end rfufunc_80FA020 - thumb_func_start sub_80FA0F8 sub_80FA0F8: @ 80FA0F8 push {lr} |