N64® Functions Menu

al - Audio Library Functions
gDP - DP GBI Macros
gdSP - General GBI Macros
gSP - SP GBI Macros
gt - Turbo Microcode RDP
gu - Graphics Utilities
Math - Math Functions
nuSys - NuSystem
os - N64 Operating System
sp - Sprite Library Functions
uh - Host to Target IO
64DD - N64 Disk Drive

Nintendo® Confidential

## alHeapAlloc

Syntax

    #include <libaudio.h>
    void *alHeapAlloc(ALHeap *hp, s32 num, s32 size);

Arguments

- hp is the pointer to the ALHeap structure
- num is the number of records to allocate
- size is the size, in bytes, of the records to allocate

Explanation
It allocates cache-aligned memory from an audio DRAM heap. In the debug version of the libultra library (libultra_d), this function also inserts some debugging information that allows the alHeapCheck function to test for heap consistency.
Note
Most memory management schemes allocate additional memory for region headers to facilitate the management of the memory region. The non-debug version of this function does not allocate any memory other than that requested or required for cache alignment. As a result, memory allocated from audio heaps cannot be freed.
Note that cache alignment is important for structures that contain elements shared with the reality co-processor (RCP).
See Also
alHeapInit
alHeapCheck

Nintendo® Confidential Warning: all information in this document is confidential and covered by a non-disclosure agreement. You are responsible for keeping this information confidential and protected. Nintendo will vigorously enforce this responsibility.
Copyright © 1998
Nintendo of America Inc. All rights reserved
Nintendo and N64 are registered trademarks of Nintendo
Last Updated April, 1999