Mario Kart 64
Loading...
Searching...
No Matches
osAiSetNextBuffer.c File Reference
#include "libultra_internal.h"
#include "osAi.h"
#include "hardware.h"
Include dependency graph for osAiSetNextBuffer.c:

Functions

s32 osAiSetNextBuffer (void *buff, u32 len)
 

Variables

u8 hdwrBugFlag = 0
 

Function Documentation

◆ osAiSetNextBuffer()

s32 osAiSetNextBuffer ( void * buff,
u32 len )

It is worth noting that a previous hardware bug has been fixed by a software patch in osAiSetNextBuffer. This bug occurred when the address of the end of the buffer specified by osAiSetNextBuffer was at a specific value. This value occurred when the following was true:

(vaddr + nbytes) & 0x00003FFF == 0x00002000

(when the buffer ends with address of lower 14 bits 0x2000) In this case, the DMA transfer does not complete successfully. This can cause clicks and pops in the audio output. This bug no longer requires special handling by the application because it is now patched by osAiSetNextBuffer.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ hdwrBugFlag

u8 hdwrBugFlag = 0