sdk-core v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Loading...
Searching...
No Matches
vif_codes.h
Go to the documentation of this file.
1
6
7#ifndef __VIF_CODES_H__
8#define __VIF_CODES_H__
9
10#include <tamtypes.h>
11
13#define VIF_CMD_NOP 0x00
15#define VIF_CMD_STCYCL 0x01
17#define VIF_CMD_OFFSET 0x02
19#define VIF_CMD_BASE 0x03
21#define VIF_CMD_ITOP 0x04
23#define VIF_CMD_STMOD 0x05
25#define VIF_CMD_MSKPATH3 0x06
27#define VIF_CMD_MARK 0x07
29#define VIF_CMD_FLUSHE 0x10
31#define VIF_CMD_FLUSH 0x11
33#define VIF_CMD_FLUSHA 0x13
35#define VIF_CMD_MSCAL 0x14
37#define VIF_CMD_MSCNT 0x17
39#define VIF_CMD_MSCALF 0x15
41#define VIF_CMD_STMASK 0x20
43#define VIF_CMD_STROW 0x30
45#define VIF_CMD_STCOL 0x31
47#define VIF_CMD_MPG 0x4A
49#define VIF_CMD_DIRECT 0x50
51#define VIF_CMD_DIRECTHL 0x51
52
53
54#define PACK_VIFTAG(Q, W0, W1, W2, W3) \
55 Q->sw[0] = (u32)(W0), \
56 Q->sw[1] = (u32)(W1), \
57 Q->sw[2] = (u32)(W2), \
58 Q->sw[3] = (u32)(W3)
59
61#define VIF_CMD_UNPACK(M, VN, VL) \
62 (u32)((VL)&0x00000003) << 0 | (u32)((VN)&0x00000003) << 2 | \
63 (u32)((M)&0x00000001) << 4 | (u32)((3) & 0x00000003) << 5
64
65#define STCYCL_IMDT(CL, WL) \
66 (u32)((CL)&0x000000FF) << 0 | (u32)((WL)&0x000000FF) << 8
67
68#define OFFSET_IMDT(OFFSET) \
69 (u32)((OFFSET)&0x000003FF)
70
71#define BASE_IMDT(BASE) \
72 (u32)((BASE)&0x000003FF)
73
74#define ITOP_IMDT(ADDR) \
75 (u32)((ADDR)&0x000003FF)
76
77#define STMOD_IMDT(MODE) \
78 (u32)((MODE)&0x00000003)
79
80#define MSKPATH3_IMDT(MASK) \
81 (u32)((MASK)&0x00000001) << 15
82
83#define MARK_IMDT(MARK) \
84 (u32)((MARK)&0x0000FFFF)
85
86#define MSCAL_IMDT(EXECADDR) \
87 (u32)((EXECADDR)&0x0000FFFF)
88
89#define MSCALF_IMDT(EXECADDR) \
90 (u32)((EXECADDR)&0x0000FFFF)
91
92#define MPG_IMDT(LOADADDR) \
93 (u32)((LOADADDR)&0x0000FFFF)
94
95#define MPG_NUM(SIZE) \
96 (u32)((SIZE)&0x000000FF) << 16
97
98#define DIRECT_IMDT(SIZE) \
99 (u32)((SIZE)&0x0000FFFF)
100
101#define DIRECTHL_IMDT(EXECADDR) \
102 (u32)((EXECADDR)&0x0000FFFF)
103
104#define UNPACK_IMDT(ADDR, USN, FLG) \
105 (u32)((ADDR)&0x000003FF) << 0 | (u32)((USN)&0x00000001) << 14 | \
106 (u32)((FLG)&0x00000001) << 15
107
108#define UNPACK_NUM(SIZE) \
109 (u32)((SIZE)&0x000000FF) << 16
110
111#define VIF_CODE(IMDT, NUM, CMD, IRQ) \
112 (u32)((IMDT)&0x0000FFFF) << 0 | (u32)((NUM)&0x000000FF) << 16 | \
113 (u32)((CMD)&0x000000FF) << 24 | (u32)((IRQ)&0x00000001) << 31
114
115#endif /* __VIF_CODES_H__ */