Added missing launcher
[mupen64plus-pandora.git] / source / gles2rice / src / ucode.h
CommitLineData
292f9317 1/*
2Copyright (C) 2003 Rice1964
3
4This program is free software; you can redistribute it and/or
5modify it under the terms of the GNU General Public License
6as published by the Free Software Foundation; either version 2
7of the License, or (at your option) any later version.
8
9This program is distributed in the hope that it will be useful,
10but WITHOUT ANY WARRANTY; without even the implied warranty of
11MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12GNU General Public License for more details.
13
14You should have received a copy of the GNU General Public License
15along with this program; if not, write to the Free Software
16Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
17
18*/
19
20#include "UcodeDefs.h"
21
22#ifndef _UCODE_H_
23#define _UCODE_H_
24
25//typedef void (*RDPInstruction)(Gfx *gfx);
26typedef void (*RDPInstruction)(Gfx*);
27extern RDPInstruction *currentUcodeMap;
28
29typedef RDPInstruction UcodeMap[256] ;
30
31
32//#define UcodeFunc(name) void name(uint32, uint32)
33#define UcodeFunc(name) void name(Gfx*)
34
35UcodeFunc(RSP_RDP_Nothing);
36
37UcodeFunc(RSP_GBI0_Mtx);
38UcodeFunc(RSP_Mtx_DKR);
39UcodeFunc(RSP_GBI0_DL);
40UcodeFunc(RSP_DL_In_MEM_DKR);
41
42UcodeFunc(RSP_GBI0_Vtx);
43UcodeFunc(RSP_Vtx_DKR);
44UcodeFunc(RSP_Vtx_WRUS);
45UcodeFunc(RSP_Vtx_ShadowOfEmpire);
46
47UcodeFunc(RSP_GBI0_Tri4);
48UcodeFunc(RSP_DMA_Tri_DKR);
49UcodeFunc(DLParser_Set_Addr_Ucode6);
50UcodeFunc(RSP_MoveWord_DKR);
51
52UcodeFunc(RSP_Vtx_PD);
53UcodeFunc(RSP_Set_Vtx_CI_PD);
54UcodeFunc(RSP_Tri4_PD);
55
56UcodeFunc(RSP_GBI0_Sprite2DBase);
57UcodeFunc(RSP_GBI0_Sprite2DDraw);
58UcodeFunc(RSP_GBI1_Sprite2DBase);
59UcodeFunc(RSP_GBI1_Sprite2DScaleFlip);
60UcodeFunc(RSP_GBI1_Sprite2DDraw);
61UcodeFunc(RSP_GBI_Sprite2DBase);
62UcodeFunc(RSP_GBI_Sprite2D_PuzzleMaster64);
63
64UcodeFunc(RSP_GBI1_SpNoop);
65UcodeFunc(RSP_GBI1_Reserved);
66UcodeFunc(RSP_GBI1_Vtx);
67UcodeFunc(RSP_GBI1_MoveMem);
68UcodeFunc(RSP_GBI1_RDPHalf_Cont);
69UcodeFunc(RSP_GBI1_RDPHalf_2);
70UcodeFunc(RSP_GBI1_RDPHalf_1);
71UcodeFunc(RSP_GBI1_Line3D);
72UcodeFunc(RSP_GBI1_ClearGeometryMode);
73UcodeFunc(RSP_GBI1_SetGeometryMode);
74UcodeFunc(RSP_GBI1_EndDL);
75UcodeFunc(RSP_GBI1_SetOtherModeL);
76UcodeFunc(RSP_GBI1_SetOtherModeH);
77UcodeFunc(RSP_GBI1_Texture);
78UcodeFunc(RSP_GBI1_MoveWord);
79UcodeFunc(RSP_GBI1_PopMtx);
80UcodeFunc(RSP_GBI1_CullDL);
81UcodeFunc(RSP_GBI1_Tri1);
82UcodeFunc(RSP_GBI1_Tri2);
83UcodeFunc(RSP_GBI1_Noop);
84UcodeFunc(RSP_GBI1_ModifyVtx);
85UcodeFunc(RSP_GBI1_BranchZ);
86UcodeFunc(RSP_GBI1_LoadUCode);
87
88UcodeFunc(DLParser_TexRect);
89UcodeFunc(DLParser_TexRectFlip);
90UcodeFunc(DLParser_RDPLoadSync);
91UcodeFunc(DLParser_RDPPipeSync);
92UcodeFunc(DLParser_RDPTileSync);
93UcodeFunc(DLParser_RDPFullSync);
94UcodeFunc(DLParser_SetKeyGB);
95UcodeFunc(DLParser_SetKeyR);
96UcodeFunc(DLParser_SetConvert);
97UcodeFunc(DLParser_SetScissor);
98UcodeFunc(DLParser_SetPrimDepth);
99UcodeFunc(DLParser_RDPSetOtherMode);
100UcodeFunc(DLParser_LoadTLut);
101UcodeFunc(DLParser_SetTileSize);
102UcodeFunc(DLParser_LoadBlock);
103UcodeFunc(DLParser_LoadTile);
104UcodeFunc(DLParser_SetTile);
105UcodeFunc(DLParser_FillRect);
106UcodeFunc(DLParser_SetFillColor);
107UcodeFunc(DLParser_SetFogColor);
108UcodeFunc(DLParser_SetBlendColor);
109UcodeFunc(DLParser_SetPrimColor);
110UcodeFunc(DLParser_SetEnvColor);
111UcodeFunc(DLParser_SetCombine);
112UcodeFunc(DLParser_SetTImg);
113UcodeFunc(DLParser_SetZImg);
114UcodeFunc(DLParser_SetCImg);
115
116UcodeFunc(RSP_GBI2_DL);
117UcodeFunc(RSP_GBI2_CullDL);
118UcodeFunc(RSP_GBI2_EndDL);
119UcodeFunc(RSP_GBI2_MoveWord);
120UcodeFunc(RSP_GBI2_Texture);
121UcodeFunc(RSP_GBI2_GeometryMode);
122UcodeFunc(RSP_GBI2_SetOtherModeL);
123UcodeFunc(RSP_GBI2_SetOtherModeH);
124UcodeFunc(RSP_GBI2_MoveMem);
125UcodeFunc(RSP_GBI2_Mtx);
126UcodeFunc(RSP_GBI2_PopMtx);
127UcodeFunc(RSP_GBI2_Vtx);
128UcodeFunc(RSP_GBI2_Tri1);
129UcodeFunc(RSP_GBI2_Tri2);
130UcodeFunc(RSP_GBI2_Line3D);
131
132UcodeFunc(RSP_GBI2_DL_Count);
133UcodeFunc(RSP_GBI2_SubModule);
134UcodeFunc(RSP_GBI2_0x8);
135UcodeFunc(DLParser_Bomberman2TextRect);
136
137UcodeFunc(RSP_S2DEX_BG_1CYC_2);
138UcodeFunc(RSP_S2DEX_OBJ_RENDERMODE_2);
139
140UcodeFunc(RSP_S2DEX_SPObjLoadTxtr_Ucode1);
141
142UcodeFunc( RSP_S2DEX_BG_1CYC);
143UcodeFunc( RSP_S2DEX_BG_COPY);
144UcodeFunc( RSP_S2DEX_OBJ_RECTANGLE);
145UcodeFunc( RSP_S2DEX_OBJ_SPRITE);
146UcodeFunc( RSP_S2DEX_OBJ_MOVEMEM);
147UcodeFunc( RSP_S2DEX_SELECT_DL);
148UcodeFunc( RSP_S2DEX_OBJ_RENDERMODE);
149UcodeFunc( RSP_S2DEX_OBJ_RECTANGLE_R);
150UcodeFunc( RSP_S2DEX_SPObjLoadTxtr);
151UcodeFunc( RSP_S2DEX_SPObjLoadTxSprite);
152UcodeFunc( RSP_S2DEX_SPObjLoadTxRect);
153UcodeFunc( RSP_S2DEX_SPObjLoadTxRectR);
154UcodeFunc( RSP_S2DEX_RDPHALF_0);
155UcodeFunc( RSP_S2DEX_Yoshi_Unknown);
156
157UcodeFunc( RSP_RDP_InsertMatrix );
158UcodeFunc( RSP_S2DEX_SPObjLoadTxtr );
159
160
161
162UcodeFunc(RDP_TriFill);
163UcodeFunc(RDP_TriFillZ);
164UcodeFunc(RDP_TriTxtr);
165UcodeFunc(RDP_TriTxtrZ);
166UcodeFunc(RDP_TriShade);
167UcodeFunc(RDP_TriShadeZ);
168UcodeFunc(RDP_TriShadeTxtr);
169UcodeFunc(RDP_TriShadeTxtrZ);
170
171#ifdef DEBUGGER
172const char* ucodeNames_GBI1[256] =
173{
174 "RSP_SPNOOP", "RSP_MTX", "Reserved0", "RSP_MOVEMEM",
175 "RSP_VTX", "Reserved1", "RSP_DL", "Reserved2",
176 "RSP_RESERVED3", "RSP_SPRITE2D", "G_NOTHING", "G_NOTHING",
177 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
178 //10
179 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
180 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
181 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
182 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
183 //20
184 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
185 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
186 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
187 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
188 //30
189 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
190 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
191 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
192 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
193 //40
194 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
195 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
196 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
197 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
198 //50
199 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
200 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
201 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
202 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
203 //60
204 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
205 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
206 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
207 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
208 //70
209 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
210 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
211 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
212 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
213
214//80
215 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
216 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
217 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
218 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
219//90
220 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
221 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
222 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
223 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
224//A0
225 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
226 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
227 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
228 "G_NOTHING", "G_NOTHING", "G_NOTHING", "RSP_LOAD_UCODE",
229//B0
230 "RSP_BRANCH_Z", "RSP_TRI2", "G_MODIFY_VERTEX", "RSP_RDPHALF_2",
231 "RSP_RDPHALF_1", "RSP_LINE3D", "RSP_CLEARGEOMETRYMODE", "RSP_SETGEOMETRYMODE",
232 "RSP_ENDDL", "RSP_SETOTHERMODE_L", "RSP_SETOTHERMODE_H", "RSP_TEXTURE",
233 "RSP_MOVEWORD", "RSP_POPMTX", "RSP_CULLDL", "RSP_TRI1",
234
235//C0
236 "RDP_NOOP", "G_NOTHING", "G_YS_UNK1", "G_NOTHING",
237 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
238 "RDP_TriFill", "RDP_TriFillZ", "RDP_TriTxtr", "RDP_TriTxtrZ",
239 "RDP_TriShade", "RDP_TriShadeZ", "RDP_TriShadeTxtr", "RDP_TriShadeTxtrZ",
240//D0
241 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
242 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
243 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
244 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
245//E0
246 "G_NOTHING", "G_NOTHING", "G_NOTHING", "G_NOTHING",
247 "RDP_TEXRECT", "RDP_TEXRECT_FLIP", "RDP_LOADSYNC", "RDP_PIPESYNC",
248 "RDP_TILESYNC", "RDP_FULLSYNC", "RDP_SETKEYGB", "RDP_SETKEYR",
249 "RDP_SETCONVERT", "RDP_SETSCISSOR", "RDP_SETPRIMDEPTH", "RDP_RDPSETOTHERMODE",
250//F0
251 "RDP_LOADTLUT", "G_NOTHING", "RDP_SETTILESIZE", "RDP_LOADBLOCK",
252 "RDP_LOADTILE", "RDP_SETTILE", "RDP_FILLRECT", "RDP_SETFILLCOLOR",
253 "RDP_SETFOGCOLOR", "RDP_SETBLENDCOLOR", "RDP_SETPRIMCOLOR", "RDP_SETENVCOLOR",
254 "RDP_SETCOMBINE", "RDP_SETTIMG", "RDP_SETZIMG", "RDP_SETCIMG"
255
256
257};
258
259
260const char* ucodeNames_GBI2[256] =
261{
262 "NOOP", "GBI2_Vtx", "ModifyVtx", "GBI2_CullDL",
263 "BranchZ", "GBI2_Tri1", "GBI2_Tri2","GBI2_Line3D",
264 "Nothing", "ObjBG1CYC", "ObjBGCopy", "OBJ_RenderMode",
265 "Nothing", "Nothing", "Nothing", "Nothing",
266//10
267 "Nothing", "Nothing", "Nothing", "Nothing",
268 "Nothing", "Nothing", "Nothing", "Nothing",
269 "Nothing", "Nothing", "Nothing", "Nothing",
270 "Nothing", "Nothing", "Nothing", "Nothing",
271//20
272 "Nothing", "Nothing", "Nothing", "Nothing",
273 "Nothing", "Nothing", "Nothing", "Nothing",
274 "Nothing", "Nothing", "Nothing", "Nothing",
275 "Nothing", "Nothing", "Nothing", "Nothing",
276//30
277 "Nothing", "Nothing", "Nothing", "Nothing",
278 "Nothing", "Nothing", "Nothing", "Nothing",
279 "Nothing", "Nothing", "Nothing", "Nothing",
280 "Nothing", "Nothing", "Nothing", "Nothing",
281//40
282 "Nothing", "Nothing", "Nothing", "Nothing",
283 "Nothing", "Nothing", "Nothing", "Nothing",
284 "Nothing", "Nothing", "Nothing", "Nothing",
285 "Nothing", "Nothing", "Nothing", "Nothing",
286//50
287 "Nothing", "Nothing", "Nothing", "Nothing",
288 "Nothing", "Nothing", "Nothing", "Nothing",
289 "Nothing", "Nothing", "Nothing", "Nothing",
290 "Nothing", "Nothing", "Nothing", "Nothing",
291//60
292 "Nothing", "Nothing", "Nothing", "Nothing",
293 "Nothing", "Nothing", "Nothing", "Nothing",
294 "Nothing", "Nothing", "Nothing", "Nothing",
295 "Nothing", "Nothing", "Nothing", "Nothing",
296//70
297 "Nothing", "Nothing", "Nothing", "Nothing",
298 "Nothing", "Nothing", "Nothing", "Nothing",
299 "Nothing", "Nothing", "Nothing", "Nothing",
300 "Nothing", "Nothing", "Nothing", "Nothing",
301
302//80
303 "Nothing", "Nothing", "Nothing", "Nothing",
304 "Nothing", "Nothing", "Nothing", "Nothing",
305 "Nothing", "Nothing", "Nothing", "Nothing",
306 "Nothing", "Nothing", "Nothing", "Nothing",
307//90
308 "Nothing", "Nothing", "Nothing", "Nothing",
309 "Nothing", "Nothing", "Nothing", "Nothing",
310 "Nothing", "Nothing", "Nothing", "Nothing",
311 "Nothing", "Nothing", "Nothing", "Nothing",
312//a0
313 "Nothing", "Nothing", "Nothing", "Nothing",
314 "Nothing", "Nothing", "Nothing", "Nothing",
315 "Nothing", "Nothing", "Nothing", "Nothing",
316 "Nothing", "Nothing", "Nothing", "Load_Ucode",
317//b0
318 "BranchZ", "Tri2_Goldeneye", "ModifyVtx", "RDPHalf_2",
319 "RDPHalf_1", "Line3D", "ClearGeometryMode", "SetGeometryMode",
320 "EndDL", "SetOtherMode_L", "SetOtherMode_H", "Texture",
321 "MoveWord", "PopMtx", "CullDL", "Tri1",
322
323//c0
324 "Nothing", "Nothing", "Nothing", "Nothing",
325 "Nothing", "Nothing", "Nothing", "Nothing",
326 "RDP_TriFill", "RDP_TriFillZ", "RDP_TriTxtr", "RDP_TriTxtrZ",
327 "RDP_TriShade", "RDP_TriShadeZ", "RDP_TriShadeTxtr", "RDP_TriShadeTxtrZ",
328//d0
329 "Nothing", "Nothing", "Nothing", "Nothing",
330 "Nothing", "GBI2_DL_N", "GBI2_SubModule", "GBI2_Texture",
331 "GBI2_PopMtx", "GBI2_SetGeometryMode", "GBI2_Mtx", "GBI2_MoveWord",
332 "GBI2_MoveMem", "Load_Ucode", "GBI2_DL", "GBI2_EndDL",
333//e0
334 "SPNOOP", "RDPHalf_1", "GBI2_SetOtherMode_L", "GBI2_SetOtherMode_H",
335 "TexRect", "TexRectFlip", "RDPLoadSync", "RDPPipeSync",
336 "RDPTileSync", "RDPFullSync", "SetKeyGB", "SetKeyR",
337 "SetConvert", "SetScissor", "SetPrimDepth", "RDPSetOtherMode",
338//f0
339 "LoadTLut", "Nothing", "SetTileSize", "LoadBlock",
340 "LoadTile", "SetTile", "FillRect", "SetFillColor",
341 "SetFogColor", "SetBlendColor", "SetPrimColor", "SetEnvColor",
342 "SetCombine", "SetTImg", "SetZImg", "SetCImg",
343};
344#endif
345
346
347typedef RDPInstruction UcodeMap[256] ;
348
349// Ucode: F3DEX, for most games
350UcodeMap ucodeMap1 =
351{
352 RSP_GBI1_SpNoop, RSP_GBI0_Mtx, RSP_GBI1_Reserved, RSP_GBI1_MoveMem,
353 RSP_GBI1_Vtx, RSP_GBI1_Reserved, RSP_GBI0_DL, RSP_GBI1_Reserved,
354 RSP_GBI1_Reserved, RSP_GBI1_Sprite2DBase, RSP_RDP_Nothing, RSP_RDP_Nothing,
355 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
356//10
357 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
358 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
359 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
360 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
361//20
362 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
363 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
364 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
365 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
366//30
367 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
368 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
369 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
370 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
371//40
372 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
373 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
374 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
375 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
376//50
377 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
378 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
379 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
380 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
381//60
382 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
383 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
384 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
385 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
386//70
387 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
388 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
389 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
390 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
391
392//80
393 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
394 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
395 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
396 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
397//90
398 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
399 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
400 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
401 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
402//a0
403 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
404 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
405 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
406 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_GBI1_LoadUCode,
407//b0
408 RSP_GBI1_BranchZ, RSP_GBI1_Tri2, RSP_GBI1_ModifyVtx, RSP_GBI1_RDPHalf_2,
409 RSP_GBI1_RDPHalf_1, RSP_GBI1_Line3D, RSP_GBI1_ClearGeometryMode, RSP_GBI1_SetGeometryMode,
410 RSP_GBI1_EndDL, RSP_GBI1_SetOtherModeL, RSP_GBI1_SetOtherModeH, RSP_GBI1_Texture,
411 RSP_GBI1_MoveWord, RSP_GBI1_PopMtx, RSP_GBI1_CullDL, RSP_GBI1_Tri1,
412
413//c0
414 RSP_GBI1_Noop, RSP_S2DEX_SPObjLoadTxtr_Ucode1, RSP_RDP_Nothing, RSP_RDP_Nothing,
415 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
416 RDP_TriFill, RDP_TriFillZ, RDP_TriTxtr, RDP_TriTxtrZ,
417 RDP_TriShade, RDP_TriShadeZ, RDP_TriShadeTxtr, RDP_TriShadeTxtrZ,
418//d0
419 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
420 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
421 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
422 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
423//e0
424 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
425 DLParser_TexRect, DLParser_TexRectFlip, DLParser_RDPLoadSync, DLParser_RDPPipeSync,
426 DLParser_RDPTileSync, DLParser_RDPFullSync, DLParser_SetKeyGB, DLParser_SetKeyR,
427 DLParser_SetConvert, DLParser_SetScissor, DLParser_SetPrimDepth, DLParser_RDPSetOtherMode,
428//f0
429 DLParser_LoadTLut, RSP_RDP_Nothing, DLParser_SetTileSize, DLParser_LoadBlock,
430 DLParser_LoadTile, DLParser_SetTile, DLParser_FillRect, DLParser_SetFillColor,
431 DLParser_SetFogColor, DLParser_SetBlendColor, DLParser_SetPrimColor, DLParser_SetEnvColor,
432 DLParser_SetCombine, DLParser_SetTImg, DLParser_SetZImg, DLParser_SetCImg
433};
434
435
436UcodeMap ucodeMap0=
437{
438 RSP_GBI1_SpNoop, RSP_GBI0_Mtx, RSP_GBI1_Reserved, RSP_GBI1_MoveMem,
439 RSP_GBI0_Vtx, RSP_GBI1_Reserved, RSP_GBI0_DL, RSP_GBI1_Reserved,
440 RSP_GBI1_Reserved, RSP_GBI0_Sprite2DBase, RSP_RDP_Nothing, RSP_RDP_Nothing,
441 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
442//10
443 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
444 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
445 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
446 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
447//20
448 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
449 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
450 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
451 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
452//30
453 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
454 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
455 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
456 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
457//40
458 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
459 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
460 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
461 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
462//50
463 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
464 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
465 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
466 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
467//60
468 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
469 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
470 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
471 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
472//70
473 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
474 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
475 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
476 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
477
478//80
479 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
480 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
481 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
482 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
483//90
484 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
485 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
486 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
487 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
488//a0
489 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
490 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
491 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
492 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
493//b0
494 RSP_RDP_Nothing, RSP_GBI0_Tri4, RSP_GBI1_RDPHalf_Cont, RSP_GBI1_RDPHalf_2,
495 RSP_GBI1_RDPHalf_1, RSP_GBI1_Line3D, RSP_GBI1_ClearGeometryMode, RSP_GBI1_SetGeometryMode,
496 RSP_GBI1_EndDL, RSP_GBI1_SetOtherModeL, RSP_GBI1_SetOtherModeH, RSP_GBI1_Texture,
497 RSP_GBI1_MoveWord, RSP_GBI1_PopMtx, RSP_GBI1_CullDL, RSP_GBI1_Tri1,
498
499//c0
500 RSP_GBI1_Noop, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
501 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
502 RDP_TriFill, RDP_TriFillZ, RDP_TriTxtr, RDP_TriTxtrZ,
503 RDP_TriShade, RDP_TriShadeZ, RDP_TriShadeTxtr, RDP_TriShadeTxtrZ,
504//d0
505 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
506 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
507 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
508 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
509//e0
510 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
511 DLParser_TexRect, DLParser_TexRectFlip, DLParser_RDPLoadSync, DLParser_RDPPipeSync,
512 DLParser_RDPTileSync, DLParser_RDPFullSync, DLParser_SetKeyGB, DLParser_SetKeyR,
513 DLParser_SetConvert, DLParser_SetScissor, DLParser_SetPrimDepth, DLParser_RDPSetOtherMode,
514//f0
515 DLParser_LoadTLut, RSP_RDP_Nothing, DLParser_SetTileSize, DLParser_LoadBlock,
516 DLParser_LoadTile, DLParser_SetTile, DLParser_FillRect, DLParser_SetFillColor,
517 DLParser_SetFogColor, DLParser_SetBlendColor, DLParser_SetPrimColor, DLParser_SetEnvColor,
518 DLParser_SetCombine, DLParser_SetTImg, DLParser_SetZImg, DLParser_SetCImg
519};
520
521// Zelda and new games, F3DEX_GBI_2
522UcodeMap ucodeMap5=
523{
524 RSP_GBI1_Noop, RSP_GBI2_Vtx, RSP_GBI1_ModifyVtx, RSP_GBI2_CullDL,
525 RSP_GBI1_BranchZ, RSP_GBI2_Tri1, RSP_GBI2_Tri2, RSP_GBI2_Line3D,
526 RSP_GBI2_0x8, RSP_S2DEX_BG_1CYC, RSP_S2DEX_BG_COPY, RSP_S2DEX_OBJ_RENDERMODE,
527 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
528//10
529 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
530 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
531 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
532 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
533//20
534 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
535 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
536 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
537 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
538//30
539 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
540 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
541 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
542 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
543//40
544 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
545 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
546 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
547 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
548//50
549 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
550 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
551 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
552 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
553//60
554 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
555 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
556 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
557 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
558//70
559 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
560 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
561 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
562 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
563
564//80
565 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
566 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
567 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
568 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
569//90
570 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
571 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
572 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
573 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
574//a0
575 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
576 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
577 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
578 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_GBI1_LoadUCode,
579//b0
580 RSP_GBI1_BranchZ, RSP_GBI0_Tri4, RSP_GBI1_ModifyVtx, RSP_GBI1_RDPHalf_2,
581 RSP_GBI1_RDPHalf_1, RSP_GBI1_Line3D, RSP_GBI1_ClearGeometryMode, RSP_GBI1_SetGeometryMode,
582 RSP_GBI1_EndDL, RSP_GBI1_SetOtherModeL, RSP_GBI1_SetOtherModeH, RSP_GBI1_Texture,
583 RSP_GBI1_MoveWord, RSP_GBI1_PopMtx, RSP_GBI1_CullDL, RSP_GBI1_Tri1,
584
585//c0
586 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
587 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
588 RDP_TriFill, RDP_TriFillZ, RDP_TriTxtr, RDP_TriTxtrZ,
589 RDP_TriShade, RDP_TriShadeZ, RDP_TriShadeTxtr, RDP_TriShadeTxtrZ,
590//d0
591 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
592 RSP_RDP_Nothing, RSP_GBI2_DL_Count, RSP_GBI2_SubModule, RSP_GBI2_Texture,
593 RSP_GBI2_PopMtx, RSP_GBI2_GeometryMode, RSP_GBI2_Mtx, RSP_GBI2_MoveWord,
594 RSP_GBI2_MoveMem, RSP_GBI1_LoadUCode, RSP_GBI2_DL, RSP_GBI2_EndDL,
595//e0
596 RSP_GBI1_SpNoop, RSP_GBI1_RDPHalf_1, RSP_GBI2_SetOtherModeL, RSP_GBI2_SetOtherModeH,
597 DLParser_TexRect, DLParser_TexRectFlip, DLParser_RDPLoadSync, DLParser_RDPPipeSync,
598 DLParser_RDPTileSync, DLParser_RDPFullSync, DLParser_SetKeyGB, DLParser_SetKeyR,
599 DLParser_SetConvert, DLParser_SetScissor, DLParser_SetPrimDepth, DLParser_RDPSetOtherMode,
600//f0
601 DLParser_LoadTLut, RSP_RDP_Nothing, DLParser_SetTileSize, DLParser_LoadBlock,
602 DLParser_LoadTile, DLParser_SetTile, DLParser_FillRect, DLParser_SetFillColor,
603 DLParser_SetFogColor, DLParser_SetBlendColor, DLParser_SetPrimColor, DLParser_SetEnvColor,
604 DLParser_SetCombine, DLParser_SetTImg, DLParser_SetZImg, DLParser_SetCImg
605};
606
607
608// S2DEX 1.--
609UcodeMap ucodeMap7=
610{
611 RSP_GBI1_SpNoop, RSP_S2DEX_BG_1CYC_2, RSP_S2DEX_BG_COPY, RSP_S2DEX_OBJ_RECTANGLE,
612 RSP_S2DEX_OBJ_SPRITE, RSP_S2DEX_OBJ_MOVEMEM, RSP_GBI0_DL, RSP_GBI1_Reserved,
613 RSP_GBI1_Reserved, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
614 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
615
616//10
617 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
618 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
619 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
620 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
621//20
622 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
623 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
624 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
625 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
626//30
627 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
628 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
629 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
630 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
631//40
632 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
633 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
634 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
635 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
636//50
637 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
638 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
639 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
640 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
641//60
642 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
643 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
644 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
645 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
646//70
647 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
648 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
649 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
650 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
651
652//80
653 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
654 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
655 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
656 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
657//90
658 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
659 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
660 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
661 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
662//a0
663 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
664 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
665 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
666 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_GBI1_LoadUCode,
667//b0
668 RSP_S2DEX_SELECT_DL, RSP_S2DEX_OBJ_RENDERMODE_2, RSP_S2DEX_OBJ_RECTANGLE_R, RSP_GBI1_RDPHalf_2,
669 RSP_GBI1_RDPHalf_1, RSP_GBI1_Line3D, RSP_GBI1_ClearGeometryMode, RSP_GBI1_SetGeometryMode,
670 RSP_GBI1_EndDL, RSP_GBI1_SetOtherModeL, RSP_GBI1_SetOtherModeH, RSP_GBI1_Texture,
671 RSP_GBI1_MoveWord, RSP_GBI1_PopMtx, RSP_GBI1_CullDL, RSP_GBI1_Tri1,
672
673//c0
674 RSP_GBI1_Noop, RSP_S2DEX_SPObjLoadTxtr, RSP_S2DEX_SPObjLoadTxSprite, RSP_S2DEX_SPObjLoadTxRect,
675 RSP_S2DEX_SPObjLoadTxRectR, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
676 RDP_TriFill, RDP_TriFillZ, RDP_TriTxtr, RDP_TriTxtrZ,
677 RDP_TriShade, RDP_TriShadeZ, RDP_TriShadeTxtr, RDP_TriShadeTxtrZ,
678//d0
679 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
680 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
681 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
682 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
683//e0
684 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
685 RSP_S2DEX_RDPHALF_0, DLParser_TexRectFlip, DLParser_RDPLoadSync, DLParser_RDPPipeSync,
686 DLParser_RDPTileSync, DLParser_RDPFullSync, DLParser_SetKeyGB, DLParser_SetKeyR,
687 DLParser_SetConvert, DLParser_SetScissor, DLParser_SetPrimDepth, DLParser_RDPSetOtherMode,
688//f0
689 DLParser_LoadTLut, RSP_RDP_Nothing, DLParser_SetTileSize, DLParser_LoadBlock,
690 DLParser_LoadTile, DLParser_SetTile, DLParser_FillRect, DLParser_SetFillColor,
691 DLParser_SetFogColor, DLParser_SetBlendColor, DLParser_SetPrimColor, DLParser_SetEnvColor,
692 DLParser_SetCombine, DLParser_SetTImg, DLParser_SetZImg, DLParser_SetCImg
693};
694
695// Ucode 3 - S2DEX GBI2
696UcodeMap ucodeMap3=
697{
698 RSP_GBI1_Noop, RSP_S2DEX_OBJ_RECTANGLE, RSP_S2DEX_OBJ_SPRITE, RSP_GBI2_CullDL,
699 RSP_S2DEX_SELECT_DL, RSP_S2DEX_SPObjLoadTxtr, RSP_S2DEX_SPObjLoadTxSprite, RSP_S2DEX_SPObjLoadTxRect,
700 RSP_S2DEX_SPObjLoadTxRectR, RSP_S2DEX_BG_1CYC, RSP_S2DEX_BG_COPY, RSP_S2DEX_OBJ_RENDERMODE,
701 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
702 //10
703 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
704 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
705 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
706 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
707 //20
708 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
709 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
710 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
711 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
712 //30
713 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
714 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
715 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
716 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
717 //40
718 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
719 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
720 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
721 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
722 //50
723 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
724 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
725 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
726 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
727 //60
728 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
729 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
730 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
731 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
732 //70
733 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
734 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
735 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
736 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
737
738 //80
739 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
740 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
741 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
742 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
743 //90
744 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
745 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
746 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
747 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
748 //a0
749 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
750 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
751 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
752 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_GBI1_LoadUCode,
753 //b0
754 RSP_GBI1_BranchZ, RSP_GBI0_Tri4, RSP_GBI1_ModifyVtx, RSP_GBI1_RDPHalf_2,
755 RSP_GBI1_RDPHalf_1, RSP_GBI1_Line3D, RSP_GBI1_ClearGeometryMode, RSP_GBI1_SetGeometryMode,
756 RSP_GBI1_EndDL, RSP_GBI1_SetOtherModeL, RSP_GBI1_SetOtherModeH, RSP_GBI1_Texture,
757 RSP_GBI1_MoveWord, RSP_GBI1_PopMtx, RSP_GBI1_CullDL, RSP_GBI1_Tri1,
758
759 //c0
760 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
761 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
762 RDP_TriFill, RDP_TriFillZ, RDP_TriTxtr, RDP_TriTxtrZ,
763 RDP_TriShade, RDP_TriShadeZ, RDP_TriShadeTxtr, RDP_TriShadeTxtrZ,
764 //d0
765 RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing, RSP_RDP_Nothing,
766 RSP_RDP_Nothing, RSP_GBI2_DL_Count, RSP_GBI2_SubModule, RSP_GBI2_Texture,
767 RSP_GBI2_PopMtx, RSP_GBI2_GeometryMode, RSP_GBI2_Mtx, RSP_GBI2_MoveWord,
768 RSP_GBI2_MoveMem, RSP_GBI1_LoadUCode, RSP_GBI2_DL, RSP_GBI2_EndDL,
769 //e0
770 RSP_GBI1_SpNoop, RSP_GBI1_RDPHalf_1, RSP_GBI2_SetOtherModeL, RSP_GBI2_SetOtherModeH,
771 DLParser_TexRect, DLParser_TexRectFlip, DLParser_RDPLoadSync, DLParser_RDPPipeSync,
772 DLParser_RDPTileSync, DLParser_RDPFullSync, DLParser_SetKeyGB, DLParser_SetKeyR,
773 DLParser_SetConvert, DLParser_SetScissor, DLParser_SetPrimDepth, DLParser_RDPSetOtherMode,
774 //f0
775 DLParser_LoadTLut, RSP_RDP_Nothing, DLParser_SetTileSize, DLParser_LoadBlock,
776 DLParser_LoadTile, DLParser_SetTile, DLParser_FillRect, DLParser_SetFillColor,
777 DLParser_SetFogColor, DLParser_SetBlendColor, DLParser_SetPrimColor, DLParser_SetEnvColor,
778 DLParser_SetCombine, DLParser_SetTImg, DLParser_SetZImg, DLParser_SetCImg
779};
780
781RDPInstruction *currentUcodeMap = ucodeMap1;
782
783#endif
784