diff options
-rw-r--r-- | asm/FUN_020C9C0C.s | 2973 | ||||
-rw-r--r-- | asm/arm9_thumb.s | 1284 | ||||
-rw-r--r-- | global.inc | 152 | ||||
-rw-r--r-- | undefined_syms.txt | 87 |
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} @@ -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; |