4670 lines
78 KiB
ArmAsm
4670 lines
78 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "constants/constants.inc"
|
|
|
|
.syntax unified
|
|
|
|
.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.
|