SSBM Decomp
Loading...
Searching...
No Matches
ar.h
Go to the documentation of this file.
1#ifndef DOLPHIN_AR_AR_H
2#define DOLPHIN_AR_AR_H
3
4#include <platform.h>
5
6// offsets for __DSPRegs[i]
7#define DSP_MAILBOX_IN_HI (0)
8#define DSP_MAILBOX_IN_LO (1)
9#define DSP_MAILBOX_OUT_HI (2)
10#define DSP_MAILBOX_OUT_LO (3)
11#define DSP_CONTROL_STATUS (5)
12
13#define DSP_ARAM_SIZE (9)
14#define DSP_ARAM_MODE (11)
15#define DSP_ARAM_REFRESH (13)
16#define DSP_ARAM_DMA_MM_HI (16) // Main mem address
17#define DSP_ARAM_DMA_MM_LO (17)
18#define DSP_ARAM_DMA_ARAM_HI (18) // ARAM address
19#define DSP_ARAM_DMA_ARAM_LO (19)
20#define DSP_ARAM_DMA_SIZE_HI (20) // DMA buffer size
21#define DSP_ARAM_DMA_SIZE_LO (21)
22
23#define DSP_DMA_START_HI (24) // DMA start address
24#define DSP_DMA_START_LO (25)
25#define DSP_DMA_CONTROL_LEN (27)
26#define DSP_DMA_BYTES_LEFT (29)
27
28#define DSP_DMA_START_FLAG (0x8000) // set to start DSP
29
30void ARStartDMA(u32 type, u32 source, u32 dest, u32 length);
32void __ARChecksize(void);
34u32 ARGetSize(void);
36u32 ARAlloc(u32 length);
37u32 ARFree(u32* length);
38bool ARCheckInit(void);
39u32 ARInit(u32* stack_index_addr, u32 num_entries);
40
41#endif
u32 ARGetBaseAddress(void)
Definition ar.c:127
u32 ARGetSize(void)
Definition ar.c:132
void ARStartDMA(u32 type, u32 source, u32 dest, u32 length)
Definition ar.c:37
Event ARRegisterDMACallback(Event callback)
Definition ar.c:20
bool ARCheckInit(void)
Definition ar.c:86
u32 ARFree(u32 *length)
Definition ar.c:67
void __ARChecksize(void)
Definition ar.c:225
u32 ARInit(u32 *stack_index_addr, u32 num_entries)
Definition ar.c:91
u32 ARAlloc(u32 length)
Definition ar.c:54
u32 ARGetDMAStatus(void)
Definition ar.c:29
static void callback(HSD_GObj *gobj)
Definition ftDk_SpecialLw.c:88
unsigned long u32
An unsigned 32-bit integer.
Definition platform.h:26
void(* Event)(void)
A void callback with no arguments.
Definition platform.h:77