From de4dba08bb3788f70164f53839618e63576aef77 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sat, 22 May 2021 20:34:27 -0400 Subject: Split libnns, 1 --- arm9/asm/NNS_FND_heapcommon.s | 109 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 arm9/asm/NNS_FND_heapcommon.s (limited to 'arm9/asm/NNS_FND_heapcommon.s') diff --git a/arm9/asm/NNS_FND_heapcommon.s b/arm9/asm/NNS_FND_heapcommon.s new file mode 100644 index 00000000..196d12b0 --- /dev/null +++ b/arm9/asm/NNS_FND_heapcommon.s @@ -0,0 +1,109 @@ + .include "asm/macros.inc" + .include "global.inc" + + .section .bss + + .global UNK_021CCD38 +UNK_021CCD38: ; 0x021CCD38 + .space 0x4 + + .global UNK_021CCD3C +UNK_021CCD3C: ; 0x021CCD3C + .space 0xc + + .text + + arm_func_start FUN_020ADC8C +FUN_020ADC8C: ; 0x020ADC8C + stmdb sp!, {r4,lr} + mov r4, r0 + bl FUN_020ADD30 + mov r1, r4 + bl FUN_020ADAB0 + ldmia sp!, {r4,pc} + + arm_func_start FUN_020ADCA4 +FUN_020ADCA4: + stmdb sp!, {r4,lr} + mov r4, r0 + str r1, [r4, #0x0] + str r2, [r4, #0x18] + str r3, [r4, #0x1c] + mov r0, #0x0 + str r0, [r4, #0x20] + ldr r1, [r4, #0x20] + ldrh r0, [sp, #0x8] + bic r1, r1, #0xff + str r1, [r4, #0x20] + ldr r1, [r4, #0x20] + and r0, r0, #0xff + orr r2, r1, r0 + add r0, r4, #0xc + mov r1, #0x4 + str r2, [r4, #0x20] + bl FUN_020ADC74 + ldr r0, _020ADD28 ; =UNK_021CCD38 + ldr r0, [r0, #0x0] + cmp r0, #0x0 + bne _020ADD14 + ldr r0, _020ADD2C ; =UNK_021CCD3C + mov r1, #0x4 + bl FUN_020ADC74 + ldr r0, _020ADD28 ; =UNK_021CCD38 + mov r1, #0x1 + str r1, [r0, #0x0] +_020ADD14: + mov r0, r4 + bl FUN_020ADD30 + mov r1, r4 + bl FUN_020ADBE8 + ldmia sp!, {r4,pc} + .balign 4 +_020ADD28: .word UNK_021CCD38 +_020ADD2C: .word UNK_021CCD3C + + arm_func_start FUN_020ADD30 +FUN_020ADD30: ; 0x020ADD30 + stmdb sp!, {r4,lr} + ldr r4, _020ADD54 ; =UNK_021CCD3C + mov r1, r0 + mov r0, r4 + bl FUN_020ADD58 + cmp r0, #0x0 + addne r4, r0, #0xc + mov r0, r4 + ldmia sp!, {r4,pc} + .balign 4 +_020ADD54: .word UNK_021CCD3C + + arm_func_start FUN_020ADD58 +FUN_020ADD58: + stmdb sp!, {r4-r6,lr} + mov r5, r1 + mov r1, #0x0 + mov r6, r0 + bl FUN_020ADA98 + movs r4, r0 + beq _020ADDB8 +_020ADD74: + ldr r0, [r4, #0x18] + cmp r0, r5 + bhi _020ADDA4 + ldr r0, [r4, #0x1c] + cmp r5, r0 + bhs _020ADDA4 + mov r1, r5 + add r0, r4, #0xc + bl FUN_020ADD58 + cmp r0, #0x0 + moveq r0, r4 + ldmia sp!, {r4-r6,pc} +_020ADDA4: + mov r0, r6 + mov r1, r4 + bl FUN_020ADA98 + movs r4, r0 + bne _020ADD74 +_020ADDB8: + mov r0, #0x0 + ldmia sp!, {r4-r6,pc} -- cgit v1.2.3 From 335cfe43c3a5bdf40aa815e2af3076302491a0bf Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 23 May 2021 08:22:47 -0400 Subject: Add arm_func_end to already-split libnnsfnd files --- arm9/asm/NNS_FND_heapcommon.s | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'arm9/asm/NNS_FND_heapcommon.s') diff --git a/arm9/asm/NNS_FND_heapcommon.s b/arm9/asm/NNS_FND_heapcommon.s index 196d12b0..0aa40512 100644 --- a/arm9/asm/NNS_FND_heapcommon.s +++ b/arm9/asm/NNS_FND_heapcommon.s @@ -21,6 +21,7 @@ FUN_020ADC8C: ; 0x020ADC8C mov r1, r4 bl FUN_020ADAB0 ldmia sp!, {r4,pc} + arm_func_end FUN_020ADC8C arm_func_start FUN_020ADCA4 FUN_020ADCA4: @@ -61,6 +62,7 @@ _020ADD14: .balign 4 _020ADD28: .word UNK_021CCD38 _020ADD2C: .word UNK_021CCD3C + arm_func_end FUN_020ADCA4 arm_func_start FUN_020ADD30 FUN_020ADD30: ; 0x020ADD30 @@ -75,6 +77,7 @@ FUN_020ADD30: ; 0x020ADD30 ldmia sp!, {r4,pc} .balign 4 _020ADD54: .word UNK_021CCD3C + arm_func_end FUN_020ADD30 arm_func_start FUN_020ADD58 FUN_020ADD58: @@ -107,3 +110,4 @@ _020ADDA4: _020ADDB8: mov r0, #0x0 ldmia sp!, {r4-r6,pc} + arm_func_end FUN_020ADD58 -- cgit v1.2.3 From 57b9d8fd35548901ccd4ffcdfa7bca7140065036 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 23 May 2021 16:43:24 -0400 Subject: Rename libnns symbols --- arm9/asm/NNS_FND_heapcommon.s | 67 +++++++++++++++++++++---------------------- 1 file changed, 33 insertions(+), 34 deletions(-) (limited to 'arm9/asm/NNS_FND_heapcommon.s') diff --git a/arm9/asm/NNS_FND_heapcommon.s b/arm9/asm/NNS_FND_heapcommon.s index 0aa40512..ca3108d2 100644 --- a/arm9/asm/NNS_FND_heapcommon.s +++ b/arm9/asm/NNS_FND_heapcommon.s @@ -3,28 +3,27 @@ .section .bss - .global UNK_021CCD38 -UNK_021CCD38: ; 0x021CCD38 + .global sRootListInitialized +sRootListInitialized: ; 0x021CCD38 .space 0x4 - .global UNK_021CCD3C -UNK_021CCD3C: ; 0x021CCD3C + .global sRootList +sRootList: ; 0x021CCD3C .space 0xc - .text - arm_func_start FUN_020ADC8C -FUN_020ADC8C: ; 0x020ADC8C + arm_func_start NNSi_FndFinalizeHeap +NNSi_FndFinalizeHeap: ; 0x020ADC8C stmdb sp!, {r4,lr} mov r4, r0 - bl FUN_020ADD30 + bl FindListContainHeap mov r1, r4 - bl FUN_020ADAB0 + bl NNS_FndRemoveListObject ldmia sp!, {r4,pc} - arm_func_end FUN_020ADC8C + arm_func_end NNSi_FndFinalizeHeap - arm_func_start FUN_020ADCA4 -FUN_020ADCA4: + arm_func_start NNSi_FndInitHeapHead +NNSi_FndInitHeapHead: stmdb sp!, {r4,lr} mov r4, r0 str r1, [r4, #0x0] @@ -42,50 +41,50 @@ FUN_020ADCA4: add r0, r4, #0xc mov r1, #0x4 str r2, [r4, #0x20] - bl FUN_020ADC74 - ldr r0, _020ADD28 ; =UNK_021CCD38 + bl NNS_FndInitList + ldr r0, _020ADD28 ; =sRootListInitialized ldr r0, [r0, #0x0] cmp r0, #0x0 bne _020ADD14 - ldr r0, _020ADD2C ; =UNK_021CCD3C + ldr r0, _020ADD2C ; =sRootList mov r1, #0x4 - bl FUN_020ADC74 - ldr r0, _020ADD28 ; =UNK_021CCD38 + bl NNS_FndInitList + ldr r0, _020ADD28 ; =sRootListInitialized mov r1, #0x1 str r1, [r0, #0x0] _020ADD14: mov r0, r4 - bl FUN_020ADD30 + bl FindListContainHeap mov r1, r4 - bl FUN_020ADBE8 + bl NNS_FndAppendListObject ldmia sp!, {r4,pc} .balign 4 -_020ADD28: .word UNK_021CCD38 -_020ADD2C: .word UNK_021CCD3C - arm_func_end FUN_020ADCA4 +_020ADD28: .word sRootListInitialized +_020ADD2C: .word sRootList + arm_func_end NNSi_FndInitHeapHead - arm_func_start FUN_020ADD30 -FUN_020ADD30: ; 0x020ADD30 + arm_func_start FindListContainHeap +FindListContainHeap: ; 0x020ADD30 stmdb sp!, {r4,lr} - ldr r4, _020ADD54 ; =UNK_021CCD3C + ldr r4, _020ADD54 ; =sRootList mov r1, r0 mov r0, r4 - bl FUN_020ADD58 + bl FindContainHeap cmp r0, #0x0 addne r4, r0, #0xc mov r0, r4 ldmia sp!, {r4,pc} .balign 4 -_020ADD54: .word UNK_021CCD3C - arm_func_end FUN_020ADD30 +_020ADD54: .word sRootList + arm_func_end FindListContainHeap - arm_func_start FUN_020ADD58 -FUN_020ADD58: + arm_func_start FindContainHeap +FindContainHeap: stmdb sp!, {r4-r6,lr} mov r5, r1 mov r1, #0x0 mov r6, r0 - bl FUN_020ADA98 + bl NNS_FndGetNextListObject movs r4, r0 beq _020ADDB8 _020ADD74: @@ -97,17 +96,17 @@ _020ADD74: bhs _020ADDA4 mov r1, r5 add r0, r4, #0xc - bl FUN_020ADD58 + bl FindContainHeap cmp r0, #0x0 moveq r0, r4 ldmia sp!, {r4-r6,pc} _020ADDA4: mov r0, r6 mov r1, r4 - bl FUN_020ADA98 + bl NNS_FndGetNextListObject movs r4, r0 bne _020ADD74 _020ADDB8: mov r0, #0x0 ldmia sp!, {r4-r6,pc} - arm_func_end FUN_020ADD58 + arm_func_end FindContainHeap -- cgit v1.2.3