summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/FUN_020C9C0C.s2973
-rw-r--r--asm/arm9_thumb.s1284
-rw-r--r--global.inc152
-rw-r--r--undefined_syms.txt87
4 files changed, 3026 insertions, 1470 deletions
diff --git a/asm/FUN_020C9C0C.s b/asm/FUN_020C9C0C.s
index 98b66335..ce0ba71d 100644
--- a/asm/FUN_020C9C0C.s
+++ b/asm/FUN_020C9C0C.s
@@ -1,7 +1,5 @@
-/* FUN020C9C0C.s TODO: Disassemble */
-
.include "asm/macros.inc"
- .include "global.inc"
+ .include "global.inc"
.text
@@ -20,9 +18,14 @@
.extern PMi_Lock
.extern PMi_SetLEDAsync
.extern PMi_ReadRegister
+.extern PMi_WaitBusy
+.extern CTRDG_IsExisting
+.extern PMi_SendSleepStart
.extern FUN_01FF857C
.extern FUN_01FF84E4
.extern FUN_01FF85F0
+.extern FUN_01FF84A4
+.extern FUN_01FF8544
arm_func_start OS_WaitIrq
@@ -31,9 +34,6 @@ OS_WaitIrq:
mov r5, r0
mov r4, r1
bl OS_DisableInterrupts
-
- arm_func_start FUN_020C9C1C
-FUN_020C9C1C: ; 0x020C9C1C
cmp r5, #0x0
beq _020C9C3C
ldr r1, _020C9C80 ; =0x027E0000
@@ -56,9 +56,6 @@ _020C9C3C:
_020C9C64:
mov r0, r5
bl OS_SleepThread
-
- arm_func_start FUN_020C9C6C
-FUN_020C9C6C: ; 0x020C9C6C
ldr r0, [r6, #0x0]
ands r0, r4, r0
beq _020C9C64
@@ -678,9 +675,6 @@ FUN_020CA358: ; 0x020CA358
mov r6, r2
mov r5, r3
bl OSi_DoTryLockByWord
-
- arm_func_start FUN_020CA370
-FUN_020CA370: ; 0x020CA370
cmp r0, #0x0
ldmleia sp!, {r4-r8,lr}
bxle lr
@@ -693,9 +687,6 @@ _020CA380:
mov r2, r6
mov r3, r5
bl OSi_DoTryLockByWord
-
- arm_func_start FUN_020CA39C
-FUN_020CA39C: ; 0x020CA39C
cmp r0, #0x0
bgt _020CA380
ldmia sp!, {r4-r8,lr}
@@ -971,16 +962,30 @@ _020CA754:
addls pc, pc, r1, lsl #0x2
b _020CA950
_020CA764:
- .byte 0x08, 0x00, 0x00, 0xEA, 0x0E, 0x00, 0x00, 0xEA, 0x77, 0x00, 0x00, 0xEA
- .byte 0x76, 0x00, 0x00, 0xEA, 0x2B, 0x00, 0x00, 0xEA, 0x74, 0x00, 0x00, 0xEA, 0x05, 0x00, 0x00, 0xEA
- .byte 0x72, 0x00, 0x00, 0xEA, 0x71, 0x00, 0x00, 0xEA, 0x75, 0x00, 0x00, 0xEA, 0x14, 0x20, 0x9D, 0xE5
- .byte 0x01, 0x6A, 0x86, 0xE3, 0x74, 0x00, 0x00, 0xEA, 0x01, 0x6A, 0x86, 0xE3, 0x72, 0x00, 0x00, 0xEA
+ b _020CA78C
+ b _020CA7A8
+ b _020CA950
+ b _020CA950
+ b _020CA828
+ b _020CA950
+ b _020CA798
+ b _020CA950
+ b _020CA950
+ b _020CA964
+_020CA78C:
+ ldr r2, [sp, #0x14]
+ orr r6, r6, #0x1000
+ b _020CA96C
+_020CA798:
+ orr r6, r6, #0x1000
+ b _020CA96C
_020CA7A0:
ldr r0, [sp, #0x18]
b _020CA964
_020CA7A8:
- .byte 0x04, 0x60, 0x86, 0xE3, 0x14, 0x50, 0x9D, 0xE5
- .byte 0x6B, 0x00, 0x00, 0xEA
+ orr r6, r6, #0x4
+ ldr r5, [sp, #0x14]
+ b _020CA964
_020CA7B4:
cmp r5, #0x0
bge _020CA950
@@ -1014,18 +1019,57 @@ _020CA820:
add r9, r9, #0x1
b _020CAD0C
_020CA828:
- .byte 0x04, 0xB0, 0x8B, 0xE2, 0x00, 0x00, 0x55, 0xE3
- .byte 0x04, 0x70, 0x9D, 0xE5, 0x04, 0x40, 0x1B, 0xE5, 0x08, 0x00, 0x00, 0xAA, 0xD0, 0x00, 0xD4, 0xE1
- .byte 0x00, 0x00, 0x50, 0xE3, 0x0A, 0x00, 0x00, 0x0A, 0x01, 0x70, 0x87, 0xE2, 0xD7, 0x00, 0x94, 0xE1
- .byte 0x00, 0x00, 0x50, 0xE3, 0xFB, 0xFF, 0xFF, 0x1A, 0x05, 0x00, 0x00, 0xEA, 0x01, 0x70, 0x87, 0xE2
- .byte 0x05, 0x00, 0x57, 0xE1, 0x02, 0x00, 0x00, 0xAA, 0xD7, 0x00, 0x94, 0xE1, 0x00, 0x00, 0x50, 0xE3
- .byte 0xF9, 0xFF, 0xFF, 0x1A, 0x08, 0x00, 0x16, 0xE2, 0x07, 0xA0, 0x4A, 0xE0, 0x08, 0x00, 0x00, 0x0A
- .byte 0x04, 0x10, 0xA0, 0xE1, 0x07, 0x20, 0xA0, 0xE1, 0x54, 0x00, 0x8D, 0xE2, 0x52, 0x01, 0x00, 0xEB
- .byte 0x1C, 0x10, 0x9D, 0xE5, 0x0A, 0x20, 0xA0, 0xE1, 0x54, 0x00, 0x8D, 0xE2, 0x66, 0x01, 0x00, 0xEB
- .byte 0x0B, 0x00, 0x00, 0xEA, 0x10, 0x00, 0x16, 0xE2, 0x20, 0x00, 0x9D, 0x15, 0x0A, 0x20, 0xA0, 0xE1
- .byte 0x1C, 0x00, 0x9D, 0x05, 0x00, 0x0C, 0xA0, 0xE1, 0x40, 0x1C, 0xA0, 0xE1, 0x54, 0x00, 0x8D, 0xE2
- .byte 0x5D, 0x01, 0x00, 0xEB, 0x04, 0x10, 0xA0, 0xE1, 0x07, 0x20, 0xA0, 0xE1, 0x54, 0x00, 0x8D, 0xE2
- .byte 0x41, 0x01, 0x00, 0xEB, 0x01, 0x90, 0x89, 0xE2, 0x0B, 0x01, 0x00, 0xEA
+ add fp, fp, #0x4
+ cmp r5, #0x0
+ ldr r7, [sp, #0x4]
+ ldr r4, [fp, #-0x4]
+ bge _020CA860
+ ldrsb r0, [r4]
+ cmp r0, #0x0
+ beq _020CA874
+_020CA848:
+ add r7, r7, #0x1
+ ldrsb r0, [r4, r7]
+ cmp r0, #0x0
+ bne _020CA848
+ b _020CA874
+_020CA85C:
+ add r7, r7, #0x1
+_020CA860:
+ cmp r7, r5
+ bge _020CA874
+ ldrsb r0, [r4, r7]
+ cmp r0, #0x0
+ bne _020CA85C
+_020CA874:
+ ands r0, r6, #0x8
+ sub sl, sl, r7
+ beq _020CA8A4
+ mov r1, r4
+ mov r2, r7
+ add r0, sp, #0x54
+ bl string_put_string
+ ldr r1, [sp, #0x1C]
+ mov r2, sl
+ add r0, sp, #0x54
+ bl string_fill_char
+ b _020CA8D4
+_020CA8A4:
+ ands r0, r6, #0x10
+ ldrne r0, [sp, #0x20]
+ mov r2, sl
+ ldreq r0, [sp, #0x1C]
+ mov r0, r0, lsl #0x18
+ mov r1, r0, asr #0x18
+ add r0, sp, #0x54
+ bl string_fill_char
+ mov r1, r4
+ mov r2, r7
+ add r0, sp, #0x54
+ bl string_put_string
+_020CA8D4:
+ add r9, r9, #0x1
+ b _020CAD0C
_020CA8DC:
ands r0, r6, #0x100
ldr r1, [sp, #0x58]
@@ -1292,23 +1336,40 @@ _020CAC90:
ble _020CACB8
add r0, sp, #0x38
add r4, r0, r7
+_020CACA0:
ldrsb r1, [r4, #-0x1]!
sub r7, r7, #0x1
add r0, sp, #0x54
bl string_put_char
_020CACB0:
- .byte 0x00, 0x00, 0x57, 0xE3, 0xF9, 0xFF, 0xFF, 0xCA
+ cmp r7, #0x0
+ bgt _020CACA0
_020CACB8:
ldr r1, [sp, #0x20]
mov r2, r5
add r0, sp, #0x54
bl string_fill_char
_020CACC8:
- .byte 0x00, 0x00, 0x58, 0xE3, 0x07, 0x00, 0x00, 0xDA
- .byte 0x3A, 0x00, 0x8D, 0xE2, 0x08, 0x40, 0x80, 0xE0, 0xD1, 0x10, 0x74, 0xE1, 0x01, 0x80, 0x48, 0xE2
- .byte 0x54, 0x00, 0x8D, 0xE2, 0x6E, 0x00, 0x00, 0xEB, 0x00, 0x00, 0x58, 0xE3, 0xF9, 0xFF, 0xFF, 0xCA
- .byte 0x00, 0x00, 0x56, 0xE3, 0x03, 0x00, 0x00, 0x0A, 0x1C, 0x10, 0x9D, 0xE5, 0x0A, 0x20, 0xA0, 0xE1
- .byte 0x54, 0x00, 0x8D, 0xE2, 0x4C, 0x00, 0x00, 0xEB, 0x01, 0x90, 0x89, 0xE2
+ cmp r8, #0x0
+ ble _020CACF0
+ add r0, sp, #0x3A
+ add r4, r0, r8
+_020CACD8:
+ ldrsb r1, [r4, #-0x1]!
+ sub r8, r8, #0x1
+ add r0, sp, #0x54
+ bl string_put_char
+ cmp r8, #0x0
+ bgt _020CACD8
+_020CACF0:
+ cmp r6, #0x0
+ beq _020CAD08
+ ldr r1, [sp, #0x1C]
+ mov r2, sl
+ add r0, sp, #0x54
+ bl string_fill_char
+_020CAD08:
+ add r9, r9, #0x1
_020CAD0C:
ldrsb r0, [r9, #0x0]
cmp r0, #0x0
@@ -1436,7 +1497,7 @@ _020CAE80:
ldmia sp!, {lr}
bx lr
- arm_func_start string_fill_char
+ arm_func_start string_put_char
string_put_char:
ldr r2, [r0, #0x0]
cmp r2, #0x0
@@ -1457,6 +1518,8 @@ FUN_020CAED0: ; 0x020CAED0
bx lr
.balign 4
_020CAEDC: .word 0x021D3494
+
+ arm_func_start OS_SetThreadDestructor
OS_SetThreadDestructor:
str r1, [r0, #0xb4]
bx lr
@@ -1618,8 +1681,9 @@ _020CB0C4:
mov r0, r4
bl OS_RestoreInterrupts
_020CB0CC:
- .byte 0x00, 0x00, 0xA0, 0xE3
- .byte 0xF0, 0x41, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ mov r0, #0x0
+ ldmia sp!, {r4-r8,lr}
+ bx lr
_020CB0D8:
ldr r0, [r8, #0x70]
cmp r0, r5
@@ -2039,10 +2103,20 @@ OS_CreateThread: ; 0x020CB57C
mov r0, r8
bl OS_SetThreadDestructor
_020CB640:
- .byte 0x00, 0x00, 0xA0, 0xE3, 0x78, 0x00, 0x88, 0xE5, 0x80, 0x00, 0x88, 0xE5, 0x80, 0x20, 0x98, 0xE5
- .byte 0xA4, 0x10, 0x88, 0xE2, 0x7C, 0x20, 0x88, 0xE5, 0x0C, 0x20, 0xA0, 0xE3, 0xE6, 0x0A, 0x00, 0xEB
- .byte 0x04, 0x00, 0xA0, 0xE1, 0x00, 0x10, 0xA0, 0xE3, 0xB0, 0x10, 0x88, 0xE5, 0x2C, 0x07, 0x00, 0xEB
- .byte 0xF0, 0x41, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ mov r0, #0x0
+ str r0, [r8, #0x78]
+ str r0, [r8, #0x80]
+ ldr r2, [r8, #0x80]
+ add r1, r8, #0xA4
+ str r2, [r8, #0x7C]
+ mov r2, #0xC
+ bl MIi_CpuClear32
+ mov r0, r4
+ mov r1, #0x0
+ str r1, [r8, #0xB0]
+ bl OS_RestoreInterrupts
+ ldmia sp!, {r4-r8, lr}
+ bx lr
_020CB678: .word 0xFDDB597D
_020CB67C: .word 0x7BF9DD5B
_020CB680: .word OS_ExitThread
@@ -2176,7 +2250,9 @@ _020CB824:
mov r0, r6
bl OS_SaveContext
_020CB864:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x70, 0x40, 0xBD, 0x18, 0x1E, 0xFF, 0x2F, 0x11
+ cmp r0, #0x0
+ ldmneia sp!, {r4-r6,lr}
+ bxne lr
_020CB870:
ldr r0, _020CB8C8 ; =0x021D348C
ldr r2, [r0, #0x0]
@@ -2478,8 +2554,9 @@ _020CBC0C:
mov r0, r4
bl OS_RestoreInterrupts
_020CBC1C:
- .byte 0x00, 0x00, 0xA0, 0xE3
- .byte 0xF0, 0x41, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ mov r0, #0x0
+ ldmia sp!, {r4-r8,lr}
+ bx lr
_020CBC28:
mov r0, r7
bl OS_SleepThread
@@ -2568,7 +2645,9 @@ _020CBD44:
mov r0, r4
bl OS_RestoreInterrupts
_020CBD54:
- .byte 0x00, 0x00, 0xA0, 0xE3, 0xF0, 0x41, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ mov r0, #0x0
+ ldmia sp!, {r4-r8,lr}
+ bx lr
_020CBD60:
mov r0, r7
bl OS_SleepThread
@@ -2955,12 +3034,27 @@ OS_AllocFromArenaHi: ; 0x020CC204
mov r5, r2
bl OS_GetArenaHi
_020CC218:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x00, 0x00, 0xA0, 0x03
- .byte 0x70, 0x40, 0xBD, 0x08, 0x1E, 0xFF, 0x2F, 0x01, 0x01, 0x10, 0x45, 0xE2, 0x01, 0x20, 0xE0, 0xE1
- .byte 0x02, 0x00, 0x00, 0xE0, 0x06, 0x10, 0x40, 0xE0, 0x04, 0x00, 0xA0, 0xE1, 0x02, 0x50, 0x01, 0xE0
- .byte 0xBC, 0x00, 0x00, 0xEB, 0x00, 0x00, 0x55, 0xE1, 0x00, 0x00, 0xA0, 0x33, 0x70, 0x40, 0xBD, 0x38
- .byte 0x1E, 0xFF, 0x2F, 0x31, 0x04, 0x00, 0xA0, 0xE1, 0x05, 0x10, 0xA0, 0xE1, 0x29, 0x00, 0x00, 0xEB
- .byte 0x05, 0x00, 0xA0, 0xE1, 0x70, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ moveq r0, #0x0
+ ldmeqia sp!, {r4-r6,lr}
+ bxeq lr
+ sub r1, r5, #0x1
+ mvn r2, r1
+ and r0, r0, r2
+ sub r1, r0, r6
+ mov r0, r4
+ and r5, r1, r2
+ bl OS_GetArenaLo
+ cmp r5, r0
+ movcc r0, #0x0
+ ldmccia sp!, {r4-r6, lr}
+ bxcc lr
+ mov r0, r4
+ mov r1, r5
+ bl OS_SetArenaHi
+ mov r0, r5
+ ldmia sp!, {r4-r6,lr}
+ bx lr
arm_func_start OS_AllocFromArenaLo
OS_AllocFromArenaLo: ; 0x020CC26C
@@ -2971,14 +3065,34 @@ OS_AllocFromArenaLo: ; 0x020CC26C
mov r5, r2
bl OS_GetArenaLo
_020CC284:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x04, 0xD0, 0x8D, 0x02, 0x00, 0x00, 0xA0, 0x03
- .byte 0xF0, 0x40, 0xBD, 0x08, 0x1E, 0xFF, 0x2F, 0x01, 0x05, 0x00, 0x80, 0xE0, 0x01, 0x10, 0x45, 0xE2
- .byte 0x01, 0x20, 0xE0, 0xE1, 0x01, 0x00, 0x40, 0xE2, 0x00, 0x40, 0x02, 0xE0, 0x06, 0x00, 0x84, 0xE0
- .byte 0x05, 0x00, 0x80, 0xE0, 0x01, 0x10, 0x40, 0xE2, 0x07, 0x00, 0xA0, 0xE1, 0x01, 0x50, 0x02, 0xE0
- .byte 0xA1, 0x00, 0x00, 0xEB, 0x00, 0x00, 0x55, 0xE1, 0x04, 0xD0, 0x8D, 0x82, 0x00, 0x00, 0xA0, 0x83
- .byte 0xF0, 0x40, 0xBD, 0x88, 0x1E, 0xFF, 0x2F, 0x81, 0x07, 0x00, 0xA0, 0xE1, 0x05, 0x10, 0xA0, 0xE1
- .byte 0x03, 0x00, 0x00, 0xEB, 0x04, 0x00, 0xA0, 0xE1, 0x04, 0xD0, 0x8D, 0xE2, 0xF0, 0x40, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ addeq sp, sp, #0x4
+ moveq r0, #0x0
+ ldmeqia sp!, {r4-r7, lr}
+ bxeq lr
+ add r0, r0, r5
+ sub r1, r5, #0x1
+ mvn r2, r1
+ sub r0, r0, #0x1
+ and r4, r2, r0
+ add r0, r4, r6
+ add r0, r0, r5
+ sub r1, r0, #0x1
+ mov r0, r7
+ and r5, r2, r1
+ bl OS_GetArenaHi
+ cmp r5, r0
+ addhi sp, sp, #0x4
+ movhi r0, #0x0
+ ldmhiia sp!, {r4-r7, lr}
+ bxhi lr
+ mov r0, r7
+ mov r1, r5
+ bl OS_SetArenaLo
+ mov r0, r4
+ add sp, sp, #0x4
+ ldmia sp!, {r4-r7, lr}
+ bx lr
arm_func_start OS_SetArenaLo
OS_SetArenaLo: ; 0x020CC2F4
@@ -3004,26 +3118,69 @@ OS_GetInitArenaLo: ; 0x020CC31C
addls pc, pc, r0, lsl #0x2
b _020CC3DC
_020CC330:
- .byte 0x05, 0x00, 0x00, 0xEA, 0x28, 0x00, 0x00, 0xEA, 0x07, 0x00, 0x00, 0xEA, 0x16, 0x00, 0x00, 0xEA
- .byte 0x19, 0x00, 0x00, 0xEA, 0x1C, 0x00, 0x00, 0xEA, 0x1F, 0x00, 0x00, 0xEA, 0x04, 0xD0, 0x8D, 0xE2
- .byte 0x94, 0x00, 0x9F, 0xE5, 0x00, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1, 0x8C, 0x00, 0x9F, 0xE5
- .byte 0x00, 0x00, 0x90, 0xE5, 0x00, 0x00, 0x50, 0xE3, 0x03, 0x00, 0x00, 0x0A, 0x13, 0xFE, 0xFF, 0xEB
- .byte 0x03, 0x00, 0x00, 0xE2, 0x01, 0x00, 0x50, 0xE3, 0x03, 0x00, 0x00, 0x1A, 0x04, 0xD0, 0x8D, 0xE2
- .byte 0x00, 0x00, 0xA0, 0xE3, 0x00, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1, 0x04, 0xD0, 0x8D, 0xE2
- .byte 0x5C, 0x00, 0x9F, 0xE5, 0x00, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1, 0x04, 0xD0, 0x8D, 0xE2
- .byte 0x50, 0x00, 0x9F, 0xE5, 0x00, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1, 0x04, 0xD0, 0x8D, 0xE2
- .byte 0x44, 0x00, 0x9F, 0xE5, 0x00, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1, 0x04, 0xD0, 0x8D, 0xE2
- .byte 0x38, 0x00, 0x9F, 0xE5, 0x00, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1, 0x04, 0xD0, 0x8D, 0xE2
- .byte 0x2C, 0x00, 0x9F, 0xE5, 0x00, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ b _020CC34C
+ b _020CC3DC
+ b _020CC35C
+ b _020CC39C
+ b _020CC3AC
+ b _020CC3BC
+ b _020CC3CC
+_020CC34C:
+ add sp, sp, #0x4
+ ldr r0, _020CC3EC ; =0x0225FFA0
+ ldmfd sp!, {lr}
+ bx lr
+_020CC35C:
+ ldr r0, _020CC3F0 ; =0x021D36F4
+ ldr r0, [r0]
+ cmp r0, #0x0
+ beq _020CC37C
+ bl OS_GetConsoleType
+ and r0, r0, #0x3
+ cmp r0, #0x1
+ bne _020CC38C
+_020CC37C:
+ add sp, sp, #0x4
+ mov r0, #0x0
+ ldmfd sp!, {lr}
+ bx lr
+_020CC38C:
+ add sp, sp, #0x4
+ ldr r0, _020CC3F4 ; =0x023E0000
+ ldmfd sp!, {lr}
+ bx lr
+_020CC39C:
+ add sp, sp, #0x4
+ ldr r0, _020CC3F8 ; =0x01FF8720
+ ldmfd sp!, {lr}
+ bx lr
+_020CC3AC:
+ add sp, sp, #0x4
+ ldr r0, _020CC3FC ; =0x027E0080
+ ldmfd sp!, {lr}
+ bx lr
+_020CC3BC:
+ add sp, sp, #0x4
+ ldr r0, _020CC400 ; =0x027FF000
+ ldmfd sp!, {lr}
+ bx lr
+_020CC3CC:
+ add sp, sp, #0x4
+ ldr r0, _020CC404 ; =0x037F8000
+ ldmfd sp!, {lr}
+ bx lr
_020CC3DC:
mov r0, #0x0
add sp, sp, #0x4
ldmia sp!, {lr}
bx lr
-_020CC3EC:
- .byte 0xA0, 0xFF, 0x25, 0x02
- .byte 0xF4, 0x36, 0x1D, 0x02, 0x00, 0x00, 0x3E, 0x02, 0x20, 0x87, 0xFF, 0x01, 0x80, 0x00, 0x7E, 0x02
- .byte 0x00, 0xF0, 0x7F, 0x02, 0x00, 0x80, 0x7F, 0x03
+_020CC3EC: .word 0x0225FFA0
+_020CC3F0: .word 0x021D36F4
+_020CC3F4: .word 0x023E0000
+_020CC3F8: .word 0x01FF8720
+_020CC3FC: .word 0x027E0080
+_020CC400: .word 0x027FF000
+_020CC404: .word 0x037F8000
arm_func_start OS_GetInitArenaHi
OS_GetInitArenaHi: ; 0x020CC408
@@ -3033,31 +3190,87 @@ OS_GetInitArenaHi: ; 0x020CC408
addls pc, pc, r0, lsl #0x2
b _020CC508
_020CC41C:
- .byte 0x05, 0x00, 0x00, 0xEA
- .byte 0x38, 0x00, 0x00, 0xEA, 0x07, 0x00, 0x00, 0xEA, 0x16, 0x00, 0x00, 0xEA, 0x19, 0x00, 0x00, 0xEA
- .byte 0x2C, 0x00, 0x00, 0xEA, 0x2F, 0x00, 0x00, 0xEA, 0x04, 0xD0, 0x8D, 0xE2, 0xD4, 0x00, 0x9F, 0xE5
- .byte 0x00, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1, 0xCC, 0x00, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5
- .byte 0x00, 0x00, 0x50, 0xE3, 0x03, 0x00, 0x00, 0x0A, 0xD8, 0xFD, 0xFF, 0xEB, 0x03, 0x00, 0x00, 0xE2
- .byte 0x01, 0x00, 0x50, 0xE3, 0x03, 0x00, 0x00, 0x1A, 0x04, 0xD0, 0x8D, 0xE2, 0x00, 0x00, 0xA0, 0xE3
- .byte 0x00, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1, 0x04, 0xD0, 0x8D, 0xE2, 0x27, 0x06, 0xA0, 0xE3
- .byte 0x00, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1, 0x04, 0xD0, 0x8D, 0xE2, 0x02, 0x04, 0xA0, 0xE3
- .byte 0x00, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1, 0x80, 0x00, 0x9F, 0xE5, 0x80, 0x10, 0x9F, 0xE5
- .byte 0x80, 0x20, 0x9F, 0xE5, 0xFE, 0x3D, 0x80, 0xE2, 0x00, 0x00, 0x51, 0xE3, 0x02, 0x20, 0x43, 0xE0
- .byte 0x05, 0x00, 0x00, 0x1A, 0x70, 0x10, 0x9F, 0xE5, 0x04, 0xD0, 0x8D, 0xE2, 0x01, 0x00, 0x50, 0xE1
- .byte 0x01, 0x00, 0xA0, 0x31, 0x00, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1, 0x00, 0x00, 0x51, 0xE3
- .byte 0x54, 0x00, 0x9F, 0xB5, 0x04, 0xD0, 0x8D, 0xE2, 0x01, 0x00, 0x40, 0xB0, 0x01, 0x00, 0x42, 0xA0
- .byte 0x00, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1, 0x04, 0xD0, 0x8D, 0xE2, 0x3C, 0x00, 0x9F, 0xE5
- .byte 0x00, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1, 0x04, 0xD0, 0x8D, 0xE2, 0x30, 0x00, 0x9F, 0xE5
- .byte 0x00, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ b _020CC438
+ b _020CC508
+ b _020CC448
+ b _020CC488
+ b _020CC498
+ b _020CC4E8
+ b _020CC4F8
+_020CC438:
+ add sp, sp, #0x4
+ ldr r0, _020CC518 ; =0x023E0000
+ ldmfd sp!, {lr}
+ bx lr
+_020CC448:
+ ldr r0, _020CC51C ; =0x021D36F4
+ ldr r0, [r0]
+ cmp r0, #0x0
+ beq _020CC468
+ bl OS_GetConsoleType
+ and r0, r0, #0x3
+ cmp r0, #0x1
+ bne _020CC478
+_020CC468:
+ add sp, sp, #0x4
+ mov r0, #0x0
+ ldmfd sp!, {lr}
+ bx lr
+_020CC478:
+ add sp, sp, #0x4
+ mov r0, #0x2700000
+ ldmfd sp!, {lr}
+ bx lr
+_020CC488:
+ add sp, sp, #0x4
+ mov r0, #0x2000000
+ ldmfd sp!, {lr}
+ bx lr
+_020CC498:
+ ldr r0, _020CC520 ; =0x027E0000
+ ldr r1, _020CC524 ; =0x00000000
+ ldr r2, _020CC528 ; =0x00000400
+ add r3, r0, #0x3f80
+ cmp r1, #0x0
+ sub r2, r3, r2
+ bne _020CC4CC
+ ldr r1, _020CC52C ; =0x027E0080
+ add sp, sp, #0x4
+ cmp r0, r1
+ movcc r0, r1
+ ldmfd sp!, {lr}
+ bx lr
+_020CC4CC:
+ cmp r1, #0x0
+ ldrlt r0, _020CC52C ; =0x027E0080
+ add sp, sp, #0x4
+ sublt r0, r0, r1
+ subge r0, r2, r1
+ ldmfd sp!, {lr}
+ bx lr
+_020CC4E8:
+ add sp, sp, #0x4
+ ldr r0, _020CC530 ; =0x027FF680
+ ldmfd sp!, {lr}
+ bx lr
+_020CC4F8:
+ add sp, sp, #0x4
+ ldr r0, _020CC534 ; =0x037F8000
+ ldmfd sp!, {lr}
+ bx lr
_020CC508:
mov r0, #0x0
add sp, sp, #0x4
ldmia sp!, {lr}
bx lr
-_020CC518:
- .byte 0x00, 0x00, 0x3E, 0x02, 0xF4, 0x36, 0x1D, 0x02
- .byte 0x00, 0x00, 0x7E, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x80, 0x00, 0x7E, 0x02
- .byte 0x80, 0xF6, 0x7F, 0x02, 0x00, 0x80, 0x7F, 0x03
+_020CC518: .word 0x023E0000
+_020CC51C: .word 0x021D36F4
+_020CC520: .word 0x027E0000
+_020CC524: .word 0x00000000
+_020CC528: .word 0x00000400
+_020CC52C: .word 0x027E0080
+_020CC530: .word 0x027FF680
+_020CC534: .word 0x037F8000
arm_func_start OS_GetArenaLo
OS_GetArenaLo:
@@ -3130,21 +3343,60 @@ OS_InitArena: ; 0x020CC5E0
mov r0, #0x0
bl OS_SetArenaHi
_020CC61C:
- .byte 0x00, 0x00, 0xA0, 0xE3
- .byte 0x3D, 0xFF, 0xFF, 0xEB, 0x00, 0x10, 0xA0, 0xE1, 0x00, 0x00, 0xA0, 0xE3, 0x30, 0xFF, 0xFF, 0xEB
- .byte 0x02, 0x00, 0xA0, 0xE3, 0x00, 0x10, 0xA0, 0xE3, 0x2D, 0xFF, 0xFF, 0xEB, 0x02, 0x00, 0xA0, 0xE3
- .byte 0x00, 0x10, 0xA0, 0xE3, 0x2F, 0xFF, 0xFF, 0xEB, 0x03, 0x00, 0xA0, 0xE3, 0x6D, 0xFF, 0xFF, 0xEB
- .byte 0x00, 0x10, 0xA0, 0xE1, 0x03, 0x00, 0xA0, 0xE3, 0x2A, 0xFF, 0xFF, 0xEB, 0x03, 0x00, 0xA0, 0xE3
- .byte 0x2D, 0xFF, 0xFF, 0xEB, 0x00, 0x10, 0xA0, 0xE1, 0x03, 0x00, 0xA0, 0xE3, 0x20, 0xFF, 0xFF, 0xEB
- .byte 0x04, 0x00, 0xA0, 0xE3, 0x63, 0xFF, 0xFF, 0xEB, 0x00, 0x10, 0xA0, 0xE1, 0x04, 0x00, 0xA0, 0xE3
- .byte 0x20, 0xFF, 0xFF, 0xEB, 0x04, 0x00, 0xA0, 0xE3, 0x23, 0xFF, 0xFF, 0xEB, 0x00, 0x10, 0xA0, 0xE1
- .byte 0x04, 0x00, 0xA0, 0xE3, 0x16, 0xFF, 0xFF, 0xEB, 0x05, 0x00, 0xA0, 0xE3, 0x59, 0xFF, 0xFF, 0xEB
- .byte 0x00, 0x10, 0xA0, 0xE1, 0x05, 0x00, 0xA0, 0xE3, 0x16, 0xFF, 0xFF, 0xEB, 0x05, 0x00, 0xA0, 0xE3
- .byte 0x19, 0xFF, 0xFF, 0xEB, 0x00, 0x10, 0xA0, 0xE1, 0x05, 0x00, 0xA0, 0xE3, 0x0C, 0xFF, 0xFF, 0xEB
- .byte 0x06, 0x00, 0xA0, 0xE3, 0x4F, 0xFF, 0xFF, 0xEB, 0x00, 0x10, 0xA0, 0xE1, 0x06, 0x00, 0xA0, 0xE3
- .byte 0x0C, 0xFF, 0xFF, 0xEB, 0x06, 0x00, 0xA0, 0xE3, 0x0F, 0xFF, 0xFF, 0xEB, 0x00, 0x10, 0xA0, 0xE1
- .byte 0x06, 0x00, 0xA0, 0xE3, 0x02, 0xFF, 0xFF, 0xEB, 0x04, 0xD0, 0x8D, 0xE2, 0x00, 0x40, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1
+ mov r0, #0x0
+ bl OS_GetInitArenaLo
+ mov r1, r0
+ mov r0, #0x0
+ bl OS_SetArenaLo
+ mov r0, #0x2
+ mov r1, #0x0
+ bl OS_SetArenaLo
+ mov r0, #0x2
+ mov r1, #0x0
+ bl OS_SetArenaHi
+ mov r0, #0x3
+ bl OS_GetInitArenaHi
+ mov r1, r0
+ mov r0, #0x3
+ bl OS_SetArenaHi
+ mov r0, #0x3
+ bl OS_GetInitArenaLo
+ mov r1, r0
+ mov r0, #0x3
+ bl OS_SetArenaLo
+ mov r0, #0x4
+ bl OS_GetInitArenaHi
+ mov r1, r0
+ mov r0, #0x4
+ bl OS_SetArenaHi
+ mov r0, #0x4
+ bl OS_GetInitArenaLo
+ mov r1, r0
+ mov r0, #0x4
+ bl OS_SetArenaLo
+ mov r0, #0x5
+ bl OS_GetInitArenaHi
+ mov r1, r0
+ mov r0, #0x5
+ bl OS_SetArenaHi
+ mov r0, #0x5
+ bl OS_GetInitArenaLo
+ mov r1, r0
+ mov r0, #0x5
+ bl OS_SetArenaLo
+ mov r0, #0x6
+ bl OS_GetInitArenaHi
+ mov r1, r0
+ mov r0, #0x6
+ bl OS_SetArenaHi
+ mov r0, #0x6
+ bl OS_GetInitArenaLo
+ mov r1, r0
+ mov r0, #0x6
+ bl OS_SetArenaLo
+ add sp, sp, #0x4
+ ldmfd sp!, {lr}
+ bx lr
_020CC6F4: .word 0x021D36F0
arm_func_start OS_FreeToHeap
@@ -3417,8 +3669,9 @@ _020CCA54:
mov r0, r0
b _020CCA54
_020CCA5C:
- .byte 0x0F, 0x50, 0xBD, 0xE8
- .byte 0x0C, 0xD0, 0xA0, 0xE1, 0x1E, 0xFF, 0x2F, 0xE1
+ ldmia sp!, {r0-r3,ip,lr}
+ mov sp, ip
+ bx lr
_020CCA68: .word 0x021D3724
_020CCA6C: .word 0x02000000
@@ -4147,14 +4400,27 @@ _020CD3D0:
mov r0, r0, lsr #0x10
bl CARD_LockRom
_020CD3E0:
- .byte 0x00, 0x00, 0xA0, 0xE3, 0x6B, 0x01, 0x00, 0xEB, 0x01, 0x00, 0xA0, 0xE3, 0x69, 0x01, 0x00, 0xEB
- .byte 0x02, 0x00, 0xA0, 0xE3, 0x67, 0x01, 0x00, 0xEB, 0x03, 0x00, 0xA0, 0xE3, 0x65, 0x01, 0x00, 0xEB
- .byte 0x01, 0x07, 0xA0, 0xE3, 0xA2, 0xF2, 0xFF, 0xEB, 0x00, 0x00, 0xE0, 0xE3, 0x73, 0xF2, 0xFF, 0xEB
- .byte 0x18, 0x10, 0x9F, 0xE5, 0x10, 0x00, 0xA0, 0xE3, 0x00, 0x40, 0x81, 0xE5, 0x04, 0x00, 0x00, 0xEB
- .byte 0x1F, 0xAC, 0xFC, 0xEB, 0x10, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ mov r0, #0x0
+ bl MI_StopDma
+ mov r0, #0x1
+ bl MI_StopDma
+ mov r0, #0x2
+ bl MI_StopDma
+ mov r0, #0x3
+ bl MI_StopDma
+ mov r0, #0x40000
+ bl OS_SetIrqMask
+ mvn r0, #0x0
+ bl OS_ResetRequestIrqMask
+ ldr r1, _020CD430
+ mov r0, #0x10
+ str r4, [r1]
+ bl OSi_SendToPxi
+ bl FUN_01FF84A4
+ ldmia sp!, {r4, lr}
+ bx lr
_020CD42C: .word 0x027FFC40
-_020CD430:
- .byte 0x20, 0xFC, 0x7F, 0x02
+_020CD430: .word 0x027FFC20
arm_func_start OSi_SendToPxi
OSi_SendToPxi: ; 0x020CD434
@@ -4162,13 +4428,16 @@ OSi_SendToPxi: ; 0x020CD434
mov r6, r0, lsl #0x8
mov r5, #0xc
mov r4, #0x0
+_020CD444:
mov r0, r5
mov r1, r6
mov r2, r4
bl PXI_SendWordByFifo
_020CD454:
- .byte 0x00, 0x00, 0x50, 0xE3, 0xF9, 0xFF, 0xFF, 0x1A, 0x70, 0x40, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ bne _020CD444
+ ldmia sp!, {r4-r6, lr}
+ bx lr
arm_func_start OSi_CommonCallback
OSi_CommonCallback: ; 0x020CD464
@@ -4206,16 +4475,21 @@ OS_InitReset: ; 0x020CD4A8
bl PXI_Init
mov r5, #0xc
mov r4, #0x1
+_020CD4DC:
mov r0, r5
mov r1, r4
bl PXI_IsCallbackReady
_020CD4E8:
- .byte 0x00, 0x00, 0x50, 0xE3, 0xFA, 0xFF, 0xFF, 0x0A
- .byte 0x14, 0x10, 0x9F, 0xE5, 0x0C, 0x00, 0xA0, 0xE3, 0x2F, 0x0A, 0x00, 0xEB, 0x04, 0xD0, 0x8D, 0xE2
- .byte 0x30, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ beq _020CD4DC
+ ldr r1, _020CD50C
+ mov r0, #0xC
+ bl PXI_SetFifoRecvCallback
+ add sp, sp, #0x4
+ ldmia sp!, {r4-r5, lr}
+ bx lr
_020CD508: .word 0x021D37DC
-_020CD50C:
- .byte 0x64, 0xD4, 0x0C, 0x02
+_020CD50C: .word 0x020CD464
arm_func_start OS_GetOwnerRtcOffset
OS_GetOwnerRtcOffset: ; 0x020CD510
@@ -4608,6 +4882,8 @@ _020CDA08:
.balign 4
_020CDA14: .word 0x040000B0
_020CDA18: .word 0x81400001
+
+ arm_func_start MI_WaitDma
MI_WaitDma:
stmdb sp!, {r4,lr}
mov r4, r0
@@ -4653,15 +4929,41 @@ MI_DmaCopy32Async: ; 0x020CDA8C
ldr r4, [sp, #0x18]
bl MIi_CheckDma0SourceAddress
_020CDAB0:
- .byte 0x00, 0x00, 0x55, 0xE3, 0x06, 0x00, 0x00, 0x1A, 0x00, 0x00, 0x54, 0xE3, 0xF0, 0x41, 0xBD, 0x08
- .byte 0x1E, 0xFF, 0x2F, 0x01, 0x1C, 0x00, 0x9D, 0xE5, 0x34, 0xFF, 0x2F, 0xE1, 0xF0, 0x41, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1, 0x08, 0x00, 0xA0, 0xE1, 0xCF, 0xFF, 0xFF, 0xEB, 0x00, 0x00, 0x54, 0xE3
- .byte 0x0B, 0x00, 0x00, 0x0A, 0x1C, 0x20, 0x9D, 0xE5, 0x08, 0x00, 0xA0, 0xE1, 0x04, 0x10, 0xA0, 0xE1
- .byte 0x07, 0xF1, 0xFF, 0xEB, 0x25, 0x31, 0xA0, 0xE1, 0x08, 0x00, 0xA0, 0xE1, 0x07, 0x10, 0xA0, 0xE1
- .byte 0x06, 0x20, 0xA0, 0xE1, 0x31, 0x33, 0x83, 0xE3, 0xB8, 0xAA, 0xFC, 0xEB, 0xF0, 0x41, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1, 0x25, 0x31, 0xA0, 0xE1, 0x08, 0x00, 0xA0, 0xE1, 0x07, 0x10, 0xA0, 0xE1
- .byte 0x06, 0x20, 0xA0, 0xE1, 0x21, 0x33, 0x83, 0xE3, 0xB0, 0xAA, 0xFC, 0xEB, 0xF0, 0x41, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r5, #0x0
+ bne _020CDAD4
+ cmp r4, #0x0
+ ldmeqia sp!, {r4-r8, lr}
+ bxeq lr
+ ldr r0, [sp, #0x1C]
+ blx r4
+ ldmia sp!, {r4-r8, lr}
+ bx lr
+_020CDAD4:
+ mov r0, r8
+ bl MI_WaitDma
+ cmp r4, #0x0
+ beq _020CDB14
+ ldr r2, [sp, #0x1C]
+ mov r0, r8
+ mov r1, r4
+ bl OSi_EnterDmaCallback
+ mov r3, r5, lsr #0x2
+ mov r0, r8
+ mov r1, r7
+ mov r2, r6
+ orr r3, r3, #0xc4000000
+ bl FUN_01FF85F0
+ ldmia sp!, {r4-r8, lr}
+ bx lr
+_020CDB14:
+ mov r3, r5, lsr #0x2
+ mov r0, r8
+ mov r1, r7
+ mov r2, r6
+ orr r3, r3, #0x84000000
+ bl FUN_01FF85F0
+ ldmia sp!, {r4-r8, lr}
+ bx lr
arm_func_start MI_DmaFill32Async
MI_DmaFill32Async: ; 0x020CDB34
@@ -4682,16 +4984,46 @@ MI_DmaFill32Async: ; 0x020CDB34
_020CDB6C:
bl MI_WaitDma
_020CDB70:
- .byte 0x00, 0x00, 0x58, 0xE3, 0x13, 0x00, 0x00, 0x0A, 0x1C, 0x20, 0x9D, 0xE5, 0x07, 0x00, 0xA0, 0xE1
- .byte 0x08, 0x10, 0xA0, 0xE1, 0xE2, 0xF0, 0xFF, 0xEB, 0xE0, 0xFD, 0xFF, 0xEB, 0x24, 0x31, 0xA0, 0xE1
- .byte 0x70, 0x10, 0x9F, 0xE5, 0x07, 0x21, 0xA0, 0xE1, 0x01, 0x23, 0x82, 0xE2, 0xE0, 0x50, 0x82, 0xE5
- .byte 0x00, 0x40, 0xA0, 0xE1, 0x07, 0x11, 0x81, 0xE0, 0x07, 0x00, 0xA0, 0xE1, 0x06, 0x20, 0xA0, 0xE1
- .byte 0xC5, 0x34, 0x83, 0xE3, 0x62, 0xAA, 0xFC, 0xEB, 0x04, 0x00, 0xA0, 0xE1, 0xD8, 0xFD, 0xFF, 0xEB
- .byte 0xF0, 0x41, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1, 0xD0, 0xFD, 0xFF, 0xEB, 0x34, 0x10, 0x9F, 0xE5
- .byte 0x07, 0x21, 0xA0, 0xE1, 0x24, 0x31, 0xA0, 0xE1, 0x00, 0x40, 0xA0, 0xE1, 0x01, 0xC3, 0x82, 0xE2
- .byte 0x07, 0x00, 0xA0, 0xE1, 0x06, 0x20, 0xA0, 0xE1, 0x07, 0x11, 0x81, 0xE0, 0x85, 0x34, 0x83, 0xE3
- .byte 0xE0, 0x50, 0x8C, 0xE5, 0x52, 0xAA, 0xFC, 0xEB, 0x04, 0x00, 0xA0, 0xE1, 0xC8, 0xFD, 0xFF, 0xEB
- .byte 0xF0, 0x41, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1, 0xE0, 0x00, 0x00, 0x04
+ cmp r8, #0x0
+ beq _020CDBC8
+ ldr r2, [sp, #0x1C]
+ mov r0, r7
+ mov r1, r8
+ bl OSi_EnterDmaCallback
+ bl OS_DisableInterrupts
+ mov r3, r4, lsr #2
+ ldr r1, _20CDC08
+ mov r2, r7, lsl #2
+ add r2, r2, #0x4000000
+ str r5, [r2, #0xE0]
+ mov r4, r0
+ add r1, r1, r7, lsl #0x2
+ mov r0, r7
+ mov r2, r6
+ orr r3, r3, #0xc5000000
+ bl FUN_01FF8544
+ mov r0, r4
+ bl OS_RestoreInterrupts
+ ldmia sp!, {r4-r8,lr}
+ bx lr
+_020CDBC8:
+ bl OS_DisableInterrupts
+ ldr r1, _20CDC08
+ mov r2, r7, lsl #0x2
+ mov r3, r4, lsr #0x2
+ mov r4, r0
+ add ip, r2, #0x4000000
+ mov r0, r7
+ mov r2, r6
+ add r1, r1, r7, lsl #0x2
+ orr r3, r3, #0x85000000
+ str r5, [ip, #0xE0]
+ bl FUN_01FF8544
+ mov r0, r4
+ bl OS_RestoreInterrupts
+ ldmia sp!, {r4-r8,lr}
+ bx lr
+_20CDC08: .word 0x040000E0
arm_func_start MI_DmaCopy16
MI_DmaCopy16: ; 0x020CDC0C
@@ -4721,8 +5053,11 @@ _020CDC48:
orr r3, r3, #0x80000000
bl FUN_01FF857C
_020CDC6C:
- .byte 0x00, 0x00, 0x94, 0xE5
- .byte 0x02, 0x01, 0x10, 0xE2, 0xFC, 0xFF, 0xFF, 0x1A, 0xF0, 0x41, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ ldr r0, [r4]
+ ands r0, r0, #0x80000000
+ bne _020CDC6C
+ ldmia sp!, {r4-r8,lr}
+ bx lr
_020CDC80: .word 0x040000B0
arm_func_start MI_DmaCopy32
@@ -4736,12 +5071,31 @@ MI_DmaCopy32: ; 0x020CDC84
mov r7, r1
bl MIi_CheckDma0SourceAddress
_020CDCA4:
- .byte 0x00, 0x00, 0x55, 0xE3, 0xF0, 0x41, 0xBD, 0x08, 0x1E, 0xFF, 0x2F, 0x01
- .byte 0x03, 0x00, 0xA0, 0xE3, 0x98, 0x00, 0x01, 0xE0, 0x3C, 0x00, 0x9F, 0xE5, 0x02, 0x10, 0x81, 0xE2
- .byte 0x01, 0x41, 0x80, 0xE0, 0x00, 0x00, 0x94, 0xE5, 0x02, 0x01, 0x10, 0xE2, 0xFC, 0xFF, 0xFF, 0x1A
- .byte 0x25, 0x31, 0xA0, 0xE1, 0x08, 0x00, 0xA0, 0xE1, 0x07, 0x10, 0xA0, 0xE1, 0x06, 0x20, 0xA0, 0xE1
- .byte 0x21, 0x33, 0x83, 0xE3, 0x24, 0xAA, 0xFC, 0xEB, 0x00, 0x00, 0x94, 0xE5, 0x02, 0x01, 0x10, 0xE2
- .byte 0xFC, 0xFF, 0xFF, 0x1A, 0xF0, 0x41, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1, 0xB0, 0x00, 0x00, 0x04
+ cmp r5, #0x0
+ ldmeqia sp!, {r4-r8,lr}
+ bxeq lr
+ mov r0, #0x3
+ mul r1, r8, r0
+ ldr r0, _020CDCFC
+ add r1, r1, #0x2
+ add r4, r0, r1, lsl #0x2
+_020CDCC4:
+ ldr r0, [r4]
+ ands r0, r0, #0x80000000
+ bne _020CDCC4
+ mov r3, r5, lsr #0x2
+ mov r0, r8
+ mov r1, r7
+ mov r2, r6
+ orr r3, r3, #0x84000000
+ bl FUN_01FF857C
+_020CDCE8:
+ ldr r0, [r4]
+ ands r0, r0, #0x80000000
+ bne _020CDCE8
+ ldmia sp!, {r4-r8,lr}
+ bx lr
+_020CDCFC: .word 0x040000B0
arm_func_start MI_DmaFill32
MI_DmaFill32: ; 0x020CDD00
@@ -4776,8 +5130,11 @@ _020CDD30:
mov r0, r4
bl OS_RestoreInterrupts
_020CDD74:
- .byte 0x00, 0x00, 0x95, 0xE5, 0x02, 0x01, 0x10, 0xE2, 0xFC, 0xFF, 0xFF, 0x1A
- .byte 0xF0, 0x41, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ ldr r0, [r5]
+ ands r0, r0, #0x80000000
+ bne _020CDD74
+ ldmia sp!, {r4-r8,lr}
+ bx lr
_020CDD88: .word 0x040000B0
_020CDD8C: .word 0x040000E0
@@ -4797,11 +5154,22 @@ MI_HBlankDmaCopy16: ; 0x020CDD90
mov r3, #0x0
bl MIi_CheckDma0SourceAddress
_020CDDC4:
- .byte 0x00, 0x00, 0x54, 0xE3, 0x04, 0xD0, 0x8D, 0x02, 0xF0, 0x40, 0xBD, 0x08
- .byte 0x1E, 0xFF, 0x2F, 0x01, 0x07, 0x00, 0xA0, 0xE1, 0x0F, 0xFF, 0xFF, 0xEB, 0x1C, 0x30, 0x9F, 0xE5
- .byte 0x07, 0x00, 0xA0, 0xE1, 0x06, 0x10, 0xA0, 0xE1, 0x05, 0x20, 0xA0, 0xE1, 0xA4, 0x30, 0x83, 0xE1
- .byte 0xFE, 0xA9, 0xFC, 0xEB, 0x04, 0xD0, 0x8D, 0xE2, 0xF0, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
- .byte 0x00, 0x00, 0x60, 0x92
+ cmp r4, #0x0
+ addeq sp, sp, #0x4
+ ldmeqia sp!, {r4-r7, lr}
+ bxeq lr
+ mov r0, r7
+ bl MI_WaitDma
+ ldr r3, _020CDE00
+ mov r0, r7
+ mov r1, r6
+ mov r2, r5
+ orr r3, r3, r4, lsr #0x1
+ bl FUN_01FF85F0
+ add sp, sp, #0x4
+ ldmia sp!, {r4-r7,lr}
+ bx lr
+_020CDE00: .word 0x92600000
arm_func_start MI_HBlankDmaCopy32
MI_HBlankDmaCopy32: ; 0x020CDE04
@@ -4819,11 +5187,22 @@ MI_HBlankDmaCopy32: ; 0x020CDE04
mov r3, #0x0
bl MIi_CheckDma0SourceAddress
_020CDE38:
- .byte 0x00, 0x00, 0x54, 0xE3, 0x04, 0xD0, 0x8D, 0x02
- .byte 0xF0, 0x40, 0xBD, 0x08, 0x1E, 0xFF, 0x2F, 0x01, 0x07, 0x00, 0xA0, 0xE1, 0xF2, 0xFE, 0xFF, 0xEB
- .byte 0x1C, 0x30, 0x9F, 0xE5, 0x07, 0x00, 0xA0, 0xE1, 0x06, 0x10, 0xA0, 0xE1, 0x05, 0x20, 0xA0, 0xE1
- .byte 0x24, 0x31, 0x83, 0xE1, 0xE1, 0xA9, 0xFC, 0xEB, 0x04, 0xD0, 0x8D, 0xE2, 0xF0, 0x40, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1, 0x00, 0x00, 0x60, 0x96
+ cmp r4, #0x0
+ addeq sp, sp, #0x4
+ ldmeqia sp!, {r4-r7,lr}
+ bxeq lr
+ mov r0, r7
+ bl MI_WaitDma
+ ldr r3, _020CDE74
+ mov r0, r7
+ mov r1, r6
+ mov r2, r5
+ orr r3, r3, r4, lsr #0x2
+ bl FUN_01FF85F0
+ add sp, sp, #0x4
+ ldmia sp!, {r4-r7,lr}
+ bx lr
+_020CDE74: .word 0x96600000
arm_func_start MIi_DMAFastCallback
MIi_DMAFastCallback: ; 0x020CDE78
@@ -5153,9 +5532,16 @@ _020CE2AC:
blt _020CE2AC
ldmia sp!, {r4-r10}
bx lr
-_020CE2C4:
- .byte 0x0C, 0x10, 0xB0, 0xE8, 0x0C, 0x10, 0xA1, 0xE8, 0x0C, 0x10, 0xB0, 0xE8
- .byte 0x0C, 0x10, 0xA1, 0xE8, 0x0C, 0x00, 0xB0, 0xE8, 0x0C, 0x00, 0xA1, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+
+ arm_func_start FUN_020CE2C4
+FUN_020CE2C4:
+ ldmia r0!, {r2, r3, ip}
+ stmia r1!, {r2, r3, ip}
+ ldmia r0!, {r2, r3, ip}
+ stmia r1!, {r2, r3, ip}
+ ldmia r0!, {r2, r3}
+ stmia r1!, {r2, r3}
+ bx lr
arm_func_start MI_Copy36B
MI_Copy36B: ; 0x020CE2E0
@@ -5404,12 +5790,29 @@ MIi_CardDmaCopy32: ; 0x020CE5BC
mov r3, #0x1000000
bl MIi_CheckDma0SourceAddress
_020CE5F0:
- .byte 0x00, 0x00, 0x57, 0xE3, 0x04, 0xD0, 0x8D, 0x02, 0xF0, 0x40, 0xBD, 0x08, 0x1E, 0xFF, 0x2F, 0x01
- .byte 0x03, 0x00, 0xA0, 0xE3, 0x96, 0x00, 0x01, 0xE0, 0x30, 0x00, 0x9F, 0xE5, 0x02, 0x10, 0x81, 0xE2
- .byte 0x01, 0x11, 0x80, 0xE0, 0x00, 0x00, 0x91, 0xE5, 0x02, 0x01, 0x10, 0xE2, 0xFC, 0xFF, 0xFF, 0x1A
- .byte 0x1C, 0x30, 0x9F, 0xE5, 0x06, 0x00, 0xA0, 0xE1, 0x05, 0x10, 0xA0, 0xE1, 0x04, 0x20, 0xA0, 0xE1
- .byte 0xEE, 0xA7, 0xFC, 0xEB, 0x04, 0xD0, 0x8D, 0xE2, 0xF0, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
- .byte 0xB0, 0x00, 0x00, 0x04, 0x01, 0x00, 0x00, 0xAF
+ cmp r7, #0x0
+ addeq sp, sp, #0x4
+ ldmeqia sp!, {r4-r7, lr}
+ bxeq lr
+ mov r0, #0x3
+ mul r1, r6, r0
+ ldr r0, _020CE640
+ add r1, r1, #0x2
+ add r1, r0, r1, lsl #0x2
+_020CE614:
+ ldr r0, [r1]
+ ands r0, r0, #0x80000000
+ bne _020CE614
+ ldr r3, _020CE644
+ mov r0, r6
+ mov r1, r5
+ mov r2, r4
+ bl FUN_01FF85F0
+ add sp, sp, #0x4
+ ldmia sp!, {r4-r7, lr}
+ bx lr
+_020CE640: .word 0x040000B0
+_020CE644: .word 0xAf000001
arm_func_start MI_Init
MI_Init: ; 0x020CE648
@@ -5417,9 +5820,11 @@ MI_Init: ; 0x020CE648
sub sp, sp, #0x4
mov r0, #0x3
bl MI_SetWramBank
-_020CE658:
- .byte 0x00, 0x00, 0xA0, 0xE3, 0xCD, 0xFC, 0xFF, 0xEB
- .byte 0x04, 0xD0, 0x8D, 0xE2, 0x00, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ mov r0, #0x0
+ bl MI_StopDma
+ add sp, sp, #0x4
+ ldmfd sp!, {lr}
+ bx lr
arm_func_start PushCommand_impl
PushCommand_impl: ; 0x020CE66C
@@ -5432,11 +5837,20 @@ PushCommand_impl: ; 0x020CE66C
mov r4, r3
bl SND_AllocCommand
_020CE68C:
- .byte 0x00, 0x00, 0x50, 0xE3
- .byte 0x04, 0xD0, 0x8D, 0x02, 0xF0, 0x40, 0xBD, 0x08, 0x1E, 0xFF, 0x2F, 0x01, 0x04, 0x70, 0x80, 0xE5
- .byte 0x08, 0x60, 0x80, 0xE5, 0x0C, 0x50, 0x80, 0xE5, 0x18, 0x10, 0x9D, 0xE5, 0x10, 0x40, 0x80, 0xE5
- .byte 0x14, 0x10, 0x80, 0xE5, 0xB1, 0x02, 0x00, 0xEB, 0x04, 0xD0, 0x8D, 0xE2, 0xF0, 0x40, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ addeq sp, sp, #0x4
+ ldmeqia sp!, {r4-r7, lr}
+ bxeq lr
+ str r7, [r0, #0x4]
+ str r6, [r0, #0x8]
+ str r5, [r0, #0xc]
+ ldr r1, [sp, #0x18]
+ str r4, [r0, #0x10]
+ str r1, [r0, #0x14]
+ bl SND_PushCommand
+ add sp, sp, #0x4
+ ldmia sp!, {r4-r7, lr}
+ bx lr
arm_func_start SNDi_SetTrackParam
SNDi_SetTrackParam: ; 0x020CE6C4
@@ -5664,9 +6078,15 @@ SND_SetupAlarm: ; 0x020CE978
mov r1, r3
bl SNDi_SetAlarmHandler
_020CE998:
- .byte 0x00, 0x00, 0x8D, 0xE5, 0x06, 0x10, 0xA0, 0xE1
- .byte 0x05, 0x20, 0xA0, 0xE1, 0x04, 0x30, 0xA0, 0xE1, 0x12, 0x00, 0xA0, 0xE3, 0x2E, 0xFF, 0xFF, 0xEB
- .byte 0x08, 0xD0, 0x8D, 0xE2, 0x70, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ str r0, [sp]
+ mov r1, r6
+ mov r2, r5
+ mov r3, r4
+ mov r0, #0x12
+ bl PushCommand_impl
+ add sp, sp, #0x8
+ ldmia sp!, {r4-r6, lr}
+ bx lr
arm_func_start SND_SetupCapture
SND_SetupCapture: ; 0x020CE9BC
@@ -5907,11 +6327,22 @@ IsCommandAvailable:
stmdb sp!, {r4,lr}
bl OS_IsRunOnEmulator
_020CEC94:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x01, 0x00, 0xA0, 0x03, 0x10, 0x40, 0xBD, 0x08
- .byte 0x1E, 0xFF, 0x2F, 0x01, 0x99, 0xF9, 0xFF, 0xEB, 0x20, 0x10, 0x9F, 0xE5, 0x10, 0x20, 0xA0, 0xE3
- .byte 0x00, 0x20, 0x81, 0xE5, 0x00, 0x40, 0x91, 0xE5, 0x99, 0xF9, 0xFF, 0xEB, 0x00, 0x00, 0x54, 0xE3
- .byte 0x01, 0x00, 0xA0, 0x13, 0x00, 0x00, 0xA0, 0x03, 0x10, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
- .byte 0x00, 0xF2, 0xFF, 0x04
+ cmp r0, #0x0
+ moveq r0, #0x1
+ ldmeqia sp!, {r4, lr}
+ bxeq lr
+ bl OS_DisableInterrupts
+ ldr r1, _020CECD0
+ mov r2, #0x10
+ str r2, [r1]
+ ldr r4, [r1]
+ bl OS_RestoreInterrupts
+ cmp r4, #0x0
+ movne r0, #0x1
+ moveq r0, #0x0
+ ldmia sp!, {r4, lr}
+ bx lr
+_020CECD0: .word 0x04FFF200
arm_func_start AllocCommand
AllocCommand: ; 0x020CECD4
@@ -5923,7 +6354,9 @@ AllocCommand: ; 0x020CECD4
bne _020CECFC
bl OS_RestoreInterrupts
_020CECF0:
- .byte 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ mov r0, #0x0
+ ldmia sp!, {r4, lr}
+ bx lr
_020CECFC:
ldr r2, [r4, #0x0]
str r2, [r1, #0x0]
@@ -5945,13 +6378,17 @@ RequestCommandProc: ; 0x020CED2C
sub sp, sp, #0x4
mov r5, #0x7
mov r4, #0x0
+_020CED3C:
mov r0, r5
mov r1, r4
mov r2, r4
bl PXI_SendWordByFifo
_020CED4C:
- .byte 0x00, 0x00, 0x50, 0xE3
- .byte 0xF9, 0xFF, 0xFF, 0xBA, 0x04, 0xD0, 0x8D, 0xE2, 0x30, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0
+ blt _020CED3C
+ add sp, sp, #0x4
+ ldmia sp!, {r4-r5,lr}
+ bx lr
arm_func_start InitPXI
InitPXI: ; 0x020CED60
@@ -5961,12 +6398,28 @@ InitPXI: ; 0x020CED60
bl PXI_SetFifoRecvCallback
bl IsCommandAvailable
_020CED74:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x70, 0x40, 0xBD, 0x08, 0x1E, 0xFF, 0x2F, 0x01
- .byte 0x07, 0x00, 0xA0, 0xE3, 0x01, 0x10, 0xA0, 0xE3, 0x01, 0x04, 0x00, 0xEB, 0x00, 0x00, 0x50, 0xE3
- .byte 0x70, 0x40, 0xBD, 0x18, 0x1E, 0xFF, 0x2F, 0x11, 0x64, 0x60, 0xA0, 0xE3, 0x07, 0x50, 0xA0, 0xE3
- .byte 0x01, 0x40, 0xA0, 0xE3, 0x06, 0x00, 0xA0, 0xE1, 0x74, 0xF9, 0xFF, 0xEB, 0x05, 0x00, 0xA0, 0xE1
- .byte 0x04, 0x10, 0xA0, 0xE1, 0xF6, 0x03, 0x00, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0xF8, 0xFF, 0xFF, 0x0A
- .byte 0x70, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ ldmeqia sp!, {r4-r6, lr}
+ bxeq lr
+ mov r0, #0x7
+ mov r1, #0x1
+ bl PXI_IsCallbackReady
+ cmp r0, #0x0
+ ldmneia sp!, {r4-r6, lr}
+ bxne lr
+ mov r6, #0x64
+ mov r5, #0x7
+ mov r4, #0x1
+_020CEDA4:
+ mov r0, r6
+ bl OS_SpinWait
+ mov r0, r5
+ mov r1, r4
+ bl PXI_IsCallbackReady
+ cmp r0, #0x0
+ beq _020CEDA4
+ ldmia sp!, {r4-r6, lr}
+ bx lr
_020CEDC8: .word PxiFifoCallback
arm_func_start PxiFifoCallback
@@ -6093,14 +6546,40 @@ SND_WaitForCommandProc: ; 0x020CEF30
mov r5, r0
bl SND_IsFinishedCommandTag
_020CEF40:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x04, 0xD0, 0x8D, 0x12, 0x30, 0x40, 0xBD, 0x18, 0x1E, 0xFF, 0x2F, 0x11
- .byte 0x00, 0x40, 0xA0, 0xE3, 0x04, 0x00, 0xA0, 0xE1, 0xC1, 0x00, 0x00, 0xEB, 0x00, 0x00, 0x50, 0xE3
- .byte 0xFB, 0xFF, 0xFF, 0x1A, 0x05, 0x00, 0xA0, 0xE1, 0xCB, 0xFF, 0xFF, 0xEB, 0x00, 0x00, 0x50, 0xE3
- .byte 0x04, 0xD0, 0x8D, 0x12, 0x30, 0x40, 0xBD, 0x18, 0x1E, 0xFF, 0x2F, 0x11, 0x6A, 0xFF, 0xFF, 0xEB
- .byte 0x05, 0x00, 0xA0, 0xE1, 0xC4, 0xFF, 0xFF, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x04, 0xD0, 0x8D, 0x12
- .byte 0x30, 0x40, 0xBD, 0x18, 0x1E, 0xFF, 0x2F, 0x11, 0x01, 0x40, 0xA0, 0xE3, 0x04, 0x00, 0xA0, 0xE1
- .byte 0xAF, 0x00, 0x00, 0xEB, 0x05, 0x00, 0xA0, 0xE1, 0xBB, 0xFF, 0xFF, 0xEB, 0x00, 0x00, 0x50, 0xE3
- .byte 0xF9, 0xFF, 0xFF, 0x0A, 0x04, 0xD0, 0x8D, 0xE2, 0x30, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ addne sp, sp, #0x4
+ ldmneia sp!, {r4-r5, lr}
+ bxne lr
+ mov r4, #0x0
+_020CEF54:
+ mov r0, r4
+ bl SND_RecvCommandReply
+ cmp r0, #0x0
+ bne _020CEF54
+ mov r0, r5
+ bl SND_IsFinishedCommandTag
+ cmp r0, #0x0
+ addne sp, sp, #0x4
+ ldmneia sp!, {r4-r5, lr}
+ bxne lr
+ bl RequestCommandProc
+ mov r0, r5
+ bl SND_IsFinishedCommandTag
+ cmp r0, #0x0
+ addne sp, sp, #0x4
+ ldmneia sp!, {r4-r5, lr}
+ bxne lr
+ mov r4, #0x1
+_020CEF9C:
+ mov r0, r4
+ bl SND_RecvCommandReply
+ mov r0, r5
+ bl SND_IsFinishedCommandTag
+ cmp r0, #0x0
+ beq _020CEF9C
+ add sp, sp, #0x4
+ ldmia sp!, {r4-r5, lr}
+ bx lr
arm_func_start SND_FlushCommand
SND_FlushCommand: ; 0x020CEFC0
@@ -6147,29 +6626,83 @@ _020CF03C:
mov r2, #0x0
bl PXI_SendWordByFifo
_020CF05C:
- .byte 0x00, 0x00, 0x50, 0xE3
- .byte 0x1E, 0x00, 0x00, 0xAA, 0x01, 0x00, 0x15, 0xE2, 0x05, 0x00, 0x00, 0x1A, 0x04, 0x00, 0xA0, 0xE1
- .byte 0xAB, 0xF8, 0xFF, 0xEB, 0x04, 0xD0, 0x8D, 0xE2, 0x00, 0x00, 0xA0, 0xE3, 0xF0, 0x43, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1, 0xD8, 0x10, 0x9F, 0xE5, 0x07, 0x00, 0xA0, 0xE3, 0x00, 0x10, 0x91, 0xE5
- .byte 0x00, 0x20, 0xA0, 0xE3, 0x11, 0x03, 0x00, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x0F, 0x00, 0x00, 0xAA
- .byte 0xBC, 0x60, 0x9F, 0xE5, 0x64, 0x90, 0xA0, 0xE3, 0x07, 0x80, 0xA0, 0xE3, 0x00, 0x70, 0xA0, 0xE3
- .byte 0x04, 0x00, 0xA0, 0xE1, 0x9A, 0xF8, 0xFF, 0xEB, 0x09, 0x00, 0xA0, 0xE1, 0xAF, 0xF8, 0xFF, 0xEB
- .byte 0x92, 0xF8, 0xFF, 0xEB, 0x00, 0x40, 0xA0, 0xE1, 0x08, 0x00, 0xA0, 0xE1, 0x00, 0x10, 0x96, 0xE5
- .byte 0x07, 0x20, 0xA0, 0xE1, 0x01, 0x03, 0x00, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0xF3, 0xFF, 0xFF, 0xBA
- .byte 0x02, 0x00, 0x15, 0xE2, 0x00, 0x00, 0x00, 0x0A, 0x0F, 0xFF, 0xFF, 0xEB, 0x7C, 0x00, 0x9F, 0xE5
- .byte 0x6C, 0x10, 0x9F, 0xE5, 0x00, 0x30, 0x90, 0xE5, 0x00, 0x50, 0x91, 0xE5, 0x01, 0x10, 0x83, 0xE2
- .byte 0x6C, 0x20, 0x9F, 0xE5, 0x00, 0x10, 0x80, 0xE5, 0x03, 0x51, 0x82, 0xE7, 0x08, 0x00, 0x51, 0xE3
- .byte 0x00, 0x10, 0xA0, 0xC3, 0x4C, 0x20, 0x9F, 0xE5, 0x00, 0x10, 0x80, 0xC5, 0x54, 0x10, 0x9F, 0xE5
- .byte 0x00, 0x30, 0x92, 0xE5, 0x00, 0x00, 0x91, 0xE5, 0x01, 0xC0, 0x83, 0xE2, 0x01, 0x60, 0x80, 0xE2
- .byte 0x2C, 0x50, 0x9F, 0xE5, 0x00, 0xE0, 0xA0, 0xE3, 0x3C, 0x30, 0x9F, 0xE5, 0x04, 0x00, 0xA0, 0xE1
- .byte 0x00, 0xE0, 0x85, 0xE5, 0x00, 0xE0, 0x83, 0xE5, 0x00, 0xC0, 0x82, 0xE5, 0x00, 0x60, 0x81, 0xE5
- .byte 0x73, 0xF8, 0xFF, 0xEB, 0x01, 0x00, 0xA0, 0xE3, 0x04, 0xD0, 0x8D, 0xE2, 0xF0, 0x43, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ bge _020CF0E0
+ ands r0, r5, #0x1
+ bne _020CF084
+ mov r0, r4
+ bl OS_RestoreInterrupts
+ add sp, sp, #0x4
+ mov r0, #0x0
+ ldmia sp!, {r4-r9, lr}
+ bx lr
+_020CF084:
+ ldr r1, _020CF164
+ mov r0, #0x7
+ ldr r1, [r1]
+ mov r2, #0x0
+ bl PXI_SendWordByFifo
+ cmp r0, #0x0
+ bge _020CF0E0
+ ldr r6, _020CF164
+ mov r9, #0x64
+ mov r8, #0x7
+ mov r7, #0x0
+_020CF0B0:
+ mov r0, r4
+ bl OS_RestoreInterrupts
+ mov r0, r9
+ bl OS_SpinWait
+ bl OS_DisableInterrupts
+ mov r4, r0
+ mov r0, r8
+ ldr r1, [r6]
+ mov r2, r7
+ bl PXI_SendWordByFifo
+ cmp r0, #0x0
+ blt _020CF0B0
+_020CF0E0:
+ ands r0, r5, #0x2
+ beq _020CF0EC
+ bl RequestCommandProc
+_020CF0EC:
+ ldr r0, _020CF170
+ ldr r1, _020CF164
+ ldr r3, [r0]
+ ldr r5, [r1]
+ add r1, r3, #0x1
+ ldr r2, _020CF174
+ str r1, [r0]
+ str r5, [r2, r3, lsl #2]
+ cmp r1, #0x8
+ movgt r1, #0x0
+ ldr r2, _020CF168
+ strgt r1, [r0]
+ ldr r1, _020CF178
+ ldr r3, [r2]
+ ldr r0, [r1]
+ add ip, r3, #0x1
+ add r6, r0, #0x1
+ ldr r5, _020CF164
+ mov lr, #0x0
+ ldr r3, _020CF17C
+ mov r0, r4
+ str lr, [r5]
+ str lr, [r3]
+ str ip, [r2]
+ str r6, [r1]
+ bl OS_RestoreInterrupts
+ mov r0, #0x1
+ add sp, sp, #0x4
+ ldmia sp!, {r4-r9, lr}
+ bx lr
_020CF164: .word 0x021D3840
_020CF168: .word 0x021D3854
_020CF16C: .word 0x021D3B00
-_020CF170:
- .byte 0x50, 0x38, 0x1D, 0x02, 0x5C, 0x38, 0x1D, 0x02, 0x58, 0x38, 0x1D, 0x02, 0x44, 0x38, 0x1D, 0x02
+_020CF170: .word 0x021D3850
+_020CF174: .word 0x021D385C
+_020CF178: .word 0x021D3858
+_020CF17C: .word 0x021D3844
arm_func_start SND_PushCommand
SND_PushCommand: ; 0x020CF180
@@ -6199,16 +6732,46 @@ SND_AllocCommand:
mov r4, r0
bl IsCommandAvailable
_020CF1D4:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x00, 0x00, 0xA0, 0x03, 0x10, 0x40, 0xBD, 0x08
- .byte 0x1E, 0xFF, 0x2F, 0x01, 0xBA, 0xFE, 0xFF, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x10, 0x40, 0xBD, 0x18
- .byte 0x1E, 0xFF, 0x2F, 0x11, 0x01, 0x00, 0x14, 0xE2, 0x00, 0x00, 0xA0, 0x03, 0x10, 0x40, 0xBD, 0x08
- .byte 0x1E, 0xFF, 0x2F, 0x01, 0xFC, 0xFE, 0xFF, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x09, 0x00, 0x00, 0xDA
- .byte 0x00, 0x40, 0xA0, 0xE3, 0x04, 0x00, 0xA0, 0xE1, 0x11, 0x00, 0x00, 0xEB, 0x00, 0x00, 0x50, 0xE3
- .byte 0xFB, 0xFF, 0xFF, 0x1A, 0xAA, 0xFE, 0xFF, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x03, 0x00, 0x00, 0x0A
- .byte 0x10, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1, 0x01, 0x00, 0xA0, 0xE3, 0x5F, 0xFF, 0xFF, 0xEB
- .byte 0xB9, 0xFE, 0xFF, 0xEB, 0x01, 0x40, 0xA0, 0xE3, 0x04, 0x00, 0xA0, 0xE1, 0x04, 0x00, 0x00, 0xEB
- .byte 0x9F, 0xFE, 0xFF, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0xFA, 0xFF, 0xFF, 0x0A, 0x10, 0x40, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ moveq r0, #0x0
+ ldmeqia sp!, {r4,lr}
+ bxeq lr
+ bl AllocCommand
+ cmp r0, #0x0
+ ldmneia sp!, {r4,lr}
+ bxne lr
+ ands r0, r4, #0x1
+ moveq r0, #0x0
+ ldmeqia sp!, {r4,lr}
+ bxeq lr
+ bl SND_CountWaitingCommand
+ cmp r0, #0x0
+ ble _020CF238
+ mov r4, #0x0
+_020CF214:
+ mov r0, r4
+ bl SND_RecvCommandReply
+ cmp r0, #0x0
+ bne _020CF214
+ bl AllocCommand
+ cmp r0, #0x0
+ beq _020CF240
+ ldmia sp!, {r4,lr}
+ bx lr
+_020CF238:
+ mov r0, #0x1
+ bl SND_FlushCommand
+_020CF240:
+ bl RequestCommandProc
+ mov r4, #0x1
+_020CF248:
+ mov r0, r4
+ bl SND_RecvCommandReply
+ bl AllocCommand
+ cmp r0, #0x0
+ beq _020CF248
+ ldmia sp!, {r4,lr}
+ bx lr
arm_func_start SND_RecvCommandReply
SND_RecvCommandReply: ; 0x020CF264
@@ -6245,8 +6808,9 @@ _020CF2C0:
mov r0, r5
bl OS_RestoreInterrupts
_020CF2DC:
- .byte 0x00, 0x00, 0xA0, 0xE3
- .byte 0x70, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ mov r0, #0x0
+ ldmia sp!, {r4-r6, lr}
+ bx lr
_020CF2E8:
ldr r0, _020CF384 ; =0x021D384C
ldr r2, _020CF388 ; =0x021D385C
@@ -6341,11 +6905,21 @@ _020CF3BC:
mov r0, r8
bl SND_AllocCommand
_020CF43C:
- .byte 0x00, 0x00, 0x50, 0xE3
- .byte 0x04, 0xD0, 0x8D, 0x02, 0xF0, 0x4F, 0xBD, 0x08, 0x1E, 0xFF, 0x2F, 0x01, 0x1D, 0x20, 0xA0, 0xE3
- .byte 0x0B, 0x10, 0xA0, 0xE1, 0x04, 0x20, 0x80, 0xE5, 0x00, 0x10, 0x91, 0xE5, 0x08, 0x10, 0x80, 0xE5
- .byte 0x46, 0xFF, 0xFF, 0xEB, 0x08, 0x00, 0xA0, 0xE1, 0xD4, 0xFE, 0xFF, 0xEB, 0x04, 0xD0, 0x8D, 0xE2
- .byte 0xF0, 0x4F, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ addeq sp, sp, #0x4
+ ldmeqia sp!, {r4-r11, lr}
+ bxeq lr
+ mov r2, #0x1D
+ mov r1, fp
+ str r2, [r0, #0x4]
+ ldr r1, [r1]
+ str r1, [r0, #0x8]
+ bl SND_PushCommand
+ mov r0, r8
+ bl SND_FlushCommand
+ add sp, sp, #0x4
+ ldmia sp!, {r4-r11, lr}
+ bx lr
_020CF478: .word 0x021D3B00
_020CF47C: .word 0x021D3838
_020CF480: .word 0x021D4B00
@@ -6647,19 +7221,36 @@ _020CF80C:
addls pc, pc, r3, lsl #0x2
b _020CF998
_020CF838:
- .byte 0x56, 0x00, 0x00, 0xEA, 0x06, 0x00, 0x00, 0xEA
- .byte 0x05, 0x00, 0x00, 0xEA, 0x04, 0x00, 0x00, 0xEA, 0x03, 0x00, 0x00, 0xEA, 0x02, 0x00, 0x00, 0xEA
+ b _020CF998
+ b _020CF85C
+ b _020CF85C
+ b _020CF85C
+ b _020CF85C
+ b _020CF85C
_020CF850:
cmp r3, #0x11
beq _020CF924
b _020CF998
_020CF85C:
- .byte 0x24, 0x34, 0xA0, 0xE1
- .byte 0x24, 0x54, 0x80, 0xE0, 0xB3, 0x40, 0x90, 0xE1, 0xB2, 0x30, 0xD5, 0xE1, 0x04, 0xD0, 0x8D, 0xE2
- .byte 0x01, 0x00, 0xA0, 0xE3, 0xB2, 0x40, 0xC1, 0xE1, 0xB4, 0x30, 0xC1, 0xE1, 0xB4, 0x40, 0xD5, 0xE1
- .byte 0xB6, 0x30, 0xD5, 0xE1, 0xB6, 0x40, 0xC1, 0xE1, 0xB8, 0x30, 0xC1, 0xE1, 0xB8, 0x30, 0xD5, 0xE1
- .byte 0xBA, 0x30, 0xC1, 0xE1, 0x00, 0x10, 0x92, 0xE5, 0x01, 0x10, 0x81, 0xE2, 0x00, 0x10, 0x82, 0xE5
- .byte 0x30, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ mov r3, r4, lsr #0x8
+ add r5, r0, r4, lsr #0x8
+ ldrh r4, [r0, r3]
+ ldrh r3, [r5, #0x2]
+ add sp, sp, #0x4
+ mov r0, #0x1
+ strh r4, [r1, #0x2]
+ strh r3, [r1, #0x4]
+ ldrh r4, [r5, #0x4]
+ ldrh r3, [r5, #0x6]
+ strh r4, [r1, #0x6]
+ strh r3, [r1, #0x8]
+ ldrh r3, [r5, #0x8]
+ strh r3, [r1, #0xA]
+ ldr r1, [r2]
+ add r1, r1, #0x1
+ str r1, [r2]
+ ldmia sp!, {r4-r5,lr}
+ bx lr
_020CF8A8:
add r5, r0, r4, lsr #0x8
b _020CF904
@@ -6969,8 +7560,9 @@ _020CFCB8:
bl OS_RestoreInterrupts
b _020CFBE0
_020CFCC8:
- .byte 0x08, 0xD0, 0x8D, 0xE2, 0xF0, 0x47, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1
+ add sp, sp, #0x8
+ ldmia sp!, {r4-r10, lr}
+ bx lr
_020CFCD4: .word 0x04000184
_020CFCD8: .word 0x021D5368
_020CFCDC: .word 0x04000188
@@ -7018,8 +7610,10 @@ _020CFD6C:
str r2, [r1, #0x0]
bl OS_RestoreInterrupts
_020CFD7C:
- .byte 0x00, 0x00, 0xA0, 0xE3
- .byte 0x04, 0xD0, 0x8D, 0xE2, 0x00, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ mov r0, #0x0
+ add sp, sp, #0x4
+ ldmfd sp!, {lr}
+ bx lr
_020CFD8C: .word 0x04000184
_020CFD90: .word 0x04000188
@@ -7177,11 +7771,25 @@ FSi_TranslateCommand:
addls pc, pc, r6, lsl #0x2
b _020CFFE8
_020CFFA0:
- .byte 0x07, 0x00, 0x00, 0xEA, 0x06, 0x00, 0x00, 0xEA, 0x0E, 0x00, 0x00, 0xEA, 0x0D, 0x00, 0x00, 0xEA
- .byte 0x03, 0x00, 0x00, 0xEA, 0x0B, 0x00, 0x00, 0xEA, 0x0A, 0x00, 0x00, 0xEA, 0x09, 0x00, 0x00, 0xEA
- .byte 0x01, 0x00, 0x00, 0xEA, 0x14, 0x60, 0x88, 0xE5, 0x06, 0x00, 0x00, 0xEA, 0x58, 0x10, 0x95, 0xE5
- .byte 0x04, 0x00, 0xE0, 0xE1, 0x00, 0x00, 0x01, 0xE0, 0x58, 0x00, 0x85, 0xE5, 0x07, 0x60, 0xA0, 0xE3
- .byte 0x00, 0x00, 0x00, 0xEA
+ b _020CFFC4
+ b _020CFFC4
+ b _020CFFE8
+ b _020CFFE8
+ b _020CFFC4
+ b _020CFFE8
+ b _020CFFE8
+ b _020CFFE8
+ b _020CFFCC
+_020CFFC4:
+ str r6, [r8, #0x14]
+ b _020CFFE8
+_020CFFCC:
+ ldr r1, [r5, #0x58]
+ mvn r0, r4
+ and r0, r1, r0
+ str r0, [r5, #0x58]
+ mov r6, #0x7
+ b _020CFFE8
_020CFFE4:
mov r6, #0x7
_020CFFE8:
@@ -7311,10 +7919,21 @@ FSi_OpenFileFastCommand: ; 0x020D0144
str r3, [sp, #0xc]
bl FSi_ReadTable
_020D0194:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x14, 0xD0, 0x8D, 0x12, 0x30, 0x40, 0xBD, 0x18
- .byte 0x1E, 0xFF, 0x2F, 0x11, 0x00, 0x10, 0x9D, 0xE5, 0x05, 0x00, 0xA0, 0xE1, 0x30, 0x10, 0x85, 0xE5
- .byte 0x04, 0x20, 0x9D, 0xE5, 0x07, 0x10, 0xA0, 0xE3, 0x34, 0x20, 0x85, 0xE5, 0x38, 0x40, 0x85, 0xE5
- .byte 0x5B, 0xFF, 0xFF, 0xEB, 0x14, 0xD0, 0x8D, 0xE2, 0x30, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0
+ addne sp, sp, #0x14
+ ldmneia sp!, {r4-r5,lr}
+ bxne lr
+ ldr r1, [sp]
+ mov r0, r5
+ str r1, [r5, #0x30]
+ ldr r2, [sp, #0x4]
+ mov r1, #7
+ str r2, [r5, #0x34]
+ str r4, [r5, #0x38]
+ bl FSi_TranslateCommand
+ add sp, sp, #0x14
+ ldmia sp!, {r4-r5,lr}
+ bx lr
arm_func_start FSi_GetPathCommand
FSi_GetPathCommand: ; 0x020D01D0
@@ -7347,6 +7966,7 @@ FSi_GetPathCommand: ; 0x020D01D0
add r8, sp, #0x98
mov r6, #0x3
mov r7, #0x1
+_020D0244:
mov r0, r8
mov r1, r10
bl FSi_SeekDirDirect
@@ -7359,11 +7979,28 @@ FSi_GetPathCommand: ; 0x020D01D0
str r7, [sp, #0xcc]
bl FSi_TranslateCommand
_020D0270:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x0B, 0x00, 0x00, 0x1A, 0x10, 0x00, 0x9D, 0xE5, 0x00, 0x00, 0x50, 0xE3
- .byte 0x03, 0x00, 0x00, 0x1A, 0x08, 0x00, 0x9D, 0xE5, 0x04, 0x00, 0x50, 0xE1, 0xBC, 0x5B, 0xDD, 0x01
- .byte 0x04, 0x00, 0x00, 0x0A, 0x08, 0x00, 0xA0, 0xE1, 0x06, 0x10, 0xA0, 0xE1, 0x24, 0xFF, 0xFF, 0xEB
- .byte 0x00, 0x00, 0x50, 0xE3, 0xF3, 0xFF, 0xFF, 0x0A, 0x01, 0x08, 0x55, 0xE3, 0x02, 0x00, 0x00, 0x1A
- .byte 0x01, 0xA0, 0x8A, 0xE2, 0x09, 0x00, 0x5A, 0xE1, 0xE1, 0xFF, 0xFF, 0x3A
+ cmp r0, #0x0
+ bne _020D02A8
+_020D0278:
+ ldr r0, [sp, #0x10]
+ cmp r0, #0x0
+ bne _020D0294
+ ldr r0, [sp, #0x8]
+ cmp r0, r4
+ ldreqh r5, [sp, #0xbc]
+ beq _020D02A8
+_020D0294:
+ mov r0, r8
+ mov r1, r6
+ bl FSi_TranslateCommand
+ cmp r0, #0x0
+ beq _020D0278
+_020D02A8:
+ cmp r5, #0x10000
+ bne _020D02BC
+ add sl, sl, #0x1
+ cmp sl, r9
+ bcc _020D0244
_020D02BC:
cmp r5, #0x10000
moveq r0, #0x0
@@ -7398,6 +8035,7 @@ _020D0308:
add r8, sp, #0x98
mov r6, #0x3
mov r7, #0x1
+_020D033C:
ldr r1, [sp, #0xc4]
mov r0, r8
bl FSi_SeekDirDirect
@@ -7408,11 +8046,28 @@ _020D0308:
str r7, [sp, #0xcc]
bl FSi_TranslateCommand
_020D0360:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x0D, 0x00, 0x00, 0x1A, 0x10, 0x00, 0x9D, 0xE5, 0x00, 0x00, 0x50, 0xE3
- .byte 0x05, 0x00, 0x00, 0x0A, 0xB8, 0x00, 0xDD, 0xE1, 0x0A, 0x00, 0x50, 0xE1, 0x14, 0x00, 0x9D, 0x05
- .byte 0x01, 0x00, 0x80, 0x02, 0x00, 0x90, 0x89, 0x00, 0x04, 0x00, 0x00, 0x0A, 0x08, 0x00, 0xA0, 0xE1
- .byte 0x06, 0x10, 0xA0, 0xE1, 0xE6, 0xFE, 0xFF, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0xF1, 0xFF, 0xFF, 0x0A
- .byte 0xBC, 0xAB, 0xDD, 0xE1, 0x00, 0x00, 0x5A, 0xE3, 0xE3, 0xFF, 0xFF, 0x1A
+ cmp r0, #0x0
+ bne _020D03A0
+_020D0368:
+ ldr r0, [sp, #0x10]
+ cmp r0, #0x0
+ beq _020D038C
+ ldrh r0, [sp, #0x8]
+ cmp r0, sl
+ ldreq r0, [sp, #0x14]
+ addeq r0, r0, #0x1
+ addeq r9, r9, r0
+ beq _020D03A0
+_020D038C:
+ mov r0, r8
+ mov r1, r6
+ bl FSi_TranslateCommand
+ cmp r0, #0x0
+ beq _020D0368
+_020D03A0:
+ ldrh sl, [sp, #0xbc]
+ cmp sl, #0x0
+ bne _020D033C
_020D03AC:
add r0, r9, #0x1
strh r0, [r11, #0x8]
@@ -7463,18 +8118,39 @@ _020D0410:
str r2, [sp, #0xcc]
bl FSi_TranslateCommand
_020D0464:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x0C, 0x00, 0x00, 0x1A, 0x98, 0x90, 0x8D, 0xE2
- .byte 0x03, 0x80, 0xA0, 0xE3, 0x10, 0x00, 0x9D, 0xE5, 0x00, 0x00, 0x50, 0xE3, 0x02, 0x00, 0x00, 0x1A
- .byte 0x08, 0x00, 0x9D, 0xE5, 0x04, 0x00, 0x50, 0xE1, 0x04, 0x00, 0x00, 0x0A, 0x09, 0x00, 0xA0, 0xE1
- .byte 0x08, 0x10, 0xA0, 0xE1, 0xA6, 0xFE, 0xFF, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0xF4, 0xFF, 0xFF, 0x0A
- .byte 0x14, 0x00, 0x9D, 0xE5, 0x06, 0x10, 0x87, 0xE0, 0x01, 0x40, 0x80, 0xE2, 0x18, 0x00, 0x8D, 0xE2
- .byte 0x04, 0x20, 0xA0, 0xE1, 0x04, 0x10, 0x41, 0xE0, 0xC8, 0xF7, 0xFF, 0xEB, 0x04, 0x60, 0x46, 0xE0
- .byte 0x03, 0x00, 0x00, 0xEA
+ cmp r0, #0x0
+ bne _020D04A0
+ add r9, sp, #0x98
+ mov r8, #0x3
+_020D0474:
+ ldr r0, [sp, #0x10]
+ cmp r0, #0x0
+ bne _020D048C
+ ldr r0, [sp, #0x8]
+ cmp r0, r4
+ beq _020D04A0
+_020D048C:
+ mov r0, r9
+ mov r1, r8
+ bl FSi_TranslateCommand
+ cmp r0, #0x0
+ beq _020D0474
+_020D04A0:
+ ldr r0, [sp, #0x14]
+ add r1, r7, r6
+ add r4, r0, #0x1
+ add r0, sp, #0x18
+ mov r2, r4
+ sub r1, r1, r4
+ bl MI_CpuCopy8
+ sub r6, r6, r4
+ b _020D04D4
_020D04C4:
add r0, r7, r6
mov r1, #0x0
strb r1, [r0, #-0x1]
sub r6, r6, #0x1
+_020D04D4:
cmp r5, #0x0
beq _020D057C
add r10, sp, #0x98
@@ -7482,6 +8158,7 @@ _020D04C4:
mov r4, #0x3
mov r9, #0x0
mov r8, #0x2f
+_020D04F0:
ldr r1, [sp, #0xc4]
mov r0, r10
bl FSi_SeekDirDirect
@@ -7494,13 +8171,33 @@ _020D04C4:
sub r6, r6, #0x1
bl FSi_TranslateCommand
_020D051C:
- .byte 0x00, 0x00, 0x50, 0xE3
- .byte 0x12, 0x00, 0x00, 0x1A, 0x10, 0x00, 0x9D, 0xE5, 0x00, 0x00, 0x50, 0xE3, 0x0A, 0x00, 0x00, 0x0A
- .byte 0xB8, 0x00, 0xDD, 0xE1, 0x05, 0x00, 0x50, 0xE1, 0x07, 0x00, 0x00, 0x1A, 0x14, 0x50, 0x9D, 0xE5
- .byte 0x06, 0x10, 0x87, 0xE0, 0x18, 0x00, 0x8D, 0xE2, 0x05, 0x20, 0xA0, 0xE1, 0x05, 0x10, 0x41, 0xE0
- .byte 0xA2, 0xF7, 0xFF, 0xEB, 0x05, 0x60, 0x46, 0xE0, 0x04, 0x00, 0x00, 0xEA, 0x0A, 0x00, 0xA0, 0xE1
- .byte 0x04, 0x10, 0xA0, 0xE1, 0x72, 0xFE, 0xFF, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0xEC, 0xFF, 0xFF, 0x0A
- .byte 0xBC, 0x5B, 0xDD, 0xE1, 0x00, 0x00, 0x55, 0xE3, 0xDC, 0xFF, 0xFF, 0x1A
+ cmp r0, #0x0
+ bne _020D0570
+_020D0524:
+ ldr r0, [sp, #0x10]
+ cmp r0, #0x0
+ beq _020D055C
+ ldrh r0, [sp, #0x8]
+ cmp r0, r5
+ bne _020D055C
+ ldr r5, [sp, #0x14]
+ add r1, r7, r6
+ add r0, sp, #0x18
+ mov r2, r5
+ sub r1, r1, r5
+ bl MI_CpuCopy8
+ sub r6, r6, r5
+ b _020D0570
+_020D055C:
+ mov r0, sl
+ mov r1, r4
+ bl FSi_TranslateCommand
+ cmp r0, #0x0
+ beq _020D0524
+_020D0570:
+ ldrh r5, [sp, #0xbc]
+ cmp r5, #0x0
+ bne _020D04F0
_020D057C:
mov r0, #0x0
add sp, sp, #0xe4
@@ -7590,22 +8287,55 @@ _020D068C:
add r0, sp, #0x8
str r0, [r10, #0x30]
str r6, [r10, #0x34]
+_020D06AC:
mov r0, r10
mov r1, r4
bl FSi_TranslateCommand
_020D06B8:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x9C, 0xD0, 0x8D, 0x12
- .byte 0x01, 0x00, 0xA0, 0x13, 0xF0, 0x4F, 0xBD, 0x18, 0x1E, 0xFF, 0x2F, 0x11, 0x14, 0x00, 0x9D, 0xE5
- .byte 0x00, 0x00, 0x58, 0xE1, 0xF4, 0xFF, 0xFF, 0x1A, 0x18, 0x00, 0x9D, 0xE5, 0x00, 0x00, 0x57, 0xE1
- .byte 0xF1, 0xFF, 0xFF, 0x1A, 0x09, 0x00, 0xA0, 0xE1, 0x0B, 0x10, 0xA0, 0xE1, 0x07, 0x20, 0xA0, 0xE1
- .byte 0xF9, 0x00, 0x00, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0xEB, 0xFF, 0xFF, 0x1A, 0x00, 0x00, 0x58, 0xE3
- .byte 0x08, 0x00, 0x00, 0x0A, 0x08, 0x00, 0x8D, 0xE2, 0x30, 0x30, 0x8A, 0xE2, 0x07, 0x00, 0x90, 0xE8
- .byte 0x07, 0x00, 0x83, 0xE8, 0x04, 0x10, 0x9D, 0xE5, 0x0A, 0x00, 0xA0, 0xE1, 0x07, 0x90, 0x89, 0xE0
- .byte 0x03, 0xFE, 0xFF, 0xEB, 0x0E, 0x00, 0x00, 0xEA, 0x00, 0x00, 0x9D, 0xE5, 0x00, 0x00, 0x50, 0xE3
- .byte 0x9C, 0xD0, 0x8D, 0x12, 0x01, 0x00, 0xA0, 0x13, 0xF0, 0x4F, 0xBD, 0x18, 0x1E, 0xFF, 0x2F, 0x11
- .byte 0x44, 0x30, 0x9A, 0xE5, 0x08, 0x20, 0x9D, 0xE5, 0x0C, 0x10, 0x9D, 0xE5, 0x9C, 0xD0, 0x8D, 0xE2
- .byte 0x00, 0x20, 0x83, 0xE5, 0x04, 0x10, 0x83, 0xE5, 0x00, 0x00, 0xA0, 0xE3, 0xF0, 0x4F, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ addne sp, sp, #0x9c
+ movne r0, #0x1
+ ldmneia sp!, {r4-r11,lr}
+ bxne lr
+ ldr r0, [sp, #0x14]
+ cmp r8, r0
+ bne _020D06AC
+ ldr r0, [sp, #0x18]
+ cmp r7, r0
+ bne _020D06AC
+ mov r0, r9
+ mov r1, fp
+ mov r2, r7
+ bl FSi_StrNICmp
+ cmp r0, #0x0
+ bne _020D06AC
+ cmp r8, #0x0
+ beq _020D0728
+ add r0, sp, #0x8
+ add r3, sl, #0x30
+ ldmia r0, {r0, r1, r2}
+ stmia r3, {r0, r1, r2}
+ ldr r1, [sp, #0x4]
+ mov r0, sl
+ add r9, r9, r7
+ bl FSi_TranslateCommand
+ b _020D0764
+_020D0728:
+ ldr r0, [sp]
+ cmp r0, #0x0
+ addne sp, sp, #0x9c
+ movne r0, #0x1
+ ldmneia sp!, {r4-r11,lr}
+ bxne lr
+ ldr r3, [sl, #0x44]
+ ldr r2, [sp, #0x8]
+ ldr r1, [sp, #0xC]
+ add sp, sp, #0x9c
+ str r2, [r3]
+ str r1, [r3, #0x4]
+ mov r0, #0x0
+ ldmia sp!, {r4-r11,lr}
+ bx lr
_020D0764:
ldrb r0, [r9, #0x0]
cmp r0, #0x0
@@ -7642,24 +8372,78 @@ FSi_ReadDirCommand: ; 0x020D07AC
str r3, [sp, #0x8]
bl FSi_ReadTable
_020D07DC:
- .byte 0x00, 0x00, 0x50, 0xE3
- .byte 0x0C, 0xD0, 0x8D, 0x12, 0x30, 0x40, 0xBD, 0x18, 0x1E, 0xFF, 0x2F, 0x11, 0x00, 0x10, 0xDD, 0xE5
- .byte 0x7F, 0x20, 0x01, 0xE2, 0xC1, 0x13, 0xA0, 0xE1, 0x10, 0x20, 0x84, 0xE5, 0x01, 0x10, 0x01, 0xE2
- .byte 0x0C, 0x10, 0x84, 0xE5, 0x10, 0x20, 0x94, 0xE5, 0x00, 0x00, 0x52, 0xE3, 0x0C, 0xD0, 0x8D, 0x02
- .byte 0x01, 0x00, 0xA0, 0x03, 0x30, 0x40, 0xBD, 0x08, 0x1E, 0xFF, 0x2F, 0x01, 0x34, 0x10, 0x95, 0xE5
- .byte 0x00, 0x00, 0x51, 0xE3, 0x0B, 0x00, 0x00, 0x1A, 0x04, 0x00, 0x8D, 0xE2, 0x14, 0x10, 0x84, 0xE2
- .byte 0x7E, 0x00, 0x00, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x0C, 0xD0, 0x8D, 0x12, 0x30, 0x40, 0xBD, 0x18
- .byte 0x1E, 0xFF, 0x2F, 0x11, 0x10, 0x10, 0x94, 0xE5, 0x00, 0x20, 0xA0, 0xE3, 0x01, 0x10, 0x84, 0xE0
- .byte 0x14, 0x20, 0xC1, 0xE5, 0x02, 0x00, 0x00, 0xEA, 0x08, 0x10, 0x9D, 0xE5, 0x02, 0x10, 0x81, 0xE0
- .byte 0x08, 0x10, 0x8D, 0xE5, 0x0C, 0x10, 0x94, 0xE5, 0x00, 0x00, 0x51, 0xE3, 0x11, 0x00, 0x00, 0x0A
- .byte 0x04, 0x00, 0x8D, 0xE2, 0x02, 0x10, 0x8D, 0xE2, 0x02, 0x20, 0xA0, 0xE3, 0x6B, 0x00, 0x00, 0xEB
- .byte 0x00, 0x00, 0x50, 0xE3, 0x0C, 0xD0, 0x8D, 0x12, 0x30, 0x40, 0xBD, 0x18, 0x1E, 0xFF, 0x2F, 0x11
- .byte 0x08, 0x20, 0x95, 0xE5, 0x4C, 0x10, 0x9F, 0xE5, 0x00, 0x20, 0x84, 0xE5, 0xB2, 0x30, 0xDD, 0xE1
- .byte 0x00, 0x20, 0xA0, 0xE3, 0x01, 0x10, 0x03, 0xE0, 0xB4, 0x10, 0xC4, 0xE1, 0xB6, 0x20, 0xC4, 0xE1
- .byte 0x08, 0x20, 0x84, 0xE5, 0x06, 0x00, 0x00, 0xEA, 0x08, 0x10, 0x95, 0xE5, 0x00, 0x10, 0x84, 0xE5
- .byte 0xB6, 0x12, 0xD5, 0xE1, 0x04, 0x10, 0x84, 0xE5, 0xB6, 0x12, 0xD5, 0xE1, 0x01, 0x10, 0x81, 0xE2
- .byte 0xB6, 0x12, 0xC5, 0xE1, 0x08, 0x10, 0x9D, 0xE5, 0x28, 0x10, 0x85, 0xE5, 0x0C, 0xD0, 0x8D, 0xE2
- .byte 0x30, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1, 0xFF, 0x0F, 0x00, 0x00
+ cmp r0, #0x0
+ addne sp, sp, #0xC
+ ldmneia sp!, {r4-r5,lr}
+ bxne lr
+ ldrb r1, [sp]
+ and r2, r1, #0x7F
+ mov r1, r1, asr #0x7
+ str r2, [r4, #0x10]
+ and r1, r1, #0x1
+ str r1, [r4, #0xC]
+ ldr r2, [r4, #0x10]
+ cmp r2, #0x0
+ addeq sp, sp, #0xC
+ moveq r0, #0x1
+ ldmeqia sp!, {r4-r5,lr}
+ bxeq lr
+ ldr r1, [r5, #0x34]
+ cmp r1, #0x0
+ bne _020D0858
+ add r0, sp, #0x4
+ add r1, r4, #0x14
+ bl FSi_ReadTable
+ cmp r0, #0x0
+ addne sp, sp, #0xC
+ ldmneia sp!, {r4-r5,lr}
+ bxne lr
+ ldr r1, [r4, #0x10]
+ mov r2, #0x0
+ add r1, r4, r1
+ strb r2, [r1, #0x14]
+ b _020D0864
+_020D0858:
+ ldr r1, [sp, #0x8]
+ add r1, r1, r2
+ str r1, [sp, #0x8]
+_020D0864:
+ ldr r1, [r4, #0xC]
+ cmp r1, #0x0
+ beq _020D08B8
+ add r0, sp, #0x4
+ add r1, sp, #0x2
+ mov r2, #0x2
+ bl FSi_ReadTable
+ cmp r0, #0x0
+ addne sp, sp, #0xC
+ ldmneia sp!, {r4-r5,lr}
+ bxne lr
+ ldr r2, [r5, #0x8]
+ ldr r1, _020D08E8
+ str r2, [r4]
+ ldrh r3, [sp, #0x2]
+ mov r2, #0x0
+ and r1, r3, r1
+ strh r1, [r4, #0x4]
+ strh r2, [r4, #0x6]
+ str r2, [r4, #0x8]
+ b _020D08D4
+_020D08B8:
+ ldr r1, [r5, #0x8]
+ str r1, [r4]
+ ldrh r1, [r5, #0x26]
+ str r1, [r4, #0x4]
+ ldrh r1, [r5, #0x26]
+ add r1, r1, #0x1
+ strh r1, [r5, #0x26]
+_020D08D4:
+ ldr r1, [sp, #0x8]
+ str r1, [r5, #0x28]
+ add sp, sp, #0xC
+ ldmia sp!, {r4-r5,lr}
+ bx lr
+_020D08E8: .word 0x00000FFF
arm_func_start FSi_SeekDirCommand
FSi_SeekDirCommand: ; 0x020D08EC
@@ -7855,8 +8639,12 @@ FS_NotifyArchiveAsyncEnd: ; 0x020D0B40
mov r0, r4
bl FSi_NextCommand
_020D0B74:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x70, 0x40, 0xBD, 0x08, 0x1E, 0xFF, 0x2F, 0x01
- .byte 0x13, 0x02, 0x00, 0xEB, 0x70, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ ldmeqia sp!, {r4-r6,lr}
+ bxeq lr
+ bl FSi_ExecuteAsyncCommand
+ ldmia sp!, {r4-r6,lr}
+ bx lr
_020D0B8C:
ldr r5, [r4, #0x24]
bl OS_DisableInterrupts
@@ -7911,9 +8699,15 @@ _020D0C34:
mov r0, r5
bl OS_RestoreInterrupts
_020D0C3C:
- .byte 0x00, 0x00, 0x56, 0xE3
- .byte 0x01, 0x00, 0x00, 0x0A, 0x06, 0x00, 0xA0, 0xE1, 0xE1, 0x01, 0x00, 0xEB, 0x07, 0x00, 0xA0, 0xE1
- .byte 0x04, 0xD0, 0x8D, 0xE2, 0xF0, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r6, #0x0
+ beq _020D0C4C
+ mov r0, r6
+ bl FSi_ExecuteAsyncCommand
+_020D0C4C:
+ mov r0, r7
+ add sp, sp, #0x4
+ ldmia sp!, {r4-r7, lr}
+ bx lr
arm_func_start FS_SuspendArchive
FS_SuspendArchive: ; 0x020D0C5C
@@ -8027,21 +8821,59 @@ FUN_020D0D84: ; 0x020D0D84
add r3, r2, r3
bl FS_OpenFileDirect
_020D0DE4:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x0B, 0x00, 0x00, 0x0A, 0x30, 0x20, 0x97, 0xE5
- .byte 0x04, 0x00, 0x8D, 0xE2, 0x04, 0x10, 0xA0, 0xE1, 0x83, 0x02, 0x00, 0xEB, 0x00, 0x00, 0x50, 0xE3
- .byte 0x03, 0x00, 0x00, 0xAA, 0x30, 0x20, 0x97, 0xE5, 0x04, 0x00, 0xA0, 0xE1, 0x00, 0x10, 0xA0, 0xE3
- .byte 0x4D, 0xF5, 0xFF, 0xEB, 0x04, 0x00, 0x8D, 0xE2, 0xB7, 0x02, 0x00, 0xEB, 0x2C, 0x40, 0x87, 0xE5
- .byte 0x30, 0xC0, 0x97, 0xE5, 0x34, 0x20, 0x97, 0xE5, 0x00, 0x00, 0xE0, 0xE3, 0x00, 0x00, 0x8D, 0xE5
- .byte 0x38, 0x30, 0x97, 0xE5, 0x04, 0x00, 0x8D, 0xE2, 0x07, 0x10, 0xA0, 0xE1, 0x03, 0x30, 0x82, 0xE0
- .byte 0x0C, 0x40, 0x84, 0xE0, 0xF1, 0x02, 0x00, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x0B, 0x00, 0x00, 0x0A
- .byte 0x38, 0x20, 0x97, 0xE5, 0x04, 0x00, 0x8D, 0xE2, 0x04, 0x10, 0xA0, 0xE1, 0x6A, 0x02, 0x00, 0xEB
- .byte 0x00, 0x00, 0x50, 0xE3, 0x03, 0x00, 0x00, 0xAA, 0x38, 0x20, 0x97, 0xE5, 0x04, 0x00, 0xA0, 0xE1
- .byte 0x00, 0x10, 0xA0, 0xE3, 0x34, 0xF5, 0xFF, 0xEB, 0x04, 0x00, 0x8D, 0xE2, 0x9E, 0x02, 0x00, 0xEB
- .byte 0x34, 0x40, 0x87, 0xE5, 0x20, 0x00, 0x9F, 0xE5, 0x44, 0x60, 0x87, 0xE5, 0x50, 0x00, 0x87, 0xE5
- .byte 0x1C, 0x00, 0x97, 0xE5, 0x04, 0x00, 0x80, 0xE3, 0x1C, 0x00, 0x87, 0xE5
+ cmp r0, #0x0
+ beq _020D0E1C
+ ldr r2, [r7, #0x30]
+ add r0, sp, #0x4
+ mov r1, r4
+ bl FS_ReadFile
+ cmp r0, #0x0
+ bge _020D0E14
+ ldr r2, [r7, #0x30]
+ mov r0, r4
+ mov r1, #0x0
+ bl MI_CpuFill8
+_020D0E14:
+ add r0, sp, #0x4
+ bl FS_CloseFile
+_020D0E1C:
+ str r4, [r7, #0x2C]
+ ldr ip, [r7, #0x30]
+ ldr r2, [r7, #0x34]
+ mvn r0, #0x0
+ str r0, [sp]
+ ldr r3, [r7, #0x38]
+ add r0, sp, #0x4
+ mov r1, r7
+ add r3, r2, r3
+ add r4, r4, ip
+ bl FS_OpenFileDirect
+ cmp r0, #0x0
+ beq _020D0E80
+ ldr r2, [r7, #0x38]
+ add r0, sp, #0x4
+ mov r1, r4
+ bl FS_ReadFile
+ cmp r0, #0x0
+ bge _020D0E78
+ ldr r2, [r7, #0x38]
+ mov r0, r4
+ mov r1, #0x0
+ bl MI_CpuFill8
+_020D0E78:
+ add r0, sp, #0x4
+ bl FS_CloseFile
+_020D0E80:
+ str r4, [r7, #0x34]
+ ldr r0, _020D0EAC
+ str r6, [r7, #0x44]
+ str r0, [r7, #0x50]
+ ldr r0, [r7, #0x1C]
+ orr r0, r0, #0x4
+ str r0, [r7, #0x1C]
_020D0E9C:
mov r0, r5
- add sp, sp, #0x4c
+ add sp, sp, #0x4C
ldmia sp!, {r4-r7,lr}
bx lr
_020D0EAC:
@@ -8194,16 +9026,49 @@ FS_RegisterArchiveName: ; 0x020D1088
mov r1, r5
bl FS_FindArchive
_020D10B0:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x1C, 0x00, 0x00, 0x1A, 0x80, 0x10, 0x9F, 0xE5, 0x00, 0x20, 0x91, 0xE5
- .byte 0x00, 0x00, 0x52, 0xE3, 0x07, 0x00, 0x00, 0x1A, 0x74, 0x00, 0x9F, 0xE5, 0x08, 0x20, 0xA0, 0xE1
- .byte 0x00, 0x70, 0x81, 0xE5, 0x00, 0x70, 0x80, 0xE5, 0x08, 0x20, 0x80, 0xE5, 0xB6, 0x20, 0xC0, 0xE1
- .byte 0xB4, 0x20, 0xC0, 0xE1, 0x08, 0x00, 0x00, 0xEA, 0x04, 0x00, 0x92, 0xE5, 0x00, 0x00, 0x50, 0xE3
- .byte 0x03, 0x00, 0x00, 0x0A, 0x00, 0x20, 0xA0, 0xE1, 0x04, 0x00, 0x90, 0xE5, 0x00, 0x00, 0x50, 0xE3
- .byte 0xFB, 0xFF, 0xFF, 0x1A, 0x04, 0x70, 0x82, 0xE5, 0x08, 0x20, 0x87, 0xE5, 0x06, 0x00, 0xA0, 0xE1
- .byte 0x05, 0x10, 0xA0, 0xE1, 0x73, 0x01, 0x00, 0xEB, 0x00, 0x00, 0x87, 0xE5, 0x1C, 0x00, 0x97, 0xE5
- .byte 0x01, 0x80, 0xA0, 0xE3, 0x01, 0x00, 0x80, 0xE3, 0x1C, 0x00, 0x87, 0xE5, 0x04, 0x00, 0xA0, 0xE1
- .byte 0x7B, 0xF0, 0xFF, 0xEB, 0x08, 0x00, 0xA0, 0xE1, 0xF0, 0x41, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
- .byte 0xE8, 0x53, 0x1D, 0x02, 0xEC, 0x53, 0x1D, 0x02
+ cmp r0, #0x0
+ bne _020D112C
+ ldr r1, _020D1140
+ ldr r2, [r1]
+ cmp r2, #0x0
+ bne _020D10E8
+ ldr r0, _020D1144
+ mov r2, r8
+ str r7, [r1]
+ str r7, [r0]
+ str r2, [r0, #0x8]
+ strh r2, [r0, #0x6]
+ strh r2, [r0, #0x4]
+ b _020D110C
+_020D10E8:
+ ldr r0, [r2, #0x4]
+ cmp r0, #0x0
+ beq _020D1104
+_020D10F4:
+ mov r2, r0
+ ldr r0, [r0, #0x4]
+ cmp r0, #0x0
+ bne _020D10F4
+_020D1104:
+ str r7, [r2, #0x4]
+ str r2, [r7, #0x8]
+_020D110C:
+ mov r0, r6
+ mov r1, r5
+ bl FSi_GetPackedName
+ str r0, [r7]
+ ldr r0, [r7, #0x1C]
+ mov r8, #0x1
+ orr r0, r0, #0x1
+ str r0, [r7, #0x1C]
+_020D112C:
+ mov r0, r4
+ bl OS_RestoreInterrupts
+ mov r0, r8
+ ldmia sp!, {r4-r8,lr}
+ bx lr
+_020D1140: .word 0x021D53E8
+_020D1144: .word 0x021D53EC
arm_func_start FS_FindArchive
FS_FindArchive:
@@ -8383,9 +9248,16 @@ FSi_ExecuteSyncCommand: ; 0x020D138C
ldr r0, [r4, #0x8]
bl FSi_NextCommand
_020D13B0:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x00, 0x00, 0x00, 0x0A, 0x05, 0x00, 0x00, 0xEB, 0x14, 0x00, 0x94, 0xE5
- .byte 0x00, 0x00, 0x50, 0xE3, 0x01, 0x00, 0xA0, 0x03, 0x00, 0x00, 0xA0, 0x13, 0x10, 0x40, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ beq _020D13BC
+ bl FSi_ExecuteAsyncCommand
+_020D13BC:
+ ldr r0, [r4, #0x14]
+ cmp r0, #0x0
+ moveq r0, #0x1
+ movne r0, #0x0
+ ldmia sp!, {r4,lr}
+ bx lr
arm_func_start FSi_ExecuteAsyncCommand
FSi_ExecuteAsyncCommand: ; 0x020D13D4
@@ -8466,8 +9338,8 @@ _020D14BC:
streq r4, [r6, #0x24]
bl FSi_ReleaseCommand
_020D14EC:
- .byte 0x00, 0x00, 0x54, 0xE3
- .byte 0x24, 0x40, 0x96, 0x05
+ cmp r4, #0x0
+ ldreq r4, [r6, #0x24]
_020D14F4:
mov r0, r4
cmp r4, #0x0
@@ -8499,15 +9371,42 @@ _020D1500:
mov r0, r5
bl OS_RestoreInterrupts
_020D1564:
- .byte 0x00, 0x00, 0x57, 0xE3, 0x06, 0x00, 0x00, 0x0A, 0x58, 0x00, 0x96, 0xE5
- .byte 0x02, 0x0C, 0x10, 0xE2, 0x03, 0x00, 0x00, 0x0A, 0x54, 0x20, 0x96, 0xE5, 0x04, 0x00, 0xA0, 0xE1
- .byte 0x09, 0x10, 0xA0, 0xE3, 0x32, 0xFF, 0x2F, 0xE1, 0x60, 0xEF, 0xFF, 0xEB, 0x0C, 0x10, 0x94, 0xE5
- .byte 0x00, 0x50, 0xA0, 0xE1, 0x40, 0x00, 0x81, 0xE3, 0x0C, 0x00, 0x84, 0xE5, 0x0C, 0x00, 0x94, 0xE5
- .byte 0x04, 0x00, 0x10, 0xE2, 0x01, 0x00, 0xA0, 0x13, 0x00, 0x00, 0xA0, 0x03, 0x00, 0x00, 0x50, 0xE3
- .byte 0x07, 0x00, 0x00, 0x0A, 0x18, 0x00, 0x84, 0xE2, 0x29, 0xE7, 0xFF, 0xEB, 0x05, 0x00, 0xA0, 0xE1
- .byte 0x57, 0xEF, 0xFF, 0xEB, 0x4C, 0xD0, 0x8D, 0xE2, 0x00, 0x00, 0xA0, 0xE3, 0xF0, 0x43, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1, 0x05, 0x00, 0xA0, 0xE1, 0x51, 0xEF, 0xFF, 0xEB, 0x4C, 0xD0, 0x8D, 0xE2
- .byte 0x04, 0x00, 0xA0, 0xE1, 0xF0, 0x43, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r7, #0x0
+ beq _020D1588
+ ldr r0, [r6, #0x58]
+ ands r0, r0, #0x200
+ beq _020D1588
+ ldr r2, [r6, #0x54]
+ mov r0, r4
+ mov r1, #0x9
+ blx r2
+_020D1588:
+ bl OS_DisableInterrupts
+ ldr r1, [r4, #0xC]
+ mov r5, r0
+ orr r0, r1, #0x40
+ str r0, [r4, #0xC]
+ ldr r0, [r4, #0xC]
+ ands r0, r0, #0x4
+ movne r0, #0x1
+ moveq r0, #0x0
+ cmp r0, #0x0
+ beq _020D15D4
+ add r0, r4, #0x18
+ bl OS_WakeupThread
+ mov r0, r5
+ bl OS_RestoreInterrupts
+ add sp, sp, #0x4c
+ mov r0, #0x0
+ ldmia sp!, {r4-r9, lr}
+ bx lr
+_020D15D4:
+ mov r0, r5
+ bl OS_RestoreInterrupts
+ add sp, sp, #0x4c
+ mov r0, r4
+ ldmia sp!, {r4-r9, lr}
+ bx lr
_020D15EC:
ldr r0, [r6, #0x1c]
ands r0, r0, #0x10
@@ -8541,7 +9440,10 @@ _020D1658:
mov r0, r5
bl OS_RestoreInterrupts
_020D1660:
- .byte 0x00, 0x00, 0xA0, 0xE3, 0x4C, 0xD0, 0x8D, 0xE2, 0xF0, 0x43, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ mov r0, #0x0
+ add sp, sp, #0x4c
+ ldmia sp!, {r4-r9, lr}
+ bx lr
arm_func_start FSi_ReadMemoryCore
FSi_ReadMemoryCore: ; 0x020D1670
@@ -8551,8 +9453,10 @@ FSi_ReadMemoryCore: ; 0x020D1670
mov r2, r3
bl MI_CpuCopy8
_020D1684:
- .byte 0x00, 0x00, 0xA0, 0xE3, 0x04, 0xD0, 0x8D, 0xE2, 0x00, 0x40, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1
+ mov r0, #0x0
+ add sp, sp, #0x4
+ ldmfd sp!, {lr}
+ bx lr
arm_func_start FSi_WriteMemCallback
FSi_WriteMemCallback: ; 0x020D1694
@@ -8564,7 +9468,10 @@ FSi_WriteMemCallback: ; 0x020D1694
mov r2, r3
bl MI_CpuCopy8
_020D16B0:
- .byte 0x00, 0x00, 0xA0, 0xE3, 0x04, 0xD0, 0x8D, 0xE2, 0x00, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ mov r0, #0x0
+ add sp, sp, #0x4
+ ldmfd sp!, {lr}
+ bx lr
arm_func_start FSi_ReadMemCallback
FSi_ReadMemCallback: ; 0x020D16C0
@@ -8575,8 +9482,10 @@ FSi_ReadMemCallback: ; 0x020D16C0
mov r2, r3
bl MI_CpuCopy8
_020D16D8:
- .byte 0x00, 0x00, 0xA0, 0xE3, 0x04, 0xD0, 0x8D, 0xE2
- .byte 0x00, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ mov r0, #0x0
+ add sp, sp, #0x4
+ ldmfd sp!, {lr}
+ bx lr
arm_func_start FSi_GetPackedName
FSi_GetPackedName: ; 0x020D16E8
@@ -8621,9 +9530,17 @@ FS_ChangeDir: ; 0x020D174C
mov r2, #0x0
bl FSi_FindPath
_020D1774:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x00, 0x00, 0xA0, 0x03, 0x00, 0x00, 0x8D, 0x12
- .byte 0x14, 0x30, 0x9F, 0x15, 0x07, 0x00, 0x90, 0x18, 0x07, 0x00, 0x83, 0x18, 0x01, 0x00, 0xA0, 0x13
- .byte 0x58, 0xD0, 0x8D, 0xE2, 0x10, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1, 0xEC, 0x53, 0x1D, 0x02
+ cmp r0, #0x0
+ moveq r0, #0x0
+ addne r0, sp, #0x0
+ ldrne r3, _020D179C
+ ldmneia r0, {r0, r1, r2}
+ stmneia r3, {r0, r1, r2}
+ movne r0, #0x1
+ add sp, sp, #0x58
+ ldmia sp!, {r4, lr}
+ bx lr
+_020D179C: .word 0x021D53EC
arm_func_start FS_SeekFile
FS_SeekFile: ; 0x020D17A0
@@ -8720,11 +9637,14 @@ _020D18BC:
mov r0, r4
bl OS_RestoreInterrupts
_020D18C4:
- .byte 0x00, 0x00, 0x55, 0xE3, 0x04, 0x00, 0x00, 0x0A, 0x06, 0x00, 0xA0, 0xE1
- .byte 0xAD, 0xFE, 0xFF, 0xEB, 0x04, 0xD0, 0x8D, 0xE2, 0xF0, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
-
- arm_func_start FUN_020D18E0
-FUN_020D18E0: ; 0x020D18E0
+ cmp r5, #0x0
+ beq _020D18E0
+ mov r0, r6
+ bl FSi_ExecuteSyncCommand
+ add sp, sp, #4
+ ldmia sp!, {r4-r7,lr}
+ bx lr
+_020D18E0:
ldr r0, [r6, #0x14]
cmp r0, #0x0
moveq r0, #0x1
@@ -8740,11 +9660,20 @@ FS_CloseFile: ; 0x020D18FC
mov r4, r0
bl FSi_SendCommand
_020D190C:
- .byte 0x00, 0x00, 0x50, 0xE3
- .byte 0x00, 0x00, 0xA0, 0x03, 0x10, 0x40, 0xBD, 0x08, 0x1E, 0xFF, 0x2F, 0x01, 0x00, 0x00, 0xA0, 0xE3
- .byte 0x08, 0x00, 0x84, 0xE5, 0x0E, 0x00, 0xA0, 0xE3, 0x10, 0x00, 0x84, 0xE5, 0x0C, 0x10, 0x94, 0xE5
- .byte 0x01, 0x00, 0xA0, 0xE3, 0x30, 0x10, 0xC1, 0xE3, 0x0C, 0x10, 0x84, 0xE5, 0x10, 0x40, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ moveq r0, #0x0
+ ldmeqia sp!, {r4,lr}
+ bxeq lr
+ mov r0, #0x0
+ str r0, [r4, #0x8]
+ mov r0, #0xE
+ str r0, [r4, #0x10]
+ ldr r1, [r4, #0xC]
+ mov r0, #0x1
+ bic r1, r1, #0x30
+ str r1, [r4, #0xC]
+ ldmia sp!, {r4,lr}
+ bx lr
arm_func_start FS_OpenFile
FS_OpenFile: ; 0x020D1944
@@ -8754,11 +9683,22 @@ FS_OpenFile: ; 0x020D1944
add r0, sp, #0x0
bl FS_ConvertPathToFileID
_020D1958:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x08, 0x00, 0x00, 0x0A
- .byte 0x00, 0x10, 0x8D, 0xE2, 0x04, 0x00, 0xA0, 0xE1, 0x06, 0x00, 0x91, 0xE8, 0x08, 0x00, 0x00, 0xEB
- .byte 0x00, 0x00, 0x50, 0xE3, 0x08, 0xD0, 0x8D, 0x12, 0x01, 0x00, 0xA0, 0x13, 0x10, 0x40, 0xBD, 0x18
- .byte 0x1E, 0xFF, 0x2F, 0x11, 0x00, 0x00, 0xA0, 0xE3, 0x08, 0xD0, 0x8D, 0xE2, 0x10, 0x40, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ beq _020D1984
+ add r1, sp, #0x0
+ mov r0, r4
+ ldmia r1, {r1, r2}
+ bl FS_OpenFileFast
+ cmp r0, #0x0
+ addne sp, sp, #0x8
+ movne r0, #0x1
+ ldmneia sp!, {r4, lr}
+ bxne lr
+_020D1984:
+ mov r0, #0x0
+ add sp, sp, #0x8
+ ldmia sp!, {r4, lr}
+ bx lr
arm_func_start FS_OpenFileFast
FS_OpenFileFast:
@@ -8779,10 +9719,21 @@ FS_OpenFileFast:
str r2, [r4, #0x34]
bl FSi_SendCommand
_020D19D4:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x00, 0x00, 0xA0, 0x03, 0x10, 0x40, 0xBD, 0x08
- .byte 0x10, 0xD0, 0x8D, 0x02, 0x1E, 0xFF, 0x2F, 0x01, 0x0C, 0x10, 0x94, 0xE5, 0x01, 0x00, 0xA0, 0xE3
- .byte 0x10, 0x10, 0x81, 0xE3, 0x0C, 0x10, 0x84, 0xE5, 0x0C, 0x10, 0x94, 0xE5, 0x20, 0x10, 0xC1, 0xE3
- .byte 0x0C, 0x10, 0x84, 0xE5, 0x10, 0x40, 0xBD, 0xE8, 0x10, 0xD0, 0x8D, 0xE2, 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ moveq r0, #0x0
+ ldmeqia sp!, {r4, lr}
+ addeq sp, sp, #0x10
+ bxeq lr
+ ldr r1, [r4, #0xC]
+ mov r0, #0x1
+ orr r1, r1, #0x10
+ str r1, [r4, #0xC]
+ ldr r1, [r4, #0xC]
+ bic r1, r1, #0x20
+ str r1, [r4, #0xC]
+ ldmia sp!, {r4, lr}
+ add sp, sp, #0x10
+ bx lr
arm_func_start FS_OpenFileDirect
FS_OpenFileDirect:
@@ -8796,10 +9747,19 @@ FS_OpenFileDirect:
str r3, [r4, #0x34]
bl FSi_SendCommand
_020D1A34:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x00, 0x00, 0xA0, 0x03, 0x10, 0x40, 0xBD, 0x08
- .byte 0x1E, 0xFF, 0x2F, 0x01, 0x0C, 0x10, 0x94, 0xE5, 0x01, 0x00, 0xA0, 0xE3, 0x10, 0x10, 0x81, 0xE3
- .byte 0x0C, 0x10, 0x84, 0xE5, 0x0C, 0x10, 0x94, 0xE5, 0x20, 0x10, 0xC1, 0xE3, 0x0C, 0x10, 0x84, 0xE5
- .byte 0x10, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ moveq r0, #0x0
+ ldmeqia sp!, {r4, lr}
+ bxeq lr
+ ldr r1, [r4, #0xC]
+ mov r0, #0x1
+ orr r1, r1, #0x10
+ str r1, [r4, #0xC]
+ ldr r1, [r4, #0xC]
+ bic r1, r1, #0x20
+ str r1, [r4, #0xC]
+ ldmia sp!, {r4, lr}
+ bx lr
arm_func_start FS_ConvertPathToFileID
FS_ConvertPathToFileID:
@@ -8810,9 +9770,17 @@ FS_ConvertPathToFileID:
mov r4, r1
bl FS_InitFile
_020D1A80:
- .byte 0x00, 0x00, 0x8D, 0xE2, 0x04, 0x10, 0xA0, 0xE1, 0x05, 0x20, 0xA0, 0xE1, 0x00, 0x30, 0xA0, 0xE3
- .byte 0x27, 0x00, 0x00, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x01, 0x00, 0xA0, 0x13, 0x00, 0x00, 0xA0, 0x03
- .byte 0x4C, 0xD0, 0x8D, 0xE2, 0x30, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ add r0, sp, #0x0
+ mov r1, r4
+ mov r2, r5
+ mov r3, #0x0
+ bl FSi_FindPath
+ cmp r0, #0x0
+ movne r0, #0x1
+ moveq r0, #0x0
+ add sp, sp, #0x4C
+ ldmia sp!, {r4-r5, lr}
+ bx lr
arm_func_start FUN_020D1AAC
FUN_020D1AAC: ; 0x020D1AAC
@@ -8839,10 +9807,19 @@ FUN_020D1AAC: ; 0x020D1AAC
mov r0, r7
bl FSi_SendCommand
_020D1B04:
- .byte 0x00, 0x00, 0x55, 0xE3, 0x05, 0x00, 0x00, 0x1A, 0x07, 0x00, 0xA0, 0xE1
- .byte 0x45, 0xFF, 0xFF, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x2C, 0x00, 0x97, 0x15, 0x04, 0x60, 0x40, 0x10
- .byte 0x00, 0x60, 0xE0, 0x03, 0x06, 0x00, 0xA0, 0xE1, 0x04, 0xD0, 0x8D, 0xE2, 0xF0, 0x40, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r5, #0x0
+ bne _020D1B24
+ mov r0, r7
+ bl FS_WaitAsync
+ cmp r0, #0x0
+ ldrne r0, [r7, #0x2C]
+ subne r6, r0, r4
+ mvneq r6, #0x0
+_020D1B24:
+ mov r0, r6
+ add sp, sp, #0x4
+ ldmia sp!, {r4-r7, lr}
+ bx lr
arm_func_start FSi_FindPath
FSi_FindPath:
@@ -8887,14 +9864,34 @@ _020D1B98:
mov r1, r4
bl FS_FindArchive
_020D1BC8:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x10, 0xD0, 0x8D, 0x02
- .byte 0x00, 0x00, 0xA0, 0x03, 0xF0, 0x41, 0xBD, 0x08, 0x1E, 0xFF, 0x2F, 0x01, 0x1C, 0x10, 0x90, 0xE5
- .byte 0x02, 0x10, 0x11, 0xE2, 0x01, 0x10, 0xA0, 0x13, 0x00, 0x10, 0xA0, 0x03, 0x00, 0x00, 0x51, 0xE3
- .byte 0x10, 0xD0, 0x8D, 0x02, 0x00, 0x00, 0xA0, 0x03, 0xF0, 0x41, 0xBD, 0x08, 0x1E, 0xFF, 0x2F, 0x01
- .byte 0x00, 0x10, 0xA0, 0xE3, 0x00, 0x00, 0x8D, 0xE5, 0x08, 0x10, 0x8D, 0xE5, 0xB6, 0x10, 0xCD, 0xE1
- .byte 0xB4, 0x10, 0xCD, 0xE1, 0x01, 0x00, 0x84, 0xE2, 0x00, 0x00, 0xF7, 0xE7, 0x2F, 0x00, 0x50, 0xE3
- .byte 0x01, 0x00, 0x00, 0x0A, 0x5C, 0x00, 0x50, 0xE3, 0x04, 0x00, 0x00, 0x1A, 0x01, 0x70, 0x87, 0xE2
- .byte 0x02, 0x00, 0x00, 0xEA
+ cmp r0, #0x0
+ addeq sp, sp, #0x10
+ moveq r0, #0x0
+ ldmeqia sp!, {r4-r8,lr}
+ bxeq lr
+ ldr r1, [r0, #0x1C]
+ ands r1, r1, #0x2
+ movne r1, #0x1
+ moveq r1, #0x0
+ cmp r1, #0x0
+ addeq sp, sp, #0x10
+ moveq r0, #0x0
+ ldmeqia sp!, {r4-r8,lr}
+ bxeq lr
+ mov r1, #0x0
+ str r0, [sp]
+ str r1, [sp, #0x8]
+ strh r1, [sp, #0x6]
+ strh r1, [sp, #0x4]
+ add r0, r4, #0x1
+ ldrb r0, [r7, r0]!
+ cmp r0, #0x2f
+ beq _020D1C2C
+ cmp r0, #0x5c
+ bne _020D1C40
+_020D1C2C:
+ add r7, r7, #0x1
+ b _020D1C40
_020D1C34:
add r4, r4, #0x1
cmp r4, #0x3
@@ -9198,10 +10195,16 @@ _020D2014: .word 0x021D5400
FSi_OnRomReadDone: ; 0x020D2018
stmdb sp!, {r4,lr}
mov r4, r0
- bl FUN_020D7D18
+ bl CARD_IsPulledOut
_020D2024:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x05, 0x10, 0xA0, 0x13, 0x00, 0x10, 0xA0, 0x03
- .byte 0x04, 0x00, 0xA0, 0xE1, 0xC1, 0xFA, 0xFF, 0xEB, 0x10, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ movne r1, #0x5
+ moveq r1, #0x0
+ mov r0, r4
+ bl FS_NotifyArchiveAsyncEnd
+ ldmia sp!, {r4,lr}
+ bx lr
+
arm_func_start FS_UnloadOverlay
FS_UnloadOverlay: ; 0x020D2040
@@ -9213,11 +10216,22 @@ FS_UnloadOverlay: ; 0x020D2040
mov r1, r3
bl FS_LoadOverlayInfo
_020D205C:
- .byte 0x00, 0x00, 0x50, 0xE3
- .byte 0x03, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x8D, 0xE2, 0x20, 0x00, 0x00, 0xEB, 0x00, 0x00, 0x50, 0xE3
- .byte 0x03, 0x00, 0x00, 0x1A, 0x2C, 0xD0, 0x8D, 0xE2, 0x00, 0x00, 0xA0, 0xE3, 0x00, 0x40, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1, 0x01, 0x00, 0xA0, 0xE3, 0x2C, 0xD0, 0x8D, 0xE2, 0x00, 0x40, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ beq _020D2074
+ add r0, sp, #0x0
+ bl FS_UnloadOverlayImage
+ cmp r0, #0x0
+ bne _020D2084
+_020D2074:
+ add sp, sp, #0x2c
+ mov r0, #0x0
+ ldmfd sp!, {lr}
+ bx lr
+_020D2084:
+ mov r0, #0x1
+ add sp, sp, #0x2c
+ ldmfd sp!, {lr}
+ bx lr
arm_func_start FS_LoadOverlay
FS_LoadOverlay: ; 0x020D2094
@@ -9229,10 +10243,24 @@ FS_LoadOverlay: ; 0x020D2094
mov r1, r3
bl FS_LoadOverlayInfo
_020D20B0:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x03, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x8D, 0xE2, 0xBC, 0x00, 0x00, 0xEB
- .byte 0x00, 0x00, 0x50, 0xE3, 0x03, 0x00, 0x00, 0x1A, 0x2C, 0xD0, 0x8D, 0xE2, 0x00, 0x00, 0xA0, 0xE3
- .byte 0x00, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1, 0x00, 0x00, 0x8D, 0xE2, 0x4B, 0x00, 0x00, 0xEB
- .byte 0x01, 0x00, 0xA0, 0xE3, 0x2C, 0xD0, 0x8D, 0xE2, 0x00, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ beq _020D20C8
+ add r0, sp, #0x0
+ bl FS_LoadOverlayImage
+ cmp r0, #0x0
+ bne _020D20D8
+_020D20C8:
+ add sp, sp, #0x2c
+ mov r0, #0x0
+ ldmfd sp!, {lr}
+ bx lr
+_020D20D8:
+ add r0, sp, #0x0
+ bl FS_StartOverlay
+ mov r0, #0x1
+ add sp, sp, #0x2c
+ ldmfd sp!, {lr}
+ bx lr
arm_func_start FS_UnloadOverlayImage
FS_UnloadOverlayImage: ; 0x020D20F0
@@ -9251,6 +10279,7 @@ FS_EndOverlay: ; 0x020D210C
ldr r8, _020D220C ; =0x021D74C8
mov r11, r0
mov r9, #0x0
+_020D2120:
ldr r1, [r11, #0x8]
ldr r0, [r11, #0xc]
ldr r5, [r11, #0x4]
@@ -9300,11 +10329,25 @@ _020D21B8:
_020D21C4:
bl OS_RestoreInterrupts
_020D21C8:
- .byte 0x00, 0x00, 0x57, 0xE3, 0x04, 0xD0, 0x8D, 0x02
- .byte 0xF0, 0x4F, 0xBD, 0x08, 0x1E, 0xFF, 0x2F, 0x01, 0x04, 0x10, 0x97, 0xE5, 0x00, 0x40, 0x97, 0xE5
- .byte 0x00, 0x00, 0x51, 0xE3, 0x01, 0x00, 0x00, 0x0A, 0x08, 0x00, 0x97, 0xE5, 0x31, 0xFF, 0x2F, 0xE1
- .byte 0x04, 0x70, 0xA0, 0xE1, 0x00, 0x00, 0x54, 0xE3, 0xF6, 0xFF, 0xFF, 0x1A, 0xC7, 0xFF, 0xFF, 0xEA
- .byte 0x04, 0xD0, 0x8D, 0xE2, 0xF0, 0x4F, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r7, #0x0
+ addeq sp, sp, #0x4
+ ldmeqia sp!, {r4-r11, lr}
+ bxeq lr
+_020D21D8:
+ ldr r1, [r7, #0x4]
+ ldr r4, [r7]
+ cmp r1, #0x0
+ beq _020D21F0
+ ldr r0, [r7, #0x8]
+ blx r1
+_020D21F0:
+ mov r7, r4
+ cmp r4, #0x0
+ bne _020D21D8
+ b _020D2120
+ add sp, sp, #0x4
+ ldmia sp!, {r4-r11, lr}
+ bx lr
_020D220C: .word 0x021D74C8
arm_func_start FS_StartOverlay
@@ -9435,16 +10478,42 @@ FS_LoadOverlayImage: ; 0x020D23B4
add r0, sp, #0x8
bl FS_InitFile
_020D23C8:
- .byte 0x00, 0x00, 0x8D, 0xE2, 0x05, 0x10, 0xA0, 0xE1
- .byte 0xCE, 0x00, 0x00, 0xEB, 0x00, 0x10, 0x8D, 0xE2, 0x08, 0x00, 0x8D, 0xE2, 0x06, 0x00, 0x91, 0xE8
- .byte 0x6B, 0xFD, 0xFF, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x54, 0xD0, 0x8D, 0x02, 0x00, 0x00, 0xA0, 0x03
- .byte 0x30, 0x40, 0xBD, 0x08, 0x1E, 0xFF, 0x2F, 0x01, 0x05, 0x00, 0xA0, 0xE1, 0xDE, 0x00, 0x00, 0xEB
- .byte 0x00, 0x40, 0xA0, 0xE1, 0x05, 0x00, 0xA0, 0xE1, 0xCA, 0x00, 0x00, 0xEB, 0x04, 0x10, 0x95, 0xE5
- .byte 0x08, 0x00, 0x8D, 0xE2, 0x04, 0x20, 0xA0, 0xE1, 0xFB, 0xFC, 0xFF, 0xEB, 0x00, 0x00, 0x54, 0xE1
- .byte 0x05, 0x00, 0x00, 0x0A, 0x08, 0x00, 0x8D, 0xE2, 0x33, 0xFD, 0xFF, 0xEB, 0x54, 0xD0, 0x8D, 0xE2
- .byte 0x00, 0x00, 0xA0, 0xE3, 0x30, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1, 0x08, 0x00, 0x8D, 0xE2
- .byte 0x2D, 0xFD, 0xFF, 0xEB, 0x01, 0x00, 0xA0, 0xE3, 0x54, 0xD0, 0x8D, 0xE2, 0x30, 0x40, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1
+ add r0, sp, #0x0
+ mov r1, r5
+ bl FS_GetOverlayFileID
+ add r1, sp, #0x0
+ add r0, sp, #0x8
+ ldmia r1, {r1, r2}
+ bl FS_OpenFileFast
+ cmp r0, #0x0
+ addeq sp, sp, #0x54
+ moveq r0, #0x0
+ ldmeqia sp!, {r4-r5, lr}
+ bxeq lr
+ mov r0, r5
+ bl FSi_GetOverlayBinarySize
+ mov r4, r0
+ mov r0, r5
+ bl FS_ClearOverlayImage
+ ldr r1, [r5, #0x4]
+ add r0, sp, #0x8
+ mov r2, r4
+ bl FS_ReadFile
+ cmp r4, r0
+ beq _020D243C
+ add r0, sp, #0x8
+ bl FS_CloseFile
+ add sp, sp, #0x54
+ mov r0, #0x0
+ ldmia sp!, {r4-r5, lr}
+ bx lr
+_020D243C:
+ add r0, sp, #0x8
+ bl FS_CloseFile
+ mov r0, #0x1
+ add sp, sp, #0x54
+ ldmia sp!, {r4-r5, lr}
+ bx lr
arm_func_start FS_LoadOverlayImageAsync
FS_LoadOverlayImageAsync: ; 0x020D2454
@@ -9455,15 +10524,38 @@ FS_LoadOverlayImageAsync: ; 0x020D2454
mov r0, r5
bl FS_InitFile
_020D246C:
- .byte 0x00, 0x00, 0x8D, 0xE2
- .byte 0x06, 0x10, 0xA0, 0xE1, 0xA5, 0x00, 0x00, 0xEB, 0x00, 0x10, 0x8D, 0xE2, 0x05, 0x00, 0xA0, 0xE1
- .byte 0x06, 0x00, 0x91, 0xE8, 0x42, 0xFD, 0xFF, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x08, 0xD0, 0x8D, 0x02
- .byte 0x00, 0x00, 0xA0, 0x03, 0x70, 0x40, 0xBD, 0x08, 0x1E, 0xFF, 0x2F, 0x01, 0x06, 0x00, 0xA0, 0xE1
- .byte 0xB5, 0x00, 0x00, 0xEB, 0x00, 0x40, 0xA0, 0xE1, 0x06, 0x00, 0xA0, 0xE1, 0xA1, 0x00, 0x00, 0xEB
- .byte 0x04, 0x10, 0x96, 0xE5, 0x05, 0x00, 0xA0, 0xE1, 0x04, 0x20, 0xA0, 0xE1, 0xD6, 0xFC, 0xFF, 0xEB
- .byte 0x00, 0x00, 0x54, 0xE1, 0x08, 0xD0, 0x8D, 0x02, 0x01, 0x00, 0xA0, 0x03, 0x70, 0x40, 0xBD, 0x08
- .byte 0x1E, 0xFF, 0x2F, 0x01, 0x05, 0x00, 0xA0, 0xE1, 0x07, 0xFD, 0xFF, 0xEB, 0x00, 0x00, 0xA0, 0xE3
- .byte 0x08, 0xD0, 0x8D, 0xE2, 0x70, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ add r0, sp, #0x0
+ mov r1, r6
+ bl FS_GetOverlayFileID
+ add r1, sp, #0x0
+ mov r0, r5
+ ldmia r1, {r1, r2}
+ bl FS_OpenFileFast
+ cmp r0, #0x0
+ addeq sp, sp, #0x8
+ moveq r0, #0x0
+ ldmeqia sp!, {r4-r6, lr}
+ bxeq lr
+ mov r0, r6
+ bl FSi_GetOverlayBinarySize
+ mov r4, r0
+ mov r0, r6
+ bl FS_ClearOverlayImage
+ ldr r1, [r6, #0x4]
+ mov r0, r5
+ mov r2, r4
+ bl FS_ReadFileAsync
+ cmp r4, r0
+ addeq sp, sp, #0x8
+ moveq r0, #0x1
+ ldmeqia sp!, {r4-r6, lr}
+ bxeq lr
+ mov r0, r5
+ bl FS_CloseFile
+ mov r0, #0x0
+ add sp, sp, #0x8
+ ldmia sp!, {r4-r6, lr}
+ bx lr
arm_func_start FS_LoadOverlayInfo
FS_LoadOverlayInfo:
@@ -9498,11 +10590,23 @@ FS_LoadOverlayInfo:
ldmia r1, {r1-r2}
bl FS_OpenFileFast
_020D2564:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x64, 0xD0, 0x8D, 0x02, 0x00, 0x00, 0xA0, 0x03
- .byte 0x30, 0x40, 0xBD, 0x08, 0x1E, 0xFF, 0x2F, 0x01, 0x3C, 0x10, 0x9D, 0xE5, 0x18, 0x00, 0x8D, 0xE2
- .byte 0x24, 0x10, 0x85, 0xE5, 0x40, 0x20, 0x9D, 0xE5, 0x3C, 0x10, 0x9D, 0xE5, 0x01, 0x10, 0x42, 0xE0
- .byte 0x28, 0x10, 0x85, 0xE5, 0xD8, 0xFC, 0xFF, 0xEB, 0x64, 0xD0, 0x8D, 0xE2, 0x01, 0x00, 0xA0, 0xE3
- .byte 0x30, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ addeq sp, sp, #0x64
+ moveq r0, #0x0
+ ldmeqia sp!, {r4-r5,lr}
+ bxeq lr
+ ldr r1, [sp, #0x3c]
+ add r0, sp, #0x18
+ str r1, [r5, #0x24]
+ ldr r2, [sp, #0x40]
+ ldr r1, [sp, #0x3c]
+ sub r1, r2, r1
+ str r1, [r5, #0x28]
+ bl FS_CloseFile
+ add sp, sp, #0x64
+ mov r0, #0x1
+ ldmia sp!, {r4-r5,lr}
+ bx lr
_020D25A8:
ldr r1, _020D25F4 ; =0x027FFE50
ldr ip, _020D25F8 ; =0x027FFE58
@@ -9555,17 +10659,51 @@ FSi_LoadOverlayInfoCore: ; 0x020D2600
str r12, [sp, #0x0]
bl FS_OpenFileDirect
_020D2660:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x54, 0xD0, 0x8D, 0x02, 0x00, 0x00, 0xA0, 0x03, 0xF0, 0x43, 0xBD, 0x08
- .byte 0x1E, 0xFF, 0x2F, 0x01, 0x0C, 0x00, 0x8D, 0xE2, 0x04, 0x10, 0xA0, 0xE1, 0x20, 0x20, 0xA0, 0xE3
- .byte 0x61, 0xFC, 0xFF, 0xEB, 0x20, 0x00, 0x50, 0xE3, 0x05, 0x00, 0x00, 0x0A, 0x0C, 0x00, 0x8D, 0xE2
- .byte 0x99, 0xFC, 0xFF, 0xEB, 0x54, 0xD0, 0x8D, 0xE2, 0x00, 0x00, 0xA0, 0xE3, 0xF0, 0x43, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1, 0x0C, 0x00, 0x8D, 0xE2, 0x93, 0xFC, 0xFF, 0xEB, 0x04, 0x00, 0x8D, 0xE2
- .byte 0x04, 0x10, 0xA0, 0xE1, 0x20, 0x90, 0x84, 0xE5, 0x14, 0x00, 0x00, 0xEB, 0x04, 0x10, 0x8D, 0xE2
- .byte 0x0C, 0x00, 0x8D, 0xE2, 0x06, 0x00, 0x91, 0xE8, 0xB1, 0xFC, 0xFF, 0xEB, 0x00, 0x00, 0x50, 0xE3
- .byte 0x54, 0xD0, 0x8D, 0x02, 0x00, 0x00, 0xA0, 0x03, 0xF0, 0x43, 0xBD, 0x08, 0x1E, 0xFF, 0x2F, 0x01
- .byte 0x30, 0x10, 0x9D, 0xE5, 0x0C, 0x00, 0x8D, 0xE2, 0x24, 0x10, 0x84, 0xE5, 0x34, 0x20, 0x9D, 0xE5
- .byte 0x30, 0x10, 0x9D, 0xE5, 0x01, 0x10, 0x42, 0xE0, 0x28, 0x10, 0x84, 0xE5, 0x7E, 0xFC, 0xFF, 0xEB
- .byte 0x01, 0x00, 0xA0, 0xE3, 0x54, 0xD0, 0x8D, 0xE2, 0xF0, 0x43, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0
+ addeq sp, sp, #0x54
+ moveq r0, #0
+ ldmeqia sp!, {r4-r9, lr}
+ bxeq lr
+ add r0, sp, #12
+ mov r1, r4
+ mov r2, #32
+ bl FS_ReadFile
+ cmp r0, #32
+ beq _020D26A4
+ add r0, sp, #12
+ bl FS_CloseFile
+ add sp, sp, #0x54
+ mov r0, #0x0
+ ldmia sp!, {r4-r9, lr}
+ bx lr
+_020D26A4:
+ add r0, sp, #0xC
+ bl FS_CloseFile
+ add r0, sp, #0x4
+ mov r1, r4
+ str r9, [r4, #0x20]
+ bl FS_GetOverlayFileID
+ add r1, sp, #0x4
+ add r0, sp, #0xC
+ ldmia r1, {r1, r2}
+ bl FS_OpenFileFast
+ cmp r0, #0x0
+ addeq sp, sp, #0x54
+ moveq r0, #0x0
+ ldmeqia sp!, {r4-r9, lr}
+ bxeq lr
+ ldr r1, [sp, #0x30]
+ add r0, sp, #0xC
+ str r1, [r4, #0x24]
+ ldr r2, [sp, #0x34]
+ ldr r1, [sp, #0x30]
+ sub r1, r2, r1
+ str r1, [r4, #0x28]
+ bl FS_CloseFile
+ mov r0, #0x1
+ add sp, sp, #0x54
+ ldmia sp!, {r4-r9, lr}
+ bx lr
arm_func_start FS_GetOverlayFileID
FS_GetOverlayFileID: ; 0x020D2710
@@ -10469,10 +11607,10 @@ _020D33D8:
_020D33E8:
ldr r4, [r1], #0x4
add r2, r8, r12
- add r2, r2, r3, ror #27
+ add r2, r2, r3, ror #0x1B
and lr, r4, r7
- and r4, r7, r4, ror #24
- orr r4, r4, lr, ror #8
+ and r4, r7, r4, ror #0x18
+ orr r4, r4, lr, ror #0x8
str r4, [r6, #0x40]
str r4, [r6], #0x4
add r2, r2, r4
@@ -10480,7 +11618,7 @@ _020D33E8:
and r4, r4, r9
eor r4, r4, r11
add r2, r2, r4
- mov r9, r9, ror #2
+ mov r9, r9, ror #0x2
mov r12, r11
mov r11, r10
mov r10, r9
@@ -10499,17 +11637,17 @@ _020D3448:
eor r2, r2, r5
eor r4, r4, lr
eor r2, r2, r4
- mov r2, r2, ror #31
+ mov r2, r2, ror #0x1F
str r2, [r6, #0x40]
str r2, [r6], #0x4
add r2, r2, r12
add r2, r2, r8
- add r2, r2, r3, ror #27
+ add r2, r2, r3, ror #0x1B
eor r4, r10, r11
and r4, r4, r9
eor r4, r4, r11
add r2, r2, r4
- mov r9, r9, ror #2
+ mov r9, r9, ror #0x2
mov r12, r11
mov r11, r10
mov r10, r9
@@ -10528,16 +11666,16 @@ _020D34B8:
eor r2, r2, r4
eor lr, lr, r5
eor r2, r2, lr
- mov r2, r2, ror #31
+ mov r2, r2, ror #0x1F
str r2, [r6, #0x40]
str r2, [r6], #0x4
add r2, r2, r12
add r2, r2, r8
- add r2, r2, r3, ror #27
+ add r2, r2, r3, ror #0x1B
eor lr, r9, r10
eor lr, lr, r11
add r2, r2, lr
- mov r9, r9, ror #2
+ mov r9, r9, ror #0x2
mov r12, r11
mov r11, r10
mov r10, r9
@@ -10558,18 +11696,18 @@ _020D352C:
eor r2, r2, lr
eor r5, r5, r4
eor r2, r2, r5
- mov r2, r2, ror #31
+ mov r2, r2, ror #0x1F
str r2, [r6, #0x40]
str r2, [r6], #0x4
add r2, r2, r12
add r2, r2, r8
- add r2, r2, r3, ror #27
+ add r2, r2, r3, ror #0x1B
orr r5, r9, r10
and r5, r5, r11
and r4, r9, r10
orr r5, r5, r4
add r2, r2, r5
- mov r9, r9, ror #2
+ mov r9, r9, ror #0x2
mov r12, r11
mov r11, r10
mov r10, r9
@@ -10590,16 +11728,16 @@ _020D35A8:
eor r2, r2, r5
eor r4, r4, lr
eor r2, r2, r4
- mov r2, r2, ror #31
+ mov r2, r2, ror #0x1F
str r2, [r6, #0x40]
str r2, [r6], #0x4
add r2, r2, r12
add r2, r2, r8
- add r2, r2, r3, ror #27
+ add r2, r2, r3, ror #0x1B
eor r4, r9, r10
eor r4, r4, r11
add r2, r2, r4
- mov r9, r9, ror #2
+ mov r9, r9, ror #0x2
mov r12, r11
mov r11, r10
mov r10, r9
@@ -11064,17 +12202,41 @@ TP_RequestAutoSamplingStopAsync: ; 0x020D3C14
mov r2, #0x0
bl PXI_SendWordByFifo
_020D3C30:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x01, 0x00, 0xA0, 0xA3, 0x00, 0x00, 0xA0, 0xB3, 0x00, 0x00, 0x50, 0xE3
- .byte 0x0F, 0x00, 0x00, 0x1A, 0x04, 0x00, 0xA0, 0xE1, 0xB5, 0xE5, 0xFF, 0xEB, 0x60, 0x00, 0x9F, 0xE5
- .byte 0xB4, 0x13, 0xD0, 0xE1, 0x00, 0x30, 0x90, 0xE5, 0x04, 0x10, 0x81, 0xE3, 0xB4, 0x13, 0xC0, 0xE1
- .byte 0x00, 0x00, 0x53, 0xE3, 0x10, 0x40, 0xBD, 0x08, 0x1E, 0xFF, 0x2F, 0x01, 0x02, 0x00, 0xA0, 0xE3
- .byte 0x04, 0x10, 0xA0, 0xE3, 0x00, 0x20, 0xA0, 0xE3, 0x33, 0xFF, 0x2F, 0xE1, 0x10, 0x40, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1, 0x28, 0x10, 0x9F, 0xE5, 0x04, 0x00, 0xA0, 0xE1, 0xB6, 0x23, 0xD1, 0xE1
- .byte 0x04, 0x20, 0x82, 0xE3, 0xB6, 0x23, 0xC1, 0xE1, 0xB4, 0x23, 0xD1, 0xE1, 0x04, 0x20, 0xC2, 0xE3
- .byte 0xB4, 0x23, 0xC1, 0xE1, 0x9E, 0xE5, 0xFF, 0xEB, 0x10, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ movge r0, #0x1
+ movlt r0, #0x0
+ cmp r0, #0x0
+ bne _020D3C84
+ mov r0, r4
+ bl OS_RestoreInterrupts
+ ldr r0, _020D3CB4
+ ldrh r1, [r0, #0x34]
+ ldr r3, [r0]
+ orr r1, r1, #0x4
+ strh r1, [r0, #0x34]
+ cmp r3, #0x0
+ ldmeqia sp!, {r4, lr}
+ bxeq lr
+ mov r0, #0x2
+ mov r1, #0x4
+ mov r2, #0x0
+ blx r3
+ ldmia sp!, {r4, lr}
+ bx lr
+_020D3C84:
+ ldr r1, _020D3CB4
+ mov r0, r4
+ ldrh r2, [r1, #0x36]
+ orr r2, r2, #0x4
+ strh r2, [r1, #0x36]
+ ldrh r2, [r1, #0x34]
+ bic r2, r2, #0x4
+ strh r2, [r1, #0x34]
+ bl OS_RestoreInterrupts
+ ldmia sp!, {r4, lr}
+ bx lr
_020D3CB0: .word 0x03000200
-_020D3CB4:
- .byte 0x74, 0x54, 0x1D, 0x02
+_020D3CB4: .word 0x021D5474
arm_func_start TP_RequestAutoSamplingStartAsync
TP_RequestAutoSamplingStartAsync: ; 0x020D3CB8
@@ -11107,20 +12269,51 @@ _020D3D00:
mov r2, #0x0
bl PXI_SendWordByFifo
_020D3D20:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x00, 0x00, 0xA0, 0xB3, 0x07, 0x00, 0x00, 0xBA, 0x94, 0x10, 0x9F, 0xE5
- .byte 0x06, 0x00, 0xA0, 0xE3, 0x01, 0x10, 0x86, 0xE1, 0x00, 0x20, 0xA0, 0xE3, 0xE7, 0xEF, 0xFF, 0xEB
- .byte 0x00, 0x00, 0x50, 0xE3, 0x00, 0x00, 0xA0, 0xB3, 0x01, 0x00, 0xA0, 0xA3, 0xFF, 0x00, 0x10, 0xE2
- .byte 0x0F, 0x00, 0x00, 0x1A, 0x04, 0x00, 0xA0, 0xE1, 0x71, 0xE5, 0xFF, 0xEB, 0x5C, 0x00, 0x9F, 0xE5
- .byte 0xB4, 0x13, 0xD0, 0xE1, 0x00, 0x30, 0x90, 0xE5, 0x02, 0x10, 0x81, 0xE3, 0xB4, 0x13, 0xC0, 0xE1
- .byte 0x00, 0x00, 0x53, 0xE3, 0x70, 0x40, 0xBD, 0x08, 0x1E, 0xFF, 0x2F, 0x01, 0x01, 0x00, 0xA0, 0xE3
- .byte 0x04, 0x10, 0xA0, 0xE3, 0x00, 0x20, 0xA0, 0xE3, 0x33, 0xFF, 0x2F, 0xE1, 0x70, 0x40, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1, 0x24, 0x10, 0x9F, 0xE5, 0x04, 0x00, 0xA0, 0xE1, 0xB6, 0x23, 0xD1, 0xE1
- .byte 0x02, 0x20, 0x82, 0xE3, 0xB6, 0x23, 0xC1, 0xE1, 0xB4, 0x23, 0xD1, 0xE1, 0x02, 0x20, 0xC2, 0xE3
- .byte 0xB4, 0x23, 0xC1, 0xE1, 0x5A, 0xE5, 0xFF, 0xEB, 0x70, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ movlt r0, #0x0
+ blt _020D3D4C
+ ldr r1, _020D3DC8
+ mov r0, #0x6
+ orr r1, r6, r1
+ mov r2, #0x0
+ bl PXI_SendWordByFifo
+ cmp r0, #0x0
+ movlt r0, #0x0
+ movge r0, #0x1
+_020D3D4C:
+ ands r0, r0, #0xFF
+ bne _020D3D94
+ mov r0, r4
+ bl OS_RestoreInterrupts
+ ldr r0, _020D3DC0
+ ldrh r1, [r0, #0x34]
+ ldr r3, [r0]
+ orr r1, r1, #0x2
+ strh r1, [r0, #0x34]
+ cmp r3, #0x0
+ ldmeqia sp!, {r4-r6, lr}
+ bxeq lr
+ mov r0, #0x1
+ mov r1, #0x4
+ mov r2, #0x0
+ blx r3
+ ldmia sp!, {r4-r6, lr}
+ bx lr
+_020D3D94:
+ ldr r1, _020D3DC0
+ mov r0, r4
+ ldrh r2, [r1, #0x36]
+ orr r2, r2, #0x2
+ strh r2, [r1, #0x36]
+ ldrh r2, [r1, #0x34]
+ bic r2, r2, #0x2
+ strh r2, [r1, #0x34]
+ bl OS_RestoreInterrupts
+ ldmia sp!, {r4-r6, lr}
+ bx lr
_020D3DC0: .word 0x021D5474
_020D3DC4: .word 0x02000100
-_020D3DC8:
- .byte 0x00, 0x00, 0x01, 0x01
+_020D3DC8: .word 0x01010000
arm_func_start TP_WaitRawResult
TP_WaitRawResult: ; 0x020D3DCC
@@ -11158,15 +12351,40 @@ TP_RequestSamplingAsync: ; 0x020D3E24
mov r2, #0x0
bl PXI_SendWordByFifo
_020D3E40:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x01, 0x00, 0xA0, 0xA3, 0x00, 0x00, 0xA0, 0xB3, 0x00, 0x00, 0x50, 0xE3
- .byte 0x0F, 0x00, 0x00, 0x1A, 0x04, 0x00, 0xA0, 0xE1, 0x31, 0xE5, 0xFF, 0xEB, 0x5C, 0x00, 0x9F, 0xE5
- .byte 0xB4, 0x13, 0xD0, 0xE1, 0x00, 0x30, 0x90, 0xE5, 0x01, 0x10, 0x81, 0xE3, 0xB4, 0x13, 0xC0, 0xE1
- .byte 0x00, 0x00, 0x53, 0xE3, 0x10, 0x40, 0xBD, 0x08, 0x1E, 0xFF, 0x2F, 0x01, 0x00, 0x00, 0xA0, 0xE3
- .byte 0x00, 0x20, 0xA0, 0xE1, 0x04, 0x10, 0xA0, 0xE3, 0x33, 0xFF, 0x2F, 0xE1, 0x10, 0x40, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1, 0x24, 0x10, 0x9F, 0xE5, 0x04, 0x00, 0xA0, 0xE1, 0xB6, 0x23, 0xD1, 0xE1
- .byte 0x01, 0x20, 0x82, 0xE3, 0xB6, 0x23, 0xC1, 0xE1, 0xB4, 0x23, 0xD1, 0xE1, 0x01, 0x20, 0xC2, 0xE3
- .byte 0xB4, 0x23, 0xC1, 0xE1, 0x1A, 0xE5, 0xFF, 0xEB, 0x10, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
- .byte 0x74, 0x54, 0x1D, 0x02
+ cmp r0, #0x0
+ movge r0, #0x1
+ movlt r0, #0x0
+ cmp r0, #0x0
+ bne _020D3E94
+ mov r0, r4
+ bl OS_RestoreInterrupts
+ ldr r0, _20D3EC0
+ ldrh r1, [r0, #0x34]
+ ldr r3, [r0]
+ orr r1, r1, #0x1
+ strh r1, [r0, #0x34]
+ cmp r3, #0x0
+ ldmeqia sp!, {r4, lr}
+ bxeq lr
+ mov r0, #0x0
+ mov r2, r0
+ mov r1, #0x4
+ blx r3
+ ldmia sp!, {r4, lr}
+ bx lr
+_020D3E94:
+ ldr r1, _20D3EC0
+ mov r0, r4
+ ldrh r2, [r1, #0x36]
+ orr r2, r2, #0x1
+ strh r2, [r1, #0x36]
+ ldrh r2, [r1, #0x34]
+ bic r2, r2, #0x1
+ strh r2, [r1, #0x34]
+ bl OS_RestoreInterrupts
+ ldmia sp!, {r4, lr}
+ bx lr
+_20D3EC0: .word 0x021D5474
arm_func_start TP_SetCalibrateParam
TP_SetCalibrateParam: ; 0x020D3EC4
@@ -11291,7 +12509,8 @@ _020D405C:
str r12, [sp, #0x10]
bl TP_CalcCalibrateParam
_020D4078:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x08, 0x00, 0x00, 0x0A
+ cmp r0, #0
+ beq _020D40A4
_020D4080:
mov r0, #0x0
strh r0, [r4, #0x0]
@@ -11303,8 +12522,10 @@ _020D4080:
ldmia sp!, {r4-r6,lr}
bx lr
_020D40A4:
- .byte 0x01, 0x00, 0xA0, 0xE3, 0x18, 0xD0, 0x8D, 0xE2, 0x70, 0x40, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1
+ mov r0, #0x1
+ add sp, sp, #0x18
+ ldmia sp!, {r4-r6,lr}
+ bx lr
_020D40B4: .word 0x027FFC80
arm_func_start TP_Init
@@ -11331,17 +12552,22 @@ TP_Init: ; 0x020D40B8
strh r1, [r0, #0x34]
mov r5, #0x6
mov r4, #0x1
+_020D4110:
mov r0, r5
mov r1, r4
bl PXI_IsCallbackReady
_020D411C:
- .byte 0x00, 0x00, 0x50, 0xE3
- .byte 0xFA, 0xFF, 0xFF, 0x0A, 0x18, 0x10, 0x9F, 0xE5, 0x06, 0x00, 0xA0, 0xE3, 0x22, 0xEF, 0xFF, 0xEB
- .byte 0x04, 0xD0, 0x8D, 0xE2, 0x30, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ beq _020D4110
+ ldr r1, _020D4144
+ mov r0, #0x6
+ bl PXI_SetFifoRecvCallback
+ add sp, sp, #0x4
+ ldmia sp!, {r4-r5,lr}
+ bx lr
_020D413C: .word 0x021D5470
_020D4140: .word 0x021D5474
-_020D4144:
- .byte 0x48, 0x41, 0x0D, 0x02
+_020D4144: .word FUN_020D4148
arm_func_start FUN_020D4148
FUN_020D4148: ; 0x020D4148
@@ -11433,28 +12659,98 @@ _020D427C:
addls pc, pc, r1, lsl #0x2
b _020D43EC
_020D429C:
- .byte 0x03, 0x00, 0x00, 0xEA
- .byte 0x51, 0x00, 0x00, 0xEA, 0x39, 0x00, 0x00, 0xEA, 0x3A, 0x00, 0x00, 0xEA, 0x35, 0x00, 0x00, 0xEA
- .byte 0x00, 0x00, 0x50, 0xE3, 0x06, 0x00, 0x00, 0x0A, 0x01, 0x00, 0x50, 0xE3, 0x1D, 0x00, 0x00, 0x0A
- .byte 0x02, 0x00, 0x50, 0xE3, 0x30, 0x11, 0x9F, 0x05, 0x00, 0x20, 0xA0, 0x03, 0xB2, 0x23, 0xC1, 0x01
- .byte 0x1B, 0x00, 0x00, 0xEA, 0x24, 0x11, 0x9F, 0xE5, 0x24, 0x31, 0x9F, 0xE5, 0xB0, 0xC0, 0xD1, 0xE1
- .byte 0x14, 0x11, 0x9F, 0xE5, 0x00, 0x20, 0xA0, 0xE3, 0xB4, 0xC0, 0xCD, 0xE1, 0xB0, 0x30, 0xD3, 0xE1
- .byte 0xB6, 0x30, 0xCD, 0xE1, 0x04, 0xC0, 0x9D, 0xE5, 0xB2, 0x23, 0xC1, 0xE1, 0x8C, 0x33, 0xA0, 0xE1
- .byte 0x8C, 0x22, 0xA0, 0xE1, 0x0C, 0xEA, 0xA0, 0xE1, 0x0C, 0xC4, 0xA0, 0xE1, 0xA3, 0x3F, 0xA0, 0xE1
- .byte 0x22, 0x2F, 0xA0, 0xE1, 0x2E, 0xEA, 0xA0, 0xE1, 0x2C, 0xCA, 0xA0, 0xE1, 0xFF, 0x30, 0x03, 0xE2
- .byte 0xFF, 0x20, 0x02, 0xE2, 0xB4, 0xE0, 0xC1, 0xE1, 0xB6, 0xC0, 0xC1, 0xE1, 0xB8, 0x30, 0xC1, 0xE1
- .byte 0xBA, 0x20, 0xC1, 0xE1, 0x02, 0x00, 0x00, 0xEA, 0xBC, 0x10, 0x9F, 0xE5, 0x02, 0x20, 0xA0, 0xE3
- .byte 0xB2, 0x23, 0xC1, 0xE1, 0xB0, 0x10, 0x9F, 0xE5, 0x01, 0x20, 0xA0, 0xE3, 0xB6, 0xC3, 0xD1, 0xE1
- .byte 0x12, 0x20, 0xE0, 0xE1, 0x00, 0x30, 0x91, 0xE5, 0x02, 0x20, 0x0C, 0xE0, 0x00, 0x00, 0x53, 0xE3
- .byte 0xB6, 0x23, 0xC1, 0xE1, 0x08, 0xD0, 0x8D, 0x02, 0x10, 0x40, 0xBD, 0x08, 0x1E, 0xFF, 0x2F, 0x01
- .byte 0x00, 0x10, 0xA0, 0xE3, 0x01, 0x20, 0xA0, 0xE1, 0x33, 0xFF, 0x2F, 0xE1, 0x08, 0xD0, 0x8D, 0xE2
- .byte 0x10, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1, 0x03, 0x40, 0xA0, 0xE3, 0x02, 0x00, 0x00, 0xEA
- .byte 0x01, 0x40, 0xA0, 0xE3, 0x00, 0x00, 0x00, 0xEA, 0x02, 0x40, 0xA0, 0xE3, 0x58, 0x10, 0x9F, 0xE5
- .byte 0x01, 0xE0, 0xA0, 0xE3, 0xB4, 0xC3, 0xD1, 0xE1, 0x00, 0x30, 0x91, 0xE5, 0x1E, 0x20, 0xE0, 0xE1
- .byte 0x1E, 0xC0, 0x8C, 0xE1, 0xB4, 0xC3, 0xC1, 0xE1, 0xB6, 0xC3, 0xD1, 0xE1, 0x00, 0x00, 0x53, 0xE3
- .byte 0x08, 0xD0, 0x8D, 0x02, 0x02, 0x20, 0x0C, 0xE0, 0xB6, 0x23, 0xC1, 0xE1, 0x10, 0x40, 0xBD, 0x08
- .byte 0x1E, 0xFF, 0x2F, 0x01, 0xFF, 0x10, 0x04, 0xE2, 0x00, 0x20, 0xA0, 0xE3, 0x33, 0xFF, 0x2F, 0xE1
- .byte 0x08, 0xD0, 0x8D, 0xE2, 0x10, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ b _020D42B0
+ b _020D43EC
+ b _020D4390
+ b _020D4398
+ b _020D4388
+_020D42B0:
+ cmp r0, #0x0
+ beq _020D42D4
+ cmp r0, #0x1
+ beq _020D4338
+ cmp r0, #0x2
+ ldreq r1, _020D43FC
+ moveq r2, #0x0
+ streqh r2, [r1, #0x32]
+ b _020D4344
+_020D42D4:
+ ldr r1, _020D4400
+ ldr r3, _020D4404
+ ldrh ip, [r1]
+ ldr r1, _020D43FC
+ mov r2, #0x0
+ strh ip, [sp, #0x4]
+ ldrh r3, [r3]
+ strh r3, [sp, #0x6]
+ ldr ip, [sp, #0x4]
+ strh r2, [r1, #0x32]
+ mov r3, ip, lsl #0x7
+ mov r2, ip, lsl #0x5
+ mov lr, ip, lsl #0x14
+ mov ip, ip, lsl #0x8
+ mov r3, r3, lsr #0x1F
+ mov r2, r2, lsr #0x1E
+ mov lr, lr, lsr #0x14
+ mov ip, ip, lsr #0x14
+ and r3, r3, #0xFF
+ and r2, r2, #0xFF
+ strh lr, [r1, #0x4]
+ strh ip, [r1, #0x6]
+ strh r3, [r1, #0x8]
+ strh r2, [r1, #0xA]
+ b _020D4344
+_020D4338:
+ ldr r1, _020D43FC
+ mov r2, #0x2
+ strh r2, [r1, #0x32]
+_020D4344:
+ ldr r1, _020D43FC
+ mov r2, #0x1
+ ldrh ip, [r1, #0x36]
+ mvn r2, r2, lsl r0
+ ldr r3, [r1]
+ and r2, ip, r2
+ cmp r3, #0x0
+ strh r2, [r1, #0x36]
+ addeq sp, sp, #0x8
+ ldmeqia sp!, {r4, lr}
+ bxeq lr
+ mov r1, #0x0
+ mov r2, r1
+ blx r3
+ add sp, sp, #0x8
+ ldmia sp!, {r4, lr}
+ bx lr
+_020D4388:
+ mov r4, #0x3
+ b _020D439C
+_020D4390:
+ mov r4, #0x1
+ b _020D439C
+_020D4398:
+ mov r4, #0x2
+_020D439C:
+ ldr r1, _020D43FC
+ mov lr, #0x1
+ ldrh ip, [r1, #0x34]
+ ldr r3, [r1]
+ mvn r2, lr, lsl r0
+ orr ip, ip, lr, lsl r0
+ strh ip, [r1, #0x34]
+ ldrh ip, [r1, #0x36]
+ cmp r3, #0x0
+ addeq sp, sp, #0x8
+ and r2, ip, r2
+ strh r2, [r1, #0x36]
+ ldmeqia sp!, {r4, lr}
+ bxeq lr
+ and r1, r4, #0xff
+ mov r2, #0x0
+ blx r3
+ add sp, sp, #0x8
+ ldmia sp!, {r4, lr}
+ bx lr
_020D43EC:
bl OS_Terminate
add sp, sp, #0x8
@@ -11493,8 +12789,12 @@ MicStopAutoSampling:
mov r2, #0x0
bl PXI_SendWordByFifo
_020D4448:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x01, 0x00, 0xA0, 0xA3
- .byte 0x00, 0x00, 0xA0, 0xB3, 0x04, 0xD0, 0x8D, 0xE2, 0x00, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ movge r0, #0x1
+ movlt r0, #0x0
+ add sp, sp, #4
+ ldmfd sp!, {lr}
+ bx lr
_020D4460: .word 0x03004200
arm_func_start MicStartAutoSampling
@@ -11509,26 +12809,72 @@ MicStartAutoSampling: ; 0x020D4464
mov r2, #0x0
bl PXI_SendWordByFifo
_020D4488:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x00, 0x00, 0xA0, 0xB3
- .byte 0x70, 0x40, 0xBD, 0xB8, 0x1E, 0xFF, 0x2F, 0xB1, 0x26, 0x08, 0xA0, 0xE1, 0x01, 0x18, 0x80, 0xE3
- .byte 0x09, 0x00, 0xA0, 0xE3, 0x00, 0x20, 0xA0, 0xE3, 0x0C, 0xEE, 0xFF, 0xEB, 0x00, 0x00, 0x50, 0xE3
- .byte 0x00, 0x00, 0xA0, 0xB3, 0x70, 0x40, 0xBD, 0xB8, 0x1E, 0xFF, 0x2F, 0xB1, 0xC4, 0x10, 0x9F, 0xE5
- .byte 0x09, 0x00, 0xA0, 0xE3, 0x01, 0x10, 0x06, 0xE0, 0x02, 0x18, 0x81, 0xE3, 0x00, 0x20, 0xA0, 0xE3
- .byte 0x02, 0xEE, 0xFF, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x00, 0x00, 0xA0, 0xB3, 0x70, 0x40, 0xBD, 0xB8
- .byte 0x1E, 0xFF, 0x2F, 0xB1, 0x25, 0x08, 0xA0, 0xE1, 0x03, 0x18, 0x80, 0xE3, 0x09, 0x00, 0xA0, 0xE3
- .byte 0x00, 0x20, 0xA0, 0xE3, 0xF9, 0xED, 0xFF, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x00, 0x00, 0xA0, 0xB3
- .byte 0x70, 0x40, 0xBD, 0xB8, 0x1E, 0xFF, 0x2F, 0xB1, 0x78, 0x10, 0x9F, 0xE5, 0x09, 0x00, 0xA0, 0xE3
- .byte 0x01, 0x10, 0x05, 0xE0, 0x01, 0x17, 0x81, 0xE3, 0x00, 0x20, 0xA0, 0xE3, 0xEF, 0xED, 0xFF, 0xEB
- .byte 0x00, 0x00, 0x50, 0xE3, 0x00, 0x00, 0xA0, 0xB3, 0x70, 0x40, 0xBD, 0xB8, 0x1E, 0xFF, 0x2F, 0xB1
- .byte 0x24, 0x08, 0xA0, 0xE1, 0x05, 0x18, 0x80, 0xE3, 0x09, 0x00, 0xA0, 0xE3, 0x00, 0x20, 0xA0, 0xE3
- .byte 0xE6, 0xED, 0xFF, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x00, 0x00, 0xA0, 0xB3, 0x70, 0x40, 0xBD, 0xB8
- .byte 0x1E, 0xFF, 0x2F, 0xB1, 0x2C, 0x00, 0x9F, 0xE5, 0x2C, 0x10, 0x9F, 0xE5, 0x00, 0x00, 0x04, 0xE0
- .byte 0x01, 0x10, 0x80, 0xE1, 0x09, 0x00, 0xA0, 0xE3, 0x00, 0x20, 0xA0, 0xE3, 0xDB, 0xED, 0xFF, 0xEB
- .byte 0x00, 0x00, 0x50, 0xE3, 0x01, 0x00, 0xA0, 0xA3, 0x00, 0x00, 0xA0, 0xB3, 0x70, 0x40, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ movlt r0, #0x0
+ ldmltia sp!, {r4-r6, lr}
+ bxlt lr
+ mov r0, r6, lsr #0x10
+ orr r1, r0, #0x10000
+ mov r0, #0x9
+ mov r2, #0x0
+ bl PXI_SendWordByFifo
+ cmp r0, #0x0
+ movlt r0, #0x0
+ ldmltia sp!, {r4-r6, lr}
+ bxlt lr
+ ldr r1, _020D4588
+ mov r0, #0x9
+ and r1, r6, r1
+ orr r1, r1, #0x20000
+ mov r2, #0x0
+ bl PXI_SendWordByFifo
+ cmp r0, #0x0
+ movlt r0, #0x0
+ ldmltia sp!, {r4-r6, lr}
+ bxlt lr
+ mov r0, r5, lsr #0x10
+ orr r1, r0, #0x30000
+ mov r0, #0x9
+ mov r2, #0x0
+ bl PXI_SendWordByFifo
+ cmp r0, #0x0
+ movlt r0, #0x0
+ ldmltia sp!, {r4-r6, lr}
+ bxlt lr
+ ldr r1, _020D4588
+ mov r0, #0x9
+ and r1, r5, r1
+ orr r1, r1, #0x40000
+ mov r2, #0x0
+ bl PXI_SendWordByFifo
+ cmp r0, #0x0
+ movlt r0, #0x0
+ ldmltia sp!, {r4-r6, lr}
+ bxlt lr
+ mov r0, r4, lsr #0x10
+ orr r1, r0, #0x50000
+ mov r0, #0x9
+ mov r2, #0x0
+ bl PXI_SendWordByFifo
+ cmp r0, #0x0
+ movlt r0, #0x0
+ ldmltia sp!, {r4-r6, lr}
+ bxlt lr
+ ldr r0, _020D4588
+ ldr r1, _020D458C
+ and r0, r4, r0
+ orr r1, r0, r1
+ mov r0, #0x9
+ mov r2, #0x0
+ bl PXI_SendWordByFifo
+ cmp r0, #0x0
+ movge r0, #0x1
+ movlt r0, #0x0
+ ldmia sp!, {r4-r6, lr}
+ bx lr
_020D4584: .word 0x02004100
-_020D4588:
- .byte 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x06, 0x01
+_020D4588: .word 0x0000FFFF
+_020D458C: .word 0x01060000
arm_func_start MicDoSampling
MicDoSampling: ; 0x020D4590
@@ -11540,9 +12886,12 @@ MicDoSampling: ; 0x020D4590
mov r0, #0x9
bl PXI_SendWordByFifo
_020D45AC:
- .byte 0x00, 0x00, 0x50, 0xE3
- .byte 0x01, 0x00, 0xA0, 0xA3, 0x00, 0x00, 0xA0, 0xB3, 0x04, 0xD0, 0x8D, 0xE2, 0x00, 0x40, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ movge r0, #0x1
+ movlt r0, #0x0
+ add sp, sp, #0x4
+ ldmfd sp!, {lr}
+ bx lr
_020D45C4: .word 0x03004000
arm_func_start MicCommonCallback
@@ -11576,12 +12925,29 @@ _020D4610:
addls pc, pc, r1, lsl #0x2
b _020D4670
_020D4634:
- .byte 0x03, 0x00, 0x00, 0xEA, 0x04, 0x00, 0x00, 0xEA, 0x05, 0x00, 0x00, 0xEA
- .byte 0x06, 0x00, 0x00, 0xEA, 0x07, 0x00, 0x00, 0xEA, 0x00, 0x00, 0xA0, 0xE3, 0x08, 0x00, 0x00, 0xEA
- .byte 0x04, 0x00, 0xA0, 0xE3, 0x06, 0x00, 0x00, 0xEA, 0x02, 0x00, 0xA0, 0xE3, 0x04, 0x00, 0x00, 0xEA
- .byte 0x05, 0x00, 0xA0, 0xE3, 0x02, 0x00, 0x00, 0xEA, 0x01, 0x00, 0xA0, 0xE3, 0x00, 0x00, 0x00, 0xEA
+ b _020D4648
+ b _020D4650
+ b _020D4658
+ b _020D4660
+ b _020D4668
+_020D4648:
+ mov r0, #0x0
+ b _020D4674
+_020D4650:
+ mov r0, #0x4
+ b _020D4674
+_020D4658:
+ mov r0, #0x2
+ b _020D4674
+_020D4660:
+ mov r0, #0x5
+ b _020D4674
+_020D4668:
+ mov r0, #0x1
+ b _020D4674
_020D4670:
mov r0, #0x6
+_020D4674:
cmp r2, #0x51
bne _020D46A0
ldr r1, _020D4700 ; =0x021D54B0
@@ -11678,8 +13044,12 @@ _020D4794:
str r4, [r0, #0x8]
bl MicStopAutoSampling
_020D47B0:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x00, 0x00, 0xA0, 0x13, 0x03, 0x00, 0xA0, 0x03, 0x04, 0xD0, 0x8D, 0xE2
- .byte 0x30, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ movne r0, #0x0
+ moveq r0, #0x3
+ add sp, sp, #0x4
+ ldmia sp!, {r4-r5, lr}
+ bx lr
_020D47C8: .word 0x021D54B0
arm_func_start MIC_StartAutoSampling
@@ -11739,27 +13109,75 @@ MIC_StartAutoSamplingAsync: ; 0x020D4810
addls pc, pc, r0, lsl #0x2
b _020D48D8
_020D4890:
- .byte 0x04, 0x00, 0x00, 0xEA, 0x05, 0x00, 0x00, 0xEA, 0x06, 0x00, 0x00, 0xEA, 0x07, 0x00, 0x00, 0xEA
- .byte 0x08, 0x00, 0x00, 0xEA, 0x09, 0x00, 0x00, 0xEA, 0x00, 0x10, 0xA0, 0xE3, 0x0D, 0x00, 0x00, 0xEA
- .byte 0x01, 0x10, 0xA0, 0xE3, 0x0B, 0x00, 0x00, 0xEA, 0x02, 0x10, 0xA0, 0xE3, 0x09, 0x00, 0x00, 0xEA
- .byte 0x03, 0x10, 0xA0, 0xE3, 0x07, 0x00, 0x00, 0xEA, 0x05, 0x10, 0xA0, 0xE3, 0x05, 0x00, 0x00, 0xEA
- .byte 0x07, 0x10, 0xA0, 0xE3, 0x03, 0x00, 0x00, 0xEA
+ b _020D48A8
+ b _020D48B0
+ b _020D48B8
+ b _020D48C0
+ b _020D48C8
+ b _020D48D0
+_020D48A8:
+ mov r1, #0x0
+ b _020D48E8
+_020D48B0:
+ mov r1, #0x1
+ b _020D48E8
+_020D48B8:
+ mov r1, #0x2
+ b _020D48E8
+_020D48C0:
+ mov r1, #0x3
+ b _020D48E8
+_020D48C8:
+ mov r1, #0x5
+ b _020D48E8
+_020D48D0:
+ mov r1, #0x7
+ b _020D48E8
_020D48D8:
add sp, sp, #0x4
mov r0, #0x2
ldmia sp!, {r4-r7,lr}
bx lr
_020D48E8:
- .byte 0x10, 0x00, 0x97, 0xE5, 0x00, 0x00, 0x50, 0xE3
- .byte 0x10, 0x00, 0x81, 0x13, 0xFF, 0x00, 0x00, 0x12, 0xFF, 0x00, 0x01, 0x02, 0xFF, 0x40, 0x00, 0xE2
- .byte 0x82, 0xE2, 0xFF, 0xEB, 0x70, 0x10, 0x9F, 0xE5, 0x00, 0x20, 0x91, 0xE5, 0x00, 0x00, 0x52, 0xE3
- .byte 0x04, 0x00, 0x00, 0x0A, 0x82, 0xE2, 0xFF, 0xEB, 0x04, 0xD0, 0x8D, 0xE2, 0x01, 0x00, 0xA0, 0xE3
- .byte 0xF0, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1, 0x01, 0x20, 0xA0, 0xE3, 0x00, 0x20, 0x81, 0xE5
- .byte 0x7B, 0xE2, 0xFF, 0xEB, 0x40, 0x00, 0x9F, 0xE5, 0x04, 0x30, 0xA0, 0xE1, 0x04, 0x60, 0x80, 0xE5
- .byte 0x08, 0x50, 0x80, 0xE5, 0x14, 0x10, 0x97, 0xE5, 0x10, 0x10, 0x80, 0xE5, 0x18, 0x10, 0x97, 0xE5
- .byte 0x14, 0x10, 0x80, 0xE5, 0x04, 0x00, 0x97, 0xE5, 0x08, 0x10, 0x97, 0xE5, 0x0C, 0x20, 0x97, 0xE5
- .byte 0xBF, 0xFE, 0xFF, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x00, 0x00, 0xA0, 0x13, 0x03, 0x00, 0xA0, 0x03
- .byte 0x04, 0xD0, 0x8D, 0xE2, 0xF0, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1, 0xB0, 0x54, 0x1D, 0x02
+ ldr r0, [r7, #0x10]
+ cmp r0, #0x0
+ orrne r0, r1, #0x10
+ andne r0, r0, #0xff
+ andeq r0, r1, #0xff
+ and r4, r0, #0xff
+ bl OS_DisableInterrupts
+ ldr r1, _020D497C
+ ldr r2, [r1]
+ cmp r2, #0x0
+ beq _020D4928
+ bl OS_RestoreInterrupts
+ add sp, sp, #0x4
+ mov r0, #0x1
+ ldmia sp!, {r4-r7,lr}
+ bx lr
+_020D4928:
+ mov r2, #0x1
+ str r2, [r1]
+ bl OS_RestoreInterrupts
+ ldr r0, _020D497C
+ mov r3, r4
+ str r6, [r0, #0x4]
+ str r5, [r0, #0x8]
+ ldr r1, [r7, #0x14]
+ str r1, [r0, #0x10]
+ ldr r1, [r7, #0x18]
+ str r1, [r0, #0x14]
+ ldr r0, [r7, #0x4]
+ ldr r1, [r7, #0x8]
+ ldr r2, [r7, #0xC]
+ bl MicStartAutoSampling
+ cmp r0, #0x0
+ movne r0, #0x0
+ moveq r0, #0x3
+ add sp, sp, #0x4
+ ldmia sp!, {r4-r7,lr}
+ bx lr
+_020D497C: .word 0x021D54B0
arm_func_start MIC_DoSamplingAsync
MIC_DoSamplingAsync: ; 0x020D4980
@@ -11777,23 +13195,55 @@ MIC_DoSamplingAsync: ; 0x020D4980
addls pc, pc, r0, lsl #0x2
b _020D49E4
_020D49B4:
- .byte 0x02, 0x00, 0x00, 0xEA, 0x03, 0x00, 0x00, 0xEA, 0x04, 0x00, 0x00, 0xEA
- .byte 0x05, 0x00, 0x00, 0xEA, 0x00, 0x40, 0xA0, 0xE3, 0x09, 0x00, 0x00, 0xEA, 0x01, 0x40, 0xA0, 0xE3
- .byte 0x07, 0x00, 0x00, 0xEA, 0x02, 0x40, 0xA0, 0xE3, 0x05, 0x00, 0x00, 0xEA, 0x03, 0x40, 0xA0, 0xE3
- .byte 0x03, 0x00, 0x00, 0xEA
+ b _020D49C4
+ b _020D49CC
+ b _020D49D4
+ b _020D49DC
+_020D49C4:
+ mov r4, #0x0
+ b _020D49F4
+_020D49CC:
+ mov r4, #0x1
+ b _020D49F4
+_020D49D4:
+ mov r4, #0x2
+ b _020D49F4
+_020D49DC:
+ mov r4, #0x3
+ b _020D49F4
_020D49E4:
add sp, sp, #0x4
mov r0, #0x2
ldmia sp!, {r4-r7,lr}
bx lr
_020D49F4:
- .byte 0x45, 0xE2, 0xFF, 0xEB, 0x58, 0x10, 0x9F, 0xE5, 0x00, 0x20, 0x91, 0xE5
- .byte 0x00, 0x00, 0x52, 0xE3, 0x04, 0x00, 0x00, 0x0A, 0x45, 0xE2, 0xFF, 0xEB, 0x04, 0xD0, 0x8D, 0xE2
- .byte 0x01, 0x00, 0xA0, 0xE3, 0xF0, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1, 0x01, 0x20, 0xA0, 0xE3
- .byte 0x00, 0x20, 0x81, 0xE5, 0x3E, 0xE2, 0xFF, 0xEB, 0x28, 0x10, 0x9F, 0xE5, 0x04, 0x00, 0xA0, 0xE1
- .byte 0x04, 0x60, 0x81, 0xE5, 0x08, 0x50, 0x81, 0xE5, 0x18, 0x70, 0x81, 0xE5, 0xD3, 0xFE, 0xFF, 0xEB
- .byte 0x00, 0x00, 0x50, 0xE3, 0x00, 0x00, 0xA0, 0x13, 0x03, 0x00, 0xA0, 0x03, 0x04, 0xD0, 0x8D, 0xE2
- .byte 0xF0, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1, 0xB0, 0x54, 0x1D, 0x02
+ bl OS_DisableInterrupts
+ ldr r1, _020D4A58
+ ldr r2, [r1]
+ cmp r2, #0x0
+ beq _020D4A1C
+ bl OS_RestoreInterrupts
+ add sp, sp, #0x4
+ mov r0, #0x1
+ ldmia sp!, {r4-r7,lr}
+ bx lr
+_020D4A1C:
+ mov r2, #0x1
+ str r2, [r1]
+ bl OS_RestoreInterrupts
+ ldr r1, _020D4A58
+ mov r0, r4
+ str r6, [r1, #0x4]
+ str r5, [r1, #0x8]
+ str r7, [r1, #0x18]
+ bl MicDoSampling
+ cmp r0, #0x0
+ movne r0, #0x0
+ moveq r0, #0x3
+ add sp, sp, #0x4
+ ldmia sp!, {r4-r7,lr}
+ bx lr
+_020D4A58: .word 0x021D54B0
arm_func_start MIC_Init
MIC_Init: ; 0x020D4A5C
@@ -11814,18 +13264,26 @@ MIC_Init: ; 0x020D4A5C
bl PXI_Init
mov r5, #0x9
mov r4, #0x1
+_020D4AA0:
mov r0, r5
mov r1, r4
bl PXI_IsCallbackReady
_020D4AAC:
- .byte 0x00, 0x00, 0x50, 0xE3
- .byte 0xFA, 0xFF, 0xFF, 0x0A, 0x24, 0x20, 0x9F, 0xE5, 0x00, 0x30, 0xA0, 0xE3, 0x20, 0x10, 0x9F, 0xE5
- .byte 0x09, 0x00, 0xA0, 0xE3, 0x00, 0x30, 0x82, 0xE5, 0xBB, 0xEC, 0xFF, 0xEB, 0x04, 0xD0, 0x8D, 0xE2
- .byte 0x30, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ beq _020D4AA0
+ ldr r2, _020D4AE0
+ mov r3, #0x0
+ ldr r1, _020D4AE4
+ mov r0, #0x9
+ str r3, [r2]
+ bl PXI_SetFifoRecvCallback
+ add sp, sp, #0x4
+ ldmia sp!, {r4-r5, lr}
+ bx lr
_020D4AD8: .word 0x021D54AC
_020D4ADC: .word 0x021D54B0
-_020D4AE0:
- .byte 0x90, 0xFF, 0x7F, 0x02, 0xC8, 0x45, 0x0D, 0x02
+_020D4AE0: .word 0x027FFF90
+_020D4AE4: .word MicCommonCallback
arm_func_start PM_DeletePostSleepCallback
PM_DeletePostSleepCallback: ; 0x020D4AE8
@@ -11882,13 +13340,30 @@ _020D4B58:
bne _020D4B58
ldmia sp!, {r4,lr}
bx lr
-_020D4B78:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x1E, 0xFF, 0x2F, 0x01
- .byte 0x00, 0x30, 0x90, 0xE5, 0x03, 0x20, 0xA0, 0xE1, 0x00, 0x00, 0x53, 0xE3, 0x1E, 0xFF, 0x2F, 0x01
- .byte 0x01, 0x00, 0x53, 0xE1, 0x05, 0x00, 0x00, 0x1A, 0x02, 0x00, 0x53, 0xE1, 0x08, 0x10, 0x93, 0x05
- .byte 0x00, 0x10, 0x80, 0x05, 0x08, 0x00, 0x93, 0x15, 0x08, 0x00, 0x82, 0x15, 0x1E, 0xFF, 0x2F, 0xE1
- .byte 0x03, 0x20, 0xA0, 0xE1, 0x08, 0x30, 0x93, 0xE5, 0x00, 0x00, 0x53, 0xE3, 0xF3, 0xFF, 0xFF, 0x1A
- .byte 0x1E, 0xFF, 0x2F, 0xE1
+
+ arm_func_start FUN_020D4B78
+FUN_020D4B78:
+ cmp r0, #0x0
+ bxeq lr
+ ldr r3, [r0]
+ mov r2, r3
+ cmp r3, #0x0
+ bxeq lr
+_020D4B90:
+ cmp r3, r1
+ bne _020D4BB0
+ cmp r3, r2
+ ldreq r1, [r3, #0x8]
+ streq r1, [r0]
+ ldrne r0, [r3, #0x8]
+ strne r0, [r2, #0x8]
+ bx lr
+_020D4BB0:
+ mov r2, r3
+ ldr r3, [r3, #0x8]
+ cmp r3, #0x0
+ bne _020D4B90
+ bx lr
arm_func_start FUN_020D4BC4
FUN_020D4BC4: ; 0x020D4BC4
@@ -11929,9 +13404,15 @@ PM_GetLEDPattern: ; 0x020D4C20
add r2, sp, #0x0
bl PM_GetLEDPatternAsync
_020D4C34:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x04, 0xD0, 0x8D, 0x12, 0x00, 0x40, 0xBD, 0x18
- .byte 0x1E, 0xFF, 0x2F, 0x11, 0x0E, 0x03, 0x00, 0xEB, 0x00, 0x00, 0x9D, 0xE5, 0x04, 0xD0, 0x8D, 0xE2
- .byte 0x00, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ addne sp, sp, #0x4
+ ldmnefd sp!, {lr}
+ bxne lr
+ bl PMi_WaitBusy
+ ldr r0, [sp]
+ add sp, sp, #0x4
+ ldmfd sp!, {lr}
+ bx lr
_020D4C58: .word 0x020D587C
arm_func_start PM_GetLEDPatternAsync
@@ -11942,10 +13423,21 @@ PM_GetLEDPatternAsync:
mov r4, r2
bl PMi_Lock
_020D4C70:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x01, 0x00, 0xA0, 0x03, 0x70, 0x40, 0xBD, 0x08, 0x1E, 0xFF, 0x2F, 0x01
- .byte 0x1C, 0x10, 0x9F, 0xE5, 0x1C, 0x00, 0x9F, 0xE5, 0x04, 0x50, 0x81, 0xE5, 0x08, 0x40, 0x81, 0xE5
- .byte 0x0C, 0x60, 0x81, 0xE5, 0x03, 0x01, 0x00, 0xEB, 0x00, 0x00, 0xA0, 0xE3, 0x70, 0x40, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1, 0xE4, 0x54, 0x1D, 0x02, 0x00, 0x67, 0x00, 0x03
+ cmp r0, #0x0
+ moveq r0, #0x1
+ ldmeqia sp!, {r4-r6,lr}
+ bxeq lr
+ ldr r1, _020D4CA4
+ ldr r0, _020D4CA8
+ str r5, [r1, #0x4]
+ str r4, [r1, #0x8]
+ str r6, [r1, #0xC]
+ bl PMi_SendPxiData
+ mov r0, #0x0
+ ldmia sp!, {r4-r6,lr}
+ bx lr
+_020D4CA4: .word 0x021D54E4
+_020D4CA8: .word 0x03006700
arm_func_start PMi_SendLEDPatternCommand
PMi_SendLEDPatternCommand: ; 0x020D4CAC
@@ -11955,9 +13447,15 @@ PMi_SendLEDPatternCommand: ; 0x020D4CAC
add r2, sp, #0x0
bl PMi_SendLEDPatternCommandAsync
_020D4CC0:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x04, 0xD0, 0x8D, 0x12, 0x00, 0x40, 0xBD, 0x18, 0x1E, 0xFF, 0x2F, 0x11
- .byte 0xEB, 0x02, 0x00, 0xEB, 0x00, 0x00, 0x9D, 0xE5, 0x04, 0xD0, 0x8D, 0xE2, 0x00, 0x40, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0x0
+ addne sp, sp, #0x4
+ ldmnefd sp!, {lr}
+ bxne lr
+ bl PMi_WaitBusy
+ ldr r0, [sp]
+ add sp, sp, #0x4
+ ldmfd sp!, {lr}
+ bx lr
_020D4CE4: .word 0x020D587C
arm_func_start PMi_SendLEDPatternCommandAsync
@@ -11968,11 +13466,22 @@ PMi_SendLEDPatternCommandAsync:
mov r4, r2
bl PMi_Lock
_020D4CFC:
- .byte 0x00, 0x00, 0x50, 0xE3
- .byte 0x01, 0x00, 0xA0, 0x03, 0x70, 0x40, 0xBD, 0x08, 0x1E, 0xFF, 0x2F, 0x01, 0x20, 0x00, 0x9F, 0xE5
- .byte 0x20, 0x10, 0x9F, 0xE5, 0xFF, 0x20, 0x06, 0xE2, 0x00, 0x00, 0x82, 0xE1, 0x04, 0x50, 0x81, 0xE5
- .byte 0x08, 0x40, 0x81, 0xE5, 0xDF, 0x00, 0x00, 0xEB, 0x00, 0x00, 0xA0, 0xE3, 0x70, 0x40, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1, 0x00, 0x66, 0x00, 0x03, 0xE4, 0x54, 0x1D, 0x02
+ cmp r0, #0x0
+ moveq r0, #0x1
+ ldmeqia sp!, {r4-r6,lr}
+ bxeq lr
+ ldr r0, _020D4D34
+ ldr r1, _020D4D38
+ and r2, r6, #0xff
+ orr r0, r2, r0
+ str r5, [r1, #0x4]
+ str r4, [r1, #0x8]
+ bl PMi_SendPxiData
+ mov r0, #0x0
+ ldmia sp!, {r4-r6,lr}
+ bx lr
+_020D4D34: .word 0x03006600
+_020D4D38: .word 0x021D54E4
arm_func_start PM_GetLCDPower
PM_GetLCDPower: ; 0x020D4D3C
@@ -12084,43 +13593,148 @@ PM_GoSleepMode: ; 0x020D4E68
strh r0, [r1, #0x0]
bl OS_DisableInterrupts
_020D4EA0:
- .byte 0x00, 0x00, 0x8D, 0xE5, 0xE0, 0x01, 0x9F, 0xE5, 0xD9, 0xD3, 0xFF, 0xEB, 0x04, 0x00, 0x8D, 0xE5
- .byte 0x01, 0x07, 0xA0, 0xE3, 0xF6, 0xD3, 0xFF, 0xEB, 0x00, 0x00, 0x9D, 0xE5, 0x18, 0xE1, 0xFF, 0xEB
- .byte 0xC0, 0x21, 0x9F, 0xE5, 0x01, 0x10, 0xA0, 0xE3, 0xB0, 0x00, 0xD2, 0xE1, 0x08, 0x00, 0x1A, 0xE2
- .byte 0xB0, 0x10, 0xC2, 0xE1, 0x03, 0x00, 0x00, 0x0A, 0xB0, 0x01, 0x9F, 0xE5, 0xB0, 0x00, 0xD0, 0xE1
- .byte 0x02, 0x00, 0x50, 0xE3, 0x08, 0xA0, 0xCA, 0x03, 0x10, 0x00, 0x1A, 0xE2, 0x02, 0x00, 0x00, 0x0A
- .byte 0xE5, 0x19, 0x00, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x10, 0xA0, 0xCA, 0x03, 0x90, 0x01, 0x9F, 0xE5
- .byte 0x01, 0x13, 0xA0, 0xE3, 0x00, 0x70, 0x91, 0xE5, 0x00, 0x60, 0x90, 0xE5, 0x8A, 0xFF, 0xFF, 0xEB
- .byte 0x08, 0x00, 0x8D, 0xE5, 0x0C, 0x00, 0x8D, 0xE2, 0x10, 0x10, 0x8D, 0xE2, 0x6D, 0x00, 0x00, 0xEB
- .byte 0x02, 0x00, 0xA0, 0xE3, 0x00, 0x10, 0xA0, 0xE3, 0xCF, 0x00, 0x00, 0xEB, 0x64, 0x21, 0x9F, 0xE5
- .byte 0x00, 0x00, 0x92, 0xE5, 0x14, 0x00, 0x8D, 0xE5, 0x00, 0x10, 0x92, 0xE5, 0x14, 0x00, 0x9D, 0xE5
- .byte 0x01, 0x00, 0x50, 0xE1, 0xFB, 0xFF, 0xFF, 0x0A, 0x00, 0x00, 0x92, 0xE5, 0x01, 0x23, 0xA0, 0xE3
- .byte 0x14, 0x00, 0x8D, 0xE5, 0x00, 0x00, 0x92, 0xE5, 0x34, 0x11, 0x9F, 0xE5, 0x03, 0x08, 0xC0, 0xE3
- .byte 0x00, 0x00, 0x82, 0xE5, 0x00, 0x00, 0x91, 0xE5, 0x01, 0x08, 0xC0, 0xE3, 0x00, 0x00, 0x81, 0xE5
- .byte 0x20, 0x21, 0x9F, 0xE5, 0x00, 0x10, 0x92, 0xE5, 0x14, 0x00, 0x9D, 0xE5, 0x01, 0x00, 0x50, 0xE1
- .byte 0xFB, 0xFF, 0xFF, 0x0A, 0x00, 0x00, 0x92, 0xE5, 0x14, 0x00, 0x8D, 0xE5, 0x04, 0x21, 0x9F, 0xE5
- .byte 0x00, 0x10, 0x92, 0xE5, 0x14, 0x00, 0x9D, 0xE5, 0x01, 0x00, 0x50, 0xE1, 0xFB, 0xFF, 0xFF, 0x0A
- .byte 0x0C, 0x00, 0x9D, 0xE5, 0x10, 0x10, 0x9D, 0xE5, 0x80, 0x02, 0x8A, 0xE1, 0x01, 0x03, 0x80, 0xE1
- .byte 0x00, 0x08, 0xA0, 0xE1, 0x20, 0x58, 0xA0, 0xE1, 0x0B, 0x00, 0x89, 0xE1, 0x00, 0x08, 0xA0, 0xE1
- .byte 0x20, 0x98, 0xA0, 0xE1, 0x05, 0x00, 0xA0, 0xE1, 0x09, 0x10, 0xA0, 0xE1, 0x7B, 0x01, 0x00, 0xEB
- .byte 0x00, 0x00, 0x50, 0xE3, 0xFA, 0xFF, 0xFF, 0x1A, 0x19, 0xE2, 0xFF, 0xEB, 0xB8, 0x00, 0x9F, 0xE5
- .byte 0xE6, 0xE0, 0xFF, 0xEB, 0x08, 0x00, 0x1A, 0xE2, 0x03, 0x00, 0x00, 0x0A, 0xAC, 0x00, 0x9F, 0xE5
- .byte 0x00, 0x00, 0x90, 0xE5, 0x01, 0x06, 0x10, 0xE2, 0x01, 0x80, 0xA0, 0x13, 0x00, 0x00, 0x58, 0xE3
- .byte 0x0E, 0x00, 0x00, 0x1A, 0x08, 0x00, 0x9D, 0xE5, 0x01, 0x00, 0x50, 0xE3, 0x05, 0x00, 0x00, 0x1A
- .byte 0x01, 0x00, 0xA0, 0xE3, 0x00, 0x10, 0xA0, 0xE1, 0x00, 0x20, 0xA0, 0xE1, 0x00, 0x30, 0xA0, 0xE3
- .byte 0x54, 0xFF, 0xFF, 0xEB, 0x01, 0x00, 0x00, 0xEA, 0x01, 0x00, 0xA0, 0xE3, 0xC1, 0x00, 0x00, 0xEB
- .byte 0x01, 0x13, 0xA0, 0xE3, 0x58, 0x00, 0x9F, 0xE5, 0x00, 0x70, 0x81, 0xE5, 0x00, 0x60, 0x80, 0xE5
- .byte 0xB2, 0xE0, 0xFF, 0xEB, 0x04, 0x00, 0x9D, 0xE5, 0x91, 0xD3, 0xFF, 0xEB, 0x00, 0x00, 0x9D, 0xE5
- .byte 0xB3, 0xE0, 0xFF, 0xEB, 0x2C, 0x10, 0x9F, 0xE5, 0x00, 0x00, 0x58, 0xE3, 0xB0, 0x00, 0xD1, 0xE1
- .byte 0xB0, 0x40, 0xC1, 0xE1, 0x00, 0x00, 0x00, 0x0A, 0x44, 0x00, 0x00, 0xEB, 0x30, 0x00, 0x9F, 0xE5
- .byte 0x00, 0x00, 0x90, 0xE5, 0xB3, 0xFE, 0xFF, 0xEB, 0x1C, 0xD0, 0x8D, 0xE2, 0xF0, 0x4F, 0xBD, 0xE8
- .byte 0x1E, 0xFF, 0x2F, 0xE1
+ str r0, [sp]
+ ldr r0, _020D508C
+ bl OS_DisableIrqMask
+ str r0, [sp, #0x4]
+ mov r0, #0x40000
+ bl OS_SetIrqMask
+ ldr r0, [sp]
+ bl OS_RestoreInterrupts
+ ldr r2, _020D5088
+ mov r1, #0x1
+ ldrh r0, [r2]
+ ands r0, sl, #0x8
+ strh r1, [r2]
+ beq _020D4EE8
+ ldr r0, _020D5090
+ ldrh r0, [r0]
+ cmp r0, #0x2
+ biceq sl, sl, #0x8
+_020D4EE8:
+ ands r0, sl, #0x10
+ beq _020D4EFC
+ bl CTRDG_IsExisting
+ cmp r0, #0x0
+ biceq sl, sl, #0x10
+_020D4EFC:
+ ldr r0, _020D5094
+ mov r1, #0x4000000
+ ldr r7, [r1]
+ ldr r6, [r0]
+ bl PM_GetLCDPower
+ str r0, [sp, #0x8]
+ add r0, sp, #0xC
+ add r1, sp, #0x10
+ bl PM_GetBackLight
+ mov r0, #0x2
+ mov r1, #0x0
+ bl FUN_020D526C
+ ldr r2, _020D5098
+ ldr r0, [r2]
+ str r0, [sp, #0x14]
+_020D4F38:
+ ldr r1, [r2]
+ ldr r0, [sp, #0x14]
+ cmp r0, r1
+ beq _020D4F38
+ ldr r0, [r2]
+ mov r2, #0x4000000
+ str r0, [sp, #0x14]
+ ldr r0, [r2]
+ ldr r1, _020D5094
+ bic r0, r0, #0x30000
+ str r0, [r2]
+ ldr r0, [r1]
+ bic r0, r0, #0x10000
+ str r0, [r1]
+ ldr r2, _020D5098
+_020D4F74:
+ ldr r1, [r2]
+ ldr r0, [sp, #0x14]
+ cmp r0, r1
+ beq _020D4F74
+ ldr r0, [r2]
+ str r0, [sp, #0x14]
+ ldr r2, _020D5098
+_020D4F90:
+ ldr r1, [r2]
+ ldr r0, [sp, #0x14]
+ cmp r0, r1
+ beq _020D4F90
+ ldr r0, [sp, #0xC]
+ ldr r1, [sp, #0x10]
+ orr r0, sl, r0, lsl #0x5
+ orr r0, r0, r1, lsl #0x6
+ mov r0, r0, lsl #0x10
+ mov r5, r0, lsr #0x10
+ orr r0, r9, fp
+ mov r0, r0, lsl #0x10
+ mov r9, r0, lsr #0x10
+_020D4FC4:
+ mov r0, r5
+ mov r1, r9
+ bl PMi_SendSleepStart
+ cmp r0, #0x0
+ bne _020D4FC4
+ bl OS_Halt
+ ldr r0, _020D509C
+ bl OS_SpinWait
+ ands r0, sl, #0x8
+ beq _020D4FFC
+ ldr r0, _020D50A0
+ ldr r0, [r0]
+ ands r0, r0, #0x100000
+ movne r8, #0x1
+_020D4FFC:
+ cmp r8, #0x0
+ bne _020D5040
+ ldr r0, [sp, #0x8]
+ cmp r0, #0x1
+ bne _020D5028
+ mov r0, #0x1
+ mov r1, r0
+ mov r2, r0
+ mov r3, #0x0
+ bl PMi_SetLCDPower
+ b _020D5030
+_020D5028:
+ mov r0, #0x1
+ bl PMi_SetLED
+_020D5030:
+ mov r1, #0x4000000
+ ldr r0, _020D5094
+ str r7, [r1]
+ str r6, [r0]
+_020D5040:
+ bl OS_DisableInterrupts
+ ldr r0, [sp, #0x4]
+ bl OS_SetIrqMask
+ ldr r0, [sp]
+ bl OS_RestoreInterrupts
+ ldr r1, _020D5088
+ cmp r8, #0x0
+ ldrh r0, [r1]
+ strh r4, [r1]
+ beq _020D506C
+ bl FUN_020D5180
+_020D506C:
+ ldr r0, _020D50A4
+ ldr r0, [r0]
+ bl PMi_ExecuteList
+ add sp, sp, #0x1C
+ ldmia sp!, {r4-r11, lr}
+ bx lr
_020D5084: .word 0x021D54D8
_020D5088: .word 0x04000208
-_020D508C:
- .byte 0xFF, 0xFF, 0x3F, 0x00
- .byte 0x40, 0xFC, 0x7F, 0x02, 0x00, 0x10, 0x00, 0x04, 0x3C, 0xFC, 0x7F, 0x02, 0x00, 0x6A, 0x99, 0x00
- .byte 0x14, 0x02, 0x00, 0x04, 0xE0, 0x54, 0x1D, 0x02
+_020D508C: .word 0x003FFFFF
+_020D5090: .word 0x027FFC40
+_020D5094: .word 0x04001000
+_020D5098: .word 0x027FFC3C
+_020D509C: .word 0x00996A00
+_020D50A0: .word 0x04000214
+_020D50A4: .word 0x021D54E0
+
arm_func_start PMi_SendPxiData
PMi_SendPxiData: ; 0x020D50A8
@@ -12128,13 +13742,16 @@ PMi_SendPxiData: ; 0x020D50A8
mov r6, r0
mov r5, #0x8
mov r4, #0x0
+_020D50B8:
mov r0, r5
mov r1, r6
mov r2, r4
bl PXI_SendWordByFifo
_020D50C8:
- .byte 0x00, 0x00, 0x50, 0xE3, 0xF9, 0xFF, 0xFF, 0x1A
- .byte 0x70, 0x40, 0xBD, 0xE8, 0x1E, 0xFF, 0x2F, 0xE1
+ cmp r0, #0
+ bne _020D50B8
+ ldmia sp!, {r4-r6, lr}
+ bx lr
arm_func_start PM_GetBackLight
PM_GetBackLight: ; 0x020D50D8
@@ -12146,13 +13763,27 @@ PM_GetBackLight: ; 0x020D50D8
mov r0, #0x0
bl PMi_ReadRegister
_020D50F4:
- .byte 0x00, 0x00, 0x50, 0xE3, 0x04, 0xD0, 0x8D, 0x12, 0x30, 0x40, 0xBD, 0x18
- .byte 0x1E, 0xFF, 0x2F, 0x11, 0x00, 0x00, 0x55, 0xE3, 0x04, 0x00, 0x00, 0x0A, 0xB0, 0x10, 0xDD, 0xE1
- .byte 0x08, 0x10, 0x11, 0xE2, 0x01, 0x10, 0xA0, 0x13, 0x00, 0x10, 0xA0, 0x03, 0x00, 0x10, 0x85, 0xE5
- .byte 0x00, 0x00, 0x54, 0xE3, 0x04, 0xD0, 0x8D, 0x02, 0x30, 0x40, 0xBD, 0x08, 0x1E, 0xFF, 0x2F, 0x01
- .byte 0xB0, 0x10, 0xDD, 0xE1, 0x04, 0x10, 0x11, 0xE2, 0x01, 0x10, 0xA0, 0x13, 0x00, 0x10, 0xA0, 0x03
- .byte 0x00, 0x10, 0x84, 0xE5, 0x04, 0xD0, 0x8D, 0xE2, 0x30, 0x40, 0xBD, 0xE8
-_020D5150:
+ cmp r0, #0x0
+ addne sp, sp, #0x4
+ ldmneia sp!, {r4-r5,lr}
+ bxne lr
+ cmp r5, #0x0
+ beq _020D5120
+ ldrh r1, [sp]
+ ands r1, r1, #0x8
+ movne r1, #0x1
+ moveq r1, #0x0
+ str r1, [r5]
+_020D5120:
+ cmp r4, #0x0
+ addeq sp, sp, #0x4
+ ldmeqia sp!, {r4-r5,lr}
+ bxeq lr
+ ldrh r1, [sp]
+ ands r1, r1, #0x4
+ movne r1, #0x1
+ moveq r1, #0x0
+ str r1, [r4]
+ add sp, sp, #0x4
+ ldmia sp!, {r4-r5,lr}
bx lr
-
-; end before _020D5910: .word 0x021D54E4
diff --git a/asm/arm9_thumb.s b/asm/arm9_thumb.s
index cd0fd83a..8e3a5b8e 100644
--- a/asm/arm9_thumb.s
+++ b/asm/arm9_thumb.s
@@ -110,7 +110,7 @@ FUN_02000EC8: ; 0x02000EC8
cmp r0, #0x1
bne _02000EE2
add r0, r4, #0x0
- blx FUN_020CD3B4
+ blx OS_ResetSystem
_02000EE2:
bl FUN_02000E9C
pop {r4, pc}
@@ -282,8 +282,8 @@ _02001024:
_02001032:
mov r1, #0x0
add r2, r1, #0x0
- blx FUN_020D4E68
- blx FUN_020D7D18
+ blx PM_GoSleepMode
+ blx CARD_IsPulledOut
cmp r0, #0x0
beq _02001048
blx FUN_020D5180
@@ -4615,7 +4615,7 @@ FUN_02002FD0: ; 0x02002FD0
mov r1, #0x0
lsl r2, r2, #0x4
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, r4, #0x0
pop {r4, pc}
.balign 4
@@ -4694,13 +4694,13 @@ FUN_02003054: ; 0x02003054
lsl r4, r3, #0x1
add r1, r1, r4
add r2, r7, #0x0
- blx FUN_020CE1E0
+ blx MIi_CpuCopy16
add r1, r5, r6
ldr r1, [r1, #0x4]
ldr r0, [sp, #0x0]
add r1, r1, r4
add r2, r7, #0x0
- blx FUN_020CE1E0
+ blx MIi_CpuCopy16
pop {r3-r7, pc}
.balign 4
@@ -4860,7 +4860,7 @@ _0200319A:
lsl r0, r0, #0x1
add r0, r1, r0
ldr r1, [sp, #0x14]
- blx FUN_020CE1E0
+ blx MIi_CpuCopy16
add r0, r4, #0x0
bl FUN_02016A18
pop {r3-r5, pc}
@@ -4888,7 +4888,7 @@ FUN_020031B8: ; 0x020031B8
ldr r1, [r5, r6]
add r0, r0, r4
add r1, r1, r7
- blx FUN_020CE1E0
+ blx MIi_CpuCopy16
ldr r0, [sp, #0x4]
add r1, r5, r6
ldr r0, [r5, r0]
@@ -4896,7 +4896,7 @@ FUN_020031B8: ; 0x020031B8
ldr r2, [sp, #0x0]
add r0, r0, r4
add r1, r1, r7
- blx FUN_020CE1E0
+ blx MIi_CpuCopy16
add sp, #0x8
pop {r3-r7, pc}
.balign 4
@@ -5643,7 +5643,7 @@ _02003750:
_02003770:
ldr r0, [r4, #0x4]
ldr r1, [r4, #0x8]
- blx FUN_020CC15C
+ blx DC_FlushRange
cmp r5, #0xd
bls _0200377E
_0200377C:
@@ -5871,7 +5871,7 @@ _0200393A:
ldr r0, [sp, #0x0]
sub r2, r2, r5
lsl r2, r2, #0x1
- blx FUN_020CE1C8
+ blx MIi_CpuClear16
_02003952:
cmp r7, #0x0
beq _0200395A
@@ -5886,7 +5886,7 @@ _0200395A:
ldr r0, [sp, #0x0]
sub r2, r2, r5
lsl r2, r2, #0x1
- blx FUN_020CE1C8
+ blx MIi_CpuClear16
_0200396E:
add sp, #0x8
pop {r3-r7, pc}
@@ -6875,7 +6875,7 @@ _020040C4: .word 0x000BCD20
thumb_func_start FUN_020040C8
FUN_020040C8: ; 0x020040C8
push {r3, lr}
- blx FUN_020D4A5C
+ blx MIC_Init
mov r0, #0x1
blx FUN_020D5168
mov r0, #0x2
@@ -7957,22 +7957,22 @@ _0200490E:
thumb_func_start FUN_02004914
FUN_02004914: ; 0x02004914
- ldr r3, _02004918 ; =FUN_020D47CC
+ ldr r3, _02004918 ; =MIC_StartAutoSampling
bx r3
.balign 4
-_02004918: .word FUN_020D47CC
+_02004918: .word MIC_StartAutoSampling
thumb_func_start FUN_0200491C
FUN_0200491C: ; 0x0200491C
push {r3, lr}
bl FUN_02003D30
- blx FUN_020D4718
+ blx MIC_StopAutoSampling
pop {r3, pc}
thumb_func_start FUN_02004928
FUN_02004928: ; 0x02004928
push {r3, lr}
- blx FUN_020D4980
+ blx MIC_DoSamplingAsync
pop {r3, pc}
thumb_func_start FUN_02004930
@@ -8440,7 +8440,7 @@ FUN_02004CB4: ; 0x02004CB4
bl FUN_02003D38
mov r1, #0x0
mov r2, #0x1c
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r0, #0x3
bl FUN_02003D38
add r4, r0, #0x0
@@ -8760,7 +8760,7 @@ _02004F02:
pop {r3-r5, pc}
_02004F18:
mov r1, #0x0
- blx FUN_020CF768
+ blx SND_GetWaveDataAddress
str r0, [r4, #0x0]
pop {r3-r5, pc}
nop
@@ -9081,10 +9081,10 @@ _02005130:
_0200514A:
ldr r1, [sp, #0x0]
add r0, r5, #0x0
- blx FUN_020CC15C
+ blx DC_FlushRange
ldr r1, [sp, #0x0]
add r0, r6, #0x0
- blx FUN_020CC15C
+ blx DC_FlushRange
_0200515A:
add sp, #0x30
pop {r3-r7, pc}
@@ -10788,7 +10788,7 @@ FUN_02005F3C: ; 0x02005F3C
_02005F4A:
ldr r1, [r4, #0x0]
mov r0, #0x0
- blx FUN_020D2040
+ blx FS_UnloadOverlay
cmp r0, #0x1
beq _02005F5A
bl ErrorHandling
@@ -10830,7 +10830,7 @@ FUN_02005F90: ; 0x02005F90
add r2, r0, #0x0
add r0, sp, #0x0
mov r1, #0x0
- blx FUN_020D24EC
+ blx FS_LoadOverlayInfo
cmp r0, #0x1
beq _02005FA6
bl ErrorHandling
@@ -10913,7 +10913,7 @@ _0200602C:
bhi _0200603C
mov r0, #0x0
mvn r0, r0
- blx FUN_020D1D30
+ blx FS_SetDefaultDMA
str r0, [sp, #0x0]
_0200603C:
cmp r4, #0x0
@@ -10949,7 +10949,7 @@ _02006076:
cmp r6, #0x1
bhi _02006080
ldr r0, [sp, #0x0]
- blx FUN_020D1D30
+ blx FS_SetDefaultDMA
_02006080:
cmp r4, #0x0
bne _0200608C
@@ -11058,7 +11058,7 @@ FUN_02006130: ; 0x02006130
add r0, sp, #0x0
mov r1, #0x0
add r2, r3, #0x0
- blx FUN_020D24EC
+ blx FS_LoadOverlayInfo
cmp r0, #0x0
bne _02006152
bl ErrorHandling
@@ -11080,10 +11080,10 @@ _02006152:
thumb_func_start FUN_02006168
FUN_02006168: ; 0x02006168
- ldr r3, _0200616C ; =FUN_020D2094
+ ldr r3, _0200616C ; =FS_LoadOverlay
bx r3
.balign 4
-_0200616C: .word FUN_020D2094
+_0200616C: .word FS_LoadOverlay
thumb_func_start FUN_02006170
FUN_02006170: ; 0x02006170
@@ -11093,7 +11093,7 @@ FUN_02006170: ; 0x02006170
add r2, r1, #0x0
add r0, sp, #0x0
add r1, r3, #0x0
- blx FUN_020D24EC
+ blx FS_LoadOverlayInfo
cmp r0, #0x0
bne _0200618A
add sp, #0x2c
@@ -11101,7 +11101,7 @@ FUN_02006170: ; 0x02006170
pop {pc}
_0200618A:
add r0, sp, #0x0
- blx FUN_020D23B4
+ blx FS_LoadOverlayImage
cmp r0, #0x0
bne _0200619A
add sp, #0x2c
@@ -11109,7 +11109,7 @@ _0200618A:
pop {pc}
_0200619A:
add r0, sp, #0x0
- blx FUN_020D2210
+ blx FS_StartOverlay
mov r0, #0x1
add sp, #0x2c
pop {pc}
@@ -11123,7 +11123,7 @@ FUN_020061A8: ; 0x020061A8
add r2, r1, #0x0
add r0, sp, #0x0
add r1, r3, #0x0
- blx FUN_020D24EC
+ blx FS_LoadOverlayInfo
cmp r0, #0x0
bne _020061C2
add sp, #0x74
@@ -11131,16 +11131,16 @@ FUN_020061A8: ; 0x020061A8
pop {pc}
_020061C2:
add r0, sp, #0x2c
- blx FUN_020D1C94
+ blx FS_InitFile
add r0, sp, #0x0
add r1, sp, #0x2c
- blx FUN_020D2454
+ blx FS_LoadOverlayImageAsync
add r0, sp, #0x2c
- blx FUN_020D182C
+ blx FS_WaitAsync
add r0, sp, #0x2c
- blx FUN_020D18FC
+ blx FS_CloseFile
add r0, sp, #0x0
- blx FUN_020D2210
+ blx FS_StartOverlay
mov r0, #0x1
add sp, #0x74
pop {pc}
@@ -11338,31 +11338,31 @@ FUN_02006314: ; 0x02006314
add r0, sp, #0x18
add r5, r2, #0x0
str r3, [sp, #0x4]
- blx FUN_020D1C94
+ blx FS_InitFile
add r0, sp, #0x18
add r1, r4, #0x0
- blx FUN_020D1944
+ blx FS_OpenFile
add r0, sp, #0x18
mov r1, #0xc
mov r2, #0x0
- blx FUN_020D17A0
+ blx FS_SeekFile
add r0, sp, #0x18
add r1, sp, #0x14
mov r2, #0x2
- blx FUN_020D180C
+ blx FS_ReadFile
ldr r4, [sp, #0x14]
add r0, sp, #0x18
add r1, r4, #0x4
mov r2, #0x0
- blx FUN_020D17A0
+ blx FS_SeekFile
add r0, sp, #0x18
add r1, sp, #0x14
mov r2, #0x4
- blx FUN_020D180C
+ blx FS_ReadFile
add r0, sp, #0x18
add r1, sp, #0x8
mov r2, #0x2
- blx FUN_020D180C
+ blx FS_ReadFile
add r0, sp, #0x8
ldrh r0, [r0, #0x0]
cmp r0, r5
@@ -11374,26 +11374,26 @@ _0200637A:
add r6, r4, r0
add r0, sp, #0x18
add r1, r6, #0x4
- blx FUN_020D17A0
+ blx FS_SeekFile
add r0, sp, #0x18
add r1, sp, #0x14
mov r2, #0x4
- blx FUN_020D180C
+ blx FS_ReadFile
add r4, #0xc
lsl r1, r5, #0x3
add r0, sp, #0x18
add r1, r4, r1
mov r2, #0x0
ldr r7, [sp, #0x14]
- blx FUN_020D17A0
+ blx FS_SeekFile
add r0, sp, #0x18
add r1, sp, #0x10
mov r2, #0x4
- blx FUN_020D180C
+ blx FS_ReadFile
add r0, sp, #0x18
add r1, sp, #0xc
mov r2, #0x4
- blx FUN_020D180C
+ blx FS_ReadFile
add r2, r6, r7
ldr r1, [sp, #0x10]
add r2, #0x8
@@ -11402,7 +11402,7 @@ _0200637A:
add r0, sp, #0x18
add r1, r1, r2
mov r2, #0x0
- blx FUN_020D17A0
+ blx FS_SeekFile
ldr r0, [sp, #0x78]
cmp r0, #0x0
bne _020063D6
@@ -11418,9 +11418,9 @@ _020063E0:
ldr r1, [sp, #0x0]
ldr r2, [sp, #0x14]
add r0, sp, #0x18
- blx FUN_020D180C
+ blx FS_ReadFile
add r0, sp, #0x18
- blx FUN_020D18FC
+ blx FS_CloseFile
add sp, #0x60
pop {r3-r7, pc}
@@ -11439,31 +11439,31 @@ FUN_020063F4: ; 0x020063F4
add r0, sp, #0x18
str r2, [sp, #0x0]
str r3, [sp, #0x4]
- blx FUN_020D1C94
+ blx FS_InitFile
add r0, sp, #0x18
add r1, r4, #0x0
- blx FUN_020D1944
+ blx FS_OpenFile
add r0, sp, #0x18
mov r1, #0xc
mov r2, #0x0
- blx FUN_020D17A0
+ blx FS_SeekFile
add r0, sp, #0x18
add r1, sp, #0x14
mov r2, #0x2
- blx FUN_020D180C
+ blx FS_ReadFile
ldr r4, [sp, #0x14]
add r0, sp, #0x18
add r1, r4, #0x4
mov r2, #0x0
- blx FUN_020D17A0
+ blx FS_SeekFile
add r0, sp, #0x18
add r1, sp, #0x14
mov r2, #0x4
- blx FUN_020D180C
+ blx FS_ReadFile
add r0, sp, #0x18
add r1, sp, #0x8
mov r2, #0x2
- blx FUN_020D180C
+ blx FS_ReadFile
add r0, sp, #0x8
ldrh r0, [r0, #0x0]
cmp r0, r5
@@ -11475,26 +11475,26 @@ _0200645A:
add r6, r4, r0
add r0, sp, #0x18
add r1, r6, #0x4
- blx FUN_020D17A0
+ blx FS_SeekFile
add r0, sp, #0x18
add r1, sp, #0x14
mov r2, #0x4
- blx FUN_020D180C
+ blx FS_ReadFile
add r4, #0xc
lsl r1, r5, #0x3
add r0, sp, #0x18
add r1, r4, r1
mov r2, #0x0
ldr r7, [sp, #0x14]
- blx FUN_020D17A0
+ blx FS_SeekFile
add r0, sp, #0x18
add r1, sp, #0x10
mov r2, #0x4
- blx FUN_020D180C
+ blx FS_ReadFile
add r0, sp, #0x18
add r1, sp, #0xc
mov r2, #0x4
- blx FUN_020D180C
+ blx FS_ReadFile
add r2, r6, r7
ldr r1, [sp, #0x10]
add r2, #0x8
@@ -11503,7 +11503,7 @@ _0200645A:
add r0, sp, #0x18
add r1, r1, r2
mov r2, #0x0
- blx FUN_020D17A0
+ blx FS_SeekFile
ldr r0, [sp, #0x78]
cmp r0, #0x0
bne _020064B6
@@ -11532,9 +11532,9 @@ _020064D8:
ldr r2, [sp, #0x14]
add r0, sp, #0x18
add r1, r4, #0x0
- blx FUN_020D180C
+ blx FS_ReadFile
add r0, sp, #0x18
- blx FUN_020D18FC
+ blx FS_CloseFile
add r0, r4, #0x0
add sp, #0x60
pop {r3-r7, pc}
@@ -11649,33 +11649,33 @@ FUN_020065A4: ; 0x020065A4
add r0, sp, #0x0
strh r1, [r0, #0x0]
add r0, sp, #0x10
- blx FUN_020D1C94
+ blx FS_InitFile
ldr r1, _0200666C ; =0x021058A0
lsl r2, r4, #0x2
ldr r1, [r1, r2]
add r0, sp, #0x10
- blx FUN_020D1944
+ blx FS_OpenFile
add r0, sp, #0x10
mov r1, #0xc
mov r2, #0x0
- blx FUN_020D17A0
+ blx FS_SeekFile
add r0, sp, #0x10
add r1, sp, #0xc
mov r2, #0x2
- blx FUN_020D180C
+ blx FS_ReadFile
ldr r4, [sp, #0xc]
add r0, sp, #0x10
add r1, r4, #0x4
mov r2, #0x0
- blx FUN_020D17A0
+ blx FS_SeekFile
add r0, sp, #0x10
add r1, sp, #0xc
mov r2, #0x4
- blx FUN_020D180C
+ blx FS_ReadFile
add r0, sp, #0x10
add r1, sp, #0x0
mov r2, #0x2
- blx FUN_020D180C
+ blx FS_ReadFile
add r0, sp, #0x0
ldrh r0, [r0, #0x0]
cmp r0, r5
@@ -11687,33 +11687,33 @@ _0200660A:
add r6, r4, r0
add r0, sp, #0x10
add r1, r6, #0x4
- blx FUN_020D17A0
+ blx FS_SeekFile
add r0, sp, #0x10
add r1, sp, #0xc
mov r2, #0x4
- blx FUN_020D180C
+ blx FS_ReadFile
add r4, #0xc
lsl r1, r5, #0x3
add r0, sp, #0x10
add r1, r4, r1
mov r2, #0x0
ldr r7, [sp, #0xc]
- blx FUN_020D17A0
+ blx FS_SeekFile
add r0, sp, #0x10
add r1, sp, #0x8
mov r2, #0x4
- blx FUN_020D180C
+ blx FS_ReadFile
add r0, sp, #0x10
add r1, sp, #0x4
mov r2, #0x4
- blx FUN_020D180C
+ blx FS_ReadFile
add r2, r6, r7
ldr r1, [sp, #0x8]
add r2, #0x8
add r1, r2, r1
add r0, sp, #0x10
mov r2, #0x0
- blx FUN_020D17A0
+ blx FS_SeekFile
ldr r1, [sp, #0x4]
ldr r0, [sp, #0x8]
sub r0, r1, r0
@@ -11738,46 +11738,46 @@ FUN_02006670: ; 0x02006670
beq _020066EC
mov r1, #0x0
str r1, [r4, #0x48]
- blx FUN_020D1C94
+ blx FS_InitFile
ldr r1, _020066F0 ; =0x021058A0
lsl r2, r5, #0x2
ldr r1, [r1, r2]
add r0, r4, #0x0
- blx FUN_020D1944
+ blx FS_OpenFile
add r0, r4, #0x0
mov r1, #0xc
mov r2, #0x0
- blx FUN_020D17A0
+ blx FS_SeekFile
add r1, r4, #0x0
add r0, r4, #0x0
add r1, #0x48
mov r2, #0x2
- blx FUN_020D180C
+ blx FS_ReadFile
ldr r1, [r4, #0x48]
add r0, r4, #0x0
add r1, r1, #0x4
mov r2, #0x0
- blx FUN_020D17A0
+ blx FS_SeekFile
add r0, r4, #0x0
add r1, sp, #0x0
mov r2, #0x4
- blx FUN_020D180C
+ blx FS_ReadFile
add r1, r4, #0x0
add r0, r4, #0x0
add r1, #0x50
mov r2, #0x2
- blx FUN_020D180C
+ blx FS_ReadFile
ldr r1, [r4, #0x48]
ldr r0, [sp, #0x0]
mov r2, #0x0
add r5, r1, r0
add r0, r4, #0x0
add r1, r5, #0x4
- blx FUN_020D17A0
+ blx FS_SeekFile
add r0, r4, #0x0
add r1, sp, #0x0
mov r2, #0x4
- blx FUN_020D180C
+ blx FS_ReadFile
ldr r0, [sp, #0x0]
add r0, r5, r0
str r0, [r4, #0x4c]
@@ -11791,7 +11791,7 @@ _020066F0: .word 0x021058A0
FUN_020066F4: ; 0x020066F4
push {r4, lr}
add r4, r0, #0x0
- blx FUN_020D18FC
+ blx FS_CloseFile
add r0, r4, #0x0
bl FUN_02016A18
pop {r4, pc}
@@ -11815,22 +11815,22 @@ _0200671A:
add r1, r2, r1
add r0, r5, #0x0
mov r2, #0x0
- blx FUN_020D17A0
+ blx FS_SeekFile
add r0, r5, #0x0
add r1, sp, #0x4
mov r2, #0x4
- blx FUN_020D180C
+ blx FS_ReadFile
add r0, r5, #0x0
add r1, sp, #0x0
mov r2, #0x4
- blx FUN_020D180C
+ blx FS_ReadFile
ldr r2, [r5, #0x4c]
ldr r1, [sp, #0x4]
add r2, #0x8
add r1, r2, r1
add r0, r5, #0x0
mov r2, #0x0
- blx FUN_020D17A0
+ blx FS_SeekFile
ldr r2, [sp, #0x0]
ldr r1, [sp, #0x4]
add r0, r6, #0x0
@@ -11843,7 +11843,7 @@ _0200671A:
add r0, r5, #0x0
add r1, r4, #0x0
sub r2, r3, r2
- blx FUN_020D180C
+ blx FS_ReadFile
_0200676C:
add r0, r4, #0x0
add sp, #0x8
@@ -11869,28 +11869,28 @@ _0200678A:
add r1, r2, r1
add r0, r5, #0x0
mov r2, #0x0
- blx FUN_020D17A0
+ blx FS_SeekFile
add r0, r5, #0x0
add r1, sp, #0x4
mov r2, #0x4
- blx FUN_020D180C
+ blx FS_ReadFile
add r0, r5, #0x0
add r1, sp, #0x0
mov r2, #0x4
- blx FUN_020D180C
+ blx FS_ReadFile
ldr r2, [r5, #0x4c]
ldr r1, [sp, #0x4]
add r2, #0x8
add r1, r2, r1
add r0, r5, #0x0
mov r2, #0x0
- blx FUN_020D17A0
+ blx FS_SeekFile
ldr r3, [sp, #0x0]
ldr r2, [sp, #0x4]
add r0, r5, #0x0
add r1, r6, #0x0
sub r2, r3, r2
- blx FUN_020D180C
+ blx FS_ReadFile
add sp, #0x8
pop {r4-r6, pc}
@@ -11912,15 +11912,15 @@ _020067E4:
add r1, r2, r1
add r0, r5, #0x0
mov r2, #0x0
- blx FUN_020D17A0
+ blx FS_SeekFile
add r0, r5, #0x0
add r1, sp, #0x4
mov r2, #0x4
- blx FUN_020D180C
+ blx FS_ReadFile
add r0, r5, #0x0
add r1, sp, #0x0
mov r2, #0x4
- blx FUN_020D180C
+ blx FS_ReadFile
ldr r1, [sp, #0x0]
ldr r0, [sp, #0x4]
sub r0, r1, r0
@@ -11947,11 +11947,11 @@ _0200682A:
add r1, r2, r1
add r0, r5, #0x0
mov r2, #0x0
- blx FUN_020D17A0
+ blx FS_SeekFile
add r0, r5, #0x0
add r1, sp, #0x0
mov r2, #0x4
- blx FUN_020D180C
+ blx FS_ReadFile
ldr r2, [r5, #0x4c]
ldr r1, [sp, #0x0]
add r2, #0x8
@@ -11959,11 +11959,11 @@ _0200682A:
add r0, r5, #0x0
add r1, r6, r1
mov r2, #0x0
- blx FUN_020D17A0
+ blx FS_SeekFile
ldr r1, [sp, #0x18]
add r0, r5, #0x0
add r2, r7, #0x0
- blx FUN_020D180C
+ blx FS_ReadFile
pop {r3-r7, pc}
.balign 4
@@ -12124,7 +12124,7 @@ _02006982:
ldr r0, [sp, #0x8]
add r1, r5, #0x0
ldr r0, [r0, #0xc]
- blx FUN_020CC15C
+ blx DC_FlushRange
cmp r4, #0x7
bhi _02006A14
add r0, r4, r4
@@ -12234,7 +12234,7 @@ _02006A60:
ldr r0, [sp, #0x4]
add r1, r4, #0x0
ldr r0, [r0, #0x14]
- blx FUN_020CC15C
+ blx DC_FlushRange
ldr r0, [sp, #0x4]
ldr r3, _02006A88 ; =0x020ECBA0
lsl r5, r5, #0x2
@@ -12581,7 +12581,7 @@ _02006CFC:
beq _02006D10
add r0, r4, #0x0
add r1, r5, #0x0
- blx FUN_020CE528
+ blx MI_UncompressLZ8
add r0, r4, #0x0
bl FUN_02016A18
_02006D10:
@@ -12647,7 +12647,7 @@ _02006D7C:
beq _02006D90
add r0, r4, #0x0
add r1, r5, #0x0
- blx FUN_020CE528
+ blx MI_UncompressLZ8
add r0, r4, #0x0
bl FUN_02016A18
_02006D90:
@@ -12700,7 +12700,7 @@ FUN_02006D98: ; 0x02006D98
ldr r1, [r4, r1]
mov r0, #0x0
mov r2, #0x4
- blx FUN_020CE240
+ blx MIi_CpuClearFast
add r0, r5, #0x0
mov r1, #0xc0
bl FUN_02016998
@@ -12710,7 +12710,7 @@ FUN_02006D98: ; 0x02006D98
ldr r1, [r4, r1]
mov r0, #0x0
mov r2, #0x4
- blx FUN_020CE240
+ blx MIi_CpuClearFast
mov r6, #0x0
add r5, r4, #0x0
add r7, r6, #0x0
@@ -12718,7 +12718,7 @@ _02006E12:
add r0, r7, #0x0
add r1, r5, #0x0
mov r2, #0x98
- blx FUN_020CE240
+ blx MIi_CpuClearFast
add r6, r6, #0x1
add r5, #0x98
cmp r6, #0x4
@@ -12759,7 +12759,7 @@ _02006E12:
ldrb r1, [r1, #0x0]
ldr r0, [r4, r0]
lsl r2, r2, #0xe
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r0, #0x0
mov r7, #0xab
ldr r6, _02006ECC ; =0x00005050
@@ -13410,14 +13410,14 @@ _0200734A:
thumb_func_start FUN_0200737C
FUN_0200737C: ; 0x0200737C
add r2, r0, #0x0
- ldr r3, _0200738C ; =FUN_020CE3E0
+ ldr r3, _0200738C ; =MI_CpuCopy8
add r2, #0x84
add r0, r1, #0x0
add r1, r2, #0x0
mov r2, #0x14
bx r3
nop
-_0200738C: .word FUN_020CE3E0
+_0200738C: .word MI_CpuCopy8
thumb_func_start FUN_02007390
FUN_02007390: ; 0x02007390
@@ -13493,7 +13493,7 @@ _02007408:
mov r0, #0x0
add r1, r5, #0x0
mov r2, #0x98
- blx FUN_020CE240
+ blx MIi_CpuClearFast
ldr r1, [r4, r6]
mov r0, #0x1
bic r1, r0
@@ -13622,7 +13622,7 @@ _02007408:
add r1, r4, r6
add r1, #0x84
mov r2, #0x14
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
_02007518:
add r0, r4, r6
add sp, #0xc
@@ -18763,7 +18763,7 @@ _02009A34:
beq _02009A48
add r0, r4, #0x0
add r1, r5, #0x0
- blx FUN_020CE528
+ blx MI_UncompressLZ8
add r0, r4, #0x0
bl FUN_02016A18
_02009A48:
@@ -19883,11 +19883,11 @@ FUN_0200A2AC: ; 0x0200A2AC
ldr r0, _0200A2CC ; =0x021C4694
mov r1, #0x0
mov r2, #0x20
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, _0200A2D0 ; =0x021C4674
mov r1, #0x0
mov r2, #0x20
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, _0200A2D4 ; =0x021C4674
mov r1, #0x0
str r1, [r0, #0x3c]
@@ -19908,7 +19908,7 @@ FUN_0200A2D8: ; 0x0200A2D8
ldr r0, _0200A30C ; =0x021C4694
mov r1, #0x0
mov r2, #0x20
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, _0200A310 ; =0x021C4674
mov r1, #0x0
str r1, [r0, #0x3c]
@@ -19919,7 +19919,7 @@ _0200A2F2:
ldr r0, _0200A314 ; =0x021C4674
mov r1, #0x0
mov r2, #0x20
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, _0200A310 ; =0x021C4674
mov r1, #0x0
str r1, [r0, #0x1c]
@@ -20160,11 +20160,11 @@ FUN_0200A4C0: ; 0x0200A4C0
add r0, r1, #0x0
add r1, r3, #0x0
ldr r2, [r2, #0x4]
- ldr r3, _0200A4D0 ; =FUN_020CE1E0
+ ldr r3, _0200A4D0 ; =MIi_CpuCopy16
lsl r2, r2, #0x1
bx r3
nop
-_0200A4D0: .word FUN_020CE1E0
+_0200A4D0: .word MIi_CpuCopy16
thumb_func_start FUN_0200A4D4
FUN_0200A4D4: ; 0x0200A4D4
@@ -20209,7 +20209,7 @@ FUN_0200A4D4: ; 0x0200A4D4
ldr r2, [sp, #0x4]
add r0, r5, r0
add r1, r7, #0x0
- blx FUN_020CE1E0
+ blx MIi_CpuCopy16
ldr r1, _0200A57C ; =0x00091BD3
add r2, r4, #0x1
mul r1, r2
@@ -20296,7 +20296,7 @@ FUN_0200A584: ; 0x0200A584
ldr r2, [sp, #0x4]
add r0, r5, r0
add r1, r7, #0x0
- blx FUN_020CE1E0
+ blx MIi_CpuCopy16
ldr r1, _0200A640 ; =0x00091BD3
add r2, r4, #0x1
mul r1, r2
@@ -23047,13 +23047,13 @@ _0200BAD8:
add r0, r1, r0
add r1, r6, r5
mov r2, #0x20
- blx FUN_020CE210
+ blx MIi_CpuCopy32
b _0200BB00
_0200BAF6:
ldr r1, [sp, #0x0]
add r0, r6, r5
mov r2, #0x20
- blx FUN_020CE34C
+ blx MI_CpuFill8
_0200BB00:
add r4, r4, #0x2
ldrh r1, [r4, #0x8]
@@ -27818,7 +27818,7 @@ FUN_0200DEF4: ; 0x0200DEF4
add r7, r0, #0x0
add r0, r4, #0x0
lsl r1, r1, #0x8
- blx FUN_020CC15C
+ blx DC_FlushRange
mov r2, #0x19
add r0, r4, #0x0
add r1, r7, #0x0
@@ -27844,7 +27844,7 @@ FUN_0200DEF4: ; 0x0200DEF4
add r5, r0, #0x0
add r0, r4, #0x0
mov r1, #0x20
- blx FUN_020CC15C
+ blx DC_FlushRange
add r0, r4, #0x0
add r1, r5, #0x0
mov r2, #0x20
@@ -36077,7 +36077,7 @@ _02011DC6:
bl FUN_02011B20
add r0, r7, #0x0
add r1, r4, #0x0
- blx FUN_020CC15C
+ blx DC_FlushRange
ldr r0, [sp, #0x30]
cmp r0, #0x1
bne _02011E08
@@ -36989,7 +36989,7 @@ _0201249C:
add r1, r4, #0x0
ldr r0, [r0, #0xc]
mov r2, #0x20
- blx FUN_020CE1E0
+ blx MIi_CpuCopy16
add r0, r5, #0x0
bl FUN_02016A18
add r0, r4, #0x0
@@ -37719,9 +37719,9 @@ _020129C6:
FUN_020129C8: ; 0x020129C8
push {r3, lr}
mov r0, #0x0
- blx FUN_020CD998
+ blx MI_StopDma
mov r0, #0x0
- blx FUN_020CDA1C
+ blx MI_WaitDma
pop {r3, pc}
thumb_func_start FUN_020129D8
@@ -37736,14 +37736,14 @@ FUN_020129D8: ; 0x020129D8
add r1, r6, #0x0
add r2, r5, #0x0
add r3, r4, #0x0
- blx FUN_020CDE04
+ blx MI_HBlankDmaCopy32
pop {r4-r6, pc}
_020129F2:
mov r0, #0x0
add r1, r6, #0x0
add r2, r5, #0x0
add r3, r4, #0x0
- blx FUN_020CDD90
+ blx MI_HBlankDmaCopy16
pop {r4-r6, pc}
thumb_func_start FUN_02012A00
@@ -37824,13 +37824,13 @@ _02012A4E:
add r1, r5, #0x0
ldr r0, [r5, r0]
lsl r2, r2, #0x8
- blx FUN_020CE1FC
+ blx MIi_CpuClear32
ldr r0, _02012AC0 ; =0x00000794
mov r2, #0x3
lsl r2, r2, #0x8
ldr r0, [r5, r0]
add r1, r5, r2
- blx FUN_020CE1FC
+ blx MIi_CpuClear32
pop {r3-r7, pc}
.balign 4
_02012AB0: .word 0x00000604
@@ -37914,7 +37914,7 @@ FUN_02012B30: ; 0x02012B30
mov r2, #0x3
ldr r0, [r4, r0]
lsl r2, r2, #0x8
- blx FUN_020CE1FC
+ blx MIi_CpuClear32
_02012B5E:
pop {r4, pc}
.balign 4
@@ -38092,7 +38092,7 @@ _02012CA2:
mov r1, #0x3
lsl r1, r1, #0x8
add r5, r0, #0x0
- blx FUN_020CC15C
+ blx DC_FlushRange
mov r1, #0x79
lsl r1, r1, #0x4
ldr r1, [r4, r1]
@@ -41385,14 +41385,14 @@ _0201434A:
add r1, r4, #0x0
add r1, #0xc
mov r2, #0x20
- blx FUN_020CE1E0
+ blx MIi_CpuCopy16
ldr r1, [sp, #0x0]
ldr r0, [sp, #0x8]
mov r2, #0x20
add r0, r1, r0
add r1, r4, #0x0
add r1, #0x2c
- blx FUN_020CE1E0
+ blx MIi_CpuCopy16
ldr r0, [sp, #0x4]
mov r1, #0x1
str r0, [r4, #0x0]
@@ -41645,7 +41645,7 @@ FUN_02014518: ; 0x02014518
mov r1, #0x0
mov r2, #0x78
add r6, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r2, _02014560 ; =0x0000019E
mov r0, #0x0
mov r1, #0x1a
@@ -42427,7 +42427,7 @@ FUN_02014AD4: ; 0x02014AD4
add r5, r0, #0x0
ldr r0, [r1, #0x14]
ldr r1, [r1, #0x10]
- blx FUN_020CC15C
+ blx DC_FlushRange
ldr r3, [r4, #0x4]
ldr r0, [r4, #0x10]
str r0, [sp, #0x0]
@@ -42455,7 +42455,7 @@ FUN_02014B10: ; 0x02014B10
ldr r0, [r4, #0x0]
ldr r1, [r4, #0x10]
ldr r0, [r0, #0xc]
- blx FUN_020CC15C
+ blx DC_FlushRange
ldr r0, [r4, #0x8]
cmp r0, #0x0
bne _02014B34
@@ -42592,7 +42592,7 @@ FUN_02014BF4: ; 0x02014BF4
mov r1, #0x0
add r2, r6, #0x0
str r0, [r4, #0x0]
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, r4, #0x0
pop {r3-r7, pc}
@@ -42656,7 +42656,7 @@ _02014C8C:
add r0, r0, r4
mov r1, #0x0
lsl r2, r2, #0x4
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, [r5, #0x0]
mov r1, #0x1
add r0, r0, r4
@@ -43026,7 +43026,7 @@ _02014F3E:
add r0, r4, #0x0
mov r1, #0x0
mov r2, #0x54
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r0, #0x1
str r0, [r4, #0x0]
mov r0, #0xc
@@ -45142,7 +45142,7 @@ FUN_02015EA0: ; 0x02015EA0
orr r0, r2
str r0, [r3, r1]
mov r0, #0x3
- blx FUN_020CDA1C
+ blx MI_WaitDma
ldr r0, _02015ED0 ; =0x021C48B8
ldr r0, [r0, #0x1c]
bl FUN_0201B5CC
@@ -45164,24 +45164,24 @@ FUN_02015ED4: ; 0x02015ED4
ldr r2, [r3, r1]
orr r0, r2
str r0, [r3, r1]
- ldr r3, _02015EF0 ; =FUN_020CDA1C
+ ldr r3, _02015EF0 ; =MI_WaitDma
mov r0, #0x3
bx r3
nop
_02015EE8: .word 0x027E0000
_02015EEC: .word 0x00003FF8
-_02015EF0: .word FUN_020CDA1C
+_02015EF0: .word MI_WaitDma
thumb_func_start FUN_02015EF4
FUN_02015EF4: ; 0x02015EF4
push {r3, lr}
mov r0, #0x1
- blx FUN_020C9E14
+ blx OS_DisableIrqMask
ldr r1, _02015F0C ; =FUN_02015ED4
mov r0, #0x1
- blx FUN_020C9FEC
+ blx OS_SetIrqFunction
mov r0, #0x1
- blx FUN_020C9E5C
+ blx OS_EnableIrqMask
pop {r3, pc}
.balign 4
_02015F0C: .word FUN_02015ED4
@@ -45263,7 +45263,7 @@ FUN_02015F80: ; 0x02015F80
bne _02015F9E
ldr r0, [r2, #0x8]
mov r0, #0x2
- blx FUN_020C9E14
+ blx OS_DisableIrqMask
mov r0, #0x0
blx FUN_020C5AF8
b _02015FB4
@@ -45271,9 +45271,9 @@ _02015F9E:
ldr r0, [r2, #0x8]
ldr r1, _02015FC4 ; =FUN_02015F6C
mov r0, #0x2
- blx FUN_020C9FEC
+ blx OS_SetIrqFunction
mov r0, #0x2
- blx FUN_020C9E5C
+ blx OS_EnableIrqMask
mov r0, #0x1
blx FUN_020C5AF8
_02015FB4:
@@ -45291,7 +45291,7 @@ FUN_02015FC8: ; 0x02015FC8
push {r3, lr}
sub sp, #0x30
add r0, sp, #0x10
- blx FUN_020CD754
+ blx OS_GetLowEntropyData
add r0, sp, #0x0
add r1, sp, #0x10
mov r2, #0x20
@@ -45330,7 +45330,7 @@ _02016010: .word 0x020EDB10
thumb_func_start InitSystemForTheGame
InitSystemForTheGame: ; 0x02016014
push {r3-r5, lr}
- blx FUN_020CC1B4
+ blx OS_Init
blx FUN_020C5974
ldr r2, _02016124 ; =0x04000304
ldr r0, _02016128 ; =0xFFFFFDF1
@@ -45340,14 +45340,14 @@ InitSystemForTheGame: ; 0x02016014
orr r0, r1
strh r0, [r2, #0x0]
blx FUN_020C5B28
- blx FUN_020CCD64
+ blx OS_InitTick
bl FUN_02015FC8
mov r0, #0xa0
bl FUN_0201B578
add r1, r0, #0x0
mov r0, #0x0
mov r2, #0x4
- blx FUN_020CC26C
+ blx OS_AllocFromArenaLo
add r1, r0, #0x0
mov r0, #0xa0
bl FUN_0201B580
@@ -45358,7 +45358,7 @@ InitSystemForTheGame: ; 0x02016014
add r1, r0, #0x0
mov r0, #0x0
mov r2, #0x4
- blx FUN_020CC26C
+ blx OS_AllocFromArenaLo
add r1, r0, #0x0
mov r0, #0x10
bl FUN_0201B580
@@ -45369,7 +45369,7 @@ InitSystemForTheGame: ; 0x02016014
add r1, r0, #0x0
mov r0, #0x0
mov r2, #0x4
- blx FUN_020CC26C
+ blx OS_AllocFromArenaLo
add r1, r0, #0x0
mov r0, #0x20
bl FUN_0201B580
@@ -45380,7 +45380,7 @@ InitSystemForTheGame: ; 0x02016014
add r1, r0, #0x0
mov r0, #0x0
mov r2, #0x4
- blx FUN_020CC26C
+ blx OS_AllocFromArenaLo
add r1, r0, #0x0
mov r0, #0x4
bl FUN_0201B580
@@ -45399,35 +45399,35 @@ InitSystemForTheGame: ; 0x02016014
strh r0, [r2, #0x0]
ldr r1, _0201613C ; =FUN_02015EA0
mov r0, #0x1
- blx FUN_020C9FEC
+ blx OS_SetIrqFunction
mov r0, #0x1
- blx FUN_020C9E5C
+ blx OS_EnableIrqMask
mov r0, #0x1
lsl r0, r0, #0x12
- blx FUN_020C9E5C
+ blx OS_EnableIrqMask
ldr r1, _02016140 ; =0x04000208
ldrh r0, [r1, #0x0]
mov r0, #0x1
strh r0, [r1, #0x0]
blx FUN_020C5AC8
mov r0, #0x1
- blx FUN_020D1CD4
+ blx FS_Init
bl FUN_02022450
mov r0, #0x0
add r1, r0, #0x0
- blx FUN_020D1D10
+ blx FS_TryLoadTable
add r4, r0, #0x0
mov r0, #0x0
add r1, r4, #0x0
mov r2, #0x4
- blx FUN_020CC26C
+ blx OS_AllocFromArenaLo
add r5, r0, #0x0
bne _02016108
bl ErrorHandling
_02016108:
add r0, r5, #0x0
add r1, r4, #0x0
- blx FUN_020D1D10
+ blx FS_TryLoadTable
ldr r0, _02016130 ; =0x021C48B8
mov r1, #0x0
str r1, [r0, #0x0]
@@ -45459,30 +45459,30 @@ InitGraphicMemory: ; 0x02016148
mov r0, #0x0
lsl r1, r1, #0x16
lsl r2, r2, #0xe
- blx FUN_020CE240
+ blx MIi_CpuClearFast
blx FUN_020C5E54
mov r1, #0x7
mov r2, #0x1
mov r0, #0xc0
lsl r1, r1, #0x18
lsl r2, r2, #0xa
- blx FUN_020CE240
+ blx MIi_CpuClearFast
mov r2, #0x1
ldr r1, _0201619C ; =0x07000400
mov r0, #0xc0
lsl r2, r2, #0xa
- blx FUN_020CE240
+ blx MIi_CpuClearFast
mov r1, #0x5
mov r2, #0x1
mov r0, #0x0
lsl r1, r1, #0x18
lsl r2, r2, #0xa
- blx FUN_020CE240
+ blx MIi_CpuClearFast
mov r2, #0x1
ldr r1, _020161A0 ; =0x05000400
mov r0, #0x0
lsl r2, r2, #0xa
- blx FUN_020CE240
+ blx MIi_CpuClearFast
pop {r3, pc}
.balign 4
_02016198: .word 0x000001FF
@@ -45496,10 +45496,10 @@ FUN_020161A4: ; 0x020161A4
add r6, r0, #0x0
add r4, r1, #0x0
add r0, sp, #0x0
- blx FUN_020D1C94
+ blx FS_InitFile
add r0, sp, #0x0
add r1, r4, #0x0
- blx FUN_020D1944
+ blx FS_OpenFile
cmp r0, #0x0
beq _020161F0
ldr r1, [sp, #0x28]
@@ -45513,7 +45513,7 @@ FUN_020161A4: ; 0x020161A4
add r0, sp, #0x0
add r1, r4, #0x0
add r2, r5, #0x0
- blx FUN_020D180C
+ blx FS_ReadFile
cmp r5, r0
beq _020161E8
add r0, r6, #0x0
@@ -45522,7 +45522,7 @@ FUN_020161A4: ; 0x020161A4
mov r4, #0x0
_020161E8:
add r0, sp, #0x0
- blx FUN_020D18FC
+ blx FS_CloseFile
b _020161F2
_020161F0:
mov r4, #0x0
@@ -45538,10 +45538,10 @@ FUN_020161F8: ; 0x020161F8
add r5, r0, #0x0
add r0, sp, #0x0
add r4, r1, #0x0
- blx FUN_020D1C94
+ blx FS_InitFile
add r0, sp, #0x0
add r1, r5, #0x0
- blx FUN_020D1944
+ blx FS_OpenFile
cmp r0, #0x0
beq _0201622A
ldr r1, [sp, #0x28]
@@ -45551,10 +45551,10 @@ FUN_020161F8: ; 0x020161F8
cmp r1, #0x0
beq _02016224
add r0, sp, #0x0
- blx FUN_020D180C
+ blx FS_ReadFile
_02016224:
add r0, sp, #0x0
- blx FUN_020D18FC
+ blx FS_CloseFile
_0201622A:
add sp, #0x48
pop {r3-r5, pc}
@@ -45734,10 +45734,10 @@ _02016346:
b _020163B2
_02016362:
add r0, sp, #0x20
- blx FUN_020D1C94
+ blx FS_InitFile
add r0, sp, #0x20
add r1, sp, #0x0
- blx FUN_020D1944
+ blx FS_OpenFile
cmp r0, #0x0
beq _020163B0
ldr r1, [sp, #0x48]
@@ -45751,7 +45751,7 @@ _02016362:
add r0, sp, #0x20
add r1, r4, #0x0
add r2, r6, #0x0
- blx FUN_020D180C
+ blx FS_ReadFile
cmp r6, r0
beq _0201639C
add r0, r4, #0x0
@@ -45759,7 +45759,7 @@ _02016362:
mov r4, #0x0
_0201639C:
add r0, sp, #0x20
- blx FUN_020D18FC
+ blx FS_CloseFile
cmp r5, #0x0
bne _020163B2
add r0, r4, #0x0
@@ -45800,13 +45800,13 @@ FUN_020163BC: ; 0x020163BC
strh r2, [r0, #0x22]
ldr r0, _02016424 ; =0x021C4918
strb r2, [r0, #0x4]
- blx FUN_020D40B8
+ blx TP_Init
add r0, sp, #0x0
- blx FUN_020D400C
+ blx TP_GetUserInfo
cmp r0, #0x1
add r0, sp, #0x0
bne _02016402
- blx FUN_020D3EC4
+ blx TP_SetCalibrateParam
add sp, #0x8
pop {r3, pc}
_02016402:
@@ -45819,7 +45819,7 @@ _02016402:
ldr r1, _02016434 ; =0x00001208
strh r1, [r0, #0x6]
add r0, sp, #0x0
- blx FUN_020D3EC4
+ blx TP_SetCalibrateParam
add sp, #0x8
pop {r3, pc}
.balign 4
@@ -45929,19 +45929,19 @@ _020164C8:
bne _020164F4
add r4, sp, #0x8
_020164E4:
- blx FUN_020D3E24
+ blx TP_RequestSamplingAsync
add r0, r4, #0x0
- blx FUN_020D3DCC
+ blx TP_WaitRawResult
cmp r0, #0x0
bne _020164E4
b _020164FA
_020164F4:
add r0, sp, #0x8
- blx FUN_020D3AA0
+ blx TP_GetLatestRawPointInAuto
_020164FA:
add r0, sp, #0x0
add r1, sp, #0x8
- blx FUN_020D36F0
+ blx TP_GetCalibratedPoint
add r1, sp, #0x0
ldrh r3, [r1, #0x6]
cmp r3, #0x0
@@ -46224,7 +46224,7 @@ _020166F4:
mov r0, #0x0
add r1, r3, #0x0
mov r2, #0x4
- blx FUN_020CC26C
+ blx OS_AllocFromArenaLo
_020166FE:
ldr r1, [sp, #0x4]
lsl r7, r6, #0x1
@@ -46236,7 +46236,7 @@ _020166FE:
mov r0, #0x0
add r1, r6, r1
mov r2, #0x4
- blx FUN_020CC26C
+ blx OS_AllocFromArenaLo
ldr r1, _020167F0 ; =0x021C4D28
str r0, [r1, #0x0]
ldr r1, [sp, #0x4]
@@ -46277,13 +46277,13 @@ _0201675C:
ldr r1, [r5, #0x0]
mov r0, #0x0
mov r2, #0x4
- blx FUN_020CC26C
+ blx OS_AllocFromArenaLo
b _02016772
_02016768:
ldr r1, [r5, #0x0]
mov r0, #0x2
mov r2, #0x4
- blx FUN_020CC204
+ blx OS_AllocFromArenaHi
_02016772:
cmp r0, #0x0
beq _0201678E
@@ -46407,7 +46407,7 @@ FUN_02016834: ; 0x02016834
add r5, r1, #0x0
str r2, [sp, #0x0]
add r7, r3, #0x0
- blx FUN_020CD374
+ blx OS_GetProcMode
cmp r0, #0x12
bne _0201684C
bl ErrorHandling
@@ -46481,7 +46481,7 @@ _020168CC: .word 0x021C4D28
FUN_020168D0: ; 0x020168D0
push {r4, lr}
add r4, r0, #0x0
- blx FUN_020CD374
+ blx OS_GetProcMode
cmp r0, #0x12
bne _020168E0
bl ErrorHandling
@@ -46548,7 +46548,7 @@ FUN_02016944: ; 0x02016944
bne _02016956
bl ErrorHandling
_02016956:
- blx FUN_020CD310
+ blx OS_DisableInterrupts
add r4, #0x10
str r0, [sp, #0x0]
add r0, r5, #0x0
@@ -46557,7 +46557,7 @@ _02016956:
blx FUN_020ADFA0
add r4, r0, #0x0
ldr r0, [sp, #0x0]
- blx FUN_020CD324
+ blx OS_RestoreInterrupts
cmp r4, #0x0
beq _02016984
ldr r1, [r4, #0xc]
@@ -46696,14 +46696,14 @@ _02016A5E:
ldrh r0, [r1, r5]
sub r0, r0, #0x1
strh r0, [r1, r5]
- blx FUN_020CD310
+ blx OS_DisableInterrupts
sub r6, #0x10
add r4, r0, #0x0
add r0, r7, #0x0
add r1, r6, #0x0
blx FUN_020ADDF0
add r0, r4, #0x0
- blx FUN_020CD324
+ blx OS_RestoreInterrupts
pop {r3-r7, pc}
_02016A80:
bl ErrorHandling
@@ -46716,7 +46716,7 @@ FUN_02016A8C: ; 0x02016A8C
push {r4-r6, lr}
add r5, r0, #0x0
add r4, r1, #0x0
- blx FUN_020CD374
+ blx OS_GetProcMode
cmp r0, #0x12
bne _02016A9E
bl ErrorHandling
@@ -46812,7 +46812,7 @@ FUN_02016B44: ; 0x02016B44
push {r3-r5, lr}
add r5, r0, #0x0
add r4, r1, #0x0
- blx FUN_020CD374
+ blx OS_GetProcMode
cmp r0, #0x12
bne _02016B56
bl ErrorHandling
@@ -47510,7 +47510,7 @@ _0201705A:
ldr r1, [r6, r5]
ldr r2, [r4, #0x8]
mov r0, #0x0
- blx FUN_020CE1C8
+ blx MIi_CpuClear16
ldr r0, [sp, #0x0]
ldr r2, [r4, #0x8]
add r1, r0, r5
@@ -49172,7 +49172,7 @@ FUN_02017C98: ; 0x02017C98
push {r3-r5, lr}
cmp r2, #0x0
bne _02017CA4
- blx FUN_020CE528
+ blx MI_UncompressLZ8
pop {r3-r5, pc}
_02017CA4:
mov r4, #0x3
@@ -49191,10 +49191,10 @@ _02017CA4:
ror r5, r3
add r3, r4, r5
bne _02017CCA
- blx FUN_020CE210
+ blx MIi_CpuCopy32
pop {r3-r5, pc}
_02017CCA:
- blx FUN_020CE1E0
+ blx MIi_CpuCopy16
pop {r3-r5, pc}
thumb_func_start FUN_02017CD0
@@ -49282,7 +49282,7 @@ FUN_02017D68: ; 0x02017D68
add r0, r4, #0x0
add r1, r6, #0x0
add r5, r2, #0x0
- blx FUN_020CC15C
+ blx DC_FlushRange
cmp r7, #0x7
bhi _02017DF8
add r0, r7, r7
@@ -49431,7 +49431,7 @@ FUN_02017E84: ; 0x02017E84
add r0, r4, #0x0
add r1, r6, #0x0
add r5, r2, #0x0
- blx FUN_020CC15C
+ blx DC_FlushRange
cmp r7, #0x7
bhi _02017F14
add r0, r7, r7
@@ -49564,7 +49564,7 @@ _02017F8C:
ldr r1, [sp, #0x4]
ldr r2, [sp, #0x0]
add r0, r5, #0x0
- blx FUN_020CE240
+ blx MIi_CpuClearFast
lsl r0, r7, #0x18
ldrb r2, [r4, r6]
ldr r3, [sp, #0x20]
@@ -49587,7 +49587,7 @@ FUN_02017FB4: ; 0x02017FB4
add r0, r5, #0x0
add r1, r4, #0x0
add r7, r3, #0x0
- blx FUN_020CC15C
+ blx DC_FlushRange
cmp r6, #0x4
bhs _02017FD6
add r0, r5, #0x0
@@ -50632,7 +50632,7 @@ FUN_02018744: ; 0x02018744
beq _02018766
ldr r2, [r2, #0xc]
mov r0, #0x0
- blx FUN_020CE1C8
+ blx MIi_CpuClear16
add r0, r5, #0x0
add r1, r4, #0x0
bl FUN_02017CD0
@@ -50652,7 +50652,7 @@ FUN_02018768: ; 0x02018768
beq _0201878A
add r0, r2, #0x0
ldr r2, [r3, #0xc]
- blx FUN_020CE1C8
+ blx MIi_CpuClear16
add r0, r5, #0x0
add r1, r4, #0x0
bl FUN_02017CD0
@@ -50672,7 +50672,7 @@ FUN_0201878C: ; 0x0201878C
beq _020187AE
add r0, r2, #0x0
ldr r2, [r3, #0xc]
- blx FUN_020CE1C8
+ blx MIi_CpuClear16
add r0, r5, #0x0
add r1, r4, #0x0
bl FUN_0201AC68
@@ -52718,7 +52718,7 @@ _0201963C:
ldrb r4, [r4, #0x7]
mul r2, r4
mul r2, r3
- blx FUN_020CE240
+ blx MIi_CpuClearFast
pop {r3-r5, pc}
thumb_func_start FUN_02019658
@@ -56471,7 +56471,7 @@ FUN_0201B1A8: ; 0x0201B1A8
bne _0201B1D2
ldr r0, [r5, #0x0]
ldr r1, [r0, #0x8]
- blx FUN_020CC15C
+ blx DC_FlushRange
ldr r0, [r5, #0x0]
blx FUN_020BB59C
_0201B1D2:
@@ -56498,7 +56498,7 @@ FUN_0201B1E4: ; 0x0201B1E4
bne _0201B20A
ldr r0, [r5, #0x0]
ldr r1, [r0, #0x8]
- blx FUN_020CC15C
+ blx DC_FlushRange
ldr r0, [r5, #0x0]
blx FUN_020BB59C
_0201B20A:
@@ -56568,7 +56568,7 @@ FUN_0201B26C: ; 0x0201B26C
blx FUN_020B8474
ldr r1, _0201B2A0 ; =0x021CEDD4
add r0, r4, #0x0
- blx FUN_020CE2E0
+ blx MI_Copy36B
ldr r1, _0201B2A4 ; =0x021CED98
mov r0, #0xa4
ldr r2, [r1, #0x7c]
@@ -56594,7 +56594,7 @@ FUN_0201B2A8: ; 0x0201B2A8
blx FUN_020B8474
ldr r1, _0201B2E4 ; =0x021CEDD4
add r0, r4, #0x0
- blx FUN_020CE2E0
+ blx MI_Copy36B
ldr r1, _0201B2E8 ; =0x021CED98
mov r0, #0xa4
ldr r2, [r1, #0x7c]
@@ -56852,7 +56852,7 @@ _0201B4A6:
blx FUN_020B7CDC
ldr r1, [r5, #0x4]
add r0, r5, #0x0
- blx FUN_020CC15C
+ blx DC_FlushRange
add r0, r5, #0x0
mov r1, #0x1
blx FUN_020B7D28
@@ -57204,7 +57204,7 @@ FUN_0201B6D0: ; 0x0201B6D0
blx FUN_020B8474
ldr r1, _0201B764 ; =0x021CEDD4
add r0, r5, #0x0
- blx FUN_020CE2E0
+ blx MI_Copy36B
ldr r1, _0201B768 ; =0x021CED98
mov r0, #0xa4
ldr r2, [r1, #0x7c]
@@ -58642,7 +58642,7 @@ FUN_0201C1B0: ; 0x0201C1B0
ldr r0, [r0, #0x14]
add r1, r5, #0x0
lsl r2, r2, #0x8
- blx FUN_020CE210
+ blx MIi_CpuCopy32
add r0, r4, #0x0
bl FUN_02016A18
add r0, r5, #0x0
@@ -60171,11 +60171,11 @@ _0201CCD0:
mov r4, #0x4
add r6, r4, #0x0
_0201CCD4:
- blx FUN_020D3C14
+ blx TP_RequestAutoSamplingStopAsync
add r0, r4, #0x0
- blx FUN_020D36D8
+ blx TP_WaitBusy
add r0, r6, #0x0
- blx FUN_020D36C4
+ blx TP_CheckError
cmp r0, #0x0
beq _0201CCEA
add r5, r5, #0x1
@@ -60240,7 +60240,7 @@ _0201CD4E:
ldrh r0, [r0, #0x18]
cmp r0, #0x0
beq _0201CD88
- blx FUN_020D3A90
+ blx TP_GetLatestIndexInAuto
add r5, r0, #0x0
ldr r0, _0201CD90 ; =0x021C5944
mov r1, #0x9
@@ -60284,7 +60284,7 @@ FUN_0201CD94: ; 0x0201CD94
_0201CDA6:
add r0, sp, #0x4
add r1, r5, #0x0
- blx FUN_020D36F0
+ blx TP_GetCalibratedPoint
ldrh r0, [r6, #0x0]
add r7, r7, #0x1
add r5, #0x8
@@ -60367,11 +60367,11 @@ _0201CE38:
add r1, r4, #0x0
add r2, r7, #0x0
mov r3, #0x9
- blx FUN_020D3CB8
+ blx TP_RequestAutoSamplingStartAsync
mov r0, #0x2
- blx FUN_020D36D8
+ blx TP_WaitBusy
mov r0, #0x2
- blx FUN_020D36C4
+ blx TP_CheckError
cmp r0, #0x0
beq _0201CE56
add r5, r5, #0x1
@@ -60685,7 +60685,7 @@ FUN_0201D060: ; 0x0201D060
mov r2, #0x3c
str r1, [r0, #0x0]
mov r0, #0x0
- blx FUN_020CE1FC
+ blx MIi_CpuClear32
ldr r1, _0201D120 ; =0x021C5994
ldr r2, [r5, #0x0]
ldr r0, [r1, #0x0]
@@ -62831,7 +62831,7 @@ FUN_0201E00C: ; 0x0201E00C
mov r2, #0x28
str r1, [r0, #0x0]
mov r0, #0x0
- blx FUN_020CE1FC
+ blx MIi_CpuClear32
ldr r0, _0201E064 ; =0x021C5998
mov r1, #0x30
ldr r0, [r0, #0x0]
@@ -67842,11 +67842,11 @@ FUN_020203CC: ; 0x020203CC
lsl r0, r0, #0x6
add r1, r4, #0x0
lsl r2, r2, #0xa
- blx FUN_020CE1C8
+ blx MIi_CpuClear16
mov r1, #0x1
add r0, r4, #0x0
lsl r1, r1, #0xa
- blx FUN_020CC15C
+ blx DC_FlushRange
mov r2, #0x1
add r0, r4, #0x0
mov r1, #0x0
@@ -67868,7 +67868,7 @@ FUN_02020404: ; 0x02020404
lsl r0, r0, #0x6
add r1, r4, #0x0
lsl r2, r2, #0xa
- blx FUN_020CE1C8
+ blx MIi_CpuClear16
mov r2, #0x1
add r0, r4, #0x0
mov r1, #0x0
@@ -68859,9 +68859,9 @@ FUN_02020AFC: ; 0x02020AFC
strh r0, [r1, #0x0]
ldr r1, _02020B2C ; =FUN_02020B30
mov r0, #0x40
- blx FUN_020C9FEC
+ blx OS_SetIrqFunction
mov r0, #0x40
- blx FUN_020C9E5C
+ blx OS_EnableIrqMask
pop {r3, pc}
.balign 4
_02020B24: .word 0x021C59B0
@@ -68895,7 +68895,7 @@ _02020B54:
ldr r2, [r3, r1]
orr r2, r0
str r2, [r3, r1]
- ldr r3, _02020B78 ; =FUN_020C9FEC
+ ldr r3, _02020B78 ; =OS_SetIrqFunction
ldr r1, _02020B7C ; =FUN_02020B30
bx r3
nop
@@ -68903,14 +68903,14 @@ _02020B68: .word 0x021C59B0
_02020B6C: .word 0x0400010E
_02020B70: .word 0x027E0000
_02020B74: .word 0x00003FF8
-_02020B78: .word FUN_020C9FEC
+_02020B78: .word OS_SetIrqFunction
_02020B7C: .word FUN_02020B30
thumb_func_start FUN_02020B80
FUN_02020B80: ; 0x02020B80
push {r4-r5, lr}
sub sp, #0xc
- blx FUN_020CD310
+ blx OS_DisableInterrupts
ldr r1, _02020BE4 ; =0x0400010C
add r3, sp, #0x0
ldrh r1, [r1, #0x0]
@@ -68942,7 +68942,7 @@ FUN_02020B80: ; 0x02020B80
str r2, [sp, #0x4]
str r3, [sp, #0x8]
_02020BC4:
- blx FUN_020CD324
+ blx OS_RestoreInterrupts
ldr r2, [sp, #0x4]
ldr r1, [sp, #0x8]
lsr r0, r2, #0x10
@@ -69004,7 +69004,7 @@ ErrorHandling: ; 0x02020C2C
bl FUN_02031810
cmp r0, #0x0
beq _02020C42
- blx FUN_020CD374
+ blx OS_GetProcMode
cmp r0, #0x12
beq _02020C42
bl FUN_0208A9B8
@@ -69933,7 +69933,7 @@ FUN_020212B8: ; 0x020212B8
bl FUN_020212E4
ldr r1, [r4, #0x4]
add r0, r4, #0x0
- blx FUN_020CC15C
+ blx DC_FlushRange
add r0, r4, #0x0
mov r1, #0x1
blx FUN_020B7D28
@@ -72345,10 +72345,10 @@ _0202244C: .word 0x04000580
thumb_func_start FUN_02022450
FUN_02022450: ; 0x02022450
push {r3, lr}
- blx FUN_020D1CC4
+ blx FS_IsAvailable
cmp r0, #0x0
bne _02022460
- blx FUN_020CD850
+ blx OS_Terminate
pop {r3, pc}
_02022460:
ldr r0, _020224BC ; =0x027FF00C
@@ -72360,19 +72360,19 @@ _02022460:
ldr r0, _020224C0 ; =0x027FFE00
ldr r1, _020224C4 ; =0x027FF000
lsl r2, r2, #0x4
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
mov r2, #0x16
ldr r0, _020224C0 ; =0x027FFE00
ldr r1, _020224C8 ; =0x027FFA80
lsl r2, r2, #0x4
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
ldr r1, _020224CC ; =0x4A414441
ldr r0, _020224BC ; =0x027FF00C
str r1, [r0, #0x0]
_0202248A:
ldr r0, _020224D0 ; =0x020EE6D4
mov r1, #0x3
- blx FUN_020D1148
+ blx FS_FindArchive
ldr r1, _020224C4 ; =0x027FF000
ldr r2, [r1, #0x48]
str r2, [r0, #0x2c]
@@ -72391,7 +72391,7 @@ _0202248A:
cmp r1, r0
beq _020224B8
_020224B4:
- blx FUN_020CD850
+ blx OS_Terminate
_020224B8:
pop {r3, pc}
nop
@@ -72409,17 +72409,17 @@ FUN_020224D8: ; 0x020224D8
sub sp, #0x48
add r4, r0, #0x0
add r0, sp, #0x0
- blx FUN_020D1C94
+ blx FS_InitFile
add r0, sp, #0x0
add r1, r4, #0x0
- blx FUN_020D1944
+ blx FS_OpenFile
cmp r0, #0x0
beq _020224FC
ldr r1, [sp, #0x24]
ldr r0, _02022500 ; =0x027FFC2C
str r1, [r0, #0x0]
mov r0, #0x0
- blx FUN_020CD3B4
+ blx OS_ResetSystem
_020224FC:
add sp, #0x48
pop {r4, pc}
@@ -72485,7 +72485,7 @@ FUN_0202254C: ; 0x0202254C
ldr r2, _020225E0 ; =0x000204A8
mov r0, #0x0
add r1, r4, #0x0
- blx FUN_020CE240
+ blx MIi_CpuClearFast
ldr r0, _020225E4 ; =0x021C59C8
str r4, [r0, #0x0]
bl FUN_02023570
@@ -72511,7 +72511,7 @@ FUN_0202254C: ; 0x0202254C
mov r0, #0x0
add r1, r4, r1
mov r2, #0x8
- blx FUN_020CE240
+ blx MIi_CpuClearFast
add r0, r4, #0x0
bl FUN_02022AD8
str r0, [r4, #0x10]
@@ -72650,7 +72650,7 @@ _0202267A:
mvn r0, r0
add r1, r6, #0x0
lsl r2, r2, #0xc
- blx FUN_020CE240
+ blx MIi_CpuClearFast
mov r4, #0x0
mov r7, #0x1
add r5, r4, #0x0
@@ -73959,7 +73959,7 @@ _02023006:
ldr r0, [r4, #0x10]
lsl r0, r0, #0x10
lsr r0, r0, #0x10
- blx FUN_020CA0F8
+ blx OS_ReleaseLockID
_02023034:
mov r0, #0x1
bl FUN_02016454
@@ -74006,7 +74006,7 @@ FUN_02023074: ; 0x02023074
add r0, sp, #0x0
mov r1, #0xff
mov r2, #0x14
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, r4, #0x0
add r1, r5, #0x0
bl FUN_020228A4
@@ -74207,7 +74207,7 @@ FUN_020231F4: ; 0x020231F4
add r1, r6, #0x0
lsl r2, r2, #0x10
ldr r4, _02023240 ; =0x020EE700
- blx FUN_020CE240
+ blx MIi_CpuClearFast
ldr r0, _02023244 ; =0x020EE6DC
mov r7, #0x0
ldr r0, [r0, #0x0]
@@ -74221,7 +74221,7 @@ _02023216:
ldr r1, [sp, #0x4]
mov r0, #0x0
add r1, r6, r1
- blx FUN_020CE240
+ blx MIi_CpuClearFast
ldr r0, [sp, #0x4]
ldr r1, [r4, #0xc]
add r0, r6, r0
@@ -74634,7 +74634,7 @@ _0202356C: .word 0x000204A0
thumb_func_start FUN_02023570
FUN_02023570: ; 0x02023570
push {r3-r5, lr}
- blx FUN_020CA0A0
+ blx OS_GetLockID
add r4, r0, #0x0
mov r0, #0x2
mvn r0, r0
@@ -74666,7 +74666,7 @@ _020235AA:
blx FUN_020D66A0
lsl r0, r4, #0x10
lsr r0, r0, #0x10
- blx FUN_020CA0F8
+ blx OS_ReleaseLockID
cmp r5, #0x0
beq _020235C2
mov r0, #0x1
@@ -74701,7 +74701,7 @@ FUN_020235EC: ; 0x020235EC
add r5, r0, #0x0
add r6, r1, #0x0
add r7, r2, #0x0
- blx FUN_020CA0A0
+ blx OS_GetLockID
add r4, r0, #0x0
mov r0, #0x2
mvn r0, r0
@@ -74731,7 +74731,7 @@ _02023608:
blx FUN_020D66A0
lsl r0, r4, #0x10
lsr r0, r0, #0x10
- blx FUN_020CA0F8
+ blx OS_ReleaseLockID
cmp r5, #0x0
bne _02023652
ldr r0, _02023658 ; =0x021C59C8
@@ -74762,7 +74762,7 @@ FUN_02023668: ; 0x02023668
add r5, r0, #0x0
add r6, r1, #0x0
add r7, r2, #0x0
- blx FUN_020CA0A0
+ blx OS_GetLockID
add r4, r0, #0x0
mov r0, #0x2
mvn r0, r0
@@ -74829,7 +74829,7 @@ FUN_020236E4: ; 0x020236E4
blx FUN_020D66A0
lsl r0, r5, #0x10
lsr r0, r0, #0x10
- blx FUN_020CA0F8
+ blx OS_ReleaseLockID
blx FUN_020D6700
cmp r0, #0x0
beq _02023714
@@ -74874,7 +74874,7 @@ FUN_02023740: ; 0x02023740
blx FUN_020D66A0
lsl r0, r5, #0x10
lsr r0, r0, #0x10
- blx FUN_020CA0F8
+ blx OS_ReleaseLockID
ldr r0, _02023768 ; =0x021C59C8
ldr r0, [r0, #0x0]
bl FUN_02016A18
@@ -74897,7 +74897,7 @@ FUN_02023770: ; 0x02023770
mov r0, #0x0
add r1, r4, #0x0
mov r2, #0x5c
- blx FUN_020CE240
+ blx MIi_CpuClearFast
add r4, #0x10
add r0, r4, #0x0
bl FUN_02023840
@@ -74924,14 +74924,14 @@ FUN_020237A0: ; 0x020237A0
push {r4, lr}
sub sp, #0x50
add r4, r0, #0x0
- blx FUN_020CD510
+ blx OS_GetOwnerRtcOffset
str r0, [r4, #0x0]
add r0, r4, #0x0
add r0, #0x8
str r1, [r4, #0x4]
- blx FUN_020CD5A0
+ blx OS_GetMacAddress
add r0, sp, #0x0
- blx FUN_020CD524
+ blx OS_GetOwnerInfo
add r0, sp, #0x0
ldrb r1, [r0, #0x2]
strb r1, [r4, #0xe]
@@ -74947,7 +74947,7 @@ FUN_020237CC: ; 0x020237CC
sub sp, #0x8
add r4, r0, #0x0
add r0, sp, #0x0
- blx FUN_020CD5A0
+ blx OS_GetMacAddress
mov r2, #0x0
add r3, sp, #0x0
_020237DC:
@@ -74973,7 +74973,7 @@ _020237EC:
FUN_020237FC: ; 0x020237FC
push {r4, lr}
add r4, r0, #0x0
- blx FUN_020CD510
+ blx OS_GetOwnerRtcOffset
ldr r3, [r4, #0x0]
ldr r2, [r4, #0x4]
eor r0, r3
@@ -75113,7 +75113,7 @@ FUN_020238C8: ; 0x020238C8
mov r0, #0x0
add r1, r4, #0x0
mov r2, #0x2c
- blx FUN_020CE240
+ blx MIi_CpuClearFast
add r0, r4, #0x0
bl FUN_02024F50
add r0, r4, #0x4
@@ -75176,11 +75176,11 @@ FUN_02023928: ; 0x02023928
thumb_func_start FUN_0202393C
FUN_0202393C: ; 0x0202393C
- ldr r3, _02023944 ; =FUN_020CE3E0
+ ldr r3, _02023944 ; =MI_CpuCopy8
mov r2, #0x20
bx r3
nop
-_02023944: .word FUN_020CE3E0
+_02023944: .word MI_CpuCopy8
thumb_func_start FUN_02023948
FUN_02023948: ; 0x02023948
@@ -75473,11 +75473,11 @@ FUN_02023AC8: ; 0x02023AC8
thumb_func_start FUN_02023ACC
FUN_02023ACC: ; 0x02023ACC
- ldr r3, _02023AD4 ; =FUN_020CE3E0
+ ldr r3, _02023AD4 ; =MI_CpuCopy8
mov r2, #0x20
bx r3
nop
-_02023AD4: .word FUN_020CE3E0
+_02023AD4: .word MI_CpuCopy8
thumb_func_start FUN_02023AD8
FUN_02023AD8: ; 0x02023AD8
@@ -75904,12 +75904,12 @@ FUN_02023D6C: ; 0x02023D6C
thumb_func_start FUN_02023D80
FUN_02023D80: ; 0x02023D80
- ldr r3, _02023D88 ; =FUN_020CE3E0
+ ldr r3, _02023D88 ; =MI_CpuCopy8
mov r2, #0x4f
lsl r2, r2, #0x2
bx r3
.balign 4
-_02023D88: .word FUN_020CE3E0
+_02023D88: .word MI_CpuCopy8
thumb_func_start FUN_02023D8C
FUN_02023D8C: ; 0x02023D8C
@@ -78249,7 +78249,7 @@ FUN_02024E6C: ; 0x02024E6C
ldr r2, _02024EA4 ; =0x0000074C
mov r0, #0x0
add r1, r4, #0x0
- blx FUN_020CE240
+ blx MIi_CpuClearFast
add r0, r4, #0x0
bl FUN_020250A4
mov r0, #0x7
@@ -78260,12 +78260,12 @@ FUN_02024E6C: ; 0x02024E6C
ldr r0, _02024EAC ; =0x0000FFFF
add r1, r4, r1
mov r2, #0x8
- blx FUN_020CE1C8
+ blx MIi_CpuClear16
ldr r1, _02024EB0 ; =0x00000734
ldr r0, _02024EAC ; =0x0000FFFF
add r1, r4, r1
mov r2, #0xb
- blx FUN_020CE1C8
+ blx MIi_CpuClear16
pop {r4, pc}
.balign 4
_02024EA4: .word 0x0000074C
@@ -78362,11 +78362,11 @@ FUN_02024F30: ; 0x02024F30
thumb_func_start FUN_02024F44
FUN_02024F44: ; 0x02024F44
- ldr r3, _02024F4C ; =FUN_020CE3E0
+ ldr r3, _02024F4C ; =MI_CpuCopy8
mov r2, #0x2
bx r3
nop
-_02024F4C: .word FUN_020CE3E0
+_02024F4C: .word MI_CpuCopy8
thumb_func_start FUN_02024F50
FUN_02024F50: ; 0x02024F50
@@ -78374,7 +78374,7 @@ FUN_02024F50: ; 0x02024F50
add r4, r0, #0x0
mov r1, #0x0
mov r2, #0x2
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldrh r1, [r4, #0x0]
mov r0, #0xf
bic r1, r0
@@ -78589,7 +78589,7 @@ FUN_020250A4: ; 0x020250A4
mov r1, #0x0
lsl r2, r2, #0x8
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r1, #0x0
add r0, r1, #0x0
_020250B6:
@@ -79151,12 +79151,12 @@ _02025474:
thumb_func_start FUN_02025484
FUN_02025484: ; 0x02025484
- ldr r3, _0202548C ; =FUN_020CE34C
+ ldr r3, _0202548C ; =MI_CpuFill8
mov r1, #0x0
mov r2, #0x24
bx r3
.balign 4
-_0202548C: .word FUN_020CE34C
+_0202548C: .word MI_CpuFill8
thumb_func_start FUN_02025490
FUN_02025490: ; 0x02025490
@@ -79496,11 +79496,11 @@ FUN_020256BC: ; 0x020256BC
thumb_func_start FUN_020256D0
FUN_020256D0: ; 0x020256D0
- ldr r3, _020256D8 ; =FUN_020CE3E0
+ ldr r3, _020256D8 ; =MI_CpuCopy8
mov r2, #0x38
bx r3
nop
-_020256D8: .word FUN_020CE3E0
+_020256D8: .word MI_CpuCopy8
thumb_func_start FUN_020256DC
FUN_020256DC: ; 0x020256DC
@@ -79900,7 +79900,7 @@ FUN_02025964: ; 0x02025964
mov r1, #0x0
mov r2, #0x3c
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, r4, #0x0
pop {r4, pc}
.balign 4
@@ -79936,7 +79936,7 @@ FUN_0202597C: ; 0x0202597C
ldr r2, _020259DC ; =0x000009B4
add r0, r4, #0x0
add r1, r7, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, r4, #0x0
add r0, #0x94
mov r1, #0x9b
@@ -80344,7 +80344,7 @@ _02025C72:
lsl r1, r1, #0x4
add r1, r2, r1
mov r2, #0x10
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
add r0, r6, #0x0
bl FUN_020239BC
ldr r1, [sp, #0x0]
@@ -80584,7 +80584,7 @@ FUN_02025E20: ; 0x02025E20
add r0, r5, r0
add r1, sp, #0xc
mov r2, #0xc8
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
ldr r2, [sp, #0x8]
add r1, sp, #0xc
add r0, r4, #0x0
@@ -80740,12 +80740,12 @@ FUN_02025F44: ; 0x02025F44
mov r1, #0x9a
lsl r1, r1, #0x4
add r0, r0, r1
- ldr r3, _02025F54 ; =FUN_020CE34C
+ ldr r3, _02025F54 ; =MI_CpuFill8
mov r1, #0x0
mov r2, #0xf
bx r3
nop
-_02025F54: .word FUN_020CE34C
+_02025F54: .word MI_CpuFill8
thumb_func_start FUN_02025F58
FUN_02025F58: ; 0x02025F58
@@ -80861,7 +80861,7 @@ FUN_02025FFC: ; 0x02025FFC
add r1, sp, #0x8
mov r2, #0x28
mov r4, #0x0
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
ldr r2, [sp, #0x4]
add r1, sp, #0x8
add r0, r4, #0x0
@@ -81003,12 +81003,12 @@ FUN_020260EC: ; 0x020260EC
add r1, sp, #0x34
mov r2, #0x28
mov r4, #0x0
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
ldr r0, _02026168 ; =0x00000978
add r1, sp, #0xc
add r0, r7, r0
mov r2, #0x28
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
ldr r3, [sp, #0x0]
add r1, sp, #0x34
add r3, r1, r3
@@ -81146,7 +81146,7 @@ FUN_020261EC: ; 0x020261EC
add r1, sp, #0x8
mov r2, #0x28
mov r4, #0x0
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
ldr r2, [sp, #0x4]
add r1, sp, #0x8
add r0, r4, #0x0
@@ -81268,7 +81268,7 @@ FUN_020262BC: ; 0x020262BC
add r1, sp, #0x8
mov r2, #0x28
mov r4, #0x0
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
ldr r2, [sp, #0x4]
add r1, sp, #0x8
add r0, r4, #0x0
@@ -81424,7 +81424,7 @@ _020263D6:
add r0, r4, r0
add r0, r2, r0
mov r2, #0x3
- blx FUN_020CE34C
+ blx MI_CpuFill8
pop {r3-r5, pc}
.balign 4
_020263F0: .word 0x0000010F
@@ -81701,7 +81701,7 @@ _020265C6:
add r0, r4, r0
add r0, r1, r0
mov r1, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
pop {r3-r5, pc}
nop
_020265DC: .word 0x0000020F
@@ -81861,12 +81861,12 @@ _020266D0: .word 0x000009AF
thumb_func_start FUN_020266D4
FUN_020266D4: ; 0x020266D4
- ldr r3, _020266DC ; =FUN_020CE34C
+ ldr r3, _020266DC ; =MI_CpuFill8
mov r1, #0x0
mov r2, #0x94
bx r3
.balign 4
-_020266DC: .word FUN_020CE34C
+_020266DC: .word MI_CpuFill8
thumb_func_start FUN_020266E0
FUN_020266E0: ; 0x020266E0
@@ -81874,12 +81874,12 @@ FUN_020266E0: ; 0x020266E0
add r4, r0, #0x0
mov r1, #0x0
mov r2, #0x2d
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, r4, #0x0
add r0, #0x2d
mov r1, #0x0
mov r2, #0x20
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, r4, #0x0
mov r1, #0x0
add r0, #0x8c
@@ -85827,7 +85827,7 @@ FUN_020281E8: ; 0x020281E8
mov r0, #0x0
add r1, r7, #0x0
lsl r2, r2, #0x6
- blx FUN_020CE240
+ blx MIi_CpuClearFast
mov r0, #0x1d
lsl r0, r0, #0x4
add r1, r0, #0x0
@@ -86219,7 +86219,7 @@ _020284A2:
mov r2, #0x30
add r0, r0, r1
add r1, r6, #0x0
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
mov r0, #0xc
add r1, r7, #0x0
mul r1, r0
@@ -86227,7 +86227,7 @@ _020284A2:
mov r2, #0xc
add r0, r0, r1
add r1, r4, #0x0
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
add r5, r5, #0x1
add r6, #0x30
add r4, #0xc
@@ -86243,7 +86243,7 @@ _020284D2:
add r1, r2, r1
mov r0, #0x0
mov r2, #0x30
- blx FUN_020CE240
+ blx MIi_CpuClearFast
ldr r2, [sp, #0x0]
mov r1, #0x5d
add r2, #0x40
@@ -86251,7 +86251,7 @@ _020284D2:
add r1, r2, r1
mov r0, #0x0
mov r2, #0xc
- blx FUN_020CE240
+ blx MIi_CpuClearFast
mov r2, #0x7a
lsl r2, r2, #0x4
add r1, r2, #0x0
@@ -86286,7 +86286,7 @@ FUN_02028518: ; 0x02028518
str r1, [sp, #0x0]
add r0, r4, r5
add r1, r4, r3
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
ldr r0, [sp, #0x4]
add r6, r7, #0x0
mov r3, #0xc
@@ -86300,16 +86300,16 @@ FUN_02028518: ; 0x02028518
mul r2, r3
add r1, r6, r2
add r2, r3, #0x0
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
mov r0, #0x0
add r1, r4, r5
mov r2, #0x30
- blx FUN_020CE240
+ blx MIi_CpuClearFast
ldr r1, [sp, #0x8]
mov r0, #0x0
add r1, r6, r1
mov r2, #0xc
- blx FUN_020CE240
+ blx MIi_CpuClearFast
mov r0, #0x1d
ldr r1, _02028588 ; =0x0000FFFF
add r2, r7, r5
@@ -86495,7 +86495,7 @@ _020286BC:
mov r0, #0x0
add r1, r6, r4
mov r2, #0x30
- blx FUN_020CE240
+ blx MIi_CpuClearFast
mov r0, #0x1d
ldr r1, _020286E8 ; =0x0000FFFF
add r2, r5, r4
@@ -86556,7 +86556,7 @@ FUN_02028724: ; 0x02028724
mov r0, #0x0
add r1, r4, #0x0
lsl r2, r2, #0x2
- blx FUN_020CE240
+ blx MIi_CpuClearFast
ldr r0, _0202874C ; =0x0000FFFF
mov r1, #0x0
add r2, r4, #0x0
@@ -89419,13 +89419,13 @@ _02029AE4: .word 0x00000FF8
thumb_func_start FUN_02029AE8
FUN_02029AE8: ; 0x02029AE8
- ldr r3, _02029AF4 ; =FUN_020CE1FC
+ ldr r3, _02029AF4 ; =MIi_CpuClear32
add r1, r0, #0x0
mov r0, #0x0
ldr r2, _02029AF8 ; =0x00000FF8
bx r3
nop
-_02029AF4: .word FUN_020CE1FC
+_02029AF4: .word MIi_CpuClear32
_02029AF8: .word 0x00000FF8
thumb_func_start FUN_02029AFC
@@ -89646,16 +89646,16 @@ FUN_02029C60: ; 0x02029C60
add r2, r0, #0x0
add r0, r4, #0x0
mov r1, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
pop {r4, pc}
thumb_func_start FUN_02029C74
FUN_02029C74: ; 0x02029C74
- ldr r3, _02029C7C ; =FUN_020CE3E0
+ ldr r3, _02029C7C ; =MI_CpuCopy8
mov r2, #0x18
bx r3
nop
-_02029C7C: .word FUN_020CE3E0
+_02029C7C: .word MI_CpuCopy8
thumb_func_start FUN_02029C80
FUN_02029C80: ; 0x02029C80
@@ -90033,7 +90033,7 @@ FUN_02029ECC: ; 0x02029ECC
mov r0, #0x0
add r1, r4, #0x0
lsl r2, r2, #0x2
- blx FUN_020CE1FC
+ blx MIi_CpuClear32
mov r0, #0x0
str r0, [r4, #0x0]
pop {r4, pc}
@@ -90157,11 +90157,11 @@ FUN_02029F9C: ; 0x02029F9C
add r0, r1, #0x0
add r1, r2, #0x0
mov r2, #0xfb
- ldr r3, _02029FAC ; =FUN_020CE28C
+ ldr r3, _02029FAC ; =MIi_CpuCopyFast
lsl r2, r2, #0x2
bx r3
nop
-_02029FAC: .word FUN_020CE28C
+_02029FAC: .word MIi_CpuCopyFast
thumb_func_start FUN_02029FB0
FUN_02029FB0: ; 0x02029FB0
@@ -90172,14 +90172,14 @@ FUN_02029FB0: ; 0x02029FB0
thumb_func_start FUN_02029FB8
FUN_02029FB8: ; 0x02029FB8
- ldr r3, _02029FC4 ; =FUN_020CE1FC
+ 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 FUN_020CE1FC
+_02029FC4: .word MIi_CpuClear32
thumb_func_start FUN_02029FC8
FUN_02029FC8: ; 0x02029FC8
@@ -90477,12 +90477,12 @@ FUN_0202A1E0: ; 0x0202A1E0
thumb_func_start FUN_0202A1E4
FUN_0202A1E4: ; 0x0202A1E4
- ldr r3, _0202A1EC ; =FUN_020CE34C
+ ldr r3, _0202A1EC ; =MI_CpuFill8
mov r1, #0x0
mov r2, #0x3c
bx r3
.balign 4
-_0202A1EC: .word FUN_020CE34C
+_0202A1EC: .word MI_CpuFill8
thumb_func_start FUN_0202A1F0
FUN_0202A1F0: ; 0x0202A1F0
@@ -90491,7 +90491,7 @@ FUN_0202A1F0: ; 0x0202A1F0
mov r1, #0x0
lsl r2, r2, #0x2
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r0, #0x1
strb r0, [r4, #0x3]
pop {r4, pc}
@@ -90519,12 +90519,12 @@ FUN_0202A204: ; 0x0202A204
thumb_func_start FUN_0202A230
FUN_0202A230: ; 0x0202A230
- ldr r3, _0202A238 ; =FUN_020CE34C
+ ldr r3, _0202A238 ; =MI_CpuFill8
mov r1, #0x0
ldr r2, _0202A23C ; =0x00000B3C
bx r3
.balign 4
-_0202A238: .word FUN_020CE34C
+_0202A238: .word MI_CpuFill8
_0202A23C: .word 0x00000B3C
thumb_func_start FUN_0202A240
@@ -90571,14 +90571,14 @@ _0202A280:
add r1, r2, #0x0
add r0, #0x8
mov r2, #0x4
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
mov r0, #0x0
pop {r3, pc}
_0202A28E:
add r1, r2, #0x0
add r0, #0x2c
mov r2, #0x10
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
mov r0, #0x0
pop {r3, pc}
_0202A29C:
@@ -90590,7 +90590,7 @@ _0202A2A4:
add r1, r2, #0x0
add r0, #0xc
mov r2, #0x1c
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
mov r0, #0x0
pop {r3, pc}
_0202A2B2:
@@ -90661,14 +90661,14 @@ _0202A318:
add r0, r2, #0x0
add r1, r3, #0x0
mov r2, #0x4
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
pop {r4, pc}
_0202A326:
add r3, #0x2c
add r0, r2, #0x0
add r1, r3, #0x0
mov r2, #0x10
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
pop {r4, pc}
_0202A334:
ldrb r4, [r3, #0x0]
@@ -90685,7 +90685,7 @@ _0202A346:
add r0, r2, #0x0
add r1, r3, #0x0
mov r2, #0x1c
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
pop {r4, pc}
_0202A354:
ldr r0, [r2, #0x0]
@@ -90881,14 +90881,14 @@ FUN_0202A474: ; 0x0202A474
add r0, r2, #0x0
add r1, r3, #0x0
mov r2, #0xa8
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
pop {r3, pc}
_0202A48A:
add r3, #0x18
add r0, r2, #0x0
add r1, r3, #0x0
mov r2, #0xa8
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
pop {r3, pc}
thumb_func_start FUN_0202A498
@@ -90899,13 +90899,13 @@ FUN_0202A498: ; 0x0202A498
add r1, r2, #0x0
add r0, #0xc0
mov r2, #0xa8
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
pop {r3, pc}
_0202A4AA:
add r1, r2, #0x0
add r0, #0x18
mov r2, #0xa8
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
pop {r3, pc}
.balign 4
@@ -91175,11 +91175,11 @@ FUN_0202A670: ; 0x0202A670
add r0, r4, #0x4
mov r1, #0x0
mov r2, #0xfa
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, r4, #0x0
mov r1, #0x0
mov r2, #0x4
- blx FUN_020CE34C
+ blx MI_CpuFill8
pop {r4, pc}
.balign 4
@@ -91311,7 +91311,7 @@ FUN_0202A754: ; 0x0202A754
ldr r2, _0202A77C ; =0x0000063C
add r1, r5, r1
add r6, r3, #0x0
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
ldr r0, _0202A780 ; =0x00000101
strb r4, [r5, r0]
sub r0, r0, #0x1
@@ -91384,30 +91384,30 @@ _0202A7EE:
add r0, #0xa8
add r1, #0x8
mov r2, #0x10
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
_0202A7FC:
add r0, r5, r4
add r1, r6, #0x0
add r0, #0xca
add r1, #0x18
mov r2, #0x8
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
add r0, r5, r4
add r1, r6, #0x0
add r0, #0xd2
add r1, #0x20
mov r2, #0x8
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
add r0, r5, r4
add r6, #0x28
add r0, #0xda
add r1, r6, #0x0
mov r2, #0x8
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
add r0, r5, r4
add r1, r7, #0x0
mov r2, #0xa8
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
pop {r3-r7, pc}
nop
_0202A834: .word 0x00002710
@@ -91424,7 +91424,7 @@ FUN_0202A838: ; 0x0202A838
add r1, r5, r1
lsl r2, r2, #0x2
add r6, r3, #0x0
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
ldr r0, _0202A860 ; =0x00000103
strb r4, [r5, r0]
sub r0, r0, #0x1
@@ -91463,7 +91463,7 @@ FUN_0202A878: ; 0x0202A878
add r0, r5, r0
add r1, r4, #0x0
lsl r2, r2, #0x2
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
add r0, r4, #0x0
pop {r3-r5, pc}
@@ -91998,13 +91998,13 @@ FUN_0202ABC8: ; 0x0202ABC8
thumb_func_start FUN_0202ABCC
FUN_0202ABCC: ; 0x0202ABCC
- ldr r3, _0202ABD8 ; =FUN_020CE240
+ ldr r3, _0202ABD8 ; =MIi_CpuClearFast
add r1, r0, #0x0
mov r0, #0x0
mov r2, #0xf4
bx r3
nop
-_0202ABD8: .word FUN_020CE240
+_0202ABD8: .word MIi_CpuClearFast
thumb_func_start FUN_0202ABDC
FUN_0202ABDC: ; 0x0202ABDC
@@ -92022,22 +92022,22 @@ FUN_0202ABE4: ; 0x0202ABE4
thumb_func_start FUN_0202ABEC
FUN_0202ABEC: ; 0x0202ABEC
- ldr r3, _0202ABF4 ; =FUN_020CE28C
+ ldr r3, _0202ABF4 ; =MIi_CpuCopyFast
mov r2, #0xec
bx r3
nop
-_0202ABF4: .word FUN_020CE28C
+_0202ABF4: .word MIi_CpuCopyFast
thumb_func_start FUN_0202ABF8
FUN_0202ABF8: ; 0x0202ABF8
- ldr r3, _0202AC04 ; =FUN_020CE28C
+ 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 FUN_020CE28C
+_0202AC04: .word MIi_CpuCopyFast
thumb_func_start FUN_0202AC08
FUN_0202AC08: ; 0x0202AC08
@@ -92161,7 +92161,7 @@ _0202ACB4:
ldr r0, [sp, #0x0]
add r1, r1, r6
sub r2, #0x28
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
lsl r0, r4, #0x2
add r1, r5, r0
mov r0, #0x1
@@ -92231,7 +92231,7 @@ _0202AD3C:
mul r1, r2
add r0, r6, #0x0
add r1, r3, r1
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
lsl r0, r4, #0x2
add r1, r5, r0
mov r0, #0x12
@@ -92671,13 +92671,13 @@ _0202B038: .word 0x00002AB0
thumb_func_start FUN_0202B03C
FUN_0202B03C: ; 0x0202B03C
- ldr r3, _0202B048 ; =FUN_020CE1FC
+ ldr r3, _0202B048 ; =MIi_CpuClear32
add r1, r0, #0x0
mov r0, #0x0
ldr r2, _0202B04C ; =0x00002AB0
bx r3
nop
-_0202B048: .word FUN_020CE1FC
+_0202B048: .word MIi_CpuClear32
_0202B04C: .word 0x00002AB0
thumb_func_start FUN_0202B050
@@ -92727,7 +92727,7 @@ _0202B07E:
ldr r1, [sp, #0x14]
mov r0, #0x0
lsl r2, r2, #0x2
- blx FUN_020CE1C8
+ blx MIi_CpuClear16
ldr r0, [sp, #0x10]
mov r7, #0x0
cmp r0, #0x0
@@ -93092,13 +93092,13 @@ _0202B378: .word 0x00000B88
thumb_func_start FUN_0202B37C
FUN_0202B37C: ; 0x0202B37C
- ldr r3, _0202B388 ; =FUN_020CE240
+ ldr r3, _0202B388 ; =MIi_CpuClearFast
add r1, r0, #0x0
mov r0, #0x0
ldr r2, _0202B38C ; =0x00000B88
bx r3
nop
-_0202B388: .word FUN_020CE240
+_0202B388: .word MIi_CpuClearFast
_0202B38C: .word 0x00000B88
thumb_func_start FUN_0202B390
@@ -93109,18 +93109,18 @@ FUN_0202B390: ; 0x0202B390
mov r0, #0x0
add r1, #0xc
mov r2, #0xc0
- blx FUN_020CE240
+ blx MIi_CpuClearFast
add r1, r4, #0x0
mov r0, #0x0
add r1, #0xcc
mov r2, #0xc0
- blx FUN_020CE240
+ blx MIi_CpuClearFast
mov r1, #0x63
lsl r1, r1, #0x2
mov r0, #0x0
add r1, r4, r1
mov r2, #0xc0
- blx FUN_020CE240
+ blx MIi_CpuClearFast
add r0, r4, #0x0
bl FUN_0202B3F8
pop {r4, pc}
@@ -93271,7 +93271,7 @@ FUN_0202B470: ; 0x0202B470
add r0, r6, #0x0
add r1, r5, #0x0
mov r2, #0x28
- blx FUN_020CE28C
+ blx MIi_CpuCopyFast
add sp, #0x10
pop {r4-r6, pc}
@@ -93650,7 +93650,7 @@ FUN_0202B710: ; 0x0202B710
add r0, sp, #0x8
mov r1, #0x0
mov r2, #0x4
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r0, #0x0
str r0, [sp, #0x0]
add r0, sp, #0x8
@@ -93903,7 +93903,7 @@ FUN_0202B8B8: ; 0x0202B8B8
mov r1, #0x0
lsl r2, r2, #0x4
add r6, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r7, #0x0
_0202B8C8:
mov r4, #0x0
@@ -94079,7 +94079,7 @@ FUN_0202B9EC: ; 0x0202B9EC
mov r1, #0x0
lsl r2, r2, #0x2
str r0, [sp, #0x4]
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, r5, #0x0
bl FUN_0202881C
mov r1, #0x1
@@ -94196,7 +94196,7 @@ FUN_0202BAD4: ; 0x0202BAD4
mov r1, #0x0
mov r2, #0xe0
add r4, r3, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, sp, #0x10
ldrb r0, [r0, #0x10]
cmp r0, #0x0
@@ -94208,7 +94208,7 @@ FUN_0202BAD4: ; 0x0202BAD4
add r0, r5, r0
add r1, #0x50
str r0, [sp, #0x8]
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
add r1, sp, #0x10
ldrb r3, [r1, #0x18]
mov r0, #0x0
@@ -94269,7 +94269,7 @@ _0202BB64:
add r1, r6, #0x0
add r1, #0x50
str r0, [sp, #0x8]
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
add r0, sp, #0x10
ldrb r2, [r0, #0x18]
mov r3, #0x0
@@ -94552,7 +94552,7 @@ FUN_0202BD6C: ; 0x0202BD6C
mov r1, #0x0
mov r2, #0x4c
add r7, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, r4, #0x0
bl FUN_0202881C
mov r1, #0x1
@@ -94610,7 +94610,7 @@ FUN_0202BDF0: ; 0x0202BDF0
mov r1, #0x0
mov r2, #0x4c
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, [sp, #0x0]
mov r1, #0x90
mul r1, r0
@@ -94679,7 +94679,7 @@ _0202BE7E:
add r0, r6, #0x0
mov r1, #0x0
mov r2, #0x4c
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, r6, #0x0
bl FUN_02016A18
pop {r4-r6, pc}
@@ -94698,7 +94698,7 @@ FUN_0202BEA0: ; 0x0202BEA0
ldr r2, _0202BED8 ; =0x00000688
mov r0, #0x0
add r1, r5, #0x0
- blx FUN_020CE240
+ blx MIi_CpuClearFast
mov r4, #0x0
mov r6, #0xab
add r7, r4, #0x0
@@ -94728,7 +94728,7 @@ FUN_0202BEDC: ; 0x0202BEDC
ldr r2, _0202BF14 ; =0x00000588
mov r0, #0x0
add r1, r5, #0x0
- blx FUN_020CE240
+ blx MIi_CpuClearFast
mov r4, #0x0
mov r6, #0xab
add r7, r4, #0x0
@@ -94837,14 +94837,14 @@ FUN_0202BF90: ; 0x0202BF90
str r0, [r3, r2]
add r0, r2, #0x4
str r1, [r3, r0]
- blx FUN_020CD510
+ blx OS_GetOwnerRtcOffset
ldr r2, _0202BFD4 ; =0x00000678
str r0, [r5, r2]
add r0, r2, #0x4
add r2, #0x8
str r1, [r5, r0]
add r0, r5, r2
- blx FUN_020CD5A0
+ blx OS_GetMacAddress
pop {r4-r6, pc}
nop
_0202BFCC: .word 0x00000588
@@ -94935,7 +94935,7 @@ FUN_0202C060: ; 0x0202C060
sub sp, #0x8
add r4, r0, #0x0
add r0, sp, #0x0
- blx FUN_020CD5A0
+ blx OS_GetMacAddress
mov r0, #0x1a
mov r3, #0x0
add r5, sp, #0x0
@@ -94963,7 +94963,7 @@ _0202C084:
FUN_0202C094: ; 0x0202C094
push {r4, lr}
add r4, r0, #0x0
- blx FUN_020CD510
+ blx OS_GetOwnerRtcOffset
ldr r2, _0202C0B4 ; =0x00000678
ldr r3, [r4, r2]
add r2, r2, #0x4
@@ -95195,14 +95195,14 @@ _0202C230:
lsl r0, r0, #0x2
add r0, r4, r0
mov r1, #0x4
- blx FUN_020CC124
+ blx DC_InvalidateRange
mov r0, #0x66
mov r1, #0x0
lsl r0, r0, #0x2
str r1, [r4, r0]
add r0, r4, r0
mov r1, #0x4
- blx FUN_020CC15C
+ blx DC_FlushRange
ldr r0, _0202C280 ; =FUN_0202C288
blx FUN_020D9554
cmp r0, #0x2
@@ -95784,7 +95784,7 @@ _0202C6D0:
sub r0, #0xf0
add r0, r2, r0
mov r1, #0xc0
- blx FUN_020CC124
+ blx DC_InvalidateRange
ldr r0, _0202C760 ; =0x021C59D8
ldr r1, [r0, #0x4]
ldr r0, _0202C768 ; =0x00001320
@@ -95935,7 +95935,7 @@ _0202C800:
ldr r0, _0202C84C ; =0x02105D54
add r1, #0x1
mov r2, #0x3
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
bl FUN_02033534
add r1, sp, #0x4
strb r0, [r1, #0x0]
@@ -96264,7 +96264,7 @@ FUN_0202CA88: ; 0x0202CA88
add r0, r1, r0
ldr r1, [r1, r2]
add r7, r3, #0x0
- blx FUN_020CC15C
+ blx DC_FlushRange
ldr r0, _0202CAD8 ; =0x0000FFFF
add r1, r7, #0x0
str r0, [sp, #0x0]
@@ -96461,7 +96461,7 @@ FUN_0202CBFC: ; 0x0202CBFC
push {r3-r5, lr}
sub sp, #0x8
add r0, sp, #0x0
- blx FUN_020CD5A0
+ blx OS_GetMacAddress
ldr r0, _0202CC84 ; =0x027FFC3C
ldr r3, [r0, #0x0]
add r0, sp, #0x0
@@ -97037,14 +97037,14 @@ _0202D066:
ldr r1, _0202D09C ; =0x00001220
add r1, r2, r1
mov r2, #0xc0
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
ldr r0, _0202D094 ; =0x021C59D8
ldr r1, [r0, #0x4]
ldr r0, _0202D09C ; =0x00001220
add r0, r1, r0
mov r1, #0xc0
- blx FUN_020CC15C
- blx FUN_020CC180
+ blx DC_FlushRange
+ blx DC_WaitWriteBufferEmpty
bl FUN_0202C7E8
pop {r4-r6, pc}
_0202D08E:
@@ -97886,7 +97886,7 @@ _0202D660:
ldr r0, [r5, #0x0]
ldr r1, [r4, #0x0]
add r2, r3, #0x0
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
_0202D66A:
ldrh r0, [r5, #0xc]
ldr r1, [r4, #0x0]
@@ -98060,7 +98060,7 @@ _0202D7A4:
add r0, r6, #0x0
mov r1, #0x0
mov r2, #0x10
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, [r4, #0x4]
ldr r7, [sp, #0x0]
cmp r0, #0x0
@@ -98094,7 +98094,7 @@ FUN_0202D7D8: ; 0x0202D7D8
mov r1, #0x0
mov r2, #0x20
add r5, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
lsl r7, r4, #0x4
mov r0, #0xf
add r1, r7, #0x0
@@ -98102,7 +98102,7 @@ FUN_0202D7D8: ; 0x0202D7D8
mov r1, #0x0
add r2, r7, #0x0
str r0, [r5, #0x18]
- blx FUN_020CE34C
+ blx MI_CpuFill8
str r4, [r5, #0x1c]
str r6, [r5, #0x14]
pop {r3-r7, pc}
@@ -98116,7 +98116,7 @@ FUN_0202D804: ; 0x0202D804
ldr r0, [r4, #0x18]
mov r1, #0x0
lsl r2, r2, #0x4
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r0, #0x0
str r0, [r4, #0x0]
str r0, [r4, #0x4]
@@ -98587,7 +98587,7 @@ FUN_0202DB14: ; 0x0202DB14
str r0, [r1, #0x0]
mov r1, #0x0
lsl r2, r2, #0x2
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r6, #0x0
ldr r7, _0202DBA0 ; =0x021C59E4
add r4, r6, #0x0
@@ -98710,7 +98710,7 @@ FUN_0202DBE0: ; 0x0202DBE0
ldr r0, [r0, #0x0]
add r0, #0x64
add r0, r0, r5
- blx FUN_020CD5A0
+ blx OS_GetMacAddress
add r0, r7, #0x0
mov r1, #0x1
mov r2, #0x0
@@ -98720,7 +98720,7 @@ FUN_0202DBE0: ; 0x0202DBE0
ldr r1, [r1, #0x0]
add r1, #0x54
add r1, r1, r5
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
add r0, r6, #0x0
bl FUN_02029B38
ldr r1, _0202DCD8 ; =0x021C59E4
@@ -98762,7 +98762,7 @@ FUN_0202DBE0: ; 0x0202DBE0
mov r2, #0x20
add r0, #0x8
add r0, r0, r5
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, _0202DCD8 ; =0x021C59E4
ldr r1, [r0, #0x0]
ldr r0, [r1, #0x0]
@@ -98838,7 +98838,7 @@ FUN_0202DD08: ; 0x0202DD08
add r3, r1, #0x0
mul r3, r2
add r1, r5, r3
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
add r4, #0x62
ldr r2, _0202DD78 ; =0x021C59E4
ldrb r3, [r4, #0x0]
@@ -98888,7 +98888,7 @@ FUN_0202DD80: ; 0x0202DD80
add r1, #0x8
add r1, r1, r4
add r2, r3, #0x0
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
ldr r0, _0202DDE0 ; =0x021C59E4
add r1, r5, #0x0
ldr r0, [r0, #0x0]
@@ -98966,7 +98966,7 @@ _0202DE0A:
ldr r0, [r1, r0]
add r6, #0x28
add r1, r6, r5
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
ldr r1, _0202DE70 ; =0x021C59E4
mov r0, #0x4
ldr r1, [r1, #0x0]
@@ -99603,7 +99603,7 @@ FUN_0202E29C: ; 0x0202E29C
str r0, [r1, #0x8]
mov r1, #0x0
lsl r2, r2, #0x4
- blx FUN_020CE34C
+ blx MI_CpuFill8
bl FUN_0202CEEC
add r1, r0, #0x0
mov r0, #0xf
@@ -99619,7 +99619,7 @@ FUN_0202E29C: ; 0x0202E29C
ldr r0, _0202E338 ; =0x00000CA4
ldr r0, [r1, r0]
mov r1, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
bl FUN_02023AC4
add r1, r0, #0x0
mov r0, #0xf
@@ -99635,7 +99635,7 @@ FUN_0202E29C: ; 0x0202E29C
ldr r0, _0202E33C ; =0x00000CBC
ldr r0, [r1, r0]
mov r1, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r2, _0202E334 ; =0x021C59E8
mov r1, #0x33
ldr r3, _0202E340 ; =0x00000333
@@ -99771,7 +99771,7 @@ _0202E3D2:
mul r1, r2
add r0, r7, #0x0
add r1, r3, r1
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
pop {r3-r7, pc}
_0202E412:
add r6, r6, #0x1
@@ -99808,7 +99808,7 @@ _0202E434:
mul r3, r2
add r0, r7, #0x0
add r1, r4, r3
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
ldr r0, _0202E464 ; =0x021C59E8
mov r2, #0x1
ldr r1, [r0, #0x8]
@@ -99826,7 +99826,7 @@ FUN_0202E470: ; 0x0202E470
push {r3, lr}
cmp r1, #0x0
beq _0202E47A
- blx FUN_020CD850
+ blx OS_Terminate
_0202E47A:
ldr r0, _0202E484 ; =0x021C59E8
mov r1, #0x2
@@ -99861,7 +99861,7 @@ FUN_0202E49C: ; 0x0202E49C
blx FUN_02090DB8
cmp r0, #0x1
beq _0202E4BC
- blx FUN_020CD850
+ blx OS_Terminate
_0202E4BC:
pop {r3, pc}
nop
@@ -99956,7 +99956,7 @@ _0202E544:
ldr r0, [r0, #0x8]
lsl r2, r2, #0xa
add r0, #0x54
- blx FUN_020CE34C
+ blx MI_CpuFill8
pop {r3-r5, pc}
nop
_0202E564: .word 0x021C59E8
@@ -100673,7 +100673,7 @@ _0202EACE:
add r2, r0, #0x0
add r0, r4, #0x0
add r1, #0x10
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
bl FUN_02023AC4
add r2, r0, #0x0
ldr r0, _0202EB6C ; =0x021C59E8
@@ -100682,7 +100682,7 @@ _0202EACE:
ldr r0, [r1, r0]
add r1, r5, #0x0
add r1, #0x30
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
add r0, r4, #0x0
bl FUN_020239BC
str r0, [r5, #0x0]
@@ -100697,7 +100697,7 @@ _0202EACE:
add r0, r1, r0
add r1, r5, #0x0
add r1, #0x8
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
bl FUN_0202D358
add r5, #0x54
strb r0, [r5, #0x0]
@@ -100719,14 +100719,14 @@ _0202EB24:
ldr r0, [r0, #0x8]
add r1, r5, #0x0
mov r2, #0x54
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
_0202EB4E:
ldr r0, _0202EB6C ; =0x021C59E8
ldr r1, [r0, #0x8]
ldr r0, _0202EB70 ; =0x00000CC4
add r0, r1, r0
mov r1, #0x5c
- blx FUN_020CC15C
+ blx DC_FlushRange
ldr r0, _0202EB6C ; =0x021C59E8
ldr r1, [r0, #0x8]
ldr r0, _0202EB70 ; =0x00000CC4
@@ -100758,7 +100758,7 @@ FUN_0202EB7C: ; 0x0202EB7C
ldr r0, _0202EBCC ; =0x00000CC4
add r0, r1, r0
mov r1, #0x5c
- blx FUN_020CC15C
+ blx DC_FlushRange
ldr r0, _0202EBC8 ; =0x021C59E8
ldr r1, [r0, #0x8]
ldr r0, _0202EBCC ; =0x00000CC4
@@ -101333,7 +101333,7 @@ _0202EFC2:
add r1, r4, #0x0
mul r1, r2
add r1, r3, r1
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
_0202EFD8:
pop {r3-r5, pc}
nop
@@ -101426,7 +101426,7 @@ _0202F074: .word 0x00000DAD
thumb_func_start FUN_0202F078
FUN_0202F078: ; 0x0202F078
ldr r1, _0202F088 ; =0x021C59E8
- ldr r3, _0202F08C ; =FUN_020CE3E0
+ ldr r3, _0202F08C ; =MI_CpuCopy8
ldr r2, [r1, #0x8]
ldr r1, _0202F090 ; =0x00000CA8
add r1, r2, r1
@@ -101434,7 +101434,7 @@ FUN_0202F078: ; 0x0202F078
bx r3
nop
_0202F088: .word 0x021C59E8
-_0202F08C: .word FUN_020CE3E0
+_0202F08C: .word MI_CpuCopy8
_0202F090: .word 0x00000CA8
thumb_func_start FUN_0202F094
@@ -101448,7 +101448,7 @@ FUN_0202F094: ; 0x0202F094
ldr r1, _0202F0B4 ; =0x00000CBC
add r0, r4, #0x0
ldr r1, [r3, r1]
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
pop {r4, pc}
nop
_0202F0B0: .word 0x021C59E8
@@ -101509,7 +101509,7 @@ FUN_0202F10C: ; 0x0202F10C
ldr r1, _0202F120 ; =0x021C59E8
mov r2, #0x54
ldr r1, [r1, #0x8]
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
bl FUN_0202F0B8
pop {r3, pc}
nop
@@ -101570,7 +101570,7 @@ _0202F178:
ldr r2, _0202F2C0 ; =0x0000068C
str r0, [r1, #0x4]
add r1, r4, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r2, _0202F2BC ; =0x021C59F4
ldr r1, _0202F2C4 ; =0x00000658
ldr r0, [r2, #0x4]
@@ -101759,7 +101759,7 @@ FUN_0202F2F0: ; 0x0202F2F0
ldr r3, [r3, r2]
add r2, r3, #0x0
mul r2, r6
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r4, #0x0
cmp r6, #0x0
ble _0202F360
@@ -101792,7 +101792,7 @@ _0202F360:
ldr r3, [r3, r2]
add r2, r3, #0x0
mul r2, r6
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r5, #0x0
cmp r6, #0x0
ble _0202F3A2
@@ -101824,7 +101824,7 @@ _0202F3A2:
add r0, r1, r0
mov r1, #0x0
lsl r2, r2, #0x6
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, _0202F54C ; =0x021C59F4
mov r1, #0xb5
ldr r2, [r0, #0x4]
@@ -101858,7 +101858,7 @@ _0202F3DA:
mov r1, #0x0
add r0, #0x4c
lsl r2, r2, #0x2
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, _0202F54C ; =0x021C59F4
mov r2, #0x42
ldr r1, [r0, #0x4]
@@ -101894,7 +101894,7 @@ _0202F420:
ldr r0, [r3, r0]
mov r1, #0x0
lsl r2, r2, #0x1
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, _0202F54C ; =0x021C59F4
mov r1, #0x47
ldr r3, [r0, #0x4]
@@ -102073,7 +102073,7 @@ FUN_0202F5A4: ; 0x0202F5A4
ldr r3, [r3, r2]
add r2, r3, #0x0
mul r2, r6
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r4, #0x0
cmp r6, #0x0
ble _0202F606
@@ -102106,7 +102106,7 @@ _0202F606:
ldr r3, [r3, r2]
add r2, r3, #0x0
mul r2, r6
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r5, #0x0
cmp r6, #0x0
ble _0202F648
@@ -102138,7 +102138,7 @@ _0202F648:
add r0, r1, r0
mov r1, #0x0
lsl r2, r2, #0x6
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, _0202F7D4 ; =0x021C59F4
mov r1, #0xb5
ldr r2, [r0, #0x4]
@@ -102172,7 +102172,7 @@ _0202F680:
mov r1, #0x0
add r0, #0x4c
lsl r2, r2, #0x2
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, _0202F7D4 ; =0x021C59F4
mov r2, #0x42
ldr r1, [r0, #0x4]
@@ -102208,7 +102208,7 @@ _0202F6C6:
ldr r0, [r3, r0]
mov r1, #0x0
lsl r2, r2, #0x1
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, _0202F7D4 ; =0x021C59F4
mov r1, #0x47
ldr r3, [r0, #0x4]
@@ -105048,7 +105048,7 @@ _02030D22:
ldr r0, [sp, #0x8]
add r1, r2, r1
ldr r2, [sp, #0xc]
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
_02030D42:
ldr r1, [r5, #0x0]
ldr r0, [sp, #0xc]
@@ -106051,7 +106051,7 @@ FUN_02031480: ; 0x02031480
ldr r2, _020314CC ; =0x00000253
str r0, [r1, #0x0]
mov r1, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
_0203149C:
ldr r1, _020314C8 ; =0x021C59FC
mov r3, #0x0
@@ -106327,7 +106327,7 @@ _02031672:
add r1, r7, #0x0
add r0, r0, r5
mov r2, #0x2
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r4, r4, #0x1
add r5, r5, #0x2
cmp r4, #0x8
@@ -106369,7 +106369,7 @@ FUN_020316AC: ; 0x020316AC
add r3, #0x18
add r0, r1, #0x0
add r1, r3, r4
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
ldr r1, _020316DC ; =0x021C59FC
mov r0, #0x14
ldr r1, [r1, #0x0]
@@ -106423,7 +106423,7 @@ FUN_02031704: ; 0x02031704
add r4, #0x18
mul r3, r2
add r1, r4, r3
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
pop {r3-r5, pc}
nop
_0203172C: .word 0x021C59FC
@@ -106450,7 +106450,7 @@ FUN_02031734: ; 0x02031734
mov r2, #0x50
str r0, [r1, #0x0]
mov r1, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, _020317BC ; =0x021C5A00
mov r2, #0x32
ldr r1, [r0, #0x0]
@@ -109983,7 +109983,7 @@ FUN_02033288: ; 0x02033288
mov r2, #0x50
str r0, [r1, #0x0]
mov r1, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, _020332D8 ; =0x021C5A00
mov r2, #0x18
ldr r1, [r0, #0x0]
@@ -110049,7 +110049,7 @@ FUN_02033310: ; 0x02033310
mov r2, #0x50
str r0, [r1, #0x0]
mov r1, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, _02033360 ; =0x021C5A00
mov r2, #0x19
ldr r1, [r0, #0x0]
@@ -110229,7 +110229,7 @@ _02033482:
mov r1, #0x0
ldr r0, [r0, #0x0]
add r2, r4, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, _020334D4 ; =0x021C5A00
mov r1, #0x0
ldr r2, [r0, #0x0]
@@ -110335,27 +110335,27 @@ _02033560: .word 0x021C5A00
thumb_func_start FUN_02033564
FUN_02033564: ; 0x02033564
ldr r1, _02033570 ; =0x021C5A00
- ldr r3, _02033574 ; =FUN_020CE3E0
+ ldr r3, _02033574 ; =MI_CpuCopy8
ldr r1, [r1, #0x0]
mov r2, #0x6
add r1, r1, #0x4
bx r3
.balign 4
_02033570: .word 0x021C5A00
-_02033574: .word FUN_020CE3E0
+_02033574: .word MI_CpuCopy8
thumb_func_start FUN_02033578
FUN_02033578: ; 0x02033578
add r1, r0, #0x0
ldr r0, _02033588 ; =0x021C5A00
- ldr r3, _0203358C ; =FUN_020CE3E0
+ ldr r3, _0203358C ; =MI_CpuCopy8
ldr r0, [r0, #0x0]
mov r2, #0x6
add r0, r0, #0x4
bx r3
nop
_02033588: .word 0x021C5A00
-_0203358C: .word FUN_020CE3E0
+_0203358C: .word MI_CpuCopy8
thumb_func_start FUN_02033590
FUN_02033590: ; 0x02033590
@@ -110978,7 +110978,7 @@ _02033A1C:
add r0, r7, #0x0
add r1, r1, r3
mov r2, #0xc
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
add r0, r5, #0x0
bl FUN_0202E1BC
b _02033A5C
@@ -111022,7 +111022,7 @@ FUN_02033A70: ; 0x02033A70
bl FUN_0202DFD8
ldr r1, [sp, #0x8]
mov r2, #0xc
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
_02033AA6:
ldr r0, [sp, #0x28]
cmp r0, #0x0
@@ -111377,7 +111377,7 @@ FUN_02033D3C: ; 0x02033D3C
mov r1, #0x96
ldr r0, [sp, #0x4]
lsl r1, r1, #0x2
- blx FUN_020CC15C
+ blx DC_FlushRange
ldr r0, [sp, #0x4]
add r1, sp, #0x0
blx FUN_020B0138
@@ -111430,7 +111430,7 @@ _02033DC8:
mov r1, #0x96
ldr r0, [sp, #0x4]
lsl r1, r1, #0x2
- blx FUN_020CC15C
+ blx DC_FlushRange
ldr r0, [sp, #0x4]
add r1, sp, #0x0
blx FUN_020B0088
@@ -111642,13 +111642,13 @@ FUN_02033F50: ; 0x02033F50
ldr r2, [r3, r1]
orr r0, r2
str r0, [r3, r1]
- ldr r3, _02033F6C ; =FUN_020CDA1C
+ ldr r3, _02033F6C ; =MI_WaitDma
mov r0, #0x3
bx r3
nop
_02033F64: .word 0x027E0000
_02033F68: .word 0x00003FF8
-_02033F6C: .word FUN_020CDA1C
+_02033F6C: .word MI_WaitDma
thumb_func_start FUN_02033F70
FUN_02033F70: ; 0x02033F70
@@ -111692,12 +111692,12 @@ _02033FA4:
mov r1, #0x0
bl FUN_0200E3A0
mov r0, #0x1
- blx FUN_020C9E14
+ blx OS_DisableIrqMask
ldr r1, _02034154 ; =FUN_02033F50
mov r0, #0x1
- blx FUN_020C9FEC
+ blx OS_SetIrqFunction
mov r0, #0x1
- blx FUN_020C9E5C
+ blx OS_EnableIrqMask
mov r0, #0x0
add r1, r0, #0x0
bl FUN_02015F10
@@ -112144,7 +112144,7 @@ _0203440A:
add r0, r5, #0x0
add r1, r4, r1
add r2, r7, #0x0
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
ldr r0, [sp, #0x8]
add r5, r5, r7
cmp r0, #0x0
@@ -112155,7 +112155,7 @@ _0203440A:
add r1, r4, #0x2
mul r2, r3
lsl r2, r2, #0x1
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
ldrb r1, [r4, #0x1]
ldrb r0, [r4, #0x0]
mul r0, r1
@@ -112171,7 +112171,7 @@ _0203443A:
mul r2, r3
lsr r0, r0, #0x10
lsl r2, r2, #0x1
- blx FUN_020CE1C8
+ blx MIi_CpuClear16
_0203444E:
ldr r0, [sp, #0x4]
cmp r0, #0x0
@@ -112182,7 +112182,7 @@ _0203444E:
add r0, r5, #0x0
add r1, r4, r1
mul r2, r3
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
ldrb r1, [r4, #0x1]
ldrb r0, [r4, #0x0]
mul r0, r1
@@ -112195,7 +112195,7 @@ _0203446C:
mul r2, r3
add r1, r4, r1
lsl r2, r2, #0x1
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
add r0, r6, #0x0
bl FUN_02016A18
add sp, #0xc
@@ -112389,7 +112389,7 @@ FUN_020345A8: ; 0x020345A8
ldr r2, _020345D8 ; =0x00000708
add r0, r0, r1
add r1, r5, #0x0
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
add r0, r4, #0x0
bl FUN_02016A18
add r0, r5, #0x0
@@ -113482,7 +113482,7 @@ FUN_02034CEC: ; 0x02034CEC
mov r0, #0x0
add r1, r5, r1
lsl r2, r2, #0x8
- blx FUN_020CE240
+ blx MIi_CpuClearFast
mov r0, #0xa
add r1, r4, #0x0
bl FUN_020065A4
@@ -113563,14 +113563,14 @@ FUN_02034D80: ; 0x02034D80
thumb_func_start FUN_02034D88
FUN_02034D88: ; 0x02034D88
- ldr r3, _02034D94 ; =FUN_020CE1FC
+ ldr r3, _02034D94 ; =MIi_CpuClear32
mov r2, #0x5
add r1, r0, #0x0
mov r0, #0x0
lsl r2, r2, #0xa
bx r3
.balign 4
-_02034D94: .word FUN_020CE1FC
+_02034D94: .word MIi_CpuClear32
thumb_func_start FUN_02034D98
FUN_02034D98: ; 0x02034D98
@@ -118410,7 +118410,7 @@ FUN_02037400: ; 0x02037400
mov r1, #0x0
mov r2, #0xb8
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r0, #0xb
mov r1, #0x10
bl FUN_02016998
@@ -119102,7 +119102,7 @@ FUN_0203797C: ; 0x0203797C
mov r0, #0x0
add r1, r4, #0x0
mov r2, #0x40
- blx FUN_020CE240
+ blx MIi_CpuClearFast
ldr r0, [r5, #0xc]
bl FUN_0206BB1C
str r0, [r4, #0x0]
@@ -119484,7 +119484,7 @@ FUN_02037C7C: ; 0x02037C7C
mov r1, #0x0
mov r2, #0x30
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, r5, #0x0
bl LoadPlayerDataAddress
str r0, [r4, #0x4]
@@ -121187,7 +121187,7 @@ FUN_02038A3C: ; 0x02038A3C
ldr r0, _02038AAC ; =0x020F2BE8
add r1, sp, #0x8
mov r2, #0xc
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
mov r4, #0x0
mov r7, #0xc
add r6, sp, #0x8
@@ -128382,7 +128382,7 @@ FUN_0203C200: ; 0x0203C200
mov r2, #0x8
str r0, [r6, #0x0]
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, [sp, #0x0]
strh r7, [r4, #0x4]
strh r0, [r4, #0x6]
@@ -140989,7 +140989,7 @@ FUN_020427D0: ; 0x020427D0
ldr r0, _0204285C ; =0x00000884
mov r2, #0x46
add r0, r6, r0
- blx FUN_020CE34C
+ blx MI_CpuFill8
cmp r4, #0x0
beq _0204281E
cmp r4, #0x1
@@ -141946,7 +141946,7 @@ FUN_02042F6C: ; 0x02042F6C
add r2, r7, #0x0
bl FUN_020671BC
add r6, r0, #0x0
- blx FUN_020CCC1C
+ blx OS_GetTick
bl FUN_0201BA10
add r1, r0, #0x0
ldr r0, [sp, #0x14]
@@ -150759,7 +150759,7 @@ FUN_020476CC: ; 0x020476CC
mov r1, #0x0
lsl r2, r2, #0x2
add r7, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r1, #0x63
str r4, [r7, #0x0]
mov r0, #0x0
@@ -150775,7 +150775,7 @@ _020476FA:
add r1, r4, #0x0
mov r2, #0x34
str r0, [r6, #0x18]
- blx FUN_020CE1FC
+ blx MIi_CpuClear32
ldr r0, [sp, #0x0]
add r6, r6, #0x4
add r0, r0, #0x1
@@ -150883,7 +150883,7 @@ _02047774:
add r0, r2, #0x4
add r0, r7, r0
mov r2, #0xc
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, r7, #0x0
pop {r3-r7, pc}
@@ -152637,7 +152637,7 @@ _02048666:
mov r0, #0x4
bl FUN_020168D0
mov r0, #0x0
- blx FUN_020CD3B4
+ blx OS_ResetSystem
add sp, #0xc
mov r0, #0x1
pop {r4-r7, pc}
@@ -154712,7 +154712,7 @@ FUN_02049718: ; 0x02049718
mov r1, #0x0
mov r2, #0x1c
add r7, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, [r5, #0x38]
bl FUN_020552F8
mov r1, #0x0
@@ -155524,7 +155524,7 @@ FUN_02049D9C: ; 0x02049D9C
add r6, r0, #0x0
mov r1, #0x0
mov r2, #0x1c
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r2, r6, #0x0
ldmia r4!, {r0-r1}
add r2, #0x8
@@ -155655,7 +155655,7 @@ FUN_02049EA4: ; 0x02049EA4
mov r1, #0x0
mov r2, #0x1c
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, r7, #0x0
add r1, r5, #0x0
bl FUN_02048CB0
@@ -158449,7 +158449,7 @@ FUN_0204B388: ; 0x0204B388
add r4, r0, #0x0
mov r1, #0x0
mov r2, #0x64
- blx FUN_020CE34C
+ blx MI_CpuFill8
str r6, [r4, #0x0]
add r0, r6, #0x0
bl FUN_02025128
@@ -159254,7 +159254,7 @@ FUN_0204B9EC: ; 0x0204B9EC
add r4, r0, #0x0
mov r0, #0x0
mov r2, #0x4c
- blx FUN_020CE240
+ blx MIi_CpuClearFast
ldr r1, _0204BA14 ; =0x021C5A1C
add r0, r4, #0x0
bl FUN_0204BB20
@@ -160259,7 +160259,7 @@ FUN_0204C0D4: ; 0x0204C0D4
beq _0204C0E6
add r0, #0x2a
mov r2, #0x78
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
_0204C0E6:
pop {r3, pc}
@@ -160271,7 +160271,7 @@ FUN_0204C0E8: ; 0x0204C0E8
add r1, r4, #0x0
add r1, #0x2a
mov r2, #0x78
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
ldrb r1, [r4, #0x0]
mov r0, #0x4
orr r0, r1
@@ -161589,7 +161589,7 @@ _0204CB32:
str r0, [r1, #0x0]
mov r1, #0x0
lsl r2, r2, #0x2
- blx FUN_020CE34C
+ blx MI_CpuFill8
_0204CB40:
ldr r1, _0204CC34 ; =0x021C5A68
ldr r0, _0204CC38 ; =0x000002BE
@@ -162743,7 +162743,7 @@ FUN_0204D43C: ; 0x0204D43C
add r0, #0x5a
mov r1, #0x0
mov r2, #0x8
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, r5, #0x0
bl FUN_0204CD78
ldr r0, _0204D4CC ; =0x021C5A68
@@ -167889,7 +167889,7 @@ FUN_0204FBB0: ; 0x0204FBB0
mov r2, #0x48
str r0, [r1, #0x0]
mov r1, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, _0204FC08 ; =0x021C5A6C
mov r1, #0x32
ldr r0, [r0, #0x0]
@@ -170232,7 +170232,7 @@ FUN_02050E48: ; 0x02050E48
mov r1, #0x0
mov r2, #0x30
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, [r5, #0xc]
bl FUN_020238F4
add r1, r0, #0x0
@@ -170287,7 +170287,7 @@ FUN_02050ED4: ; 0x02050ED4
mov r1, #0x0
mov r2, #0x40
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, [r5, #0x24]
ldr r0, [r0, #0xc]
bl LoadPlayerDataAddress
@@ -170413,7 +170413,7 @@ _02050FDA:
add r0, #0x2c
add r1, #0x3d
mov r2, #0x6
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
ldr r0, [r4, #0x4]
add r0, #0x22
ldrb r0, [r0, #0x0]
@@ -171503,7 +171503,7 @@ _0205188E:
add r4, r0, #0x0
mov r1, #0x0
mov r2, #0x8c
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, r4, #0x0
mov r1, #0x5
add r0, #0x43
@@ -171689,7 +171689,7 @@ _02051A16:
bl FUN_0206B9B0
add r1, r4, #0x0
add r2, r6, #0x0
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
add r5, r5, #0x1
add r4, r4, r6
cmp r5, #0x3
@@ -171851,7 +171851,7 @@ FUN_02051B1C: ; 0x02051B1C
mul r2, r4
add r1, r3, r2
add r2, r4, #0x0
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
ldr r0, [r6, #0x50]
mov r1, #0x3
bl FUN_0206B8CC
@@ -172595,7 +172595,7 @@ _0205211E:
mov r1, #0x0
lsl r2, r2, #0x4
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r0, #0x0
str r0, [r4, #0x10]
mov r0, #0x28
@@ -173980,7 +173980,7 @@ FUN_02052B74: ; 0x02052B74
add r0, sp, #0x0
mov r1, #0x0
mov r2, #0x20
- blx FUN_020CE34C
+ blx MI_CpuFill8
cmp r4, #0xb
bhi _02052BFA
add r0, r4, r4
@@ -174442,7 +174442,7 @@ FUN_02052EE8: ; 0x02052EE8
ldr r2, _02052F58 ; =0x000004E8
mov r0, #0x0
add r1, r4, #0x0
- blx FUN_020CE240
+ blx MIi_CpuClearFast
mov r0, #0x4e
str r5, [r4, #0x0]
mov r1, #0x1
@@ -179020,7 +179020,7 @@ FUN_02054F50: ; 0x02054F50
mov r1, #0x0
mov r2, #0x14
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, sp, #0x8
ldrh r0, [r0, #0x10]
cmp r0, #0x0
@@ -179123,7 +179123,7 @@ FUN_0205502C: ; 0x0205502C
add r4, r0, #0x0
mov r1, #0x0
mov r2, #0xc
- blx FUN_020CE34C
+ blx MI_CpuFill8
strh r6, [r4, #0x4]
strh r7, [r4, #0x6]
str r5, [r4, #0x0]
@@ -198241,7 +198241,7 @@ FUN_0205DD40: ; 0x0205DD40
add r0, #0x1c
mov r2, #0xa0
str r1, [r4, #0x18]
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r3, #0x0
add r2, r3, #0x0
mov r0, #0x28
@@ -200109,7 +200109,7 @@ FUN_0205EB38: ; 0x0205EB38
add r7, r0, #0x0
mov r1, #0x0
lsl r2, r2, #0x2
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, r7, #0x0
add r1, sp, #0xc
mov r2, #0x2
@@ -201958,10 +201958,10 @@ FUN_0205F8CC: ; 0x0205F8CC
bl FUN_020462AC
str r0, [sp, #0x0]
add r0, sp, #0x28
- blx FUN_020D1C94
+ blx FS_InitFile
add r0, sp, #0x28
add r1, r4, #0x0
- blx FUN_020D1944
+ blx FS_OpenFile
cmp r0, #0x0
bne _0205F8F8
bl ErrorHandling
@@ -201971,7 +201971,7 @@ _0205F8F8:
add r0, sp, #0x28
add r1, sp, #0x24
mov r2, #0x4
- blx FUN_020D180C
+ blx FS_ReadFile
cmp r0, #0x0
bge _0205F90A
bl ErrorHandling
@@ -201982,7 +201982,7 @@ _0205F90A:
mov r1, #0x0
mov r2, #0x4
add r6, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r1, [sp, #0x24]
ldr r0, _0205FA28 ; =0x0000013A
mov r4, #0x0
@@ -202011,7 +202011,7 @@ _0205F94C:
add r0, sp, #0x28
add r1, r6, #0x0
mov r2, #0x4
- blx FUN_020D180C
+ blx FS_ReadFile
ldrb r0, [r6, #0x0]
cmp r0, #0x1
beq _0205F962
@@ -202112,7 +202112,7 @@ _0205FA0E:
blt _0205F94C
_0205FA16:
add r0, sp, #0x28
- blx FUN_020D18FC
+ blx FS_CloseFile
add r0, r6, #0x0
bl FUN_02016A18
add sp, #0x70
@@ -202132,7 +202132,7 @@ FUN_0205FA2C: ; 0x0205FA2C
mov r1, #0x0
mov r2, #0x40
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, r6, #0x0
bl LoadPlayerDataAddress
str r0, [r4, #0xc]
@@ -202239,7 +202239,7 @@ _0205FB0C:
add r0, #0x2c
add r1, #0xe
mov r2, #0x6
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
add r0, r4, #0x0
add r0, #0x22
ldrb r0, [r0, #0x0]
@@ -202265,7 +202265,7 @@ FUN_0205FB34: ; 0x0205FB34
mov r1, #0x0
mov r2, #0x30
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, r5, #0x0
bl LoadPlayerDataAddress
str r0, [r4, #0x4]
@@ -202403,7 +202403,7 @@ FUN_0205FC50: ; 0x0205FC50
add r4, r0, #0x0
mov r1, #0x0
mov r2, #0x18
- blx FUN_020CE34C
+ blx MI_CpuFill8
strb r6, [r4, #0x8]
strb r7, [r4, #0x9]
add r0, sp, #0x8
@@ -202522,7 +202522,7 @@ FUN_0205FD38: ; 0x0205FD38
add r4, r0, #0x0
mov r1, #0x0
mov r2, #0x18
- blx FUN_020CE34C
+ blx MI_CpuFill8
strh r5, [r4, #0x12]
strh r7, [r4, #0x14]
ldr r0, [sp, #0x0]
@@ -202601,7 +202601,7 @@ FUN_0205FDDC: ; 0x0205FDDC
add r4, r0, #0x0
mov r1, #0x0
mov r2, #0x4
- blx FUN_020CE34C
+ blx MI_CpuFill8
strh r5, [r4, #0x0]
strh r6, [r4, #0x2]
ldr r0, [r7, #0x10]
@@ -204926,7 +204926,7 @@ FUN_02061008: ; 0x02061008
mov r0, #0x0
add r1, r4, #0x0
mov r2, #0x24
- blx FUN_020CE240
+ blx MIi_CpuClearFast
add r0, r4, #0x0
pop {r4, pc}
@@ -204947,7 +204947,7 @@ FUN_02061028: ; 0x02061028
add r1, r5, #0x0
mov r2, #0x24
add r7, r3, #0x0
- blx FUN_020CE1FC
+ blx MIi_CpuClear32
str r6, [r5, #0x0]
add r0, r5, #0x0
add r2, r5, #0x0
@@ -205275,7 +205275,7 @@ FUN_020612AC: ; 0x020612AC
mov r0, #0x0
add r1, sp, #0x0
mov r2, #0x28
- blx FUN_020CE240
+ blx MIi_CpuClearFast
add r0, r6, #0x0
mov r1, #0x1
mov r2, #0x0
@@ -207774,7 +207774,7 @@ FUN_020625EC: ; 0x020625EC
mov r1, #0x0
lsl r2, r2, #0x4
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r0, #0x50
str r0, [r4, #0x0]
ldr r0, [sp, #0x0]
@@ -207896,7 +207896,7 @@ _020626FE:
add r0, r4, #0x0
mov r1, #0x0
lsl r2, r2, #0x4
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, r5, #0x0
bl FUN_020168D0
mov r0, #0xc
@@ -208360,7 +208360,7 @@ FUN_02062A70: ; 0x02062A70
mov r2, #0x3c
mov r1, #0x0
mul r2, r3
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldrb r1, [r4, #0x16]
ldr r2, [r4, #0x0]
add r0, r5, #0x0
@@ -209118,7 +209118,7 @@ _02063094:
ldr r0, _02063164 ; =0x020F7C2C
add r1, #0xa0
mov r2, #0x20
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
add r1, r5, #0x0
add r0, r5, #0x0
add r1, #0xd4
@@ -213489,7 +213489,7 @@ _02065290:
ldr r0, [sp, #0x10]
add r1, r4, #0x0
lsl r2, r2, #0x8
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
pop {r3-r5, pc}
.balign 4
_020652A0: .word 0x000F423F
@@ -213677,7 +213677,7 @@ FUN_020653EC: ; 0x020653EC
mov r1, #0x0
lsl r2, r2, #0x2
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, r5, #0x0
str r6, [r4, #0x4]
bl FUN_020377AC
@@ -214645,7 +214645,7 @@ _02065B9E:
ldr r0, _02065CE4 ; =0x020F7E8C
add r1, r5, r1
mov r2, #0x20
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
mov r1, #0x5d
lsl r1, r1, #0x2
add r0, r1, #0x0
@@ -214945,7 +214945,7 @@ _02065E14:
ldr r0, _02065ED0 ; =0x020F7E8C
add r1, r5, r1
mov r2, #0x20
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
mov r0, #0x5d
lsl r0, r0, #0x2
add r1, r0, #0x0
@@ -215656,7 +215656,7 @@ FUN_020663D4: ; 0x020663D4
add r0, r4, r0
mov r1, #0x0
mov r2, #0x10
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r0, #0x17
mov r1, #0x0
lsl r0, r0, #0x4
@@ -215997,7 +215997,7 @@ _02066676:
mov r1, #0x0
mov r2, #0x40
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r0, #0x5b
lsl r0, r0, #0x2
ldr r0, [r5, r0]
@@ -216236,13 +216236,13 @@ FUN_02066840: ; 0x02066840
add r0, r7, #0x0
mov r1, #0x0
mov r2, #0xe4
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, r4, #0x0
bl FUN_0202398C
add r1, r7, #0x0
add r1, #0xa8
mov r2, #0x10
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
add r0, r4, #0x0
bl FUN_020239BC
add r1, r7, #0x0
@@ -216309,7 +216309,7 @@ _020668FC:
ldr r1, [sp, #0x8]
mov r2, #0x8
add r1, r1, r5
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
add r4, r4, #0x1
add r5, #0x8
cmp r4, #0x3
@@ -216320,7 +216320,7 @@ _020668FC:
add r1, r7, #0x0
add r1, #0xc0
mov r2, #0x8
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
ldr r0, [sp, #0x0]
cmp r0, #0x0
bne _02066956
@@ -216366,7 +216366,7 @@ FUN_02066978: ; 0x02066978
mov r0, #0x0
add r1, r4, #0x0
mov r2, #0xec
- blx FUN_020CE240
+ blx MIi_CpuClearFast
add r0, r4, #0x0
ldrh r2, [r4, #0x6]
add r0, #0x8
@@ -216386,7 +216386,7 @@ FUN_020669A0: ; 0x020669A0
mov r0, #0x0
add r1, r4, #0x0
mov r2, #0x88
- blx FUN_020CE240
+ blx MIi_CpuClearFast
add r0, r4, #0x0
ldrh r2, [r4, #0x6]
add r0, #0x8
@@ -216596,7 +216596,7 @@ FUN_02066ACC: ; 0x02066ACC
mov r0, #0x0
add r1, sp, #0x14
mov r2, #0x18
- blx FUN_020CE240
+ blx MIi_CpuClearFast
add r0, r5, #0x0
mov r1, #0xaa
add r2, sp, #0x14
@@ -221575,7 +221575,7 @@ FUN_02069010: ; 0x02069010
add r0, sp, #0xc
add r1, r4, #0x0
mov r2, #0x14
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
add sp, #0x20
pop {r3-r5, pc}
.balign 4
@@ -222287,20 +222287,20 @@ FUN_02069558: ; 0x02069558
bl ErrorHandling
_0206956E:
add r0, sp, #0x4
- blx FUN_020D1C94
+ blx FS_InitFile
ldr r1, _020695A4 ; =0x02105FC8
add r0, sp, #0x4
- blx FUN_020D1944
+ blx FS_OpenFile
add r0, sp, #0x4
lsl r1, r4, #0x1
mov r2, #0x0
- blx FUN_020D17A0
+ blx FS_SeekFile
add r0, sp, #0x4
add r1, sp, #0x0
mov r2, #0x2
- blx FUN_020D180C
+ blx FS_ReadFile
add r0, sp, #0x4
- blx FUN_020D18FC
+ blx FS_CloseFile
add r0, sp, #0x0
ldrh r0, [r0, #0x0]
add sp, #0x4c
@@ -222964,7 +222964,7 @@ _02069A8E:
mov r0, #0x0
add r1, sp, #0x4
mov r2, #0x18
- blx FUN_020CE240
+ blx MIi_CpuClearFast
add r0, r4, #0x0
mov r1, #0xaa
add r2, sp, #0x4
@@ -225234,7 +225234,7 @@ FUN_0206AA84: ; 0x0206AA84
add r1, sp, #0x0
add r1, #0x1
mov r2, #0x18
- blx FUN_020CE240
+ blx MIi_CpuClearFast
add r0, r4, #0x0
mov r1, #0xa1
add r2, sp, #0x0
@@ -227993,7 +227993,7 @@ FUN_0206BE48: ; 0x0206BE48
add r0, sp, #0x30
mov r1, #0x0
mov r2, #0xc
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, [sp, #0x20]
mov r7, #0x0
cmp r0, #0x0
@@ -229211,21 +229211,21 @@ FUN_0206C700: ; 0x0206C700
mov r0, #0x0
add r1, r4, #0x0
mov r2, #0x80
- blx FUN_020CE240
+ blx MIi_CpuClearFast
bl FUN_020222F0
str r0, [sp, #0x1c]
bl FUN_020222E8
add r1, r0, #0x0
ldr r2, [sp, #0x1c]
mov r0, #0x0
- blx FUN_020CE1C8
+ blx MIi_CpuClear16
bl FUN_02022300
str r0, [sp, #0x20]
bl FUN_020222F8
add r1, r0, #0x0
ldr r2, [sp, #0x20]
mov r0, #0x0
- blx FUN_020CE1C8
+ blx MIi_CpuClear16
ldr r0, [sp, #0x14]
str r6, [r4, #0x24]
mov r1, #0x5
@@ -229346,7 +229346,7 @@ FUN_0206C700: ; 0x0206C700
ldr r1, [r4, #0x3c]
mov r0, #0x0
mov r2, #0x30
- blx FUN_020CE240
+ blx MIi_CpuClearFast
ldr r1, [sp, #0x38]
ldr r0, [r4, #0x3c]
str r1, [r0, #0x2c]
@@ -231339,7 +231339,7 @@ _0206D8EA:
mov r0, #0x0
add r1, sp, #0x8
mov r2, #0x18
- blx FUN_020CE240
+ blx MIi_CpuClearFast
add r0, r5, #0x0
mov r1, #0xaa
add r2, sp, #0x8
@@ -231408,25 +231408,25 @@ _0206D9C6:
mov r0, #0x0
lsl r1, r1, #0x18
lsl r2, r2, #0x12
- blx FUN_020CE1FC
+ blx MIi_CpuClear32
mov r1, #0x62
mov r2, #0x2
mov r0, #0x0
lsl r1, r1, #0x14
lsl r2, r2, #0x10
- blx FUN_020CE1FC
+ blx MIi_CpuClear32
mov r1, #0x19
mov r2, #0x1
mov r0, #0x0
lsl r1, r1, #0x16
lsl r2, r2, #0x12
- blx FUN_020CE1FC
+ blx MIi_CpuClear32
mov r1, #0x66
mov r2, #0x2
mov r0, #0x0
lsl r1, r1, #0x14
lsl r2, r2, #0x10
- blx FUN_020CE1FC
+ blx MIi_CpuClear32
ldr r6, _0206DC2C ; =0x020F8328
add r3, sp, #0x2c
add r2, r3, #0x0
@@ -233839,22 +233839,22 @@ _0206EB9C: .word 0x00000774
thumb_func_start FUN_0206EBA0
FUN_0206EBA0: ; 0x0206EBA0
- ldr r3, _0206EBAC ; =FUN_020CE1C8
+ ldr r3, _0206EBAC ; =MIi_CpuClear16
add r1, r0, #0x0
mov r0, #0x0
ldr r2, _0206EBB0 ; =0x00000774
bx r3
nop
-_0206EBAC: .word FUN_020CE1C8
+_0206EBAC: .word MIi_CpuClear16
_0206EBB0: .word 0x00000774
thumb_func_start FUN_0206EBB4
FUN_0206EBB4: ; 0x0206EBB4
- ldr r3, _0206EBBC ; =FUN_020CE3E0
+ ldr r3, _0206EBBC ; =MI_CpuCopy8
ldr r2, _0206EBC0 ; =0x00000774
bx r3
nop
-_0206EBBC: .word FUN_020CE3E0
+_0206EBBC: .word MI_CpuCopy8
_0206EBC0: .word 0x00000774
thumb_func_start FUN_0206EBC4
@@ -234679,7 +234679,7 @@ FUN_0206F164: ; 0x0206F164
mov r0, #0x0
add r1, r4, #0x0
mov r2, #0x24
- blx FUN_020CE1C8
+ blx MIi_CpuClear16
add r0, r4, #0x0
pop {r4, pc}
@@ -234975,7 +234975,7 @@ _0206F34A:
mov r0, #0x36
bl FUN_02211E60
mov r0, #0x0
- blx FUN_020CD3B4
+ blx OS_ResetSystem
b _0206F380
_0206F366:
ldr r0, [r4, #0x0]
@@ -235006,14 +235006,14 @@ FUN_0206F38C: ; 0x0206F38C
mov r1, #0x0
mov r2, #0x10
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r0, #0xb
mov r1, #0xc
bl FUN_020169D8
mov r1, #0x0
mov r2, #0xc
str r0, [r4, #0x0]
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, r4, #0x0
pop {r4, pc}
.balign 4
@@ -251798,7 +251798,7 @@ _02077D88:
mov r0, #0x1
add r1, #0xd8
mov r2, #0x40
- blx FUN_020CE1C8
+ blx MIi_CpuClear16
ldr r0, [r4, #0x0]
cmp r0, #0x1
bne _02077DCE
@@ -252365,7 +252365,7 @@ _0207818C:
mov r1, #0x2
ldr r0, [r5, r0]
lsl r1, r1, #0x8
- blx FUN_020CC15C
+ blx DC_FlushRange
bl FUN_0206B888
add r1, r0, #0x0
mov r0, #0x13
@@ -252378,7 +252378,7 @@ _0207818C:
add r0, r1, #0x4
ldr r0, [r5, r0]
mov r1, #0x80
- blx FUN_020CC15C
+ blx DC_FlushRange
_02078272:
mov r3, #0x1
str r3, [sp, #0x0]
@@ -254046,7 +254046,7 @@ FUN_02078FA0: ; 0x02078FA0
bl FUN_02078F7C
mov r1, #0x2
lsl r1, r1, #0xa
- blx FUN_020CC15C
+ blx DC_FlushRange
add r7, r6, #0x0
mov r4, #0x0
add r7, #0x30
@@ -254062,7 +254062,7 @@ _02078FD0:
mov r1, #0x1
add r0, r5, #0x0
lsl r1, r1, #0x8
- blx FUN_020CC15C
+ blx DC_FlushRange
ldr r1, _02079070 ; =0x020F9D28
mov r2, #0x1
ldrb r1, [r1, r4]
@@ -254102,7 +254102,7 @@ _02079012:
bl FUN_02078F7C
mov r1, #0x80
add r7, r0, #0x0
- blx FUN_020CC15C
+ blx DC_FlushRange
ldr r1, _02079078 ; =0x020F9D40
lsl r2, r5, #0x2
ldr r1, [r1, r2]
@@ -269399,7 +269399,7 @@ FUN_02080C38: ; 0x02080C38
mov r1, #0x0
mov r2, #0x8
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r1, _02080C5C ; =FUN_02080C60
add r0, r5, #0x0
add r2, r4, #0x0
@@ -269623,7 +269623,7 @@ FUN_02080E0C: ; 0x02080E0C
mov r1, #0x0
mov r2, #0x8
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, _02080E50 ; =0x00000121
str r6, [r4, #0x0]
ldrb r0, [r6, r0]
@@ -270124,7 +270124,7 @@ FUN_020811D8: ; 0x020811D8
ldr r2, _02081204 ; =0x000019C4
mov r1, #0x0
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, _02081208 ; =0x00000123
mov r1, #0x0
strb r1, [r4, r0]
@@ -270639,7 +270639,7 @@ FUN_020815D0: ; 0x020815D0
mov r1, #0x0
mov r2, #0x28
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, _02081658 ; =0x00000123
ldrb r1, [r5, r0]
lsl r1, r1, #0x2
@@ -271255,7 +271255,7 @@ _02081A8A:
ldr r1, _02081D30 ; =0x00000585
ldr r0, [r4, r0]
add r1, r4, r1
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
mov r0, #0xc
bl FUN_02031588
ldr r0, _02081D2C ; =0x00000584
@@ -272614,7 +272614,7 @@ _02082456:
mov r1, #0x0
mov r2, #0x10
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, r6, #0x0
bl FUN_020832E4
strb r0, [r4, #0xc]
@@ -274786,7 +274786,7 @@ _02083474:
add r0, sp, #0x0
add r1, r4, #0x0
mov r2, #0xc
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r1, #0x2
add r0, sp, #0x0
strb r1, [r0, #0x0]
@@ -274939,7 +274939,7 @@ _02083578:
add r1, r2, r1
ldr r0, [sp, #0x0]
add r2, r6, #0x0
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
mov r0, #0x1
strb r0, [r7, r5]
pop {r3-r7, pc}
@@ -274974,7 +274974,7 @@ FUN_020835B0: ; 0x020835B0
lsl r1, r6, #0x8
add r1, r2, r1
add r2, r5, #0x0
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
ldr r2, _02083628 ; =0x00000584
ldrb r0, [r4, r2]
add r0, r0, #0x1
@@ -275096,7 +275096,7 @@ FUN_02083694: ; 0x02083694
add r0, r5, #0x0
lsl r1, r1, #0x2
ldr r1, [r4, r1]
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
ldr r0, _020836B8 ; =0x00000584
ldrb r1, [r4, r0]
add r1, r1, #0x1
@@ -275119,7 +275119,7 @@ FUN_020836BC: ; 0x020836BC
add r0, r7, #0x0
add r1, r5, #0x0
add r2, r4, #0x0
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
mov r0, #0x1b
add r1, r5, #0x0
add r2, r4, #0x1
@@ -275153,7 +275153,7 @@ _02083710:
ldr r1, [r4, #0x0]
add r0, r0, r5
add r2, r6, #0x0
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
add r7, r7, #0x1
add r4, r4, #0x4
add r5, r5, r6
@@ -275190,7 +275190,7 @@ _02083758:
ldr r0, [r5, #0x0]
add r1, r1, r4
add r2, r6, #0x0
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
add r7, r7, #0x1
add r4, r4, r6
add r5, r5, #0x4
@@ -275225,7 +275225,7 @@ FUN_0208378C: ; 0x0208378C
add r5, #0x10
mul r3, r2
add r1, r5, r3
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
ldr r0, _020837B0 ; =0x00000584
ldrb r1, [r4, r0]
add r1, r1, #0x1
@@ -275246,7 +275246,7 @@ FUN_020837B4: ; 0x020837B4
add r0, r6, #0x0
add r1, r4, #0x0
mov r2, #0x30
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
add r0, r4, #0x0
add r0, #0x30
strb r5, [r0, #0x0]
@@ -275281,7 +275281,7 @@ _02083802:
add r0, r6, r0
add r1, r5, #0x0
add r2, r7, #0x0
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
add r4, r4, #0x1
add r5, #0x8
cmp r4, #0x3
@@ -275316,7 +275316,7 @@ _02083848:
add r0, r5, #0x0
add r1, r6, r1
add r2, r7, #0x0
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
add r4, r4, #0x1
add r5, #0x8
cmp r4, #0x3
@@ -275381,7 +275381,7 @@ FUN_020838B4: ; 0x020838B4
add r0, sp, #0x0
add r1, r4, #0x4
mov r2, #0x10
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
strb r5, [r4, #0x0]
mov r0, #0x10
strb r0, [r4, #0x1]
@@ -275418,7 +275418,7 @@ FUN_02083904: ; 0x02083904
add r1, r4, r1
add r1, #0xf8
ldr r1, [r1, #0x0]
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
ldr r0, _0208392C ; =0x00000584
ldrb r1, [r4, r0]
add r1, r1, #0x1
@@ -275441,7 +275441,7 @@ FUN_02083930: ; 0x02083930
add r0, r7, #0x0
add r1, r5, #0x0
add r2, r4, #0x0
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
mov r0, #0x20
add r1, r5, #0x0
add r2, r4, #0x1
@@ -275484,7 +275484,7 @@ _02083992:
ldr r1, [r1, #0x0]
add r0, r0, r5
add r2, r6, #0x0
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
add r7, r7, #0x1
add r4, r4, #0x4
add r5, r5, r6
@@ -275527,7 +275527,7 @@ _020839E8:
ldr r0, [r5, #0x0]
add r1, r1, r4
add r2, r6, #0x0
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
add r7, r7, #0x1
add r4, r4, r6
add r5, r5, #0x4
@@ -275557,7 +275557,7 @@ FUN_02083A1C: ; 0x02083A1C
add r0, r2, #0x0
add r1, r3, r1
add r2, r4, #0x0
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
pop {r4, pc}
nop
_02083A30: .word 0x000019A0
@@ -275645,7 +275645,7 @@ FUN_02083AA8: ; 0x02083AA8
mov r1, #0x57
lsl r1, r1, #0x2
ldr r1, [r3, r1]
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
ldr r0, _02083AD0 ; =0x00000584
ldrb r1, [r4, r0]
add r1, r1, #0x1
@@ -275669,7 +275669,7 @@ FUN_02083AD4: ; 0x02083AD4
add r0, r6, #0x0
add r1, r4, #0x0
add r2, r5, #0x0
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
_02083AF4:
mov r0, #0x24
add r1, r4, #0x0
@@ -275728,7 +275728,7 @@ FUN_02083B48: ; 0x02083B48
add r0, r6, #0x0
add r1, r4, #0x0
mov r2, #0x6
- blx FUN_020CE3E0
+ blx MI_CpuCopy8
mov r0, #0x25
add r1, r4, #0x0
mov r2, #0x7
@@ -275964,7 +275964,7 @@ FUN_02083CD8: ; 0x02083CD8
add r0, r6, #0x0
add r1, r3, r1
sub r2, r2, #0x4
- blx FUN_020CE28C
+ blx MIi_CpuCopyFast
mov r0, #0x4
str r0, [r4, #0x54]
mov r0, #0x0
@@ -276054,14 +276054,14 @@ FUN_02083D5C: ; 0x02083D5C
mov r2, #0x19
add r0, r5, #0x0
lsl r2, r2, #0x4
- blx FUN_020CE28C
+ blx MIi_CpuCopyFast
b _02083D9C
_02083D90:
add r2, r4, r2
add r1, r2, r1
add r0, r5, #0x0
sub r2, r3, #0x4
- blx FUN_020CE28C
+ blx MIi_CpuCopyFast
_02083D9C:
mov r1, #0xb5
ldr r0, _02083DE8 ; =0x000043D0
@@ -276070,7 +276070,7 @@ _02083D9C:
ldr r1, [r4, r1]
add r0, r4, r0
lsl r2, r2, #0x6
- blx FUN_020CE28C
+ blx MIi_CpuCopyFast
mov r0, #0xb2
lsl r0, r0, #0x2
add r0, r4, r0
@@ -276171,7 +276171,7 @@ FUN_02083E4C: ; 0x02083E4C
mov r0, #0x0
add r1, r4, r1
lsl r2, r2, #0x6
- blx FUN_020CE240
+ blx MIi_CpuClearFast
bl FUN_02031190
cmp r0, #0x0
bne _02083E8A
@@ -276426,7 +276426,7 @@ FUN_0208402C: ; 0x0208402C
add r0, r1, r0
ldr r1, _02084078 ; =0x00007C10
add r1, r5, r1
- blx FUN_020CE28C
+ blx MIi_CpuCopyFast
ldr r0, _02084078 ; =0x00007C10
mov r2, #0x0
add r1, r2, #0x0
@@ -279176,7 +279176,7 @@ FUN_020854E0: ; 0x020854E0
mov r1, #0x0
mov r2, #0x1c
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, [sp, #0x0]
strb r0, [r4, #0xf]
ldr r0, [sp, #0x4]
@@ -279214,7 +279214,7 @@ FUN_02085538: ; 0x02085538
mov r1, #0x0
mov r2, #0x1c
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r0, #0x0
strh r0, [r4, #0x0]
str r5, [r4, #0x8]
@@ -279244,7 +279244,7 @@ FUN_02085578: ; 0x02085578
mov r1, #0x0
mov r2, #0x1c
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r0, #0x0
strh r0, [r4, #0x0]
str r5, [r4, #0x10]
@@ -279271,7 +279271,7 @@ FUN_020855B0: ; 0x020855B0
mov r1, #0x0
mov r2, #0x1c
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r0, #0x0
strh r0, [r4, #0x0]
add r0, r7, #0x0
@@ -279431,7 +279431,7 @@ FUN_020856F0: ; 0x020856F0
mov r1, #0x0
mov r2, #0x34
add r6, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r0, #0x0
strh r0, [r6, #0x0]
add r0, r4, #0x0
@@ -279569,7 +279569,7 @@ FUN_020857F8: ; 0x020857F8
mov r1, #0x0
mov r2, #0x1c
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r1, #0x28
str r1, [r4, #0x0]
ldr r0, [r5, #0x14]
@@ -281160,25 +281160,25 @@ _0208655C:
mov r0, #0x0
lsl r1, r1, #0x18
lsl r2, r2, #0x12
- blx FUN_020CE1FC
+ blx MIi_CpuClear32
mov r1, #0x62
mov r2, #0x2
mov r0, #0x0
lsl r1, r1, #0x14
lsl r2, r2, #0x10
- blx FUN_020CE1FC
+ blx MIi_CpuClear32
mov r1, #0x19
mov r2, #0x1
mov r0, #0x0
lsl r1, r1, #0x16
lsl r2, r2, #0x12
- blx FUN_020CE1FC
+ blx MIi_CpuClear32
mov r1, #0x66
mov r2, #0x2
mov r0, #0x0
lsl r1, r1, #0x14
lsl r2, r2, #0x10
- blx FUN_020CE1FC
+ blx MIi_CpuClear32
ldr r5, _02086654 ; =0x020FCE24
add r3, sp, #0x1c
add r2, r3, #0x0
@@ -284144,7 +284144,7 @@ FUN_02087D00: ; 0x02087D00
mov r1, #0x0
lsl r2, r2, #0x2
add r7, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, r4, #0x0
bl FUN_02028048
str r0, [r7, #0x8]
@@ -284303,7 +284303,7 @@ FUN_02087E40: ; 0x02087E40
mov r1, #0x0
mov r2, #0x18
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r0, #0x2c
str r0, [r4, #0x0]
str r5, [r4, #0xc]
@@ -284469,7 +284469,7 @@ _02087F86:
mov r1, #0x0
mov r2, #0x40
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r0, [r5, #0xc]
mov r1, #0x0
ldr r0, [r0, #0x10]
@@ -284610,7 +284610,7 @@ FUN_020880A0: ; 0x020880A0
mov r1, #0x0
mov r2, #0xc
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r1, [r5, #0xc]
ldrb r0, [r1, #0x1]
lsl r0, r0, #0x3
@@ -284924,7 +284924,7 @@ FUN_02088320: ; 0x02088320
mov r1, #0x0
lsl r2, r2, #0x2
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
str r6, [r4, #0x0]
cmp r5, #0x10
bls _0208834A
@@ -284953,7 +284953,7 @@ FUN_02088360: ; 0x02088360
add r0, r4, #0x0
mov r1, #0x0
lsl r2, r2, #0x2
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, r4, #0x0
bl FUN_02016A18
pop {r4, pc}
@@ -285048,7 +285048,7 @@ _02088402:
ldr r0, [r0, r2]
mov r1, #0x0
mov r2, #0x4
- blx FUN_020CE34C
+ blx MI_CpuFill8
add sp, #0xc
pop {r4-r7, pc}
.balign 4
@@ -285121,7 +285121,7 @@ _020884B4:
str r0, [sp, #0x38]
mov r1, #0x0
mov r2, #0x8
- blx FUN_020CE34C
+ blx MI_CpuFill8
ldr r1, [sp, #0x3c]
ldr r0, [sp, #0x38]
strh r1, [r0, #0x0]
@@ -285653,7 +285653,7 @@ FUN_02088898: ; 0x02088898
bl FUN_02088888
bl FUN_02088868
mov r0, #0x0
- blx FUN_020CD3B4
+ blx OS_ResetSystem
pop {r4, pc}
.balign 4
@@ -285693,7 +285693,7 @@ FUN_020888DC: ; 0x020888DC
mov r0, #0x31
bl FUN_020168D0
mov r0, #0x0
- blx FUN_020CD3B4
+ blx OS_ResetSystem
mov r0, #0x1
pop {r4, pc}
.balign 4
@@ -285710,7 +285710,7 @@ FUN_0208890C: ; 0x0208890C
add r4, r0, #0x0
mov r1, #0x0
mov r2, #0x20
- blx FUN_020CE34C
+ blx MI_CpuFill8
str r5, [r4, #0xc]
add r0, r5, #0x0
bl FUN_02028048
@@ -285799,7 +285799,7 @@ FUN_020889B0: ; 0x020889B0
mov r1, #0x0
mov r2, #0x24
add r4, r0, #0x0
- blx FUN_020CE34C
+ blx MI_CpuFill8
mov r0, #0x37
str r0, [r4, #0x0]
str r5, [r4, #0x10]
@@ -285899,7 +285899,7 @@ FUN_02088A78: ; 0x02088A78
add r0, r4, #0x0
mov r1, #0x0
mov r2, #0x24
- blx FUN_020CE34C
+ blx MI_CpuFill8
add r0, r5, #0x0
bl FUN_0200627C
add r0, r6, #0x0
@@ -287208,7 +287208,7 @@ FUN_020893F0: ; 0x020893F0
bhs _0208940A
add r0, r1, #0x0
ldr r1, _02089410 ; =0x021C5C58
- blx FUN_020CE210
+ blx MIi_CpuCopy32
ldr r0, _02089414 ; =0x02106154
str r4, [r0, #0x0]
pop {r4, pc}
@@ -287231,7 +287231,7 @@ FUN_02089418: ; 0x02089418
cmp r0, r3
bne _02089438
ldr r0, _02089440 ; =0x021C5C58
- blx FUN_020CE210
+ blx MIi_CpuCopy32
mov r0, #0x1
pop {r3, pc}
_02089434:
@@ -287253,7 +287253,7 @@ FUN_02089444: ; 0x02089444
bhs _0208945E
add r0, r1, #0x0
ldr r1, _02089464 ; =0x021C5C58
- blx FUN_020CE28C
+ blx MIi_CpuCopyFast
ldr r0, _02089468 ; =0x02106154
str r4, [r0, #0x0]
pop {r4, pc}
@@ -287276,7 +287276,7 @@ FUN_0208946C: ; 0x0208946C
cmp r0, r3
bne _0208948C
ldr r0, _02089494 ; =0x021C5C58
- blx FUN_020CE28C
+ blx MIi_CpuCopyFast
mov r0, #0x1
pop {r3, pc}
_02089488:
@@ -287453,7 +287453,7 @@ FUN_020895F0: ; 0x020895F0
add r0, r4, #0x0
bl FUN_020168D0
mov r0, #0x0
- blx FUN_020CD3B4
+ blx OS_ResetSystem
mov r0, #0x1
pop {r3-r5, pc}
@@ -289784,13 +289784,13 @@ FUN_0208A998: ; 0x0208A998
ldr r2, [r3, r1]
orr r0, r2
str r0, [r3, r1]
- ldr r3, _0208A9B4 ; =FUN_020CDA1C
+ ldr r3, _0208A9B4 ; =MI_WaitDma
mov r0, #0x3
bx r3
nop
_0208A9AC: .word 0x027E0000
_0208A9B0: .word 0x00003FF8
-_0208A9B4: .word FUN_020CDA1C
+_0208A9B4: .word MI_WaitDma
thumb_func_start FUN_0208A9B8
FUN_0208A9B8: ; 0x0208A9B8
@@ -289805,15 +289805,15 @@ _0208A9C6:
mov r1, #0x1
str r1, [r0, #0x0]
mov r0, #0x0
- blx FUN_020CC408
+ blx OS_GetInitArenaHi
add r1, r0, #0x0
mov r0, #0x0
- blx FUN_020CC308
+ blx OS_SetArenaHi
mov r0, #0x0
- blx FUN_020CC31C
+ blx OS_GetInitArenaLo
add r1, r0, #0x0
mov r0, #0x0
- blx FUN_020CC2F4
+ blx OS_SetArenaLo
mov r1, #0x1
ldr r0, _0208ABCC ; =0x020FF4A4
add r2, r1, #0x0
@@ -289826,12 +289826,12 @@ _0208A9C6:
mov r1, #0x0
bl FUN_0200E3A0
mov r0, #0x1
- blx FUN_020C9E14
+ blx OS_DisableIrqMask
ldr r1, _0208ABD0 ; =FUN_0208A998
mov r0, #0x1
- blx FUN_020C9FEC
+ blx OS_SetIrqFunction
mov r0, #0x1
- blx FUN_020C9E5C
+ blx OS_EnableIrqMask
mov r0, #0x0
add r1, r0, #0x0
bl FUN_02015F10
@@ -290008,7 +290008,7 @@ _0208AB9C:
ldr r0, [sp, #0x10]
bl FUN_02016A18
mov r0, #0x0
- blx FUN_020CD3B4
+ blx OS_ResetSystem
_0208ABC4:
add sp, #0x24
pop {r4-r7, pc}
diff --git a/global.inc b/global.inc
index 9fd18132..57c538eb 100644
--- a/global.inc
+++ b/global.inc
@@ -320,81 +320,81 @@
.extern FUN_020C94E8
.extern FUN_020C9550
.extern OS_WaitIrq
-.extern FUN_020C9E14
-.extern FUN_020C9E5C
-.extern FUN_020C9FEC
-.extern FUN_020CA0A0
-.extern FUN_020CA0F8
-.extern FUN_020CC124
-.extern FUN_020CC15C
-.extern FUN_020CC180
-.extern FUN_020CC1B4
-.extern FUN_020CC204
-.extern FUN_020CC26C
-.extern FUN_020CC2F4
-.extern FUN_020CC308
-.extern FUN_020CC31C
-.extern FUN_020CC408
-.extern FUN_020CCC1C
-.extern FUN_020CCD64
-.extern FUN_020CD310
-.extern FUN_020CD324
-.extern FUN_020CD374
-.extern FUN_020CD3B4
-.extern FUN_020CD510
-.extern FUN_020CD524
-.extern FUN_020CD5A0
-.extern FUN_020CD754
-.extern FUN_020CD850
-.extern FUN_020CD998
-.extern FUN_020CDA1C
-.extern FUN_020CDD90
-.extern FUN_020CDE04
-.extern FUN_020CE1C8
-.extern FUN_020CE1E0
-.extern FUN_020CE1FC
-.extern FUN_020CE210
-.extern FUN_020CE240
-.extern FUN_020CE28C
-.extern FUN_020CE2E0
-.extern FUN_020CE34C
-.extern FUN_020CE3E0
-.extern FUN_020CE528
-.extern FUN_020CF768
-.extern FUN_020D1148
-.extern FUN_020D17A0
-.extern FUN_020D180C
-.extern FUN_020D182C
-.extern FUN_020D18FC
-.extern FUN_020D1944
-.extern FUN_020D1C94
-.extern FUN_020D1CC4
-.extern FUN_020D1CD4
-.extern FUN_020D1D10
-.extern FUN_020D1D30
-.extern FUN_020D2040
-.extern FUN_020D2094
-.extern FUN_020D2210
-.extern FUN_020D23B4
-.extern FUN_020D2454
-.extern FUN_020D24EC
-.extern FUN_020D36C4
-.extern FUN_020D36D8
-.extern FUN_020D36F0
-.extern FUN_020D3A90
-.extern FUN_020D3AA0
-.extern FUN_020D3C14
-.extern FUN_020D3CB8
-.extern FUN_020D3DCC
-.extern FUN_020D3E24
-.extern FUN_020D3EC4
-.extern FUN_020D400C
-.extern FUN_020D40B8
-.extern FUN_020D4718
-.extern FUN_020D47CC
-.extern FUN_020D4980
-.extern FUN_020D4A5C
-.extern FUN_020D4E68
+.extern OS_DisableIrqMask
+.extern OS_EnableIrqMask
+.extern OS_SetIrqFunction
+.extern OS_GetLockID
+.extern OS_ReleaseLockID
+.extern DC_InvalidateRange
+.extern DC_FlushRange
+.extern DC_WaitWriteBufferEmpty
+.extern OS_Init
+.extern OS_AllocFromArenaHi
+.extern OS_AllocFromArenaLo
+.extern OS_SetArenaLo
+.extern OS_SetArenaHi
+.extern OS_GetInitArenaLo
+.extern OS_GetInitArenaHi
+.extern OS_GetTick
+.extern OS_InitTick
+.extern OS_DisableInterrupts
+.extern OS_RestoreInterrupts
+.extern OS_GetProcMode
+.extern OS_ResetSystem
+.extern OS_GetOwnerRtcOffset
+.extern OS_GetOwnerInfo
+.extern OS_GetMacAddress
+.extern OS_GetLowEntropyData
+.extern OS_Terminate
+.extern MI_StopDma
+.extern MI_WaitDma
+.extern MI_HBlankDmaCopy16
+.extern MI_HBlankDmaCopy32
+.extern MIi_CpuClear16
+.extern MIi_CpuCopy16
+.extern MIi_CpuClear32
+.extern MIi_CpuCopy32
+.extern MIi_CpuClearFast
+.extern MIi_CpuCopyFast
+.extern MI_Copy36B
+.extern MI_CpuFill8
+.extern MI_CpuCopy8
+.extern MI_UncompressLZ8
+.extern SND_GetWaveDataAddress
+.extern FS_FindArchive
+.extern FS_SeekFile
+.extern FS_ReadFile
+.extern FS_WaitAsync
+.extern FS_CloseFile
+.extern FS_OpenFile
+.extern FS_InitFile
+.extern FS_IsAvailable
+.extern FS_Init
+.extern FS_TryLoadTable
+.extern FS_SetDefaultDMA
+.extern FS_UnloadOverlay
+.extern FS_LoadOverlay
+.extern FS_StartOverlay
+.extern FS_LoadOverlayImage
+.extern FS_LoadOverlayImageAsync
+.extern FS_LoadOverlayInfo
+.extern TP_CheckError
+.extern TP_WaitBusy
+.extern TP_GetCalibratedPoint
+.extern TP_GetLatestIndexInAuto
+.extern TP_GetLatestRawPointInAuto
+.extern TP_RequestAutoSamplingStopAsync
+.extern TP_RequestAutoSamplingStartAsync
+.extern TP_WaitRawResult
+.extern TP_RequestSamplingAsync
+.extern TP_SetCalibrateParam
+.extern TP_GetUserInfo
+.extern TP_Init
+.extern MIC_StopAutoSampling
+.extern MIC_StartAutoSampling
+.extern MIC_DoSamplingAsync
+.extern MIC_Init
+.extern PM_GoSleepMode
.extern PM_GetBackLight
.extern FUN_020D5150
.extern FUN_020D5168
@@ -414,7 +414,7 @@
.extern FUN_020D6DC4
.extern FUN_020D6F20
.extern CARD_Init
-.extern FUN_020D7D18
+.extern CARD_IsPulledOut
.extern FUN_020D7E9C
.extern FUN_020D8A4C
.extern FUN_020D8AF0
diff --git a/undefined_syms.txt b/undefined_syms.txt
index 607dc0f6..6b24590a 100644
--- a/undefined_syms.txt
+++ b/undefined_syms.txt
@@ -17,18 +17,15 @@ FUN_0201259C = 0x0201259C;
FUN_020125D4 = 0x020125D4;
FUN_02015E30 = 0x02015E30;
FUN_02015E60 = 0x02015E60;
-InitGraphicMemory = 0x02016148;
FUN_020163BC = 0x020163BC;
FUN_02016438 = 0x02016438;
FUN_02016464 = 0x02016464;
FUN_0201B5CC = 0x0201B5CC;
FUN_02020AFC = 0x02020AFC;
-ErrorHandling = 0x02020C2C;
FUN_02022294 = 0x02022294;
FUN_020222C4 = 0x020222C4;
FUN_0202254C = 0x0202254C;
FUN_020227FC = 0x020227FC;
-LoadPlayerDataAddress = 0x02023900;
FUN_02029EF8 = 0x02029EF8;
FUN_0202FB80 = 0x0202FB80;
FUN_020337E8 = 0x020337E8;
@@ -318,83 +315,6 @@ FUN_020C9418 = 0x020C9418;
FUN_020C9480 = 0x020C9480;
FUN_020C94E8 = 0x020C94E8;
FUN_020C9550 = 0x020C9550;
-OS_WaitIrq = 0x020C9C0C;
-FUN_020C9E14 = 0x020C9E14;
-FUN_020C9E5C = 0x020C9E5C;
-FUN_020C9FEC = 0x020C9FEC;
-FUN_020CA0A0 = 0x020CA0A0;
-FUN_020CA0F8 = 0x020CA0F8;
-FUN_020CC124 = 0x020CC124;
-FUN_020CC15C = 0x020CC15C;
-FUN_020CC180 = 0x020CC180;
-FUN_020CC1B4 = 0x020CC1B4;
-FUN_020CC204 = 0x020CC204;
-FUN_020CC26C = 0x020CC26C;
-FUN_020CC2F4 = 0x020CC2F4;
-FUN_020CC308 = 0x020CC308;
-FUN_020CC31C = 0x020CC31C;
-FUN_020CC408 = 0x020CC408;
-FUN_020CCC1C = 0x020CCC1C;
-FUN_020CCD64 = 0x020CCD64;
-FUN_020CD310 = 0x020CD310;
-FUN_020CD324 = 0x020CD324;
-FUN_020CD374 = 0x020CD374;
-FUN_020CD3B4 = 0x020CD3B4;
-FUN_020CD510 = 0x020CD510;
-FUN_020CD524 = 0x020CD524;
-FUN_020CD5A0 = 0x020CD5A0;
-FUN_020CD754 = 0x020CD754;
-FUN_020CD850 = 0x020CD850;
-FUN_020CD998 = 0x020CD998;
-FUN_020CDA1C = 0x020CDA1C;
-FUN_020CDD90 = 0x020CDD90;
-FUN_020CDE04 = 0x020CDE04;
-FUN_020CE1C8 = 0x020CE1C8;
-FUN_020CE1E0 = 0x020CE1E0;
-FUN_020CE1FC = 0x020CE1FC;
-FUN_020CE210 = 0x020CE210;
-FUN_020CE240 = 0x020CE240;
-FUN_020CE28C = 0x020CE28C;
-FUN_020CE2E0 = 0x020CE2E0;
-FUN_020CE34C = 0x020CE34C;
-FUN_020CE3E0 = 0x020CE3E0;
-FUN_020CE528 = 0x020CE528;
-FUN_020CF768 = 0x020CF768;
-FUN_020D1148 = 0x020D1148;
-FUN_020D17A0 = 0x020D17A0;
-FUN_020D180C = 0x020D180C;
-FUN_020D182C = 0x020D182C;
-FUN_020D18FC = 0x020D18FC;
-FUN_020D1944 = 0x020D1944;
-FUN_020D1C94 = 0x020D1C94;
-FUN_020D1CC4 = 0x020D1CC4;
-FUN_020D1CD4 = 0x020D1CD4;
-FUN_020D1D10 = 0x020D1D10;
-FUN_020D1D30 = 0x020D1D30;
-FUN_020D2040 = 0x020D2040;
-FUN_020D2094 = 0x020D2094;
-FUN_020D2210 = 0x020D2210;
-FUN_020D23B4 = 0x020D23B4;
-FUN_020D2454 = 0x020D2454;
-FUN_020D24EC = 0x020D24EC;
-FUN_020D36C4 = 0x020D36C4;
-FUN_020D36D8 = 0x020D36D8;
-FUN_020D36F0 = 0x020D36F0;
-FUN_020D3A90 = 0x020D3A90;
-FUN_020D3AA0 = 0x020D3AA0;
-FUN_020D3C14 = 0x020D3C14;
-FUN_020D3CB8 = 0x020D3CB8;
-FUN_020D3DCC = 0x020D3DCC;
-FUN_020D3E24 = 0x020D3E24;
-FUN_020D3EC4 = 0x020D3EC4;
-FUN_020D400C = 0x020D400C;
-FUN_020D40B8 = 0x020D40B8;
-FUN_020D4718 = 0x020D4718;
-FUN_020D47CC = 0x020D47CC;
-FUN_020D4980 = 0x020D4980;
-FUN_020D4A5C = 0x020D4A5C;
-FUN_020D4E68 = 0x020D4E68;
-PM_GetBackLight = 0x020D50D8;
FUN_020D5150 = 0x020D5150;
FUN_020D5168 = 0x020D5168;
FUN_020D5180 = 0x020D5180;
@@ -413,7 +333,7 @@ FUN_020D6DB8 = 0x020D6DB8;
FUN_020D6DC4 = 0x020D6DC4;
FUN_020D6F20 = 0x020D6F20;
CARD_Init = 0x020D7228;
-FUN_020D7D18 = 0x020D7D18;
+CARD_IsPulledOut = 0x020D7D18;
FUN_020D7E9C = 0x020D7E9C;
FUN_020D8A4C = 0x020D8A4C;
FUN_020D8AF0 = 0x020D8AF0;
@@ -902,10 +822,15 @@ FUN_0224F12C = 0x0224F12C;
FUN_02252534 = 0x02252534;
FUN_02252538 = 0x02252538;
FUN_022567E0 = 0x022567E0;
+FUN_01FF84A4 = 0x01FF84A4;
FUN_01FF84E4 = 0x01FF84E4;
+FUN_01FF8544 = 0x01FF8544;
FUN_01FF857C = 0x01FF857C;
FUN_01FF85F0 = 0x01FF85F0;
FUN_020005F2 = 0x020005F2;
+PMi_WaitBusy = 0x020D5884;
+CTRDG_IsExisting = 0x020DB68C;
+PMi_SendSleepStart = 0x020D55C0;
MIi_UncompressBackward = 0x02000950;
OS_SpinWait = 0x020CD380;
PMi_SetLED = 0x020D5338;