SSBM Decomp
Loading...
Searching...
No Matches
ar.c File Reference
#include <platform.h>
#include <__mem.h>
#include <dolphin/ar/ar.h>
#include <dolphin/dsp/dsp.h>
#include <dolphin/os.h>
#include <dolphin/os/OSContext.h>
#include <dolphin/os/OSInterrupt.h>
#include <dolphin/os/OSTime.h>

Functions

void __ARHandler (__OSInterrupt interrupt, OSContext *context)
 
Event ARRegisterDMACallback (Event callback)
 
u32 ARGetDMAStatus (void)
 
void ARStartDMA (u32 type, u32 mainmem_addr, u32 aram_addr, u32 length)
 
u32 ARAlloc (u32 length)
 
u32 ARFree (u32 *length)
 
bool ARCheckInit (void)
 
u32 ARInit (u32 *stack_index_addr, u32 num_entries)
 
u32 ARGetBaseAddress (void)
 
u32 ARGetSize (void)
 
static void __ARWaitForDMA (void)
 
static void __ARWriteDMA (u32 mmem_addr, u32 aram_addr, u32 length)
 
static void __ARReadDMA (u32 mmem_addr, u32 aram_addr, u32 length)
 
void __ARChecksize (void)
 

Variables

volatile bool __AR_init_flag
 
u32__AR_BlockLength
 
u32 __AR_FreeBlocks
 
u32 __AR_StackPointer
 
u32 __AR_Size
 
Event __AR_Callback
 

Function Documentation

◆ __ARHandler()

void __ARHandler ( __OSInterrupt  interrupt,
OSContext context 
)

◆ ARRegisterDMACallback()

Event ARRegisterDMACallback ( Event  callback)

◆ ARGetDMAStatus()

u32 ARGetDMAStatus ( void  )

◆ ARStartDMA()

void ARStartDMA ( u32  type,
u32  mainmem_addr,
u32  aram_addr,
u32  length 
)

◆ ARAlloc()

u32 ARAlloc ( u32  length)

◆ ARFree()

u32 ARFree ( u32 length)

◆ ARCheckInit()

bool ARCheckInit ( void  )

◆ ARInit()

u32 ARInit ( u32 stack_index_addr,
u32  num_entries 
)
Todo:
Should be a call to one of the OS_TIMER_CLOCK macros

◆ ARGetBaseAddress()

u32 ARGetBaseAddress ( void  )

◆ ARGetSize()

u32 ARGetSize ( void  )

◆ __ARWaitForDMA()

static void __ARWaitForDMA ( void  )
static

◆ __ARWriteDMA()

static void __ARWriteDMA ( u32  mmem_addr,
u32  aram_addr,
u32  length 
)
static

◆ __ARReadDMA()

static void __ARReadDMA ( u32  mmem_addr,
u32  aram_addr,
u32  length 
)
static

◆ __ARChecksize()

void __ARChecksize ( void  )

Variable Documentation

◆ __AR_init_flag

volatile bool __AR_init_flag

◆ __AR_BlockLength

u32* __AR_BlockLength

◆ __AR_FreeBlocks

u32 __AR_FreeBlocks

◆ __AR_StackPointer

u32 __AR_StackPointer

◆ __AR_Size

u32 __AR_Size

◆ __AR_Callback

Event __AR_Callback