Coronet split

This commit is contained in:
PikalaxALT
2020-05-19 08:37:37 -04:00
parent 37cc07acdd
commit d4cb5e77b9
15 changed files with 31617 additions and 31555 deletions

View File

@@ -220,6 +220,18 @@ SECTIONS {
unk_02029A84.o (.text)
unk_02029AE0.o (.text)
unk_02029C58.o (.text)
unk_02029CEC.o (.text)
unk_02029E48.o (.text)
unk_02029EC4.o (.text)
unk_02029FB0.o (.text)
unk_0202A1E0.o (.text)
unk_0202A8F4.o (.text)
unk_0202A924.o (.text)
unk_0202ABBC.o (.text)
unk_0202AC20.o (.text)
unk_0202B034.o (.text)
unk_0202B374.o (.text)
unk_0202B870.o (.text)
script.o (.text)
unk_02038C78.o (.text)
scrcmd.o (.text)

File diff suppressed because it is too large Load Diff

221
arm9/asm/unk_02029CEC.s Normal file
View File

@@ -0,0 +1,221 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_02029CEC
FUN_02029CEC: ; 0x02029CEC
mov r1, #0x12
lsl r1, r1, #0x4
add r0, r0, r1
bx lr
thumb_func_start FUN_02029CF4
FUN_02029CF4: ; 0x02029CF4
ldrb r0, [r0, r1]
bx lr
thumb_func_start FUN_02029CF8
FUN_02029CF8: ; 0x02029CF8
mov r3, #0x0
add r2, r1, #0x1
_02029CFC:
ldrb r1, [r0, #0x0]
cmp r2, r1
bne _02029D06
mov r0, #0x1
bx lr
_02029D06:
add r3, r3, #0x1
add r0, r0, #0x3
cmp r3, #0x8
blt _02029CFC
mov r0, #0x0
bx lr
.balign 4
thumb_func_start FUN_02029D14
FUN_02029D14: ; 0x02029D14
push {r4-r7}
mov r6, #0x0
add r4, r6, #0x0
add r2, r1, #0x1
add r3, r6, #0x0
_02029D1E:
add r5, r3, #0x0
add r7, r0, #0x0
_02029D22:
ldrb r1, [r7, #0x0]
cmp r2, r1
bne _02029D2A
add r6, r6, #0x1
_02029D2A:
add r5, r5, #0x1
add r7, r7, #0x3
cmp r5, #0x8
blt _02029D22
add r4, r4, #0x1
add r0, #0x18
cmp r4, #0xc
blt _02029D1E
add r0, r6, #0x0
pop {r4-r7}
bx lr
thumb_func_start FUN_02029D40
FUN_02029D40: ; 0x02029D40
strb r2, [r0, r1]
bx lr
thumb_func_start FUN_02029D44
FUN_02029D44: ; 0x02029D44
push {r4-r6, lr}
add r5, r1, #0x0
sub r1, r5, #0x1
add r6, r0, #0x0
add r4, r2, #0x0
bl FUN_02029D14
mov r1, #0x12
lsl r1, r1, #0x4
add r2, r6, r1
sub r1, r5, #0x1
ldrb r3, [r2, r1]
add r0, r0, r3
cmp r4, #0x0
bge _02029D6E
add r0, r4, r3
bmi _02029D6A
strb r0, [r2, r1]
b _02029D7E
_02029D6A:
mov r0, #0x0
pop {r4-r6, pc}
_02029D6E:
add r0, r0, r4
cmp r0, #0x63
bgt _02029D7A
add r0, r3, r4
strb r0, [r2, r1]
b _02029D7E
_02029D7A:
mov r0, #0x0
pop {r4-r6, pc}
_02029D7E:
mov r0, #0x1
pop {r4-r6, pc}
.balign 4
thumb_func_start FUN_02029D84
FUN_02029D84: ; 0x02029D84
push {r4-r6, lr}
add r5, r1, #0x0
sub r1, r5, #0x1
add r6, r0, #0x0
add r4, r2, #0x0
bl FUN_02029D14
cmp r4, #0x0
bge _02029DAC
mov r0, #0x12
lsl r0, r0, #0x4
add r2, r6, r0
sub r1, r5, #0x1
ldrb r0, [r2, r1]
add r0, r4, r0
bmi _02029DA8
strb r0, [r2, r1]
b _02029DD0
_02029DA8:
mov r0, #0x0
pop {r4-r6, pc}
_02029DAC:
add r0, r0, r4
cmp r0, #0x63
bgt _02029DCC
mov r0, #0x12
lsl r0, r0, #0x4
add r2, r6, r0
sub r1, r5, #0x1
ldrb r0, [r2, r1]
add r0, r0, r4
strb r0, [r2, r1]
ldrb r0, [r2, r1]
cmp r0, #0x63
blo _02029DD0
mov r0, #0x63
strb r0, [r2, r1]
b _02029DD0
_02029DCC:
mov r0, #0x0
pop {r4-r6, pc}
_02029DD0:
mov r0, #0x1
pop {r4-r6, pc}
thumb_func_start FUN_02029DD4
FUN_02029DD4: ; 0x02029DD4
push {r4-r6, lr}
add r5, r1, #0x0
sub r1, r5, #0x1
add r6, r0, #0x0
add r4, r2, #0x0
bl FUN_02029D14
sub r1, r5, #0x1
add r2, r6, r1
mov r1, #0x12
lsl r1, r1, #0x4
ldrb r1, [r2, r1]
add r0, r0, r1
cmp r4, #0x0
bge _02029DFE
add r0, r4, r1
bmi _02029DFA
mov r0, #0x1
pop {r4-r6, pc}
_02029DFA:
mov r0, #0x0
pop {r4-r6, pc}
_02029DFE:
add r0, r0, r4
cmp r0, #0x63
bgt _02029E08
mov r0, #0x1
pop {r4-r6, pc}
_02029E08:
mov r0, #0x0
pop {r4-r6, pc}
thumb_func_start FUN_02029E0C
FUN_02029E0C: ; 0x02029E0C
push {r4-r6, lr}
add r6, r0, #0x0
mov r5, #0x0
mov r4, #0x1
_02029E14:
add r0, r6, #0x0
add r1, r4, #0x0
bl FUN_02029E2C
cmp r0, #0x0
beq _02029E22
add r5, r5, #0x1
_02029E22:
add r4, r4, #0x1
cmp r4, #0x51
blt _02029E14
add r0, r5, #0x0
pop {r4-r6, pc}
thumb_func_start FUN_02029E2C
FUN_02029E2C: ; 0x02029E2C
push {r3-r5, lr}
add r5, r1, #0x0
sub r1, r5, #0x1
add r4, r0, #0x0
bl FUN_02029D14
sub r1, r5, #0x1
add r2, r4, r1
mov r1, #0x12
lsl r1, r1, #0x4
ldrb r1, [r2, r1]
add r0, r0, r1
pop {r3-r5, pc}
.balign 4

76
arm9/asm/unk_02029E48.s Normal file
View File

@@ -0,0 +1,76 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_02029E48
FUN_02029E48: ; 0x02029E48
mov r1, #0x0
strh r1, [r0, #0x0]
strb r1, [r0, #0x2]
strb r1, [r0, #0x3]
bx lr
.balign 4
thumb_func_start FUN_02029E54
FUN_02029E54: ; 0x02029E54
push {r3-r7, lr}
add r5, r0, #0x0
ldrh r6, [r5, #0x0]
ldr r0, _02029EB8 ; =0x000003E7
cmp r6, r0
bne _02029E6C
ldrb r0, [r5, #0x2]
cmp r0, #0x3b
bne _02029E6C
ldrb r0, [r5, #0x3]
cmp r0, #0x3b
beq _02029EB4
_02029E6C:
ldrb r0, [r5, #0x3]
ldrb r4, [r5, #0x2]
add r7, r0, r1
cmp r7, #0x3b
bls _02029EAE
add r0, r7, #0x0
mov r1, #0x3c
bl _u32_div_f
add r4, r4, r0
add r0, r7, #0x0
mov r1, #0x3c
bl _u32_div_f
add r7, r1, #0x0
cmp r4, #0x3b
bls _02029EAE
add r0, r4, #0x0
mov r1, #0x3c
bl _u32_div_f
add r6, r6, r0
add r0, r4, #0x0
mov r1, #0x3c
bl _u32_div_f
ldr r0, _02029EB8 ; =0x000003E7
add r4, r1, #0x0
cmp r6, r0
blo _02029EAE
mov r4, #0x3b
add r6, r0, #0x0
add r7, r4, #0x0
_02029EAE:
strh r6, [r5, #0x0]
strb r4, [r5, #0x2]
strb r7, [r5, #0x3]
_02029EB4:
pop {r3-r7, pc}
nop
_02029EB8: .word 0x000003E7
thumb_func_start FUN_02029EBC
FUN_02029EBC: ; 0x02029EBC
ldrh r0, [r0, #0x0]
bx lr
thumb_func_start FUN_02029EC0
FUN_02029EC0: ; 0x02029EC0
ldrb r0, [r0, #0x2]
bx lr

149
arm9/asm/unk_02029EC4.s Normal file
View File

@@ -0,0 +1,149 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_02029EC4
FUN_02029EC4: ; 0x02029EC4
mov r0, #0xfb
lsl r0, r0, #0x2
bx lr
.balign 4
thumb_func_start FUN_02029ECC
FUN_02029ECC: ; 0x02029ECC
push {r4, lr}
add r4, r0, #0x0
mov r2, #0xfb
mov r0, #0x0
add r1, r4, #0x0
lsl r2, r2, #0x2
bl MIi_CpuClear32
mov r0, #0x0
str r0, [r4, #0x0]
pop {r4, pc}
.balign 4
thumb_func_start FUN_02029EE4
FUN_02029EE4: ; 0x02029EE4
push {r4, lr}
mov r1, #0xfb
lsl r1, r1, #0x2
bl FUN_02016998
add r4, r0, #0x0
bl FUN_02029ECC
add r0, r4, #0x0
pop {r4, pc}
thumb_func_start FUN_02029EF8
FUN_02029EF8: ; 0x02029EF8
ldr r3, _02029F00 ; =FUN_02022610
mov r1, #0x16
bx r3
nop
_02029F00: .word FUN_02022610
thumb_func_start FUN_02029F04
FUN_02029F04: ; 0x02029F04
ldr r0, [r0, #0x0]
bx lr
thumb_func_start FUN_02029F08
FUN_02029F08: ; 0x02029F08
mov r1, #0x0
str r1, [r0, #0x0]
bx lr
.balign 4
thumb_func_start FUN_02029F10
FUN_02029F10: ; 0x02029F10
add r0, r0, #0x4
bx lr
thumb_func_start FUN_02029F14
FUN_02029F14: ; 0x02029F14
push {r4-r7}
mov r5, #0x0
mov r2, #0xfa
add r4, r5, #0x0
mov r6, #0xf
lsl r2, r2, #0x2
_02029F20:
ldrsb r7, [r1, r4]
add r3, r0, r5
and r7, r6
lsl r7, r7, #0x18
lsr r7, r7, #0x18
sub r7, #0x8
lsl r7, r7, #0x18
asr r7, r7, #0x14
strb r7, [r0, r5]
ldrsb r7, [r1, r4]
add r4, r4, #0x1
add r5, r5, #0x2
lsl r7, r7, #0x14
lsr r7, r7, #0x18
sub r7, #0x8
lsl r7, r7, #0x18
asr r7, r7, #0x14
strb r7, [r3, #0x1]
cmp r4, r2
blt _02029F20
pop {r4-r7}
bx lr
thumb_func_start FUN_02029F4C
FUN_02029F4C: ; 0x02029F4C
push {r4-r7}
add r3, r0, #0x0
add r2, r1, #0x0
mov r0, #0x1
mov r1, #0x0
str r0, [r3, #0x0]
add r0, r1, #0x0
_02029F5A:
ldrsb r4, [r2, r0]
add r6, r3, r1
add r7, r2, r0
asr r5, r4, #0x3
lsr r5, r5, #0x1c
add r5, r4, r5
lsl r4, r5, #0x14
asr r4, r4, #0x18
add r4, #0x8
strb r4, [r6, #0x4]
mov r4, #0x4
ldrsb r5, [r6, r4]
mov r4, #0x1
ldrsb r4, [r7, r4]
add r0, r0, #0x2
add r1, r1, #0x1
asr r7, r4, #0x3
lsr r7, r7, #0x1c
add r7, r4, r7
lsl r4, r7, #0x14
asr r4, r4, #0x18
add r4, #0x8
lsl r4, r4, #0x18
lsr r4, r4, #0x14
orr r4, r5
strb r4, [r6, #0x4]
mov r4, #0x7d
lsl r4, r4, #0x4
cmp r0, r4
blt _02029F5A
pop {r4-r7}
bx lr
.balign 4
thumb_func_start FUN_02029F9C
FUN_02029F9C: ; 0x02029F9C
add r2, r0, #0x0
add r0, r1, #0x0
add r1, r2, #0x0
mov r2, #0xfb
ldr r3, _02029FAC ; =MIi_CpuCopyFast
lsl r2, r2, #0x2
bx r3
nop
_02029FAC: .word MIi_CpuCopyFast

311
arm9/asm/unk_02029FB0.s Normal file
View File

@@ -0,0 +1,311 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_02029FB0
FUN_02029FB0: ; 0x02029FB0
mov r0, #0x53
lsl r0, r0, #0x2
bx lr
.balign 4
thumb_func_start FUN_02029FB8
FUN_02029FB8: ; 0x02029FB8
ldr r3, _02029FC4 ; =MIi_CpuClear32
mov r2, #0x53
add r1, r0, #0x0
mov r0, #0x0
lsl r2, r2, #0x2
bx r3
.balign 4
_02029FC4: .word MIi_CpuClear32
thumb_func_start FUN_02029FC8
FUN_02029FC8: ; 0x02029FC8
ldr r3, _02029FD0 ; =FUN_02022610
mov r1, #0x14
bx r3
nop
_02029FD0: .word FUN_02022610
thumb_func_start FUN_02029FD4
FUN_02029FD4: ; 0x02029FD4
push {r3, lr}
cmp r1, #0x2c
bge _02029FE0
lsl r1, r1, #0x2
ldr r0, [r0, r1]
pop {r3, pc}
_02029FE0:
cmp r1, #0x79
bge _02029FF0
sub r1, #0x2c
lsl r1, r1, #0x1
add r0, r0, r1
add r0, #0xb0
ldrh r0, [r0, #0x0]
pop {r3, pc}
_02029FF0:
bl ErrorHandling
mov r0, #0x0
pop {r3, pc}
thumb_func_start FUN_02029FF8
FUN_02029FF8: ; 0x02029FF8
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
cmp r4, #0x2c
bge _0202A008
lsl r0, r4, #0x2
str r2, [r5, r0]
b _0202A01E
_0202A008:
cmp r4, #0x79
bge _0202A01A
add r0, r4, #0x0
sub r0, #0x2c
lsl r0, r0, #0x1
add r0, r5, r0
add r0, #0xb0
strh r2, [r0, #0x0]
b _0202A01E
_0202A01A:
bl ErrorHandling
_0202A01E:
add r0, r5, #0x0
add r1, r4, #0x0
bl FUN_02029FD4
pop {r3-r5, pc}
thumb_func_start FUN_0202A028
FUN_0202A028: ; 0x0202A028
push {r3, lr}
cmp r0, #0x2c
bge _0202A03E
ldr r1, _0202A05C ; =0x02105CD8
ldrb r0, [r1, r0]
cmp r0, #0x0
beq _0202A03A
ldr r0, _0202A060 ; =0x3B9AC9FF
pop {r3, pc}
_0202A03A:
ldr r0, _0202A064 ; =0x000F423F
pop {r3, pc}
_0202A03E:
cmp r0, #0x79
bge _0202A052
ldr r1, _0202A05C ; =0x02105CD8
ldrb r0, [r1, r0]
cmp r0, #0x0
beq _0202A04E
ldr r0, _0202A068 ; =0x0000FFFF
pop {r3, pc}
_0202A04E:
ldr r0, _0202A06C ; =0x0000270F
pop {r3, pc}
_0202A052:
bl ErrorHandling
mov r0, #0x0
pop {r3, pc}
nop
_0202A05C: .word 0x02105CD8
_0202A060: .word 0x3B9AC9FF
_0202A064: .word 0x000F423F
_0202A068: .word 0x0000FFFF
_0202A06C: .word 0x0000270F
thumb_func_start FUN_0202A070
FUN_0202A070: ; 0x0202A070
lsl r1, r0, #0x1
ldr r0, _0202A078 ; =0x020EEA7C
ldrh r0, [r0, r1]
bx lr
.balign 4
_0202A078: .word 0x020EEA7C
thumb_func_start FUN_0202A07C
FUN_0202A07C: ; 0x0202A07C
push {r4-r6, lr}
add r5, r1, #0x0
add r6, r0, #0x0
add r0, r5, #0x0
add r4, r2, #0x0
bl FUN_0202A028
add r2, r0, #0x0
cmp r4, r2
bhs _0202A09C
add r0, r6, #0x0
add r1, r5, #0x0
add r2, r4, #0x0
bl FUN_02029FF8
pop {r4-r6, pc}
_0202A09C:
add r0, r6, #0x0
add r1, r5, #0x0
bl FUN_02029FF8
pop {r4-r6, pc}
.balign 4
thumb_func_start FUN_0202A0A8
FUN_0202A0A8: ; 0x0202A0A8
push {r3-r7, lr}
add r6, r1, #0x0
add r7, r0, #0x0
add r0, r6, #0x0
add r5, r2, #0x0
bl FUN_0202A028
add r4, r0, #0x0
add r0, r7, #0x0
add r1, r6, #0x0
bl FUN_02029FD4
cmp r5, r4
bls _0202A0C6
add r5, r4, #0x0
_0202A0C6:
cmp r0, r5
bhs _0202A0D6
add r0, r7, #0x0
add r1, r6, #0x0
add r2, r5, #0x0
bl FUN_02029FF8
pop {r3-r7, pc}
_0202A0D6:
cmp r0, r4
bls _0202A0E4
add r0, r7, #0x0
add r1, r6, #0x0
add r2, r4, #0x0
bl FUN_02029FF8
_0202A0E4:
pop {r3-r7, pc}
.balign 4
thumb_func_start FUN_0202A0E8
FUN_0202A0E8: ; 0x0202A0E8
push {r4-r6, lr}
add r6, r1, #0x0
add r5, r0, #0x0
add r0, r6, #0x0
bl FUN_0202A028
add r4, r0, #0x0
add r0, r5, #0x0
add r1, r6, #0x0
bl FUN_02029FD4
add r2, r0, #0x1
cmp r2, r4
bhs _0202A10E
add r0, r5, #0x0
add r1, r6, #0x0
bl FUN_02029FF8
pop {r4-r6, pc}
_0202A10E:
add r0, r5, #0x0
add r1, r6, #0x0
add r2, r4, #0x0
bl FUN_02029FF8
pop {r4-r6, pc}
.balign 4
thumb_func_start FUN_0202A11C
FUN_0202A11C: ; 0x0202A11C
push {r3-r7, lr}
add r4, r1, #0x0
add r5, r0, #0x0
add r0, r4, #0x0
add r7, r2, #0x0
bl FUN_0202A028
add r6, r0, #0x0
add r0, r5, #0x0
add r1, r4, #0x0
bl FUN_02029FD4
add r2, r0, r7
cmp r2, r6
bhs _0202A144
add r0, r5, #0x0
add r1, r4, #0x0
bl FUN_02029FF8
pop {r3-r7, pc}
_0202A144:
add r0, r5, #0x0
add r1, r4, #0x0
add r2, r6, #0x0
bl FUN_02029FF8
pop {r3-r7, pc}
thumb_func_start FUN_0202A150
FUN_0202A150: ; 0x0202A150
push {r4-r6, lr}
add r6, r1, #0x0
add r5, r0, #0x0
add r0, r6, #0x0
bl FUN_0202A028
add r4, r0, #0x0
add r0, r5, #0x0
add r1, r6, #0x0
bl FUN_02029FD4
cmp r0, r4
bhi _0202A16C
add r4, r0, #0x0
_0202A16C:
add r0, r4, #0x0
pop {r4-r6, pc}
thumb_func_start FUN_0202A170
FUN_0202A170: ; 0x0202A170
push {r4-r6, lr}
add r4, r1, #0x0
add r5, r0, #0x0
cmp r4, #0x26
blt _0202A17E
bl ErrorHandling
_0202A17E:
add r0, r5, #0x0
mov r1, #0x0
bl FUN_0202A150
add r6, r0, #0x0
add r0, r4, #0x0
bl FUN_0202A070
ldr r2, _0202A1B4 ; =0x05F5E0FF
add r0, r6, r0
cmp r0, r2
bls _0202A1A0
add r0, r5, #0x0
mov r1, #0x0
bl FUN_0202A07C
pop {r4-r6, pc}
_0202A1A0:
add r0, r4, #0x0
bl FUN_0202A070
add r2, r0, #0x0
add r0, r5, #0x0
mov r1, #0x0
bl FUN_0202A11C
pop {r4-r6, pc}
nop
_0202A1B4: .word 0x05F5E0FF
thumb_func_start FUN_0202A1B8
FUN_0202A1B8: ; 0x0202A1B8
ldr r3, _0202A1C0 ; =FUN_0202A150
mov r1, #0x0
bx r3
nop
_0202A1C0: .word FUN_0202A150
thumb_func_start FUN_0202A1C4
FUN_0202A1C4: ; 0x0202A1C4
push {r4, lr}
add r4, r0, #0x0
add r0, r1, #0x0
add r1, r2, #0x0
bl FUN_02024594
cmp r0, #0x0
bne _0202A1DC
add r0, r4, #0x0
mov r1, #0x16
bl FUN_0202A170
_0202A1DC:
pop {r4, pc}
.balign 4

1053
arm9/asm/unk_0202A1E0.s Normal file

File diff suppressed because it is too large Load Diff

36
arm9/asm/unk_0202A8F4.s Normal file
View File

@@ -0,0 +1,36 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_0202A8F4
FUN_0202A8F4: ; 0x0202A8F4
mov r0, #0xe
bx lr
thumb_func_start FUN_0202A8F8
FUN_0202A8F8: ; 0x0202A8F8
mov r1, #0x0
strb r1, [r0, #0x0]
strb r1, [r0, #0x1]
strb r1, [r0, #0x2]
strb r1, [r0, #0x3]
strb r1, [r0, #0x4]
strb r1, [r0, #0x5]
strb r1, [r0, #0x6]
strb r1, [r0, #0x7]
strb r1, [r0, #0x8]
strb r1, [r0, #0x9]
strb r1, [r0, #0xa]
strb r1, [r0, #0xb]
strb r1, [r0, #0xc]
strb r1, [r0, #0xd]
bx lr
thumb_func_start FUN_0202A918
FUN_0202A918: ; 0x0202A918
ldr r3, _0202A920 ; =FUN_02022610
mov r1, #0x18
bx r3
nop
_0202A920: .word FUN_02022610

436
arm9/asm/unk_0202A924.s Normal file
View File

@@ -0,0 +1,436 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_0202A924
FUN_0202A924: ; 0x0202A924
mov r0, #0x45
lsl r0, r0, #0x2
bx lr
.balign 4
thumb_func_start FUN_0202A92C
FUN_0202A92C: ; 0x0202A92C
push {r4, lr}
mov r2, #0x45
add r4, r0, #0x0
mov r1, #0x0
lsl r2, r2, #0x2
bl memset
bl rand_MT
str r0, [r4, #0x0]
bl rand_MT
str r0, [r4, #0x4]
mov r1, #0x0
add r3, r4, #0x0
ldr r0, _0202A980 ; =0x0000FFFF
str r1, [r4, #0x8]
strh r0, [r4, #0xc]
strh r0, [r4, #0xe]
mov r0, #0x15
add r3, #0x10
strb r0, [r4, #0x10]
add r2, r1, #0x0
_0202A95A:
str r2, [r3, #0x4]
strb r2, [r3, #0x8]
strb r2, [r3, #0x9]
strb r2, [r3, #0xa]
strb r2, [r3, #0xb]
add r1, r1, #0x1
add r3, #0x8
cmp r1, #0x15
blt _0202A95A
ldr r0, _0202A984 ; =0x0000010F
strb r2, [r4, r0]
add r1, r0, #0x1
strb r2, [r4, r1]
add r1, r0, #0x2
strb r2, [r4, r1]
add r0, r0, #0x3
strb r2, [r4, r0]
pop {r4, pc}
nop
_0202A980: .word 0x0000FFFF
_0202A984: .word 0x0000010F
thumb_func_start FUN_0202A988
FUN_0202A988: ; 0x0202A988
str r1, [r0, #0x0]
str r1, [r0, #0x4]
bx lr
.balign 4
thumb_func_start FUN_0202A990
FUN_0202A990: ; 0x0202A990
push {r3, lr}
cmp r1, #0x1
beq _0202A99C
cmp r1, #0x2
beq _0202A9A0
b _0202A9A4
_0202A99C:
ldr r0, [r0, #0x0]
pop {r3, pc}
_0202A9A0:
ldr r0, [r0, #0x4]
pop {r3, pc}
_0202A9A4:
bl ErrorHandling
mov r0, #0x0
pop {r3, pc}
thumb_func_start FUN_0202A9AC
FUN_0202A9AC: ; 0x0202A9AC
add r0, #0xbc
bx lr
thumb_func_start FUN_0202A9B0
FUN_0202A9B0: ; 0x0202A9B0
ldr r3, _0202A9B8 ; =FUN_02022610
mov r1, #0x19
bx r3
nop
_0202A9B8: .word FUN_02022610
thumb_func_start FUN_0202A9BC
FUN_0202A9BC: ; 0x0202A9BC
add r0, #0x10
bx lr
thumb_func_start FUN_0202A9C0
FUN_0202A9C0: ; 0x0202A9C0
ldrb r0, [r0, #0x0]
bx lr
thumb_func_start FUN_0202A9C4
FUN_0202A9C4: ; 0x0202A9C4
strb r0, [r1, #0x0]
bx lr
thumb_func_start FUN_0202A9C8
FUN_0202A9C8: ; 0x0202A9C8
add r1, r1, #0x4
lsl r0, r0, #0x3
add r0, r1, r0
bx lr
thumb_func_start FUN_0202A9D0
FUN_0202A9D0: ; 0x0202A9D0
push {r3-r7, lr}
add r5, r1, #0x0
bl FUN_0202A9B0
add r6, r0, #0x0
mov r4, #0x0
add r6, #0x10
add r7, r4, #0x0
_0202A9E0:
lsl r0, r4, #0x18
lsr r0, r0, #0x18
add r1, r6, #0x0
bl FUN_0202A9C8
ldr r1, [r0, #0x0]
cmp r1, #0x0
beq _0202A9F8
sub r1, r1, r5
str r1, [r0, #0x0]
bpl _0202A9F8
str r7, [r0, #0x0]
_0202A9F8:
add r4, r4, #0x1
cmp r4, #0x15
blt _0202A9E0
pop {r3-r7, pc}
thumb_func_start FUN_0202AA00
FUN_0202AA00: ; 0x0202AA00
push {r3, lr}
bl FUN_0202A9B0
ldr r1, _0202AA10 ; =0x0000010F
mov r2, #0x1
strb r2, [r0, r1]
pop {r3, pc}
nop
_0202AA10: .word 0x0000010F
thumb_func_start FUN_0202AA14
FUN_0202AA14: ; 0x0202AA14
ldr r1, _0202AA1C ; =0x0000010F
ldrb r0, [r0, r1]
bx lr
nop
_0202AA1C: .word 0x0000010F
thumb_func_start FUN_0202AA20
FUN_0202AA20: ; 0x0202AA20
add r2, r0, #0x0
add r2, #0xc8
ldr r3, [r2, #0x0]
cmp r3, r1
beq _0202AA34
add r2, r0, #0x0
add r2, #0xcc
str r3, [r2, #0x0]
add r0, #0xc8
str r1, [r0, #0x0]
_0202AA34:
bx lr
.balign 4
thumb_func_start FUN_0202AA38
FUN_0202AA38: ; 0x0202AA38
add r0, #0xcc
ldr r0, [r0, #0x0]
bx lr
.balign 4
thumb_func_start FUN_0202AA40
FUN_0202AA40: ; 0x0202AA40
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
cmp r4, #0x3
blo _0202AA4E
bl ErrorHandling
_0202AA4E:
mov r0, #0x43
add r1, r5, r4
lsl r0, r0, #0x2
ldrb r0, [r1, r0]
pop {r3-r5, pc}
thumb_func_start FUN_0202AA58
FUN_0202AA58: ; 0x0202AA58
push {r4-r6, lr}
add r4, r1, #0x0
add r5, r0, #0x0
add r6, r2, #0x0
cmp r4, #0x3
blo _0202AA68
bl ErrorHandling
_0202AA68:
mov r0, #0x43
add r1, r5, r4
lsl r0, r0, #0x2
strb r6, [r1, r0]
pop {r4-r6, pc}
.balign 4
thumb_func_start FUN_0202AA74
FUN_0202AA74: ; 0x0202AA74
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
cmp r4, #0x3
blo _0202AA82
bl ErrorHandling
_0202AA82:
mov r0, #0x14
mul r0, r4
add r0, r5, r0
add r0, #0xe2
ldrb r0, [r0, #0x0]
pop {r3-r5, pc}
.balign 4
thumb_func_start FUN_0202AA90
FUN_0202AA90: ; 0x0202AA90
ldr r2, [r0, #0x0]
mov r1, #0x14
mov r0, #0x0
_0202AA96:
strb r0, [r2, #0x0]
add r2, r2, #0x1
sub r1, r1, #0x1
bne _0202AA96
bx lr
thumb_func_start FUN_0202AAA0
FUN_0202AAA0: ; 0x0202AAA0
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
cmp r4, #0x3
blo _0202AAAE
bl ErrorHandling
_0202AAAE:
mov r0, #0x14
add r5, #0xd0
mul r0, r4
add r0, r5, r0
pop {r3-r5, pc}
thumb_func_start FUN_0202AAB8
FUN_0202AAB8: ; 0x0202AAB8
cmp r1, #0x8
bhi _0202AAF8
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #0x6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0202AAC8: ; jump table (using 16-bit offset)
.short _0202AAF8 - _0202AAC8 - 2; case 0
.short _0202AADA - _0202AAC8 - 2; case 1
.short _0202AADE - _0202AAC8 - 2; case 2
.short _0202AAE2 - _0202AAC8 - 2; case 3
.short _0202AAE6 - _0202AAC8 - 2; case 4
.short _0202AAEA - _0202AAC8 - 2; case 5
.short _0202AAEE - _0202AAC8 - 2; case 6
.short _0202AAF2 - _0202AAC8 - 2; case 7
.short _0202AAF6 - _0202AAC8 - 2; case 8
_0202AADA:
ldr r0, [r0, #0x0]
bx lr
_0202AADE:
ldr r0, [r0, #0x4]
bx lr
_0202AAE2:
ldr r0, [r0, #0x8]
bx lr
_0202AAE6:
ldrh r0, [r0, #0xc]
bx lr
_0202AAEA:
ldrh r0, [r0, #0xe]
bx lr
_0202AAEE:
ldrb r0, [r0, #0x10]
bx lr
_0202AAF2:
ldrb r0, [r0, #0x11]
bx lr
_0202AAF6:
ldrb r0, [r0, #0x12]
_0202AAF8:
bx lr
.balign 4
thumb_func_start FUN_0202AAFC
FUN_0202AAFC: ; 0x0202AAFC
cmp r1, #0x8
bhi _0202AB3C
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #0x6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0202AB0C: ; jump table (using 16-bit offset)
.short _0202AB3C - _0202AB0C - 2; case 0
.short _0202AB1E - _0202AB0C - 2; case 1
.short _0202AB22 - _0202AB0C - 2; case 2
.short _0202AB26 - _0202AB0C - 2; case 3
.short _0202AB2A - _0202AB0C - 2; case 4
.short _0202AB2E - _0202AB0C - 2; case 5
.short _0202AB32 - _0202AB0C - 2; case 6
.short _0202AB36 - _0202AB0C - 2; case 7
.short _0202AB3A - _0202AB0C - 2; case 8
_0202AB1E:
str r2, [r0, #0x0]
bx lr
_0202AB22:
str r2, [r0, #0x4]
bx lr
_0202AB26:
str r2, [r0, #0x8]
bx lr
_0202AB2A:
strh r2, [r0, #0xc]
bx lr
_0202AB2E:
strh r2, [r0, #0xe]
bx lr
_0202AB32:
strb r2, [r0, #0x10]
bx lr
_0202AB36:
strb r2, [r0, #0x11]
bx lr
_0202AB3A:
strb r2, [r0, #0x12]
_0202AB3C:
bx lr
.balign 4
thumb_func_start FUN_0202AB40
FUN_0202AB40: ; 0x0202AB40
ldr r1, _0202AB48 ; =0x00000111
add r0, r0, r1
bx lr
nop
_0202AB48: .word 0x00000111
thumb_func_start FUN_0202AB4C
FUN_0202AB4C: ; 0x0202AB4C
mov r1, #0x11
lsl r1, r1, #0x4
add r0, r0, r1
bx lr
thumb_func_start FUN_0202AB54
FUN_0202AB54: ; 0x0202AB54
mov r1, #0x11
lsl r1, r1, #0x4
ldrb r0, [r0, r1]
cmp r0, #0x0
bne _0202AB62
mov r0, #0x1
bx lr
_0202AB62:
mov r0, #0x0
bx lr
.balign 4
thumb_func_start FUN_0202AB68
FUN_0202AB68: ; 0x0202AB68
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
cmp r4, #0x2
bls _0202AB76
bl ErrorHandling
_0202AB76:
ldr r0, _0202AB7C ; =0x00000112
strb r4, [r5, r0]
pop {r3-r5, pc}
.balign 4
_0202AB7C: .word 0x00000112
thumb_func_start FUN_0202AB80
FUN_0202AB80: ; 0x0202AB80
ldr r1, _0202AB88 ; =0x00000112
ldrb r0, [r0, r1]
bx lr
nop
_0202AB88: .word 0x00000112
thumb_func_start FUN_0202AB8C
FUN_0202AB8C: ; 0x0202AB8C
push {r3-r5, lr}
add r5, r1, #0x0
add r4, r2, #0x0
bl FUN_0202A9B0
ldrh r1, [r0, #0xc]
strh r1, [r5, #0x0]
ldrh r0, [r0, #0xe]
strh r0, [r4, #0x0]
pop {r3-r5, pc}
thumb_func_start FUN_0202ABA0
FUN_0202ABA0: ; 0x0202ABA0
push {r3-r5, lr}
add r5, r1, #0x0
bl FUN_0202A9B0
add r4, r0, #0x0
cmp r5, #0x10
blo _0202ABB2
bl ErrorHandling
_0202ABB2:
ldrh r0, [r4, #0xc]
strh r0, [r4, #0xe]
strh r5, [r4, #0xc]
pop {r3-r5, pc}
.balign 4

81
arm9/asm/unk_0202ABBC.s Normal file
View File

@@ -0,0 +1,81 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_0202ABBC
FUN_0202ABBC: ; 0x0202ABBC
ldr r3, _0202ABC4 ; =FUN_02022610
mov r1, #0x1a
bx r3
nop
_0202ABC4: .word FUN_02022610
thumb_func_start FUN_0202ABC8
FUN_0202ABC8: ; 0x0202ABC8
mov r0, #0xf4
bx lr
thumb_func_start FUN_0202ABCC
FUN_0202ABCC: ; 0x0202ABCC
ldr r3, _0202ABD8 ; =MIi_CpuClearFast
add r1, r0, #0x0
mov r0, #0x0
mov r2, #0xf4
bx r3
nop
_0202ABD8: .word MIi_CpuClearFast
thumb_func_start FUN_0202ABDC
FUN_0202ABDC: ; 0x0202ABDC
add r0, #0xec
ldrh r0, [r0, #0x0]
bx lr
.balign 4
thumb_func_start FUN_0202ABE4
FUN_0202ABE4: ; 0x0202ABE4
add r0, #0xec
strh r1, [r0, #0x0]
bx lr
.balign 4
thumb_func_start FUN_0202ABEC
FUN_0202ABEC: ; 0x0202ABEC
ldr r3, _0202ABF4 ; =MIi_CpuCopyFast
mov r2, #0xec
bx r3
nop
_0202ABF4: .word MIi_CpuCopyFast
thumb_func_start FUN_0202ABF8
FUN_0202ABF8: ; 0x0202ABF8
ldr r3, _0202AC04 ; =MIi_CpuCopyFast
add r2, r0, #0x0
add r0, r1, #0x0
add r1, r2, #0x0
mov r2, #0xec
bx r3
.balign 4
_0202AC04: .word MIi_CpuCopyFast
thumb_func_start FUN_0202AC08
FUN_0202AC08: ; 0x0202AC08
add r0, #0xf0
ldr r0, [r0, #0x0]
bx lr
.balign 4
thumb_func_start FUN_0202AC10
FUN_0202AC10: ; 0x0202AC10
add r0, #0xf0
str r1, [r0, #0x0]
bx lr
.balign 4
thumb_func_start FUN_0202AC18
FUN_0202AC18: ; 0x0202AC18
add r0, #0xee
ldrh r0, [r0, #0x0]
bx lr
.balign 4

606
arm9/asm/unk_0202AC20.s Normal file
View File

@@ -0,0 +1,606 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_0202AC20
FUN_0202AC20: ; 0x0202AC20
ldr r0, _0202AC24 ; =0x00001354
bx lr
.balign 4
_0202AC24: .word 0x00001354
thumb_func_start FUN_0202AC28
FUN_0202AC28: ; 0x0202AC28
bx lr
.balign 4
thumb_func_start FUN_0202AC2C
FUN_0202AC2C: ; 0x0202AC2C
push {r4-r6, lr}
add r4, r1, #0x0
add r5, r0, #0x0
cmp r4, #0x8
blt _0202AC3A
bl ErrorHandling
_0202AC3A:
mov r0, #0x1
lsl r0, r0, #0x8
add r6, r5, r0
lsl r3, r4, #0x2
ldr r2, [r6, r3]
ldr r1, _0202AC60 ; =0xEDB88320
cmp r2, r1
bne _0202AC58
add r0, #0x2c
add r1, r5, r0
lsl r0, r4, #0x6
add r0, r4, r0
lsl r0, r0, #0x2
add r0, r1, r0
pop {r4-r6, pc}
_0202AC58:
mov r0, #0x0
str r0, [r6, r3]
pop {r4-r6, pc}
nop
_0202AC60: .word 0xEDB88320
thumb_func_start FUN_0202AC64
FUN_0202AC64: ; 0x0202AC64
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
cmp r4, #0x3
blt _0202AC72
bl ErrorHandling
_0202AC72:
lsl r0, r4, #0x2
add r1, r5, r0
mov r0, #0x12
lsl r0, r0, #0x4
ldr r0, [r1, r0]
cmp r0, #0x0
beq _0202AC8E
ldr r0, _0202AC94 ; =0x0000094C
add r1, r5, r0
mov r0, #0xd6
lsl r0, r0, #0x2
mul r0, r4
add r0, r1, r0
pop {r3-r5, pc}
_0202AC8E:
mov r0, #0x0
pop {r3-r5, pc}
nop
_0202AC94: .word 0x0000094C
thumb_func_start FUN_0202AC98
FUN_0202AC98: ; 0x0202AC98
push {r3-r7, lr}
add r5, r0, #0x0
str r1, [sp, #0x0]
add r7, r2, #0x0
bl FUN_0202ADF0
cmp r0, #0x0
bne _0202ACAC
mov r0, #0x0
pop {r3-r7, pc}
_0202ACAC:
mov r0, #0x1
mov r4, #0x0
add r2, r5, #0x0
lsl r0, r0, #0x8
_0202ACB4:
ldr r1, [r2, r0]
cmp r1, #0x0
bne _0202ACF6
lsl r0, r4, #0x6
mov r2, #0x4b
add r0, r4, r0
lsl r2, r2, #0x2
lsl r6, r0, #0x2
add r1, r5, r2
ldr r0, [sp, #0x0]
add r1, r1, r6
sub r2, #0x28
bl MI_CpuCopy8
lsl r0, r4, #0x2
add r1, r5, r0
mov r0, #0x1
ldr r2, _0202AD04 ; =0xEDB88320
lsl r0, r0, #0x8
str r2, [r1, r0]
add r0, #0x2e
add r1, r5, r0
ldrh r0, [r1, r6]
mov r2, #0x3
bic r0, r2
lsl r2, r7, #0x10
lsr r3, r2, #0x10
mov r2, #0x3
and r2, r3
orr r0, r2
strh r0, [r1, r6]
mov r0, #0x1
pop {r3-r7, pc}
_0202ACF6:
add r4, r4, #0x1
add r2, r2, #0x4
cmp r4, #0x8
blt _0202ACB4
mov r0, #0x0
pop {r3-r7, pc}
nop
_0202AD04: .word 0xEDB88320
thumb_func_start FUN_0202AD08
FUN_0202AD08: ; 0x0202AD08
push {r4-r6, lr}
add r5, r0, #0x0
add r6, r1, #0x0
bl FUN_0202AE0C
cmp r0, #0x0
bne _0202AD1A
mov r0, #0x0
pop {r4-r6, pc}
_0202AD1A:
ldr r0, _0202AD88 ; =0x00000152
ldrb r0, [r6, r0]
lsl r0, r0, #0x1c
lsr r0, r0, #0x1f
cmp r0, #0x1
bne _0202AD34
add r0, r5, #0x0
bl FUN_0202ADF0
cmp r0, #0x0
bne _0202AD34
mov r0, #0x0
pop {r4-r6, pc}
_0202AD34:
mov r0, #0x12
mov r4, #0x0
add r2, r5, #0x0
lsl r0, r0, #0x4
_0202AD3C:
ldr r1, [r2, r0]
cmp r1, #0x0
bne _0202AD7C
ldr r1, _0202AD8C ; =0x0000094C
mov r2, #0xd6
add r3, r5, r1
lsl r2, r2, #0x2
add r1, r4, #0x0
mul r1, r2
add r0, r6, #0x0
add r1, r3, r1
bl MI_CpuCopy8
lsl r0, r4, #0x2
add r1, r5, r0
mov r0, #0x12
ldr r2, _0202AD90 ; =0xEDB88320
lsl r0, r0, #0x4
str r2, [r1, r0]
add r0, #0x32
ldrb r0, [r6, r0]
lsl r0, r0, #0x1c
lsr r0, r0, #0x1f
cmp r0, #0x1
bne _0202AD78
add r0, r5, #0x0
add r1, r6, #0x0
add r2, r4, #0x1
bl FUN_0202AC98
_0202AD78:
mov r0, #0x1
pop {r4-r6, pc}
_0202AD7C:
add r4, r4, #0x1
add r2, r2, #0x4
cmp r4, #0x3
blt _0202AD3C
mov r0, #0x0
pop {r4-r6, pc}
.balign 4
_0202AD88: .word 0x00000152
_0202AD8C: .word 0x0000094C
_0202AD90: .word 0xEDB88320
thumb_func_start FUN_0202AD94
FUN_0202AD94: ; 0x0202AD94
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
sub r0, r4, #0x1
cmp r0, #0x8
blt _0202ADA4
bl ErrorHandling
_0202ADA4:
sub r4, r4, #0x1
lsl r0, r4, #0x2
add r1, r5, r0
mov r0, #0x1
mov r2, #0x0
lsl r0, r0, #0x8
str r2, [r1, r0]
add r0, #0x2e
add r3, r5, r0
lsl r0, r4, #0x6
add r0, r4, r0
lsl r2, r0, #0x2
ldrh r1, [r3, r2]
mov r0, #0x3
bic r1, r0
strh r1, [r3, r2]
mov r0, #0x1
pop {r3-r5, pc}
thumb_func_start FUN_0202ADC8
FUN_0202ADC8: ; 0x0202ADC8
push {r3-r5, lr}
add r4, r1, #0x0
add r5, r0, #0x0
cmp r4, #0x3
blt _0202ADD6
bl ErrorHandling
_0202ADD6:
lsl r0, r4, #0x2
add r1, r5, r0
mov r0, #0x12
mov r2, #0x0
lsl r0, r0, #0x4
str r2, [r1, r0]
add r0, r5, #0x0
add r1, r4, #0x1
bl FUN_0202AEC4
mov r0, #0x1
pop {r3-r5, pc}
.balign 4
thumb_func_start FUN_0202ADF0
FUN_0202ADF0: ; 0x0202ADF0
mov r1, #0x1
mov r3, #0x0
lsl r1, r1, #0x8
_0202ADF6:
ldr r2, [r0, r1]
cmp r2, #0x0
bne _0202AE00
mov r0, #0x1
bx lr
_0202AE00:
add r3, r3, #0x1
add r0, r0, #0x4
cmp r3, #0x8
blt _0202ADF6
mov r0, #0x0
bx lr
thumb_func_start FUN_0202AE0C
FUN_0202AE0C: ; 0x0202AE0C
mov r1, #0x12
mov r3, #0x0
lsl r1, r1, #0x4
_0202AE12:
ldr r2, [r0, r1]
cmp r2, #0x0
bne _0202AE1C
mov r0, #0x1
bx lr
_0202AE1C:
add r3, r3, #0x1
add r0, r0, #0x4
cmp r3, #0x3
blt _0202AE12
mov r0, #0x0
bx lr
thumb_func_start FUN_0202AE28
FUN_0202AE28: ; 0x0202AE28
push {r3-r5, lr}
add r5, r1, #0x0
add r4, r0, #0x0
cmp r5, #0x8
blt _0202AE36
bl ErrorHandling
_0202AE36:
lsl r0, r5, #0x2
add r1, r4, r0
mov r0, #0x1
lsl r0, r0, #0x8
ldr r0, [r1, r0]
cmp r0, #0x0
bne _0202AE48
mov r0, #0x0
pop {r3-r5, pc}
_0202AE48:
mov r0, #0x1
pop {r3-r5, pc}
thumb_func_start FUN_0202AE4C
FUN_0202AE4C: ; 0x0202AE4C
push {r3-r5, lr}
add r5, r1, #0x0
add r4, r0, #0x0
cmp r5, #0x3
blt _0202AE5A
bl ErrorHandling
_0202AE5A:
lsl r0, r5, #0x2
add r1, r4, r0
mov r0, #0x12
lsl r0, r0, #0x4
ldr r0, [r1, r0]
cmp r0, #0x0
bne _0202AE6C
mov r0, #0x0
pop {r3-r5, pc}
_0202AE6C:
mov r0, #0x1
pop {r3-r5, pc}
thumb_func_start FUN_0202AE70
FUN_0202AE70: ; 0x0202AE70
push {r3-r5, lr}
add r5, r0, #0x0
mov r4, #0x0
_0202AE76:
add r0, r5, #0x0
add r1, r4, #0x0
bl FUN_0202AE4C
cmp r0, #0x1
bne _0202AE86
mov r0, #0x1
pop {r3-r5, pc}
_0202AE86:
add r4, r4, #0x1
cmp r4, #0x3
blt _0202AE76
mov r0, #0x0
pop {r3-r5, pc}
thumb_func_start FUN_0202AE90
FUN_0202AE90: ; 0x0202AE90
push {r3-r4}
cmp r1, #0x0
beq _0202AEB8
ldr r2, _0202AEC0 ; =0x0000012E
mov r3, #0x0
add r4, r0, r2
add r0, r2, #0x0
sub r0, #0x2a
_0202AEA0:
ldrh r2, [r4, #0x0]
lsl r2, r2, #0x1e
lsr r2, r2, #0x1e
cmp r1, r2
bne _0202AEB0
mov r0, #0x1
pop {r3-r4}
bx lr
_0202AEB0:
add r3, r3, #0x1
add r4, r4, r0
cmp r3, #0x8
blt _0202AEA0
_0202AEB8:
mov r0, #0x0
pop {r3-r4}
bx lr
nop
_0202AEC0: .word 0x0000012E
thumb_func_start FUN_0202AEC4
FUN_0202AEC4: ; 0x0202AEC4
push {r3-r5, lr}
cmp r1, #0x0
beq _0202AEEE
ldr r3, _0202AEF0 ; =0x0000012E
mov r4, #0x41
mov r2, #0x0
add r3, r0, r3
lsl r4, r4, #0x2
_0202AED4:
ldrh r5, [r3, #0x0]
lsl r5, r5, #0x1e
lsr r5, r5, #0x1e
cmp r1, r5
bne _0202AEE6
add r1, r2, #0x1
bl FUN_0202AD94
pop {r3-r5, pc}
_0202AEE6:
add r2, r2, #0x1
add r3, r3, r4
cmp r2, #0x8
blt _0202AED4
_0202AEEE:
pop {r3-r5, pc}
.balign 4
_0202AEF0: .word 0x0000012E
thumb_func_start FUN_0202AEF4
FUN_0202AEF4: ; 0x0202AEF4
push {r3-r5, lr}
add r5, r0, #0x0
mov r0, #0x2
add r4, r1, #0x0
lsl r0, r0, #0xa
cmp r4, r0
blt _0202AF06
bl ErrorHandling
_0202AF06:
mov r0, #0x1
mov r1, #0x7
add r2, r4, #0x0
and r2, r1
add r1, r0, #0x0
lsl r1, r2
asr r2, r4, #0x2
lsr r2, r2, #0x1d
add r2, r4, r2
asr r2, r2, #0x3
ldrb r2, [r5, r2]
tst r1, r2
bne _0202AF22
mov r0, #0x0
_0202AF22:
pop {r3-r5, pc}
thumb_func_start FUN_0202AF24
FUN_0202AF24: ; 0x0202AF24
push {r3-r5, lr}
add r5, r0, #0x0
mov r0, #0x2
add r4, r1, #0x0
lsl r0, r0, #0xa
cmp r4, r0
blt _0202AF36
bl ErrorHandling
_0202AF36:
asr r0, r4, #0x2
lsr r0, r0, #0x1d
add r0, r4, r0
asr r0, r0, #0x3
mov r1, #0x7
ldrb r3, [r5, r0]
mov r2, #0x1
and r1, r4
lsl r2, r1
add r1, r3, #0x0
orr r1, r2
strb r1, [r5, r0]
pop {r3-r5, pc}
thumb_func_start FUN_0202AF50
FUN_0202AF50: ; 0x0202AF50
ldr r3, _0202AF58 ; =FUN_0202AEF4
ldr r1, _0202AF5C ; =0x000007FF
bx r3
nop
_0202AF58: .word FUN_0202AEF4
_0202AF5C: .word 0x000007FF
thumb_func_start FUN_0202AF60
FUN_0202AF60: ; 0x0202AF60
ldr r3, _0202AF68 ; =FUN_0202AF24
ldr r1, _0202AF6C ; =0x000007FF
bx r3
nop
_0202AF68: .word FUN_0202AF24
_0202AF6C: .word 0x000007FF
thumb_func_start FUN_0202AF70
FUN_0202AF70: ; 0x0202AF70
push {r3, lr}
ldr r1, _0202AF84 ; =0x021C59D4
ldr r1, [r1, #0x0]
cmp r1, #0x0
bne _0202AF82
bl FUN_0202251C
ldr r1, _0202AF84 ; =0x021C59D4
str r0, [r1, #0x0]
_0202AF82:
pop {r3, pc}
.balign 4
_0202AF84: .word 0x021C59D4
thumb_func_start FUN_0202AF88
FUN_0202AF88: ; 0x0202AF88
ldr r0, _0202AF98 ; =0x021C59D4
ldr r1, [r0, #0x0]
cmp r1, #0x0
beq _0202AF94
mov r1, #0x0
str r1, [r0, #0x0]
_0202AF94:
bx lr
nop
_0202AF98: .word 0x021C59D4
thumb_func_start FUN_0202AF9C
FUN_0202AF9C: ; 0x0202AF9C
push {r3-r5, lr}
ldr r4, _0202AFBC ; =0x021C59D4
mov r5, #0x0
_0202AFA2:
ldr r0, [r4, #0x0]
add r1, r5, #0x0
bl FUN_0202AE28
cmp r0, #0x1
bne _0202AFB2
add r0, r5, #0x1
pop {r3-r5, pc}
_0202AFB2:
add r5, r5, #0x1
cmp r5, #0x8
blt _0202AFA2
mov r0, #0x0
pop {r3-r5, pc}
.balign 4
_0202AFBC: .word 0x021C59D4
thumb_func_start FUN_0202AFC0
FUN_0202AFC0: ; 0x0202AFC0
push {r4, lr}
add r4, r0, #0x0
bne _0202AFCA
mov r0, #0x0
pop {r4, pc}
_0202AFCA:
sub r0, r4, #0x1
cmp r0, #0x8
blt _0202AFD4
bl ErrorHandling
_0202AFD4:
ldr r0, _0202AFF8 ; =0x021C59D4
sub r1, r4, #0x1
ldr r0, [r0, #0x0]
bl FUN_0202AE28
cmp r0, #0x1
bne _0202AFF4
ldr r0, _0202AFF8 ; =0x021C59D4
sub r1, r4, #0x1
ldr r0, [r0, #0x0]
bl FUN_0202AC2C
cmp r0, #0x0
beq _0202AFF4
ldrh r0, [r0, #0x0]
pop {r4, pc}
_0202AFF4:
mov r0, #0x0
pop {r4, pc}
.balign 4
_0202AFF8: .word 0x021C59D4
thumb_func_start FUN_0202AFFC
FUN_0202AFFC: ; 0x0202AFFC
cmp r0, #0x0
beq _0202B016
ldr r1, _0202B01C ; =0x021C59D4
ldr r2, [r1, #0x0]
mov r1, #0x13
lsl r1, r1, #0x4
add r2, r2, r1
sub r1, r0, #0x1
lsl r0, r1, #0x6
add r0, r1, r0
lsl r0, r0, #0x2
add r0, r2, r0
bx lr
_0202B016:
mov r0, #0x0
bx lr
nop
_0202B01C: .word 0x021C59D4
thumb_func_start FUN_0202B020
FUN_0202B020: ; 0x0202B020
add r1, r0, #0x0
ldr r0, _0202B02C ; =0x021C59D4
ldr r3, _0202B030 ; =FUN_0202AD94
ldr r0, [r0, #0x0]
bx r3
nop
_0202B02C: .word 0x021C59D4
_0202B030: .word FUN_0202AD94

425
arm9/asm/unk_0202B034.s Normal file
View File

@@ -0,0 +1,425 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_0202B034
FUN_0202B034: ; 0x0202B034
ldr r0, _0202B038 ; =0x00002AB0
bx lr
.balign 4
_0202B038: .word 0x00002AB0
thumb_func_start FUN_0202B03C
FUN_0202B03C: ; 0x0202B03C
ldr r3, _0202B048 ; =MIi_CpuClear32
add r1, r0, #0x0
mov r0, #0x0
ldr r2, _0202B04C ; =0x00002AB0
bx r3
nop
_0202B048: .word MIi_CpuClear32
_0202B04C: .word 0x00002AB0
thumb_func_start FUN_0202B050
FUN_0202B050: ; 0x0202B050
push {r3-r7, lr}
sub sp, #0x18
str r0, [sp, #0x0]
str r1, [sp, #0x4]
str r2, [sp, #0x8]
cmp r0, #0x0
bne _0202B062
bl ErrorHandling
_0202B062:
ldr r1, _0202B1E0 ; =0x00002AA8
ldr r0, [sp, #0x0]
ldr r0, [r0, r1]
cmp r0, #0x1e
blo _0202B070
bl ErrorHandling
_0202B070:
ldr r1, _0202B1E4 ; =0x00002AAC
ldr r0, [sp, #0x0]
ldr r2, [r0, r1]
ldr r0, _0202B1E8 ; =0x0000270F
cmp r2, r0
blo _0202B07E
b _0202B1DC
_0202B07E:
ldr r0, [sp, #0x0]
sub r1, r1, #0x4
ldr r1, [r0, r1]
mov r0, #0x5b
lsl r0, r0, #0x2
add r2, r1, #0x0
mul r2, r0
ldr r0, [sp, #0x0]
add r0, r0, r2
str r0, [sp, #0x14]
ldr r0, [sp, #0x4]
bl FUN_0206B9AC
str r0, [sp, #0x10]
mov r0, #0xb
mov r1, #0x0
bl FUN_020219F4
mov r2, #0x5a
add r6, r0, #0x0
ldr r1, [sp, #0x14]
mov r0, #0x0
lsl r2, r2, #0x2
bl MIi_CpuClear16
ldr r0, [sp, #0x10]
mov r7, #0x0
cmp r0, #0x0
ble _0202B18E
ldr r5, [sp, #0x14]
_0202B0BA:
ldr r0, [sp, #0x4]
add r1, r7, #0x0
bl FUN_0206B9B0
add r4, r0, #0x0
bl FUN_020669D4
str r0, [sp, #0xc]
add r0, r4, #0x0
mov r1, #0x4c
mov r2, #0x0
bl FUN_020671BC
cmp r0, #0x0
bne _0202B17E
add r0, r4, #0x0
mov r1, #0x5
mov r2, #0x0
bl FUN_020671BC
strh r0, [r5, #0x0]
add r0, r4, #0x0
mov r1, #0xa0
mov r2, #0x0
bl FUN_020671BC
strb r0, [r5, #0x2]
add r0, r4, #0x0
mov r1, #0x70
mov r2, #0x0
bl FUN_020671BC
mov r1, #0x0
strb r0, [r5, #0x3]
add r0, r4, #0x0
add r2, r1, #0x0
bl FUN_020671BC
str r0, [r5, #0x4]
add r0, r4, #0x0
mov r1, #0x7
mov r2, #0x0
bl FUN_020671BC
str r0, [r5, #0x8]
add r0, r4, #0x0
mov r1, #0x36
mov r2, #0x0
bl FUN_020671BC
strh r0, [r5, #0x32]
add r0, r4, #0x0
mov r1, #0x37
mov r2, #0x0
bl FUN_020671BC
strh r0, [r5, #0x34]
add r0, r4, #0x0
mov r1, #0x38
mov r2, #0x0
bl FUN_020671BC
strh r0, [r5, #0x36]
add r0, r4, #0x0
mov r1, #0x39
mov r2, #0x0
bl FUN_020671BC
strh r0, [r5, #0x38]
cmp r6, #0x0
beq _0202B176
add r0, r4, #0x0
mov r1, #0x76
add r2, r6, #0x0
bl FUN_020671BC
add r1, r5, #0x0
add r0, r6, #0x0
add r1, #0xc
mov r2, #0xb
bl FUN_02021EF0
add r0, r4, #0x0
mov r1, #0x90
add r2, r6, #0x0
bl FUN_020671BC
add r1, r5, #0x0
add r0, r6, #0x0
add r1, #0x22
mov r2, #0x8
bl FUN_02021EF0
b _0202B17C
_0202B176:
ldr r0, _0202B1EC ; =0x0000FFFF
strh r0, [r5, #0xc]
strh r0, [r5, #0x22]
_0202B17C:
add r5, #0x3c
_0202B17E:
ldr r1, [sp, #0xc]
add r0, r4, #0x0
bl FUN_02066A20
ldr r0, [sp, #0x10]
add r7, r7, #0x1
cmp r7, r0
blt _0202B0BA
_0202B18E:
ldr r0, [sp, #0x8]
mov r1, #0x5a
ldr r2, [r0, #0x0]
ldr r0, [sp, #0x14]
lsl r1, r1, #0x2
strh r2, [r0, r1]
ldr r0, [sp, #0x8]
add r2, r1, #0x2
ldr r3, [r0, #0x4]
ldr r0, [sp, #0x14]
add r1, r1, #0x3
strb r3, [r0, r2]
ldr r0, [sp, #0x8]
ldr r2, [r0, #0x8]
ldr r0, [sp, #0x14]
strb r2, [r0, r1]
ldr r1, _0202B1E0 ; =0x00002AA8
ldr r0, [sp, #0x0]
ldr r0, [r0, r1]
add r2, r0, #0x1
ldr r0, [sp, #0x0]
str r2, [r0, r1]
ldr r0, [r0, r1]
cmp r0, #0x1e
blo _0202B1C6
ldr r0, [sp, #0x0]
mov r2, #0x0
str r2, [r0, r1]
_0202B1C6:
ldr r1, _0202B1E4 ; =0x00002AAC
ldr r0, [sp, #0x0]
ldr r0, [r0, r1]
add r2, r0, #0x1
ldr r0, [sp, #0x0]
cmp r6, #0x0
str r2, [r0, r1]
beq _0202B1DC
add r0, r6, #0x0
bl FUN_02021A20
_0202B1DC:
add sp, #0x18
pop {r3-r7, pc}
.balign 4
_0202B1E0: .word 0x00002AA8
_0202B1E4: .word 0x00002AAC
_0202B1E8: .word 0x0000270F
_0202B1EC: .word 0x0000FFFF
thumb_func_start FUN_0202B1F0
FUN_0202B1F0: ; 0x0202B1F0
push {r4, lr}
add r4, r0, #0x0
bne _0202B1FA
bl ErrorHandling
_0202B1FA:
ldr r0, _0202B214 ; =0x00002AA8
ldr r0, [r4, r0]
cmp r0, #0x1e
blo _0202B206
bl ErrorHandling
_0202B206:
ldr r0, _0202B218 ; =0x00002AAC
ldr r0, [r4, r0]
cmp r0, #0x1e
blo _0202B210
mov r0, #0x1e
_0202B210:
pop {r4, pc}
nop
_0202B214: .word 0x00002AA8
_0202B218: .word 0x00002AAC
thumb_func_start FUN_0202B21C
FUN_0202B21C: ; 0x0202B21C
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
cmp r5, #0x0
bne _0202B22A
bl ErrorHandling
_0202B22A:
ldr r0, _0202B248 ; =0x00002AA8
ldr r0, [r5, r0]
cmp r0, #0x1e
blo _0202B236
bl ErrorHandling
_0202B236:
cmp r4, #0x1e
blt _0202B23E
bl ErrorHandling
_0202B23E:
ldr r0, _0202B24C ; =0x00002AAC
ldr r0, [r5, r0]
sub r0, r0, r4
pop {r3-r5, pc}
nop
_0202B248: .word 0x00002AA8
_0202B24C: .word 0x00002AAC
thumb_func_start FUN_0202B250
FUN_0202B250: ; 0x0202B250
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
cmp r5, #0x0
bne _0202B25E
bl ErrorHandling
_0202B25E:
ldr r0, _0202B298 ; =0x00002AA8
ldr r0, [r5, r0]
cmp r0, #0x1e
blo _0202B26A
bl ErrorHandling
_0202B26A:
cmp r4, #0x1e
blt _0202B272
bl ErrorHandling
_0202B272:
ldr r0, _0202B298 ; =0x00002AA8
ldr r0, [r5, r0]
sub r0, r0, #0x1
sub r2, r0, r4
bpl _0202B27E
add r2, #0x1e
_0202B27E:
mov r1, #0x5b
lsl r1, r1, #0x2
mul r1, r2
mov r0, #0x0
add r2, r5, r1
_0202B288:
ldrh r1, [r2, #0x0]
cmp r1, #0x0
beq _0202B296
add r0, r0, #0x1
add r2, #0x3c
cmp r0, #0x6
blo _0202B288
_0202B296:
pop {r3-r5, pc}
.balign 4
_0202B298: .word 0x00002AA8
thumb_func_start FUN_0202B29C
FUN_0202B29C: ; 0x0202B29C
push {r3-r7, lr}
add r5, r0, #0x0
add r6, r1, #0x0
add r7, r2, #0x0
add r4, r3, #0x0
cmp r5, #0x0
bne _0202B2AE
bl ErrorHandling
_0202B2AE:
ldr r0, _0202B318 ; =0x00002AA8
ldr r0, [r5, r0]
cmp r0, #0x1e
blo _0202B2BA
bl ErrorHandling
_0202B2BA:
cmp r6, #0x1e
blt _0202B2C2
bl ErrorHandling
_0202B2C2:
ldr r0, _0202B318 ; =0x00002AA8
ldr r0, [r5, r0]
sub r0, r0, #0x1
sub r1, r0, r6
bpl _0202B2CE
add r1, #0x1e
_0202B2CE:
mov r0, #0x5b
lsl r0, r0, #0x2
mul r0, r1
add r1, r5, r0
mov r0, #0x3c
mul r0, r7
add r5, r1, r0
ldrh r0, [r1, r0]
add r1, r5, #0x0
add r1, #0xc
strh r0, [r4, #0x10]
ldrb r0, [r5, #0x2]
strb r0, [r4, #0x12]
ldr r0, [r5, #0x4]
str r0, [r4, #0x8]
ldr r0, [r5, #0x8]
str r0, [r4, #0xc]
ldrb r0, [r5, #0x3]
strb r0, [r4, #0x13]
ldr r0, [r4, #0x0]
bl FUN_02021E28
add r1, r5, #0x0
ldr r0, [r4, #0x4]
add r1, #0x22
bl FUN_02021E28
mov r1, #0x0
_0202B306:
ldrh r0, [r5, #0x32]
add r1, r1, #0x1
add r5, r5, #0x2
strh r0, [r4, #0x14]
add r4, r4, #0x2
cmp r1, #0x4
blt _0202B306
pop {r3-r7, pc}
nop
_0202B318: .word 0x00002AA8
thumb_func_start FUN_0202B31C
FUN_0202B31C: ; 0x0202B31C
push {r4-r6, lr}
add r5, r0, #0x0
add r6, r1, #0x0
add r4, r2, #0x0
cmp r5, #0x0
bne _0202B32C
bl ErrorHandling
_0202B32C:
ldr r0, _0202B370 ; =0x00002AA8
ldr r0, [r5, r0]
cmp r0, #0x1e
blo _0202B338
bl ErrorHandling
_0202B338:
cmp r6, #0x1e
blt _0202B340
bl ErrorHandling
_0202B340:
ldr r0, _0202B370 ; =0x00002AA8
ldr r0, [r5, r0]
sub r0, r0, #0x1
sub r2, r0, r6
bpl _0202B34C
add r2, #0x1e
_0202B34C:
mov r0, #0x5b
lsl r0, r0, #0x2
add r1, r2, #0x0
mul r1, r0
add r2, r5, r1
sub r1, r0, #0x4
ldrh r1, [r2, r1]
str r1, [r4, #0x0]
sub r1, r0, #0x2
ldrb r1, [r2, r1]
sub r0, r0, #0x1
str r1, [r4, #0x4]
ldrb r0, [r2, r0]
str r0, [r4, #0x8]
mov r0, #0x0
str r0, [r4, #0xc]
pop {r4-r6, pc}
nop
_0202B370: .word 0x00002AA8

767
arm9/asm/unk_0202B374.s Normal file
View File

@@ -0,0 +1,767 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start FUN_0202B374
FUN_0202B374: ; 0x0202B374
ldr r0, _0202B378 ; =0x00000B88
bx lr
.balign 4
_0202B378: .word 0x00000B88
thumb_func_start FUN_0202B37C
FUN_0202B37C: ; 0x0202B37C
ldr r3, _0202B388 ; =MIi_CpuClearFast
add r1, r0, #0x0
mov r0, #0x0
ldr r2, _0202B38C ; =0x00000B88
bx r3
nop
_0202B388: .word MIi_CpuClearFast
_0202B38C: .word 0x00000B88
thumb_func_start FUN_0202B390
FUN_0202B390: ; 0x0202B390
push {r4, lr}
add r4, r0, #0x0
add r1, r4, #0x0
mov r0, #0x0
add r1, #0xc
mov r2, #0xc0
bl MIi_CpuClearFast
add r1, r4, #0x0
mov r0, #0x0
add r1, #0xcc
mov r2, #0xc0
bl MIi_CpuClearFast
mov r1, #0x63
lsl r1, r1, #0x2
mov r0, #0x0
add r1, r4, r1
mov r2, #0xc0
bl MIi_CpuClearFast
add r0, r4, #0x0
bl FUN_0202B3F8
pop {r4, pc}
.balign 4
thumb_func_start FUN_0202B3C4
FUN_0202B3C4: ; 0x0202B3C4
push {r4, lr}
add r4, r0, #0x0
ldr r0, [r4, #0x4]
cmp r0, r1
ble _0202B3D4
sub r0, r0, r1
str r0, [r4, #0x4]
pop {r4, pc}
_0202B3D4:
add r0, r2, #0x0
mov r1, #0xf
bl _s32_div_f
mov r0, #0xf
sub r1, r0, r1
str r1, [r4, #0x4]
bne _0202B3E6
str r0, [r4, #0x4]
_0202B3E6:
mov r1, #0x0
strb r1, [r4, #0x8]
add r0, r1, #0x0
_0202B3EC:
strb r0, [r4, r1]
add r1, r1, #0x1
cmp r1, #0x4
blt _0202B3EC
pop {r4, pc}
.balign 4
thumb_func_start FUN_0202B3F8
FUN_0202B3F8: ; 0x0202B3F8
push {r4, lr}
add r4, r0, #0x0
mov r1, #0x0
bl FUN_0202B40C
add r0, r4, #0x0
bl FUN_0202B430
pop {r4, pc}
.balign 4
thumb_func_start FUN_0202B40C
FUN_0202B40C: ; 0x0202B40C
strb r1, [r0, #0x8]
bx lr
thumb_func_start FUN_0202B410
FUN_0202B410: ; 0x0202B410
ldrb r0, [r0, #0x8]
bx lr
thumb_func_start FUN_0202B414
FUN_0202B414: ; 0x0202B414
push {r3, lr}
mov r3, #0x0
_0202B418:
ldrb r2, [r0, r3]
cmp r2, #0x0
bne _0202B422
strb r1, [r0, r3]
pop {r3, pc}
_0202B422:
add r3, r3, #0x1
cmp r3, #0x4
blt _0202B418
bl ErrorHandling
pop {r3, pc}
.balign 4
thumb_func_start FUN_0202B430
FUN_0202B430: ; 0x0202B430
mov r2, #0x0
add r1, r2, #0x0
_0202B434:
strb r1, [r0, r2]
add r2, r2, #0x1
cmp r2, #0x4
blt _0202B434
bx lr
.balign 4
thumb_func_start FUN_0202B440
FUN_0202B440: ; 0x0202B440
mov r3, #0x0
_0202B442:
ldrb r2, [r0, r3]
cmp r1, r2
bne _0202B44C
mov r0, #0x1
bx lr
_0202B44C:
add r3, r3, #0x1
cmp r3, #0x4
blt _0202B442
mov r0, #0x0
bx lr
.balign 4
thumb_func_start FUN_0202B458
FUN_0202B458: ; 0x0202B458
mov r2, #0x0
add r3, r2, #0x0
_0202B45C:
ldrb r1, [r0, r2]
cmp r1, #0x0
beq _0202B464
add r3, r3, #0x1
_0202B464:
add r2, r2, #0x1
cmp r2, #0x4
blt _0202B45C
add r0, r3, #0x0
bx lr
.balign 4
thumb_func_start FUN_0202B470
FUN_0202B470: ; 0x0202B470
push {r4-r6, lr}
sub sp, #0x10
add r5, r0, #0x0
add r0, sp, #0x0
add r4, r1, #0x0
add r6, r2, #0x0
bl FUN_020126B4
ldr r0, [sp, #0x8]
ldr r3, [sp, #0x4]
lsl r0, r0, #0x18
lsr r1, r0, #0x10
ldr r0, [sp, #0x0]
lsl r3, r3, #0x18
lsl r0, r0, #0x18
lsr r3, r3, #0x8
orr r0, r3
ldr r2, [sp, #0xc]
orr r0, r1
orr r0, r2
str r0, [r5, #0x4]
strb r4, [r5, #0x0]
mov r0, #0x0
strb r0, [r5, #0x1]
add r5, #0x8
add r0, r6, #0x0
add r1, r5, #0x0
mov r2, #0x28
bl MIi_CpuCopyFast
add sp, #0x10
pop {r4-r6, pc}
thumb_func_start FUN_0202B4B0
FUN_0202B4B0: ; 0x0202B4B0
push {r3-r5, lr}
add r5, r2, #0x0
add r4, r3, #0x0
bl FUN_0202B548
mov r2, #0x0
add r3, r0, #0x0
_0202B4BE:
ldrb r1, [r3, #0x0]
cmp r5, r1
bne _0202B4E0
mov r1, #0x30
mul r1, r2
add r0, r0, r1
ldrb r1, [r0, #0x1]
cmp r1, #0x3
blo _0202B4DC
add r1, r5, #0x0
add r2, r4, #0x0
bl FUN_0202B470
mov r0, #0x1
pop {r3-r5, pc}
_0202B4DC:
mov r0, #0x0
pop {r3-r5, pc}
_0202B4E0:
add r2, r2, #0x1
add r3, #0x30
cmp r2, #0x4
blt _0202B4BE
mov r1, #0x0
add r3, r0, #0x0
_0202B4EC:
ldrb r2, [r3, #0x0]
cmp r2, #0x0
bne _0202B504
mov r2, #0x30
mul r2, r1
add r0, r0, r2
add r1, r5, #0x0
add r2, r4, #0x0
bl FUN_0202B470
mov r0, #0x1
pop {r3-r5, pc}
_0202B504:
add r1, r1, #0x1
add r3, #0x30
cmp r1, #0x4
blt _0202B4EC
mov r1, #0x0
add r3, r0, #0x0
_0202B510:
ldrb r2, [r3, #0x1]
cmp r2, #0x3
blo _0202B528
mov r2, #0x30
mul r2, r1
add r0, r0, r2
add r1, r5, #0x0
add r2, r4, #0x0
bl FUN_0202B470
mov r0, #0x1
pop {r3-r5, pc}
_0202B528:
add r1, r1, #0x1
add r3, #0x30
cmp r1, #0x4
blt _0202B510
mov r0, #0x0
pop {r3-r5, pc}
thumb_func_start FUN_0202B534
FUN_0202B534: ; 0x0202B534
add r0, #0x8
bx lr
thumb_func_start FUN_0202B538
FUN_0202B538: ; 0x0202B538
ldrb r0, [r0, #0x6]
bx lr
thumb_func_start FUN_0202B53C
FUN_0202B53C: ; 0x0202B53C
ldrb r0, [r0, #0x5]
bx lr
thumb_func_start FUN_0202B540
FUN_0202B540: ; 0x0202B540
add r0, #0x18
bx lr
thumb_func_start FUN_0202B544
FUN_0202B544: ; 0x0202B544
bx lr
.balign 4
thumb_func_start FUN_0202B548
FUN_0202B548: ; 0x0202B548
push {r4, lr}
mov r4, #0x0
cmp r1, #0x4
bhi _0202B57E
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #0x6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0202B55C: ; jump table (using 16-bit offset)
.short _0202B57E - _0202B55C - 2; case 0
.short _0202B566 - _0202B55C - 2; case 1
.short _0202B56E - _0202B55C - 2; case 2
.short _0202B574 - _0202B55C - 2; case 3
.short _0202B57A - _0202B55C - 2; case 4
_0202B566:
mov r1, #0x63
lsl r1, r1, #0x2
add r4, r0, r1
b _0202B57E
_0202B56E:
add r4, r0, #0x0
add r4, #0xc
b _0202B57E
_0202B574:
add r4, r0, #0x0
add r4, #0xcc
b _0202B57E
_0202B57A:
bl ErrorHandling
_0202B57E:
add r0, r4, #0x0
pop {r4, pc}
.balign 4
thumb_func_start FUN_0202B584
FUN_0202B584: ; 0x0202B584
push {r4, lr}
mov r4, #0x0
cmp r1, #0x4
bhi _0202B5BA
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #0x6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0202B598: ; jump table (using 16-bit offset)
.short _0202B5BA - _0202B598 - 2; case 0
.short _0202B5B0 - _0202B598 - 2; case 1
.short _0202B5A2 - _0202B598 - 2; case 2
.short _0202B5AA - _0202B598 - 2; case 3
.short _0202B5B6 - _0202B598 - 2; case 4
_0202B5A2:
mov r1, #0x93
lsl r1, r1, #0x2
add r4, r0, r1
b _0202B5BA
_0202B5AA:
ldr r1, _0202B5C0 ; =0x000006CC
add r4, r0, r1
b _0202B5BA
_0202B5B0:
ldr r1, _0202B5C4 ; =0x0000090C
add r4, r0, r1
b _0202B5BA
_0202B5B6:
bl ErrorHandling
_0202B5BA:
add r0, r4, #0x0
pop {r4, pc}
nop
_0202B5C0: .word 0x000006CC
_0202B5C4: .word 0x0000090C
thumb_func_start FUN_0202B5C8
FUN_0202B5C8: ; 0x0202B5C8
ldrb r0, [r0, #0x0]
bx lr
thumb_func_start FUN_0202B5CC
FUN_0202B5CC: ; 0x0202B5CC
ldrb r1, [r0, #0x1]
cmp r1, #0x3
bhs _0202B5D6
add r1, r1, #0x1
strb r1, [r0, #0x1]
_0202B5D6:
bx lr
thumb_func_start FUN_0202B5D8
FUN_0202B5D8: ; 0x0202B5D8
add r0, #0x8
bx lr
thumb_func_start FUN_0202B5DC
FUN_0202B5DC: ; 0x0202B5DC
push {r4-r7}
mov r5, #0x0
add r4, r5, #0x0
ldr r6, [sp, #0x10]
cmp r1, #0x0
ble _0202B616
_0202B5E8:
ldrb r7, [r0, #0x0]
cmp r2, r7
bne _0202B60E
ldrb r7, [r0, #0x1]
cmp r3, #0x0
beq _0202B600
cmp r7, #0x0
beq _0202B600
add r7, r4, #0x1
strb r7, [r6, r5]
add r5, r5, #0x1
b _0202B60E
_0202B600:
cmp r3, #0x0
bne _0202B60E
cmp r7, #0x0
bne _0202B60E
add r7, r4, #0x1
strb r7, [r6, r5]
add r5, r5, #0x1
_0202B60E:
add r4, r4, #0x1
add r0, #0x30
cmp r4, r1
blt _0202B5E8
_0202B616:
add r0, r5, #0x0
pop {r4-r7}
bx lr
thumb_func_start FUN_0202B61C
FUN_0202B61C: ; 0x0202B61C
push {r4-r7, lr}
sub sp, #0xc
add r6, r0, #0x0
mov r5, #0x0
add r0, r1, #0x0
add r4, r5, #0x0
str r1, [sp, #0x0]
str r2, [sp, #0x4]
str r3, [sp, #0x8]
ldr r7, [sp, #0x20]
cmp r0, #0x0
ble _0202B672
_0202B634:
ldrb r2, [r6, #0x18]
ldr r1, [sp, #0x4]
ldrb r0, [r6, #0x19]
cmp r1, r2
bne _0202B668
ldr r1, [sp, #0x8]
cmp r1, #0x0
beq _0202B654
cmp r0, #0x0
beq _0202B654
add r0, r4, #0x1
bl FUN_0202B830
strb r0, [r7, r5]
add r5, r5, #0x1
b _0202B668
_0202B654:
ldr r1, [sp, #0x8]
cmp r1, #0x0
bne _0202B668
cmp r0, #0x0
bne _0202B668
add r0, r4, #0x1
bl FUN_0202B830
strb r0, [r7, r5]
add r5, r5, #0x1
_0202B668:
ldr r0, [sp, #0x0]
add r4, r4, #0x1
add r6, #0x48
cmp r4, r0
blt _0202B634
_0202B672:
add r0, r5, #0x0
add sp, #0xc
pop {r4-r7, pc}
thumb_func_start FUN_0202B678
FUN_0202B678: ; 0x0202B678
push {r3-r5, lr}
ldr r5, [sp, #0x10]
ldr r4, [sp, #0x14]
cmp r1, #0x4
bhi _0202B702
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #0x6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0202B68E: ; jump table (using 16-bit offset)
.short _0202B702 - _0202B68E - 2; case 0
.short _0202B6DA - _0202B68E - 2; case 1
.short _0202B698 - _0202B68E - 2; case 2
.short _0202B6BA - _0202B68E - 2; case 3
.short _0202B6FE - _0202B68E - 2; case 4
_0202B698:
cmp r3, #0x0
str r4, [sp, #0x0]
beq _0202B6AA
add r0, #0xc
mov r1, #0x4
add r3, r5, #0x0
bl FUN_0202B5DC
pop {r3-r5, pc}
_0202B6AA:
mov r1, #0x93
lsl r1, r1, #0x2
add r0, r0, r1
mov r1, #0x10
add r3, r5, #0x0
bl FUN_0202B61C
pop {r3-r5, pc}
_0202B6BA:
cmp r3, #0x0
str r4, [sp, #0x0]
beq _0202B6CC
add r0, #0xcc
mov r1, #0x4
add r3, r5, #0x0
bl FUN_0202B5DC
pop {r3-r5, pc}
_0202B6CC:
ldr r1, _0202B708 ; =0x000006CC
add r3, r5, #0x0
add r0, r0, r1
mov r1, #0x8
bl FUN_0202B61C
pop {r3-r5, pc}
_0202B6DA:
cmp r3, #0x0
str r4, [sp, #0x0]
beq _0202B6F0
mov r1, #0x63
lsl r1, r1, #0x2
add r0, r0, r1
mov r1, #0x4
add r3, r5, #0x0
bl FUN_0202B5DC
pop {r3-r5, pc}
_0202B6F0:
ldr r1, _0202B70C ; =0x0000090C
add r3, r5, #0x0
add r0, r0, r1
mov r1, #0x8
bl FUN_0202B61C
pop {r3-r5, pc}
_0202B6FE:
mov r0, #0x0
pop {r3-r5, pc}
_0202B702:
mov r0, #0x0
pop {r3-r5, pc}
nop
_0202B708: .word 0x000006CC
_0202B70C: .word 0x0000090C
thumb_func_start FUN_0202B710
FUN_0202B710: ; 0x0202B710
push {r4-r7, lr}
sub sp, #0xc
add r4, r0, #0x0
add r6, r1, #0x0
add r5, r2, #0x0
add r0, sp, #0x8
mov r1, #0x0
mov r2, #0x4
bl MI_CpuFill8
mov r0, #0x0
str r0, [sp, #0x0]
add r0, sp, #0x8
str r0, [sp, #0x4]
add r0, r4, #0x0
add r1, r6, #0x0
add r2, r5, #0x0
mov r3, #0x1
bl FUN_0202B678
cmp r0, #0x0
beq _0202B742
add sp, #0xc
mov r0, #0x0
pop {r4-r7, pc}
_0202B742:
mov r3, #0x1
str r3, [sp, #0x0]
add r0, sp, #0x8
str r0, [sp, #0x4]
add r0, r4, #0x0
add r1, r6, #0x0
add r2, r5, #0x0
bl FUN_0202B678
cmp r0, #0x0
beq _0202B79E
add r0, sp, #0x8
ldrb r0, [r0, #0x0]
mov r7, #0x0
cmp r0, #0x0
beq _0202B798
add r5, sp, #0x8
_0202B764:
ldrb r2, [r5, #0x0]
add r0, r4, #0x0
add r1, r6, #0x0
bl FUN_0202B7C8
ldrb r0, [r0, #0x1]
cmp r0, #0x3
blo _0202B77A
add sp, #0xc
mov r0, #0x1
pop {r4-r7, pc}
_0202B77A:
add r7, r7, #0x1
add r5, r5, #0x1
cmp r7, #0x4
bge _0202B786
mov r1, #0x1
b _0202B788
_0202B786:
mov r1, #0x0
_0202B788:
ldrb r0, [r5, #0x0]
cmp r0, #0x0
beq _0202B792
mov r0, #0x1
b _0202B794
_0202B792:
mov r0, #0x0
_0202B794:
tst r0, r1
bne _0202B764
_0202B798:
add sp, #0xc
mov r0, #0x0
pop {r4-r7, pc}
_0202B79E:
mov r5, #0x1
_0202B7A0:
add r0, r4, #0x0
add r1, r6, #0x0
add r2, r5, #0x0
bl FUN_0202B7C8
ldrb r1, [r0, #0x0]
cmp r1, #0x0
beq _0202B7B6
ldrb r0, [r0, #0x1]
cmp r0, #0x3
blo _0202B7BC
_0202B7B6:
add sp, #0xc
mov r0, #0x1
pop {r4-r7, pc}
_0202B7BC:
add r5, r5, #0x1
cmp r5, #0x4
ble _0202B7A0
mov r0, #0x0
add sp, #0xc
pop {r4-r7, pc}
thumb_func_start FUN_0202B7C8
FUN_0202B7C8: ; 0x0202B7C8
push {r4-r6, lr}
add r4, r2, #0x0
add r5, r0, #0x0
add r0, r4, #0x0
add r6, r1, #0x0
bl FUN_0202B820
cmp r0, #0x1
beq _0202B7DE
bl ErrorHandling
_0202B7DE:
add r0, r5, #0x0
add r1, r6, #0x0
bl FUN_0202B548
mov r1, #0x80
bic r4, r1
sub r2, r4, #0x1
mov r1, #0x30
mul r1, r2
add r0, r0, r1
pop {r4-r6, pc}
thumb_func_start FUN_0202B7F4
FUN_0202B7F4: ; 0x0202B7F4
push {r4-r6, lr}
add r4, r2, #0x0
add r5, r0, #0x0
add r0, r4, #0x0
add r6, r1, #0x0
bl FUN_0202B820
cmp r0, #0x0
beq _0202B80A
bl ErrorHandling
_0202B80A:
add r0, r5, #0x0
add r1, r6, #0x0
bl FUN_0202B584
mov r1, #0x80
bic r4, r1
sub r2, r4, #0x1
mov r1, #0x48
mul r1, r2
add r0, r0, r1
pop {r4-r6, pc}
thumb_func_start FUN_0202B820
FUN_0202B820: ; 0x0202B820
mov r1, #0x80
tst r0, r1
bne _0202B82A
mov r0, #0x1
bx lr
_0202B82A:
mov r0, #0x0
bx lr
.balign 4
thumb_func_start FUN_0202B830
FUN_0202B830: ; 0x0202B830
mov r1, #0x80
orr r0, r1
bx lr
.balign 4
thumb_func_start FUN_0202B838
FUN_0202B838: ; 0x0202B838
ldr r1, _0202B840 ; =0x00000B4C
add r0, r0, r1
bx lr
nop
_0202B840: .word 0x00000B4C
thumb_func_start FUN_0202B844
FUN_0202B844: ; 0x0202B844
ldr r1, _0202B84C ; =0x00000B56
add r0, r0, r1
bx lr
nop
_0202B84C: .word 0x00000B56
thumb_func_start FUN_0202B850
FUN_0202B850: ; 0x0202B850
ldr r1, _0202B858 ; =0x00000B7A
add r0, r0, r1
bx lr
nop
_0202B858: .word 0x00000B7A
thumb_func_start FUN_0202B85C
FUN_0202B85C: ; 0x0202B85C
ldr r1, _0202B864 ; =0x00000B7C
add r0, r0, r1
bx lr
nop
_0202B864: .word 0x00000B7C
thumb_func_start FUN_0202B868
FUN_0202B868: ; 0x0202B868
mov r1, #0x2e
lsl r1, r1, #0x6
add r0, r0, r1
bx lr

27442
arm9/asm/unk_0202B870.s Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -6232,3 +6232,5 @@
.extern FUN_02028854
.extern FUN_02028918
.extern FUN_02029B90
.extern FUN_0202A1C4
.extern FUN_0202ABBC