SSBM Decomp
Toggle main menu visibility
Loading...
Searching...
No Matches
hw_regs.h
Go to the documentation of this file.
1
#ifndef _DOLPHIN_HW_REGS_H_
2
#define _DOLPHIN_HW_REGS_H_
3
4
#if defined(__MWERKS__) && !defined(M2CTX)
5
volatile
u16
__VIRegs
[59] : 0xCC002000;
6
volatile
u32
__PIRegs
[12] : 0xCC003000;
7
volatile
u16
__MEMRegs
[64] : 0xCC004000;
8
volatile
u16
__DSPRegs
[] : 0xCC005000;
9
volatile
u32
__DIRegs
[] : 0xCC006000;
10
volatile
u32
__SIRegs
[0x100] : 0xCC006400;
11
volatile
u32
__EXIRegs
[0x40] : 0xCC006800;
12
volatile
u32
__AIRegs
[8] : 0xCC006C00;
13
#else
14
#define __VIRegs ((volatile u16 *)0xCC002000)
15
#define __PIRegs ((volatile u32 *)0xCC003000)
16
#define __MEMRegs ((volatile u16 *)0xCC004000)
17
#define __DSPRegs ((volatile u16 *)0xCC005000)
18
#define __DIRegs ((volatile u32 *)0xCC006000)
19
#define __SIRegs ((volatile u32 *)0xCC006400)
20
#define __EXIRegs ((volatile u32 *)0xCC006800)
21
#define __AIRegs ((volatile u32 *)0xCC006C00)
22
#endif
23
24
// Offsets for __VIRegs
25
26
// offsets for __VIRegs[i]
27
#define VI_VERT_TIMING (0)
28
#define VI_DISP_CONFIG (1)
29
#define VI_HORIZ_TIMING_0L (2)
30
#define VI_HORIZ_TIMING_0U (3)
31
#define VI_HORIZ_TIMING_1L (4)
32
#define VI_HORIZ_TIMING_1U (5)
33
#define VI_VERT_TIMING_ODD (6)
34
#define VI_VERT_TIMING_ODD_U (7)
35
#define VI_VERT_TIMING_EVEN (8)
36
#define VI_VERT_TIMING_EVEN_U (9)
37
38
#define VI_BBI_ODD (10)
// burst blanking interval
39
#define VI_BBI_ODD_U (11)
// burst blanking interval
40
#define VI_BBI_EVEN (12)
// burst blanking interval
41
#define VI_BBI_EVEN_U (13)
// burst blanking interval
42
43
#define VI_TOP_FIELD_BASE_LEFT (14)
// top in 2d, top of left pic in 3d
44
#define VI_TOP_FIELD_BASE_LEFT_U (15)
// top in 2d, top of left pic in 3d
45
46
#define VI_TOP_FIELD_BASE_RIGHT (16)
// top of right pic in 3d
47
#define VI_TOP_FIELD_BASE_RIGHT_U (17)
// top of right pic in 3d
48
49
#define VI_BTTM_FIELD_BASE_LEFT (18)
// bottom in 2d, bottom of left pic in 3d
50
#define VI_BTTM_FIELD_BASE_LEFT_U (19)
// bottom in 2d, bottom of left pic in 3d
51
52
#define VI_BTTM_FIELD_BASE_RIGHT (20)
// bottom of right pic in 3d
53
#define VI_BTTM_FIELD_BASE_RIGHT_U (21)
// bottom of right pic in 3d
54
55
#define VI_VERT_COUNT (22)
// vertical display position
56
#define VI_HORIZ_COUNT (23)
// horizontal display position
57
58
#define VI_DISP_INT_0 (24)
// display interrupt 0L
59
#define VI_DISP_INT_0U (25)
// display interrupt 0U
60
#define VI_DISP_INT_1 (26)
// display interrupt 1L
61
#define VI_DISP_INT_1U (27)
// display interrupt 1U
62
#define VI_DISP_INT_2 (28)
// display interrupt 2L
63
#define VI_DISP_INT_2U (29)
// display interrupt 2U
64
#define VI_DISP_INT_3 (30)
// display interrupt 3L
65
#define VI_DISP_INT_3U (31)
// display interrupt 3U
66
67
#define VI_HSW (36)
// horizontal scaling width
68
#define VI_HSR (37)
// horizontal scaling register
69
70
#define VI_FCT_0 (38)
// filter coefficient table 0L
71
#define VI_FCT_0U (39)
// filter coefficient table 0U
72
#define VI_FCT_1 (40)
// filter coefficient table 1L
73
#define VI_FCT_1U (41)
// filter coefficient table 1U
74
#define VI_FCT_2 (42)
// filter coefficient table 2L
75
#define VI_FCT_2U (43)
// filter coefficient table 2U
76
#define VI_FCT_3 (44)
// filter coefficient table 3L
77
#define VI_FCT_3U (45)
// filter coefficient table 3U
78
#define VI_FCT_4 (46)
// filter coefficient table 4L
79
#define VI_FCT_4U (47)
// filter coefficient table 4U
80
#define VI_FCT_5 (48)
// filter coefficient table 5L
81
#define VI_FCT_5U (49)
// filter coefficient table 5U
82
#define VI_FCT_6 (50)
// filter coefficient table 6L
83
#define VI_FCT_6U (51)
// filter coefficient table 6U
84
85
#define VI_CLOCK_SEL (54)
// clock select
86
#define VI_DTV_STAT (55)
// DTV status
87
88
#define VI_WIDTH (56)
89
90
// offsets for __DSPRegs[i]
91
#define DSP_MAILBOX_IN_HI (0)
92
#define DSP_MAILBOX_IN_LO (1)
93
#define DSP_MAILBOX_OUT_HI (2)
94
#define DSP_MAILBOX_OUT_LO (3)
95
#define DSP_CONTROL_STATUS (5)
96
97
#define DSP_ARAM_SIZE (9)
98
#define DSP_ARAM_MODE (11)
99
#define DSP_ARAM_REFRESH (13)
100
#define DSP_ARAM_DMA_MM_HI (16)
// Main mem address
101
#define DSP_ARAM_DMA_MM_LO (17)
102
#define DSP_ARAM_DMA_ARAM_HI (18)
// ARAM address
103
#define DSP_ARAM_DMA_ARAM_LO (19)
104
#define DSP_ARAM_DMA_SIZE_HI (20)
// DMA buffer size
105
#define DSP_ARAM_DMA_SIZE_LO (21)
106
107
#define DSP_DMA_START_HI (24)
// DMA start address
108
#define DSP_DMA_START_LO (25)
109
#define DSP_DMA_CONTROL_LEN (27)
110
#define DSP_DMA_BYTES_LEFT (29)
111
112
#define DSP_DMA_START_FLAG (0x8000)
// set to start DSP
113
114
#endif
u32
unsigned long u32
Definition
types.h:9
u16
unsigned short int u16
Definition
types.h:7
__EXIRegs
#define __EXIRegs
Definition
hw_regs.h:20
__VIRegs
#define __VIRegs
Definition
hw_regs.h:14
__MEMRegs
#define __MEMRegs
Definition
hw_regs.h:16
__PIRegs
#define __PIRegs
Definition
hw_regs.h:15
__DSPRegs
#define __DSPRegs
Definition
hw_regs.h:17
__AIRegs
#define __AIRegs
Definition
hw_regs.h:21
__SIRegs
#define __SIRegs
Definition
hw_regs.h:19
__DIRegs
#define __DIRegs
Definition
hw_regs.h:18
extern
dolphin
include
dolphin
hw_regs.h
Generated by
1.17.0