Splitting 6 and the Half-Thumb Split

This commit is contained in:
PikalaxALT
2020-05-18 18:26:18 -04:00
parent 9ae03511bb
commit d279ab7bcd
10 changed files with 50542 additions and 50506 deletions

View File

@@ -191,6 +191,13 @@ SECTIONS {
unk_02020C44.o (.text)
unk_0202134C.o (.text)
unk_02021590.o (.text)
unk_02021934.o (.text)
unk_02021FF8.o (.text)
unk_02022244.o (.text)
unk_02022294.o (.text)
unk_020222E8.o (.text)
unk_02022318.o (.text)
unk_02022450.o (.text)
script.o (.text)
unk_02038C78.o (.text)
scrcmd.o (.text)

File diff suppressed because it is too large Load Diff

966
arm9/asm/unk_02021934.s Normal file
View File

@@ -0,0 +1,966 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_02021934
FUN_02021934: ; 0x02021934
push {r3-r7, lr}
add r5, r1, #0x0
ldrh r1, [r5, #0x0]
add r7, r0, #0x0
mov r4, #0x0
ldr r0, _02021994 ; =0x0000FFFF
add r6, r2, #0x0
str r4, [sp, #0x0]
cmp r1, r0
beq _02021986
_02021948:
ldr r0, _02021998 ; =0x0000FFFE
cmp r1, r0
bne _02021958
add r0, r5, #0x0
bl FUN_0201B8B8
add r5, r0, #0x0
b _0202197E
_02021958:
mov r0, #0xe
lsl r0, r0, #0xc
cmp r1, r0
bne _02021970
ldr r0, [sp, #0x0]
sub r1, r4, r6
cmp r0, r1
bhs _0202196A
str r1, [sp, #0x0]
_0202196A:
mov r4, #0x0
add r5, r5, #0x2
b _0202197E
_02021970:
ldr r2, [r7, #0x70]
add r0, r7, #0x0
sub r1, r1, #0x1
blx r2
add r0, r6, r0
add r4, r4, r0
add r5, r5, #0x2
_0202197E:
ldrh r1, [r5, #0x0]
ldr r0, _02021994 ; =0x0000FFFF
cmp r1, r0
bne _02021948
_02021986:
ldr r0, [sp, #0x0]
sub r1, r4, r6
cmp r0, r1
bhs _02021990
str r1, [sp, #0x0]
_02021990:
ldr r0, [sp, #0x0]
pop {r3-r7, pc}
.balign 4
_02021994: .word 0x0000FFFF
_02021998: .word 0x0000FFFE
thumb_func_start FUN_0202199C
FUN_0202199C: ; 0x0202199C
push {r3-r7, lr}
add r5, r1, #0x0
ldrh r1, [r5, #0x0]
add r6, r0, #0x0
ldr r0, _020219EC ; =0x0000FFFF
mov r4, #0x0
cmp r1, r0
beq _020219E8
sub r7, r0, #0x1
_020219AE:
cmp r1, r7
bne _020219D4
add r0, r5, #0x0
bl FUN_0201B8E0
ldr r1, _020219F0 ; =0x00000203
cmp r0, r1
bne _020219CA
add r0, r5, #0x0
mov r1, #0x0
bl FUN_0201B914
add r4, r0, #0x0
sub r4, #0xc
_020219CA:
add r0, r5, #0x0
bl FUN_0201B8B8
add r5, r0, #0x0
b _020219E0
_020219D4:
ldr r2, [r6, #0x70]
add r0, r6, #0x0
sub r1, r1, #0x1
blx r2
add r4, r4, r0
add r5, r5, #0x2
_020219E0:
ldrh r1, [r5, #0x0]
ldr r0, _020219EC ; =0x0000FFFF
cmp r1, r0
bne _020219AE
_020219E8:
add r0, r4, #0x0
pop {r3-r7, pc}
.balign 4
_020219EC: .word 0x0000FFFF
_020219F0: .word 0x00000203
thumb_func_start FUN_020219F4
FUN_020219F4: ; 0x020219F4
push {r4, lr}
add r4, r0, #0x0
add r0, r1, #0x0
lsl r1, r4, #0x1
add r1, #0xa
bl FUN_02016998
cmp r0, #0x0
beq _02021A14
ldr r1, _02021A18 ; =0xB6F8D2EC
str r1, [r0, #0x4]
strh r4, [r0, #0x0]
mov r1, #0x0
strh r1, [r0, #0x2]
ldr r1, _02021A1C ; =0x0000FFFF
strh r1, [r0, #0x8]
_02021A14:
pop {r4, pc}
nop
_02021A18: .word 0xB6F8D2EC
_02021A1C: .word 0x0000FFFF
thumb_func_start FUN_02021A20
FUN_02021A20: ; 0x02021A20
push {r4, lr}
add r4, r0, #0x0
bne _02021A2A
bl ErrorHandling
_02021A2A:
ldr r1, [r4, #0x4]
ldr r0, _02021A44 ; =0xB6F8D2EC
cmp r1, r0
beq _02021A36
bl ErrorHandling
_02021A36:
ldr r0, _02021A48 ; =0xB6F8D2ED
str r0, [r4, #0x4]
add r0, r4, #0x0
bl FUN_02016A18
pop {r4, pc}
nop
_02021A44: .word 0xB6F8D2EC
_02021A48: .word 0xB6F8D2ED
thumb_func_start FUN_02021A4C
FUN_02021A4C: ; 0x02021A4C
push {r4, lr}
add r4, r0, #0x0
bne _02021A56
bl ErrorHandling
_02021A56:
ldr r1, [r4, #0x4]
ldr r0, _02021A6C ; =0xB6F8D2EC
cmp r1, r0
beq _02021A62
bl ErrorHandling
_02021A62:
mov r0, #0x0
strh r0, [r4, #0x2]
ldr r0, _02021A70 ; =0x0000FFFF
strh r0, [r4, #0x8]
pop {r4, pc}
.balign 4
_02021A6C: .word 0xB6F8D2EC
_02021A70: .word 0x0000FFFF
thumb_func_start FUN_02021A74
FUN_02021A74: ; 0x02021A74
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
cmp r5, #0x0
bne _02021A82
bl ErrorHandling
_02021A82:
ldr r1, [r5, #0x4]
ldr r0, _02021AC8 ; =0xB6F8D2EC
cmp r1, r0
beq _02021A8E
bl ErrorHandling
_02021A8E:
cmp r4, #0x0
bne _02021A96
bl ErrorHandling
_02021A96:
ldr r1, [r4, #0x4]
ldr r0, _02021AC8 ; =0xB6F8D2EC
cmp r1, r0
beq _02021AA2
bl ErrorHandling
_02021AA2:
ldrh r2, [r4, #0x2]
ldrh r0, [r5, #0x0]
cmp r0, r2
bls _02021AC0
add r0, r5, #0x0
add r1, r4, #0x0
add r2, r2, #0x1
add r0, #0x8
add r1, #0x8
lsl r2, r2, #0x1
bl memcpy
ldrh r0, [r4, #0x2]
strh r0, [r5, #0x2]
pop {r3-r5, pc}
_02021AC0:
bl ErrorHandling
pop {r3-r5, pc}
nop
_02021AC8: .word 0xB6F8D2EC
thumb_func_start FUN_02021ACC
FUN_02021ACC: ; 0x02021ACC
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
cmp r5, #0x0
bne _02021ADA
bl ErrorHandling
_02021ADA:
ldr r1, [r5, #0x4]
ldr r0, _02021B00 ; =0xB6F8D2EC
cmp r1, r0
beq _02021AE6
bl ErrorHandling
_02021AE6:
ldrh r0, [r5, #0x2]
add r1, r4, #0x0
add r0, r0, #0x1
bl FUN_020219F4
add r4, r0, #0x0
beq _02021AFA
add r1, r5, #0x0
bl FUN_02021A74
_02021AFA:
add r0, r4, #0x0
pop {r3-r5, pc}
nop
_02021B00: .word 0xB6F8D2EC
thumb_func_start FUN_02021B04
FUN_02021B04: ; 0x02021B04
push {r3-r7, lr}
sub sp, #0x8
add r5, r0, #0x0
ldr r0, [sp, #0x20]
add r6, r1, #0x0
add r7, r3, #0x0
str r2, [sp, #0x0]
str r0, [sp, #0x20]
cmp r5, #0x0
bne _02021B1C
bl ErrorHandling
_02021B1C:
ldr r1, [r5, #0x4]
ldr r0, _02021C1C ; =0xB6F8D2EC
cmp r1, r0
beq _02021B28
bl ErrorHandling
_02021B28:
cmp r6, #0x0
bge _02021B30
mov r4, #0x1
b _02021B32
_02021B30:
mov r4, #0x0
_02021B32:
ldr r0, [sp, #0x0]
ldrh r1, [r5, #0x0]
add r0, r0, r4
cmp r1, r0
bls _02021C14
ldr r0, [sp, #0x20]
cmp r0, #0x0
bne _02021B48
ldr r0, _02021C20 ; =0x020EE67C
str r0, [sp, #0x4]
b _02021B4C
_02021B48:
ldr r0, _02021C24 ; =0x020EE690
str r0, [sp, #0x4]
_02021B4C:
add r0, r5, #0x0
bl FUN_02021A4C
cmp r4, #0x0
beq _02021B74
mov r0, #0x0
mvn r0, r0
mul r6, r0
ldr r0, [sp, #0x20]
cmp r0, #0x0
bne _02021B66
mov r0, #0xf1
b _02021B68
_02021B66:
ldr r0, _02021C28 ; =0x000001BE
_02021B68:
ldrh r2, [r5, #0x2]
add r1, r2, #0x1
strh r1, [r5, #0x2]
lsl r1, r2, #0x1
add r1, r5, r1
strh r0, [r1, #0x8]
_02021B74:
ldr r0, [sp, #0x0]
lsl r1, r0, #0x2
ldr r0, _02021C2C ; =0x020EE6A0
ldr r4, [r0, r1]
cmp r4, #0x0
beq _02021C06
_02021B80:
add r0, r6, #0x0
add r1, r4, #0x0
bl _u32_div_f
lsl r0, r0, #0x10
lsr r1, r0, #0x10
add r0, r4, #0x0
mul r0, r1
sub r6, r6, r0
cmp r7, #0x2
bne _02021BB4
cmp r1, #0xa
bhs _02021BA2
ldr r0, [sp, #0x4]
lsl r1, r1, #0x1
ldrh r1, [r0, r1]
b _02021BA4
_02021BA2:
mov r1, #0xe2
_02021BA4:
ldrh r0, [r5, #0x2]
add r2, r0, #0x0
add r2, r2, #0x1
lsl r0, r0, #0x1
strh r2, [r5, #0x2]
add r0, r5, r0
strh r1, [r0, #0x8]
b _02021BFA
_02021BB4:
cmp r1, #0x0
bne _02021BBC
cmp r4, #0x1
bne _02021BDC
_02021BBC:
mov r7, #0x2
cmp r1, #0xa
bhs _02021BCA
ldr r0, [sp, #0x4]
lsl r1, r1, #0x1
ldrh r1, [r0, r1]
b _02021BCC
_02021BCA:
mov r1, #0xe2
_02021BCC:
ldrh r0, [r5, #0x2]
add r2, r0, #0x0
add r2, r2, #0x1
lsl r0, r0, #0x1
strh r2, [r5, #0x2]
add r0, r5, r0
strh r1, [r0, #0x8]
b _02021BFA
_02021BDC:
cmp r7, #0x1
bne _02021BFA
ldr r0, [sp, #0x20]
cmp r0, #0x0
bne _02021BEA
mov r1, #0x1
b _02021BEC
_02021BEA:
ldr r1, _02021C30 ; =0x000001E2
_02021BEC:
ldrh r0, [r5, #0x2]
add r2, r0, #0x0
add r2, r2, #0x1
lsl r0, r0, #0x1
strh r2, [r5, #0x2]
add r0, r5, r0
strh r1, [r0, #0x8]
_02021BFA:
add r0, r4, #0x0
mov r1, #0xa
bl _u32_div_f
add r4, r0, #0x0
bne _02021B80
_02021C06:
ldrh r0, [r5, #0x2]
ldr r1, _02021C34 ; =0x0000FFFF
add sp, #0x8
lsl r0, r0, #0x1
add r0, r5, r0
strh r1, [r0, #0x8]
pop {r3-r7, pc}
_02021C14:
bl ErrorHandling
add sp, #0x8
pop {r3-r7, pc}
.balign 4
_02021C1C: .word 0xB6F8D2EC
_02021C20: .word 0x020EE67C
_02021C24: .word 0x020EE690
_02021C28: .word 0x000001BE
_02021C2C: .word 0x020EE6A0
_02021C30: .word 0x000001E2
_02021C34: .word 0x0000FFFF
thumb_func_start FUN_02021C38
FUN_02021C38: ; 0x02021C38
push {r3-r7, lr}
sub sp, #0x10
str r1, [sp, #0x0]
mov r1, #0x0
str r1, [sp, #0x8]
str r1, [sp, #0xc]
add r5, r1, #0x0
ldrh r1, [r0, #0x2]
mov r7, #0x1
cmp r1, #0x12
bls _02021C56
ldr r0, [sp, #0x8]
add sp, #0x10
add r1, r0, #0x0
pop {r3-r7, pc}
_02021C56:
sub r1, r1, #0x1
str r1, [sp, #0x4]
bmi _02021CCC
lsl r1, r1, #0x1
add r4, r0, r1
_02021C60:
ldrh r6, [r4, #0x8]
mov r3, #0xa
mov r0, #0x0
add r1, r6, #0x0
sub r1, #0xa2
asr r2, r1, #0x1f
sub r3, r1, r3
mov r12, r2
mov r3, r12
sbc r3, r0
blo _02021C98
ldr r0, _02021CDC ; =0x00000121
mov r3, #0xa
sub r1, r6, r0
asr r2, r1, #0x1f
mov r0, #0x0
sub r3, r1, r3
mov r12, r2
mov r3, r12
sbc r3, r0
blo _02021C98
ldr r0, [sp, #0x0]
mov r1, #0x0
str r1, [r0, #0x0]
ldr r0, [sp, #0x8]
ldr r1, [sp, #0xc]
add sp, #0x10
pop {r3-r7, pc}
_02021C98:
add r0, r1, #0x0
add r1, r2, #0x0
add r2, r7, #0x0
add r3, r5, #0x0
bl _ll_mul
add r2, r1, #0x0
ldr r1, [sp, #0x8]
add r0, r1, r0
str r0, [sp, #0x8]
ldr r0, [sp, #0xc]
adc r0, r2
str r0, [sp, #0xc]
add r0, r7, #0x0
add r1, r5, #0x0
mov r2, #0xa
mov r3, #0x0
bl _ll_mul
add r7, r0, #0x0
ldr r0, [sp, #0x4]
add r5, r1, #0x0
sub r4, r4, #0x2
sub r0, r0, #0x1
str r0, [sp, #0x4]
bpl _02021C60
_02021CCC:
ldr r0, [sp, #0x0]
mov r1, #0x1
str r1, [r0, #0x0]
ldr r0, [sp, #0x8]
ldr r1, [sp, #0xc]
add sp, #0x10
pop {r3-r7, pc}
nop
_02021CDC: .word 0x00000121
thumb_func_start FUN_02021CE0
FUN_02021CE0: ; 0x02021CE0
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
cmp r5, #0x0
bne _02021CEE
bl ErrorHandling
_02021CEE:
ldr r1, [r5, #0x4]
ldr r0, _02021D34 ; =0xB6F8D2EC
cmp r1, r0
beq _02021CFA
bl ErrorHandling
_02021CFA:
cmp r4, #0x0
bne _02021D02
bl ErrorHandling
_02021D02:
ldr r1, [r4, #0x4]
ldr r0, _02021D34 ; =0xB6F8D2EC
cmp r1, r0
beq _02021D0E
bl ErrorHandling
_02021D0E:
ldrh r1, [r5, #0x8]
ldrh r0, [r4, #0x8]
cmp r1, r0
bne _02021D2E
ldr r0, _02021D38 ; =0x0000FFFF
_02021D18:
ldrh r1, [r5, #0x8]
cmp r1, r0
bne _02021D22
mov r0, #0x0
pop {r3-r5, pc}
_02021D22:
add r5, r5, #0x2
add r4, r4, #0x2
ldrh r2, [r5, #0x8]
ldrh r1, [r4, #0x8]
cmp r2, r1
beq _02021D18
_02021D2E:
mov r0, #0x1
pop {r3-r5, pc}
nop
_02021D34: .word 0xB6F8D2EC
_02021D38: .word 0x0000FFFF
thumb_func_start FUN_02021D3C
FUN_02021D3C: ; 0x02021D3C
push {r4, lr}
add r4, r0, #0x0
bne _02021D46
bl ErrorHandling
_02021D46:
ldr r1, [r4, #0x4]
ldr r0, _02021D58 ; =0xB6F8D2EC
cmp r1, r0
beq _02021D52
bl ErrorHandling
_02021D52:
ldrh r0, [r4, #0x2]
pop {r4, pc}
nop
_02021D58: .word 0xB6F8D2EC
thumb_func_start FUN_02021D5C
FUN_02021D5C: ; 0x02021D5C
push {r3-r5, lr}
add r4, r0, #0x0
bne _02021D66
bl ErrorHandling
_02021D66:
ldr r1, [r4, #0x4]
ldr r0, _02021D98 ; =0xB6F8D2EC
cmp r1, r0
beq _02021D72
bl ErrorHandling
_02021D72:
ldrh r1, [r4, #0x2]
mov r3, #0x0
mov r0, #0x1
cmp r1, #0x0
ble _02021D94
mov r1, #0xe
add r5, r4, #0x0
lsl r1, r1, #0xc
_02021D82:
ldrh r2, [r5, #0x8]
cmp r2, r1
bne _02021D8A
add r0, r0, #0x1
_02021D8A:
ldrh r2, [r4, #0x2]
add r3, r3, #0x1
add r5, r5, #0x2
cmp r3, r2
blt _02021D82
_02021D94:
pop {r3-r5, pc}
nop
_02021D98: .word 0xB6F8D2EC
thumb_func_start FUN_02021D9C
FUN_02021D9C: ; 0x02021D9C
push {r3-r7, lr}
add r5, r1, #0x0
add r7, r0, #0x0
add r6, r2, #0x0
cmp r5, #0x0
bne _02021DAC
bl ErrorHandling
_02021DAC:
ldr r1, [r5, #0x4]
ldr r0, _02021E24 ; =0xB6F8D2EC
cmp r1, r0
beq _02021DB8
bl ErrorHandling
_02021DB8:
cmp r7, #0x0
bne _02021DC0
bl ErrorHandling
_02021DC0:
ldr r1, [r7, #0x4]
ldr r0, _02021E24 ; =0xB6F8D2EC
cmp r1, r0
beq _02021DCC
bl ErrorHandling
_02021DCC:
mov r4, #0x0
cmp r6, #0x0
beq _02021DF6
ldrh r0, [r5, #0x2]
cmp r0, #0x0
ble _02021DF6
mov r1, #0xe
add r0, r5, #0x0
lsl r1, r1, #0xc
_02021DDE:
ldrh r2, [r0, #0x8]
cmp r2, r1
bne _02021DEC
sub r6, r6, #0x1
bne _02021DEC
add r4, r4, #0x1
b _02021DF6
_02021DEC:
ldrh r2, [r5, #0x2]
add r4, r4, #0x1
add r0, r0, #0x2
cmp r4, r2
blt _02021DDE
_02021DF6:
add r0, r7, #0x0
bl FUN_02021A4C
ldrh r0, [r5, #0x2]
cmp r4, r0
bge _02021E20
lsl r0, r4, #0x1
add r6, r5, r0
_02021E06:
ldrh r1, [r6, #0x8]
mov r0, #0xe
lsl r0, r0, #0xc
cmp r1, r0
beq _02021E20
add r0, r7, #0x0
bl FUN_02021FB0
ldrh r0, [r5, #0x2]
add r4, r4, #0x1
add r6, r6, #0x2
cmp r4, r0
blt _02021E06
_02021E20:
pop {r3-r7, pc}
nop
_02021E24: .word 0xB6F8D2EC
thumb_func_start FUN_02021E28
FUN_02021E28: ; 0x02021E28
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
cmp r5, #0x0
bne _02021E36
bl ErrorHandling
_02021E36:
ldr r1, [r5, #0x4]
ldr r0, _02021E84 ; =0xB6F8D2EC
cmp r1, r0
beq _02021E42
bl ErrorHandling
_02021E42:
mov r0, #0x0
strh r0, [r5, #0x2]
ldrh r1, [r4, #0x0]
ldr r0, _02021E88 ; =0x0000FFFF
cmp r1, r0
beq _02021E76
add r1, r0, #0x0
_02021E50:
ldrh r2, [r5, #0x0]
ldrh r0, [r5, #0x2]
sub r2, r2, #0x1
cmp r0, r2
blt _02021E60
bl ErrorHandling
b _02021E76
_02021E60:
add r2, r0, #0x0
add r2, r2, #0x1
strh r2, [r5, #0x2]
ldrh r2, [r4, #0x0]
lsl r0, r0, #0x1
add r0, r5, r0
add r4, r4, #0x2
strh r2, [r0, #0x8]
ldrh r0, [r4, #0x0]
cmp r0, r1
bne _02021E50
_02021E76:
ldrh r0, [r5, #0x2]
ldr r1, _02021E88 ; =0x0000FFFF
lsl r0, r0, #0x1
add r0, r5, r0
strh r1, [r0, #0x8]
pop {r3-r5, pc}
nop
_02021E84: .word 0xB6F8D2EC
_02021E88: .word 0x0000FFFF
thumb_func_start FUN_02021E8C
FUN_02021E8C: ; 0x02021E8C
push {r3-r7, lr}
add r5, r0, #0x0
add r7, r1, #0x0
add r4, r2, #0x0
cmp r5, #0x0
bne _02021E9C
bl ErrorHandling
_02021E9C:
ldr r1, [r5, #0x4]
ldr r0, _02021EE8 ; =0xB6F8D2EC
cmp r1, r0
beq _02021EA8
bl ErrorHandling
_02021EA8:
ldrh r0, [r5, #0x0]
cmp r4, r0
bhi _02021EE2
lsl r6, r4, #0x1
add r0, r5, #0x0
add r0, #0x8
add r1, r7, #0x0
add r2, r6, #0x0
bl memcpy
mov r2, #0x0
cmp r4, #0x0
bls _02021ED4
ldr r0, _02021EEC ; =0x0000FFFF
add r3, r5, #0x0
_02021EC6:
ldrh r1, [r3, #0x8]
cmp r1, r0
beq _02021ED4
add r2, r2, #0x1
add r3, r3, #0x2
cmp r2, r4
blo _02021EC6
_02021ED4:
strh r2, [r5, #0x2]
cmp r2, r4
bne _02021EE6
ldr r1, _02021EEC ; =0x0000FFFF
add r0, r5, r6
strh r1, [r0, #0x6]
pop {r3-r7, pc}
_02021EE2:
bl ErrorHandling
_02021EE6:
pop {r3-r7, pc}
.balign 4
_02021EE8: .word 0xB6F8D2EC
_02021EEC: .word 0x0000FFFF
thumb_func_start FUN_02021EF0
FUN_02021EF0: ; 0x02021EF0
push {r4-r6, lr}
add r5, r0, #0x0
add r6, r1, #0x0
add r4, r2, #0x0
cmp r5, #0x0
bne _02021F00
bl ErrorHandling
_02021F00:
ldr r1, [r5, #0x4]
ldr r0, _02021F28 ; =0xB6F8D2EC
cmp r1, r0
beq _02021F0C
bl ErrorHandling
_02021F0C:
ldrh r0, [r5, #0x2]
add r2, r0, #0x1
cmp r2, r4
bhi _02021F22
add r5, #0x8
add r0, r6, #0x0
add r1, r5, #0x0
lsl r2, r2, #0x1
bl memcpy
pop {r4-r6, pc}
_02021F22:
bl ErrorHandling
pop {r4-r6, pc}
.balign 4
_02021F28: .word 0xB6F8D2EC
thumb_func_start FUN_02021F2C
FUN_02021F2C: ; 0x02021F2C
push {r4, lr}
add r4, r0, #0x0
bne _02021F36
bl ErrorHandling
_02021F36:
ldr r1, [r4, #0x4]
ldr r0, _02021F48 ; =0xB6F8D2EC
cmp r1, r0
beq _02021F42
bl ErrorHandling
_02021F42:
add r4, #0x8
add r0, r4, #0x0
pop {r4, pc}
.balign 4
_02021F48: .word 0xB6F8D2EC
thumb_func_start FUN_02021F4C
FUN_02021F4C: ; 0x02021F4C
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
cmp r5, #0x0
bne _02021F5A
bl ErrorHandling
_02021F5A:
ldr r1, [r5, #0x4]
ldr r0, _02021FAC ; =0xB6F8D2EC
cmp r1, r0
beq _02021F66
bl ErrorHandling
_02021F66:
cmp r4, #0x0
bne _02021F6E
bl ErrorHandling
_02021F6E:
ldr r1, [r4, #0x4]
ldr r0, _02021FAC ; =0xB6F8D2EC
cmp r1, r0
beq _02021F7A
bl ErrorHandling
_02021F7A:
ldrh r2, [r4, #0x2]
ldrh r0, [r5, #0x2]
add r1, r0, r2
add r3, r1, #0x1
ldrh r1, [r5, #0x0]
cmp r3, r1
bgt _02021FA6
add r1, r5, #0x0
add r1, #0x8
lsl r0, r0, #0x1
add r0, r1, r0
add r1, r4, #0x0
add r2, r2, #0x1
add r1, #0x8
lsl r2, r2, #0x1
bl memcpy
ldrh r1, [r5, #0x2]
ldrh r0, [r4, #0x2]
add r0, r1, r0
strh r0, [r5, #0x2]
pop {r3-r5, pc}
_02021FA6:
bl ErrorHandling
pop {r3-r5, pc}
.balign 4
_02021FAC: .word 0xB6F8D2EC
thumb_func_start FUN_02021FB0
FUN_02021FB0: ; 0x02021FB0
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
cmp r5, #0x0
bne _02021FBE
bl ErrorHandling
_02021FBE:
ldr r1, [r5, #0x4]
ldr r0, _02021FF0 ; =0xB6F8D2EC
cmp r1, r0
beq _02021FCA
bl ErrorHandling
_02021FCA:
ldrh r2, [r5, #0x2]
ldrh r0, [r5, #0x0]
add r1, r2, #0x1
cmp r1, r0
bge _02021FE8
lsl r0, r2, #0x1
strh r1, [r5, #0x2]
add r0, r5, r0
strh r4, [r0, #0x8]
ldrh r0, [r5, #0x2]
ldr r1, _02021FF4 ; =0x0000FFFF
lsl r0, r0, #0x1
add r0, r5, r0
strh r1, [r0, #0x8]
pop {r3-r5, pc}
_02021FE8:
bl ErrorHandling
pop {r3-r5, pc}
nop
_02021FF0: .word 0xB6F8D2EC
_02021FF4: .word 0x0000FFFF
thumb_func_start FUN_02021FF8
FUN_02021FF8: ; 0x02021FF8
push {r4, lr}
add r4, r0, #0x0
bne _02022002
bl ErrorHandling
_02022002:
ldr r1, [r4, #0x4]
ldr r0, _02022028 ; =0xB6F8D2EC
cmp r1, r0
beq _0202200E
bl ErrorHandling
_0202200E:
ldrh r0, [r4, #0x2]
cmp r0, #0x0
beq _02022026
ldrh r1, [r4, #0x8]
ldr r0, _0202202C ; =0x00000145
cmp r1, r0
blo _02022026
add r0, #0x19
cmp r1, r0
bhi _02022026
sub r1, #0x1a
strh r1, [r4, #0x8]
_02022026:
pop {r4, pc}
.balign 4
_02022028: .word 0xB6F8D2EC
_0202202C: .word 0x00000145

302
arm9/asm/unk_02021FF8.s Normal file
View File

@@ -0,0 +1,302 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_02022030
FUN_02022030: ; 0x02022030
ldrh r1, [r0, #0x2]
cmp r1, #0x0
beq _02022044
ldrh r1, [r0, #0x8]
mov r0, #0xf1
lsl r0, r0, #0x8
cmp r1, r0
bne _02022044
mov r0, #0x1
bx lr
_02022044:
mov r0, #0x0
bx lr
thumb_func_start FUN_02022048
FUN_02022048: ; 0x02022048
push {r3-r7, lr}
add r4, r1, #0x0
str r0, [sp, #0x0]
add r0, r4, #0x0
bl FUN_02022030
cmp r0, #0x0
beq _020220B2
ldr r0, [sp, #0x0]
ldr r1, [sp, #0x0]
ldrh r0, [r0, #0x2]
add r1, #0x8
ldr r7, _020220BC ; =0x000001FF
lsl r0, r0, #0x1
add r3, r1, r0
mov r0, #0x0
add r4, #0xa
add r1, r0, #0x0
_0202206C:
ldrh r2, [r4, #0x0]
asr r2, r0
and r2, r7
lsl r2, r2, #0x10
add r0, #0x9
lsr r2, r2, #0x10
cmp r0, #0xf
blt _02022094
add r4, r4, #0x2
sub r0, #0xf
beq _02022094
ldrh r6, [r4, #0x0]
mov r5, #0x9
sub r5, r5, r0
lsl r6, r5
ldr r5, _020220BC ; =0x000001FF
and r5, r6
orr r2, r5
lsl r2, r2, #0x10
lsr r2, r2, #0x10
_02022094:
ldr r5, _020220BC ; =0x000001FF
cmp r2, r5
beq _020220A2
strh r2, [r3, #0x0]
add r3, r3, #0x2
add r1, r1, #0x1
b _0202206C
_020220A2:
ldr r0, _020220C0 ; =0x0000FFFF
strh r0, [r3, #0x0]
ldr r0, [sp, #0x0]
ldrh r0, [r0, #0x2]
add r1, r0, r1
ldr r0, [sp, #0x0]
strh r1, [r0, #0x2]
pop {r3-r7, pc}
_020220B2:
ldr r0, [sp, #0x0]
add r1, r4, #0x0
bl FUN_02021F4C
pop {r3-r7, pc}
.balign 4
_020220BC: .word 0x000001FF
_020220C0: .word 0x0000FFFF
thumb_func_start FUN_020220C4
FUN_020220C4: ; 0x020220C4
push {r3-r7, lr}
add r7, r1, #0x0
add r5, r0, #0x0
add r6, r2, #0x0
str r3, [sp, #0x0]
cmp r7, #0x0
bne _020220D6
bl ErrorHandling
_020220D6:
ldr r0, [sp, #0x18]
mov r1, #0x14
bl FUN_02016998
add r4, r0, #0x0
beq _0202211C
str r5, [r4, #0x0]
str r7, [r4, #0x4]
ldr r0, [sp, #0x0]
str r6, [r4, #0x8]
str r0, [r4, #0xc]
ldr r0, [sp, #0x18]
lsl r1, r7, #0x2
bl FUN_02016998
str r0, [r4, #0x10]
cmp r0, #0x0
beq _02022114
mov r6, #0x0
cmp r7, #0x0
bls _0202211C
add r5, r6, #0x0
_02022102:
ldr r0, [r4, #0x10]
add r0, r0, r5
bl FUN_02022120
add r6, r6, #0x1
add r5, r5, #0x4
cmp r6, r7
blo _02022102
b _0202211C
_02022114:
add r0, r4, #0x0
bl FUN_02016A18
mov r4, #0x0
_0202211C:
add r0, r4, #0x0
pop {r3-r7, pc}
thumb_func_start FUN_02022120
FUN_02022120: ; 0x02022120
mov r1, #0x0
strb r1, [r0, #0x0]
strb r1, [r0, #0x1]
strh r1, [r0, #0x2]
bx lr
.balign 4
thumb_func_start FUN_0202212C
FUN_0202212C: ; 0x0202212C
push {r4, lr}
add r4, r0, #0x0
bne _02022136
bl ErrorHandling
_02022136:
ldr r0, [r4, #0x10]
bl FUN_02016A18
add r0, r4, #0x0
bl FUN_02016A18
pop {r4, pc}
thumb_func_start FUN_02022144
FUN_02022144: ; 0x02022144
push {r3-r7, lr}
sub sp, #0x8
add r5, r0, #0x0
bl FUN_02020A98
str r0, [sp, #0x0]
cmp r0, #0x0
beq _02022190
bl FUN_02020AA4
str r0, [sp, #0x4]
ldr r0, [r5, #0x4]
mov r6, #0x0
cmp r0, #0x0
bls _020221AE
add r4, r6, #0x0
_02022164:
ldr r0, [r5, #0x10]
add r0, r0, r4
ldrb r0, [r0, #0x1]
cmp r0, #0x0
ldr r0, [r5, #0x0]
beq _02022178
add r0, r0, r4
bl FUN_02020A40
b _0202217E
_02022178:
add r0, r0, r4
bl FUN_02020A6C
_0202217E:
ldr r1, [r5, #0x10]
add r6, r6, #0x1
add r1, r1, r4
strb r0, [r1, #0x1]
ldr r0, [r5, #0x4]
add r4, r4, #0x4
cmp r6, r0
blo _02022164
b _020221AE
_02022190:
ldr r0, [r5, #0x4]
mov r3, #0x0
str r3, [sp, #0x4]
cmp r0, #0x0
bls _020221AE
add r2, r3, #0x0
add r1, r3, #0x0
_0202219E:
ldr r0, [r5, #0x10]
add r3, r3, #0x1
add r0, r0, r2
strb r1, [r0, #0x1]
ldr r0, [r5, #0x4]
add r2, r2, #0x4
cmp r3, r0
blo _0202219E
_020221AE:
mov r4, #0x0
cmp r0, #0x0
bls _020221E4
add r7, r4, #0x0
_020221B6:
ldr r3, [r5, #0x10]
ldr r1, [sp, #0x0]
add r0, r3, r7
ldrb r3, [r3, r7]
ldr r2, [sp, #0x4]
lsl r6, r3, #0x2
ldr r3, _020221E8 ; =0x020EE6CC
ldr r3, [r3, r6]
blx r3
add r1, r0, #0x0
mov r0, #0x0
mvn r0, r0
cmp r1, r0
beq _020221DA
ldr r2, [r5, #0xc]
ldr r3, [r5, #0x8]
add r0, r4, #0x0
blx r3
_020221DA:
ldr r0, [r5, #0x4]
add r4, r4, #0x1
add r7, r7, #0x4
cmp r4, r0
blo _020221B6
_020221E4:
add sp, #0x8
pop {r3-r7, pc}
.balign 4
_020221E8: .word 0x020EE6CC
thumb_func_start FUN_020221EC
FUN_020221EC: ; 0x020221EC
push {r3, lr}
ldrb r1, [r0, #0x1]
cmp r1, #0x0
beq _02022202
cmp r2, #0x0
beq _02022202
mov r1, #0x1
bl FUN_0202223C
mov r0, #0x0
pop {r3, pc}
_02022202:
mov r0, #0x0
mvn r0, r0
pop {r3, pc}
thumb_func_start FUN_02022208
FUN_02022208: ; 0x02022208
push {r3, lr}
ldrb r2, [r0, #0x1]
cmp r2, #0x0
beq _02022220
ldrh r2, [r0, #0x2]
ldr r1, _02022238 ; =0x0000FFFF
cmp r2, r1
bhs _0202221C
add r1, r2, #0x1
strh r1, [r0, #0x2]
_0202221C:
mov r0, #0x2
pop {r3, pc}
_02022220:
cmp r1, #0x0
beq _0202222E
mov r1, #0x0
bl FUN_0202223C
mov r0, #0x3
pop {r3, pc}
_0202222E:
mov r1, #0x0
bl FUN_0202223C
mov r0, #0x1
pop {r3, pc}
.balign 4
_02022238: .word 0x0000FFFF
thumb_func_start FUN_0202223C
FUN_0202223C: ; 0x0202223C
strb r1, [r0, #0x0]
mov r1, #0x0
strh r1, [r0, #0x2]
bx lr

52
arm9/asm/unk_02022244.s Normal file
View File

@@ -0,0 +1,52 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_02022244
FUN_02022244: ; 0x02022244
push {r3-r4}
ldr r3, [r0, #0xc]
mov r2, #0x0
sub r3, r3, #0x1
beq _02022262
ldr r4, [r0, #0x0]
_02022250:
ldrh r3, [r4, #0x2]
cmp r3, r1
bhi _02022262
ldr r3, [r0, #0xc]
add r2, r2, #0x1
sub r3, r3, #0x1
add r4, r4, #0x2
cmp r2, r3
blo _02022250
_02022262:
ldr r1, [r0, #0x4]
ldrb r3, [r1, r2]
add r1, sp, #0x0
strb r3, [r1, #0x0]
ldr r0, [r0, #0x8]
ldrb r2, [r0, r2]
strb r2, [r1, #0x1]
ldrb r0, [r1, #0x0]
lsl r1, r2, #0x8
orr r0, r1
pop {r3-r4}
bx lr
.balign 4
thumb_func_start FUN_0202227C
FUN_0202227C: ; 0x0202227C
ldr r2, [r0, #0x0]
str r2, [r1, #0xc]
add r2, r0, #0x4
str r2, [r1, #0x0]
ldr r0, [r1, #0xc]
lsl r0, r0, #0x1
add r2, r2, r0
str r2, [r1, #0x4]
ldr r0, [r1, #0xc]
add r0, r2, r0
str r0, [r1, #0x8]
bx lr

56
arm9/asm/unk_02022294.s Normal file
View File

@@ -0,0 +1,56 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_02022294
FUN_02022294: ; 0x02022294
ldr r0, _020222A4 ; =0x021C59BC
mov r1, #0x0
str r1, [r0, #0x0]
str r1, [r0, #0x4]
str r1, [r0, #0x8]
ldr r0, _020222A8 ; =0x021C59BC
str r1, [r0, #0x0]
bx lr
.balign 4
_020222A4: .word 0x021C59BC
_020222A8: .word 0x021C59BC
thumb_func_start FUN_020222AC
FUN_020222AC: ; 0x020222AC
ldr r3, _020222B0 ; =G3X_ResetMtxStack
bx r3
.balign 4
_020222B0: .word G3X_ResetMtxStack
thumb_func_start FUN_020222B4
FUN_020222B4: ; 0x020222B4
ldr r2, _020222C0 ; =0x021C59BC
str r0, [r2, #0x4]
str r1, [r2, #0x8]
mov r0, #0x1
str r0, [r2, #0x0]
bx lr
.balign 4
_020222C0: .word 0x021C59BC
thumb_func_start FUN_020222C4
FUN_020222C4: ; 0x020222C4
ldr r0, _020222E0 ; =0x021C59BC
ldr r1, [r0, #0x0]
cmp r1, #0x0
beq _020222DC
ldr r1, [r0, #0x8]
ldr r2, [r0, #0x4]
lsl r1, r1, #0x1
orr r2, r1
ldr r1, _020222E4 ; =0x04000540
str r2, [r1, #0x0]
mov r1, #0x0
str r1, [r0, #0x0]
_020222DC:
bx lr
nop
_020222E0: .word 0x021C59BC
_020222E4: .word 0x04000540

46
arm9/asm/unk_020222E8.s Normal file
View File

@@ -0,0 +1,46 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_020222E8
FUN_020222E8: ; 0x020222E8
mov r0, #0x5
lsl r0, r0, #0x18
bx lr
.balign 4
thumb_func_start FUN_020222F0
FUN_020222F0: ; 0x020222F0
mov r0, #0x2
lsl r0, r0, #0x8
bx lr
.balign 4
thumb_func_start FUN_020222F8
FUN_020222F8: ; 0x020222F8
ldr r0, _020222FC ; =0x05000400
bx lr
.balign 4
_020222FC: .word 0x05000400
thumb_func_start FUN_02022300
FUN_02022300: ; 0x02022300
mov r0, #0x2
lsl r0, r0, #0x8
bx lr
.balign 4
thumb_func_start FUN_02022308
FUN_02022308: ; 0x02022308
ldr r0, _0202230C ; =0x05000200
bx lr
.balign 4
_0202230C: .word 0x05000200
thumb_func_start FUN_02022310
FUN_02022310: ; 0x02022310
ldr r0, _02022314 ; =0x05000600
bx lr
.balign 4
_02022314: .word 0x05000600

152
arm9/asm/unk_02022318.s Normal file
View File

@@ -0,0 +1,152 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_02022318
FUN_02022318: ; 0x02022318
push {r3-r7, lr}
sub sp, #0x8
add r7, r1, #0x0
mov r1, #0xc
add r6, r0, #0x0
add r5, r2, #0x0
str r3, [sp, #0x4]
bl FUN_02016998
add r4, r0, #0x0
str r6, [r4, #0x0]
bl FUN_020BB7F4
bl G3X_InitMtxStack
mov r1, #0x2
ldr r0, _020223B8 ; =0x04000540
cmp r7, #0x0
str r1, [r0, #0x0]
bne _02022364
lsl r0, r5, #0x7
bl FUN_020AFA28
add r6, r0, #0x0
ldr r0, [r4, #0x0]
add r1, r6, #0x0
bl FUN_02016998
str r0, [r4, #0x8]
mov r0, #0x1
str r0, [sp, #0x0]
ldr r2, [r4, #0x8]
lsl r0, r5, #0x11
mov r1, #0x0
add r3, r6, #0x0
bl FUN_020AF9C4
b _0202236E
_02022364:
lsl r0, r5, #0x10
lsr r0, r0, #0x10
mov r1, #0x1
bl FUN_020AEB70
_0202236E:
ldr r0, [sp, #0x4]
cmp r0, #0x0
bne _02022398
ldr r0, [sp, #0x20]
lsl r0, r0, #0x8
bl FUN_020AFBFC
add r5, r0, #0x0
ldr r0, [r4, #0x0]
add r1, r5, #0x0
bl FUN_02016998
str r0, [r4, #0x4]
ldr r0, [sp, #0x20]
ldr r1, [r4, #0x4]
lsl r0, r0, #0xd
add r2, r5, #0x0
mov r3, #0x1
bl FUN_020AFBA8
b _020223A4
_02022398:
ldr r0, [sp, #0x20]
mov r1, #0x1
lsl r0, r0, #0x1d
lsr r0, r0, #0x10
bl FUN_020AEB70
_020223A4:
ldr r0, [sp, #0x24]
cmp r0, #0x0
beq _020223AE
blx r0
b _020223B2
_020223AE:
bl FUN_020223D4
_020223B2:
add r0, r4, #0x0
add sp, #0x8
pop {r3-r7, pc}
.balign 4
_020223B8: .word 0x04000540
thumb_func_start FUN_020223BC
FUN_020223BC: ; 0x020223BC
push {r4, lr}
add r4, r0, #0x0
ldr r0, [r4, #0x4]
bl FUN_02016A18
ldr r0, [r4, #0x8]
bl FUN_02016A18
add r0, r4, #0x0
bl FUN_02016A18
pop {r4, pc}
thumb_func_start FUN_020223D4
FUN_020223D4: ; 0x020223D4
push {r3, lr}
mov r0, #0x1
add r1, r0, #0x0
bl FUN_0201E6E4
ldr r0, _02022438 ; =0x04000008
mov r1, #0x3
ldrh r2, [r0, #0x0]
bic r2, r1
strh r2, [r0, #0x0]
add r0, #0x58
ldrh r2, [r0, #0x0]
ldr r1, _0202243C ; =0xFFFFCFFD
and r1, r2
strh r1, [r0, #0x0]
ldrh r1, [r0, #0x0]
ldr r2, _02022440 ; =0x0000CFEF
and r1, r2
strh r1, [r0, #0x0]
add r1, r2, #0x0
ldrh r3, [r0, #0x0]
add r1, #0xc
and r1, r3
strh r1, [r0, #0x0]
add r1, r2, #0x0
ldrh r3, [r0, #0x0]
add r1, #0x8
sub r2, #0x10
and r1, r3
strh r1, [r0, #0x0]
ldrh r1, [r0, #0x0]
and r1, r2
strh r1, [r0, #0x0]
mov r0, #0x0
add r1, r0, #0x0
add r2, r0, #0x0
add r3, r0, #0x0
bl G3X_SetFog
mov r0, #0x0
ldr r2, _02022444 ; =0x00007FFF
add r1, r0, #0x0
mov r3, #0x3f
str r0, [sp, #0x0]
bl G3X_SetClearColor
ldr r1, _02022448 ; =0xBFFF0000
ldr r0, _0202244C ; =0x04000580
str r1, [r0, #0x0]
pop {r3, pc}
.balign 4
_02022438: .word 0x04000008
_0202243C: .word 0xFFFFCFFD
_02022440: .word 0x0000CFEF
_02022444: .word 0x00007FFF
_02022448: .word 0xBFFF0000
_0202244C: .word 0x04000580

48946
arm9/asm/unk_02022450.s Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -6200,17 +6200,18 @@
.extern FUN_0201DED0
.extern FUN_02012710
.extern FUN_02013764
.extern FUN_020144FC
.extern FUN_02029E54
.extern FUN_02022450
.extern FUN_020161F8
.extern FUN_0201BB74
.extern FUN_0201C100
.extern FUN_0201C750
.extern FUN_02022244
.extern FUN_0201C360
.extern FUN_0201C39C
.extern FUN_0201C3B4
.extern FUN_0201C40C
.extern FUN_0201C438
.extern FUN_0201C7B0
.extern FUN_020144FC
.extern FUN_02029E54
.extern FUN_02022450
.extern FUN_020161F8
.extern FUN_0201BB74
.extern FUN_0201C100
.extern FUN_0201C750
.extern FUN_02022244
.extern FUN_0201C360
.extern FUN_0201C39C
.extern FUN_0201C3B4
.extern FUN_0201C40C
.extern FUN_0201C438
.extern FUN_0201C7B0
.extern FUN_02021F4C