sdk-core v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Loading...
Searching...
No Matches
gif_registers.h
Go to the documentation of this file.
1
6
7#ifndef __GIF_REGISTERS_H__
8#define __GIF_REGISTERS_H__
9
10#include <tamtypes.h>
11
13#define GIF_REG_CTRL *(volatile u32 *)0x10003000
15#define GIF_REG_MODE *(volatile u32 *)0x10003010
17#define GIF_REG_STAT *(volatile u32 *)0x10003020
19#define GIF_REG_TAG0 *(volatile u32 *)0x10003040
21#define GIF_REG_TAG1 *(volatile u32 *)0x10003050
23#define GIF_REG_TAG2 *(volatile u32 *)0x10003060
25#define GIF_REG_TAG3 *(volatile u32 *)0x10003070
27#define GIF_REG_CNT *(volatile u32 *)0x10003080
29#define GIF_REG_P3CNT *(volatile u32 *)0x10003090
31#define GIF_REG_P3TAG *(volatile u32 *)0x100030A0
32
33#define GIF_SET_CTRL(RST, PSE) \
34 (u32)((RST)&0x00000001) << 0 | (u32)((PSE)&0x00000001) << 3
35
36#define GIF_SET_MODE(M3R, IMT) \
37 (u32)((M3R)&0x00000001) << 0 | (u32)((IMT)&0x00000001) << 2
38
39typedef struct
40{
41 u32 m3r : 1;
42 u32 m3p : 1;
43 u32 imt : 1;
44 u32 pse : 1;
45 u32 ip3 : 1;
46 u32 p3q : 1;
47 u32 p2q : 1;
48 u32 p1q : 1;
49 u32 oph : 1;
50 u32 apath : 2;
51 u32 dir : 1;
52 u32 pad0 : 11;
53 u32 fqc : 5;
54 u32 pad1 : 3;
55} __attribute__((packed)) GIFSTAT;
56
57typedef struct
58{
59 u32 nloop : 15;
60 u32 eop : 1;
61 u32 tag : 16;
62} __attribute__((packed)) GIFTAG0;
63
64typedef struct
65{
66 u32 tag : 14;
67 u32 pre : 1;
68 u32 prim : 11;
69 u32 flg : 2;
70 u32 nreg : 4;
71} __attribute__((packed)) GIFTAG1;
72
73typedef struct
74{
75 u32 loregs;
76} GIFTAG2;
77
78typedef struct
79{
80 u32 hiregs;
81} GIFTAG3;
82
83typedef struct
84{
85 u32 loopcnt : 15;
86 u32 pad0 : 1;
87 u32 regcnt : 4;
88 u32 vuaddr : 10;
89 u32 pad1 : 2;
90} __attribute__((packed)) GIFCNT;
91
92typedef struct
93{
94 u32 p3cnt : 15;
95 u32 pad0 : 17;
96} __attribute__((packed)) GIFP3CNT;
97
98typedef struct
99{
100 u32 loopcnt : 15;
101 u32 eop : 1;
102 u32 pad0 : 16;
103} __attribute__((packed)) GIFP3TAG;
104
105#endif /*__GIF_REGISTERS_H__*/