summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorPikalaxALT <PikalaxALT@gmail.com>2020-01-13 22:08:11 -0500
committerPikalaxALT <PikalaxALT@gmail.com>2020-01-13 22:08:11 -0500
commitd9ea5a08159ededd81fc0d8c33b0270b925081b6 (patch)
tree5e9764a3c67db5c7f971279f75de6391c1eaeb46 /asm
parent36306a82d131eee74c48e0ca6e66fff97dcffac2 (diff)
link_rfu_2 through rfufunc_80FA020
Diffstat (limited to 'asm')
-rw-r--r--asm/link_rfu_2.s2298
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}