From 67c2a697e2a2f1348be864102bd72bd00f8d8b67 Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Mon, 20 Apr 2020 18:58:52 -0400 Subject: split filesystem.s --- asm/filesystem.s | 648 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 648 insertions(+) create mode 100644 asm/filesystem.s (limited to 'asm/filesystem.s') diff --git a/asm/filesystem.s b/asm/filesystem.s new file mode 100644 index 00000000..b50f31c6 --- /dev/null +++ b/asm/filesystem.s @@ -0,0 +1,648 @@ + .include "asm/macros.inc" + .include "global.inc" + + .text + + thumb_func_start ReadNARCFile +ReadNARCFile: ; 0x02006314 + push {r3-r7, lr} + sub sp, #0x60 + add r4, r1, #0x0 + mov r1, #0x0 + str r0, [sp, #0x0] + str r1, [sp, #0x14] + str r1, [sp, #0x10] + str r1, [sp, #0xc] + add r0, sp, #0x8 + strh r1, [r0, #0x0] + add r0, sp, #0x18 + add r5, r2, #0x0 + str r3, [sp, #0x4] + blx FS_InitFile + add r0, sp, #0x18 + add r1, r4, #0x0 + blx FS_OpenFile + add r0, sp, #0x18 + mov r1, #0xc + mov r2, #0x0 + blx FS_SeekFile + add r0, sp, #0x18 + add r1, sp, #0x14 + mov r2, #0x2 + blx FS_ReadFile + ldr r4, [sp, #0x14] + add r0, sp, #0x18 + add r1, r4, #0x4 + mov r2, #0x0 + blx FS_SeekFile + add r0, sp, #0x18 + add r1, sp, #0x14 + mov r2, #0x4 + blx FS_ReadFile + add r0, sp, #0x18 + add r1, sp, #0x8 + mov r2, #0x2 + blx FS_ReadFile + add r0, sp, #0x8 + ldrh r0, [r0, #0x0] + cmp r0, r5 + bgt _0200637A + bl ErrorHandling +_0200637A: + ldr r0, [sp, #0x14] + mov r2, #0x0 + add r6, r4, r0 + add r0, sp, #0x18 + add r1, r6, #0x4 + blx FS_SeekFile + add r0, sp, #0x18 + add r1, sp, #0x14 + mov r2, #0x4 + 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 FS_SeekFile + add r0, sp, #0x18 + add r1, sp, #0x10 + mov r2, #0x4 + blx FS_ReadFile + add r0, sp, #0x18 + add r1, sp, #0xc + mov r2, #0x4 + blx FS_ReadFile + add r2, r6, r7 + ldr r1, [sp, #0x10] + add r2, #0x8 + add r2, r2, r1 + ldr r1, [sp, #0x4] + add r0, sp, #0x18 + add r1, r1, r2 + mov r2, #0x0 + blx FS_SeekFile + ldr r0, [sp, #0x78] + cmp r0, #0x0 + bne _020063D6 + ldr r1, [sp, #0xc] + ldr r0, [sp, #0x10] + sub r0, r1, r0 +_020063D6: + str r0, [sp, #0x14] + cmp r0, #0x0 + bne _020063E0 + bl ErrorHandling +_020063E0: + ldr r1, [sp, #0x0] + ldr r2, [sp, #0x14] + add r0, sp, #0x18 + blx FS_ReadFile + add r0, sp, #0x18 + blx FS_CloseFile + add sp, #0x60 + pop {r3-r7, pc} + + thumb_func_start FUN_020063F4 +FUN_020063F4: ; 0x020063F4 + push {r3-r7, lr} + sub sp, #0x60 + add r5, r1, #0x0 + mov r1, #0x0 + add r4, r0, #0x0 + str r1, [sp, #0x14] + str r1, [sp, #0x10] + str r1, [sp, #0xc] + add r0, sp, #0x8 + strh r1, [r0, #0x0] + add r0, sp, #0x18 + str r2, [sp, #0x0] + str r3, [sp, #0x4] + blx FS_InitFile + add r0, sp, #0x18 + add r1, r4, #0x0 + blx FS_OpenFile + add r0, sp, #0x18 + mov r1, #0xc + mov r2, #0x0 + blx FS_SeekFile + add r0, sp, #0x18 + add r1, sp, #0x14 + mov r2, #0x2 + blx FS_ReadFile + ldr r4, [sp, #0x14] + add r0, sp, #0x18 + add r1, r4, #0x4 + mov r2, #0x0 + blx FS_SeekFile + add r0, sp, #0x18 + add r1, sp, #0x14 + mov r2, #0x4 + blx FS_ReadFile + add r0, sp, #0x18 + add r1, sp, #0x8 + mov r2, #0x2 + blx FS_ReadFile + add r0, sp, #0x8 + ldrh r0, [r0, #0x0] + cmp r0, r5 + bgt _0200645A + bl ErrorHandling +_0200645A: + ldr r0, [sp, #0x14] + mov r2, #0x0 + add r6, r4, r0 + add r0, sp, #0x18 + add r1, r6, #0x4 + blx FS_SeekFile + add r0, sp, #0x18 + add r1, sp, #0x14 + mov r2, #0x4 + 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 FS_SeekFile + add r0, sp, #0x18 + add r1, sp, #0x10 + mov r2, #0x4 + blx FS_ReadFile + add r0, sp, #0x18 + add r1, sp, #0xc + mov r2, #0x4 + blx FS_ReadFile + add r2, r6, r7 + ldr r1, [sp, #0x10] + add r2, #0x8 + add r2, r2, r1 + ldr r1, [sp, #0x4] + add r0, sp, #0x18 + add r1, r1, r2 + mov r2, #0x0 + blx FS_SeekFile + ldr r0, [sp, #0x78] + cmp r0, #0x0 + bne _020064B6 + ldr r1, [sp, #0xc] + ldr r0, [sp, #0x10] + sub r0, r1, r0 +_020064B6: + str r0, [sp, #0x14] + cmp r0, #0x0 + bne _020064C0 + bl ErrorHandling +_020064C0: + ldr r0, [sp, #0x7c] + cmp r0, #0x0 + bne _020064D0 + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x14] + bl FUN_02016998 + b _020064D8 +_020064D0: + ldr r0, [sp, #0x0] + ldr r1, [sp, #0x14] + bl FUN_020169D8 +_020064D8: + add r4, r0, #0x0 + ldr r2, [sp, #0x14] + add r0, sp, #0x18 + add r1, r4, #0x0 + blx FS_ReadFile + add r0, sp, #0x18 + blx FS_CloseFile + add r0, r4, #0x0 + add sp, #0x60 + pop {r3-r7, pc} + + thumb_func_start FUN_020064F0 +FUN_020064F0: ; 0x020064F0 + push {r3-r4, lr} + sub sp, #0x4 + mov r3, #0x0 + lsl r4, r1, #0x2 + ldr r1, _02006508 ; =0x021058A0 + str r3, [sp, #0x0] + ldr r1, [r1, r4] + bl ReadNARCFile + add sp, #0x4 + pop {r3-r4, pc} + nop +_02006508: .word 0x021058A0 + + thumb_func_start FUN_0200650C +FUN_0200650C: ; 0x0200650C + push {r4, lr} + sub sp, #0x8 + mov r3, #0x0 + str r3, [sp, #0x0] + lsl r4, r0, #0x2 + ldr r0, _02006524 ; =0x021058A0 + str r3, [sp, #0x4] + ldr r0, [r0, r4] + bl FUN_020063F4 + add sp, #0x8 + pop {r4, pc} + .balign 4 +_02006524: .word 0x021058A0 + + thumb_func_start FUN_02006528 +FUN_02006528: ; 0x02006528 + push {r4, lr} + sub sp, #0x8 + mov r3, #0x0 + str r3, [sp, #0x0] + mov r4, #0x1 + str r4, [sp, #0x4] + lsl r4, r0, #0x2 + ldr r0, _02006544 ; =0x021058A0 + ldr r0, [r0, r4] + bl FUN_020063F4 + add sp, #0x8 + pop {r4, pc} + nop +_02006544: .word 0x021058A0 + + thumb_func_start FUN_02006548 +FUN_02006548: ; 0x02006548 + push {r3-r4, lr} + sub sp, #0x4 + ldr r4, [sp, #0x10] + str r4, [sp, #0x0] + lsl r4, r1, #0x2 + ldr r1, _02006560 ; =0x021058A0 + ldr r1, [r1, r4] + bl ReadNARCFile + add sp, #0x4 + pop {r3-r4, pc} + nop +_02006560: .word 0x021058A0 + + thumb_func_start FUN_02006564 +FUN_02006564: ; 0x02006564 + push {r4, lr} + sub sp, #0x8 + ldr r4, [sp, #0x10] + str r4, [sp, #0x0] + mov r4, #0x0 + str r4, [sp, #0x4] + lsl r4, r0, #0x2 + ldr r0, _02006580 ; =0x021058A0 + ldr r0, [r0, r4] + bl FUN_020063F4 + add sp, #0x8 + pop {r4, pc} + nop +_02006580: .word 0x021058A0 + + thumb_func_start FUN_02006584 +FUN_02006584: ; 0x02006584 + push {r4, lr} + sub sp, #0x8 + ldr r4, [sp, #0x10] + str r4, [sp, #0x0] + mov r4, #0x1 + str r4, [sp, #0x4] + lsl r4, r0, #0x2 + ldr r0, _020065A0 ; =0x021058A0 + ldr r0, [r0, r4] + bl FUN_020063F4 + add sp, #0x8 + pop {r4, pc} + nop +_020065A0: .word 0x021058A0 + + thumb_func_start FUN_020065A4 +FUN_020065A4: ; 0x020065A4 + push {r3-r7, lr} + sub sp, #0x58 + add r5, r1, #0x0 + mov r1, #0x0 + add r4, r0, #0x0 + str r1, [sp, #0xc] + str r1, [sp, #0x8] + str r1, [sp, #0x4] + add r0, sp, #0x0 + strh r1, [r0, #0x0] + add r0, sp, #0x10 + blx FS_InitFile + ldr r1, _0200666C ; =0x021058A0 + lsl r2, r4, #0x2 + ldr r1, [r1, r2] + add r0, sp, #0x10 + blx FS_OpenFile + add r0, sp, #0x10 + mov r1, #0xc + mov r2, #0x0 + blx FS_SeekFile + add r0, sp, #0x10 + add r1, sp, #0xc + mov r2, #0x2 + blx FS_ReadFile + ldr r4, [sp, #0xc] + add r0, sp, #0x10 + add r1, r4, #0x4 + mov r2, #0x0 + blx FS_SeekFile + add r0, sp, #0x10 + add r1, sp, #0xc + mov r2, #0x4 + blx FS_ReadFile + add r0, sp, #0x10 + add r1, sp, #0x0 + mov r2, #0x2 + blx FS_ReadFile + add r0, sp, #0x0 + ldrh r0, [r0, #0x0] + cmp r0, r5 + bgt _0200660A + bl ErrorHandling +_0200660A: + ldr r0, [sp, #0xc] + mov r2, #0x0 + add r6, r4, r0 + add r0, sp, #0x10 + add r1, r6, #0x4 + blx FS_SeekFile + add r0, sp, #0x10 + add r1, sp, #0xc + mov r2, #0x4 + 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 FS_SeekFile + add r0, sp, #0x10 + add r1, sp, #0x8 + mov r2, #0x4 + blx FS_ReadFile + add r0, sp, #0x10 + add r1, sp, #0x4 + mov r2, #0x4 + 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 FS_SeekFile + ldr r1, [sp, #0x4] + ldr r0, [sp, #0x8] + sub r0, r1, r0 + str r0, [sp, #0xc] + bne _02006664 + bl ErrorHandling +_02006664: + ldr r0, [sp, #0xc] + add sp, #0x58 + pop {r3-r7, pc} + nop +_0200666C: .word 0x021058A0 + + thumb_func_start FUN_02006670 +FUN_02006670: ; 0x02006670 + push {r3-r5, lr} + add r5, r0, #0x0 + add r0, r1, #0x0 + mov r1, #0x54 + bl FUN_02016998 + add r4, r0, #0x0 + beq _020066EC + mov r1, #0x0 + str r1, [r4, #0x48] + blx FS_InitFile + ldr r1, _020066F0 ; =0x021058A0 + lsl r2, r5, #0x2 + ldr r1, [r1, r2] + add r0, r4, #0x0 + blx FS_OpenFile + add r0, r4, #0x0 + mov r1, #0xc + mov r2, #0x0 + blx FS_SeekFile + add r1, r4, #0x0 + add r0, r4, #0x0 + add r1, #0x48 + mov r2, #0x2 + blx FS_ReadFile + ldr r1, [r4, #0x48] + add r0, r4, #0x0 + add r1, r1, #0x4 + mov r2, #0x0 + blx FS_SeekFile + add r0, r4, #0x0 + add r1, sp, #0x0 + mov r2, #0x4 + blx FS_ReadFile + add r1, r4, #0x0 + add r0, r4, #0x0 + add r1, #0x50 + mov r2, #0x2 + 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 FS_SeekFile + add r0, r4, #0x0 + add r1, sp, #0x0 + mov r2, #0x4 + blx FS_ReadFile + ldr r0, [sp, #0x0] + add r0, r5, r0 + str r0, [r4, #0x4c] +_020066EC: + add r0, r4, #0x0 + pop {r3-r5, pc} + .balign 4 +_020066F0: .word 0x021058A0 + + thumb_func_start FUN_020066F4 +FUN_020066F4: ; 0x020066F4 + push {r4, lr} + add r4, r0, #0x0 + blx FS_CloseFile + add r0, r4, #0x0 + bl FUN_02016A18 + pop {r4, pc} + + thumb_func_start FUN_02006704 +FUN_02006704: ; 0x02006704 + push {r4-r6, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r0, #0x50 + ldrh r0, [r0, #0x0] + add r4, r1, #0x0 + add r6, r2, #0x0 + cmp r0, r4 + bhi _0200671A + bl ErrorHandling +_0200671A: + ldr r2, [r5, #0x48] + lsl r1, r4, #0x3 + add r2, #0xc + add r1, r2, r1 + add r0, r5, #0x0 + mov r2, #0x0 + blx FS_SeekFile + add r0, r5, #0x0 + add r1, sp, #0x4 + mov r2, #0x4 + blx FS_ReadFile + add r0, r5, #0x0 + add r1, sp, #0x0 + mov r2, #0x4 + 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 FS_SeekFile + ldr r2, [sp, #0x0] + ldr r1, [sp, #0x4] + add r0, r6, #0x0 + sub r1, r2, r1 + bl FUN_02016998 + add r4, r0, #0x0 + beq _0200676C + ldr r3, [sp, #0x0] + ldr r2, [sp, #0x4] + add r0, r5, #0x0 + add r1, r4, #0x0 + sub r2, r3, r2 + blx FS_ReadFile +_0200676C: + add r0, r4, #0x0 + add sp, #0x8 + pop {r4-r6, pc} + .balign 4 + + thumb_func_start FUN_02006774 +FUN_02006774: ; 0x02006774 + push {r4-r6, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r0, #0x50 + ldrh r0, [r0, #0x0] + add r4, r1, #0x0 + add r6, r2, #0x0 + cmp r0, r4 + bhi _0200678A + bl ErrorHandling +_0200678A: + ldr r2, [r5, #0x48] + lsl r1, r4, #0x3 + add r2, #0xc + add r1, r2, r1 + add r0, r5, #0x0 + mov r2, #0x0 + blx FS_SeekFile + add r0, r5, #0x0 + add r1, sp, #0x4 + mov r2, #0x4 + blx FS_ReadFile + add r0, r5, #0x0 + add r1, sp, #0x0 + mov r2, #0x4 + 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 FS_SeekFile + ldr r3, [sp, #0x0] + ldr r2, [sp, #0x4] + add r0, r5, #0x0 + add r1, r6, #0x0 + sub r2, r3, r2 + blx FS_ReadFile + add sp, #0x8 + pop {r4-r6, pc} + + thumb_func_start FUN_020067D0 +FUN_020067D0: ; 0x020067D0 + push {r3-r5, lr} + sub sp, #0x8 + add r5, r0, #0x0 + add r0, #0x50 + ldrh r0, [r0, #0x0] + add r4, r1, #0x0 + cmp r0, r4 + bhi _020067E4 + bl ErrorHandling +_020067E4: + ldr r2, [r5, #0x48] + lsl r1, r4, #0x3 + add r2, #0xc + add r1, r2, r1 + add r0, r5, #0x0 + mov r2, #0x0 + blx FS_SeekFile + add r0, r5, #0x0 + add r1, sp, #0x4 + mov r2, #0x4 + blx FS_ReadFile + add r0, r5, #0x0 + add r1, sp, #0x0 + mov r2, #0x4 + blx FS_ReadFile + ldr r1, [sp, #0x0] + ldr r0, [sp, #0x4] + sub r0, r1, r0 + add sp, #0x8 + pop {r3-r5, pc} + .balign 4 + + thumb_func_start FUN_02006814 +FUN_02006814: ; 0x02006814 + push {r3-r7, lr} + add r5, r0, #0x0 + add r0, #0x50 + ldrh r0, [r0, #0x0] + add r4, r1, #0x0 + add r6, r2, #0x0 + add r7, r3, #0x0 + cmp r0, r4 + bhi _0200682A + bl ErrorHandling +_0200682A: + ldr r2, [r5, #0x48] + lsl r1, r4, #0x3 + add r2, #0xc + add r1, r2, r1 + add r0, r5, #0x0 + mov r2, #0x0 + blx FS_SeekFile + add r0, r5, #0x0 + add r1, sp, #0x0 + mov r2, #0x4 + blx FS_ReadFile + ldr r2, [r5, #0x4c] + ldr r1, [sp, #0x0] + add r2, #0x8 + add r1, r2, r1 + add r0, r5, #0x0 + add r1, r6, r1 + mov r2, #0x0 + blx FS_SeekFile + ldr r1, [sp, #0x18] + add r0, r5, #0x0 + add r2, r7, #0x0 + blx FS_ReadFile + pop {r3-r7, pc} + .balign 4 -- cgit v1.2.3 From 3b932b9f2e5cea7c93e02eb58319dd45084ec9d5 Mon Sep 17 00:00:00 2001 From: ProjectRevoTPP Date: Mon, 20 Apr 2020 19:05:55 -0400 Subject: update names --- asm/filesystem.s | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) (limited to 'asm/filesystem.s') diff --git a/asm/filesystem.s b/asm/filesystem.s index b50f31c6..75af021d 100644 --- a/asm/filesystem.s +++ b/asm/filesystem.s @@ -104,8 +104,8 @@ _020063E0: add sp, #0x60 pop {r3-r7, pc} - thumb_func_start FUN_020063F4 -FUN_020063F4: ; 0x020063F4 + thumb_func_start LoadFileIntoMemory +LoadFileIntoMemory: ; 0x020063F4 push {r3-r7, lr} sub sp, #0x60 add r5, r1, #0x0 @@ -219,8 +219,8 @@ _020064D8: add sp, #0x60 pop {r3-r7, pc} - thumb_func_start FUN_020064F0 -FUN_020064F0: ; 0x020064F0 + thumb_func_start LoadFromNARC +LoadFromNARC: ; 0x020064F0 push {r3-r4, lr} sub sp, #0x4 mov r3, #0x0 @@ -234,8 +234,8 @@ FUN_020064F0: ; 0x020064F0 nop _02006508: .word 0x021058A0 - thumb_func_start FUN_0200650C -FUN_0200650C: ; 0x0200650C + thumb_func_start LoadFromNarc_2 +LoadFromNarc_2: ; 0x0200650C push {r4, lr} sub sp, #0x8 mov r3, #0x0 @@ -244,7 +244,7 @@ FUN_0200650C: ; 0x0200650C ldr r0, _02006524 ; =0x021058A0 str r3, [sp, #0x4] ldr r0, [r0, r4] - bl FUN_020063F4 + bl LoadFileIntoMemory add sp, #0x8 pop {r4, pc} .balign 4 @@ -261,7 +261,7 @@ FUN_02006528: ; 0x02006528 lsl r4, r0, #0x2 ldr r0, _02006544 ; =0x021058A0 ldr r0, [r0, r4] - bl FUN_020063F4 + bl LoadFileIntoMemory add sp, #0x8 pop {r4, pc} nop @@ -293,7 +293,7 @@ FUN_02006564: ; 0x02006564 lsl r4, r0, #0x2 ldr r0, _02006580 ; =0x021058A0 ldr r0, [r0, r4] - bl FUN_020063F4 + bl LoadFileIntoMemory add sp, #0x8 pop {r4, pc} nop @@ -310,14 +310,14 @@ FUN_02006584: ; 0x02006584 lsl r4, r0, #0x2 ldr r0, _020065A0 ; =0x021058A0 ldr r0, [r0, r4] - bl FUN_020063F4 + bl LoadFileIntoMemory add sp, #0x8 pop {r4, pc} nop _020065A0: .word 0x021058A0 - thumb_func_start FUN_020065A4 -FUN_020065A4: ; 0x020065A4 + thumb_func_start LoadFromNARC_7 +LoadFromNARC_7: ; 0x020065A4 push {r3-r7, lr} sub sp, #0x58 add r5, r1, #0x0 -- cgit v1.2.3