summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar bunnei2014-04-16 20:41:33 -0400
committerGravatar bunnei2014-04-16 20:41:33 -0400
commitde3dcd38f6572da88a67e625e6aa98c2a2f786d7 (patch)
treea829306a3e12733409e549fa7223a232364ac418
parent- added stubbed out GSP::Gpu service interface (diff)
downloadyuzu-de3dcd38f6572da88a67e625e6aa98c2a2f786d7.tar.gz
yuzu-de3dcd38f6572da88a67e625e6aa98c2a2f786d7.tar.xz
yuzu-de3dcd38f6572da88a67e625e6aa98c2a2f786d7.zip
- fixed tabs in function_wrappers.h
- fixed log message wording in hle.cpp - added syscall stubs for CloseHandle and WaitSynchronization1
-rw-r--r--src/core/hle/function_wrappers.h541
-rw-r--r--src/core/hle/hle.cpp2
-rw-r--r--src/core/hle/hle.h1
-rw-r--r--src/core/hle/syscall.cpp264
4 files changed, 413 insertions, 395 deletions
diff --git a/src/core/hle/function_wrappers.h b/src/core/hle/function_wrappers.h
index 22588d95d..7d9389769 100644
--- a/src/core/hle/function_wrappers.h
+++ b/src/core/hle/function_wrappers.h
@@ -25,659 +25,659 @@
25 25
26//32bit wrappers 26//32bit wrappers
27template<void func()> void WrapV_V() { 27template<void func()> void WrapV_V() {
28 func(); 28 func();
29} 29}
30 30
31template<u32 func()> void WrapU_V() { 31template<u32 func()> void WrapU_V() {
32 RETURN(func()); 32 RETURN(func());
33} 33}
34 34
35template<int func(void *, const char *)> void WrapI_VC() { 35template<int func(void *, const char *)> void WrapI_VC() {
36 u32 retval = func(Memory::GetPointer(PARAM(0)), Memory::GetCharPointer(PARAM(1))); 36 u32 retval = func(Memory::GetPointer(PARAM(0)), Memory::GetCharPointer(PARAM(1)));
37 RETURN(retval); 37 RETURN(retval);
38} 38}
39 39
40template<u32 func(int, void *, int)> void WrapU_IVI() { 40template<u32 func(int, void *, int)> void WrapU_IVI() {
41 u32 retval = func(PARAM(0), Memory::GetPointer(PARAM(1)), PARAM(2)); 41 u32 retval = func(PARAM(0), Memory::GetPointer(PARAM(1)), PARAM(2));
42 RETURN(retval); 42 RETURN(retval);
43} 43}
44 44
45template<int func(const char *, int, int, u32)> void WrapI_CIIU() { 45template<int func(const char *, int, int, u32)> void WrapI_CIIU() {
46 u32 retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2), PARAM(3)); 46 u32 retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2), PARAM(3));
47 RETURN(retval); 47 RETURN(retval);
48} 48}
49 49
50template<int func(int, const char *, u32, void *, void *, u32, int)> void WrapI_ICUVVUI() { 50template<int func(int, const char *, u32, void *, void *, u32, int)> void WrapI_ICUVVUI() {
51 u32 retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1)), PARAM(2), Memory::GetPointer(PARAM(3)),Memory::GetPointer(PARAM(4)), PARAM(5), PARAM(6) ); 51 u32 retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1)), PARAM(2), Memory::GetPointer(PARAM(3)),Memory::GetPointer(PARAM(4)), PARAM(5), PARAM(6) );
52 RETURN(retval); 52 RETURN(retval);
53} 53}
54 54
55// Hm, do so many params get passed in registers? 55// Hm, do so many params get passed in registers?
56template<int func(const char *, int, const char *, int, int, int, int, int)> void WrapI_CICIIIII() { 56template<int func(const char *, int, const char *, int, int, int, int, int)> void WrapI_CICIIIII() {
57 u32 retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), Memory::GetCharPointer(PARAM(2)), 57 u32 retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), Memory::GetCharPointer(PARAM(2)),
58 PARAM(3), PARAM(4), PARAM(5), PARAM(6), PARAM(7)); 58 PARAM(3), PARAM(4), PARAM(5), PARAM(6), PARAM(7));
59 RETURN(retval); 59 RETURN(retval);
60} 60}
61 61
62// Hm, do so many params get passed in registers? 62// Hm, do so many params get passed in registers?
63template<int func(const char *, int, int, int, int, int, int)> void WrapI_CIIIIII() { 63template<int func(const char *, int, int, int, int, int, int)> void WrapI_CIIIIII() {
64 u32 retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2), 64 u32 retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2),
65 PARAM(3), PARAM(4), PARAM(5), PARAM(6)); 65 PARAM(3), PARAM(4), PARAM(5), PARAM(6));
66 RETURN(retval); 66 RETURN(retval);
67} 67}
68 68
69// Hm, do so many params get passed in registers? 69// Hm, do so many params get passed in registers?
70template<int func(int, int, int, int, int, int, u32)> void WrapI_IIIIIIU() { 70template<int func(int, int, int, int, int, int, u32)> void WrapI_IIIIIIU() {
71 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4), PARAM(5), PARAM(6)); 71 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4), PARAM(5), PARAM(6));
72 RETURN(retval); 72 RETURN(retval);
73} 73}
74 74
75// Hm, do so many params get passed in registers? 75// Hm, do so many params get passed in registers?
76template<int func(int, int, int, int, int, int, int, int, u32)> void WrapI_IIIIIIIIU() { 76template<int func(int, int, int, int, int, int, int, int, u32)> void WrapI_IIIIIIIIU() {
77 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4), PARAM(5), PARAM(6), PARAM(7), PARAM(8)); 77 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4), PARAM(5), PARAM(6), PARAM(7), PARAM(8));
78 RETURN(retval); 78 RETURN(retval);
79} 79}
80 80
81template<u32 func(int, void *)> void WrapU_IV() { 81template<u32 func(int, void *)> void WrapU_IV() {
82 u32 retval = func(PARAM(0), Memory::GetPointer(PARAM(1))); 82 u32 retval = func(PARAM(0), Memory::GetPointer(PARAM(1)));
83 RETURN(retval); 83 RETURN(retval);
84} 84}
85 85
86template<float func()> void WrapF_V() { 86template<float func()> void WrapF_V() {
87 RETURNF(func()); 87 RETURNF(func());
88} 88}
89 89
90// TODO: Not sure about the floating point parameter passing 90// TODO: Not sure about the floating point parameter passing
91template<float func(int, float, u32)> void WrapF_IFU() { 91template<float func(int, float, u32)> void WrapF_IFU() {
92 RETURNF(func(PARAM(0), PARAMF(0), PARAM(1))); 92 RETURNF(func(PARAM(0), PARAMF(0), PARAM(1)));
93} 93}
94 94
95template<u32 func(u32)> void WrapU_U() { 95template<u32 func(u32)> void WrapU_U() {
96 u32 retval = func(PARAM(0)); 96 u32 retval = func(PARAM(0));
97 RETURN(retval); 97 RETURN(retval);
98} 98}
99 99
100template<u32 func(u32, int)> void WrapU_UI() { 100template<u32 func(u32, int)> void WrapU_UI() {
101 u32 retval = func(PARAM(0), PARAM(1)); 101 u32 retval = func(PARAM(0), PARAM(1));
102 RETURN(retval); 102 RETURN(retval);
103} 103}
104 104
105template<int func(u32)> void WrapI_U() { 105template<int func(u32)> void WrapI_U() {
106 int retval = func(PARAM(0)); 106 int retval = func(PARAM(0));
107 RETURN(retval); 107 RETURN(retval);
108} 108}
109 109
110template<int func(u32, int)> void WrapI_UI() { 110template<int func(u32, int)> void WrapI_UI() {
111 int retval = func(PARAM(0), PARAM(1)); 111 int retval = func(PARAM(0), PARAM(1));
112 RETURN(retval); 112 RETURN(retval);
113} 113}
114 114
115template<int func(u32, int, int, u32)> void WrapI_UIIU() { 115template<int func(u32, int, int, u32)> void WrapI_UIIU() {
116 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3)); 116 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3));
117 RETURN(retval); 117 RETURN(retval);
118} 118}
119 119
120template<u32 func(int, u32, int)> void WrapU_IUI() { 120template<u32 func(int, u32, int)> void WrapU_IUI() {
121 u32 retval = func(PARAM(0), PARAM(1), PARAM(2)); 121 u32 retval = func(PARAM(0), PARAM(1), PARAM(2));
122 RETURN(retval); 122 RETURN(retval);
123} 123}
124 124
125template<int func(u32, u32)> void WrapI_UU() { 125template<int func(u32, u32)> void WrapI_UU() {
126 int retval = func(PARAM(0), PARAM(1)); 126 int retval = func(PARAM(0), PARAM(1));
127 RETURN(retval); 127 RETURN(retval);
128} 128}
129 129
130template<int func(u32, float, float)> void WrapI_UFF() { 130template<int func(u32, float, float)> void WrapI_UFF() {
131 // Not sure about the float arguments. 131 // Not sure about the float arguments.
132 int retval = func(PARAM(0), PARAMF(0), PARAMF(1)); 132 int retval = func(PARAM(0), PARAMF(0), PARAMF(1));
133 RETURN(retval); 133 RETURN(retval);
134} 134}
135 135
136template<int func(u32, u32, u32)> void WrapI_UUU() { 136template<int func(u32, u32, u32)> void WrapI_UUU() {
137 int retval = func(PARAM(0), PARAM(1), PARAM(2)); 137 int retval = func(PARAM(0), PARAM(1), PARAM(2));
138 RETURN(retval); 138 RETURN(retval);
139} 139}
140 140
141template<int func(u32, u32, u32, int)> void WrapI_UUUI() { 141template<int func(u32, u32, u32, int)> void WrapI_UUUI() {
142 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3)); 142 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3));
143 RETURN(retval); 143 RETURN(retval);
144} 144}
145 145
146template<int func(u32, u32, u32, int, int, int,int )> void WrapI_UUUIIII() { 146template<int func(u32, u32, u32, int, int, int,int )> void WrapI_UUUIIII() {
147 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4), PARAM(5), PARAM(6)); 147 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4), PARAM(5), PARAM(6));
148 RETURN(retval); 148 RETURN(retval);
149} 149}
150 150
151template<int func(u32, u32, u32, u32)> void WrapI_UUUU() { 151template<int func(u32, u32, u32, u32)> void WrapI_UUUU() {
152 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3)); 152 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3));
153 RETURN(retval); 153 RETURN(retval);
154} 154}
155 155
156template<int func(u32, u32, u32, u32, u32)> void WrapI_UUUUU() { 156template<int func(u32, u32, u32, u32, u32)> void WrapI_UUUUU() {
157 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4)); 157 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4));
158 RETURN(retval); 158 RETURN(retval);
159} 159}
160 160
161template<int func()> void WrapI_V() { 161template<int func()> void WrapI_V() {
162 int retval = func(); 162 int retval = func();
163 RETURN(retval); 163 RETURN(retval);
164} 164}
165 165
166template<u32 func(int)> void WrapU_I() { 166template<u32 func(int)> void WrapU_I() {
167 u32 retval = func(PARAM(0)); 167 u32 retval = func(PARAM(0));
168 RETURN(retval); 168 RETURN(retval);
169} 169}
170 170
171template<u32 func(int, int, u32)> void WrapU_IIU() { 171template<u32 func(int, int, u32)> void WrapU_IIU() {
172 u32 retval = func(PARAM(0), PARAM(1), PARAM(2)); 172 u32 retval = func(PARAM(0), PARAM(1), PARAM(2));
173 RETURN(retval); 173 RETURN(retval);
174} 174}
175 175
176template<int func(int)> void WrapI_I() { 176template<int func(int)> void WrapI_I() {
177 int retval = func(PARAM(0)); 177 int retval = func(PARAM(0));
178 RETURN(retval); 178 RETURN(retval);
179} 179}
180 180
181template<void func(u32)> void WrapV_U() { 181template<void func(u32)> void WrapV_U() {
182 func(PARAM(0)); 182 func(PARAM(0));
183} 183}
184 184
185template<void func(int)> void WrapV_I() { 185template<void func(int)> void WrapV_I() {
186 func(PARAM(0)); 186 func(PARAM(0));
187} 187}
188 188
189template<void func(u32, u32)> void WrapV_UU() { 189template<void func(u32, u32)> void WrapV_UU() {
190 func(PARAM(0), PARAM(1)); 190 func(PARAM(0), PARAM(1));
191} 191}
192 192
193template<void func(int, int)> void WrapV_II() { 193template<void func(int, int)> void WrapV_II() {
194 func(PARAM(0), PARAM(1)); 194 func(PARAM(0), PARAM(1));
195} 195}
196 196
197template<void func(u32, const char *)> void WrapV_UC() { 197template<void func(u32, const char *)> void WrapV_UC() {
198 func(PARAM(0), Memory::GetCharPointer(PARAM(1))); 198 func(PARAM(0), Memory::GetCharPointer(PARAM(1)));
199} 199}
200 200
201template<int func(u32, const char *)> void WrapI_UC() { 201template<int func(u32, const char *)> void WrapI_UC() {
202 int retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1))); 202 int retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1)));
203 RETURN(retval); 203 RETURN(retval);
204} 204}
205 205
206template<int func(u32, const char *, int)> void WrapI_UCI() { 206template<int func(u32, const char *, int)> void WrapI_UCI() {
207 int retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1)), PARAM(2)); 207 int retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1)), PARAM(2));
208 RETURN(retval); 208 RETURN(retval);
209} 209}
210 210
211template<u32 func(u32, int , int , int, int, int)> void WrapU_UIIIII() { 211template<u32 func(u32, int , int , int, int, int)> void WrapU_UIIIII() {
212 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4), PARAM(5)); 212 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4), PARAM(5));
213 RETURN(retval); 213 RETURN(retval);
214} 214}
215 215
216template<u32 func(u32, int , int , int, u32)> void WrapU_UIIIU() { 216template<u32 func(u32, int , int , int, u32)> void WrapU_UIIIU() {
217 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4)); 217 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4));
218 RETURN(retval); 218 RETURN(retval);
219} 219}
220 220
221template<u32 func(u32, int , int , int, int, int, int)> void WrapU_UIIIIII() { 221template<u32 func(u32, int , int , int, int, int, int)> void WrapU_UIIIIII() {
222 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4), PARAM(5), PARAM(6)); 222 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4), PARAM(5), PARAM(6));
223 RETURN(retval); 223 RETURN(retval);
224} 224}
225 225
226template<u32 func(u32, u32)> void WrapU_UU() { 226template<u32 func(u32, u32)> void WrapU_UU() {
227 u32 retval = func(PARAM(0), PARAM(1)); 227 u32 retval = func(PARAM(0), PARAM(1));
228 RETURN(retval); 228 RETURN(retval);
229} 229}
230 230
231template<u32 func(u32, u32, int)> void WrapU_UUI() { 231template<u32 func(u32, u32, int)> void WrapU_UUI() {
232 u32 retval = func(PARAM(0), PARAM(1), PARAM(2)); 232 u32 retval = func(PARAM(0), PARAM(1), PARAM(2));
233 RETURN(retval); 233 RETURN(retval);
234} 234}
235 235
236template<u32 func(u32, u32, int, int)> void WrapU_UUII() { 236template<u32 func(u32, u32, int, int)> void WrapU_UUII() {
237 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3)); 237 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3));
238 RETURN(retval); 238 RETURN(retval);
239} 239}
240 240
241template<u32 func(const char *, u32, u32, u32)> void WrapU_CUUU() { 241template<u32 func(const char *, u32, u32, u32)> void WrapU_CUUU() {
242 u32 retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2), PARAM(3)); 242 u32 retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2), PARAM(3));
243 RETURN(retval); 243 RETURN(retval);
244} 244}
245 245
246template<void func(u32, int, u32, int, int)> void WrapV_UIUII() { 246template<void func(u32, int, u32, int, int)> void WrapV_UIUII() {
247 func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4)); 247 func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4));
248} 248}
249 249
250template<u32 func(u32, int, u32, int, int)> void WrapU_UIUII() { 250template<u32 func(u32, int, u32, int, int)> void WrapU_UIUII() {
251 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4)); 251 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4));
252 RETURN(retval); 252 RETURN(retval);
253} 253}
254 254
255template<int func(u32, int, u32, int, int)> void WrapI_UIUII() { 255template<int func(u32, int, u32, int, int)> void WrapI_UIUII() {
256 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4)); 256 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4));
257 RETURN(retval); 257 RETURN(retval);
258} 258}
259 259
260template<u32 func(u32, int, u32, int)> void WrapU_UIUI() { 260template<u32 func(u32, int, u32, int)> void WrapU_UIUI() {
261 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3)); 261 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3));
262 RETURN(retval); 262 RETURN(retval);
263} 263}
264 264
265template<int func(u32, int, u32, int)> void WrapI_UIUI() { 265template<int func(u32, int, u32, int)> void WrapI_UIUI() {
266 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3)); 266 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3));
267 RETURN(retval); 267 RETURN(retval);
268} 268}
269 269
270template<u32 func(u32, int, u32)> void WrapU_UIU() { 270template<u32 func(u32, int, u32)> void WrapU_UIU() {
271 u32 retval = func(PARAM(0), PARAM(1), PARAM(2)); 271 u32 retval = func(PARAM(0), PARAM(1), PARAM(2));
272 RETURN(retval); 272 RETURN(retval);
273} 273}
274 274
275template<u32 func(u32, int, u32, u32)> void WrapU_UIUU() { 275template<u32 func(u32, int, u32, u32)> void WrapU_UIUU() {
276 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3)); 276 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3));
277 RETURN(retval); 277 RETURN(retval);
278} 278}
279 279
280template<u32 func(u32, int, int)> void WrapU_UII() { 280template<u32 func(u32, int, int)> void WrapU_UII() {
281 u32 retval = func(PARAM(0), PARAM(1), PARAM(2)); 281 u32 retval = func(PARAM(0), PARAM(1), PARAM(2));
282 RETURN(retval); 282 RETURN(retval);
283} 283}
284 284
285template<u32 func(u32, int, int, u32)> void WrapU_UIIU() { 285template<u32 func(u32, int, int, u32)> void WrapU_UIIU() {
286 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3)); 286 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3));
287 RETURN(retval); 287 RETURN(retval);
288} 288}
289 289
290template<int func(u32, int, int, u32, u32)> void WrapI_UIIUU() { 290template<int func(u32, int, int, u32, u32)> void WrapI_UIIUU() {
291 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4)); 291 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4));
292 RETURN(retval); 292 RETURN(retval);
293} 293}
294 294
295template<int func(u32, u32, int, int)> void WrapI_UUII() { 295template<int func(u32, u32, int, int)> void WrapI_UUII() {
296 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3)); 296 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3));
297 RETURN(retval); 297 RETURN(retval);
298} 298}
299 299
300template<int func(u32, u32, int, int, int)> void WrapI_UUIII() { 300template<int func(u32, u32, int, int, int)> void WrapI_UUIII() {
301 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4)); 301 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4));
302 RETURN(retval); 302 RETURN(retval);
303} 303}
304 304
305template<void func(u32, int, int, int)> void WrapV_UIII() { 305template<void func(u32, int, int, int)> void WrapV_UIII() {
306 func(PARAM(0), PARAM(1), PARAM(2), PARAM(3)); 306 func(PARAM(0), PARAM(1), PARAM(2), PARAM(3));
307} 307}
308 308
309template<void func(u32, int, int, int, int, int)> void WrapV_UIIIII() { 309template<void func(u32, int, int, int, int, int)> void WrapV_UIIIII() {
310 func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4), PARAM(5)); 310 func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4), PARAM(5));
311} 311}
312 312
313template<void func(u32, int, int)> void WrapV_UII() { 313template<void func(u32, int, int)> void WrapV_UII() {
314 func(PARAM(0), PARAM(1), PARAM(2)); 314 func(PARAM(0), PARAM(1), PARAM(2));
315} 315}
316 316
317template<u32 func(int, u32)> void WrapU_IU() { 317template<u32 func(int, u32)> void WrapU_IU() {
318 int retval = func(PARAM(0), PARAM(1)); 318 int retval = func(PARAM(0), PARAM(1));
319 RETURN(retval); 319 RETURN(retval);
320} 320}
321 321
322template<int func(int, u32)> void WrapI_IU() { 322template<int func(int, u32)> void WrapI_IU() {
323 int retval = func(PARAM(0), PARAM(1)); 323 int retval = func(PARAM(0), PARAM(1));
324 RETURN(retval); 324 RETURN(retval);
325} 325}
326 326
327template<int func(u32, u32, int)> void WrapI_UUI() { 327template<int func(u32, u32, int)> void WrapI_UUI() {
328 int retval = func(PARAM(0), PARAM(1), PARAM(2)); 328 int retval = func(PARAM(0), PARAM(1), PARAM(2));
329 RETURN(retval); 329 RETURN(retval);
330} 330}
331 331
332template<int func(u32, u32, int, u32)> void WrapI_UUIU() { 332template<int func(u32, u32, int, u32)> void WrapI_UUIU() {
333 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3)); 333 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3));
334 RETURN(retval); 334 RETURN(retval);
335} 335}
336 336
337template<int func(int, int)> void WrapI_II() { 337template<int func(int, int)> void WrapI_II() {
338 int retval = func(PARAM(0), PARAM(1)); 338 int retval = func(PARAM(0), PARAM(1));
339 RETURN(retval); 339 RETURN(retval);
340} 340}
341 341
342template<int func(int, int, int)> void WrapI_III() { 342template<int func(int, int, int)> void WrapI_III() {
343 int retval = func(PARAM(0), PARAM(1), PARAM(2)); 343 int retval = func(PARAM(0), PARAM(1), PARAM(2));
344 RETURN(retval); 344 RETURN(retval);
345} 345}
346 346
347template<int func(int, u32, int)> void WrapI_IUI() { 347template<int func(int, u32, int)> void WrapI_IUI() {
348 int retval = func(PARAM(0), PARAM(1), PARAM(2)); 348 int retval = func(PARAM(0), PARAM(1), PARAM(2));
349 RETURN(retval); 349 RETURN(retval);
350} 350}
351 351
352template<int func(int, int, int, int)> void WrapI_IIII() { 352template<int func(int, int, int, int)> void WrapI_IIII() {
353 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3)); 353 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3));
354 RETURN(retval); 354 RETURN(retval);
355} 355}
356 356
357template<int func(u32, int, int, int)> void WrapI_UIII() { 357template<int func(u32, int, int, int)> void WrapI_UIII() {
358 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3)); 358 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3));
359 RETURN(retval); 359 RETURN(retval);
360} 360}
361 361
362template<int func(int, int, int, u32, int)> void WrapI_IIIUI() { 362template<int func(int, int, int, u32, int)> void WrapI_IIIUI() {
363 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4)); 363 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4));
364 RETURN(retval); 364 RETURN(retval);
365} 365}
366 366
367template<int func(int, u32, u32, int, int)> void WrapI_IUUII() { 367template<int func(int, u32, u32, int, int)> void WrapI_IUUII() {
368 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4)); 368 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4));
369 RETURN(retval); 369 RETURN(retval);
370} 370}
371 371
372template<int func(int, const char *, int, u32, u32)> void WrapI_ICIUU() { 372template<int func(int, const char *, int, u32, u32)> void WrapI_ICIUU() {
373 int retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1)), PARAM(2), PARAM(3), PARAM(4)); 373 int retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1)), PARAM(2), PARAM(3), PARAM(4));
374 RETURN(retval); 374 RETURN(retval);
375} 375}
376 376
377template<int func(int, int, u32)> void WrapI_IIU() { 377template<int func(int, int, u32)> void WrapI_IIU() {
378 int retval = func(PARAM(0), PARAM(1), PARAM(2)); 378 int retval = func(PARAM(0), PARAM(1), PARAM(2));
379 RETURN(retval); 379 RETURN(retval);
380} 380}
381 381
382template<void func(int, u32)> void WrapV_IU() { 382template<void func(int, u32)> void WrapV_IU() {
383 func(PARAM(0), PARAM(1)); 383 func(PARAM(0), PARAM(1));
384} 384}
385 385
386template<void func(u32, int)> void WrapV_UI() { 386template<void func(u32, int)> void WrapV_UI() {
387 func(PARAM(0), PARAM(1)); 387 func(PARAM(0), PARAM(1));
388} 388}
389 389
390template<u32 func(const char *)> void WrapU_C() { 390template<u32 func(const char *)> void WrapU_C() {
391 u32 retval = func(Memory::GetCharPointer(PARAM(0))); 391 u32 retval = func(Memory::GetCharPointer(PARAM(0)));
392 RETURN(retval); 392 RETURN(retval);
393} 393}
394 394
395template<u32 func(const char *, const char *, const char *, u32)> void WrapU_CCCU() { 395template<u32 func(const char *, const char *, const char *, u32)> void WrapU_CCCU() {
396 u32 retval = func(Memory::GetCharPointer(PARAM(0)), 396 u32 retval = func(Memory::GetCharPointer(PARAM(0)),
397 Memory::GetCharPointer(PARAM(1)), Memory::GetCharPointer(PARAM(2)), 397 Memory::GetCharPointer(PARAM(1)), Memory::GetCharPointer(PARAM(2)),
398 PARAM(3)); 398 PARAM(3));
399 RETURN(retval); 399 RETURN(retval);
400} 400}
401 401
402template<int func(const char *)> void WrapI_C() { 402template<int func(const char *)> void WrapI_C() {
403 int retval = func(Memory::GetCharPointer(PARAM(0))); 403 int retval = func(Memory::GetCharPointer(PARAM(0)));
404 RETURN(retval); 404 RETURN(retval);
405} 405}
406 406
407template<int func(const char *, u32)> void WrapI_CU() { 407template<int func(const char *, u32)> void WrapI_CU() {
408 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1)); 408 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1));
409 RETURN(retval); 409 RETURN(retval);
410} 410}
411 411
412template<int func(const char *, u32, int)> void WrapI_CUI() { 412template<int func(const char *, u32, int)> void WrapI_CUI() {
413 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2)); 413 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2));
414 RETURN(retval); 414 RETURN(retval);
415} 415}
416 416
417template<int func(int, const char *, int, u32)> void WrapI_ICIU() { 417template<int func(int, const char *, int, u32)> void WrapI_ICIU() {
418 int retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1)), PARAM(2), PARAM(3)); 418 int retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1)), PARAM(2), PARAM(3));
419 RETURN(retval); 419 RETURN(retval);
420} 420}
421 421
422template<int func(const char *, int, u32)> void WrapI_CIU() { 422template<int func(const char *, int, u32)> void WrapI_CIU() {
423 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2)); 423 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2));
424 RETURN(retval); 424 RETURN(retval);
425} 425}
426 426
427template<int func(const char *, u32, u32)> void WrapI_CUU() { 427template<int func(const char *, u32, u32)> void WrapI_CUU() {
428 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2)); 428 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2));
429 RETURN(retval); 429 RETURN(retval);
430} 430}
431 431
432template<int func(const char *, u32, u32, u32)> void WrapI_CUUU() { 432template<int func(const char *, u32, u32, u32)> void WrapI_CUUU() {
433 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2), 433 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2),
434 PARAM(3)); 434 PARAM(3));
435 RETURN(retval); 435 RETURN(retval);
436} 436}
437 437
438template<int func(const char *, const char*, int, int)> void WrapI_CCII() { 438template<int func(const char *, const char*, int, int)> void WrapI_CCII() {
439 int retval = func(Memory::GetCharPointer(PARAM(0)), Memory::GetCharPointer(PARAM(1)), PARAM(2), PARAM(3)); 439 int retval = func(Memory::GetCharPointer(PARAM(0)), Memory::GetCharPointer(PARAM(1)), PARAM(2), PARAM(3));
440 RETURN(retval); 440 RETURN(retval);
441} 441}
442 442
443template<int func(const char *, u32, u32, int, u32, u32)> void WrapI_CUUIUU() { 443template<int func(const char *, u32, u32, int, u32, u32)> void WrapI_CUUIUU() {
444 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2), 444 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2),
445 PARAM(3), PARAM(4), PARAM(5)); 445 PARAM(3), PARAM(4), PARAM(5));
446 RETURN(retval); 446 RETURN(retval);
447} 447}
448 448
449template<int func(const char *, int, int, u32, int, int)> void WrapI_CIIUII() { 449template<int func(const char *, int, int, u32, int, int)> void WrapI_CIIUII() {
450 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2), 450 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2),
451 PARAM(3), PARAM(4), PARAM(5)); 451 PARAM(3), PARAM(4), PARAM(5));
452 RETURN(retval); 452 RETURN(retval);
453} 453}
454 454
455template<int func(const char *, int, u32, u32, u32)> void WrapI_CIUUU() { 455template<int func(const char *, int, u32, u32, u32)> void WrapI_CIUUU() {
456 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2), 456 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2),
457 PARAM(3), PARAM(4)); 457 PARAM(3), PARAM(4));
458 RETURN(retval); 458 RETURN(retval);
459} 459}
460 460
461template<int func(const char *, u32, u32, u32, u32, u32)> void WrapI_CUUUUU() { 461template<int func(const char *, u32, u32, u32, u32, u32)> void WrapI_CUUUUU() {
462 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2), 462 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2),
463 PARAM(3), PARAM(4), PARAM(5)); 463 PARAM(3), PARAM(4), PARAM(5));
464 RETURN(retval); 464 RETURN(retval);
465} 465}
466 466
467template<u32 func(const char *, u32)> void WrapU_CU() { 467template<u32 func(const char *, u32)> void WrapU_CU() {
468 u32 retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1)); 468 u32 retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1));
469 RETURN((u32) retval); 469 RETURN((u32) retval);
470} 470}
471 471
472template<u32 func(u32, const char *)> void WrapU_UC() { 472template<u32 func(u32, const char *)> void WrapU_UC() {
473 u32 retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1))); 473 u32 retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1)));
474 RETURN(retval); 474 RETURN(retval);
475} 475}
476 476
477template<u32 func(const char *, u32, u32)> void WrapU_CUU() { 477template<u32 func(const char *, u32, u32)> void WrapU_CUU() {
478 u32 retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2)); 478 u32 retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2));
479 RETURN((u32) retval); 479 RETURN((u32) retval);
480} 480}
481 481
482template<u32 func(int, int, int)> void WrapU_III() { 482template<u32 func(int, int, int)> void WrapU_III() {
483 u32 retval = func(PARAM(0), PARAM(1), PARAM(2)); 483 u32 retval = func(PARAM(0), PARAM(1), PARAM(2));
484 RETURN(retval); 484 RETURN(retval);
485} 485}
486 486
487template<u32 func(int, int)> void WrapU_II() { 487template<u32 func(int, int)> void WrapU_II() {
488 u32 retval = func(PARAM(0), PARAM(1)); 488 u32 retval = func(PARAM(0), PARAM(1));
489 RETURN(retval); 489 RETURN(retval);
490} 490}
491 491
492template<u32 func(int, int, int, int)> void WrapU_IIII() { 492template<u32 func(int, int, int, int)> void WrapU_IIII() {
493 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3)); 493 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3));
494 RETURN(retval); 494 RETURN(retval);
495} 495}
496 496
497template<u32 func(int, u32, u32)> void WrapU_IUU() { 497template<u32 func(int, u32, u32)> void WrapU_IUU() {
498 u32 retval = func(PARAM(0), PARAM(1), PARAM(2)); 498 u32 retval = func(PARAM(0), PARAM(1), PARAM(2));
499 RETURN(retval); 499 RETURN(retval);
500} 500}
501 501
502template<u32 func(int, u32, u32, u32)> void WrapU_IUUU() { 502template<u32 func(int, u32, u32, u32)> void WrapU_IUUU() {
503 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3)); 503 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3));
504 RETURN(retval); 504 RETURN(retval);
505} 505}
506 506
507template<u32 func(int, u32, u32, u32, u32)> void WrapU_IUUUU() { 507template<u32 func(int, u32, u32, u32, u32)> void WrapU_IUUUU() {
508 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4)); 508 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4));
509 RETURN(retval); 509 RETURN(retval);
510} 510}
511 511
512template<u32 func(u32, u32, u32)> void WrapU_UUU() { 512template<u32 func(u32, u32, u32)> void WrapU_UUU() {
513 u32 retval = func(PARAM(0), PARAM(1), PARAM(2)); 513 u32 retval = func(PARAM(0), PARAM(1), PARAM(2));
514 RETURN(retval); 514 RETURN(retval);
515} 515}
516 516
517template<void func(int, u32, u32)> void WrapV_IUU() { 517template<void func(int, u32, u32)> void WrapV_IUU() {
518 func(PARAM(0), PARAM(1), PARAM(2)); 518 func(PARAM(0), PARAM(1), PARAM(2));
519} 519}
520 520
521template<void func(int, int, u32)> void WrapV_IIU() { 521template<void func(int, int, u32)> void WrapV_IIU() {
522 func(PARAM(0), PARAM(1), PARAM(2)); 522 func(PARAM(0), PARAM(1), PARAM(2));
523} 523}
524 524
525template<void func(u32, int, u32)> void WrapV_UIU() { 525template<void func(u32, int, u32)> void WrapV_UIU() {
526 func(PARAM(0), PARAM(1), PARAM(2)); 526 func(PARAM(0), PARAM(1), PARAM(2));
527} 527}
528 528
529template<int func(u32, int, u32)> void WrapI_UIU() { 529template<int func(u32, int, u32)> void WrapI_UIU() {
530 int retval = func(PARAM(0), PARAM(1), PARAM(2)); 530 int retval = func(PARAM(0), PARAM(1), PARAM(2));
531 RETURN(retval); 531 RETURN(retval);
532} 532}
533 533
534template<void func(int, u32, u32, u32, u32)> void WrapV_IUUUU() { 534template<void func(int, u32, u32, u32, u32)> void WrapV_IUUUU() {
535 func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4)); 535 func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4));
536} 536}
537 537
538template<void func(u32, u32, u32)> void WrapV_UUU() { 538template<void func(u32, u32, u32)> void WrapV_UUU() {
539 func(PARAM(0), PARAM(1), PARAM(2)); 539 func(PARAM(0), PARAM(1), PARAM(2));
540} 540}
541 541
542template<void func(u32, u32, u32, u32)> void WrapV_UUUU() { 542template<void func(u32, u32, u32, u32)> void WrapV_UUUU() {
543 func(PARAM(0), PARAM(1), PARAM(2), PARAM(3)); 543 func(PARAM(0), PARAM(1), PARAM(2), PARAM(3));
544} 544}
545 545
546template<void func(const char *, u32, int, u32)> void WrapV_CUIU() { 546template<void func(const char *, u32, int, u32)> void WrapV_CUIU() {
547 func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2), PARAM(3)); 547 func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2), PARAM(3));
548} 548}
549 549
550template<int func(const char *, u32, int, u32)> void WrapI_CUIU() { 550template<int func(const char *, u32, int, u32)> void WrapI_CUIU() {
551 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2), PARAM(3)); 551 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2), PARAM(3));
552 RETURN(retval); 552 RETURN(retval);
553} 553}
554 554
555template<void func(u32, const char *, u32, int, u32)> void WrapV_UCUIU() { 555template<void func(u32, const char *, u32, int, u32)> void WrapV_UCUIU() {
556 func(PARAM(0), Memory::GetCharPointer(PARAM(1)), PARAM(2), PARAM(3), 556 func(PARAM(0), Memory::GetCharPointer(PARAM(1)), PARAM(2), PARAM(3),
557 PARAM(4)); 557 PARAM(4));
558} 558}
559 559
560template<int func(u32, const char *, u32, int, u32)> void WrapI_UCUIU() { 560template<int func(u32, const char *, u32, int, u32)> void WrapI_UCUIU() {
561 int retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1)), PARAM(2), 561 int retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1)), PARAM(2),
562 PARAM(3), PARAM(4)); 562 PARAM(3), PARAM(4));
563 RETURN(retval); 563 RETURN(retval);
564} 564}
565 565
566template<void func(const char *, u32, int, int, u32)> void WrapV_CUIIU() { 566template<void func(const char *, u32, int, int, u32)> void WrapV_CUIIU() {
567 func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2), PARAM(3), 567 func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2), PARAM(3),
568 PARAM(4)); 568 PARAM(4));
569} 569}
570 570
571template<int func(const char *, u32, int, int, u32)> void WrapI_CUIIU() { 571template<int func(const char *, u32, int, int, u32)> void WrapI_CUIIU() {
572 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2), 572 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2),
573 PARAM(3), PARAM(4)); 573 PARAM(3), PARAM(4));
574 RETURN(retval); 574 RETURN(retval);
575} 575}
576 576
577template<u32 func(u32, u32, u32, u32)> void WrapU_UUUU() { 577template<u32 func(u32, u32, u32, u32)> void WrapU_UUUU() {
578 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3)); 578 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3));
579 RETURN(retval); 579 RETURN(retval);
580} 580}
581 581
582template<u32 func(u32, const char *, u32, u32)> void WrapU_UCUU() { 582template<u32 func(u32, const char *, u32, u32)> void WrapU_UCUU() {
583 u32 retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1)), PARAM(2), PARAM(3)); 583 u32 retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1)), PARAM(2), PARAM(3));
584 RETURN(retval); 584 RETURN(retval);
585} 585}
586 586
587template<u32 func(u32, u32, u32, int)> void WrapU_UUUI() { 587template<u32 func(u32, u32, u32, int)> void WrapU_UUUI() {
588 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3)); 588 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3));
589 RETURN(retval); 589 RETURN(retval);
590} 590}
591 591
592template<u32 func(u32, u32, u32, int, u32)> void WrapU_UUUIU() { 592template<u32 func(u32, u32, u32, int, u32)> void WrapU_UUUIU() {
593 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4)); 593 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4));
594 RETURN(retval); 594 RETURN(retval);
595} 595}
596 596
597template<u32 func(u32, u32, u32, int, u32, int)> void WrapU_UUUIUI() { 597template<u32 func(u32, u32, u32, int, u32, int)> void WrapU_UUUIUI() {
598 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4), PARAM(5)); 598 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4), PARAM(5));
599 RETURN(retval); 599 RETURN(retval);
600} 600}
601 601
602template<u32 func(u32, u32, int, u32)> void WrapU_UUIU() { 602template<u32 func(u32, u32, int, u32)> void WrapU_UUIU() {
603 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3)); 603 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3));
604 RETURN(retval); 604 RETURN(retval);
605} 605}
606 606
607template<u32 func(u32, int, int, int)> void WrapU_UIII() { 607template<u32 func(u32, int, int, int)> void WrapU_UIII() {
608 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3)); 608 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3));
609 RETURN(retval); 609 RETURN(retval);
610} 610}
611 611
612template<int func(int, u32, u32, u32, u32)> void WrapI_IUUUU() { 612template<int func(int, u32, u32, u32, u32)> void WrapI_IUUUU() {
613 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4)); 613 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4));
614 RETURN(retval); 614 RETURN(retval);
615} 615}
616 616
617template<int func(int, u32, u32, u32, u32, u32)> void WrapI_IUUUUU() { 617template<int func(int, u32, u32, u32, u32, u32)> void WrapI_IUUUUU() {
618 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4), PARAM(5)); 618 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4), PARAM(5));
619 RETURN(retval); 619 RETURN(retval);
620} 620}
621 621
622template<int func(int, u32, int, int)> void WrapI_IUII() { 622template<int func(int, u32, int, int)> void WrapI_IUII() {
623 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3)); 623 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3));
624 RETURN(retval); 624 RETURN(retval);
625} 625}
626template<u32 func(u32, u32, u32, u32, u32)> void WrapU_UUUUU() { 626template<u32 func(u32, u32, u32, u32, u32)> void WrapU_UUUUU() {
627 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4)); 627 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4));
628 RETURN(retval); 628 RETURN(retval);
629} 629}
630 630
631template<void func(u32, u32, u32, u32, u32)> void WrapV_UUUUU() { 631template<void func(u32, u32, u32, u32, u32)> void WrapV_UUUUU() {
632 func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4)); 632 func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4));
633} 633}
634 634
635template<u32 func(const char *, const char *)> void WrapU_CC() { 635template<u32 func(const char *, const char *)> void WrapU_CC() {
636 int retval = func(Memory::GetCharPointer(PARAM(0)), 636 int retval = func(Memory::GetCharPointer(PARAM(0)),
637 Memory::GetCharPointer(PARAM(1))); 637 Memory::GetCharPointer(PARAM(1)));
638 RETURN(retval); 638 RETURN(retval);
639} 639}
640 640
641template<void func(const char *, int)> void WrapV_CI() { 641template<void func(const char *, int)> void WrapV_CI() {
642 func(Memory::GetCharPointer(PARAM(0)), PARAM(1)); 642 func(Memory::GetCharPointer(PARAM(0)), PARAM(1));
643} 643}
644 644
645template<u32 func(const char *, int)> void WrapU_CI() { 645template<u32 func(const char *, int)> void WrapU_CI() {
646 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1)); 646 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1));
647 RETURN(retval); 647 RETURN(retval);
648} 648}
649 649
650template<u32 func(const char *, int, int)> void WrapU_CII() { 650template<u32 func(const char *, int, int)> void WrapU_CII() {
651 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2)); 651 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2));
652 RETURN(retval); 652 RETURN(retval);
653} 653}
654 654
655template<int func(const char *, int, u32, int, u32)> void WrapU_CIUIU() { 655template<int func(const char *, int, u32, int, u32)> void WrapU_CIUIU() {
656 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2), 656 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2),
657 PARAM(3), PARAM(4)); 657 PARAM(3), PARAM(4));
658 RETURN(retval); 658 RETURN(retval);
659} 659}
660 660
661template<u32 func(const char *, int, u32, int, u32, int)> void WrapU_CIUIUI() { 661template<u32 func(const char *, int, u32, int, u32, int)> void WrapU_CIUIUI() {
662 u32 retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2), 662 u32 retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2),
663 PARAM(3), PARAM(4), PARAM(5)); 663 PARAM(3), PARAM(4), PARAM(5));
664 RETURN(retval); 664 RETURN(retval);
665} 665}
666 666
667template<u32 func(u32, u32, u32, u32, u32, u32)> void WrapU_UUUUUU() { 667template<u32 func(u32, u32, u32, u32, u32, u32)> void WrapU_UUUUUU() {
668 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4), 668 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3), PARAM(4),
669 PARAM(5)); 669 PARAM(5));
670 RETURN(retval); 670 RETURN(retval);
671} 671}
672 672
673template<int func(int, u32, u32, u32)> void WrapI_IUUU() { 673template<int func(int, u32, u32, u32)> void WrapI_IUUU() {
674 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3)); 674 int retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3));
675 RETURN(retval); 675 RETURN(retval);
676} 676}
677 677
678template<int func(int, u32, u32)> void WrapI_IUU() { 678template<int func(int, u32, u32)> void WrapI_IUU() {
679 int retval = func(PARAM(0), PARAM(1), PARAM(2)); 679 int retval = func(PARAM(0), PARAM(1), PARAM(2));
680 RETURN(retval); 680 RETURN(retval);
681} 681}
682 682
683template<u32 func(u32, u32, u32, u32, u32, u32, u32)> void WrapU_UUUUUUU() { 683template<u32 func(u32, u32, u32, u32, u32, u32, u32)> void WrapU_UUUUUUU() {
@@ -686,33 +686,33 @@ template<u32 func(u32, u32, u32, u32, u32, u32, u32)> void WrapU_UUUUUUU() {
686} 686}
687 687
688template<int func(u32, int, u32, u32)> void WrapI_UIUU() { 688template<int func(u32, int, u32, u32)> void WrapI_UIUU() {
689 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3)); 689 u32 retval = func(PARAM(0), PARAM(1), PARAM(2), PARAM(3));
690 RETURN(retval); 690 RETURN(retval);
691} 691}
692 692
693template<int func(int, const char *)> void WrapI_IC() { 693template<int func(int, const char *)> void WrapI_IC() {
694 int retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1))); 694 int retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1)));
695 RETURN(retval); 695 RETURN(retval);
696} 696}
697 697
698template <int func(int, const char *, const char *, u32, int)> void WrapI_ICCUI() { 698template <int func(int, const char *, const char *, u32, int)> void WrapI_ICCUI() {
699 int retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1)), Memory::GetCharPointer(PARAM(2)), PARAM(3), PARAM(4)); 699 int retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1)), Memory::GetCharPointer(PARAM(2)), PARAM(3), PARAM(4));
700 RETURN(retval); 700 RETURN(retval);
701} 701}
702 702
703template <int func(int, const char *, const char *, int)> void WrapI_ICCI() { 703template <int func(int, const char *, const char *, int)> void WrapI_ICCI() {
704 int retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1)), Memory::GetCharPointer(PARAM(2)), PARAM(3)); 704 int retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1)), Memory::GetCharPointer(PARAM(2)), PARAM(3));
705 RETURN(retval); 705 RETURN(retval);
706} 706}
707 707
708template <int func(const char *, int, int)> void WrapI_CII() { 708template <int func(const char *, int, int)> void WrapI_CII() {
709 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2)); 709 int retval = func(Memory::GetCharPointer(PARAM(0)), PARAM(1), PARAM(2));
710 RETURN(retval); 710 RETURN(retval);
711} 711}
712 712
713template <int func(int, const char *, int)> void WrapI_ICI() { 713template <int func(int, const char *, int)> void WrapI_ICI() {
714 int retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1)), PARAM(2)); 714 int retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1)), PARAM(2));
715 RETURN(retval); 715 RETURN(retval);
716} 716}
717 717
718template<int func(int, void *, void *, void *, void *, u32, int)> void WrapI_IVVVVUI(){ 718template<int func(int, void *, void *, void *, void *, u32, int)> void WrapI_IVVVVUI(){
@@ -724,3 +724,8 @@ template<int func(int, const char *, u32, void *, int, int, int)> void WrapI_ICU
724 u32 retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1)), PARAM(2), Memory::GetPointer(PARAM(3)), PARAM(4), PARAM(5), PARAM(6)); 724 u32 retval = func(PARAM(0), Memory::GetCharPointer(PARAM(1)), PARAM(2), Memory::GetPointer(PARAM(3)), PARAM(4), PARAM(5), PARAM(6));
725 RETURN(retval); 725 RETURN(retval);
726} 726}
727
728template<int func(u32, s64)> void WrapI_US64() {
729 int retval = func(PARAM(0), PARAM64(2));
730 RETURN(retval);
731}
diff --git a/src/core/hle/hle.cpp b/src/core/hle/hle.cpp
index c173b82de..5672a659f 100644
--- a/src/core/hle/hle.cpp
+++ b/src/core/hle/hle.cpp
@@ -76,7 +76,7 @@ void CallSyscall(u32 opcode) {
76 if (info->func) { 76 if (info->func) {
77 info->func(); 77 info->func();
78 } else { 78 } else {
79 ERROR_LOG(HLE, "Unimplemented HLE function %s", info->name); 79 ERROR_LOG(HLE, "Unimplemented SysCall function %s(..)", info->name.c_str());
80 } 80 }
81} 81}
82 82
diff --git a/src/core/hle/hle.h b/src/core/hle/hle.h
index d02948be3..628a1da89 100644
--- a/src/core/hle/hle.h
+++ b/src/core/hle/hle.h
@@ -10,6 +10,7 @@
10//////////////////////////////////////////////////////////////////////////////////////////////////// 10////////////////////////////////////////////////////////////////////////////////////////////////////
11 11
12#define PARAM(n) Core::g_app_core->GetReg(n) 12#define PARAM(n) Core::g_app_core->GetReg(n)
13#define PARAM64(n) (Core::g_app_core->GetReg(n) | ((u64)Core::g_app_core->GetReg(n + 1) << 32))
13#define RETURN(n) Core::g_app_core->SetReg(0, n) 14#define RETURN(n) Core::g_app_core->SetReg(0, n)
14 15
15//////////////////////////////////////////////////////////////////////////////////////////////////// 16////////////////////////////////////////////////////////////////////////////////////////////////////
diff --git a/src/core/hle/syscall.cpp b/src/core/hle/syscall.cpp
index 8225f168b..c5b887795 100644
--- a/src/core/hle/syscall.cpp
+++ b/src/core/hle/syscall.cpp
@@ -27,133 +27,145 @@ Result SendSyncRequest(Handle session) {
27 return 0; 27 return 0;
28} 28}
29 29
30/// Close a handle
31Result CloseHandle(Handle handle) {
32 // ImplementMe
33 return 0;
34}
35
36/// Wait for a handle to synchronize, timeout after the specified nanoseconds
37Result WaitSynchronization1(Handle handle, s64 nanoseconds) {
38 // ImplementMe
39 return 0;
40}
41
30const HLE::FunctionDef Syscall_Table[] = { 42const HLE::FunctionDef Syscall_Table[] = {
31 {0x00, NULL, "Unknown"}, 43 {0x00, NULL, "Unknown"},
32 {0x01, NULL, "ControlMemory"}, 44 {0x01, NULL, "ControlMemory"},
33 {0x02, NULL, "QueryMemory"}, 45 {0x02, NULL, "QueryMemory"},
34 {0x03, NULL, "ExitProcess"}, 46 {0x03, NULL, "ExitProcess"},
35 {0x04, NULL, "GetProcessAffinityMask"}, 47 {0x04, NULL, "GetProcessAffinityMask"},
36 {0x05, NULL, "SetProcessAffinityMask"}, 48 {0x05, NULL, "SetProcessAffinityMask"},
37 {0x06, NULL, "GetProcessIdealProcessor"}, 49 {0x06, NULL, "GetProcessIdealProcessor"},
38 {0x07, NULL, "SetProcessIdealProcessor"}, 50 {0x07, NULL, "SetProcessIdealProcessor"},
39 {0x08, NULL, "CreateThread"}, 51 {0x08, NULL, "CreateThread"},
40 {0x09, NULL, "ExitThread"}, 52 {0x09, NULL, "ExitThread"},
41 {0x0A, NULL, "SleepThread"}, 53 {0x0A, NULL, "SleepThread"},
42 {0x0B, NULL, "GetThreadPriority"}, 54 {0x0B, NULL, "GetThreadPriority"},
43 {0x0C, NULL, "SetThreadPriority"}, 55 {0x0C, NULL, "SetThreadPriority"},
44 {0x0D, NULL, "GetThreadAffinityMask"}, 56 {0x0D, NULL, "GetThreadAffinityMask"},
45 {0x0E, NULL, "SetThreadAffinityMask"}, 57 {0x0E, NULL, "SetThreadAffinityMask"},
46 {0x0F, NULL, "GetThreadIdealProcessor"}, 58 {0x0F, NULL, "GetThreadIdealProcessor"},
47 {0x10, NULL, "SetThreadIdealProcessor"}, 59 {0x10, NULL, "SetThreadIdealProcessor"},
48 {0x11, NULL, "GetCurrentProcessorNumber"}, 60 {0x11, NULL, "GetCurrentProcessorNumber"},
49 {0x12, NULL, "Run"}, 61 {0x12, NULL, "Run"},
50 {0x13, NULL, "CreateMutex"}, 62 {0x13, NULL, "CreateMutex"},
51 {0x14, NULL, "ReleaseMutex"}, 63 {0x14, NULL, "ReleaseMutex"},
52 {0x15, NULL, "CreateSemaphore"}, 64 {0x15, NULL, "CreateSemaphore"},
53 {0x16, NULL, "ReleaseSemaphore"}, 65 {0x16, NULL, "ReleaseSemaphore"},
54 {0x17, NULL, "CreateEvent"}, 66 {0x17, NULL, "CreateEvent"},
55 {0x18, NULL, "SignalEvent"}, 67 {0x18, NULL, "SignalEvent"},
56 {0x19, NULL, "ClearEvent"}, 68 {0x19, NULL, "ClearEvent"},
57 {0x1A, NULL, "CreateTimer"}, 69 {0x1A, NULL, "CreateTimer"},
58 {0x1B, NULL, "SetTimer"}, 70 {0x1B, NULL, "SetTimer"},
59 {0x1C, NULL, "CancelTimer"}, 71 {0x1C, NULL, "CancelTimer"},
60 {0x1D, NULL, "ClearTimer"}, 72 {0x1D, NULL, "ClearTimer"},
61 {0x1E, NULL, "CreateMemoryBlock"}, 73 {0x1E, NULL, "CreateMemoryBlock"},
62 {0x1F, NULL, "MapMemoryBlock"}, 74 {0x1F, NULL, "MapMemoryBlock"},
63 {0x20, NULL, "UnmapMemoryBlock"}, 75 {0x20, NULL, "UnmapMemoryBlock"},
64 {0x21, NULL, "CreateAddressArbiter"}, 76 {0x21, NULL, "CreateAddressArbiter"},
65 {0x22, NULL, "ArbitrateAddress"}, 77 {0x22, NULL, "ArbitrateAddress"},
66 {0x23, NULL, "CloseHandle"}, 78 {0x23, WrapI_U<CloseHandle>, "CloseHandle"},
67 {0x24, NULL, "WaitSynchronization1"}, 79 {0x24, WrapI_US64<WaitSynchronization1>, "WaitSynchronization1"},
68 {0x25, NULL, "WaitSynchronizationN"}, 80 {0x25, NULL, "WaitSynchronizationN"},
69 {0x26, NULL, "SignalAndWait"}, 81 {0x26, NULL, "SignalAndWait"},
70 {0x27, NULL, "DuplicateHandle"}, 82 {0x27, NULL, "DuplicateHandle"},
71 {0x28, NULL, "GetSystemTick"}, 83 {0x28, NULL, "GetSystemTick"},
72 {0x29, NULL, "GetHandleInfo"}, 84 {0x29, NULL, "GetHandleInfo"},
73 {0x2A, NULL, "GetSystemInfo"}, 85 {0x2A, NULL, "GetSystemInfo"},
74 {0x2B, NULL, "GetProcessInfo"}, 86 {0x2B, NULL, "GetProcessInfo"},
75 {0x2C, NULL, "GetThreadInfo"}, 87 {0x2C, NULL, "GetThreadInfo"},
76 {0x2D, WrapI_VC<ConnectToPort>, "ConnectToPort"}, 88 {0x2D, WrapI_VC<ConnectToPort>, "ConnectToPort"},
77 {0x2E, NULL, "SendSyncRequest1"}, 89 {0x2E, NULL, "SendSyncRequest1"},
78 {0x2F, NULL, "SendSyncRequest2"}, 90 {0x2F, NULL, "SendSyncRequest2"},
79 {0x30, NULL, "SendSyncRequest3"}, 91 {0x30, NULL, "SendSyncRequest3"},
80 {0x31, NULL, "SendSyncRequest4"}, 92 {0x31, NULL, "SendSyncRequest4"},
81 {0x32, WrapI_U<SendSyncRequest>, "SendSyncRequest"}, 93 {0x32, WrapI_U<SendSyncRequest>, "SendSyncRequest"},
82 {0x33, NULL, "OpenProcess"}, 94 {0x33, NULL, "OpenProcess"},
83 {0x34, NULL, "OpenThread"}, 95 {0x34, NULL, "OpenThread"},
84 {0x35, NULL, "GetProcessId"}, 96 {0x35, NULL, "GetProcessId"},
85 {0x36, NULL, "GetProcessIdOfThread"}, 97 {0x36, NULL, "GetProcessIdOfThread"},
86 {0x37, NULL, "GetThreadId"}, 98 {0x37, NULL, "GetThreadId"},
87 {0x38, NULL, "GetResourceLimit"}, 99 {0x38, NULL, "GetResourceLimit"},
88 {0x39, NULL, "GetResourceLimitLimitValues"}, 100 {0x39, NULL, "GetResourceLimitLimitValues"},
89 {0x3A, NULL, "GetResourceLimitCurrentValues"}, 101 {0x3A, NULL, "GetResourceLimitCurrentValues"},
90 {0x3B, NULL, "GetThreadContext"}, 102 {0x3B, NULL, "GetThreadContext"},
91 {0x3C, NULL, "Break"}, 103 {0x3C, NULL, "Break"},
92 {0x3D, NULL, "OutputDebugString"}, 104 {0x3D, NULL, "OutputDebugString"},
93 {0x3E, NULL, "ControlPerformanceCounter"}, 105 {0x3E, NULL, "ControlPerformanceCounter"},
94 {0x3F, NULL, "Unknown"}, 106 {0x3F, NULL, "Unknown"},
95 {0x40, NULL, "Unknown"}, 107 {0x40, NULL, "Unknown"},
96 {0x41, NULL, "Unknown"}, 108 {0x41, NULL, "Unknown"},
97 {0x42, NULL, "Unknown"}, 109 {0x42, NULL, "Unknown"},
98 {0x43, NULL, "Unknown"}, 110 {0x43, NULL, "Unknown"},
99 {0x44, NULL, "Unknown"}, 111 {0x44, NULL, "Unknown"},
100 {0x45, NULL, "Unknown"}, 112 {0x45, NULL, "Unknown"},
101 {0x46, NULL, "Unknown"}, 113 {0x46, NULL, "Unknown"},
102 {0x47, NULL, "CreatePort"}, 114 {0x47, NULL, "CreatePort"},
103 {0x48, NULL, "CreateSessionToPort"}, 115 {0x48, NULL, "CreateSessionToPort"},
104 {0x49, NULL, "CreateSession"}, 116 {0x49, NULL, "CreateSession"},
105 {0x4A, NULL, "AcceptSession"}, 117 {0x4A, NULL, "AcceptSession"},
106 {0x4B, NULL, "ReplyAndReceive1"}, 118 {0x4B, NULL, "ReplyAndReceive1"},
107 {0x4C, NULL, "ReplyAndReceive2"}, 119 {0x4C, NULL, "ReplyAndReceive2"},
108 {0x4D, NULL, "ReplyAndReceive3"}, 120 {0x4D, NULL, "ReplyAndReceive3"},
109 {0x4E, NULL, "ReplyAndReceive4"}, 121 {0x4E, NULL, "ReplyAndReceive4"},
110 {0x4F, NULL, "ReplyAndReceive"}, 122 {0x4F, NULL, "ReplyAndReceive"},
111 {0x50, NULL, "BindInterrupt"}, 123 {0x50, NULL, "BindInterrupt"},
112 {0x51, NULL, "UnbindInterrupt"}, 124 {0x51, NULL, "UnbindInterrupt"},
113 {0x52, NULL, "InvalidateProcessDataCache"}, 125 {0x52, NULL, "InvalidateProcessDataCache"},
114 {0x53, NULL, "StoreProcessDataCache"}, 126 {0x53, NULL, "StoreProcessDataCache"},
115 {0x54, NULL, "FlushProcessDataCache"}, 127 {0x54, NULL, "FlushProcessDataCache"},
116 {0x55, NULL, "StartInterProcessDma"}, 128 {0x55, NULL, "StartInterProcessDma"},
117 {0x56, NULL, "StopDma"}, 129 {0x56, NULL, "StopDma"},
118 {0x57, NULL, "GetDmaState"}, 130 {0x57, NULL, "GetDmaState"},
119 {0x58, NULL, "RestartDma"}, 131 {0x58, NULL, "RestartDma"},
120 {0x59, NULL, "Unknown"}, 132 {0x59, NULL, "Unknown"},
121 {0x5A, NULL, "Unknown"}, 133 {0x5A, NULL, "Unknown"},
122 {0x5B, NULL, "Unknown"}, 134 {0x5B, NULL, "Unknown"},
123 {0x5C, NULL, "Unknown"}, 135 {0x5C, NULL, "Unknown"},
124 {0x5D, NULL, "Unknown"}, 136 {0x5D, NULL, "Unknown"},
125 {0x5E, NULL, "Unknown"}, 137 {0x5E, NULL, "Unknown"},
126 {0x5F, NULL, "Unknown"}, 138 {0x5F, NULL, "Unknown"},
127 {0x60, NULL, "DebugActiveProcess"}, 139 {0x60, NULL, "DebugActiveProcess"},
128 {0x61, NULL, "BreakDebugProcess"}, 140 {0x61, NULL, "BreakDebugProcess"},
129 {0x62, NULL, "TerminateDebugProcess"}, 141 {0x62, NULL, "TerminateDebugProcess"},
130 {0x63, NULL, "GetProcessDebugEvent"}, 142 {0x63, NULL, "GetProcessDebugEvent"},
131 {0x64, NULL, "ContinueDebugEvent"}, 143 {0x64, NULL, "ContinueDebugEvent"},
132 {0x65, NULL, "GetProcessList"}, 144 {0x65, NULL, "GetProcessList"},
133 {0x66, NULL, "GetThreadList"}, 145 {0x66, NULL, "GetThreadList"},
134 {0x67, NULL, "GetDebugThreadContext"}, 146 {0x67, NULL, "GetDebugThreadContext"},
135 {0x68, NULL, "SetDebugThreadContext"}, 147 {0x68, NULL, "SetDebugThreadContext"},
136 {0x69, NULL, "QueryDebugProcessMemory"}, 148 {0x69, NULL, "QueryDebugProcessMemory"},
137 {0x6A, NULL, "ReadProcessMemory"}, 149 {0x6A, NULL, "ReadProcessMemory"},
138 {0x6B, NULL, "WriteProcessMemory"}, 150 {0x6B, NULL, "WriteProcessMemory"},
139 {0x6C, NULL, "SetHardwareBreakPoint"}, 151 {0x6C, NULL, "SetHardwareBreakPoint"},
140 {0x6D, NULL, "GetDebugThreadParam"}, 152 {0x6D, NULL, "GetDebugThreadParam"},
141 {0x6E, NULL, "Unknown"}, 153 {0x6E, NULL, "Unknown"},
142 {0x6F, NULL, "Unknown"}, 154 {0x6F, NULL, "Unknown"},
143 {0x70, NULL, "ControlProcessMemory"}, 155 {0x70, NULL, "ControlProcessMemory"},
144 {0x71, NULL, "MapProcessMemory"}, 156 {0x71, NULL, "MapProcessMemory"},
145 {0x72, NULL, "UnmapProcessMemory"}, 157 {0x72, NULL, "UnmapProcessMemory"},
146 {0x73, NULL, "Unknown"}, 158 {0x73, NULL, "Unknown"},
147 {0x74, NULL, "Unknown"}, 159 {0x74, NULL, "Unknown"},
148 {0x75, NULL, "Unknown"}, 160 {0x75, NULL, "Unknown"},
149 {0x76, NULL, "TerminateProcess"}, 161 {0x76, NULL, "TerminateProcess"},
150 {0x77, NULL, "Unknown"}, 162 {0x77, NULL, "Unknown"},
151 {0x78, NULL, "CreateResourceLimit"}, 163 {0x78, NULL, "CreateResourceLimit"},
152 {0x79, NULL, "Unknown"}, 164 {0x79, NULL, "Unknown"},
153 {0x7A, NULL, "Unknown"}, 165 {0x7A, NULL, "Unknown"},
154 {0x7B, NULL, "Unknown"}, 166 {0x7B, NULL, "Unknown"},
155 {0x7C, NULL, "KernelSetState"}, 167 {0x7C, NULL, "KernelSetState"},
156 {0x7D, NULL, "QueryProcessMemory"}, 168 {0x7D, NULL, "QueryProcessMemory"},
157}; 169};
158 170
159void Register() { 171void Register() {