marioparty4/src/Runtime.PPCEABI.H/GCN_mem_alloc.c
2025-02-04 19:54:29 -06:00

30 lines
746 B
C
Executable file

#include "dolphin/os.h"
inline static void InitDefaultHeap(void) {
void* arenaLo;
void* arenaHi;
OSReport("GCN_Mem_Alloc.c : InitDefaultHeap. No Heap Available\n");
OSReport("Metrowerks CW runtime library initializing default heap\n");
arenaLo = OSGetArenaLo();
arenaHi = OSGetArenaHi();
arenaLo = OSInitAlloc(arenaLo, arenaHi, 1);
OSSetArenaLo(arenaLo);
arenaLo = OSRoundUpPtr(arenaLo, 0x20);
arenaHi = OSRoundDownPtr(arenaHi, 0x20);
OSSetCurrentHeap(OSCreateHeap(arenaLo, arenaHi));
OSSetArenaLo(arenaLo = arenaHi);
}
/* 80362914-803629CC 35D254 00B8+00 0/0 1/1 0/0 .text __sys_free */
void __sys_free(void* p) {
if (__OSCurrHeap == -1) {
InitDefaultHeap();
}
OSFreeToHeap(__OSCurrHeap, p);
}