diff options
author | red031000 <rubenru09@aol.com> | 2020-07-16 18:15:47 +0100 |
---|---|---|
committer | red031000 <rubenru09@aol.com> | 2020-07-16 18:15:47 +0100 |
commit | 2c8ec8ebab514569452dab5e7e5be91ff864d855 (patch) | |
tree | 6339dff412d2506c48e78f55779b940f12d7063f | |
parent | a57042fd5f59a215737dc40b36688168cb359a4d (diff) |
mod05_021DB900
-rw-r--r-- | arm9/arm9.lsf | 1 | ||||
-rw-r--r-- | arm9/global.inc | 6 | ||||
-rw-r--r-- | arm9/modules/05/asm/mod05_021DB900.s | 137 | ||||
-rw-r--r-- | arm9/modules/05/asm/module_05.s | 133 |
4 files changed, 144 insertions, 133 deletions
diff --git a/arm9/arm9.lsf b/arm9/arm9.lsf index 789ad75c..057ba00c 100644 --- a/arm9/arm9.lsf +++ b/arm9/arm9.lsf @@ -523,6 +523,7 @@ Overlay MODULE_05 Object mod05_021D9A48.o Object mod05_021DA5B8.o Object mod05_021DB44C.o + Object mod05_021DB900.o Object module_05.o } diff --git a/arm9/global.inc b/arm9/global.inc index ab218923..3e45c867 100644 --- a/arm9/global.inc +++ b/arm9/global.inc @@ -6287,6 +6287,12 @@ .extern MOD05_021DB52C .extern MOD05_021DB53C .extern MOD05_021DB5EC +.extern MOD05_021DB900 +.extern MOD05_021DB918 +.extern MOD05_021DB9BC +.extern MOD05_021DB9D4 +.extern MOD05_021DB9E0 +.extern MOD05_021DB9F8 .extern MOD05_021DBA00 .extern MOD05_021DBA1C .extern MOD05_021DBA40 diff --git a/arm9/modules/05/asm/mod05_021DB900.s b/arm9/modules/05/asm/mod05_021DB900.s new file mode 100644 index 00000000..9edf9e7c --- /dev/null +++ b/arm9/modules/05/asm/mod05_021DB900.s @@ -0,0 +1,137 @@ + .include "asm/macros.inc" + .include "global.inc" + .section .text + .balign 4, 0 + + thumb_func_start MOD05_021DB900 +MOD05_021DB900: ; 0x021DB900 + push {r4, lr} + mov r0, #4 + mov r1, #8 + bl AllocFromHeap + add r4, r0, #0 + bne _021DB912 + bl ErrorHandling +_021DB912: + add r0, r4, #0 + pop {r4, pc} + .balign 4, 0 + + thumb_func_start MOD05_021DB918 +MOD05_021DB918: ; 0x021DB918 + push {r3, r4, r5, r6, lr} + sub sp, #0x4c + add r4, r0, #0 + add r0, sp, #4 + add r5, r1, #0 + bl FS_InitFile + add r0, sp, #4 + add r1, r4, #0 + bl FS_OpenFile + cmp r0, #0 + beq _021DB9B4 + add r1, sp, #0 + add r0, sp, #4 + add r1, #2 + mov r2, #2 + bl FS_ReadFile + cmp r0, #0 + bge _021DB946 + bl ErrorHandling +_021DB946: + add r0, sp, #4 + add r1, sp, #0 + mov r2, #2 + bl FS_ReadFile + cmp r0, #0 + bge _021DB958 + bl ErrorHandling +_021DB958: + add r0, sp, #0 + ldrh r1, [r0, #2] + ldrh r0, [r0] + lsl r6, r1, #2 + lsl r4, r0, #2 + mov r0, #4 + add r1, r6, #0 + bl AllocFromHeap + str r0, [r5] + cmp r0, #0 + bne _021DB974 + bl ErrorHandling +_021DB974: + mov r0, #4 + add r1, r4, #0 + bl AllocFromHeap + str r0, [r5, #4] + cmp r0, #0 + bne _021DB986 + bl ErrorHandling +_021DB986: + ldr r1, [r5] + add r0, sp, #4 + add r2, r6, #0 + bl FS_ReadFile + cmp r0, #0 + bge _021DB998 + bl ErrorHandling +_021DB998: + ldr r1, [r5, #4] + add r0, sp, #4 + add r2, r4, #0 + bl FS_ReadFile + cmp r0, #0 + bge _021DB9AA + bl ErrorHandling +_021DB9AA: + add r0, sp, #4 + bl FS_CloseFile + add sp, #0x4c + pop {r3, r4, r5, r6, pc} +_021DB9B4: + bl ErrorHandling + add sp, #0x4c + pop {r3, r4, r5, r6, pc} + + thumb_func_start MOD05_021DB9BC +MOD05_021DB9BC: ; 0x021DB9BC + push {r4, lr} + add r4, r0, #0 + ldr r0, [r4, #4] + bl FreeToHeap + ldr r0, [r4] + bl FreeToHeap + add r0, r4, #0 + bl FreeToHeap + pop {r4, pc} + + thumb_func_start MOD05_021DB9D4 +MOD05_021DB9D4: ; 0x021DB9D4 + ldr r1, [r1] + lsl r0, r0, #2 + ldrh r0, [r1, r0] + strh r0, [r2] + bx lr + .balign 4, 0 + + thumb_func_start MOD05_021DB9E0 +MOD05_021DB9E0: ; 0x021DB9E0 + push {r3, r4} + lsl r4, r0, #2 + ldr r0, [r1] + ldrh r0, [r0, r4] + strh r0, [r2] + ldr r0, [r1] + add r0, r0, r4 + ldrh r0, [r0, #2] + strh r0, [r3] + pop {r3, r4} + bx lr + .balign 4, 0 + + thumb_func_start MOD05_021DB9F8 +MOD05_021DB9F8: ; 0x021DB9F8 + ldr r1, [r1, #4] + lsl r0, r0, #2 + add r0, r1, r0 + bx lr diff --git a/arm9/modules/05/asm/module_05.s b/arm9/modules/05/asm/module_05.s index a6309956..9b8cf86a 100644 --- a/arm9/modules/05/asm/module_05.s +++ b/arm9/modules/05/asm/module_05.s @@ -3,139 +3,6 @@ .section .text .balign 4, 0 - thumb_func_start MOD05_021DB900 -MOD05_021DB900: ; 0x021DB900 - push {r4, lr} - mov r0, #4 - mov r1, #8 - bl AllocFromHeap - add r4, r0, #0 - bne _021DB912 - bl ErrorHandling -_021DB912: - add r0, r4, #0 - pop {r4, pc} - .balign 4, 0 - - thumb_func_start MOD05_021DB918 -MOD05_021DB918: ; 0x021DB918 - push {r3, r4, r5, r6, lr} - sub sp, #0x4c - add r4, r0, #0 - add r0, sp, #4 - add r5, r1, #0 - bl FS_InitFile - add r0, sp, #4 - add r1, r4, #0 - bl FS_OpenFile - cmp r0, #0 - beq _021DB9B4 - add r1, sp, #0 - add r0, sp, #4 - add r1, #2 - mov r2, #2 - bl FS_ReadFile - cmp r0, #0 - bge _021DB946 - bl ErrorHandling -_021DB946: - add r0, sp, #4 - add r1, sp, #0 - mov r2, #2 - bl FS_ReadFile - cmp r0, #0 - bge _021DB958 - bl ErrorHandling -_021DB958: - add r0, sp, #0 - ldrh r1, [r0, #2] - ldrh r0, [r0] - lsl r6, r1, #2 - lsl r4, r0, #2 - mov r0, #4 - add r1, r6, #0 - bl AllocFromHeap - str r0, [r5] - cmp r0, #0 - bne _021DB974 - bl ErrorHandling -_021DB974: - mov r0, #4 - add r1, r4, #0 - bl AllocFromHeap - str r0, [r5, #4] - cmp r0, #0 - bne _021DB986 - bl ErrorHandling -_021DB986: - ldr r1, [r5] - add r0, sp, #4 - add r2, r6, #0 - bl FS_ReadFile - cmp r0, #0 - bge _021DB998 - bl ErrorHandling -_021DB998: - ldr r1, [r5, #4] - add r0, sp, #4 - add r2, r4, #0 - bl FS_ReadFile - cmp r0, #0 - bge _021DB9AA - bl ErrorHandling -_021DB9AA: - add r0, sp, #4 - bl FS_CloseFile - add sp, #0x4c - pop {r3, r4, r5, r6, pc} -_021DB9B4: - bl ErrorHandling - add sp, #0x4c - pop {r3, r4, r5, r6, pc} - - thumb_func_start MOD05_021DB9BC -MOD05_021DB9BC: ; 0x021DB9BC - push {r4, lr} - add r4, r0, #0 - ldr r0, [r4, #4] - bl FreeToHeap - ldr r0, [r4] - bl FreeToHeap - add r0, r4, #0 - bl FreeToHeap - pop {r4, pc} - - thumb_func_start MOD05_021DB9D4 -MOD05_021DB9D4: ; 0x021DB9D4 - ldr r1, [r1] - lsl r0, r0, #2 - ldrh r0, [r1, r0] - strh r0, [r2] - bx lr - .balign 4, 0 - - thumb_func_start MOD05_021DB9E0 -MOD05_021DB9E0: ; 0x021DB9E0 - push {r3, r4} - lsl r4, r0, #2 - ldr r0, [r1] - ldrh r0, [r0, r4] - strh r0, [r2] - ldr r0, [r1] - add r0, r0, r4 - ldrh r0, [r0, #2] - strh r0, [r3] - pop {r3, r4} - bx lr - .balign 4, 0 - - thumb_func_start MOD05_021DB9F8 -MOD05_021DB9F8: ; 0x021DB9F8 - ldr r1, [r1, #4] - lsl r0, r0, #2 - add r0, r1, r0 - bx lr - thumb_func_start MOD05_021DBA00 MOD05_021DBA00: ; 0x021DBA00 push {r4, lr} |