diff options
Diffstat (limited to 'asm')
-rw-r--r-- | asm/rom3.s | 900 |
1 files changed, 0 insertions, 900 deletions
diff --git a/asm/rom3.s b/asm/rom3.s index 1717e3688..9ab9f021e 100644 --- a/asm/rom3.s +++ b/asm/rom3.s @@ -6,906 +6,6 @@ .text - thumb_func_start sub_800BD54 -sub_800BD54: @ 800BD54 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _0800BD74 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0800BD6C - b _0800BE88 -_0800BD6C: - movs r0, 0 - mov r8, r0 - b _0800BE7E - .align 2, 0 -_0800BD74: .4byte gBattleTypeFlags -_0800BD78: - movs r5, 0 - movs r0, 0x1 - add r0, r8 - mov r10, r0 - ldr r0, _0800BDA4 @ =gUnknown_02024A72 - add r0, r8 - mov r9, r0 - mov r0, r8 - lsls r6, r0, 1 - movs r7, 0 -_0800BD8C: - mov r0, r8 - cmp r0, 0x1 - bgt _0800BDF4 - mov r0, r9 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0800BDAC - ldr r0, _0800BDA8 @ =gPlayerParty - b _0800BDAE - .align 2, 0 -_0800BDA4: .4byte gUnknown_02024A72 -_0800BDA8: .4byte gPlayerParty -_0800BDAC: - ldr r0, _0800BDEC @ =gEnemyParty -_0800BDAE: - adds r4, r7, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0800BE74 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - cmp r0, 0 - beq _0800BE74 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _0800BE74 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0800BE74 - ldr r0, _0800BDF0 @ =gUnknown_02024A6A - adds r0, r6, r0 - strh r5, [r0] - b _0800BE7C - .align 2, 0 -_0800BDEC: .4byte gEnemyParty -_0800BDF0: .4byte gUnknown_02024A6A -_0800BDF4: - mov r0, r9 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0800BE1C - ldr r0, _0800BE18 @ =gPlayerParty - adds r4, r7, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0800BE74 - adds r0, r4, 0 - movs r1, 0xB - b _0800BE30 - .align 2, 0 -_0800BE18: .4byte gPlayerParty -_0800BE1C: - ldr r0, _0800BE6C @ =gEnemyParty - adds r4, r7, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - cmp r0, 0 - beq _0800BE74 - adds r0, r4, 0 - movs r1, 0x41 -_0800BE30: - bl GetMonData - cmp r0, 0 - beq _0800BE74 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _0800BE74 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0800BE74 - ldr r1, _0800BE70 @ =gUnknown_02024A6A - mov r0, r8 - subs r0, 0x2 - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r0, r5 - beq _0800BE74 - adds r0, r6, r1 - strh r5, [r0] - b _0800BE7C - .align 2, 0 -_0800BE6C: .4byte gEnemyParty -_0800BE70: .4byte gUnknown_02024A6A -_0800BE74: - adds r7, 0x64 - adds r5, 0x1 - cmp r5, 0x5 - ble _0800BD8C -_0800BE7C: - mov r8, r10 -_0800BE7E: - ldr r0, _0800BE98 @ =gUnknown_02024A68 - ldrb r0, [r0] - cmp r8, r0 - bge _0800BE88 - b _0800BD78 -_0800BE88: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800BE98: .4byte gUnknown_02024A68 - thumb_func_end sub_800BD54 - - thumb_func_start dp01_prepare_buffer -dp01_prepare_buffer: @ 800BE9C - push {r4-r6,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r3, r0, 24 - adds r5, r3, 0 - lsls r2, 16 - lsrs r2, 16 - ldr r0, _0800BEC4 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0800BEC8 - adds r0, r3, 0 - adds r1, r2, 0 - adds r2, r4, 0 - bl dp01_prepare_buffer_wireless_probably - b _0800BF1A - .align 2, 0 -_0800BEC4: .4byte gBattleTypeFlags -_0800BEC8: - cmp r5, 0 - beq _0800BED2 - cmp r5, 0x1 - beq _0800BEFC - b _0800BF1A -_0800BED2: - movs r3, 0 - cmp r3, r2 - bge _0800BF1A - ldr r6, _0800BEF4 @ =gUnknown_02023A60 - ldr r5, _0800BEF8 @ =gUnknown_02024A60 -_0800BEDC: - ldrb r0, [r5] - lsls r0, 9 - adds r0, r3, r0 - adds r0, r6 - ldrb r1, [r4] - strb r1, [r0] - adds r4, 0x1 - adds r3, 0x1 - cmp r3, r2 - blt _0800BEDC - b _0800BF1A - .align 2, 0 -_0800BEF4: .4byte gUnknown_02023A60 -_0800BEF8: .4byte gUnknown_02024A60 -_0800BEFC: - movs r3, 0 - cmp r3, r2 - bge _0800BF1A - ldr r6, _0800BF20 @ =gUnknown_02024260 - ldr r5, _0800BF24 @ =gUnknown_02024A60 -_0800BF06: - ldrb r0, [r5] - lsls r0, 9 - adds r0, r3, r0 - adds r0, r6 - ldrb r1, [r4] - strb r1, [r0] - adds r4, 0x1 - adds r3, 0x1 - cmp r3, r2 - blt _0800BF06 -_0800BF1A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800BF20: .4byte gUnknown_02024260 -_0800BF24: .4byte gUnknown_02024A60 - thumb_func_end dp01_prepare_buffer - - thumb_func_start sub_800BF28 -sub_800BF28: @ 800BF28 - push {r4-r6,lr} - sub sp, 0x4 - ldr r0, _0800BFD0 @ =sub_800C1A8 - movs r1, 0 - bl CreateTask - ldr r2, _0800BFD4 @ =gUnknown_020238C4 - strb r0, [r2] - ldr r5, _0800BFD8 @ =gTasks - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r6, 0 - movs r4, 0 - strh r4, [r0, 0x1E] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r4, [r0, 0x20] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r4, [r0, 0x22] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r4, [r0, 0x24] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r4, [r0, 0x26] - ldr r0, _0800BFDC @ =sub_800C47C - movs r1, 0 - bl CreateTask - ldr r2, _0800BFE0 @ =gUnknown_020238C5 - strb r0, [r2] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r4, [r0, 0x20] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r4, [r0, 0x22] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r4, [r0, 0x24] - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r4, [r0, 0x26] - ldr r0, _0800BFE4 @ =gUnknown_020238C6 - strb r6, [r0] - mov r0, sp - strh r4, [r0] - ldr r1, _0800BFE8 @ =0x02014000 - ldr r2, _0800BFEC @ =0x01001000 - bl CpuSet - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0800BFD0: .4byte sub_800C1A8 -_0800BFD4: .4byte gUnknown_020238C4 -_0800BFD8: .4byte gTasks -_0800BFDC: .4byte sub_800C47C -_0800BFE0: .4byte gUnknown_020238C5 -_0800BFE4: .4byte gUnknown_020238C6 -_0800BFE8: .4byte 0x02014000 -_0800BFEC: .4byte 0x01001000 - thumb_func_end sub_800BF28 - - thumb_func_start dp01_prepare_buffer_wireless_probably -dp01_prepare_buffer_wireless_probably: @ 800BFF0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r10, r2 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - movs r1, 0x3 - mov r0, r8 - bics r0, r1 - adds r0, 0x4 - mov r9, r0 - ldr r2, _0800C168 @ =gTasks - ldr r3, _0800C16C @ =gUnknown_020238C4 - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r4, r0, r2 - movs r1, 0x24 - ldrsh r0, [r4, r1] - add r0, r9 - adds r0, 0x9 - movs r1, 0x80 - lsls r1, 5 - adds r5, r2, 0 - cmp r0, r1 - ble _0800C042 - ldrh r0, [r4, 0x24] - movs r2, 0 - strh r0, [r4, 0x20] - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - strh r2, [r0, 0x24] -_0800C042: - ldr r4, _0800C170 @ =0x02000000 - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r2, 0x24 - ldrsh r0, [r0, r2] - movs r7, 0xA0 - lsls r7, 9 - adds r0, r7 - adds r0, r4 - strb r6, [r0] - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r1, 0x24 - ldrsh r0, [r0, r1] - ldr r2, _0800C174 @ =0x00014001 - adds r0, r2 - adds r0, r4 - ldr r1, _0800C178 @ =gUnknown_02024A60 - ldrb r1, [r1] - strb r1, [r0] - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r7, 0x24 - ldrsh r0, [r0, r7] - ldr r1, _0800C17C @ =0x00014002 - adds r0, r1 - adds r0, r4 - ldr r1, _0800C180 @ =gUnknown_02024C07 - ldrb r1, [r1] - strb r1, [r0] - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r2, 0x24 - ldrsh r0, [r0, r2] - ldr r7, _0800C184 @ =0x00014003 - adds r0, r7 - adds r0, r4 - ldr r1, _0800C188 @ =gUnknown_02024C08 - ldrb r1, [r1] - strb r1, [r0] - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r1, 0x24 - ldrsh r0, [r0, r1] - ldr r2, _0800C18C @ =0x00014004 - adds r0, r2 - adds r0, r4 - mov r7, r9 - strb r7, [r0] - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r2, 0x24 - ldrsh r1, [r0, r2] - ldr r7, _0800C190 @ =0x00014005 - adds r1, r7 - adds r1, r4 - movs r0, 0xFF - lsls r0, 8 - mov r2, r9 - ands r0, r2 - asrs r0, 8 - strb r0, [r1] - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r7, 0x24 - ldrsh r0, [r0, r7] - ldr r1, _0800C194 @ =0x00014006 - adds r0, r1 - adds r0, r4 - ldr r1, _0800C198 @ =gUnknown_02024C0C - ldrb r1, [r1] - strb r1, [r0] - ldrb r1, [r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r5 - movs r2, 0x24 - ldrsh r0, [r0, r2] - ldr r7, _0800C19C @ =0x00014007 - adds r0, r7 - adds r0, r4 - ldr r1, _0800C1A0 @ =gUnknown_02024C0A - ldrb r1, [r1] - strb r1, [r0] - movs r2, 0 - cmp r2, r8 - bge _0800C146 - mov r12, r4 - adds r6, r3, 0 - ldr r4, _0800C1A4 @ =0x00014008 -_0800C122: - ldrb r1, [r6] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _0800C168 @ =gTasks - adds r0, r1 - movs r7, 0x24 - ldrsh r1, [r0, r7] - adds r0, r2, r4 - adds r1, r0 - add r1, r12 - mov r7, r10 - adds r0, r7, r2 - ldrb r0, [r0] - strb r0, [r1] - adds r2, 0x1 - cmp r2, r8 - blt _0800C122 -_0800C146: - ldrb r0, [r3] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r5 - ldrh r0, [r1, 0x24] - add r0, r9 - adds r0, 0x8 - strh r0, [r1, 0x24] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800C168: .4byte gTasks -_0800C16C: .4byte gUnknown_020238C4 -_0800C170: .4byte 0x02000000 -_0800C174: .4byte 0x00014001 -_0800C178: .4byte gUnknown_02024A60 -_0800C17C: .4byte 0x00014002 -_0800C180: .4byte gUnknown_02024C07 -_0800C184: .4byte 0x00014003 -_0800C188: .4byte gUnknown_02024C08 -_0800C18C: .4byte 0x00014004 -_0800C190: .4byte 0x00014005 -_0800C194: .4byte 0x00014006 -_0800C198: .4byte gUnknown_02024C0C -_0800C19C: .4byte 0x00014007 -_0800C1A0: .4byte gUnknown_02024C0A -_0800C1A4: .4byte 0x00014008 - thumb_func_end dp01_prepare_buffer_wireless_probably - - thumb_func_start sub_800C1A8 -sub_800C1A8: @ 800C1A8 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _0800C1D0 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r2, 0x1E - ldrsh r0, [r0, r2] - adds r7, r1, 0 - cmp r0, 0x5 - bls _0800C1C4 - b _0800C354 -_0800C1C4: - lsls r0, 2 - ldr r1, _0800C1D4 @ =_0800C1D8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0800C1D0: .4byte gTasks -_0800C1D4: .4byte _0800C1D8 - .align 2, 0 -_0800C1D8: - .4byte _0800C1F0 - .4byte _0800C204 - .4byte _0800C220 - .4byte _0800C25C - .4byte _0800C2E6 - .4byte _0800C338 -_0800C1F0: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r7 - movs r1, 0x64 - strh r1, [r0, 0x1C] - ldrh r1, [r0, 0x1E] - adds r1, 0x1 - strh r1, [r0, 0x1E] - b _0800C354 -_0800C204: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r7 - ldrh r0, [r1, 0x1C] - subs r0, 0x1 - strh r0, [r1, 0x1C] - lsls r0, 16 - cmp r0, 0 - beq _0800C21A - b _0800C354 -_0800C21A: - ldrh r0, [r1, 0x1E] - adds r0, 0x1 - b _0800C352 -_0800C220: - bl GetLinkPlayerCount_2 - bl IsLinkMaster - lsls r0, 24 - cmp r0, 0 - beq _0800C248 - bl sub_8007F4C - ldr r0, _0800C244 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x1E] - adds r0, 0x1 - b _0800C352 - .align 2, 0 -_0800C244: .4byte gTasks -_0800C248: - ldr r0, _0800C258 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x1E] - adds r0, 0x1 - b _0800C352 - .align 2, 0 -_0800C258: .4byte gTasks -_0800C25C: - lsls r1, r4, 2 - adds r0, r1, r4 - lsls r0, 3 - adds r2, r0, r7 - movs r5, 0x26 - ldrsh r3, [r2, r5] - movs r0, 0x24 - ldrsh r6, [r2, r0] - mov r12, r6 - cmp r3, r12 - beq _0800C354 - ldrh r0, [r2, 0x22] - movs r6, 0x22 - ldrsh r5, [r2, r6] - cmp r5, 0 - bne _0800C2E0 - cmp r3, r12 - ble _0800C28C - movs r6, 0x20 - ldrsh r0, [r2, r6] - cmp r3, r0 - bne _0800C28C - strh r5, [r2, 0x20] - strh r5, [r2, 0x26] -_0800C28C: - ldr r5, _0800C2D4 @ =0x02000000 - adds r4, r1, r4 - lsls r4, 3 - adds r4, r7 - movs r0, 0x26 - ldrsh r2, [r4, r0] - ldr r1, _0800C2D8 @ =0x00014004 - adds r0, r2, r1 - adds r0, r5 - ldrb r1, [r0] - ldr r6, _0800C2DC @ =0x00014005 - adds r2, r6 - adds r2, r5 - ldrb r0, [r2] - lsls r0, 8 - orrs r1, r0 - adds r1, 0x8 - lsls r1, 16 - lsrs r6, r1, 16 - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - movs r2, 0x26 - ldrsh r1, [r4, r2] - movs r2, 0xA0 - lsls r2, 9 - adds r5, r2 - adds r1, r5 - adds r2, r6, 0 - bl SendBlock - ldrh r0, [r4, 0x1E] - adds r0, 0x1 - strh r0, [r4, 0x1E] - b _0800C354 - .align 2, 0 -_0800C2D4: .4byte 0x02000000 -_0800C2D8: .4byte 0x00014004 -_0800C2DC: .4byte 0x00014005 -_0800C2E0: - subs r0, 0x1 - strh r0, [r2, 0x22] - b _0800C354 -_0800C2E6: - bl sub_8007ECC - lsls r0, 24 - cmp r0, 0 - beq _0800C354 - ldr r2, _0800C328 @ =0x02000000 - ldr r0, _0800C32C @ =gTasks - lsls r3, r4, 2 - adds r3, r4 - lsls r3, 3 - adds r3, r0 - movs r4, 0x26 - ldrsh r1, [r3, r4] - ldr r5, _0800C330 @ =0x00014004 - adds r0, r1, r5 - adds r0, r2 - ldrb r0, [r0] - ldr r6, _0800C334 @ =0x00014005 - adds r1, r6 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 8 - movs r2, 0x1 - strh r2, [r3, 0x22] - orrs r0, r1 - ldrh r1, [r3, 0x26] - adds r0, r1 - adds r0, 0x8 - strh r0, [r3, 0x26] - movs r0, 0x3 - strh r0, [r3, 0x1E] - b _0800C354 - .align 2, 0 -_0800C328: .4byte 0x02000000 -_0800C32C: .4byte gTasks -_0800C330: .4byte 0x00014004 -_0800C334: .4byte 0x00014005 -_0800C338: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r7 - ldrh r0, [r1, 0x22] - subs r0, 0x1 - strh r0, [r1, 0x22] - lsls r0, 16 - cmp r0, 0 - bne _0800C354 - movs r0, 0x1 - strh r0, [r1, 0x22] - movs r0, 0x3 -_0800C352: - strh r0, [r1, 0x1E] -_0800C354: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_800C1A8 - - thumb_func_start sub_800C35C -sub_800C35C: @ 800C35C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _0800C38C @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _0800C458 - ldr r0, _0800C390 @ =gBattleTypeFlags - ldrh r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0800C458 - ldr r0, _0800C394 @ =gLinkPlayers - ldr r1, [r0, 0x14] - ldr r0, _0800C398 @ =0x00002211 - cmp r1, r0 - bne _0800C458 - movs r4, 0 - ldr r0, _0800C39C @ =gBlockRecvBuffer - mov r10, r0 - b _0800C44C - .align 2, 0 -_0800C38C: .4byte gReceivedRemoteLinkPlayers -_0800C390: .4byte gBattleTypeFlags -_0800C394: .4byte gLinkPlayers -_0800C398: .4byte 0x00002211 -_0800C39C: .4byte gBlockRecvBuffer -_0800C3A0: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0800C468 @ =gBitTable - lsls r1, r4, 2 - adds r1, r2 - ldr r1, [r1] - ands r0, r1 - adds r1, r4, 0x1 - mov r9, r1 - cmp r0, 0 - beq _0800C446 - adds r0, r4, 0 - bl ResetBlockReceivedFlag - lsls r0, r4, 8 - mov r2, r10 - adds r3, r0, r2 - ldr r1, _0800C46C @ =gBlockRecvBuffer + 0x4 - adds r0, r1 - ldrh r6, [r0] - ldr r7, _0800C470 @ =gTasks - ldr r2, _0800C474 @ =gUnknown_020238C5 - mov r12, r2 - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r2, r0, r7 - movs r0, 0x24 - ldrsh r1, [r2, r0] - adds r0, r6, 0 - adds r0, 0x9 - adds r1, r0 - movs r0, 0x80 - lsls r0, 5 - cmp r1, r0 - ble _0800C402 - ldrh r0, [r2, 0x24] - strh r0, [r2, 0x20] - mov r2, r12 - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r7 - movs r1, 0 - strh r1, [r0, 0x24] -_0800C402: - mov r2, r12 - ldrb r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r7 - movs r2, 0x24 - ldrsh r1, [r0, r2] - ldr r0, _0800C478 @ =0x02015000 - adds r5, r1, r0 - adds r4, r3, 0 - movs r2, 0 - adds r3, r6, 0 - adds r3, 0x8 - mov r8, r7 - mov r7, r12 - cmp r2, r3 - bge _0800C434 -_0800C426: - adds r0, r5, r2 - adds r1, r4, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - cmp r2, r3 - blt _0800C426 -_0800C434: - ldrb r0, [r7] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - add r1, r8 - ldrh r0, [r1, 0x24] - adds r0, r6, r0 - adds r0, 0x8 - strh r0, [r1, 0x24] -_0800C446: - mov r1, r9 - lsls r0, r1, 24 - lsrs r4, r0, 24 -_0800C44C: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bcc _0800C3A0 -_0800C458: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0800C468: .4byte gBitTable -_0800C46C: .4byte gBlockRecvBuffer + 0x4 -_0800C470: .4byte gTasks -_0800C474: .4byte gUnknown_020238C5 -_0800C478: .4byte 0x02015000 - thumb_func_end sub_800C35C - thumb_func_start sub_800C47C sub_800C47C: @ 800C47C push {r4-r7,lr} |