summaryrefslogtreecommitdiff
path: root/arm9/asm/NNS_FND_expheap.s
diff options
context:
space:
mode:
Diffstat (limited to 'arm9/asm/NNS_FND_expheap.s')
-rw-r--r--arm9/asm/NNS_FND_expheap.s160
1 files changed, 79 insertions, 81 deletions
diff --git a/arm9/asm/NNS_FND_expheap.s b/arm9/asm/NNS_FND_expheap.s
index cb42f116..e94dba38 100644
--- a/arm9/asm/NNS_FND_expheap.s
+++ b/arm9/asm/NNS_FND_expheap.s
@@ -1,19 +1,17 @@
.include "asm/macros.inc"
.include "global.inc"
-
- .extern FUN_020ADCA4
- .extern FUN_020ADC8C
-
+ .extern NNSi_FndInitHeapHead
+ .extern NNSi_FndFinalizeHeap
.text
- arm_func_start FUN_020ADDC0
-FUN_020ADDC0: ; 0x020ADDC0
+ arm_func_start NNS_FndGetSizeForMBlockExpHeap
+NNS_FndGetSizeForMBlockExpHeap: ; 0x020ADDC0
ldr r0, [r0, #-0xc]
bx lr
- arm_func_end FUN_020ADDC0
+ arm_func_end NNS_FndGetSizeForMBlockExpHeap
- arm_func_start FUN_020ADDC8
-FUN_020ADDC8: ; 0x020ADDC8
+ arm_func_start NNS_FndGetTotalFreeSizeForExpHeap
+NNS_FndGetTotalFreeSizeForExpHeap: ; 0x020ADDC8
ldr r2, [r0, #0x24]
mov r0, #0x0
cmp r2, #0x0
@@ -25,29 +23,29 @@ _020ADDD8:
cmp r2, #0x0
bne _020ADDD8
bx lr
- arm_func_end FUN_020ADDC8
+ arm_func_end NNS_FndGetTotalFreeSizeForExpHeap
- arm_func_start FUN_020ADDF0
-FUN_020ADDF0: ; 0x020ADDF0
+ arm_func_start NNS_FndFreeToExpHeap
+NNS_FndFreeToExpHeap: ; 0x020ADDF0
stmdb sp!, {r4-r5,lr}
sub sp, sp, #0xc
sub r4, r1, #0x10
add r5, r0, #0x24
add r0, sp, #0x0
mov r1, r4
- bl FUN_020AE528
+ bl GetRegionOfMBlock
mov r1, r4
add r0, r5, #0x8
- bl FUN_020AE500
+ bl RemoveMBlock
add r1, sp, #0x0
mov r0, r5
- bl FUN_020AE02C
+ bl RecycleRegion
add sp, sp, #0xc
ldmia sp!, {r4-r5,pc}
- arm_func_end FUN_020ADDF0
+ arm_func_end NNS_FndFreeToExpHeap
- arm_func_start FUN_020ADE2C
-FUN_020ADE2C: ; 0x020ADE2C
+ arm_func_start NNS_FndResizeForMBlockExpHeap
+NNS_FndResizeForMBlockExpHeap: ; 0x020ADE2C
stmdb sp!, {r4-r10,lr}
sub sp, sp, #0x10
mov r4, r1
@@ -90,10 +88,10 @@ _020ADEB0:
_020ADEBC:
add r0, sp, #0x0
mov r1, r9
- bl FUN_020AE528
+ bl GetRegionOfMBlock
mov r0, r7
mov r1, r9
- bl FUN_020AE500
+ bl RemoveMBlock
ldr r2, [sp, #0x4]
add r3, r10, r4
ldr r9, [sp, #0x0]
@@ -112,11 +110,11 @@ _020ADEBC:
blo _020ADF30
ldr r1, _020ADF9C ; =0x00004652
add r0, sp, #0x0
- bl FUN_020AE4A0
+ bl InitMBlock
mov r1, r0
mov r0, r7
mov r2, r8
- bl FUN_020AE4D0
+ bl InsertMBlock
_020ADF30:
ldr r0, [r5, #0x20]
ldr r1, [sp, #0x0]
@@ -140,7 +138,7 @@ _020ADF60:
add r1, sp, #0x8
mov r0, r7
str r10, [r6, #0x4]
- bl FUN_020AE02C
+ bl RecycleRegion
cmp r0, #0x0
streq r8, [r6, #0x4]
_020ADF90:
@@ -149,10 +147,10 @@ _020ADF90:
ldmia sp!, {r4-r10,pc}
.balign 4
_020ADF9C: .word 0x00004652
- arm_func_end FUN_020ADE2C
+ arm_func_end NNS_FndResizeForMBlockExpHeap
- arm_func_start tempName_NNS_FndAllocFromExpHeapEx
-tempName_NNS_FndAllocFromExpHeapEx: ; 0x020ADFA0
+ arm_func_start NNS_FndAllocFromExpHeapEx
+NNS_FndAllocFromExpHeapEx: ; 0x020ADFA0
stmdb sp!, {lr}
sub sp, sp, #0x4
cmp r1, #0x0
@@ -161,26 +159,26 @@ tempName_NNS_FndAllocFromExpHeapEx: ; 0x020ADFA0
cmp r2, #0x0
bic r1, r1, #0x3
blt _020ADFCC
- bl FUN_020AE1D8
+ bl AllocFromHead
add sp, sp, #0x4
ldmia sp!, {pc}
_020ADFCC:
rsb r2, r2, #0x0
- bl FUN_020AE11C
+ bl AllocFromTail
add sp, sp, #0x4
ldmia sp!, {pc}
- arm_func_end tempName_NNS_FndAllocFromExpHeapEx
+ arm_func_end NNS_FndAllocFromExpHeapEx
- arm_func_start thunk_FUN_020adc8c
-thunk_FUN_020adc8c: ; 0x020ADFDC
- ldr ip, _020ADFE4 ; =FUN_020ADC8C
+ arm_func_start NNS_FndDestroyExpHeap
+NNS_FndDestroyExpHeap: ; 0x020ADFDC
+ ldr ip, _020ADFE4 ; =NNSi_FndFinalizeHeap
bx r12
.balign 4
-_020ADFE4: .word FUN_020ADC8C
- arm_func_end thunk_FUN_020adc8c
+_020ADFE4: .word NNSi_FndFinalizeHeap
+ arm_func_end NNS_FndDestroyExpHeap
- arm_func_start tempName_NNS_FndCreateExpHeapEx
-tempName_NNS_FndCreateExpHeapEx: ; 0x020ADFE8
+ arm_func_start NNS_FndCreateExpHeapEx
+NNS_FndCreateExpHeapEx: ; 0x020ADFE8
stmdb sp!, {lr}
sub sp, sp, #0x4
add r1, r1, r0
@@ -197,13 +195,13 @@ _020AE014:
mov r0, #0x0
ldmia sp!, {pc}
_020AE020:
- bl FUN_020AE420
+ bl InitExpHeap
add sp, sp, #0x4
ldmia sp!, {pc}
- arm_func_end tempName_NNS_FndCreateExpHeapEx
+ arm_func_end NNS_FndCreateExpHeapEx
- arm_func_start FUN_020AE02C
-FUN_020AE02C:
+ arm_func_start RecycleRegion
+RecycleRegion:
stmdb sp!, {r4-r6,lr}
sub sp, sp, #0x8
mov r5, r1
@@ -229,7 +227,7 @@ _020AE060:
add r2, r2, r0
mov r0, r6
str r2, [sp, #0x4]
- bl FUN_020AE500
+ bl RemoveMBlock
b _020AE0A0
_020AE094:
ldr r1, [r1, #0xc]
@@ -247,7 +245,7 @@ _020AE0A0:
mov r0, r6
mov r1, r4
str r4, [sp, #0x0]
- bl FUN_020AE500
+ bl RemoveMBlock
mov r4, r0
_020AE0D4:
ldr r1, [sp, #0x4]
@@ -259,20 +257,20 @@ _020AE0D4:
ldmccia sp!, {r4-r6,pc}
ldr r1, _020AE118 ; =0x00004652
add r0, sp, #0x0
- bl FUN_020AE4A0
+ bl InitMBlock
mov r1, r0
mov r0, r6
mov r2, r4
- bl FUN_020AE4D0
+ bl InsertMBlock
mov r0, #0x1
add sp, sp, #0x8
ldmia sp!, {r4-r6,pc}
.balign 4
_020AE118: .word 0x00004652
- arm_func_end FUN_020AE02C
+ arm_func_end RecycleRegion
- arm_func_start FUN_020AE11C
-FUN_020AE11C: ; 0x020AE11C
+ local_arm_func_start AllocFromTail
+AllocFromTail: ; 0x020AE11C
stmdb sp!, {r4-r9,lr}
sub sp, sp, #0x4
add r0, r0, #0x24
@@ -320,13 +318,13 @@ _020AE1B0:
mov r4, #0x1
mov r2, r12
str r4, [sp, #0x0]
- bl FUN_020AE298
+ bl AllocUsedBlockFromFreeBlock
add sp, sp, #0x4
ldmia sp!, {r4-r9,pc}
- arm_func_end FUN_020AE11C
+ arm_func_end AllocFromTail
- arm_func_start FUN_020AE1D8
-FUN_020AE1D8: ; 0x020AE1D8
+ local_arm_func_start AllocFromHead
+AllocFromHead: ; 0x020AE1D8
stmdb sp!, {r4-r9,lr}
sub sp, sp, #0x4
add r0, r0, #0x24
@@ -375,13 +373,13 @@ _020AE270:
mov r4, #0x0
mov r2, lr
str r4, [sp, #0x0]
- bl FUN_020AE298
+ bl AllocUsedBlockFromFreeBlock
add sp, sp, #0x4
ldmia sp!, {r4-r9,pc}
- arm_func_end FUN_020AE1D8
+ arm_func_end AllocFromHead
- arm_func_start FUN_020AE298
-FUN_020AE298: ; 0x020AE298
+ arm_func_start AllocUsedBlockFromFreeBlock
+AllocUsedBlockFromFreeBlock: ; 0x020AE298
stmdb sp!, {r4-r8,lr}
sub sp, sp, #0x18
mov r7, r0
@@ -389,7 +387,7 @@ FUN_020AE298: ; 0x020AE298
mov r8, r1
mov r6, r2
mov r5, r3
- bl FUN_020AE528
+ bl GetRegionOfMBlock
ldr r3, [sp, #0x4]
sub r4, r6, #0x10
add r2, r5, r6
@@ -398,7 +396,7 @@ FUN_020AE298: ; 0x020AE298
str r4, [sp, #0x4]
str r3, [sp, #0xc]
str r2, [sp, #0x8]
- bl FUN_020AE500
+ bl RemoveMBlock
ldr r2, [sp, #0x0]
ldr r1, [sp, #0x4]
mov r5, r0
@@ -408,11 +406,11 @@ FUN_020AE298: ; 0x020AE298
blo _020AE318
ldr r1, _020AE418 ; =0x00004652
add r0, sp, #0x0
- bl FUN_020AE4A0
+ bl InitMBlock
mov r1, r0
mov r0, r7
mov r2, r5
- bl FUN_020AE4D0
+ bl InsertMBlock
mov r5, r0
_020AE318:
ldr r1, [sp, #0xc]
@@ -423,11 +421,11 @@ _020AE318:
blo _020AE34C
ldr r1, _020AE418 ; =0x00004652
add r0, sp, #0x8
- bl FUN_020AE4A0
+ bl InitMBlock
mov r1, r0
mov r0, r7
mov r2, r5
- bl FUN_020AE4D0
+ bl InsertMBlock
_020AE34C:
ldr r0, [r7, #-0x4]
ldr r1, [sp, #0x4]
@@ -446,7 +444,7 @@ _020AE378:
add r0, sp, #0x10
str r4, [sp, #0x10]
str r2, [sp, #0x14]
- bl FUN_020AE4A0
+ bl InitMBlock
mov r1, r0
ldrh r3, [r1, #0x2]
ldrh r2, [sp, #0x30]
@@ -477,17 +475,17 @@ _020AE378:
orr r2, r2, r3
strh r2, [r1, #0x2]
ldr r2, [r7, #0xc]
- bl FUN_020AE4D0
+ bl InsertMBlock
mov r0, r6
add sp, sp, #0x18
ldmia sp!, {r4-r8,pc}
.balign 4
_020AE418: .word 0x00004652
_020AE41C: .word 0x00005544
- arm_func_end FUN_020AE298
+ arm_func_end AllocUsedBlockFromFreeBlock
- arm_func_start FUN_020AE420
-FUN_020AE420: ; 0x020AE420
+ arm_func_start InitExpHeap
+InitExpHeap: ; 0x020AE420
stmdb sp!, {r4-r5,lr}
sub sp, sp, #0xc
mov r5, r0
@@ -496,7 +494,7 @@ FUN_020AE420: ; 0x020AE420
str r2, [sp, #0x0]
ldr r1, _020AE498 ; =0x45585048
add r2, r4, #0x14
- bl FUN_020ADCA4
+ bl NNSi_FndInitHeapHead
mov r0, #0x0
strh r0, [r4, #0x10]
strh r0, [r4, #0x12]
@@ -509,7 +507,7 @@ FUN_020AE420: ; 0x020AE420
str r2, [sp, #0x4]
ldr r2, [r5, #0x1c]
str r2, [sp, #0x8]
- bl FUN_020AE4A0
+ bl InitMBlock
str r0, [r5, #0x24]
str r0, [r4, #0x4]
mov r1, #0x0
@@ -521,10 +519,10 @@ FUN_020AE420: ; 0x020AE420
.balign 4
_020AE498: .word 0x45585048
_020AE49C: .word 0x00004652
- arm_func_end FUN_020AE420
+ arm_func_end InitExpHeap
- arm_func_start FUN_020AE4A0
-FUN_020AE4A0: ; 0x020AE4A0
+ arm_func_start InitMBlock
+InitMBlock: ; 0x020AE4A0
ldr r3, [r0, #0x0]
mov r2, #0x0
strh r1, [r3, #0x0]
@@ -537,10 +535,10 @@ FUN_020AE4A0: ; 0x020AE4A0
mov r0, r3
str r2, [r3, #0xc]
bx lr
- arm_func_end FUN_020AE4A0
+ arm_func_end InitMBlock
- arm_func_start FUN_020AE4D0
-FUN_020AE4D0: ; 0x020AE4D0
+ arm_func_start InsertMBlock
+InsertMBlock: ; 0x020AE4D0
str r2, [r1, #0x8]
cmp r2, #0x0
ldrne r3, [r2, #0xc]
@@ -553,10 +551,10 @@ FUN_020AE4D0: ; 0x020AE4D0
streq r1, [r0, #0x4]
mov r0, r1
bx lr
- arm_func_end FUN_020AE4D0
+ arm_func_end InsertMBlock
- arm_func_start FUN_020AE500
-FUN_020AE500: ; 0x020AE500
+ arm_func_start RemoveMBlock
+RemoveMBlock: ; 0x020AE500
ldr r2, [r1, #0x8]
ldr r1, [r1, #0xc]
cmp r2, #0x0
@@ -567,10 +565,10 @@ FUN_020AE500: ; 0x020AE500
streq r2, [r0, #0x4]
mov r0, r2
bx lr
- arm_func_end FUN_020AE500
+ arm_func_end RemoveMBlock
- arm_func_start FUN_020AE528
-FUN_020AE528: ; 0x020AE528
+ arm_func_start GetRegionOfMBlock
+GetRegionOfMBlock: ; 0x020AE528
ldrh r2, [r1, #0x2]
add r3, r1, #0x10
mov r2, r2, asr #0x8
@@ -582,4 +580,4 @@ FUN_020AE528: ; 0x020AE528
add r1, r1, r3
str r1, [r0, #0x4]
bx lr
- arm_func_end FUN_020AE528
+ arm_func_end GetRegionOfMBlock