NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
dsp_hardware.h
1#ifndef RVL_SDK_DSP_HARDWARE_H
2#define RVL_SDK_DSP_HARDWARE_H
3#include <types.h>
4#ifdef __cplusplus
5extern "C" {
6#endif
7
8/**
9 * DSP hardware registers
10 */
11volatile u16 DSP_HW_REGS[] : 0xCC005000;
12
13/**
14 * Hardware register indexes
15 */
16typedef enum {
17 DSP_DSPMBOX_H, //!< 0xCC005000
18 DSP_DSPMBOX_L, //!< 0xCC005002
19 DSP_CPUMBOX_H, //!< 0xCC005004
20 DSP_CPUMBOX_L, //!< 0xCC005006
21 DSP_REG_0x8, //!< 0xCC005008
22 DSP_CSR, //!< 0xCC00500A
23 DSP_REG_0xC, //!< 0xCC00500C
24 DSP_REG_0xE, //!< 0xCC00500E
25 DSP_REG_0x10, //!< 0xCC005010
26 DSP_AR_SIZE, //!< 0xCC005012
27 DSP_REG_0x14, //!< 0xCC005014
28 DSP_AR_MODE, //!< 0xCC005016
29 DSP_REG_0x18, //!< 0xCC005018
30 DSP_AR_REFRESH, //!< 0xCC00501A
31 DSP_REG_0x1C, //!< 0xCC00501C
32 DSP_REG_0x1E, //!< 0xCC00501E
33 DSP_AR_DMA_MMADDR_H, //!< 0xCC005020
34 DSP_AR_DMA_MMADDR_L, //!< 0xCC005022
35 DSP_AR_DMA_ARADDR_H, //!< 0xCC005024
36 DSP_AR_DMA_ARADDR_L, //!< 0xCC005026
37 DSP_AR_DMA_CNT_H, //!< 0xCC005028
38 DSP_AR_DMA_CNT_L, //!< 0xCC00502A
39 DSP_REG_0x2C, //!< 0xCC00502C
40 DSP_REG_0x2E, //!< 0xCC00502E
41 DSP_AI_DMA_START_H, //!< 0xCC005030
42 DSP_AI_DMA_START_L, //!< 0xCC005032
43 DSP_REG_0x34, //!< 0xCC005034
44 DSP_AI_DMA_CSR, //!< 0xCC005036
45 DSP_REG_0x38, //!< 0xCC005038
46 DSP_AI_DMA_BYTES_LEFT //!< 0xCC00503A
47} DSPHwReg;
48
49// DSPMBOX_H - DSP Mailbox High (to DSP)
50#define DSP_DSPMBOX_H_STATUS (1 << 15)
51
52// CPUMBOX_H - CPU Mailbox High (from DSP)
53#define DSP_CPUMBOX_H_STATUS (1 << 15)
54
55// CSR - Control Status Register
56#define DSP_CSR_RES (1 << 11)
57#define DSP_CSR_DMAINT (1 << 9)
58#define DSP_CSR_DSPINTMSK (1 << 8)
59#define DSP_CSR_DSPINT (1 << 7)
60#define DSP_CSR_ARINTMSK (1 << 6)
61#define DSP_CSR_ARINT (1 << 5)
62#define DSP_CSR_AIDINTMSK (1 << 4)
63#define DSP_CSR_AIDINT (1 << 3)
64#define DSP_CSR_HALT (1 << 2)
65#define DSP_CSR_PIINT (1 << 1)
66
67// AI_DMA_CSR - AI DMA Control Status Register
68#define DSP_AI_DMA_CSR_PLAY (1 << 15)
69
70#ifdef __cplusplus
71}
72#endif
73#endif