blob: 5767cbd0594db541932373ab03a23adc0af52440 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
#ifndef PSTYPES_H
#define PSTYPES_H
// CPU
#define PS_REG_at 0
#define PS_REG_v0 1
#define PS_REG_v1 2
#define PS_REG_a0 3
#define PS_REG_a1 4
#define PS_REG_a2 5
#define PS_REG_a3 6
#define PS_REG_t0 7
#define PS_REG_t1 8
#define PS_REG_t2 9
#define PS_REG_t3 10
#define PS_REG_t4 11
#define PS_REG_t5 12
#define PS_REG_t6 13
#define PS_REG_t7 14
#define PS_REG_s0 15
#define PS_REG_s1 16
#define PS_REG_s2 17
#define PS_REG_s3 18
#define PS_REG_s4 19
#define PS_REG_s5 20
#define PS_REG_s6 21
#define PS_REG_s7 22
#define PS_REG_t8 23
#define PS_REG_t9 24
#define PS_REG_k0 25
#define PS_REG_k1 26
#define PS_REG_gp 27
#define PS_REG_sp 28
#define PS_REG_fp 29
#define PS_REG_ra 30
#define PS_REG_lo 31
#define PS_REG_hi 32
// cop0
#define PS_REG_epc 33
#define PS_REG_cause 34
#define PS_REG_status 35
#define PS_REG_baddr 36
#define PS_REG_tar 37
#define PS_REG_dcic 38
#define PS_REG_opcode 39
typedef struct {
unsigned int pc0;
unsigned int gp0;
unsigned int t_addr;
unsigned int t_size;
unsigned int d_addr;
unsigned int d_size;
unsigned int b_addr;
unsigned int b_size;
unsigned int sp_addr;
unsigned int sp_size;
unsigned int sp;
unsigned int fp;
unsigned int gp;
unsigned int ret;
unsigned int base;
} EXEC;
typedef struct {
char header[8];
char pad[8];
EXEC params;
char license[64];
char pad2[1908];
} PSEXE;
typedef struct {
EXEC params;
unsigned int crc32;
unsigned int flags;
} EXEPARAM;
#endif /* PSTYPES_H */
|