sdk-core
v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Toggle main menu visibility
Loading...
Searching...
No Matches
vif_registers.h
Go to the documentation of this file.
1
6
7
#ifndef __VIF_REGISTERS_H__
8
#define __VIF_REGISTERS_H__
9
10
#include <
tamtypes.h
>
11
12
#define VU0_MEM0_START 0x11000000
13
#define VU0_MICROMEM0_START 0x11004000
14
15
#define VU1_MEM1_START 0x11008000
16
#define VU1_MICROMEM1_START 0x1100C000
17
18
#define VIF0_FIFO 0x10004000
19
#define VIF1_FIFO 0x10005000
20
21
#define VIF0_STAT *(volatile u32 *)0x10003800
22
#define VIF0_FBRST *(volatile u32 *)0x10003810
23
#define VIF0_ERR *(volatile u32 *)0x10003820
24
#define VIF0_MARK *(volatile u32 *)0x10003830
25
#define VIF0_CYCLE *(volatile u32 *)0x10003840
26
#define VIF0_MODE *(volatile u32 *)0x10003850
27
#define VIF0_NUM *(volatile u32 *)0x10003860
28
#define VIF0_MASK *(volatile u32 *)0x10003870
29
#define VIF0_CODE *(volatile u32 *)0x10003880
30
#define VIF0_ITOPS *(volatile u32 *)0x10003890
31
#define VIF0_ITOP *(volatile u32 *)0x100038d0
32
#define VIF0_TOP *(volatile u32 *)0x100038e0
33
#define VIF0_R0 *(volatile u32 *)0x10003900
34
#define VIF0_R1 *(volatile u32 *)0x10003910
35
#define VIF0_R2 *(volatile u32 *)0x10003920
36
#define VIF0_R3 *(volatile u32 *)0x10003930
37
#define VIF0_C0 *(volatile u32 *)0x10003940
38
#define VIF0_C1 *(volatile u32 *)0x10003950
39
#define VIF0_C2 *(volatile u32 *)0x10003960
40
#define VIF0_C3 *(volatile u32 *)0x10003970
41
42
#define VIF1_STAT *(volatile u32 *)0x10003c00
43
#define VIF1_FBRST *(volatile u32 *)0x10003c10
44
#define VIF1_ERR *(volatile u32 *)0x10003c20
45
#define VIF1_MARK *(volatile u32 *)0x10003c30
46
#define VIF1_CYCLE *(volatile u32 *)0x10003c40
47
#define VIF1_MODE *(volatile u32 *)0x10003c50
48
#define VIF1_NUM *(volatile u32 *)0x10003c60
49
#define VIF1_MASK *(volatile u32 *)0x10003c70
50
#define VIF1_CODE *(volatile u32 *)0x10003c80
51
#define VIF1_ITOPS *(volatile u32 *)0x10003c90
52
#define VIF1_BASE *(volatile u32 *)0x10003ca0
53
#define VIF1_OFST *(volatile u32 *)0x10003cb0
54
#define VIF1_TOPS *(volatile u32 *)0x10003cc0
55
#define VIF1_ITOP *(volatile u32 *)0x10003cd0
56
#define VIF1_TOP *(volatile u32 *)0x10003ce0
57
#define VIF1_R0 *(volatile u32 *)0x10003d00
58
#define VIF1_R1 *(volatile u32 *)0x10003d10
59
#define VIF1_R2 *(volatile u32 *)0x10003d20
60
#define VIF1_R3 *(volatile u32 *)0x10003d30
61
#define VIF1_C0 *(volatile u32 *)0x10003d40
62
#define VIF1_C1 *(volatile u32 *)0x10003d50
63
#define VIF1_C2 *(volatile u32 *)0x10003d60
64
#define VIF1_C3 *(volatile u32 *)0x10003d70
65
66
#define VIF_SET_FBRST(RST, FBK, STP, STC) \
67
(u32)((RST)&0x00000001) << 0 | (u32)((FBK)&0x00000001) << 1 | \
68
(u32)((STP)&0x00000001) << 2 | (u32)((STC)&0x00000001) << 3
69
70
#define VIF_SET_ERR(MII, ME0, ME1) \
71
(u32)((MII)&0x00000001) << 0 | (u32)((ME0)&0x00000001) << 1 | \
72
(u32)((ME1)&0x00000001) << 2
73
74
#define VIF_SET_MARK(MARK) \
75
(u32)((MARK)&0x0000FFFF) << 0
76
77
typedef
struct
78
{
79
u32 vps : 2;
80
u32 vew : 1;
81
u32 vgw : 1;
// vif1
82
u32 pad0 : 2;
83
u32 mrk : 1;
84
u32 dbf : 1;
// vif1
85
u32 vss : 1;
86
u32 vfs : 1;
87
u32 vis : 1;
88
u32 irq : 1;
89
u32 er0 : 1;
90
u32 er1 : 1;
91
u32 pad1 : 9;
92
u32 fdr : 1;
// vif1
93
u32 fqc : 5;
94
u32 pad2 : 3;
95
}
__attribute__
((packed)) VIFSTAT;
96
97
typedef
struct
98
{
99
u32 cl : 8;
100
u32 wl : 8;
101
u32 pad0 : 16;
102
}
__attribute__
((packed)) VIFCYCLE;
103
104
typedef
struct
105
{
106
u32 mode : 2;
107
u32 pad0 : 30;
108
}
__attribute__
((packed)) VIFMODE;
109
110
typedef
struct
111
{
112
u32 m0 : 2;
113
u32 m1 : 2;
114
u32 m2 : 2;
115
u32 m3 : 2;
116
u32 m4 : 2;
117
u32 m5 : 2;
118
u32 m6 : 2;
119
u32 m7 : 2;
120
u32 m8 : 2;
121
u32 m9 : 2;
122
u32 m10 : 2;
123
u32 m11 : 2;
124
u32 m12 : 2;
125
u32 m13 : 2;
126
u32 m14 : 2;
127
u32 m15 : 2;
128
}
__attribute__
((packed)) VIFMASK;
129
130
typedef
struct
131
{
132
u32 imdt : 16;
133
u32 num : 8;
134
u32 cmd : 8;
135
}
__attribute__
((packed)) VIFCODE;
136
137
typedef
struct
138
{
139
u32 itops : 10;
140
u32 pad0 : 22;
141
}
__attribute__
((packed)) VIFITOPS;
142
143
typedef
struct
144
{
145
u32 base : 10;
146
u32 pad0 : 22;
147
}
__attribute__
((packed)) VIF1BASE;
// vif1
148
149
typedef
struct
150
{
151
u32 offset : 10;
152
u32 pad0 : 22;
153
}
__attribute__
((packed)) VIF1OFST;
// vif1
154
155
typedef
struct
156
{
157
u32 tops : 10;
158
u32 pad0 : 22;
159
}
__attribute__
((packed)) VIF1TOPS;
// vif1
160
161
typedef
struct
162
{
163
u32 itop : 10;
164
u32 pad0 : 22;
165
}
__attribute__
((packed)) VIFITOP;
166
167
typedef
struct
168
{
169
u32 top : 10;
170
u32 pad0 : 22;
171
}
__attribute__
((packed)) VIFTOP;
172
173
typedef
struct
174
{
175
u32 row;
176
}
VIFR
;
177
178
typedef
struct
179
{
180
u32 column;
181
}
VIFC
;
182
183
#endif
/* __VIF_REGISTERS_H__ */
VIFC
Definition
vif_registers.h:179
VIFR
Definition
vif_registers.h:174
__attribute__
Definition
gif_registers.h:40
tamtypes.h
core
common
include
vif_registers.h
Generated by
1.18.0