diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/link_rfu_2.s | 4661 | ||||
-rw-r--r-- | asm/overworld.s | 2 |
2 files changed, 1 insertions, 4662 deletions
diff --git a/asm/link_rfu_2.s b/asm/link_rfu_2.s index e67fa8ccf..2428f2984 100644 --- a/asm/link_rfu_2.s +++ b/asm/link_rfu_2.s @@ -5,4665 +5,4 @@ .text - thumb_func_start sub_80FA0F8 -sub_80FA0F8: @ 80FA0F8 - push {lr} - ldr r1, _080FA110 @ =Rfu - adds r1, 0x5A - strb r0, [r1] - movs r0, 0xA1 - lsls r0, 8 - bl sub_80F9D04 - movs r0, 0x1 - pop {r1} - bx r1 - .align 2, 0 -_080FA110: .4byte Rfu - thumb_func_end sub_80FA0F8 - - thumb_func_start sub_80FA114 -sub_80FA114: @ 80FA114 - push {lr} - bl rfu_clearAllSlot - bl sub_80FD52C - ldr r1, _080FA138 @ =gReceivedRemoteLinkPlayers - movs r0, 0 - strb r0, [r1] - ldr r2, _080FA13C @ =Rfu - adds r3, r2, 0 - adds r3, 0xEF - movs r1, 0 - movs r0, 0x1 - strb r0, [r3] - str r1, [r2] - pop {r0} - bx r0 - .align 2, 0 -_080FA138: .4byte gReceivedRemoteLinkPlayers -_080FA13C: .4byte Rfu - thumb_func_end sub_80FA114 - - thumb_func_start sub_80FA140 -sub_80FA140: @ 80FA140 - push {lr} - ldr r0, _080FA15C @ =gRfuLinkStatus - ldr r0, [r0] - ldrb r1, [r0, 0x2] - ldrb r0, [r0, 0x3] - orrs r0, r1 - bl rfu_REQ_disconnect - bl rfu_waitREQComplete - bl sub_80FA114 - pop {r0} - bx r0 - .align 2, 0 -_080FA15C: .4byte gRfuLinkStatus - thumb_func_end sub_80FA140 - - thumb_func_start sub_80FA160 -sub_80FA160: @ 80FA160 - push {r4,lr} - ldr r4, _080FA178 @ =Rfu - ldrb r0, [r4, 0xC] - cmp r0, 0 - bne _080FA180 - bl sub_80FEB14 - ldr r0, _080FA17C @ =0x0000099c - adds r1, r4, r0 - movs r0, 0x2 - strb r0, [r1] - b _080FA184 - .align 2, 0 -_080FA178: .4byte Rfu -_080FA17C: .4byte 0x0000099c -_080FA180: - ldr r0, _080FA18C @ =sub_80FA140 - str r0, [r4] -_080FA184: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FA18C: .4byte sub_80FA140 - thumb_func_end sub_80FA160 - - thumb_func_start sub_80FA190 -sub_80FA190: @ 80FA190 - push {lr} - bl sub_80FEB14 - ldr r2, _080FA1B4 @ =Rfu - ldr r0, _080FA1B8 @ =0x0000099c - adds r1, r2, r0 - movs r0, 0x1 - strb r0, [r1] - ldr r0, _080FA1BC @ =gRfuLinkStatus - ldr r1, [r0] - ldrb r0, [r1, 0x2] - ldrb r1, [r1, 0x3] - orrs r0, r1 - ldr r1, _080FA1C0 @ =0x0000099b - adds r2, r1 - strb r0, [r2] - pop {r0} - bx r0 - .align 2, 0 -_080FA1B4: .4byte Rfu -_080FA1B8: .4byte 0x0000099c -_080FA1BC: .4byte gRfuLinkStatus -_080FA1C0: .4byte 0x0000099b - thumb_func_end sub_80FA190 - - thumb_func_start sub_80FA1C4 -sub_80FA1C4: @ 80FA1C4 - push {r4,r5,lr} - ldr r0, _080FA208 @ =Rfu - ldrb r5, [r0, 0xD] - movs r2, 0 - movs r1, 0 - adds r3, r0, 0 - adds r4, r3, 0 - adds r4, 0xE4 -_080FA1D4: - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _080FA1DE - adds r2, 0x1 -_080FA1DE: - adds r1, 0x1 - cmp r1, 0x4 - ble _080FA1D4 - cmp r2, r5 - bne _080FA218 - ldr r2, _080FA20C @ =gBattleTypeFlags - ldr r0, [r2] - ldr r1, _080FA210 @ =0x0000ffdf - ands r0, r1 - str r0, [r2] - ldrb r0, [r3, 0xC] - cmp r0, 0 - bne _080FA214 - adds r0, r3, 0 - adds r0, 0xEE - ldrb r1, [r0] - movs r1, 0x3 - strb r1, [r0] - bl sub_80FA160 - b _080FA218 - .align 2, 0 -_080FA208: .4byte Rfu -_080FA20C: .4byte gBattleTypeFlags -_080FA210: .4byte 0x0000ffdf -_080FA214: - ldr r0, _080FA220 @ =sub_80FA160 - str r0, [r3] -_080FA218: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080FA220: .4byte sub_80FA160 - thumb_func_end sub_80FA1C4 - - thumb_func_start sub_80FA224 -sub_80FA224: @ 80FA224 - push {r4,lr} - ldr r0, _080FA250 @ =gSendCmd - ldrh r0, [r0] - cmp r0, 0 - bne _080FA248 - ldr r4, _080FA254 @ =Rfu - movs r1, 0x9A - lsls r1, 4 - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080FA248 - movs r0, 0xBE - lsls r0, 7 - bl sub_80F9D04 - ldr r0, _080FA258 @ =sub_80FA1C4 - str r0, [r4] -_080FA248: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FA250: .4byte gSendCmd -_080FA254: .4byte Rfu -_080FA258: .4byte sub_80FA1C4 - thumb_func_end sub_80FA224 - - thumb_func_start sub_80FA25C -sub_80FA25C: @ 80FA25C - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, _080FA280 @ =Rfu - ldr r0, [r2] - cmp r0, 0 - bne _080FA27C - ldr r1, _080FA284 @ =0x00000991 - adds r0, r2, r1 - movs r1, 0x1 - strb r1, [r0] - ldr r0, _080FA288 @ =sub_80FA224 - str r0, [r2] - adds r0, r3, 0 - bl DestroyTask -_080FA27C: - pop {r0} - bx r0 - .align 2, 0 -_080FA280: .4byte Rfu -_080FA284: .4byte 0x00000991 -_080FA288: .4byte sub_80FA224 - thumb_func_end sub_80FA25C - - thumb_func_start task_add_05_task_del_08FA224_when_no_RfuFunc -task_add_05_task_del_08FA224_when_no_RfuFunc: @ 80FA28C - push {r4,lr} - ldr r4, _080FA2AC @ =sub_80FA25C - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _080FA2A4 - adds r0, r4, 0 - movs r1, 0x5 - bl CreateTask -_080FA2A4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FA2AC: .4byte sub_80FA25C - thumb_func_end task_add_05_task_del_08FA224_when_no_RfuFunc - - thumb_func_start sub_80FA2B0 -sub_80FA2B0: @ 80FA2B0 - push {r4,r5,lr} - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - beq _080FA2DE - ldr r1, _080FA348 @ =Rfu - ldr r2, _080FA34C @ =0x0000069e - adds r0, r1, r2 - ldrb r0, [r0] - adds r4, r0, 0 - cmp r4, 0 - bne _080FA2DE - adds r5, r1, 0 - adds r5, 0xFE - ldrh r0, [r5] - cmp r0, 0x3C - bls _080FA2DE - movs r0, 0xCC - lsls r0, 7 - bl sub_80F9D04 - strh r4, [r5] -_080FA2DE: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r2, r0, 24 - movs r1, 0 - cmp r1, r2 - bcs _080FA30A - ldr r0, _080FA348 @ =Rfu - adds r3, r0, 0 - adds r3, 0xE9 - ldrb r0, [r3] - cmp r0, 0 - beq _080FA30A -_080FA2F8: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, r2 - bcs _080FA30A - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _080FA2F8 -_080FA30A: - ldr r4, _080FA348 @ =Rfu - cmp r1, r2 - bne _080FA336 - movs r1, 0 - adds r3, r4, 0 - adds r3, 0xE9 - movs r2, 0 -_080FA318: - adds r0, r1, r3 - strb r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x4 - bls _080FA318 - movs r1, 0x80 - lsls r1, 1 - adds r0, r4, r1 - ldrh r1, [r0] - adds r1, 0x1 - movs r2, 0 - strh r1, [r0] - str r2, [r4] -_080FA336: - adds r1, r4, 0 - adds r1, 0xFE - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080FA348: .4byte Rfu -_080FA34C: .4byte 0x0000069e - thumb_func_end sub_80FA2B0 - - thumb_func_start sub_80FA350 -sub_80FA350: @ 80FA350 - push {r4,lr} - ldr r4, _080FA378 @ =Rfu - ldr r1, _080FA37C @ =0x0000069e - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080FA372 - ldr r0, _080FA380 @ =gSendCmd - ldrh r0, [r0] - cmp r0, 0 - bne _080FA372 - movs r0, 0xCC - lsls r0, 7 - bl sub_80F9D04 - ldr r0, _080FA384 @ =sub_80FA2B0 - str r0, [r4] -_080FA372: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FA378: .4byte Rfu -_080FA37C: .4byte 0x0000069e -_080FA380: .4byte gSendCmd -_080FA384: .4byte sub_80FA2B0 - thumb_func_end sub_80FA350 - - thumb_func_start sub_80FA388 -sub_80FA388: @ 80FA388 - push {r4,lr} - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - beq _080FA3C4 - ldr r4, _080FA3B4 @ =Rfu - ldr r1, _080FA3B8 @ =0x0000069e - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080FA416 - ldr r0, _080FA3BC @ =gSendCmd - ldrh r0, [r0] - cmp r0, 0 - bne _080FA416 - movs r0, 0xCC - lsls r0, 7 - bl sub_80F9D04 - ldr r0, _080FA3C0 @ =sub_80FA2B0 - b _080FA414 - .align 2, 0 -_080FA3B4: .4byte Rfu -_080FA3B8: .4byte 0x0000069e -_080FA3BC: .4byte gSendCmd -_080FA3C0: .4byte sub_80FA2B0 -_080FA3C4: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r2, r0, 24 - movs r1, 0x1 - cmp r1, r2 - bcs _080FA3F2 - ldr r3, _080FA41C @ =Rfu - adds r0, r3, 0 - adds r0, 0xEA - ldrb r0, [r0] - cmp r0, 0 - beq _080FA3F2 - adds r3, 0xE9 -_080FA3E0: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, r2 - bcs _080FA3F2 - adds r0, r1, r3 - ldrb r0, [r0] - cmp r0, 0 - bne _080FA3E0 -_080FA3F2: - cmp r1, r2 - bne _080FA416 - ldr r4, _080FA41C @ =Rfu - ldr r1, _080FA420 @ =0x0000069e - adds r0, r4, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080FA416 - ldr r0, _080FA424 @ =gSendCmd - ldrh r0, [r0] - cmp r0, 0 - bne _080FA416 - movs r0, 0xCC - lsls r0, 7 - bl sub_80F9D04 - ldr r0, _080FA428 @ =sub_80FA350 -_080FA414: - str r0, [r4] -_080FA416: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FA41C: .4byte Rfu -_080FA420: .4byte 0x0000069e -_080FA424: .4byte gSendCmd -_080FA428: .4byte sub_80FA350 - thumb_func_end sub_80FA388 - - thumb_func_start sub_80FA42C -sub_80FA42C: @ 80FA42C - push {lr} - ldr r1, _080FA444 @ =Rfu - ldr r2, [r1] - cmp r2, 0 - bne _080FA440 - ldr r0, _080FA448 @ =sub_80FA388 - str r0, [r1] - adds r0, r1, 0 - adds r0, 0xFE - strh r2, [r0] -_080FA440: - pop {r0} - bx r0 - .align 2, 0 -_080FA444: .4byte Rfu -_080FA448: .4byte sub_80FA388 - thumb_func_end sub_80FA42C - - thumb_func_start sub_80FA44C -sub_80FA44C: @ 80FA44C - push {r4,lr} - adds r3, r0, 0 - ldr r1, _080FA468 @ =gUnknown_843EC8C - ldrh r0, [r1] - cmp r0, r3 - beq _080FA47A - ldr r4, _080FA46C @ =0x0000ffff - adds r2, r1, 0 -_080FA45C: - ldrh r0, [r2] - cmp r0, r4 - bne _080FA470 - movs r0, 0 - b _080FA47C - .align 2, 0 -_080FA468: .4byte gUnknown_843EC8C -_080FA46C: .4byte 0x0000ffff -_080FA470: - adds r1, 0x2 - adds r2, 0x2 - ldrh r0, [r1] - cmp r0, r3 - bne _080FA45C -_080FA47A: - movs r0, 0x1 -_080FA47C: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80FA44C - - thumb_func_start sub_80FA484 -sub_80FA484: @ 80FA484 - push {lr} - cmp r0, 0 - beq _080FA498 - movs r1, 0x96 - lsls r1, 2 - movs r0, 0x1 - bl sub_80FEA34 - movs r0, 0 - b _080FA4A4 -_080FA498: - movs r0, 0 - movs r1, 0 - bl sub_80FEA34 - lsls r0, 24 - lsrs r0, 24 -_080FA4A4: - pop {r1} - bx r1 - thumb_func_end sub_80FA484 - - thumb_func_start sub_80FA4A8 -sub_80FA4A8: @ 80FA4A8 - push {lr} - ldr r0, _080FA4C0 @ =Rfu - ldr r1, _080FA4C4 @ =0x00000991 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - movs r0, 0 - bl sub_80FD760 - pop {r0} - bx r0 - .align 2, 0 -_080FA4C0: .4byte Rfu -_080FA4C4: .4byte 0x00000991 - thumb_func_end sub_80FA4A8 - - thumb_func_start rfu_get_multiplayer_id -rfu_get_multiplayer_id: @ 80FA4C8 - push {lr} - ldr r1, _080FA4DC @ =Rfu - ldrb r0, [r1, 0xC] - cmp r0, 0x1 - beq _080FA4E4 - ldr r2, _080FA4E0 @ =0x00000986 - adds r0, r1, r2 - ldrb r0, [r0] - b _080FA4E6 - .align 2, 0 -_080FA4DC: .4byte Rfu -_080FA4E0: .4byte 0x00000986 -_080FA4E4: - movs r0, 0 -_080FA4E6: - pop {r1} - bx r1 - thumb_func_end rfu_get_multiplayer_id - - thumb_func_start GetRfuPlayerCount -GetRfuPlayerCount: @ 80FA4EC - ldr r0, _080FA4F4 @ =Rfu - ldrb r0, [r0, 0xD] - bx lr - .align 2, 0 -_080FA4F4: .4byte Rfu - thumb_func_end GetRfuPlayerCount - - thumb_func_start IsLinkRfuTaskFinished -IsLinkRfuTaskFinished: @ 80FA4F8 - push {lr} - movs r1, 0 - ldr r0, _080FA50C @ =Rfu - ldr r0, [r0] - cmp r0, 0 - bne _080FA506 - movs r1, 0x1 -_080FA506: - adds r0, r1, 0 - pop {r1} - bx r1 - .align 2, 0 -_080FA50C: .4byte Rfu - thumb_func_end IsLinkRfuTaskFinished - - thumb_func_start sub_80FA510 -sub_80FA510: @ 80FA510 - push {lr} - ldr r0, _080FA524 @ =Rfu - ldr r0, [r0] - cmp r0, 0 - beq _080FA51E - bl _call_via_r0 -_080FA51E: - pop {r0} - bx r0 - .align 2, 0 -_080FA524: .4byte Rfu - thumb_func_end sub_80FA510 - - thumb_func_start sub_80FA528 -sub_80FA528: @ 80FA528 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r7, 0 - movs r5, 0 - ldr r6, _080FA594 @ =Rfu - ldr r0, _080FA598 @ =0x000008f6 - adds r0, r6 - mov r8, r0 -_080FA53A: - ldr r1, _080FA59C @ =0x00000989 - adds r0, r6, r1 - adds r4, r5, r0 - ldrb r0, [r4] - subs r0, 0x5 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _080FA5C2 - ldr r1, _080FA5A0 @ =gRfuSlotStatusNI - lsls r0, r5, 2 - adds r0, r1 - ldr r0, [r0] - ldrh r0, [r0, 0x34] - cmp r0, 0x46 - beq _080FA55E - cmp r0, 0x48 - bne _080FA5A8 -_080FA55E: - ldr r2, _080FA5A4 @ =0x0000098d - adds r0, r6, r2 - adds r1, r5, r0 - ldrb r0, [r1] - cmp r0, 0x8 - bne _080FA5C2 - movs r0, 0x9 - strb r0, [r4] - movs r0, 0xA - strb r0, [r1] - lsls r1, r5, 24 - lsrs r1, 24 - movs r0, 0x8 - bl rfu_clearSlot - movs r0, 0x80 - lsls r0, 17 - lsls r0, r5 - lsrs r0, 24 - movs r1, 0x8 - adds r2, r4, 0 - movs r3, 0x1 - bl rfu_NI_setSendData - movs r7, 0x1 - b _080FA5C2 - .align 2, 0 -_080FA594: .4byte Rfu -_080FA598: .4byte 0x000008f6 -_080FA59C: .4byte 0x00000989 -_080FA5A0: .4byte gRfuSlotStatusNI -_080FA5A4: .4byte 0x0000098d -_080FA5A8: - mov r2, r8 - ldrb r0, [r2] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - ldrh r0, [r0, 0x34] - cmp r0, 0x47 - bne _080FA5C2 - lsls r1, r5, 24 - lsrs r1, 24 - movs r0, 0x8 - bl rfu_clearSlot -_080FA5C2: - adds r5, 0x1 - cmp r5, 0x3 - ble _080FA53A - adds r0, r7, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80FA528 - - thumb_func_start sub_80FA5D4 -sub_80FA5D4: @ 80FA5D4 - push {r4-r6,lr} - movs r3, 0 - movs r1, 0 - ldr r5, _080FA620 @ =Rfu+0x98d - movs r6, 0x1 - movs r4, 0 -_080FA5E0: - adds r2, r1, r5 - ldrb r0, [r2] - cmp r0, 0xB - bne _080FA5F4 - adds r0, r6, 0 - lsls r0, r1 - orrs r3, r0 - lsls r0, r3, 24 - lsrs r3, r0, 24 - strb r4, [r2] -_080FA5F4: - adds r1, 0x1 - cmp r1, 0x3 - ble _080FA5E0 - cmp r3, 0 - beq _080FA608 - adds r0, r3, 0 - bl rfu_REQ_disconnect - bl rfu_waitREQComplete -_080FA608: - movs r1, 0 - ldr r2, _080FA620 @ =Rfu+0x98d -_080FA60C: - adds r0, r1, r2 - ldrb r0, [r0] - subs r0, 0xA - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _080FA624 - movs r0, 0x1 - b _080FA62C - .align 2, 0 -_080FA620: .4byte Rfu+0x98d -_080FA624: - adds r1, 0x1 - cmp r1, 0x3 - ble _080FA60C - movs r0, 0 -_080FA62C: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_80FA5D4 - - thumb_func_start sub_80FA634 -sub_80FA634: @ 80FA634 - push {lr} - adds r2, r0, 0 - adds r0, r1, 0 - lsls r2, 16 - lsrs r2, 16 - adds r1, r2, 0 - bl sub_80FBC70 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xFF - beq _080FA668 - ldr r0, _080FA660 @ =Rfu - ldr r2, _080FA664 @ =0x00000989 - adds r0, r2 - adds r0, r1, r0 - ldrb r0, [r0] - cmp r0, 0x9 - beq _080FA668 - movs r0, 0 - b _080FA66A - .align 2, 0 -_080FA660: .4byte Rfu -_080FA664: .4byte 0x00000989 -_080FA668: - movs r0, 0x1 -_080FA66A: - pop {r1} - bx r1 - thumb_func_end sub_80FA634 - - thumb_func_start sub_80FA670 -sub_80FA670: @ 80FA670 - push {r4-r6,lr} - adds r6, r0, 0 - adds r0, r2, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r1, 16 - lsrs r1, 16 - bl sub_80FBC70 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _080FA6B4 @ =Rfu - ldr r0, _080FA6B8 @ =0x00000989 - adds r5, r0 - adds r5, r4, r5 - strb r6, [r5] - movs r0, 0x4 - adds r1, r4, 0 - bl rfu_clearSlot - movs r0, 0x80 - lsls r0, 17 - lsls r0, r4 - lsrs r0, 24 - movs r1, 0x8 - adds r2, r5, 0 - movs r3, 0x1 - bl rfu_NI_setSendData - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080FA6B4: .4byte Rfu -_080FA6B8: .4byte 0x00000989 - thumb_func_end sub_80FA670 - - thumb_func_start sub_80FA6BC -sub_80FA6BC: @ 80FA6BC - push {r4,r5,lr} - ldr r4, _080FA6F0 @ =Rfu - ldr r0, _080FA6F4 @ =0x0000093d - adds r5, r4, r0 - movs r0, 0x8 - strb r0, [r5] - ldr r0, _080FA6F8 @ =0x000008f6 - adds r4, r0 - ldrb r1, [r4] - movs r0, 0x4 - bl rfu_clearSlot - ldrb r1, [r4] - movs r0, 0x80 - lsls r0, 17 - lsls r0, r1 - lsrs r0, 24 - movs r1, 0x8 - adds r2, r5, 0 - movs r3, 0x1 - bl rfu_NI_setSendData - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080FA6F0: .4byte Rfu -_080FA6F4: .4byte 0x0000093d -_080FA6F8: .4byte 0x000008f6 - thumb_func_end sub_80FA6BC - - thumb_func_start sub_80FA6FC -sub_80FA6FC: @ 80FA6FC - push {lr} - adds r2, r0, 0 - adds r0, r1, 0 - lsls r2, 16 - lsrs r2, 16 - adds r1, r2, 0 - bl sub_80FBC70 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _080FA718 - movs r0, 0x2 - b _080FA732 -_080FA718: - ldr r1, _080FA72C @ =gRfuSlotStatusNI - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0 - beq _080FA730 - movs r0, 0 - b _080FA732 - .align 2, 0 -_080FA72C: .4byte gRfuSlotStatusNI -_080FA730: - movs r0, 0x1 -_080FA732: - pop {r1} - bx r1 - thumb_func_end sub_80FA6FC - - thumb_func_start sub_80FA738 -sub_80FA738: @ 80FA738 - push {r4,r5,lr} - bl sub_80FA528 - movs r4, 0 - ldr r0, _080FA77C @ =Rfu - ldr r1, _080FA780 @ =0x0000098d - adds r5, r0, r1 -_080FA746: - ldr r1, _080FA784 @ =gRfuSlotStatusNI - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - ldrh r0, [r0] - subs r0, 0x26 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _080FA770 - adds r1, r4, r5 - ldrb r0, [r1] - cmp r0, 0xA - bne _080FA766 - movs r0, 0xB - strb r0, [r1] -_080FA766: - lsls r1, r4, 24 - lsrs r1, 24 - movs r0, 0x4 - bl rfu_clearSlot -_080FA770: - adds r4, 0x1 - cmp r4, 0x3 - ble _080FA746 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080FA77C: .4byte Rfu -_080FA780: .4byte 0x0000098d -_080FA784: .4byte gRfuSlotStatusNI - thumb_func_end sub_80FA738 - - thumb_func_start sub_80FA788 -sub_80FA788: @ 80FA788 - push {r4,r5,lr} - movs r4, 0 - ldr r1, _080FA800 @ =Rfu - ldr r2, _080FA804 @ =0x0000093d - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x8 - bne _080FA7C2 - ldr r2, _080FA808 @ =gRfuSlotStatusNI - ldr r0, _080FA80C @ =0x000008f6 - adds r1, r0 - ldrb r0, [r1] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0x26 - beq _080FA7BA - ldrb r0, [r1] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0x27 - bne _080FA7C2 -_080FA7BA: - ldrb r1, [r1] - movs r0, 0x4 - bl rfu_clearSlot -_080FA7C2: - ldr r2, _080FA808 @ =gRfuSlotStatusNI - ldr r5, _080FA800 @ =Rfu - ldr r0, _080FA80C @ =0x000008f6 - adds r1, r5, r0 - ldrb r0, [r1] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ldrh r0, [r0, 0x34] - cmp r0, 0x46 - beq _080FA7E6 - ldrb r0, [r1] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ldrh r0, [r0, 0x34] - cmp r0, 0x48 - bne _080FA814 -_080FA7E6: - ldrb r1, [r1] - movs r0, 0x8 - bl rfu_clearSlot - ldr r2, _080FA810 @ =0x0000093e - adds r4, r5, r2 - ldrb r0, [r4] - movs r1, 0 - bl sub_80FB9E4 - ldrb r4, [r4] - b _080FA82C - .align 2, 0 -_080FA800: .4byte Rfu -_080FA804: .4byte 0x0000093d -_080FA808: .4byte gRfuSlotStatusNI -_080FA80C: .4byte 0x000008f6 -_080FA810: .4byte 0x0000093e -_080FA814: - ldrb r0, [r1] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - ldrh r0, [r0, 0x34] - cmp r0, 0x47 - bne _080FA82C - ldrb r1, [r1] - movs r0, 0x8 - bl rfu_clearSlot - movs r4, 0x6 -_080FA82C: - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80FA788 - - thumb_func_start sub_80FA834 -sub_80FA834: @ 80FA834 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r5, _080FA884 @ =Rfu - adds r0, r5, 0 - adds r0, 0xF1 - ldrb r0, [r0] - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _080FA85C - movs r0, 0x9A - lsls r0, 4 - adds r1, r5, r0 - movs r0, 0 - strb r0, [r1] - adds r0, r6, 0 - bl DestroyTask -_080FA85C: - ldr r2, _080FA888 @ =gTasks - lsls r1, r6, 2 - adds r0, r1, r6 - lsls r0, 3 - adds r4, r0, r2 - movs r2, 0x8 - ldrsh r0, [r4, r2] - adds r7, r1, 0 - cmp r0, 0x3 - beq _080FA904 - cmp r0, 0x3 - bgt _080FA88C - cmp r0, 0x1 - beq _080FA8B4 - cmp r0, 0x1 - bgt _080FA900 - cmp r0, 0 - beq _080FA89E - b _080FA9BC - .align 2, 0 -_080FA884: .4byte Rfu -_080FA888: .4byte gTasks -_080FA88C: - cmp r0, 0x5 - beq _080FA938 - cmp r0, 0x5 - blt _080FA926 - cmp r0, 0x6 - beq _080FA96C - cmp r0, 0x65 - beq _080FA8EC - b _080FA9BC -_080FA89E: - bl sub_80F9C50 - lsls r0, 24 - cmp r0, 0 - bne _080FA8AA - b _080FA9BC -_080FA8AA: - bl ResetBlockReceivedFlags - bl sub_800B0B4 - b _080FA930 -_080FA8B4: - ldrb r0, [r5, 0xC] - cmp r0, 0x1 - bne _080FA8F4 - ldr r0, _080FA8CC @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _080FA8D0 - movs r0, 0xF0 - lsls r0, 7 - bl sub_80F9D04 - b _080FA8D8 - .align 2, 0 -_080FA8CC: .4byte gReceivedRemoteLinkPlayers -_080FA8D0: - movs r0, 0xEE - lsls r0, 7 - bl sub_80F9D04 -_080FA8D8: - ldr r0, _080FA8E8 @ =gTasks - adds r1, r7, r6 - lsls r1, 3 - adds r1, r0 - movs r0, 0x65 - strh r0, [r1, 0x8] - b _080FA9BC - .align 2, 0 -_080FA8E8: .4byte gTasks -_080FA8EC: - ldr r0, _080FA8FC @ =gSendCmd - ldrh r0, [r0] - cmp r0, 0 - bne _080FA9BC -_080FA8F4: - movs r0, 0x2 - strh r0, [r4, 0x8] - b _080FA9BC - .align 2, 0 -_080FA8FC: .4byte gSendCmd -_080FA900: - ldrb r0, [r5, 0xD] - b _080FA92C -_080FA904: - ldrb r0, [r5, 0xC] - cmp r0, 0x1 - bne _080FA930 - bl sub_80F9C50 - lsls r0, 24 - cmp r0, 0 - beq _080FA9BC - adds r1, r5, 0 - adds r1, 0x5A - movs r0, 0 - strb r0, [r1] - movs r0, 0xA1 - lsls r0, 8 - bl sub_80F9D04 - b _080FA930 -_080FA926: - bl sub_80F9C78 - lsls r0, 24 -_080FA92C: - cmp r0, 0 - beq _080FA9BC -_080FA930: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080FA9BC -_080FA938: - movs r4, 0 - ldrb r0, [r5, 0xD] - cmp r4, r0 - bge _080FA956 -_080FA940: - adds r0, r4, 0 - bl sub_800B110 - lsls r0, r4, 24 - lsrs r0, 24 - bl Rfu_ResetBlockReceivedFlag - adds r4, 0x1 - ldrb r2, [r5, 0xD] - cmp r4, r2 - blt _080FA940 -_080FA956: - ldr r0, _080FA968 @ =gTasks - adds r1, r7, r6 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _080FA9BC - .align 2, 0 -_080FA968: .4byte gTasks -_080FA96C: - adds r0, r6, 0 - bl DestroyTask - ldr r1, _080FA9C4 @ =gReceivedRemoteLinkPlayers - movs r0, 0x1 - strb r0, [r1] - movs r0, 0x9A - lsls r0, 4 - adds r1, r5, r0 - movs r0, 0 - strb r0, [r1] - movs r1, 0x96 - lsls r1, 2 - movs r0, 0x1 - bl sub_80FEA34 - ldr r2, _080FA9C8 @ =0x0000099e - adds r1, r5, r2 - ldrb r0, [r1] - cmp r0, 0 - beq _080FA9BC - movs r4, 0 - adds r2, r1, 0 - movs r3, 0x1 - ldr r0, _080FA9CC @ =0x0000099d - adds r5, r0 -_080FA9A0: - ldrb r0, [r2] - asrs r0, r4 - ands r0, r3 - cmp r0, 0 - beq _080FA9B6 - adds r0, r3, 0 - lsls r0, r4 - strb r0, [r5] - ldrb r1, [r2] - eors r0, r1 - strb r0, [r2] -_080FA9B6: - adds r4, 0x1 - cmp r4, 0x3 - ble _080FA9A0 -_080FA9BC: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080FA9C4: .4byte gReceivedRemoteLinkPlayers -_080FA9C8: .4byte 0x0000099e -_080FA9CC: .4byte 0x0000099d - thumb_func_end sub_80FA834 - - thumb_func_start sub_80FA9D0 -sub_80FA9D0: @ 80FA9D0 - push {r4,r5,lr} - lsls r0, 16 - lsrs r2, r0, 16 - movs r1, 0 - movs r5, 0x1 - ldr r4, _080FA9F8 @ =Rfu+0x996 - movs r3, 0 -_080FA9DE: - adds r0, r2, 0 - asrs r0, r1 - ands r0, r5 - cmp r0, 0 - beq _080FA9EC - adds r0, r1, r4 - strb r3, [r0] -_080FA9EC: - adds r1, 0x1 - cmp r1, 0x3 - ble _080FA9DE - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080FA9F8: .4byte Rfu+0x996 - thumb_func_end sub_80FA9D0 - - thumb_func_start sub_80FA9FC -sub_80FA9FC: @ 80FA9FC - push {r4-r7,lr} - adds r2, r0, 0 - ldr r1, _080FAA4C @ =Rfu - ldrb r0, [r2, 0xF] - strb r0, [r1, 0xD] - movs r4, 0 - ldr r0, _080FAA50 @ =0x00000996 - adds r5, r1, r0 - adds r3, r2, 0 - adds r3, 0x10 -_080FAA10: - adds r0, r4, r5 - adds r1, r3, r4 - ldrb r1, [r1] - strb r1, [r0] - adds r4, 0x1 - cmp r4, 0x3 - ble _080FAA10 - adds r6, r2, 0 - ldr r5, _080FAA54 @ =gLinkPlayers - movs r4, 0x4 -_080FAA24: - adds r0, r5, 0 - adds r1, r6, 0 - adds r1, 0x14 - ldm r1!, {r2,r3,r7} - stm r0!, {r2,r3,r7} - ldm r1!, {r2,r3,r7} - stm r0!, {r2,r3,r7} - ldr r1, [r1] - str r1, [r0] - adds r0, r5, 0 - bl sub_800B284 - adds r6, 0x1C - adds r5, 0x1C - subs r4, 0x1 - cmp r4, 0 - bge _080FAA24 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080FAA4C: .4byte Rfu -_080FAA50: .4byte 0x00000996 -_080FAA54: .4byte gLinkPlayers - thumb_func_end sub_80FA9FC - - thumb_func_start sub_80FAA58 -sub_80FAA58: @ 80FAA58 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r0, _080FAA8C @ =gUnknown_843EDE4 "PokemonSioInfo" - adds r1, r4, 0 - bl strcmp - adds r5, r0, 0 - cmp r5, 0 - bne _080FAA84 - adds r0, r4, 0 - bl sub_80FA9FC - mov r0, sp - strh r5, [r0] - ldr r2, _080FAA90 @ =0x0100007e - adds r1, r4, 0 - bl CpuSet - movs r0, 0 - bl ResetBlockReceivedFlag -_080FAA84: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080FAA8C: .4byte gUnknown_843EDE4 -_080FAA90: .4byte 0x0100007e - thumb_func_end sub_80FAA58 - - thumb_func_start sub_80FAA94 -sub_80FAA94: @ 80FAA94 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r3, _080FAAF4 @ =Rfu - ldr r2, _080FAAF8 @ =gUnknown_843EC38 - ldr r1, _080FAAFC @ =0x000009a1 - adds r0, r3, r1 - ldrb r1, [r0] - adds r1, r2 - ldr r2, _080FAB00 @ =0x00000996 - adds r0, r3, r2 - ldrb r1, [r1] - adds r0, r1 - ldrb r4, [r0] - adds r0, r3, 0 - adds r0, 0xF1 - ldrb r0, [r0] - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _080FAAD2 - movs r5, 0x9A - lsls r5, 4 - adds r1, r3, r5 - movs r0, 0 - strb r0, [r1] - adds r0, r6, 0 - bl DestroyTask -_080FAAD2: - ldr r0, _080FAB04 @ =gTasks - lsls r2, r6, 2 - adds r1, r2, r6 - lsls r1, 3 - adds r1, r0 - movs r3, 0x8 - ldrsh r1, [r1, r3] - adds r3, r0, 0 - adds r7, r2, 0 - cmp r1, 0x5 - bls _080FAAEA - b _080FACD6 -_080FAAEA: - lsls r0, r1, 2 - ldr r1, _080FAB08 @ =_080FAB0C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080FAAF4: .4byte Rfu -_080FAAF8: .4byte gUnknown_843EC38 -_080FAAFC: .4byte 0x000009a1 -_080FAB00: .4byte 0x00000996 -_080FAB04: .4byte gTasks -_080FAB08: .4byte _080FAB0C - .align 2, 0 -_080FAB0C: - .4byte _080FAB24 - .4byte _080FAB44 - .4byte _080FAB5C - .4byte _080FABA4 - .4byte _080FABEE - .4byte _080FAC78 -_080FAB24: - ldr r0, _080FAB40 @ =gSendCmd - ldrh r0, [r0] - cmp r0, 0 - beq _080FAB2E - b _080FACD6 -_080FAB2E: - adds r0, r4, 0 - bl ResetBlockReceivedFlag - movs r0, 0xF0 - lsls r0, 7 - bl sub_80F9D04 - b _080FAC2E - .align 2, 0 -_080FAB40: .4byte gSendCmd -_080FAB44: - ldr r0, _080FAB58 @ =gSendCmd - ldrh r0, [r0] - cmp r0, 0 - beq _080FAB4E - b _080FACD6 -_080FAB4E: - adds r1, r7, r6 - lsls r1, 3 - adds r1, r3 - b _080FAC36 - .align 2, 0 -_080FAB58: .4byte gSendCmd -_080FAB5C: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - asrs r0, r4 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _080FAB70 - b _080FACD6 -_080FAB70: - adds r0, r4, 0 - bl ResetBlockReceivedFlag - lsls r2, r4, 8 - ldr r0, _080FAB9C @ =gBlockRecvBuffer - adds r2, r0 - ldr r1, _080FABA0 @ =gLinkPlayers - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r0, r1 - adds r1, r0, 0 - adds r2, 0x10 - ldm r2!, {r3-r5} - stm r1!, {r3-r5} - ldm r2!, {r3-r5} - stm r1!, {r3-r5} - ldr r2, [r2] - str r2, [r1] - bl sub_800B284 - b _080FAC2E - .align 2, 0 -_080FAB9C: .4byte gBlockRecvBuffer -_080FABA0: .4byte gLinkPlayers -_080FABA4: - ldr r5, _080FAC40 @ =gBlockSendBuffer - adds r1, r5, 0 - ldr r0, _080FAC44 @ =gUnknown_843EDE4 "PokemonSioInfo" - ldm r0!, {r2-r4} - stm r1!, {r2-r4} - ldrh r2, [r0] - strh r2, [r1] - ldrb r0, [r0, 0x2] - strb r0, [r1, 0x2] - ldr r1, _080FAC48 @ =Rfu - ldrb r0, [r1, 0xD] - strb r0, [r5, 0xF] - movs r2, 0 - adds r4, r5, 0 - adds r4, 0x10 - ldr r0, _080FAC4C @ =0x00000996 - adds r3, r1, r0 -_080FABC6: - adds r0, r4, r2 - adds r1, r2, r3 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x3 - ble _080FABC6 - ldr r1, _080FAC50 @ =gLinkPlayers - adds r0, r5, 0 - adds r0, 0x14 - movs r2, 0x8C - bl memcpy - ldr r0, _080FAC54 @ =gTasks - adds r1, r7, r6 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_080FABEE: - ldr r5, _080FAC40 @ =gBlockSendBuffer - ldr r1, _080FAC48 @ =Rfu - ldrb r0, [r1, 0xD] - strb r0, [r5, 0xF] - movs r2, 0 - ldr r3, _080FAC50 @ =gLinkPlayers - mov r12, r3 - adds r4, r5, 0 - adds r4, 0x10 - ldr r0, _080FAC4C @ =0x00000996 - adds r3, r1, r0 -_080FAC04: - adds r0, r4, r2 - adds r1, r2, r3 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, 0x3 - ble _080FAC04 - adds r0, r5, 0 - adds r0, 0x14 - mov r1, r12 - movs r2, 0x8C - bl memcpy - ldr r1, _080FAC40 @ =gBlockSendBuffer - movs r0, 0 - movs r2, 0xA0 - bl SendBlock - lsls r0, 24 - cmp r0, 0 - beq _080FACD6 -_080FAC2E: - ldr r0, _080FAC54 @ =gTasks - adds r1, r7, r6 - lsls r1, 3 - adds r1, r0 -_080FAC36: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _080FACD6 - .align 2, 0 -_080FAC40: .4byte gBlockSendBuffer -_080FAC44: .4byte gUnknown_843EDE4 -_080FAC48: .4byte Rfu -_080FAC4C: .4byte 0x00000996 -_080FAC50: .4byte gLinkPlayers -_080FAC54: .4byte gTasks -_080FAC58: - adds r0, r3, 0 - lsls r0, r2 - ldr r2, _080FAC74 @ =0x0000099d - adds r1, r5, r2 - strb r0, [r1] - ldrb r1, [r4] - eors r0, r1 - strb r0, [r4] - movs r4, 0x9A - lsls r4, 4 - adds r0, r5, r4 - strb r3, [r0] - b _080FACD0 - .align 2, 0 -_080FAC74: .4byte 0x0000099d -_080FAC78: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _080FACD6 - bl GetBlockReceivedStatus - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - beq _080FACD6 - mov r0, sp - movs r4, 0 - strh r4, [r0] - ldr r1, _080FACE0 @ =gBlockRecvBuffer - ldr r2, _080FACE4 @ =0x0100007e - bl CpuSet - movs r0, 0 - bl ResetBlockReceivedFlag - ldr r1, _080FACE8 @ =Rfu - movs r5, 0x9A - lsls r5, 4 - adds r0, r1, r5 - strb r4, [r0] - ldr r0, _080FACEC @ =0x0000099e - adds r3, r1, r0 - ldrb r0, [r3] - cmp r0, 0 - beq _080FACD0 - movs r2, 0 - adds r5, r1, 0 - adds r4, r3, 0 - ldrb r1, [r4] - movs r3, 0x1 -_080FACC0: - adds r0, r1, 0 - asrs r0, r2 - ands r0, r3 - cmp r0, 0 - bne _080FAC58 - adds r2, 0x1 - cmp r2, 0x3 - ble _080FACC0 -_080FACD0: - adds r0, r6, 0 - bl DestroyTask -_080FACD6: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080FACE0: .4byte gBlockRecvBuffer -_080FACE4: .4byte 0x0100007e -_080FACE8: .4byte Rfu -_080FACEC: .4byte 0x0000099e - thumb_func_end sub_80FAA94 - - thumb_func_start sub_80FACF0 -sub_80FACF0: @ 80FACF0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r6, _080FAD2C @ =Rfu - adds r0, r6, 0 - adds r0, 0xF1 - ldrb r0, [r0] - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bhi _080FAD0E - adds r0, r5, 0 - bl DestroyTask -_080FAD0E: - ldr r1, _080FAD30 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080FAD54 - cmp r0, 0x1 - bgt _080FAD34 - cmp r0, 0 - beq _080FAD3A - b _080FAD8A - .align 2, 0 -_080FAD2C: .4byte Rfu -_080FAD30: .4byte gTasks -_080FAD34: - cmp r0, 0x2 - beq _080FAD66 - b _080FAD8A -_080FAD3A: - ldrb r0, [r6, 0xD] - cmp r0, 0 - beq _080FAD8A - bl sub_800B0B4 - ldr r1, _080FAD50 @ =gBlockSendBuffer - movs r0, 0 - movs r2, 0x3C - bl SendBlock - b _080FAD5E - .align 2, 0 -_080FAD50: .4byte gBlockSendBuffer -_080FAD54: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _080FAD8A -_080FAD5E: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080FAD8A -_080FAD66: - bl GetBlockReceivedStatus - movs r4, 0x1 - adds r1, r4, 0 - ands r1, r0 - cmp r1, 0 - beq _080FAD8A - ldr r0, _080FAD90 @ =gBlockRecvBuffer - bl sub_80FA9FC - movs r0, 0 - bl ResetBlockReceivedFlag - ldr r0, _080FAD94 @ =gReceivedRemoteLinkPlayers - strb r4, [r0] - adds r0, r5, 0 - bl DestroyTask -_080FAD8A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080FAD90: .4byte gBlockRecvBuffer -_080FAD94: .4byte gReceivedRemoteLinkPlayers - thumb_func_end sub_80FACF0 - - thumb_func_start sub_80FAD98 -sub_80FAD98: @ 80FAD98 - push {r4-r7,lr} - ldr r0, _080FAE10 @ =Rfu - adds r7, r0, 0 - adds r7, 0xEE - ldrb r1, [r7] - adds r5, r0, 0 - cmp r1, 0x1 - bne _080FAE30 - ldr r0, _080FAE14 @ =gUnknown_3005E10 - ldrb r0, [r0, 0x2] - cmp r0, 0 - bne _080FAE30 - ldr r6, _080FAE18 @ =gMain - ldr r1, [r6, 0x4] - ldr r0, _080FAE1C @ =c2_mystery_gift_e_reader_run - cmp r1, r0 - bne _080FADC0 - ldr r1, _080FAE20 @ =gWirelessCommType - movs r0, 0x2 - strb r0, [r1] -_080FADC0: - ldr r4, _080FAE24 @ =CB2_LinkError - adds r0, r4, 0 - bl SetMainCallback2 - str r4, [r6, 0x8] - ldrh r0, [r5, 0xA] - lsls r4, r0, 16 - ldrh r0, [r5, 0x10] - lsls r0, 8 - orrs r4, r0 - ldrh r0, [r5, 0x12] - orrs r4, r0 - ldr r1, _080FAE28 @ =0x0000069e - adds r0, r5, r1 - ldrb r0, [r0] - adds r6, r0, 0 - ldr r1, _080FAE2C @ =0x000008d2 - adds r0, r5, r1 - ldrb r0, [r0] - adds r5, r0, 0 - bl sub_80FB9F4 - movs r3, 0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080FADF8 - movs r3, 0x1 -_080FADF8: - adds r0, r4, 0 - adds r1, r6, 0 - adds r2, r5, 0 - bl sub_800ACBC - ldrb r0, [r7] - movs r0, 0x2 - strb r0, [r7] - bl CloseLink - b _080FAE62 - .align 2, 0 -_080FAE10: .4byte Rfu -_080FAE14: .4byte gUnknown_3005E10 -_080FAE18: .4byte gMain -_080FAE1C: .4byte c2_mystery_gift_e_reader_run -_080FAE20: .4byte gWirelessCommType -_080FAE24: .4byte CB2_LinkError -_080FAE28: .4byte 0x0000069e -_080FAE2C: .4byte 0x000008d2 -_080FAE30: - ldr r1, _080FAE68 @ =0x000008d3 - adds r0, r5, r1 - ldrb r0, [r0] - cmp r0, 0x1 - beq _080FAE44 - ldr r1, _080FAE6C @ =0x0000069f - adds r0, r5, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _080FAE62 -_080FAE44: - ldr r0, _080FAE70 @ =gUnknown_3005E10 - ldrb r0, [r0, 0x2] - cmp r0, 0 - beq _080FAE50 - bl sub_80FEB14 -_080FAE50: - movs r4, 0xE0 - lsls r4, 7 - movs r0, 0x1 - adds r1, r4, 0 - bl sub_80FB9E4 - adds r0, r4, 0 - bl sub_80FB0E8 -_080FAE62: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080FAE68: .4byte 0x000008d3 -_080FAE6C: .4byte 0x0000069f -_080FAE70: .4byte gUnknown_3005E10 - thumb_func_end sub_80FAD98 - - thumb_func_start rfu_REQ_recvData_then_sendData -rfu_REQ_recvData_then_sendData: @ 80FAE74 - push {lr} - ldr r0, _080FAE90 @ =gUnknown_3005E10 - ldrb r0, [r0, 0x6] - cmp r0, 0x1 - bne _080FAE8C - bl rfu_REQ_recvData - bl rfu_waitREQComplete - movs r0, 0 - bl LinkRfu_REQ_SendData_HandleParentRelationship -_080FAE8C: - pop {r0} - bx r0 - .align 2, 0 -_080FAE90: .4byte gUnknown_3005E10 - thumb_func_end rfu_REQ_recvData_then_sendData - - thumb_func_start sub_80FAE94 -sub_80FAE94: @ 80FAE94 - push {r4,r5,lr} - movs r5, 0 - ldr r4, _080FAEC8 @ =Rfu - ldr r1, _080FAECC @ =0x00000985 - adds r0, r4, r1 - strb r5, [r0] - bl Random - lsls r0, 16 - lsrs r0, 16 - bl sub_80FDA30 - adds r0, r4, 0 - adds r0, 0xEF - ldrb r0, [r0] - cmp r0, 0 - bne _080FAEE8 - ldrb r0, [r4, 0xC] - cmp r0, 0x1 - beq _080FAED6 - cmp r0, 0x1 - bgt _080FAED0 - cmp r0, 0 - beq _080FAEDC - b _080FAEE8 - .align 2, 0 -_080FAEC8: .4byte Rfu -_080FAECC: .4byte 0x00000985 -_080FAED0: - cmp r0, 0x2 - beq _080FAEE4 - b _080FAEE8 -_080FAED6: - bl sub_80F911C - b _080FAEE8 -_080FAEDC: - bl sub_80F9514 - adds r5, r0, 0 - b _080FAEE8 -_080FAEE4: - bl rfu_REQ_recvData_then_sendData -_080FAEE8: - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80FAE94 - - thumb_func_start sub_80FAEF0 -sub_80FAEF0: @ 80FAEF0 - push {r4,lr} - movs r4, 0 - ldr r1, _080FAF18 @ =Rfu - adds r0, r1, 0 - adds r0, 0xEF - ldrb r0, [r0] - cmp r0, 0 - bne _080FAF10 - ldrb r0, [r1, 0xC] - cmp r0, 0x1 - bne _080FAF0C - bl sub_80F9204 - adds r4, r0, 0 -_080FAF0C: - bl sub_80FAD98 -_080FAF10: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080FAF18: .4byte Rfu - thumb_func_end sub_80FAEF0 - - thumb_func_start sub_80FAF1C -sub_80FAF1C: @ 80FAF1C - push {lr} - ldr r0, _080FAF2C @ =gUnknown_3005E00 - ldr r1, _080FAF30 @ =gSaveBlock2Ptr - ldr r1, [r1] - bl StringCopy - pop {r0} - bx r0 - .align 2, 0 -_080FAF2C: .4byte gUnknown_3005E00 -_080FAF30: .4byte gSaveBlock2Ptr - thumb_func_end sub_80FAF1C - - thumb_func_start sub_80FAF34 -sub_80FAF34: @ 80FAF34 - push {r4,lr} - ldr r4, _080FAF54 @ =gUnknown_3005440 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0xD - bl memset - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80FCB54 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FAF54: .4byte gUnknown_3005440 - thumb_func_end sub_80FAF34 - - thumb_func_start sub_80FAF58 -sub_80FAF58: @ 80FAF58 - push {r4,lr} - adds r4, r0, 0 - adds r3, r1, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080FAF70 @ =gUnknown_3005440 - adds r1, r4, 0 - bl sub_80FCB54 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FAF70: .4byte gUnknown_3005440 - thumb_func_end sub_80FAF58 - - thumb_func_start sub_80FAF74 -sub_80FAF74: @ 80FAF74 - push {r4,r5,lr} - ldr r5, _080FAF9C @ =gUnknown_3005440 - movs r4, 0x1 - ands r0, r4 - lsls r0, 4 - ldrb r3, [r5] - movs r2, 0x11 - negs r2, r2 - ands r2, r3 - orrs r2, r0 - ands r1, r4 - lsls r1, 5 - movs r0, 0x21 - negs r0, r0 - ands r2, r0 - orrs r2, r1 - strb r2, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080FAF9C: .4byte gUnknown_3005440 - thumb_func_end sub_80FAF74 - - thumb_func_start sub_80FAFA0 -sub_80FAFA0: @ 80FAFA0 - push {r4,r5,lr} - ldr r5, _080FAFD4 @ =gUnknown_3005440 - lsls r0, 2 - ldrb r4, [r5, 0x9] - movs r3, 0x3 - ands r3, r4 - orrs r3, r0 - strb r3, [r5, 0x9] - ldr r3, _080FAFD8 @ =0x000003ff - adds r0, r3, 0 - ands r1, r0 - ldrh r3, [r5, 0x8] - ldr r0, _080FAFDC @ =0xfffffc00 - ands r0, r3 - orrs r0, r1 - strh r0, [r5, 0x8] - lsls r2, 1 - ldrb r1, [r5, 0xB] - movs r0, 0x1 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, 0xB] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080FAFD4: .4byte gUnknown_3005440 -_080FAFD8: .4byte 0x000003ff -_080FAFDC: .4byte 0xfffffc00 - thumb_func_end sub_80FAFA0 - - thumb_func_start sub_80FAFE0 -sub_80FAFE0: @ 80FAFE0 - push {lr} - lsls r0, 24 - ldr r2, _080FB000 @ =gUnknown_3005440 - lsrs r0, 17 - ldrb r3, [r2, 0xA] - movs r1, 0x7F - ands r1, r3 - orrs r1, r0 - strb r1, [r2, 0xA] - ldr r3, _080FB004 @ =gUnknown_3005E00 - movs r0, 0 - movs r1, 0x2 - bl rfu_REQ_configGameData - pop {r0} - bx r0 - .align 2, 0 -_080FB000: .4byte gUnknown_3005440 -_080FB004: .4byte gUnknown_3005E00 - thumb_func_end sub_80FAFE0 - - thumb_func_start sub_80FB008 -sub_80FB008: @ 80FB008 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _080FB016 - bl sub_80FAF58 -_080FB016: - ldr r2, _080FB028 @ =gUnknown_3005440 - ldr r3, _080FB02C @ =gUnknown_3005E00 - movs r0, 0 - movs r1, 0x2 - bl rfu_REQ_configGameData - pop {r0} - bx r0 - .align 2, 0 -_080FB028: .4byte gUnknown_3005440 -_080FB02C: .4byte gUnknown_3005E00 - thumb_func_end sub_80FB008 - - thumb_func_start sub_80FB030 -sub_80FB030: @ 80FB030 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r9, r0 - bl sub_80F9800 - ldrb r1, [r0, 0xA] - movs r0, 0x7F - ands r0, r1 - cmp r0, 0x45 - bne _080FB0C4 - movs r5, 0 - movs r7, 0 - ldr r3, _080FB0D4 @ =Rfu - ldr r1, _080FB0D8 @ =0x0000099a - adds r0, r3, r1 - ldr r2, _080FB0DC @ =0x0000099b - adds r1, r3, r2 - ldrb r2, [r0] - ldrb r0, [r1] - adds r1, r0, 0 - eors r1, r2 - mov r8, r1 - movs r4, 0 - movs r6, 0x1 - ldr r2, _080FB0E0 @ =gLinkPlayers - mov r12, r2 - ldr r0, _080FB0E4 @ =0x00000996 - adds r0, r3 - mov r10, r0 - mov r3, r12 - adds r3, 0x4 -_080FB074: - mov r0, r8 - asrs r0, r4 - ands r0, r6 - cmp r0, 0 - beq _080FB0B4 - mov r1, r10 - adds r0, r4, r1 - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - mov r2, r12 - adds r1, r0, r2 - ldrb r1, [r1, 0x13] - adds r2, r6, 0 - ands r2, r1 - lsls r2, 3 - adds r0, r3 - ldr r1, [r0] - movs r0, 0x7 - ands r1, r0 - movs r0, 0x80 - orrs r1, r0 - orrs r2, r1 - lsls r0, r5, 3 - lsls r2, r0 - orrs r7, r2 - adds r5, 0x1 - mov r0, r9 - subs r0, 0x1 - cmp r5, r0 - beq _080FB0BA -_080FB0B4: - adds r4, 0x1 - cmp r4, 0x3 - ble _080FB074 -_080FB0BA: - movs r0, 0x45 - adds r1, r7, 0 - movs r2, 0 - bl sub_80FB008 -_080FB0C4: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080FB0D4: .4byte Rfu -_080FB0D8: .4byte 0x0000099a -_080FB0DC: .4byte 0x0000099b -_080FB0E0: .4byte gLinkPlayers -_080FB0E4: .4byte 0x00000996 - thumb_func_end sub_80FB030 - - thumb_func_start sub_80FB0E8 -sub_80FB0E8: @ 80FB0E8 - push {r4,lr} - adds r4, r0, 0 - ldr r2, _080FB110 @ =Rfu - adds r3, r2, 0 - adds r3, 0xEE - ldrb r0, [r3] - cmp r0, 0 - bne _080FB10A - ldr r1, _080FB114 @ =gUnknown_3005E10 - ldrh r0, [r1, 0x14] - strh r0, [r2, 0x10] - ldrh r0, [r1, 0x16] - strh r0, [r2, 0x12] - strh r4, [r2, 0xA] - ldrb r0, [r3] - movs r0, 0x1 - strb r0, [r3] -_080FB10A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FB110: .4byte Rfu -_080FB114: .4byte gUnknown_3005E10 - thumb_func_end sub_80FB0E8 - - thumb_func_start sub_80FB118 -sub_80FB118: @ 80FB118 - ldr r0, _080FB124 @ =Rfu - adds r0, 0xEE - ldrb r1, [r0] - movs r1, 0 - strb r1, [r0] - bx lr - .align 2, 0 -_080FB124: .4byte Rfu - thumb_func_end sub_80FB118 - - thumb_func_start sub_80FB128 -sub_80FB128: @ 80FB128 - push {lr} - adds r2, r0, 0 - cmp r2, 0 - bne _080FB140 - ldr r0, _080FB13C @ =Rfu - adds r0, 0xEE - ldrb r1, [r0] - strb r2, [r0] - b _080FB14A - .align 2, 0 -_080FB13C: .4byte Rfu -_080FB140: - ldr r0, _080FB150 @ =Rfu - adds r0, 0xEE - ldrb r1, [r0] - movs r1, 0x4 - strb r1, [r0] -_080FB14A: - pop {r0} - bx r0 - .align 2, 0 -_080FB150: .4byte Rfu - thumb_func_end sub_80FB128 - - thumb_func_start sub_80FB154 -sub_80FB154: @ 80FB154 - push {lr} - ldr r0, _080FB16C @ =gUnknown_3005E10 - ldrb r0, [r0] - movs r1, 0x1 - bl sub_80FBE20 - ldr r1, _080FB170 @ =Rfu - movs r0, 0 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_080FB16C: .4byte gUnknown_3005E10 -_080FB170: .4byte Rfu - thumb_func_end sub_80FB154 - - thumb_func_start sub_80FB174 -sub_80FB174: @ 80FB174 - ldr r1, _080FB17C @ =Rfu - ldr r0, _080FB180 @ =sub_80FB154 - str r0, [r1] - bx lr - .align 2, 0 -_080FB17C: .4byte Rfu -_080FB180: .4byte sub_80FB154 - thumb_func_end sub_80FB174 - - thumb_func_start sub_80FB184 -sub_80FB184: @ 80FB184 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r4, r0, 24 - movs r6, 0 - cmp r4, 0x32 - bne _080FB19A - b _080FB2D8 -_080FB19A: - cmp r4, 0x32 - bgt _080FB1CA - cmp r4, 0x13 - bgt _080FB1B8 - cmp r4, 0x12 - blt _080FB1A8 - b _080FB366 -_080FB1A8: - cmp r4, 0x10 - bne _080FB1AE - b _080FB366 -_080FB1AE: - cmp r4, 0x10 - bgt _080FB204 - cmp r4, 0 - beq _080FB1F6 - b _080FB366 -_080FB1B8: - cmp r4, 0x30 - bne _080FB1BE - b _080FB2E4 -_080FB1BE: - cmp r4, 0x30 - ble _080FB1C4 - b _080FB2CC -_080FB1C4: - cmp r4, 0x14 - beq _080FB2A0 - b _080FB366 -_080FB1CA: - cmp r4, 0x44 - bgt _080FB1DC - cmp r4, 0x42 - blt _080FB1D4 - b _080FB366 -_080FB1D4: - cmp r4, 0x33 - bne _080FB1DA - b _080FB2E4 -_080FB1DA: - b _080FB366 -_080FB1DC: - cmp r4, 0xF3 - bne _080FB1E2 - b _080FB332 -_080FB1E2: - cmp r4, 0xF3 - bgt _080FB1EE - cmp r4, 0xF0 - bge _080FB1EC - b _080FB366 -_080FB1EC: - b _080FB34C -_080FB1EE: - cmp r4, 0xFF - bne _080FB1F4 - b _080FB34C -_080FB1F4: - b _080FB366 -_080FB1F6: - ldr r1, _080FB200 @ =Rfu - movs r0, 0x2 - strh r0, [r1, 0x4] - b _080FB366 - .align 2, 0 -_080FB200: .4byte Rfu -_080FB204: - ldr r0, _080FB268 @ =gUnknown_3005E10 - ldrh r0, [r0, 0x14] - bl sub_80FB564 - movs r5, 0 - movs r0, 0x1 - mov r8, r0 - ldr r1, _080FB26C @ =Rfu - mov r9, r1 - ldr r3, _080FB270 @ =0x0000098d - add r3, r9 - mov r10, r3 - movs r7, 0x7F -_080FB21E: - ldr r0, _080FB268 @ =gUnknown_3005E10 - ldrh r0, [r0, 0x14] - asrs r0, r5 - mov r1, r8 - ands r0, r1 - cmp r0, 0 - beq _080FB286 - ldr r0, _080FB274 @ =gRfuLinkStatus - lsls r1, r5, 5 - adds r1, 0x14 - ldr r0, [r0] - adds r0, r1 - ldrb r0, [r0, 0x10] - adds r4, r7, 0 - ands r4, r0 - bl sub_80F9800 - ldrb r1, [r0, 0xA] - adds r0, r7, 0 - ands r0, r1 - cmp r4, r0 - bne _080FB27C - ldr r0, _080FB278 @ =0x00000989 - add r0, r9 - adds r0, r5, r0 - movs r1, 0 - strb r1, [r0] - mov r3, r10 - adds r2, r5, r3 - strb r1, [r2] - movs r0, 0x20 - adds r1, r5, 0 - movs r3, 0x1 - bl rfu_setRecvBuffer - b _080FB286 - .align 2, 0 -_080FB268: .4byte gUnknown_3005E10 -_080FB26C: .4byte Rfu -_080FB270: .4byte 0x0000098d -_080FB274: .4byte gRfuLinkStatus -_080FB278: .4byte 0x00000989 -_080FB27C: - mov r0, r8 - lsls r0, r5 - orrs r6, r0 - lsls r0, r6, 24 - lsrs r6, r0, 24 -_080FB286: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x3 - bls _080FB21E - cmp r6, 0 - beq _080FB366 - adds r0, r6, 0 - bl rfu_REQ_disconnect - bl rfu_waitREQComplete - b _080FB366 -_080FB2A0: - ldr r4, _080FB2C0 @ =Rfu - ldr r1, _080FB2C4 @ =0x0000099f - adds r0, r4, r1 - ldr r1, _080FB2C8 @ =gUnknown_3005E10 - ldrb r2, [r0] - ldrb r0, [r1] - cmp r2, r0 - beq _080FB2BA - eors r0, r2 - bl rfu_REQ_disconnect - bl rfu_waitREQComplete -_080FB2BA: - movs r0, 0x11 - strh r0, [r4, 0x4] - b _080FB366 - .align 2, 0 -_080FB2C0: .4byte Rfu -_080FB2C4: .4byte 0x0000099f -_080FB2C8: .4byte gUnknown_3005E10 -_080FB2CC: - ldr r0, _080FB2D4 @ =Rfu - adds r0, 0xF0 - b _080FB362 - .align 2, 0 -_080FB2D4: .4byte Rfu -_080FB2D8: - ldr r0, _080FB2E0 @ =Rfu - adds r0, 0xF0 - movs r1, 0x3 - b _080FB364 - .align 2, 0 -_080FB2E0: .4byte Rfu -_080FB2E4: - ldr r1, _080FB314 @ =Rfu - adds r2, r1, 0 - adds r2, 0xF0 - movs r0, 0x4 - strb r0, [r2] - ldr r3, _080FB318 @ =0x0000099a - adds r1, r3 - ldr r0, _080FB31C @ =gUnknown_3005E10 - ldrb r2, [r0, 0x14] - ldrb r0, [r1] - adds r3, r0, 0 - bics r3, r2 - adds r2, r3, 0 - strb r2, [r1] - ldr r0, _080FB320 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0x1 - bne _080FB328 - cmp r2, 0 - bne _080FB324 - adds r0, r4, 0 - bl sub_80FB0E8 - b _080FB328 - .align 2, 0 -_080FB314: .4byte Rfu -_080FB318: .4byte 0x0000099a -_080FB31C: .4byte gUnknown_3005E10 -_080FB320: .4byte gReceivedRemoteLinkPlayers -_080FB324: - bl sub_80FB174 -_080FB328: - movs r0, 0x2 - adds r1, r4, 0 - bl sub_80FB9E4 - b _080FB366 -_080FB332: - movs r0, 0x1 - movs r1, 0xF3 - bl sub_80FB9E4 - movs r0, 0xF3 - bl sub_80FB0E8 - ldr r0, _080FB348 @ =Rfu - adds r0, 0xEF - b _080FB362 - .align 2, 0 -_080FB348: .4byte Rfu -_080FB34C: - adds r0, r4, 0 - bl sub_80FB0E8 - movs r0, 0x1 - adds r1, r4, 0 - bl sub_80FB9E4 - ldr r0, _080FB374 @ =Rfu - ldr r1, _080FB378 @ =0x00000993 - adds r0, r1 - ldrb r1, [r0] -_080FB362: - movs r1, 0x1 -_080FB364: - strb r1, [r0] -_080FB366: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080FB374: .4byte Rfu -_080FB378: .4byte 0x00000993 - thumb_func_end sub_80FB184 - - thumb_func_start sub_80FB37C -sub_80FB37C: @ 80FB37C - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x31 - bne _080FB388 - b _080FB4E8 -_080FB388: - cmp r4, 0x31 - bgt _080FB3B6 - cmp r4, 0x22 - beq _080FB40C - cmp r4, 0x22 - bgt _080FB3A4 - cmp r4, 0x20 - beq _080FB3F4 - cmp r4, 0x20 - ble _080FB39E - b _080FB556 -_080FB39E: - cmp r4, 0 - beq _080FB3E6 - b _080FB556 -_080FB3A4: - cmp r4, 0x24 - beq _080FB432 - cmp r4, 0x24 - blt _080FB428 - cmp r4, 0x25 - beq _080FB47C - cmp r4, 0x30 - beq _080FB486 - b _080FB556 -_080FB3B6: - cmp r4, 0x44 - bgt _080FB3CC - cmp r4, 0x42 - blt _080FB3C0 - b _080FB556 -_080FB3C0: - cmp r4, 0x33 - beq _080FB49A - cmp r4, 0x33 - bge _080FB3CA - b _080FB504 -_080FB3CA: - b _080FB556 -_080FB3CC: - cmp r4, 0xF3 - bne _080FB3D2 - b _080FB524 -_080FB3D2: - cmp r4, 0xF3 - bgt _080FB3DE - cmp r4, 0xF0 - bge _080FB3DC - b _080FB556 -_080FB3DC: - b _080FB53C -_080FB3DE: - cmp r4, 0xFF - bne _080FB3E4 - b _080FB53C -_080FB3E4: - b _080FB556 -_080FB3E6: - ldr r1, _080FB3F0 @ =Rfu - movs r0, 0x6 - strh r0, [r1, 0x4] - b _080FB556 - .align 2, 0 -_080FB3F0: .4byte Rfu -_080FB3F4: - ldr r0, _080FB400 @ =Rfu - ldr r1, _080FB404 @ =gUnknown_3005E10 - ldrh r1, [r1, 0x14] - ldr r2, _080FB408 @ =0x00000985 - adds r0, r2 - b _080FB554 - .align 2, 0 -_080FB400: .4byte Rfu -_080FB404: .4byte gUnknown_3005E10 -_080FB408: .4byte 0x00000985 -_080FB40C: - ldr r0, _080FB41C @ =Rfu - ldr r1, _080FB420 @ =gUnknown_3005E10 - ldrh r1, [r1, 0x14] - ldr r2, _080FB424 @ =0x000008f6 - adds r0, r2 - ldrb r2, [r0] - b _080FB554 - .align 2, 0 -_080FB41C: .4byte Rfu -_080FB420: .4byte gUnknown_3005E10 -_080FB424: .4byte 0x000008f6 -_080FB428: - movs r0, 0x2 - adds r1, r4, 0 - bl sub_80FB9E4 - b _080FB556 -_080FB432: - ldr r4, _080FB468 @ =Rfu - movs r1, 0 - movs r0, 0xB - strh r0, [r4, 0x4] - ldr r2, _080FB46C @ =0x0000093d - adds r0, r4, r2 - strb r1, [r0] - ldr r0, _080FB470 @ =0x0000093e - adds r2, r4, r0 - strb r1, [r2] - ldr r1, _080FB474 @ =0x000008f6 - adds r5, r4, r1 - ldrb r1, [r5] - movs r0, 0x20 - movs r3, 0x1 - bl rfu_setRecvBuffer - ldrb r1, [r5] - ldr r2, _080FB478 @ =0x000008f7 - adds r4, r2 - movs r0, 0x10 - adds r2, r4, 0 - movs r3, 0x46 - bl rfu_setRecvBuffer - b _080FB556 - .align 2, 0 -_080FB468: .4byte Rfu -_080FB46C: .4byte 0x0000093d -_080FB470: .4byte 0x0000093e -_080FB474: .4byte 0x000008f6 -_080FB478: .4byte 0x000008f7 -_080FB47C: - movs r0, 0x2 - movs r1, 0x25 - bl sub_80FB9E4 - b _080FB556 -_080FB486: - ldr r0, _080FB4D8 @ =Rfu - adds r2, r0, 0 - adds r2, 0xF0 - movs r1, 0x2 - strb r1, [r2] - ldr r1, _080FB4DC @ =0x0000093e - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x6 - beq _080FB556 -_080FB49A: - ldr r2, _080FB4D8 @ =Rfu - adds r1, r2, 0 - adds r1, 0xF0 - ldrb r0, [r1] - cmp r0, 0x2 - beq _080FB4AA - movs r0, 0x4 - strb r0, [r1] -_080FB4AA: - ldr r1, _080FB4DC @ =0x0000093e - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x9 - beq _080FB4BC - movs r0, 0x2 - adds r1, r4, 0 - bl sub_80FB9E4 -_080FB4BC: - ldr r0, _080FB4E0 @ =gUnknown_843EDF8 "LINK LOSS DISCONNECT!" - movs r1, 0x5 - movs r2, 0x5 - bl nullsub_87 - ldr r0, _080FB4E4 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0x1 - bne _080FB556 - adds r0, r4, 0 - bl sub_80FB0E8 - b _080FB556 - .align 2, 0 -_080FB4D8: .4byte Rfu -_080FB4DC: .4byte 0x0000093e -_080FB4E0: .4byte gUnknown_843EDF8 -_080FB4E4: .4byte gReceivedRemoteLinkPlayers -_080FB4E8: - ldr r0, _080FB4FC @ =Rfu - adds r0, 0xF0 - movs r1, 0x1 - strb r1, [r0] - ldr r0, _080FB500 @ =gUnknown_843EE10 "LINK LOSS RECOVERY NOW" - movs r1, 0x5 - movs r2, 0x5 - bl nullsub_87 - b _080FB556 - .align 2, 0 -_080FB4FC: .4byte Rfu -_080FB500: .4byte gUnknown_843EE10 -_080FB504: - ldr r1, _080FB51C @ =Rfu - adds r2, r1, 0 - adds r2, 0xF0 - movs r0, 0x3 - strb r0, [r2] - ldr r2, _080FB520 @ =0x000008f4 - adds r1, r2 - ldrb r0, [r1] - movs r0, 0x1 - strb r0, [r1] - b _080FB556 - .align 2, 0 -_080FB51C: .4byte Rfu -_080FB520: .4byte 0x000008f4 -_080FB524: - movs r0, 0x1 - movs r1, 0xF3 - bl sub_80FB9E4 - movs r0, 0xF3 - bl sub_80FB0E8 - ldr r0, _080FB538 @ =Rfu - adds r0, 0xEF - b _080FB552 - .align 2, 0 -_080FB538: .4byte Rfu -_080FB53C: - movs r0, 0x1 - adds r1, r4, 0 - bl sub_80FB9E4 - adds r0, r4, 0 - bl sub_80FB0E8 - ldr r0, _080FB55C @ =Rfu - ldr r1, _080FB560 @ =0x00000993 - adds r0, r1 - ldrb r1, [r0] -_080FB552: - movs r1, 0x1 -_080FB554: - strb r1, [r0] -_080FB556: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080FB55C: .4byte Rfu -_080FB560: .4byte 0x00000993 - thumb_func_end sub_80FB37C - - thumb_func_start sub_80FB564 -sub_80FB564: @ 80FB564 - push {r4-r6,lr} - adds r3, r0, 0 - movs r2, 0 - movs r6, 0x1 - ldr r0, _080FB598 @ =Rfu - ldr r4, _080FB59C @ =0x000009a2 - adds r1, r0, r4 - movs r5, 0 - movs r4, 0xFF -_080FB576: - adds r0, r3, 0 - asrs r0, r2 - ands r0, r6 - cmp r0, 0 - beq _080FB588 - strb r5, [r1] - ldrb r0, [r1, 0x4] - orrs r0, r4 - strb r0, [r1, 0x4] -_080FB588: - adds r1, 0x1 - adds r2, 0x1 - cmp r2, 0x3 - ble _080FB576 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080FB598: .4byte Rfu -_080FB59C: .4byte 0x000009a2 - thumb_func_end sub_80FB564 - - thumb_func_start sub_80FB5A0 -sub_80FB5A0: @ 80FB5A0 - push {r4-r7,lr} - adds r5, r0, 0 - movs r3, 0 - movs r2, 0 - movs r4, 0x1 - ldr r6, _080FB5E8 @ =gRfuLinkStatus - movs r7, 0x7F -_080FB5AE: - adds r0, r5, 0 - asrs r0, r2 - ands r0, r4 - cmp r0, 0 - beq _080FB5D4 - lsls r1, r2, 5 - adds r1, 0x14 - ldr r0, [r6] - adds r0, r1 - ldrb r1, [r0, 0x10] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0x45 - bne _080FB5D4 - adds r0, r4, 0 - lsls r0, r2 - orrs r3, r0 - lsls r0, r3, 24 - lsrs r3, r0, 24 -_080FB5D4: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _080FB5AE - adds r0, r3, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080FB5E8: .4byte gRfuLinkStatus - thumb_func_end sub_80FB5A0 - - thumb_func_start sub_80FB5EC -sub_80FB5EC: @ 80FB5EC - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x25 - bne _080FB5F8 - b _080FB86C -_080FB5F8: - cmp r4, 0x25 - bgt _080FB63A - cmp r4, 0x14 - bne _080FB602 - b _080FB780 -_080FB602: - cmp r4, 0x14 - bgt _080FB61A - cmp r4, 0x11 - beq _080FB69A - cmp r4, 0x11 - ble _080FB610 - b _080FB9C2 -_080FB610: - cmp r4, 0 - beq _080FB684 - cmp r4, 0x10 - beq _080FB690 - b _080FB9C2 -_080FB61A: - cmp r4, 0x22 - bne _080FB620 - b _080FB7E8 -_080FB620: - cmp r4, 0x22 - bgt _080FB62C - cmp r4, 0x20 - bne _080FB62A - b _080FB7D0 -_080FB62A: - b _080FB9C2 -_080FB62C: - cmp r4, 0x23 - bne _080FB632 - b _080FB804 -_080FB632: - cmp r4, 0x24 - bne _080FB638 - b _080FB83A -_080FB638: - b _080FB9C2 -_080FB63A: - cmp r4, 0x44 - bgt _080FB66A - cmp r4, 0x42 - blt _080FB644 - b _080FB9C2 -_080FB644: - cmp r4, 0x32 - bne _080FB64A - b _080FB894 -_080FB64A: - cmp r4, 0x32 - bgt _080FB65C - cmp r4, 0x30 - bne _080FB654 - b _080FB8C0 -_080FB654: - cmp r4, 0x31 - bne _080FB65A - b _080FB876 -_080FB65A: - b _080FB9C2 -_080FB65C: - cmp r4, 0x33 - bne _080FB662 - b _080FB8C8 -_080FB662: - cmp r4, 0x40 - bne _080FB668 - b _080FB97C -_080FB668: - b _080FB9C2 -_080FB66A: - cmp r4, 0xF3 - bne _080FB670 - b _080FB98C -_080FB670: - cmp r4, 0xF3 - bgt _080FB67C - cmp r4, 0xF0 - bge _080FB67A - b _080FB9C2 -_080FB67A: - b _080FB9A8 -_080FB67C: - cmp r4, 0xFF - bne _080FB682 - b _080FB9A8 -_080FB682: - b _080FB9C2 -_080FB684: - ldr r1, _080FB68C @ =Rfu - movs r0, 0x11 - strh r0, [r1, 0x4] - b _080FB9C2 - .align 2, 0 -_080FB68C: .4byte Rfu -_080FB690: - movs r0, 0x4 - movs r1, 0 - bl sub_80FB9E4 - b _080FB9C2 -_080FB69A: - bl sub_80F9800 - ldrb r1, [r0, 0xA] - movs r0, 0x7F - ands r0, r1 - cmp r0, 0x45 - bne _080FB758 - ldr r5, _080FB704 @ =Rfu - ldr r1, _080FB708 @ =0x00000991 - adds r0, r5, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080FB758 - ldr r0, _080FB70C @ =gUnknown_3005E10 - ldrh r0, [r0, 0x14] - bl sub_80FB5A0 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _080FB722 - adds r0, r4, 0 - bl sub_80F886C - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x1 - mov r12, r2 - mov r1, r12 - lsls r1, r0 - lsls r1, 24 - lsrs r1, 24 - ldr r7, _080FB710 @ =0x0000099e - adds r6, r5, r7 - ldrb r2, [r6] - cmp r2, 0 - bne _080FB714 - movs r0, 0x9A - lsls r0, 4 - adds r3, r5, r0 - ldrb r0, [r3] - cmp r0, 0 - bne _080FB714 - subs r7, 0x1 - adds r0, r5, r7 - strb r1, [r0] - eors r1, r4 - orrs r1, r2 - strb r1, [r6] - mov r0, r12 - strb r0, [r3] - b _080FB722 - .align 2, 0 -_080FB704: .4byte Rfu -_080FB708: .4byte 0x00000991 -_080FB70C: .4byte gUnknown_3005E10 -_080FB710: .4byte 0x0000099e -_080FB714: - ldr r0, _080FB744 @ =Rfu - ldr r1, _080FB748 @ =0x0000099e - adds r0, r1 - ldrb r2, [r0] - adds r1, r4, 0 - orrs r1, r2 - strb r1, [r0] -_080FB722: - ldr r0, _080FB74C @ =gUnknown_3005E10 - ldrh r1, [r0, 0x14] - cmp r4, r1 - beq _080FB772 - ldr r2, _080FB744 @ =Rfu - ldr r7, _080FB750 @ =0x0000099b - adds r3, r2, r7 - adds r0, r4, 0 - eors r0, r1 - ldrb r1, [r3] - orrs r0, r1 - strb r0, [r3] - ldr r0, _080FB754 @ =0x0000099c - adds r2, r0 - movs r0, 0x2 - strb r0, [r2] - b _080FB772 - .align 2, 0 -_080FB744: .4byte Rfu -_080FB748: .4byte 0x0000099e -_080FB74C: .4byte gUnknown_3005E10 -_080FB750: .4byte 0x0000099b -_080FB754: .4byte 0x0000099c -_080FB758: - bl sub_80F9800 - ldrb r1, [r0, 0xA] - movs r0, 0x7F - ands r0, r1 - cmp r0, 0x54 - bne _080FB772 - ldr r0, _080FB77C @ =gUnknown_3005E10 - ldrb r0, [r0] - bl rfu_REQ_disconnect - bl rfu_waitREQComplete -_080FB772: - ldr r0, _080FB77C @ =gUnknown_3005E10 - ldrh r0, [r0, 0x14] - bl sub_80FB564 - b _080FB9C2 - .align 2, 0 -_080FB77C: .4byte gUnknown_3005E10 -_080FB780: - bl sub_80F9800 - ldrb r1, [r0, 0xA] - movs r0, 0x7F - ands r0, r1 - cmp r0, 0x45 - beq _080FB7B6 - ldr r4, _080FB7C8 @ =gUnknown_3005E10 - ldrb r0, [r4, 0x1] - cmp r0, 0x1 - bls _080FB7B6 - ldrb r0, [r4, 0x14] - bl sub_80F886C - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x80 - lsls r1, 17 - lsls r1, r0 - lsrs r1, 24 - ldrb r0, [r4] - eors r1, r0 - adds r0, r1, 0 - bl rfu_REQ_disconnect - bl rfu_waitREQComplete -_080FB7B6: - ldr r1, _080FB7CC @ =Rfu - ldrh r0, [r1, 0x4] - cmp r0, 0xF - beq _080FB7C0 - b _080FB9C2 -_080FB7C0: - movs r0, 0x10 - strh r0, [r1, 0x4] - b _080FB9C2 - .align 2, 0 -_080FB7C8: .4byte gUnknown_3005E10 -_080FB7CC: .4byte Rfu -_080FB7D0: - ldr r0, _080FB7DC @ =Rfu - ldr r1, _080FB7E0 @ =gUnknown_3005E10 - ldrh r1, [r1, 0x14] - ldr r2, _080FB7E4 @ =0x00000985 - adds r0, r2 - b _080FB9C0 - .align 2, 0 -_080FB7DC: .4byte Rfu -_080FB7E0: .4byte gUnknown_3005E10 -_080FB7E4: .4byte 0x00000985 -_080FB7E8: - ldr r0, _080FB7F8 @ =Rfu - ldr r1, _080FB7FC @ =gUnknown_3005E10 - ldrh r1, [r1, 0x14] - ldr r7, _080FB800 @ =0x000008f6 - adds r0, r7 - ldrb r2, [r0] - b _080FB9C0 - .align 2, 0 -_080FB7F8: .4byte Rfu -_080FB7FC: .4byte gUnknown_3005E10 -_080FB800: .4byte 0x000008f6 -_080FB804: - ldr r1, _080FB824 @ =Rfu - movs r0, 0x12 - strh r0, [r1, 0x4] - ldr r0, _080FB828 @ =0x00000987 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0x1 - bhi _080FB830 - adds r0, 0x1 - strb r0, [r1] - ldr r0, _080FB82C @ =sub_80FC028 - movs r1, 0x2 - bl CreateTask - b _080FB9C2 - .align 2, 0 -_080FB824: .4byte Rfu -_080FB828: .4byte 0x00000987 -_080FB82C: .4byte sub_80FC028 -_080FB830: - movs r0, 0x2 - movs r1, 0x23 - bl sub_80FB9E4 - b _080FB9C2 -_080FB83A: - ldr r4, _080FB860 @ =Rfu - movs r0, 0xD - strh r0, [r4, 0x4] - movs r0, 0x3 - movs r1, 0 - bl sub_80FB9E4 - ldr r1, _080FB864 @ =0x000008f6 - adds r0, r4, r1 - ldrb r1, [r0] - ldr r2, _080FB868 @ =0x000008f7 - adds r4, r2 - movs r0, 0x10 - adds r2, r4, 0 - movs r3, 0x46 - bl rfu_setRecvBuffer - b _080FB9C2 - .align 2, 0 -_080FB860: .4byte Rfu -_080FB864: .4byte 0x000008f6 -_080FB868: .4byte 0x000008f7 -_080FB86C: - movs r0, 0x2 - movs r1, 0x25 - bl sub_80FB9E4 - b _080FB9C2 -_080FB876: - ldr r0, _080FB88C @ =gUnknown_3005E10 - ldrb r1, [r0] - ldrh r0, [r0, 0x14] - ands r1, r0 - cmp r1, 0 - bne _080FB884 - b _080FB9C2 -_080FB884: - ldr r0, _080FB890 @ =Rfu - adds r0, 0xF0 - movs r1, 0x1 - b _080FB9C0 - .align 2, 0 -_080FB88C: .4byte gUnknown_3005E10 -_080FB890: .4byte Rfu -_080FB894: - ldr r2, _080FB8B4 @ =Rfu - adds r1, r2, 0 - adds r1, 0xF0 - movs r0, 0x3 - strb r0, [r1] - ldr r0, _080FB8B8 @ =gRfuLinkStatus - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0 - beq _080FB8AA - b _080FB9C2 -_080FB8AA: - ldr r7, _080FB8BC @ =0x000008f4 - adds r0, r2, r7 - ldrb r1, [r0] - movs r1, 0x1 - b _080FB9C0 - .align 2, 0 -_080FB8B4: .4byte Rfu -_080FB8B8: .4byte gRfuLinkStatus -_080FB8BC: .4byte 0x000008f4 -_080FB8C0: - ldr r0, _080FB900 @ =Rfu - adds r0, 0xF0 - movs r1, 0x2 - strb r1, [r0] -_080FB8C8: - ldr r2, _080FB900 @ =Rfu - adds r1, r2, 0 - adds r1, 0xF0 - ldrb r0, [r1] - cmp r0, 0x2 - beq _080FB8D8 - movs r0, 0x4 - strb r0, [r1] -_080FB8D8: - ldrb r0, [r2, 0xC] - cmp r0, 0x1 - bne _080FB916 - ldr r0, _080FB904 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0x1 - bne _080FB934 - ldr r0, _080FB908 @ =0x0000099a - adds r2, r0 - ldr r0, _080FB90C @ =gUnknown_3005E10 - ldrb r1, [r0, 0x14] - ldrb r0, [r2] - bics r0, r1 - strb r0, [r2] - cmp r0, 0 - bne _080FB910 - adds r0, r4, 0 - bl sub_80FB0E8 - b _080FB934 - .align 2, 0 -_080FB900: .4byte Rfu -_080FB904: .4byte gReceivedRemoteLinkPlayers -_080FB908: .4byte 0x0000099a -_080FB90C: .4byte gUnknown_3005E10 -_080FB910: - bl sub_80FB174 - b _080FB934 -_080FB916: - ldr r1, _080FB964 @ =0x0000099c - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x2 - beq _080FB934 - ldr r0, _080FB968 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0x1 - bne _080FB934 - adds r0, r4, 0 - bl sub_80FB0E8 - movs r0, 0 - bl sub_80FD760 -_080FB934: - ldr r0, _080FB96C @ =gRfuLinkStatus - ldr r0, [r0] - ldrb r0, [r0] - cmp r0, 0xFF - bne _080FB95A - ldr r0, _080FB970 @ =gUnknown_3005E10 - ldrb r0, [r0, 0x7] - cmp r0, 0 - bne _080FB95A - ldr r0, _080FB974 @ =sub_80F8B34 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FB95A - ldr r1, _080FB978 @ =Rfu - movs r0, 0x11 - strh r0, [r1, 0x4] -_080FB95A: - movs r0, 0x2 - adds r1, r4, 0 - bl sub_80FB9E4 - b _080FB9C2 - .align 2, 0 -_080FB964: .4byte 0x0000099c -_080FB968: .4byte gReceivedRemoteLinkPlayers -_080FB96C: .4byte gRfuLinkStatus -_080FB970: .4byte gUnknown_3005E10 -_080FB974: .4byte sub_80F8B34 -_080FB978: .4byte Rfu -_080FB97C: - ldr r0, _080FB984 @ =Rfu - ldr r2, _080FB988 @ =0x0000099b - adds r0, r2 - b _080FB9BE - .align 2, 0 -_080FB984: .4byte Rfu -_080FB988: .4byte 0x0000099b -_080FB98C: - movs r0, 0x1 - movs r1, 0xF3 - bl sub_80FB9E4 - movs r0, 0xF3 - bl sub_80FB0E8 - ldr r0, _080FB9A4 @ =Rfu - adds r0, 0xEF - movs r1, 0x1 - b _080FB9C0 - .align 2, 0 -_080FB9A4: .4byte Rfu -_080FB9A8: - adds r0, r4, 0 - bl sub_80FB0E8 - movs r0, 0x1 - adds r1, r4, 0 - bl sub_80FB9E4 - ldr r0, _080FB9C8 @ =Rfu - ldr r7, _080FB9CC @ =0x00000993 - adds r0, r7 - ldrb r1, [r0] -_080FB9BE: - movs r1, 0 -_080FB9C0: - strb r1, [r0] -_080FB9C2: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080FB9C8: .4byte Rfu -_080FB9CC: .4byte 0x00000993 - thumb_func_end sub_80FB5EC - - thumb_func_start sub_80FB9D0 -sub_80FB9D0: @ 80FB9D0 - ldr r0, _080FB9DC @ =Rfu - ldr r1, _080FB9E0 @ =0x0000099c - adds r0, r1 - movs r1, 0x2 - strb r1, [r0] - bx lr - .align 2, 0 -_080FB9DC: .4byte Rfu -_080FB9E0: .4byte 0x0000099c - thumb_func_end sub_80FB9D0 - - thumb_func_start sub_80FB9E4 -sub_80FB9E4: @ 80FB9E4 - ldr r2, _080FB9F0 @ =Rfu - adds r3, r2, 0 - adds r3, 0xF1 - strb r0, [r3] - strh r1, [r2, 0xA] - bx lr - .align 2, 0 -_080FB9F0: .4byte Rfu - thumb_func_end sub_80FB9E4 - - thumb_func_start sub_80FB9F4 -sub_80FB9F4: @ 80FB9F4 - ldr r0, _080FB9FC @ =Rfu - adds r0, 0xF1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_080FB9FC: .4byte Rfu - thumb_func_end sub_80FB9F4 - - thumb_func_start sub_80FBA00 -sub_80FBA00: @ 80FBA00 - push {lr} - bl sub_80FB9F4 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r0, 0x1 - bls _080FBA14 - movs r0, 0 - b _080FBA16 -_080FBA14: - movs r0, 0x1 -_080FBA16: - pop {r1} - bx r1 - thumb_func_end sub_80FBA00 - - thumb_func_start sub_80FBA1C -sub_80FBA1C: @ 80FBA1C - ldr r0, _080FBA28 @ =Rfu - movs r1, 0x9A - lsls r1, 4 - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_080FBA28: .4byte Rfu - thumb_func_end sub_80FBA1C - - thumb_func_start Rfu_IsMaster -Rfu_IsMaster: @ 80FBA2C - ldr r0, _080FBA34 @ =Rfu - ldrb r0, [r0, 0xC] - bx lr - .align 2, 0 -_080FBA34: .4byte Rfu - thumb_func_end Rfu_IsMaster - - thumb_func_start RFUVSync -RFUVSync: @ 80FBA38 - push {lr} - bl rfu_syncVBlank_ - pop {r0} - bx r0 - thumb_func_end RFUVSync - - thumb_func_start sub_80FBA44 -sub_80FBA44: @ 80FBA44 - push {lr} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - ldr r1, _080FBA5C @ =gRecvCmds - ldr r2, _080FBA60 @ =0x05000014 - mov r0, sp - bl CpuSet - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080FBA5C: .4byte gRecvCmds -_080FBA60: .4byte 0x05000014 - thumb_func_end sub_80FBA44 - - thumb_func_start sub_80FBA64 -sub_80FBA64: @ 80FBA64 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_80FBA64 - - thumb_func_start sub_80FBA78 -sub_80FBA78: @ 80FBA78 - push {r4,lr} - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetTasks - bl ResetPaletteFade - ldr r0, _080FBAF4 @ =sub_80FBA64 - bl SetVBlankCallback - bl IsWirelessAdapterConnected - lsls r0, 24 - cmp r0, 0 - beq _080FBAEC - ldr r1, _080FBAF8 @ =gLinkType - ldr r2, _080FBAFC @ =0x00001111 - adds r0, r2, 0 - strh r0, [r1] - bl sub_800B1F4 - bl OpenLink - ldr r0, _080FBB00 @ =gMain - ldrh r0, [r0, 0x24] - bl SeedRng - movs r4, 0 -_080FBAB4: - bl Random - ldr r1, _080FBB04 @ =gSaveBlock2Ptr - ldr r1, [r1] - adds r1, 0xA - adds r1, r4 - strb r0, [r1] - adds r4, 0x1 - cmp r4, 0x3 - ble _080FBAB4 - movs r1, 0xAA - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - bl sub_80FBB20 - ldr r0, _080FBB08 @ =sub_80FBB74 - bl SetMainCallback2 -_080FBAEC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FBAF4: .4byte sub_80FBA64 -_080FBAF8: .4byte gLinkType -_080FBAFC: .4byte 0x00001111 -_080FBB00: .4byte gMain -_080FBB04: .4byte gSaveBlock2Ptr -_080FBB08: .4byte sub_80FBB74 - thumb_func_end sub_80FBA78 - - thumb_func_start sub_80FBB0C -sub_80FBB0C: @ 80FBB0C - push {lr} - ldr r0, _080FBB1C @ =sub_80F8B34 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_080FBB1C: .4byte sub_80F8B34 - thumb_func_end sub_80FBB0C - - thumb_func_start sub_80FBB20 -sub_80FBB20: @ 80FBB20 - push {r4,lr} - ldr r4, _080FBB44 @ =nullsub_89 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _080FBB3E - adds r0, r4, 0 - movs r1, 0 - bl CreateTask - ldr r1, _080FBB48 @ =Rfu - adds r1, 0x66 - strb r0, [r1] -_080FBB3E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FBB44: .4byte nullsub_89 -_080FBB48: .4byte Rfu - thumb_func_end sub_80FBB20 - - thumb_func_start sub_80FBB4C -sub_80FBB4C: @ 80FBB4C - push {lr} - ldr r0, _080FBB6C @ =nullsub_89 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080FBB66 - ldr r0, _080FBB70 @ =Rfu - adds r0, 0x66 - ldrb r0, [r0] - bl DestroyTask -_080FBB66: - pop {r0} - bx r0 - .align 2, 0 -_080FBB6C: .4byte nullsub_89 -_080FBB70: .4byte Rfu - thumb_func_end sub_80FBB4C - - thumb_func_start sub_80FBB74 -sub_80FBB74: @ 80FBB74 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_80FBB74 - - thumb_func_start sub_80FBB8C -sub_80FBB8C: @ 80FBB8C - push {r4-r6,lr} - adds r4, r0, 0 - ldr r1, _080FBBC4 @ =Rfu - movs r0, 0x1 - strb r0, [r1, 0xC] - bl sub_80FAF1C - ldr r0, _080FBBC8 @ =sub_80FB184 - movs r1, 0 - bl sub_80FD430 - ldr r2, _080FBBCC @ =gUnknown_203ABF0 - adds r1, r2, 0 - ldr r0, _080FBBD0 @ =gUnknown_843EBB4 - ldm r0!, {r3,r5,r6} - stm r1!, {r3,r5,r6} - ldm r0!, {r3,r5,r6} - stm r1!, {r3,r5,r6} - ldr r0, _080FBBD4 @ =gUnknown_843EBCC - subs r4, 0x1 - adds r4, r0 - ldrb r0, [r4] - strh r0, [r2, 0x2] - bl sub_80F8E74 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080FBBC4: .4byte Rfu -_080FBBC8: .4byte sub_80FB184 -_080FBBCC: .4byte gUnknown_203ABF0 -_080FBBD0: .4byte gUnknown_843EBB4 -_080FBBD4: .4byte gUnknown_843EBCC - thumb_func_end sub_80FBB8C - - thumb_func_start sub_80FBBD8 -sub_80FBBD8: @ 80FBBD8 - push {lr} - ldr r1, _080FBBF4 @ =Rfu - movs r0, 0 - strb r0, [r1, 0xC] - bl sub_80FAF1C - ldr r0, _080FBBF8 @ =sub_80FB37C - ldr r1, _080FBBFC @ =sub_80F8D20 - bl sub_80FD430 - bl sub_80F8F10 - pop {r0} - bx r0 - .align 2, 0 -_080FBBF4: .4byte Rfu -_080FBBF8: .4byte sub_80FB37C -_080FBBFC: .4byte sub_80F8D20 - thumb_func_end sub_80FBBD8 - - thumb_func_start sub_80FBC00 -sub_80FBC00: @ 80FBC00 - push {r4-r7,lr} - ldr r0, _080FBC4C @ =gUnknown_203ADFA - ldrb r0, [r0] - subs r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _080FBC46 - ldr r4, _080FBC50 @ =Rfu - movs r5, 0 - movs r0, 0x2 - strb r0, [r4, 0xC] - bl sub_80FAF1C - ldr r0, _080FBC54 @ =sub_80FB5EC - movs r1, 0 - bl sub_80FD430 - ldr r2, _080FBC58 @ =gUnknown_203ABF0 - adds r1, r2, 0 - ldr r0, _080FBC5C @ =gUnknown_843EBB4 - ldm r0!, {r3,r6,r7} - stm r1!, {r3,r6,r7} - ldm r0!, {r3,r6,r7} - stm r1!, {r3,r6,r7} - strb r5, [r2, 0x11] - movs r0, 0x96 - lsls r0, 2 - strh r0, [r2, 0x12] - ldr r0, _080FBC60 @ =sub_80F8B34 - movs r1, 0x1 - bl CreateTask - adds r4, 0x67 - strb r0, [r4] -_080FBC46: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080FBC4C: .4byte gUnknown_203ADFA -_080FBC50: .4byte Rfu -_080FBC54: .4byte sub_80FB5EC -_080FBC58: .4byte gUnknown_203ABF0 -_080FBC5C: .4byte gUnknown_843EBB4 -_080FBC60: .4byte sub_80F8B34 - thumb_func_end sub_80FBC00 - - thumb_func_start sub_80FBC64 -sub_80FBC64: @ 80FBC64 - ldrb r1, [r0, 0x1] - lsls r1, 8 - ldrb r0, [r0] - orrs r0, r1 - bx lr - thumb_func_end sub_80FBC64 - - thumb_func_start sub_80FBC70 -sub_80FBC70: @ 80FBC70 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - str r0, [sp] - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - movs r0, 0xFF - mov r9, r0 - movs r7, 0 - ldr r1, _080FBCF4 @ =gRfuLinkStatus - mov r8, r1 -_080FBC8E: - lsls r4, r7, 5 - adds r5, r4, 0 - adds r5, 0x14 - mov r1, r8 - ldr r0, [r1] - adds r0, r5 - adds r0, 0x8 - bl sub_80FBC64 - lsls r0, 16 - lsrs r6, r0, 16 - mov r1, r8 - ldr r0, [r1] - adds r0, r4 - ldrh r0, [r0, 0x18] - bl sub_80FA44C - cmp r0, 0 - beq _080FBCD8 - mov r0, r8 - ldr r1, [r0] - adds r1, r5 - adds r1, 0x15 - ldr r0, [sp] - bl StringCompare - cmp r0, 0 - bne _080FBCD8 - cmp r10, r6 - bne _080FBCD8 - mov r9, r7 - mov r1, r8 - ldr r0, [r1] - adds r0, r4 - ldrb r0, [r0, 0x16] - cmp r0, 0xFF - bne _080FBCE2 -_080FBCD8: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x3 - bls _080FBC8E -_080FBCE2: - mov r0, r9 - 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 -_080FBCF4: .4byte gRfuLinkStatus - thumb_func_end sub_80FBC70 - - thumb_func_start sub_80FBCF8 -sub_80FBCF8: @ 80FBCF8 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r0, r6, 24 - lsrs r0, 24 - bl rfu_REQ_disconnect - bl rfu_waitREQComplete - ldr r4, _080FBD3C @ =Rfu - ldr r0, _080FBD40 @ =0x0000099a - adds r5, r4, r0 - ldrb r0, [r5] - bics r0, r6 - strb r0, [r5] - ldr r1, _080FBD44 @ =0x00000992 - adds r6, r4, r1 - ldrb r1, [r6] - movs r0, 0x1 - bl rfu_clearSlot - ldrb r0, [r5] - ldr r1, _080FBD48 @ =0x0000093f - adds r4, r1 - adds r1, r4, 0 - movs r2, 0x46 - bl rfu_UNI_setSendData - ldrb r0, [r5] - bl sub_80F886C - strb r0, [r6] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080FBD3C: .4byte Rfu -_080FBD40: .4byte 0x0000099a -_080FBD44: .4byte 0x00000992 -_080FBD48: .4byte 0x0000093f - thumb_func_end sub_80FBCF8 - - thumb_func_start sub_80FBD4C -sub_80FBD4C: @ 80FBD4C - push {lr} - lsls r1, 16 - lsrs r1, 16 - bl sub_80FBC70 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0xFF - beq _080FBD66 - movs r0, 0x1 - lsls r0, r1 - bl sub_80FBCF8 -_080FBD66: - pop {r0} - bx r0 - thumb_func_end sub_80FBD4C - - thumb_func_start sub_80FBD6C -sub_80FBD6C: @ 80FBD6C - push {r4-r6,lr} - adds r4, r0, 0 - cmp r4, 0 - beq _080FBDAC - movs r3, 0 - movs r2, 0 - ldr r5, _080FBDB4 @ =Rfu+0x996 - adds r6, r5, 0x4 -_080FBD7C: - adds r0, r2, r5 - ldrb r0, [r0] - cmp r0, r4 - bne _080FBD9A - ldrb r0, [r6] - asrs r0, r2 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080FBD9A - adds r0, r1, 0 - lsls r0, r2 - orrs r3, r0 - lsls r0, r3, 24 - lsrs r3, r0, 24 -_080FBD9A: - adds r2, 0x1 - cmp r2, 0x3 - ble _080FBD7C - cmp r3, 0 - beq _080FBDAC - adds r0, r3, 0 - movs r1, 0x2 - bl sub_80FBE20 -_080FBDAC: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080FBDB4: .4byte Rfu+0x996 - thumb_func_end sub_80FBD6C - - thumb_func_start sub_80FBDB8 -sub_80FBDB8: @ 80FBDB8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r6, _080FBE10 @ =gSendCmd - ldrh r0, [r6] - cmp r0, 0 - bne _080FBE08 - ldr r5, _080FBE14 @ =Rfu - movs r1, 0x9A - lsls r1, 4 - adds r0, r5, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _080FBE08 - movs r0, 0xED - lsls r0, 8 - bl sub_80F9D04 - ldr r1, _080FBE18 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x8] - strh r1, [r6, 0x2] - ldrh r1, [r0, 0xA] - strh r1, [r6, 0x4] - ldr r1, _080FBE1C @ =gUnknown_843EC41 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r0, r1 - ldrb r1, [r5, 0xD] - ldrb r0, [r0] - subs r1, r0 - strb r1, [r5, 0xD] - ldrb r0, [r5, 0xD] - strh r0, [r6, 0x6] - adds r0, r4, 0 - bl DestroyTask -_080FBE08: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080FBE10: .4byte gSendCmd -_080FBE14: .4byte Rfu -_080FBE18: .4byte gTasks -_080FBE1C: .4byte gUnknown_843EC41 - thumb_func_end sub_80FBDB8 - - thumb_func_start sub_80FBE20 -sub_80FBE20: @ 80FBE20 - push {r4-r6,lr} - adds r4, r0, 0 - adds r6, r1, 0 - ldr r5, _080FBE50 @ =sub_80FBDB8 - adds r0, r5, 0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - bne _080FBE58 - adds r0, r5, 0 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _080FBE54 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - strh r4, [r0, 0x8] - b _080FBE68 - .align 2, 0 -_080FBE50: .4byte sub_80FBDB8 -_080FBE54: .4byte gTasks -_080FBE58: - ldr r0, _080FBE7C @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - orrs r4, r0 - strh r4, [r1, 0x8] -_080FBE68: - ldr r1, _080FBE7C @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - strh r6, [r0, 0xA] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080FBE7C: .4byte gTasks - thumb_func_end sub_80FBE20 - - thumb_func_start sub_80FBE80 -sub_80FBE80: @ 80FBE80 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _080FBED8 @ =gTasks+0x8 - adds r4, r0, r1 - bl sub_80F8EA4 - lsls r0, 24 - cmp r0, 0 - beq _080FBF30 - adds r0, r4, 0 - adds r0, 0x10 - bl sub_80FBC64 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_80FBC70 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _080FBF18 - ldr r0, _080FBEDC @ =gRfuLinkStatus - ldr r0, [r0] - lsls r1, r2, 5 - adds r0, r1 - ldrb r0, [r0, 0x16] - cmp r0, 0xFF - beq _080FBEE8 - ldr r0, _080FBEE0 @ =Rfu - ldr r1, _080FBEE4 @ =0x000008f5 - adds r0, r1 - strb r2, [r0] - bl sub_80F8ECC - cmp r0, 0 - beq _080FBF36 - b _080FBF10 - .align 2, 0 -_080FBED8: .4byte gTasks+0x8 -_080FBEDC: .4byte gRfuLinkStatus -_080FBEE0: .4byte Rfu -_080FBEE4: .4byte 0x000008f5 -_080FBEE8: - bl sub_80F9800 - ldrb r1, [r0, 0xA] - movs r5, 0x7F - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0x15 - beq _080FBF30 - bl sub_80F9800 - ldrb r1, [r0, 0xA] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0x16 - beq _080FBF30 - movs r1, 0xE0 - lsls r1, 7 - movs r0, 0x2 - bl sub_80FB9E4 -_080FBF10: - adds r0, r6, 0 - bl DestroyTask - b _080FBF36 -_080FBF18: - ldrh r0, [r4, 0x1E] - adds r0, 0x1 - strh r0, [r4, 0x1E] - ldr r0, _080FBF28 @ =Rfu - ldr r1, _080FBF2C @ =0x000008f5 - adds r0, r1 - strb r2, [r0] - b _080FBF36 - .align 2, 0 -_080FBF28: .4byte Rfu -_080FBF2C: .4byte 0x000008f5 -_080FBF30: - ldrh r0, [r4, 0x1E] - adds r0, 0x1 - strh r0, [r4, 0x1E] -_080FBF36: - movs r1, 0x1E - ldrsh r0, [r4, r1] - cmp r0, 0xF0 - ble _080FBF4E - movs r1, 0xE0 - lsls r1, 7 - movs r0, 0x2 - bl sub_80FB9E4 - adds r0, r6, 0 - bl DestroyTask -_080FBF4E: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80FBE80 - - thumb_func_start sub_80FBF54 -sub_80FBF54: @ 80FBF54 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r5, r1, 16 - lsrs r5, 16 - ldr r0, _080FBF8C @ =Rfu - adds r0, 0xF1 - movs r1, 0 - strb r1, [r0] - ldr r0, _080FBF90 @ =sub_80FBE80 - movs r1, 0x3 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _080FBF94 @ =gTasks+0x8 - adds r4, r0 - adds r0, r4, 0 - adds r1, r6, 0 - bl StringCopy - strh r5, [r4, 0x10] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080FBF8C: .4byte Rfu -_080FBF90: .4byte sub_80FBE80 -_080FBF94: .4byte gTasks+0x8 - thumb_func_end sub_80FBF54 - - thumb_func_start sub_80FBF98 -sub_80FBF98: @ 80FBF98 - push {r4,r5,lr} - adds r4, r1, 0 - lsls r0, 16 - lsrs r5, r0, 16 - bl sub_80F9800 - ldrb r1, [r0, 0xA] - movs r2, 0x7F - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0x45 - bne _080FBFBE - ldrb r1, [r4, 0xA] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0x45 - beq _080FC01E -_080FBFBA: - movs r0, 0x1 - b _080FC020 -_080FBFBE: - ldrb r1, [r4, 0xA] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0x40 - bne _080FBFBA - cmp r5, 0x44 - bne _080FC01E - ldr r5, _080FBFEC @ =Rfu+0x10a - ldrh r0, [r5, 0x8] - ldr r3, _080FBFF0 @ =0x000003ff - adds r2, r3, 0 - ands r2, r0 - movs r0, 0xCE - lsls r0, 1 - cmp r2, r0 - bne _080FBFF4 - ldrh r1, [r4, 0x8] - adds r0, r3, 0 - ands r0, r1 - cmp r0, r2 - beq _080FC01E - b _080FBFBA - .align 2, 0 -_080FBFEC: .4byte Rfu+0x10a -_080FBFF0: .4byte 0x000003ff -_080FBFF4: - ldrh r1, [r4, 0x8] - adds r0, r3, 0 - ands r0, r1 - cmp r0, r2 - bne _080FBFBA - ldrb r2, [r4, 0xB] - movs r0, 0xFE - ldrb r3, [r5, 0xB] - adds r1, r0, 0 - ands r1, r2 - ands r0, r3 - cmp r1, r0 - bne _080FBFBA - ldrb r2, [r4, 0x9] - movs r0, 0xFC - ldrb r3, [r5, 0x9] - adds r1, r0, 0 - ands r1, r2 - ands r0, r3 - cmp r1, r0 - bne _080FBFBA -_080FC01E: - movs r0, 0 -_080FC020: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_80FBF98 - - thumb_func_start sub_80FC028 -sub_80FC028: @ 80FC028 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r5, r0, 24 - mov r8, r5 - ldr r6, _080FC0E0 @ =Rfu - adds r0, r6, 0 - adds r0, 0xF1 - ldrb r0, [r0] - cmp r0, 0x4 - bne _080FC046 - adds r0, r5, 0 - bl DestroyTask -_080FC046: - ldr r1, _080FC0E4 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - lsls r0, 16 - movs r1, 0x96 - lsls r1, 17 - cmp r0, r1 - ble _080FC070 - movs r1, 0xE0 - lsls r1, 7 - movs r0, 0x2 - bl sub_80FB9E4 - adds r0, r5, 0 - bl DestroyTask -_080FC070: - ldr r1, _080FC0E8 @ =0x00000985 - adds r0, r6, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _080FC108 - ldr r0, _080FC0EC @ =gUnknown_3005E10 - ldrb r0, [r0, 0x6] - cmp r0, 0 - bne _080FC108 - movs r2, 0x86 - lsls r2, 1 - adds r0, r6, r2 - bl sub_80FBC64 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r2, _080FC0F0 @ =0x00000119 - adds r0, r6, r2 - bl sub_80FBC70 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _080FC108 - movs r1, 0xA - ldrsh r0, [r4, r1] - ldr r7, _080FC0F4 @ =gRfuLinkStatus - lsls r4, r2, 5 - adds r2, r4, 0 - adds r2, 0x14 - ldr r1, [r7] - adds r1, r2 - adds r1, 0x6 - bl sub_80FBF98 - cmp r0, 0 - bne _080FC0F8 - ldr r0, [r7] - adds r1, r0, r4 - ldrb r0, [r1, 0x16] - cmp r0, 0xFF - beq _080FC108 - ldrh r0, [r1, 0x14] - movs r1, 0x5A - bl sub_80FD610 - lsls r0, 24 - cmp r0, 0 - bne _080FC108 - movs r0, 0xA - strh r0, [r6, 0x4] - adds r0, r5, 0 - bl DestroyTask - b _080FC108 - .align 2, 0 -_080FC0E0: .4byte Rfu -_080FC0E4: .4byte gTasks -_080FC0E8: .4byte 0x00000985 -_080FC0EC: .4byte gUnknown_3005E10 -_080FC0F0: .4byte 0x00000119 -_080FC0F4: .4byte gRfuLinkStatus -_080FC0F8: - movs r1, 0xE0 - lsls r1, 7 - movs r0, 0x2 - bl sub_80FB9E4 - mov r0, r8 - bl DestroyTask -_080FC108: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80FC028 - - thumb_func_start sub_80FC114 -sub_80FC114: @ 80FC114 - push {r4-r7,lr} - adds r3, r0, 0 - adds r5, r1, 0 - lsls r4, r2, 24 - lsrs r4, 24 - ldr r6, _080FC184 @ =Rfu - ldr r1, _080FC188 @ =0x00000987 - adds r0, r6, r1 - movs r7, 0 - strb r7, [r0] - adds r0, r6, 0 - adds r0, 0xF1 - strb r7, [r0] - ldr r1, _080FC18C @ =0x00000119 - adds r0, r6, r1 - adds r1, r3, 0 - bl StringCopy - movs r1, 0x85 - lsls r1, 1 - adds r0, r6, r1 - adds r1, r5, 0 - movs r2, 0xD - bl memcpy - bl sub_80FEB3C - ldr r0, _080FC190 @ =sub_80FC028 - movs r1, 0x2 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r5, _080FC194 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r5 - strh r4, [r1, 0xA] - ldr r0, _080FC198 @ =sub_80F8B34 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r1, r0, 24 - adds r2, r1, 0 - cmp r4, 0x45 - bne _080FC19C - cmp r1, 0xFF - beq _080FC1AA - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r1, 0x1 - strh r1, [r0, 0x16] - b _080FC1AA - .align 2, 0 -_080FC184: .4byte Rfu -_080FC188: .4byte 0x00000987 -_080FC18C: .4byte 0x00000119 -_080FC190: .4byte sub_80FC028 -_080FC194: .4byte gTasks -_080FC198: .4byte sub_80F8B34 -_080FC19C: - cmp r2, 0xFF - beq _080FC1AA - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r5 - strh r7, [r0, 0x16] -_080FC1AA: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80FC114 - - thumb_func_start sub_80FC1B0 -sub_80FC1B0: @ 80FC1B0 - push {lr} - ldr r0, _080FC1C0 @ =Rfu - adds r0, 0xF0 - ldrb r0, [r0] - cmp r0, 0x1 - beq _080FC1C4 - movs r0, 0 - b _080FC1C6 - .align 2, 0 -_080FC1C0: .4byte Rfu -_080FC1C4: - movs r0, 0x1 -_080FC1C6: - pop {r1} - bx r1 - thumb_func_end sub_80FC1B0 - - thumb_func_start sub_80FC1CC -sub_80FC1CC: @ 80FC1CC - push {r4,lr} - movs r1, 0 - ldr r0, _080FC1F0 @ =gUnknown_3005E10 - ldrb r2, [r0] - ldr r4, _080FC1F4 @ =Rfu+0x989 - movs r3, 0x1 -_080FC1D8: - adds r0, r2, 0 - asrs r0, r1 - ands r0, r3 - cmp r0, 0 - beq _080FC1F8 - adds r0, r1, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _080FC1F8 - movs r0, 0 - b _080FC200 - .align 2, 0 -_080FC1F0: .4byte gUnknown_3005E10 -_080FC1F4: .4byte Rfu+0x989 -_080FC1F8: - adds r1, 0x1 - cmp r1, 0x3 - ble _080FC1D8 - movs r0, 0x1 -_080FC200: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80FC1CC - - thumb_func_start sub_80FC208 -sub_80FC208: @ 80FC208 - push {r4,lr} - movs r4, 0 -_080FC20C: - lsls r2, r4, 24 - lsrs r2, 24 - ldr r0, _080FC224 @ =gUnknown_843EE28 - movs r1, 0 - bl nullsub_87 - adds r4, 0x1 - cmp r4, 0x13 - ble _080FC20C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080FC224: .4byte gUnknown_843EE28 - thumb_func_end sub_80FC208 - - thumb_func_start sub_80FC228 -sub_80FC228: @ 80FC228 - push {r4-r7,lr} - mov r7, r8 - push {r7} - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1C - movs r2, 0x13 - movs r3, 0x2 - bl nullsub_88 - ldr r4, _080FC2F8 @ =gRfuLinkStatus - ldr r0, [r4] - ldrb r0, [r0, 0x2] - movs r1, 0x14 - movs r2, 0x1 - movs r3, 0x1 - bl nullsub_88 - ldr r0, [r4] - ldrb r0, [r0, 0x3] - movs r1, 0x17 - movs r2, 0x1 - movs r3, 0x1 - bl nullsub_88 - ldr r0, _080FC2FC @ =Rfu - ldrb r0, [r0, 0xC] - cmp r0, 0x1 - bne _080FC304 - movs r6, 0 - adds r7, r4, 0 - movs r5, 0x14 -_080FC26C: - ldr r2, [r7] - ldrb r0, [r2, 0x7] - asrs r0, r6 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080FC2AA - lsls r0, r6, 5 - adds r0, r2, r0 - ldrh r0, [r0, 0x18] - adds r4, r6, 0x3 - lsls r4, 24 - lsrs r4, 24 - adds r2, r4, 0 - movs r3, 0x4 - bl nullsub_88 - ldr r0, [r7] - adds r0, r5 - adds r0, 0x6 - movs r1, 0x6 - adds r2, r4, 0 - bl nullsub_87 - ldr r0, [r7] - adds r0, r5 - adds r0, 0x15 - movs r1, 0x16 - adds r2, r4, 0 - bl nullsub_87 -_080FC2AA: - adds r5, 0x20 - adds r6, 0x1 - cmp r6, 0x3 - ble _080FC26C - movs r6, 0 - ldr r0, _080FC2FC @ =Rfu - mov r8, r0 -_080FC2B8: - movs r5, 0 - adds r7, r6, 0x1 - lsls r0, r6, 3 - adds r2, r6, 0 - adds r2, 0xB - subs r0, r6 - lsls r0, 1 - mov r1, r8 - adds r1, 0x14 - adds r4, r0, r1 - lsls r6, r2, 24 -_080FC2CE: - ldrb r0, [r4] - lsls r1, r5, 25 - lsrs r1, 24 - lsrs r2, r6, 24 - movs r3, 0x2 - bl nullsub_88 - adds r4, 0x1 - adds r5, 0x1 - cmp r5, 0xD - ble _080FC2CE - adds r6, r7, 0 - cmp r6, 0x3 - ble _080FC2B8 - ldr r0, _080FC300 @ =gUnknown_843EE64 "NOWSLOT" - movs r1, 0x1 - movs r2, 0xF - bl nullsub_87 - b _080FC436 - .align 2, 0 -_080FC2F8: .4byte gRfuLinkStatus -_080FC2FC: .4byte Rfu -_080FC300: .4byte gUnknown_843EE64 -_080FC304: - ldr r1, [r4] - ldrb r0, [r1, 0x2] - cmp r0, 0 - beq _080FC3A0 - ldrb r0, [r1, 0x7] - cmp r0, 0 - beq _080FC3A0 - movs r6, 0 - movs r5, 0xC0 - lsls r5, 18 -_080FC318: - lsrs r4, r5, 24 - movs r0, 0 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0x4 - bl nullsub_88 - ldr r0, _080FC38C @ =gUnknown_843EE47 - movs r1, 0x6 - adds r2, r4, 0 - bl nullsub_87 - ldr r0, _080FC390 @ =gUnknown_843EE57 - movs r1, 0x16 - adds r2, r4, 0 - bl nullsub_87 - movs r1, 0x80 - lsls r1, 17 - adds r5, r1 - adds r6, 0x1 - cmp r6, 0x3 - ble _080FC318 - ldr r5, _080FC394 @ =gRfuLinkStatus - ldr r1, [r5] - ldr r4, _080FC398 @ =Rfu - ldr r0, _080FC39C @ =0x000008f6 - adds r4, r0 - ldrb r0, [r4] - lsls r0, 5 - adds r1, r0 - ldrh r0, [r1, 0x18] - movs r1, 0x1 - movs r2, 0x3 - movs r3, 0x4 - bl nullsub_88 - ldrb r1, [r4] - lsls r1, 5 - adds r1, 0x14 - ldr r0, [r5] - adds r0, r1 - adds r0, 0x6 - movs r1, 0x6 - movs r2, 0x3 - bl nullsub_87 - ldrb r1, [r4] - lsls r1, 5 - adds r1, 0x14 - ldr r0, [r5] - adds r0, r1 - adds r0, 0x15 - movs r1, 0x16 - movs r2, 0x3 - bl nullsub_87 - b _080FC436 - .align 2, 0 -_080FC38C: .4byte gUnknown_843EE47 -_080FC390: .4byte gUnknown_843EE57 -_080FC394: .4byte gRfuLinkStatus -_080FC398: .4byte Rfu -_080FC39C: .4byte 0x000008f6 -_080FC3A0: - movs r6, 0 - ldr r1, _080FC440 @ =gRfuLinkStatus - ldr r0, [r1] - ldrb r0, [r0, 0x8] - cmp r6, r0 - bge _080FC3FC - adds r7, r1, 0 - movs r1, 0x14 - mov r8, r1 -_080FC3B2: - ldr r0, [r7] - lsls r5, r6, 5 - adds r1, r0, r5 - ldrb r0, [r1, 0x16] - cmp r0, 0xFF - beq _080FC3EE - ldrh r0, [r1, 0x18] - adds r4, r6, 0x3 - lsls r4, 24 - lsrs r4, 24 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0x4 - bl nullsub_88 - ldr r0, [r7] - adds r0, r5 - ldrh r0, [r0, 0x14] - movs r1, 0x6 - adds r2, r4, 0 - movs r3, 0x4 - bl nullsub_88 - ldr r0, [r7] - add r0, r8 - adds r0, 0x15 - movs r1, 0x16 - adds r2, r4, 0 - bl nullsub_87 -_080FC3EE: - movs r0, 0x20 - add r8, r0 - adds r6, 0x1 - ldr r0, [r7] - ldrb r0, [r0, 0x8] - cmp r6, r0 - blt _080FC3B2 -_080FC3FC: - cmp r6, 0x3 - bgt _080FC436 - lsls r0, r6, 24 - movs r1, 0xC0 - lsls r1, 18 - adds r5, r0, r1 -_080FC408: - lsrs r4, r5, 24 - movs r0, 0 - movs r1, 0x1 - adds r2, r4, 0 - movs r3, 0x4 - bl nullsub_88 - ldr r0, _080FC444 @ =gUnknown_843EE47 - movs r1, 0x6 - adds r2, r4, 0 - bl nullsub_87 - ldr r0, _080FC448 @ =gUnknown_843EE57 - movs r1, 0x16 - adds r2, r4, 0 - bl nullsub_87 - movs r0, 0x80 - lsls r0, 17 - adds r5, r0 - adds r6, 0x1 - cmp r6, 0x3 - ble _080FC408 -_080FC436: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080FC440: .4byte gRfuLinkStatus -_080FC444: .4byte gUnknown_843EE47 -_080FC448: .4byte gUnknown_843EE57 - thumb_func_end sub_80FC228 - - thumb_func_start sub_80FC44C -sub_80FC44C: @ 80FC44C - ldr r0, _080FC458 @ =Rfu - ldr r1, _080FC45C @ =0x000008d2 - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_080FC458: .4byte Rfu -_080FC45C: .4byte 0x000008d2 - thumb_func_end sub_80FC44C - - thumb_func_start GetRfuRecvQueueLength -GetRfuRecvQueueLength: @ 80FC460 - ldr r0, _080FC46C @ =Rfu - ldr r1, _080FC470 @ =0x0000069e - adds r0, r1 - ldrb r0, [r0] - bx lr - .align 2, 0 -_080FC46C: .4byte Rfu -_080FC470: .4byte 0x0000069e - thumb_func_end GetRfuRecvQueueLength - - thumb_func_start nullsub_89 -nullsub_89: @ 80FC474 - bx lr - thumb_func_end nullsub_89 - .align 2, 0 @ Don't pad with nop. diff --git a/asm/overworld.s b/asm/overworld.s index 8eeb570f1..5b3c1a495 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -5722,7 +5722,7 @@ sub_8057910: @ 8057910 lsrs r0, 24 cmp r0, 0x3C bls _0805792E - bl sub_80FA190 + bl LinkRfu_FatalError _0805792E: pop {r0} bx r0 |