blob: 08e5c3858ad345f9fbad69f2806c6617faa0fa98 (
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
|
# Inline GTE macros for GNU assembler (as).
#
# 2019 Meido-Tek Productions
#
.macro nRTPS
nop
nop
cop2 0x0180001
.endm
.macro nRTPT
nop
nop
cop2 0x0280030
.endm
.macro nNCLIP
nop
nop
cop2 0x1400006
.endm
.macro nAVSZ3
nop
nop
cop2 0x158002D
.endm
.macro nAVSZ4
nop
nop
cop2 0x168002E
.endm
.macro nMVMVA sf mx v cv lm
nop
nop
cop2 0x0400012|(\sf<<19)|(\mx<<17)|(\v<<15)|(\cv<<13)|(\lm<<10)
.endm
.macro nSQR sf
nop
nop
cop2 0x0A00428|(\sf<<19)
.endm
.macro nnOP sf lm # extra n to prevent conflict with the nop opcode
nop
nop
cop2 0x170000C|(\sf<<19)|(\lm<<10)
.endm
.macro nNCS
nop
nop
cop2 0x0C8041E
.endm
.macro nNCT
nop
nop
cop2 0x0D80420
.endm
.macro nNCCS
nop
nop
cop2 0x108041B
.endm
.macro nNCCT
nop
nop
cop2 0x118043F
.endm
.macro nNCDS
nop
nop
cop2 0x0E80413
.endm
.macro nNCDT
nop
nop
cop2 0x0F80416
.endm
.macro nCC
nop
nop
cop2 0x138041C
.endm
.macro nCDP
nop
nop
cop2 0x1280414
.endm
.macro nDCPL
nop
nop
cop2 0x0680029
.endm
.macro nDPCS
nop
nop
cop2 0x0780010
.endm
.macro nDPCT
nop
nop
cop2 0x0180001
.endm
.macro nINTPL
nop
nop
cop2 0x0980011
.endm
.macro nGPF sf
nop
nop
cop2 0x190003D|(\sf<<19)
.endm
.macro nGPL sf
nop
nop
cop2 0x1A0003E|(\sf<<19)
.endm
#
# Macros without leading nops (for optimized usage)
#
.macro RTPS
cop2 0x0180001
.endm
.macro RTPT
cop2 0x0280030
.endm
.macro NCLIP
cop2 0x1400006
.endm
.macro AVSZ3
cop2 0x158002D
.endm
.macro AVSZ4
cop2 0x168002E
.endm
.macro MVMVA sf mx v cv lm
cop2 0x0400012|(\sf<<19)|(\mx<<17)|(\v<<15)|(\cv<<13)|(\lm<<10)
.endm
.macro SQR sf
cop2 0x0A00428|(\sf<<19)
.endm
.macro OP sf lm
cop2 0x170000C|(\sf<<19)|(\lm<<10)
.endm
.macro NCS
cop2 0x0C8041E
.endm
.macro NCT
cop2 0x0D80420
.endm
.macro NCCS
cop2 0x108041B
.endm
.macro NCCT
cop2 0x118043F
.endm
.macro NCDS
cop2 0x0E80413
.endm
.macro NCDT
cop2 0x0F80416
.endm
.macro CC
cop2 0x138041C
.endm
.macro CDP
cop2 0x1280414
.endm
.macro DCPL
cop2 0x0680029
.endm
.macro DPCS
cop2 0x0780010
.endm
.macro DPCT
cop2 0x0180001
.endm
.macro INTPL
cop2 0x0980011
.endm
.macro GPF sf
cop2 0x190003D|(\sf<<19)
.endm
.macro GPL sf
cop2 0x1A0003E|(\sf<<19)
.endm
|