mirror of
https://github.com/zeldaret/tww.git
synced 2026-08-02 16:26:42 -04:00
33 lines
766 B
C
33 lines
766 B
C
#include "Runtime.PPCEABI.H/GCN_mem_alloc.h"
|
|
#include "dolphin/os/OS.h"
|
|
|
|
|
|
inline static void InitDefaultHeap() {
|
|
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 = (void*)OSRoundUp32B(arenaLo);
|
|
arenaHi = (void*)OSRoundDown32B(arenaHi);
|
|
|
|
OSSetCurrentHeap(OSCreateHeap(arenaLo, arenaHi));
|
|
OSSetArenaLo(arenaLo = arenaHi);
|
|
}
|
|
|
|
void __sys_free(void* ptr) {
|
|
if (__OSCurrHeap == -1) {
|
|
InitDefaultHeap();
|
|
}
|
|
|
|
OSFreeToHeap(__OSCurrHeap, ptr);
|
|
return;
|
|
}
|