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

## alAudioFrame

Syntax

    #include <libaudio.h>
    Acmd *alAudioFrame(Acmd *cmdList, s32 *cmdLen, s16 *outBuf, s32 outLen);

Arguments

- cmdList is the pointer to the location at which to start writing the audio command list
- cmdLen is the pointer to the location where alAudioFrame is to write the length of the command list it generates
- outBuf is the pointer to the DRAM location where the audio microcode, when executing the audio command list generated by alAudioFrame, is to write the synthesized audio samples
- outLen is the number of stereo samples that the audio command list is to generate.

Explanation
It generates an audio command list that, when executed on the RSP, puts a buffer of outLen-synthesized stereo samples at the DRAM location specified by outBuf. An audio command list is a sequence of commands or directions that is interpreted by the RSP audio microcode as describing how audio is to be synthesized. The outBuf should contain four bytes for each sample requested by outLen because stereo 16-bit samples are generated. The alAudioFrame function writes the length, in number of RSP commands (each eight bytes long), of the command list it generates to the signed 32-bit value pointed to by the cmdLen argument. It also returns a pointer to the next available command list location.
If there are no players associated with the synthesizer, alAudioFrame sets cmdLen to zero and the application should not send the task to the RSP.
Note that alAudioFrame does not actually cause the command list to be executed.

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