summaryrefslogtreecommitdiff
path: root/asm/memory.s
diff options
context:
space:
mode:
Diffstat (limited to 'asm/memory.s')
-rw-r--r--asm/memory.s359
1 files changed, 0 insertions, 359 deletions
diff --git a/asm/memory.s b/asm/memory.s
index d113ece..e856585 100644
--- a/asm/memory.s
+++ b/asm/memory.s
@@ -412,364 +412,5 @@ _08003328:
bx r1
thumb_func_end _LocateSetBack
- thumb_func_start _LocateSet
-_LocateSet:
- push {r4-r7,lr}
- sub sp, 0x8
- adds r5, r0, 0
- adds r7, r1, 0
- adds r6, r2, 0
- cmp r5, 0
- bne _0800335C
- ldr r5, =gMainHeapDescriptor
-_0800335C:
- asrs r4, r6, 8
- movs r0, 0x1
- orrs r4, r0
- movs r0, 0xFF
- ands r6, r0
- movs r0, 0x2
- ands r0, r4
- cmp r0, 0
- beq _08003394
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r7, 0
- bl MemorySearchFromFront
- adds r1, r0, 0
- cmp r1, 0
- blt _080033B4
- str r6, [sp]
- adds r0, r5, 0
- adds r2, r4, 0
- adds r3, r7, 0
- bl _LocateSetFront
- ldr r0, [r0, 0xC]
- b _080033CC
- .align 2, 0
- .pool
-_08003394:
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r7, 0
- bl MemorySearchFromBack
- adds r1, r0, 0
- cmp r1, 0
- blt _080033B4
- str r6, [sp]
- adds r0, r5, 0
- adds r2, r4, 0
- adds r3, r7, 0
- bl _LocateSetBack
- ldr r0, [r0, 0xC]
- b _080033CC
-_080033B4:
- ldr r0, =gUnknown_80B7F14
- ldr r1, =gUnknown_80B7F20
- str r4, [sp]
- str r6, [sp, 0x4]
- adds r2, r5, 0
- adds r3, r7, 0
- bl FatalError
- .align 2, 0
- .pool
-_080033CC:
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end _LocateSet
-
- thumb_func_start MemoryAlloc
-MemoryAlloc:
- push {lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldr r0, =gMainHeapDescriptor
- adds r1, r3, 0
- bl DoAlloc
- pop {r1}
- bx r1
- .align 2, 0
- .pool
- thumb_func_end MemoryAlloc
-
- thumb_func_start MemoryFree
-MemoryFree:
- push {lr}
- adds r1, r0, 0
- ldr r0, =gMainHeapDescriptor
- bl DoFree
- pop {r0}
- bx r0
- .align 2, 0
- .pool
- thumb_func_end MemoryFree
-
- thumb_func_start MemoryLocate_LocalCreate
-MemoryLocate_LocalCreate:
- push {r4-r7,lr}
- sub sp, 0xC
- adds r4, r0, 0
- adds r5, r1, 0
- adds r7, r2, 0
- adds r6, r3, 0
- cmp r4, 0
- bne _08003412
- ldr r4, =gMainHeapDescriptor
-_08003412:
- adds r0, r4, 0
- movs r1, 0x9
- adds r2, r5, 0
- bl MemorySearchFromBack
- adds r1, r0, 0
- cmp r1, 0
- bge _08003438
- ldr r0, =gUnknown_80B7F88
- ldr r1, =gUnknown_80B7F94
- adds r2, r5, 0
- bl FatalError
- .align 2, 0
- .pool
-_08003438:
- str r6, [sp]
- adds r0, r4, 0
- movs r2, 0x9
- adds r3, r5, 0
- bl _LocateSetBack
- ldr r1, [r0, 0xC]
- str r1, [sp, 0x4]
- ldr r0, [r0, 0x10]
- str r0, [sp, 0x8]
- add r0, sp, 0x4
- adds r1, r7, 0
- bl DoCreateSubHeap
- str r4, [r0, 0x4]
- add sp, 0xC
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end MemoryLocate_LocalCreate
-
- thumb_func_start DoCreateSubHeap
-DoCreateSubHeap:
- push {r4,lr}
- sub sp, 0x8
- adds r2, r1, 0
- ldr r4, [r0]
- adds r1, r4, 0
- adds r1, 0x1C
- str r1, [sp]
- ldr r0, [r0, 0x4]
- subs r0, 0x1C
- str r0, [sp, 0x4]
- adds r0, r4, 0
- mov r1, sp
- bl InitSubHeap
- adds r0, r4, 0
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end DoCreateSubHeap
-
- thumb_func_start xxx_unused_memory_free
-xxx_unused_memory_free:
- push {r4-r7,lr}
- adds r4, r0, 0
- cmp r4, 0
- beq _08003504
- movs r1, 0
- ldr r0, [r4, 0xC]
- cmp r0, 0x1
- bne _080034A2
- ldr r0, [r4, 0x8]
- ldr r0, [r0, 0x4]
- cmp r0, 0
- bne _080034A2
- movs r1, 0x1
-_080034A2:
- cmp r1, 0
- beq _08003504
- movs r0, 0
- mov r12, r0
- movs r3, 0
- ldr r6, =gHeapCount
- ldr r0, [r6]
- cmp r12, r0
- bge _080034F2
- ldr r5, =gHeapDescriptorList
- adds r1, r6, 0
- adds r7, r5, 0
- movs r2, 0
-_080034BC:
- adds r0, r2, r5
- ldr r0, [r0]
- cmp r0, r4
- bne _080034E8
- ldr r0, [r1]
- subs r0, 0x1
- str r0, [r1]
- cmp r3, r0
- bge _080034F8
- ldr r1, =gHeapCount
- adds r2, r7
-_080034D2:
- ldr r0, [r2, 0x4]
- stm r2!, {r0}
- adds r3, 0x1
- ldr r0, [r1]
- cmp r3, r0
- blt _080034D2
- b _080034F8
- .align 2, 0
- .pool
-_080034E8:
- adds r2, 0x4
- adds r3, 0x1
- ldr r0, [r6]
- cmp r3, r0
- blt _080034BC
-_080034F2:
- mov r0, r12
- cmp r0, 0
- beq _08003504
-_080034F8:
- ldr r0, [r4, 0x4]
- cmp r0, 0
- beq _08003504
- adds r1, r4, 0
- bl DoFree
-_08003504:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end xxx_unused_memory_free
-
- thumb_func_start DoAlloc
-DoAlloc:
- push {lr}
- movs r3, 0x80
- lsls r3, 1
- orrs r3, r2
- adds r2, r3, 0
- bl _LocateSet
- pop {r1}
- bx r1
- thumb_func_end DoAlloc
-
- thumb_func_start DoFree
-DoFree:
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- cmp r4, 0
- bne _0800352E
- ldr r4, =gMainHeapDescriptor
-_0800352E:
- cmp r1, 0
- beq _080035E4
- movs r0, 0
- mov r8, r0
- ldr r3, [r4, 0x8]
- mov r12, r3
- ldr r3, [r4, 0xC]
- cmp r8, r3
- bge _080035E4
- movs r2, 0
-_08003542:
- mov r5, r12
- ldr r0, [r5, 0xC]
- cmp r0, r1
- bne _080035D8
- str r2, [r5]
- str r2, [r5, 0x4]
- str r2, [r5, 0x14]
- str r2, [r5, 0x8]
- ldr r0, [r4, 0xC]
- subs r0, 0x1
- cmp r8, r0
- bge _08003592
- mov r2, r12
- adds r2, 0x18
- ldr r0, [r2, 0x4]
- cmp r0, 0
- bne _08003592
- ldr r0, [r5, 0x10]
- ldr r1, [r2, 0x10]
- adds r0, r1
- str r0, [r5, 0x10]
- ldr r0, [r4, 0xC]
- subs r0, 0x1
- str r0, [r4, 0xC]
- mov r3, r8
- adds r3, 0x1
- cmp r3, r0
- bge _08003592
-_0800357A:
- adds r0, r2, 0
- adds r1, r2, 0
- adds r1, 0x18
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- adds r3, 0x1
- adds r2, 0x18
- ldr r0, [r4, 0xC]
- cmp r3, r0
- blt _0800357A
-_08003592:
- mov r6, r8
- cmp r6, 0
- ble _080035E4
- mov r2, r12
- subs r2, 0x18
- ldr r0, [r2, 0x4]
- cmp r0, 0
- bne _080035E4
- ldr r0, [r2, 0x10]
- mov r7, r12
- ldr r1, [r7, 0x10]
- adds r0, r1
- str r0, [r2, 0x10]
- ldr r0, [r4, 0xC]
- subs r0, 0x1
- str r0, [r4, 0xC]
- mov r2, r12
- mov r3, r8
- cmp r3, r0
- bge _080035E4
-_080035BA:
- adds r0, r2, 0
- adds r1, r2, 0
- adds r1, 0x18
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- ldm r1!, {r5-r7}
- stm r0!, {r5-r7}
- adds r3, 0x1
- adds r2, 0x18
- ldr r0, [r4, 0xC]
- cmp r3, r0
- blt _080035BA
- b _080035E4
- .align 2, 0
- .pool
-_080035D8:
- movs r0, 0x1
- add r8, r0
- movs r5, 0x18
- add r12, r5
- cmp r8, r3
- blt _08003542
-_080035E4:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end DoFree
.align 2, 0 @ Don't pad with nop.