summaryrefslogtreecommitdiff
path: root/asm
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2020-03-04 13:56:54 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2020-03-04 13:56:54 -0500
commit171e4bbea427e66c5a30d01d4306dbcdf165e81c (patch)
tree56e7d65a25a109eee28261485cb44893bb8f3b28 /asm
parent8dcae92a5fba55497bf69d7d263cbabb2f9537ea (diff)
through sub_815184C
Diffstat (limited to 'asm')
-rw-r--r--asm/dodrio_berry_picking.s1236
1 files changed, 0 insertions, 1236 deletions
diff --git a/asm/dodrio_berry_picking.s b/asm/dodrio_berry_picking.s
index 9ae56f4fd..81204d1ba 100644
--- a/asm/dodrio_berry_picking.s
+++ b/asm/dodrio_berry_picking.s
@@ -5,1242 +5,6 @@
.text
- thumb_func_start sub_815109C
-sub_815109C: @ 815109C
- push {r4-r6,lr}
- ldr r6, _081510B4 @ =gUnknown_203F3E0
- ldr r2, [r6]
- ldrb r4, [r2, 0x10]
- cmp r4, 0x1
- beq _081510DA
- cmp r4, 0x1
- bgt _081510B8
- cmp r4, 0
- beq _081510BE
- b _08151150
- .align 2, 0
-_081510B4: .4byte gUnknown_203F3E0
-_081510B8:
- cmp r4, 0x2
- beq _081510E8
- b _08151150
-_081510BE:
- ldrb r0, [r2, 0x14]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, 0x4A
- adds r1, r2, r1
- movs r0, 0
- movs r2, 0x3C
- bl SendBlock
- ldr r0, [r6]
- strb r4, [r0, 0x8]
- ldr r1, [r6]
- b _08151140
-_081510DA:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _0815118A
- ldr r1, [r6]
- b _08151140
-_081510E8:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- b _0815111E
-_081510F4:
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- beq _08151116
- ldr r0, [r6]
- adds r0, 0x4A
- ldr r1, _08151148 @ =gBlockRecvBuffer
- movs r2, 0x3C
- bl memcpy
- adds r0, r4, 0
- bl ResetBlockReceivedFlag
- ldr r1, [r6]
- ldrb r0, [r1, 0x8]
- adds r0, 0x1
- strb r0, [r1, 0x8]
-_08151116:
- lsrs r5, 1
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_0815111E:
- ldr r0, [r6]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r4, r0
- bcc _081510F4
- ldr r3, _0815114C @ =gUnknown_203F3E0
- ldr r2, [r3]
- adds r1, r2, 0
- adds r1, 0x24
- ldrb r0, [r2, 0x8]
- ldrb r1, [r1]
- cmp r0, r1
- bcc _0815118A
- ldrb r0, [r2, 0x14]
- adds r0, 0x1
- strb r0, [r2, 0x14]
- ldr r1, [r3]
-_08151140:
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _0815118A
- .align 2, 0
-_08151148: .4byte gBlockRecvBuffer
-_0815114C: .4byte gUnknown_203F3E0
-_08151150:
- movs r0, 0x1
- bl WaitFanfare
- lsls r0, 24
- cmp r0, 0
- beq _0815118A
- ldr r0, _08151190 @ =gUnknown_203F3E0
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r0, r2, 0
- adds r0, 0x54
- adds r0, r1
- ldrh r1, [r0]
- movs r3, 0x8A
- lsls r3, 1
- adds r0, r2, r3
- strh r1, [r0]
- movs r0, 0x6
- bl sub_8152090
- ldr r0, _08151194 @ =0x00000137
- movs r1, 0x4
- bl FadeOutAndPlayNewMapMusic
-_0815118A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08151190: .4byte gUnknown_203F3E0
-_08151194: .4byte 0x00000137
- thumb_func_end sub_815109C
-
- thumb_func_start sub_8151198
-sub_8151198: @ 8151198
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r6, _081511B0 @ =gUnknown_203F3E0
- ldr r0, [r6]
- ldrb r4, [r0, 0x10]
- cmp r4, 0x1
- beq _081511DC
- cmp r4, 0x1
- bgt _081511B4
- cmp r4, 0
- beq _081511BE
- b _0815129C
- .align 2, 0
-_081511B0: .4byte gUnknown_203F3E0
-_081511B4:
- cmp r4, 0x2
- beq _08151202
- cmp r4, 0x3
- beq _0815121C
- b _0815129C
-_081511BE:
- bl sub_81531FC
- movs r0, 0x1
- bl sub_81540DC
- bl sub_81544F0
- movs r0, 0x1
- bl sub_81545BC
- movs r0, 0x2
- bl sub_81549D4
- ldr r1, [r6]
- b _0815128A
-_081511DC:
- bl sub_8155E68
- cmp r0, 0
- bne _081512AA
- mov r0, sp
- strb r4, [r0]
- movs r0, 0x5
- bl sub_81549D4
- bl sub_8155E8C
- mov r1, sp
- strb r0, [r1]
- movs r0, 0
- movs r2, 0x1
- bl SendBlock
- ldr r1, [r6]
- b _0815128A
-_08151202:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _081512AA
- ldr r1, [r6]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1, 0x10]
- ldr r0, [r6]
- strb r2, [r0, 0x8]
- b _081512AA
-_0815121C:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- b _0815125A
-_08151228:
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- beq _08151252
- ldr r2, [r6]
- adds r2, r4, r2
- movs r0, 0x86
- lsls r0, 1
- adds r2, r0
- lsls r0, r4, 8
- ldr r1, _08151294 @ =gBlockRecvBuffer
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- adds r0, r4, 0
- bl ResetBlockReceivedFlag
- ldr r1, [r6]
- ldrb r0, [r1, 0x8]
- adds r0, 0x1
- strb r0, [r1, 0x8]
-_08151252:
- lsrs r5, 1
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_0815125A:
- ldr r0, [r6]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r4, r0
- bcc _08151228
- ldr r4, _08151298 @ =gUnknown_203F3E0
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0x24
- ldrb r0, [r2, 0x8]
- ldrb r1, [r1]
- cmp r0, r1
- bcc _081512AA
- ldrb r0, [r2, 0x14]
- adds r0, 0x1
- strb r0, [r2, 0x14]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x77
- bls _081512AA
- movs r0, 0x6
- bl sub_81549D4
- ldr r1, [r4]
-_0815128A:
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _081512AA
- .align 2, 0
-_08151294: .4byte gBlockRecvBuffer
-_08151298: .4byte gUnknown_203F3E0
-_0815129C:
- bl sub_8155E68
- cmp r0, 0
- bne _081512AA
- movs r0, 0x7
- bl sub_8152090
-_081512AA:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8151198
-
- thumb_func_start sub_81512B4
-sub_81512B4: @ 81512B4
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r5, _081512D0 @ =gUnknown_203F3E0
- ldr r0, [r5]
- ldrb r0, [r0, 0x10]
- cmp r0, 0x6
- bls _081512C4
- b _0815144A
-_081512C4:
- lsls r0, 2
- ldr r1, _081512D4 @ =_081512D8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081512D0: .4byte gUnknown_203F3E0
-_081512D4: .4byte _081512D8
- .align 2, 0
-_081512D8:
- .4byte _081512F4
- .4byte _08151314
- .4byte _08151330
- .4byte _08151344
- .4byte _08151360
- .4byte _0815138C
- .4byte _081513AC
-_081512F4:
- bl sub_81534AC
- ldr r1, _0815130C @ =0x00000bb7
- cmp r0, r1
- bls _08151304
- movs r0, 0x4
- bl sub_81549D4
-_08151304:
- ldr r0, _08151310 @ =gUnknown_203F3E0
- ldr r1, [r0]
- b _0815142A
- .align 2, 0
-_0815130C: .4byte 0x00000bb7
-_08151310: .4byte gUnknown_203F3E0
-_08151314:
- bl sub_8155E68
- cmp r0, 0
- beq _0815131E
- b _08151480
-_0815131E:
- movs r0, 0x3
- bl sub_81549D4
- ldr r0, _0815132C @ =gUnknown_203F3E0
- ldr r1, [r0]
- b _0815142A
- .align 2, 0
-_0815132C: .4byte gUnknown_203F3E0
-_08151330:
- bl sub_81546C0
- bl sub_8153048
- ldr r0, _08151340 @ =gUnknown_203F3E0
- ldr r1, [r0]
- b _0815142A
- .align 2, 0
-_08151340: .4byte gUnknown_203F3E0
-_08151344:
- bl sub_8155E8C
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- strb r0, [r1]
- cmp r0, 0
- bne _08151356
- b _08151480
-_08151356:
- ldr r0, _0815135C @ =gUnknown_203F3E0
- ldr r1, [r0]
- b _0815142A
- .align 2, 0
-_0815135C: .4byte gUnknown_203F3E0
-_08151360:
- bl sub_8155E68
- cmp r0, 0
- beq _0815136A
- b _08151480
-_0815136A:
- movs r0, 0x5
- bl sub_81549D4
- bl sub_8155E8C
- mov r1, sp
- strb r0, [r1]
- movs r0, 0
- movs r2, 0x1
- bl SendBlock
- ldr r0, _08151388 @ =gUnknown_203F3E0
- ldr r1, [r0]
- b _0815142A
- .align 2, 0
-_08151388: .4byte gUnknown_203F3E0
-_0815138C:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08151480
- ldr r3, _081513A8 @ =gUnknown_203F3E0
- ldr r1, [r3]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1, 0x10]
- ldr r0, [r3]
- strb r2, [r0, 0x8]
- b _08151480
- .align 2, 0
-_081513A8: .4byte gUnknown_203F3E0
-_081513AC:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r7, _08151434 @ =gUnknown_203F3E0
- ldr r0, [r7]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r4, r0
- bcs _08151400
- adds r6, r7, 0
-_081513C4:
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- beq _081513EE
- ldr r2, [r6]
- adds r2, r4, r2
- movs r0, 0x86
- lsls r0, 1
- adds r2, r0
- lsls r0, r4, 8
- ldr r1, _08151438 @ =gBlockRecvBuffer
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- adds r0, r4, 0
- bl ResetBlockReceivedFlag
- ldr r1, [r6]
- ldrb r0, [r1, 0x8]
- adds r0, 0x1
- strb r0, [r1, 0x8]
-_081513EE:
- lsrs r5, 1
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, [r7]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r4, r0
- bcc _081513C4
-_08151400:
- ldr r4, _08151434 @ =gUnknown_203F3E0
- ldr r2, [r4]
- adds r1, r2, 0
- adds r1, 0x24
- ldrb r0, [r2, 0x8]
- ldrb r1, [r1]
- cmp r0, r1
- bcc _0815143C
- ldrb r0, [r2, 0x14]
- adds r0, 0x1
- strb r0, [r2, 0x14]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x77
- bls _08151480
- bl sub_815336C
- movs r0, 0x6
- bl sub_81549D4
- ldr r1, [r4]
-_0815142A:
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _08151480
- .align 2, 0
-_08151434: .4byte gUnknown_203F3E0
-_08151438: .4byte gBlockRecvBuffer
-_0815143C:
- bl sub_81532B8
- b _08151480
-_08151442:
- movs r0, 0x8
- bl sub_8152090
- b _08151480
-_0815144A:
- bl sub_8155E68
- cmp r0, 0
- bne _08151480
- movs r4, 0
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r4, r0
- bcs _0815147A
- movs r3, 0x86
- lsls r3, 1
- adds r2, r1, r3
- adds r1, r0, 0
-_08151468:
- adds r0, r2, r4
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _08151442
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r1
- bcc _08151468
-_0815147A:
- movs r0, 0xA
- bl sub_8152090
-_08151480:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81512B4
-
- thumb_func_start sub_8151488
-sub_8151488: @ 8151488
- push {r4,lr}
- ldr r4, _081514A0 @ =gUnknown_203F3E0
- ldr r0, [r4]
- ldrb r0, [r0, 0x10]
- cmp r0, 0x1
- beq _081514B6
- cmp r0, 0x1
- bgt _081514A4
- cmp r0, 0
- beq _081514AA
- b _081514D6
- .align 2, 0
-_081514A0: .4byte gUnknown_203F3E0
-_081514A4:
- cmp r0, 0x2
- beq _081514C0
- b _081514D6
-_081514AA:
- bl Link_TryStartSend5FFF
- movs r0, 0x7
- bl sub_81549D4
- b _081514CC
-_081514B6:
- bl sub_8155E68
- cmp r0, 0
- bne _081514E4
- b _081514CC
-_081514C0:
- bl sub_8155E8C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _081514E4
-_081514CC:
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _081514E4
-_081514D6:
- ldr r0, _081514EC @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _081514E4
- movs r0, 0x9
- bl sub_8152090
-_081514E4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081514EC: .4byte gReceivedRemoteLinkPlayers
- thumb_func_end sub_8151488
-
- thumb_func_start sub_81514F0
-sub_81514F0: @ 81514F0
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _08151508 @ =gUnknown_203F3E0
- ldr r0, [r4]
- ldrb r1, [r0, 0x10]
- cmp r1, 0x1
- beq _08151524
- cmp r1, 0x1
- bgt _0815150C
- cmp r1, 0
- beq _08151512
- b _0815156C
- .align 2, 0
-_08151508: .4byte gUnknown_203F3E0
-_0815150C:
- cmp r1, 0x2
- beq _0815153C
- b _0815156C
-_08151512:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _0815155E
-_08151524:
- bl UpdatePaletteFade
- ldr r0, _08151538 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08151590
- b _0815155E
- .align 2, 0
-_08151538: .4byte gPaletteFade
-_0815153C:
- bl sub_8154274
- bl sub_8153ED8
- ldr r0, [r4]
- adds r0, 0x24
- ldrb r0, [r0]
- bl sub_8153D08
- bl sub_8154578
- ldr r1, _08151568 @ =gUnknown_3002044
- movs r0, 0x1
- str r0, [r1]
- movs r0, 0x8
- bl sub_81549D4
-_0815155E:
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _08151590
- .align 2, 0
-_08151568: .4byte gUnknown_3002044
-_0815156C:
- bl sub_8155E68
- cmp r0, 0
- bne _08151590
- ldr r4, _08151598 @ =gUnknown_203F3E0
- ldr r0, [r4]
- ldr r0, [r0]
- bl SetMainCallback2
- ldr r0, [r4]
- ldrb r0, [r0, 0x4]
- bl DestroyTask
- ldr r0, [r4]
- bl Free
- bl FreeAllWindowBuffers
-_08151590:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08151598: .4byte gUnknown_203F3E0
- thumb_func_end sub_81514F0
-
- thumb_func_start sub_815159C
-sub_815159C: @ 815159C
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _081515B4 @ =gUnknown_203F3E0
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- cmp r0, 0x6
- bhi _0815169C
- lsls r0, 2
- ldr r1, _081515B8 @ =_081515BC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081515B4: .4byte gUnknown_203F3E0
-_081515B8: .4byte _081515BC
- .align 2, 0
-_081515BC:
- .4byte _081515D8
- .4byte _08151676
- .4byte _081515F0
- .4byte _08151642
- .4byte _08151648
- .4byte _08151656
- .4byte _08151676
-_081515D8:
- movs r0, 0x9
- bl sub_81549D4
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _08151686
-_081515F0:
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgX
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl ChangeBgY
- b _08151686
-_08151642:
- bl StopMapMusic
- b _08151686
-_08151648:
- movs r0, 0xA5
- lsls r0, 1
- bl PlayNewMapMusic
- bl sub_8154540
- b _08151686
-_08151656:
- movs r4, 0x1
- negs r4, r4
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _08151686
-_08151676:
- bl UpdatePaletteFade
- ldr r0, _08151694 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081516CC
-_08151686:
- ldr r0, _08151698 @ =gUnknown_203F3E0
- ldr r1, [r0]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _081516CC
- .align 2, 0
-_08151694: .4byte gPaletteFade
-_08151698: .4byte gUnknown_203F3E0
-_0815169C:
- ldrb r0, [r1, 0x4]
- bl DestroyTask
- ldr r0, _081516D4 @ =sub_81516DC
- bl sub_815206C
- bl sub_8154730
- ldr r0, [r4]
- bl sub_81508EC
- ldr r0, _081516D8 @ =gReceivedRemoteLinkPlayers
- ldrb r0, [r0]
- cmp r0, 0
- bne _081516C2
- ldr r0, [r4]
- adds r0, 0x24
- movs r1, 0x1
- strb r1, [r0]
-_081516C2:
- bl sub_8153150
- movs r0, 0
- bl sub_81545BC
-_081516CC:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081516D4: .4byte sub_81516DC
-_081516D8: .4byte gReceivedRemoteLinkPlayers
- thumb_func_end sub_815159C
-
- thumb_func_start sub_81516DC
-sub_81516DC: @ 81516DC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _081516F8 @ =gUnknown_203F3E0
- ldr r0, [r1]
- ldrb r0, [r0, 0x10]
- adds r4, r1, 0
- cmp r0, 0x1
- beq _08151708
- cmp r0, 0x1
- bgt _081516FC
- cmp r0, 0
- beq _08151702
- b _08151720
- .align 2, 0
-_081516F8: .4byte gUnknown_203F3E0
-_081516FC:
- cmp r0, 0x2
- beq _0815170E
- b _08151720
-_08151702:
- bl sub_81520B4
- b _08151712
-_08151708:
- bl sub_8153DD8
- b _08151716
-_0815170E:
- bl sub_8153F1C
-_08151712:
- cmp r0, 0x1
- bne _08151744
-_08151716:
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
- b _08151744
-_08151720:
- ldr r0, [r4]
- adds r0, 0x20
- ldrb r0, [r0]
- cmp r0, 0
- beq _08151738
- ldr r0, _08151734 @ =sub_8150C08
- bl sub_815206C
- b _0815173E
- .align 2, 0
-_08151734: .4byte sub_8150C08
-_08151738:
- ldr r0, _0815174C @ =sub_8150C40
- bl sub_815206C
-_0815173E:
- adds r0, r5, 0
- bl DestroyTask
-_08151744:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0815174C: .4byte sub_8150C40
- thumb_func_end sub_81516DC
-
- thumb_func_start sub_8151750
-sub_8151750: @ 8151750
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, _08151774 @ =gTasks+0x8
- adds r6, r0, r1
- movs r0, 0
- ldrsh r5, [r6, r0]
- cmp r5, 0x1
- beq _081517A8
- cmp r5, 0x1
- bgt _08151778
- cmp r5, 0
- beq _0815177E
- b _08151836
- .align 2, 0
-_08151774: .4byte gTasks+0x8
-_08151778:
- cmp r5, 0x2
- beq _081517BA
- b _08151836
-_0815177E:
- ldr r4, _081517A0 @ =gUnknown_203F3E0
- ldr r1, [r4]
- adds r0, r1, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r0, 2
- ldr r2, _081517A4 @ =0x0000318c
- adds r0, r2
- adds r1, r0
- movs r0, 0
- movs r2, 0x1
- bl SendBlock
- ldr r0, [r4]
- strb r5, [r0, 0x8]
- b _081517B2
- .align 2, 0
-_081517A0: .4byte gUnknown_203F3E0
-_081517A4: .4byte 0x0000318c
-_081517A8:
- bl IsLinkTaskFinished
- lsls r0, 24
- cmp r0, 0
- beq _08151836
-_081517B2:
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
- b _08151836
-_081517BA:
- bl GetBlockReceivedStatus
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r3, _08151840 @ =gUnknown_203F3E0
- ldr r0, [r3]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r4, r0
- bcs _08151812
- adds r6, r3, 0
-_081517D2:
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- beq _08151800
- ldr r0, [r6]
- lsls r2, r4, 2
- adds r2, r0
- ldr r0, _08151844 @ =0x0000318c
- adds r2, r0
- lsls r0, r4, 8
- ldr r1, _08151848 @ =gBlockRecvBuffer
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- adds r0, r4, 0
- str r3, [sp]
- bl ResetBlockReceivedFlag
- ldr r1, [r6]
- ldrb r0, [r1, 0x8]
- adds r0, 0x1
- strb r0, [r1, 0x8]
- ldr r3, [sp]
-_08151800:
- lsrs r5, 1
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, [r3]
- adds r0, 0x24
- ldrb r0, [r0]
- cmp r4, r0
- bcc _081517D2
-_08151812:
- ldr r4, _08151840 @ =gUnknown_203F3E0
- ldr r0, [r4]
- adds r1, r0, 0
- adds r1, 0x24
- ldrb r0, [r0, 0x8]
- ldrb r1, [r1]
- cmp r0, r1
- bcc _08151836
- adds r0, r7, 0
- bl DestroyTask
- movs r0, 0x6
- bl sub_81549D4
- ldr r1, [r4]
- ldrb r0, [r1, 0x10]
- adds r0, 0x1
- strb r0, [r1, 0x10]
-_08151836:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08151840: .4byte gUnknown_203F3E0
-_08151844: .4byte 0x0000318c
-_08151848: .4byte gBlockRecvBuffer
- thumb_func_end sub_8151750
-
- thumb_func_start sub_815184C
-sub_815184C: @ 815184C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x18
- ldr r6, _08151928 @ =gUnknown_203F3E0
- ldr r0, [r6]
- adds r1, r0, 0
- adds r1, 0x24
- ldrb r7, [r1]
- ldr r2, _0815192C @ =0x000031a0
- adds r1, r0, r2
- ldr r3, _08151930 @ =0x000031cc
- adds r2, r0, r3
- ldr r4, _08151934 @ =0x00003208
- adds r3, r0, r4
- ldr r5, _08151938 @ =0x00003244
- adds r4, r0, r5
- str r4, [sp]
- adds r5, 0x3C
- adds r4, r0, r5
- str r4, [sp, 0x4]
- adds r5, 0x3C
- adds r4, r0, r5
- str r4, [sp, 0x8]
- adds r4, r0, 0
- adds r4, 0x40
- str r4, [sp, 0xC]
- movs r5, 0x90
- lsls r5, 1
- adds r4, r0, r5
- str r4, [sp, 0x10]
- movs r4, 0x96
- lsls r4, 1
- adds r0, r4
- str r0, [sp, 0x14]
- movs r0, 0
- bl sub_815A950
- ldr r1, [r6]
- ldr r5, _0815193C @ =0x000031b0
- adds r2, r1, r5
- str r0, [r2]
- movs r0, 0x94
- lsls r0, 1
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- movs r5, 0x1
- cmp r5, r7
- bcs _081518F4
-_081518B0:
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0xA8
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0
- bne _081518EA
- lsls r0, r5, 4
- subs r0, r5
- lsls r4, r0, 2
- adds r1, r4, r1
- ldr r2, _08151930 @ =0x000031cc
- adds r1, r2
- adds r0, r5, 0
- bl sub_815AB04
- adds r1, r0, 0
- cmp r1, 0
- bne _081518EA
- ldr r0, [r6]
- adds r0, r4
- ldr r3, _08151930 @ =0x000031cc
- adds r0, r3
- strb r1, [r0]
- ldr r0, [r6]
- movs r4, 0x94
- lsls r4, 1
- adds r0, r4
- strb r1, [r0]
-_081518EA:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r7
- bcc _081518B0
-_081518F4:
- ldr r5, _08151928 @ =gUnknown_203F3E0
- ldr r1, [r5]
- movs r6, 0x92
- lsls r6, 1
- adds r1, r6
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3B
- bls _08151952
- ldr r1, [r5]
- movs r2, 0x94
- lsls r2, 1
- adds r0, r1, r2
- ldrb r4, [r0]
- cmp r4, 0
- beq _08151940
- bl sub_80FBA44
- ldr r0, [r5]
- adds r0, r6
- movs r1, 0
- strb r1, [r0]
- b _08151952
- .align 2, 0
-_08151928: .4byte gUnknown_203F3E0
-_0815192C: .4byte 0x000031a0
-_08151930: .4byte 0x000031cc
-_08151934: .4byte 0x00003208
-_08151938: .4byte 0x00003244
-_0815193C: .4byte 0x000031b0
-_08151940:
- adds r0, r1, r6
- ldrb r0, [r0]
- cmp r0, 0x46
- bls _08151952
- bl sub_80FBA44
- ldr r0, [r5]
- adds r0, r6
- strb r4, [r0]
-_08151952:
- movs r5, 0
- cmp r5, r7
- bcs _08151A46
- ldr r3, _0815199C @ =0x000031cc
- mov r12, r3
- ldr r4, _081519A0 @ =gUnknown_203F3E0
- mov r8, r4
-_08151960:
- mov r6, r8
- ldr r2, [r6]
- lsls r0, r5, 4
- subs r1, r0, r5
- lsls r1, 2
- adds r1, r2, r1
- add r1, r12
- ldrb r1, [r1]
- adds r6, r0, 0
- cmp r1, 0
- beq _08151986
- adds r0, r2, 0
- adds r0, 0xA8
- adds r1, r0, r5
- ldrb r0, [r1]
- cmp r0, 0
- bne _08151986
- movs r0, 0x1
- strb r0, [r1]
-_08151986:
- adds r3, r4, 0
- ldr r1, [r3]
- adds r0, r1, 0
- adds r0, 0xA8
- adds r0, r5
- ldrb r0, [r0]
- cmp r0, 0x3
- bgt _081519A4
- cmp r0, 0x1
- bge _081519AA
- b _08151A3C
- .align 2, 0
-_0815199C: .4byte 0x000031cc
-_081519A0: .4byte gUnknown_203F3E0
-_081519A4:
- cmp r0, 0x4
- beq _081519F8
- b _08151A3C
-_081519AA:
- adds r1, 0xB0
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bls _08151A3C
- ldr r0, [r3]
- adds r0, 0xB0
- adds r0, r5
- strb r2, [r0]
- ldr r0, [r3]
- adds r0, 0xA8
- adds r0, r5
- strb r2, [r0]
- ldr r0, [r3]
- subs r1, r6, r5
- lsls r1, 2
- adds r0, r1
- add r0, r12
- strb r2, [r0]
- ldr r0, [r3]
- adds r0, r1
- ldr r6, _081519F0 @ =0x000031d0
- adds r0, r6
- strb r2, [r0]
- ldr r0, [r3]
- adds r0, r1
- ldr r1, _081519F4 @ =0x000031d4
- adds r0, r1
- b _08151A3A
- .align 2, 0
-_081519F0: .4byte 0x000031d0
-_081519F4: .4byte 0x000031d4
-_081519F8:
- adds r1, 0xB0
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x27
- bls _08151A3C
- ldr r0, [r4]
- adds r0, 0xB0
- adds r0, r5
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, 0xA8
- adds r0, r5
- strb r2, [r0]
- ldr r0, [r4]
- subs r1, r6, r5
- lsls r1, 2
- adds r0, r1
- add r0, r12
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, r1
- ldr r3, _08151A54 @ =0x000031d0
- adds r0, r3
- strb r2, [r0]
- ldr r0, [r4]
- adds r0, r1
- ldr r6, _08151A58 @ =0x000031d4
- adds r0, r6
-_08151A3A:
- strb r2, [r0]
-_08151A3C:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r7
- bcc _08151960
-_08151A46:
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08151A54: .4byte 0x000031d0
-_08151A58: .4byte 0x000031d4
- thumb_func_end sub_815184C
-
thumb_func_start sub_8151A5C
sub_8151A5C: @ 8151A5C
push {r4-r7,lr}