sdk-core
v2026.11.05
PS2 SDK - core tier (build-critical EE/IOP modules)
Toggle main menu visibility
Loading...
Searching...
No Matches
tamtypes.h
Go to the documentation of this file.
1
/*
2
# _____ ___ ____ ___ ____
3
# ____| | ____| | | |____|
4
# | ___| |____ ___| ____| | \ PS2DEV Open Source Project.
5
#-----------------------------------------------------------------------
6
# Copyright 2001-2004, ps2dev - http://www.ps2dev.org
7
# Licenced under Academic Free License version 2.0
8
# Review ps2sdk README & LICENSE files for further details.
9
*/
10
16
17
#ifndef __TAMTYPES_H__
18
#define __TAMTYPES_H__
19
20
#if !defined(_EE) && !defined(_IOP)
21
#error Either _EE or _IOP must be defined!
22
#endif
23
24
typedef
unsigned
char
u8;
25
typedef
unsigned
short
u16;
26
27
typedef
volatile
u8 vu8;
28
typedef
volatile
u16 vu16;
29
30
#ifdef _EE
31
typedef
unsigned
int
u32;
32
#if __GNUC__ > 3
33
typedef
unsigned
long
long
u64;
34
#else
35
typedef
unsigned
long
u64;
36
#endif
37
typedef
unsigned
int
u128
__attribute__
((mode(TI)));
38
39
typedef
volatile
u32 vu32;
40
typedef
volatile
u64 vu64;
41
typedef
volatile
u128 vu128
__attribute__
((mode(TI)));
42
#endif
43
44
#ifdef _IOP
45
typedef
unsigned
long
u32;
46
typedef
unsigned
long
long
u64;
47
48
typedef
volatile
u32 vu32;
49
typedef
volatile
u64 vu64;
50
#endif
51
52
typedef
signed
char
s8;
53
typedef
signed
short
s16;
54
55
typedef
volatile
s8 vs8;
56
typedef
volatile
s16 vs16;
57
58
#ifdef _EE
59
typedef
signed
int
s32;
60
#if __GNUC__ > 3
61
typedef
signed
long
long
s64;
62
#else
63
typedef
signed
long
s64;
64
#endif
65
typedef
signed
int
s128
__attribute__
((mode(TI)));
66
67
typedef
volatile
s32 vs32;
68
typedef
volatile
s64 vs64;
69
typedef
volatile
s128 vs128
__attribute__
((mode(TI)));
70
#endif
71
72
#ifdef _IOP
73
typedef
signed
long
s32;
74
typedef
signed
long
long
s64;
75
76
typedef
volatile
s32 vs32;
77
typedef
volatile
s64 vs64;
78
#endif
79
80
/* Pointers are 32-bit on both EE and IOP. */
81
typedef
u32 uiptr;
82
typedef
s32 siptr;
83
84
typedef
volatile
u32 vuiptr;
85
typedef
volatile
s32 vsiptr;
86
87
#ifdef _EE
88
typedef
union
89
{
90
u128 qw;
91
u8 b[16];
92
u16 hw[8];
93
u32 sw[4];
94
u64 dw[2];
95
} qword_t;
96
97
#endif
98
99
#ifndef NULL
100
#define NULL (void *)0
101
#endif
102
103
static
inline
u8 _lb(u32 addr)
104
{
105
return
*(vu8 *)addr;
106
}
107
static
inline
u16 _lh(u32 addr) {
return
*(vu16 *)addr; }
108
static
inline
u32 _lw(u32 addr) {
return
*(vu32 *)addr; }
109
110
static
inline
void
_sb(u8 val, u32 addr) { *(vu8 *)addr = val; }
111
static
inline
void
_sh(u16 val, u32 addr) { *(vu16 *)addr = val; }
112
static
inline
void
_sw(u32 val, u32 addr) { *(vu32 *)addr = val; }
113
114
#ifdef _EE
115
static
inline
u64 _ld(u32 addr)
116
{
117
return
*(vu64 *)addr;
118
}
119
static
inline
u128 _lq(u32 addr) {
return
*(vu128 *)addr; }
120
static
inline
void
_sd(u64 val, u32 addr) { *(vu64 *)addr = val; }
121
static
inline
void
_sq(u128 val, u32 addr) { *(vu128 *)addr = val; }
122
#endif
123
124
#endif
/* __TAMTYPES_H__ */
__attribute__
Definition
gif_registers.h:40
core
common
include
tamtypes.h
Generated by
1.18.0