decomp heap.c (#145)

* add heap.c

* add frmh heap

* add heap_list

* add unth heap

* link heap.c

* fix external references
This commit is contained in:
enzofc708
2026-08-04 14:45:49 -03:00
committed by GitHub
parent 51640eb100
commit 29e3578e38
9 changed files with 995 additions and 102 deletions
+5
View File
@@ -89,3 +89,8 @@ libs/nds/src/sbc.c:
.text start:0x020198bc end:0x0201b1bc
.data start:0x02057354 end:0x02057434
.bss start:0x0205ae08 end:0x0205db08
libs/nds/src/heap.c:
complete
.text start:0x02017034 end:0x020179ac
.bss start:0x0205ade4 end:0x0205adf4
+47 -47
View File
@@ -675,51 +675,51 @@ func_02016efc kind:function(thumb,size=0xd0) addr:0x02016efc
func_02016fcc kind:function(thumb,size=0x1a) addr:0x02016fcc
func_02016fe8 kind:function(thumb,size=0x2e) addr:0x02016fe8
func_02017018 kind:function(thumb,size=0x1c) addr:0x02017018
func_02017034 kind:function(thumb,size=0x1a) addr:0x02017034
func_02017050 kind:function(thumb,size=0x1c) addr:0x02017050
func_0201706c kind:function(thumb,size=0x20) addr:0x0201706c
func_0201708c kind:function(thumb,size=0x1a) addr:0x0201708c
func_020170a8 kind:function(thumb,size=0x50) addr:0x020170a8
func_020170f8 kind:function(thumb,size=0x100) addr:0x020170f8
func_020171f8 kind:function(thumb,size=0x7c) addr:0x020171f8
func_02017274 kind:function(thumb,size=0x74) addr:0x02017274
func_020172e8 kind:function(thumb,size=0x8c) addr:0x020172e8
func_02017374 kind:function(thumb,size=0x20) addr:0x02017374
func_02017394 kind:function(thumb,size=0x8) addr:0x02017394
NewEXPH kind:function(thumb,size=0x20) addr:0x0201739c
func_020173bc kind:function(thumb,size=0xe8) addr:0x020173bc
func_020174a4 kind:function(thumb,size=0x2a) addr:0x020174a4
func_020174d0 kind:function(thumb,size=0x16) addr:0x020174d0
func_020174e8 kind:function(thumb,size=0x46) addr:0x020174e8
func_02017530 kind:function(thumb,size=0x2c) addr:0x02017530
func_0201755c kind:function(thumb,size=0x3e) addr:0x0201755c
func_0201759c kind:function(thumb,size=0x3c) addr:0x0201759c
func_020175d8 kind:function(thumb,size=0xe) addr:0x020175d8
func_020175e8 kind:function(thumb,size=0x1a) addr:0x020175e8
func_02017604 kind:function(thumb,size=0x20) addr:0x02017604
func_02017624 kind:function(thumb,size=0x8) addr:0x02017624
NewFRMH kind:function(thumb,size=0x22) addr:0x0201762c
func_02017650 kind:function(thumb,size=0x1e) addr:0x02017650
func_02017670 kind:function(thumb,size=0x24) addr:0x02017670
func_02017694 kind:function(thumb,size=0x2e) addr:0x02017694
func_020176c4 kind:function(thumb,size=0x30) addr:0x020176c4
func_020176f4 kind:function(thumb,size=0x1c) addr:0x020176f4
func_02017710 kind:function(thumb,size=0x3e) addr:0x02017710
func_02017750 kind:function(thumb,size=0x1c) addr:0x02017750
func_0201776c kind:function(thumb,size=0x5c) addr:0x0201776c
func_020177c8 kind:function(thumb,size=0x10) addr:0x020177c8
func_020177d8 kind:function(thumb,size=0x10) addr:0x020177d8
func_020177e8 kind:function(thumb,size=0xc) addr:0x020177e8
func_020177f4 kind:function(thumb,size=0x1a) addr:0x020177f4
func_02017810 kind:function(thumb,size=0x2c) addr:0x02017810
func_0201783c kind:function(thumb,size=0x2a) addr:0x0201783c
func_02017868 kind:function(thumb,size=0x36) addr:0x02017868
func_020178a0 kind:function(thumb,size=0x3a) addr:0x020178a0
func_020178dc kind:function(thumb,size=0x10) addr:0x020178dc
func_020178ec kind:function(thumb,size=0xe) addr:0x020178ec
func_020178fc kind:function(thumb,size=0x98) addr:0x020178fc
func_02017994 kind:function(thumb,size=0x8) addr:0x02017994
func_0201799c kind:function(thumb,size=0x10) addr:0x0201799c
Heap_GetRegion kind:function(thumb,size=0x1a) addr:0x02017034
Heap_RemoveBlock kind:function(thumb,size=0x1c) addr:0x02017050
Heap_InsertBlock kind:function(thumb,size=0x20) addr:0x0201706c
Heap_InitBlock kind:function(thumb,size=0x1a) addr:0x0201708c
Heap_EXPHInit kind:function(thumb,size=0x50) addr:0x020170a8
Heap_AllocFreeBlock kind:function(thumb,size=0x100) addr:0x020170f8
Heap_EXPHAllocHead kind:function(thumb,size=0x7c) addr:0x020171f8
Heap_EXPHAllocTail kind:function(thumb,size=0x74) addr:0x02017274
Heap_EmptyRegion kind:function(thumb,size=0x8c) addr:0x020172e8
Heap_EXPHCreate kind:function(thumb,size=0x20) addr:0x02017374
Heap_EXPHDestroy kind:function(thumb,size=0x8) addr:0x02017394
Heap_EXPHNew kind:function(thumb,size=0x20) addr:0x0201739c
Heap_EXPHResizeBlock kind:function(thumb,size=0xe8) addr:0x020173bc
Heap_EXPHFreeBlock kind:function(thumb,size=0x2a) addr:0x020174a4
Heap_EXPHGetEmptySize kind:function(thumb,size=0x16) addr:0x020174d0
Heap_EXPHGetMaxEmptySize kind:function(thumb,size=0x46) addr:0x020174e8
Heap_FRMHInit kind:function(thumb,size=0x2c) addr:0x02017530
Heap_FRMHAllocHead kind:function(thumb,size=0x3e) addr:0x0201755c
Heap_FRMHAllocTail kind:function(thumb,size=0x3c) addr:0x0201759c
Heap_FRMHFreeHead kind:function(thumb,size=0xe) addr:0x020175d8
Heap_FRMHFreeTail kind:function(thumb,size=0x1a) addr:0x020175e8
Heap_FRMHCreate kind:function(thumb,size=0x20) addr:0x02017604
Heap_FRMHDestroy kind:function(thumb,size=0x8) addr:0x02017624
Heap_FRMHNew kind:function(thumb,size=0x22) addr:0x0201762c
Heap_FRMHFreeBlock kind:function(thumb,size=0x1e) addr:0x02017650
Heap_FRMHGetMaxEmptySize kind:function(thumb,size=0x24) addr:0x02017670
Heap_FRMHSaveState kind:function(thumb,size=0x2e) addr:0x02017694
Heap_FRMHLoadState kind:function(thumb,size=0x30) addr:0x020176c4
Heap_FRMHFreeEmpty kind:function(thumb,size=0x1c) addr:0x020176f4
Heap_FindBlockInternal kind:function(thumb,size=0x3e) addr:0x02017710
Heap_FindParentHeap kind:function(thumb,size=0x1c) addr:0x02017750
Heap_InitHeader kind:function(thumb,size=0x5c) addr:0x0201776c
Heap_DestroyInternal kind:function(thumb,size=0x10) addr:0x020177c8
Heap_FindBlock kind:function(thumb,size=0x10) addr:0x020177d8
Heap_InitList kind:function(thumb,size=0xc) addr:0x020177e8
Heap_ListSetFirst kind:function(thumb,size=0x1a) addr:0x020177f4
Heap_ListAppend kind:function(thumb,size=0x2c) addr:0x02017810
Heap_ListPrepend kind:function(thumb,size=0x2a) addr:0x0201783c
Heap_ListInsertBefore kind:function(thumb,size=0x36) addr:0x02017868
Heap_ListRemove kind:function(thumb,size=0x3a) addr:0x020178a0
Heap_ListNext kind:function(thumb,size=0x10) addr:0x020178dc
Heap_ListPrev kind:function(thumb,size=0xe) addr:0x020178ec
Heap_UNTHCreate kind:function(thumb,size=0x98) addr:0x020178fc
Heap_Destroy kind:function(thumb,size=0x8) addr:0x02017994
Heap_UNTHSize kind:function(thumb,size=0x10) addr:0x0201799c
func_020179ac kind:function(arm,size=0x20) addr:0x020179ac
func_020179cc kind:function(arm,size=0x18) addr:0x020179cc
func_020179e4 kind:function(arm,size=0x14) addr:0x020179e4
@@ -3014,8 +3014,8 @@ data_0205ada8 kind:bss addr:0x0205ada8
data_0205adac kind:bss addr:0x0205adac
data_0205adc0 kind:bss addr:0x0205adc0
data_0205ade0 kind:bss addr:0x0205ade0
data_0205ade4 kind:bss addr:0x0205ade4
data_0205ade8 kind:bss addr:0x0205ade8
gHeapListInitialized kind:bss addr:0x0205ade4 local
gHeapList kind:bss addr:0x0205ade8 local
data_0205adf4 kind:bss addr:0x0205adf4
data_0205ae08 kind:bss addr:0x0205ae08
data_0205db08 kind:bss addr:0x0205db08
+5
View File
@@ -85,3 +85,8 @@ libs/nds/src/sbc.c:
.text start:0x020198bc end:0x0201b1bc
.data start:0x020572f4 end:0x020573d4
.bss start:0x0205ada8 end:0x0205daa8
libs/nds/src/heap.c:
complete
.text start:0x02017034 end:0x020179ac
.bss start:0x0205ad84 end:0x0205ad94
+47 -47
View File
@@ -675,51 +675,51 @@ func_02016efc kind:function(thumb,size=0xd0) addr:0x02016efc
func_02016fcc kind:function(thumb,size=0x1a) addr:0x02016fcc
func_02016fe8 kind:function(thumb,size=0x2e) addr:0x02016fe8
func_02017018 kind:function(thumb,size=0x1c) addr:0x02017018
func_02017034 kind:function(thumb,size=0x1a) addr:0x02017034
func_02017050 kind:function(thumb,size=0x1c) addr:0x02017050
func_0201706c kind:function(thumb,size=0x20) addr:0x0201706c
func_0201708c kind:function(thumb,size=0x1a) addr:0x0201708c
func_020170a8 kind:function(thumb,size=0x50) addr:0x020170a8
func_020170f8 kind:function(thumb,size=0x100) addr:0x020170f8
func_020171f8 kind:function(thumb,size=0x7c) addr:0x020171f8
func_02017274 kind:function(thumb,size=0x74) addr:0x02017274
func_020172e8 kind:function(thumb,size=0x8c) addr:0x020172e8
func_02017374 kind:function(thumb,size=0x20) addr:0x02017374
func_02017394 kind:function(thumb,size=0x8) addr:0x02017394
NewEXPH kind:function(thumb,size=0x20) addr:0x0201739c
func_020173bc kind:function(thumb,size=0xe8) addr:0x020173bc
func_020174a4 kind:function(thumb,size=0x2a) addr:0x020174a4
func_020174d0 kind:function(thumb,size=0x16) addr:0x020174d0
func_020174e8 kind:function(thumb,size=0x46) addr:0x020174e8
func_02017530 kind:function(thumb,size=0x2c) addr:0x02017530
func_0201755c kind:function(thumb,size=0x3e) addr:0x0201755c
func_0201759c kind:function(thumb,size=0x3c) addr:0x0201759c
func_020175d8 kind:function(thumb,size=0xe) addr:0x020175d8
func_020175e8 kind:function(thumb,size=0x1a) addr:0x020175e8
func_02017604 kind:function(thumb,size=0x20) addr:0x02017604
func_02017624 kind:function(thumb,size=0x8) addr:0x02017624
NewFRMH kind:function(thumb,size=0x22) addr:0x0201762c
func_02017650 kind:function(thumb,size=0x1e) addr:0x02017650
func_02017670 kind:function(thumb,size=0x24) addr:0x02017670
func_02017694 kind:function(thumb,size=0x2e) addr:0x02017694
func_020176c4 kind:function(thumb,size=0x30) addr:0x020176c4
func_020176f4 kind:function(thumb,size=0x1c) addr:0x020176f4
func_02017710 kind:function(thumb,size=0x3e) addr:0x02017710
func_02017750 kind:function(thumb,size=0x1c) addr:0x02017750
func_0201776c kind:function(thumb,size=0x5c) addr:0x0201776c
func_020177c8 kind:function(thumb,size=0x10) addr:0x020177c8
func_020177d8 kind:function(thumb,size=0x10) addr:0x020177d8
func_020177e8 kind:function(thumb,size=0xc) addr:0x020177e8
func_020177f4 kind:function(thumb,size=0x1a) addr:0x020177f4
func_02017810 kind:function(thumb,size=0x2c) addr:0x02017810
func_0201783c kind:function(thumb,size=0x2a) addr:0x0201783c
func_02017868 kind:function(thumb,size=0x36) addr:0x02017868
func_020178a0 kind:function(thumb,size=0x3a) addr:0x020178a0
func_020178dc kind:function(thumb,size=0x10) addr:0x020178dc
func_020178ec kind:function(thumb,size=0xe) addr:0x020178ec
func_020178fc kind:function(thumb,size=0x98) addr:0x020178fc
func_02017994 kind:function(thumb,size=0x8) addr:0x02017994
func_0201799c kind:function(thumb,size=0x10) addr:0x0201799c
Heap_GetRegion kind:function(thumb,size=0x1a) addr:0x02017034
Heap_RemoveBlock kind:function(thumb,size=0x1c) addr:0x02017050
Heap_InsertBlock kind:function(thumb,size=0x20) addr:0x0201706c
Heap_InitBlock kind:function(thumb,size=0x1a) addr:0x0201708c
Heap_EXPHInit kind:function(thumb,size=0x50) addr:0x020170a8
Heap_AllocFreeBlock kind:function(thumb,size=0x100) addr:0x020170f8
Heap_EXPHAllocHead kind:function(thumb,size=0x7c) addr:0x020171f8
Heap_EXPHAllocTail kind:function(thumb,size=0x74) addr:0x02017274
Heap_EmptyRegion kind:function(thumb,size=0x8c) addr:0x020172e8
Heap_EXPHCreate kind:function(thumb,size=0x20) addr:0x02017374
Heap_EXPHDestroy kind:function(thumb,size=0x8) addr:0x02017394
Heap_EXPHNew kind:function(thumb,size=0x20) addr:0x0201739c
Heap_EXPHResizeBlock kind:function(thumb,size=0xe8) addr:0x020173bc
Heap_EXPHFreeBlock kind:function(thumb,size=0x2a) addr:0x020174a4
Heap_EXPHGetEmptySize kind:function(thumb,size=0x16) addr:0x020174d0
Heap_EXPHGetMaxEmptySize kind:function(thumb,size=0x46) addr:0x020174e8
Heap_FRMHInit kind:function(thumb,size=0x2c) addr:0x02017530
Heap_FRMHAllocHead kind:function(thumb,size=0x3e) addr:0x0201755c
Heap_FRMHAllocTail kind:function(thumb,size=0x3c) addr:0x0201759c
Heap_FRMHFreeHead kind:function(thumb,size=0xe) addr:0x020175d8
Heap_FRMHFreeTail kind:function(thumb,size=0x1a) addr:0x020175e8
Heap_FRMHCreate kind:function(thumb,size=0x20) addr:0x02017604
Heap_FRMHDestroy kind:function(thumb,size=0x8) addr:0x02017624
Heap_FRMHNew kind:function(thumb,size=0x22) addr:0x0201762c
Heap_FRMHFreeBlock kind:function(thumb,size=0x1e) addr:0x02017650
Heap_FRMHGetMaxEmptySize kind:function(thumb,size=0x24) addr:0x02017670
Heap_FRMHSaveState kind:function(thumb,size=0x2e) addr:0x02017694
Heap_FRMHLoadState kind:function(thumb,size=0x30) addr:0x020176c4
Heap_FRMHFreeEmpty kind:function(thumb,size=0x1c) addr:0x020176f4
Heap_FindBlockInternal kind:function(thumb,size=0x3e) addr:0x02017710
Heap_FindParentHeap kind:function(thumb,size=0x1c) addr:0x02017750
Heap_InitHeader kind:function(thumb,size=0x5c) addr:0x0201776c
Heap_DestroyInternal kind:function(thumb,size=0x10) addr:0x020177c8
Heap_FindBlock kind:function(thumb,size=0x10) addr:0x020177d8
Heap_InitList kind:function(thumb,size=0xc) addr:0x020177e8
Heap_ListSetFirst kind:function(thumb,size=0x1a) addr:0x020177f4
Heap_ListAppend kind:function(thumb,size=0x2c) addr:0x02017810
Heap_ListPrepend kind:function(thumb,size=0x2a) addr:0x0201783c
Heap_ListInsertBefore kind:function(thumb,size=0x36) addr:0x02017868
Heap_ListRemove kind:function(thumb,size=0x3a) addr:0x020178a0
Heap_ListNext kind:function(thumb,size=0x10) addr:0x020178dc
Heap_ListPrev kind:function(thumb,size=0xe) addr:0x020178ec
Heap_UNTHCreate kind:function(thumb,size=0x98) addr:0x020178fc
Heap_Destroy kind:function(thumb,size=0x8) addr:0x02017994
Heap_UNTHSize kind:function(thumb,size=0x10) addr:0x0201799c
func_020179ac kind:function(arm,size=0x20) addr:0x020179ac
func_020179cc kind:function(arm,size=0x18) addr:0x020179cc
func_020179e4 kind:function(arm,size=0x14) addr:0x020179e4
@@ -3014,8 +3014,8 @@ data_0205ada8 kind:bss addr:0x0205ad48
data_0205adac kind:bss addr:0x0205ad4c
data_0205adc0 kind:bss addr:0x0205ad60
data_0205ade0 kind:bss addr:0x0205ad80
data_0205ade4 kind:bss addr:0x0205ad84
data_0205ade8 kind:bss addr:0x0205ad88
gHeapListInitialized kind:bss addr:0x0205ad84 local
gHeapList kind:bss addr:0x0205ad88 local
data_0205adf4 kind:bss addr:0x0205ad94
data_0205ae08 kind:bss addr:0x0205ada8
data_0205db08 kind:bss addr:0x0205daa8