Path: blob/master/libmupen64plus/mupen64plus-video-glide64mk2/src/Glide64/ucode.h
2 views
/*1* Glide64 - Glide video plugin for Nintendo 64 emulators.2* Copyright (c) 2002 Dave20013* Copyright (c) 2003-2009 Sergey 'Gonetz' Lipski4*5* This program is free software; you can redistribute it and/or modify6* it under the terms of the GNU General Public License as published by7* the Free Software Foundation; either version 2 of the License, or8* any later version.9*10* This program is distributed in the hope that it will be useful,11* but WITHOUT ANY WARRANTY; without even the implied warranty of12* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the13* GNU General Public License for more details.14*15* You should have received a copy of the GNU General Public License16* along with this program; if not, write to the Free Software17* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA18*/1920//****************************************************************21//22// Glide64 - Glide Plugin for Nintendo 64 emulators23// Project started on December 29th, 200124//25// Authors:26// Dave2001, original author, founded the project in 2001, left it in 200227// Gugaman, joined the project in 2002, left it in 200228// Sergey 'Gonetz' Lipski, joined the project in 2002, main author since fall of 200229// Hiroshi 'KoolSmoky' Morii, joined the project in 200730//31//****************************************************************32//33// To modify Glide64:34// * Write your name and (optional)email, commented by your work, so I know who did it, and so that you can find which parts you modified when it comes time to send it to me.35// * Do NOT send me the whole project or file that you modified. Take out your modified code sections, and tell me where to put them. If people sent the whole thing, I would have many different versions, but no idea how to combine them all.36//37//****************************************************************3839typedef void (*rdp_instr)();4041// RDP graphic instructions pointer table4243static rdp_instr gfx_instruction[10][256] =44{45{46// uCode 0 - RSP SW 2.0X47// 00-3f48// games: Super Mario 64, Tetrisphere, Demos49spnoop, uc0_matrix, rsp_reserved0, uc0_movemem,50uc0_vertex, rsp_reserved1, uc0_displaylist, rsp_reserved2,51rsp_reserved3, uc6_sprite2d, undef, undef,52undef, undef, undef, undef,53undef, undef, undef, undef,54undef, undef, undef, undef,55undef, undef, undef, undef,56undef, undef, undef, undef,57undef, undef, undef, undef,58undef, undef, undef, undef,59undef, undef, undef, undef,60undef, undef, undef, undef,61undef, undef, undef, undef,62undef, undef, undef, undef,63undef, undef, undef, undef,64undef, undef, undef, undef,65// 40-7f: Unused66undef, undef, undef, undef,67undef, undef, undef, undef,68undef, undef, undef, undef,69undef, undef, undef, undef,70undef, undef, undef, undef,71undef, undef, undef, undef,72undef, undef, undef, undef,73undef, undef, undef, undef,74undef, undef, undef, undef,75undef, undef, undef, undef,76undef, undef, undef, undef,77undef, undef, undef, undef,78undef, undef, undef, undef,79undef, undef, undef, undef,80undef, undef, undef, undef,81undef, undef, undef, undef,82// 80-bf: Immediate commands83undef, undef, undef, undef,84undef, undef, undef, undef,85undef, undef, undef, undef,86undef, undef, undef, undef,87undef, undef, undef, undef,88undef, undef, undef, undef,89undef, undef, undef, undef,90undef, undef, undef, undef,91undef, undef, undef, undef,92undef, undef, undef, undef,93undef, undef, undef, undef,94undef, undef, undef, undef,95undef, uc0_tri4, rdphalf_cont, rdphalf_2,96rdphalf_1, uc0_line3d, uc0_cleargeometrymode, uc0_setgeometrymode,97uc0_enddl, uc0_setothermode_l, uc0_setothermode_h, uc0_texture,98uc0_moveword, uc0_popmatrix, uc0_culldl, uc0_tri1,99// c0-ff: RDP commands100rdp_noop, undef, undef, undef,101undef, undef, undef, undef,102rdp_trifill, rdp_trifillz, rdp_tritxtr, rdp_tritxtrz,103rdp_trishade, rdp_trishadez, rdp_trishadetxtr, rdp_trishadetxtrz,104undef, undef, undef, undef,105undef, undef, undef, undef,106undef, undef, undef, undef,107undef, undef, undef, undef,108undef, undef, undef, undef,109rdp_texrect, rdp_texrect, rdp_loadsync, rdp_pipesync,110rdp_tilesync, rdp_fullsync, rdp_setkeygb, rdp_setkeyr,111rdp_setconvert, rdp_setscissor, rdp_setprimdepth, rdp_setothermode,112rdp_loadtlut, undef, rdp_settilesize, rdp_loadblock,113rdp_loadtile, rdp_settile, rdp_fillrect, rdp_setfillcolor,114rdp_setfogcolor, rdp_setblendcolor, rdp_setprimcolor, rdp_setenvcolor,115rdp_setcombine, rdp_settextureimage, rdp_setdepthimage, rdp_setcolorimage116},117118// uCode 1 - F3DEX 1.XX119// 00-3f120// games: Mario Kart, Star Fox121{122spnoop, uc0_matrix, rsp_reserved0, uc0_movemem,123uc1_vertex, rsp_reserved1, uc0_displaylist, rsp_reserved2,124rsp_reserved3, uc6_sprite2d, undef, undef,125undef, undef, undef, undef,126undef, undef, undef, undef,127undef, undef, undef, undef,128undef, undef, undef, undef,129undef, undef, undef, undef,130undef, undef, undef, undef,131undef, undef, undef, undef,132undef, undef, undef, undef,133undef, undef, undef, undef,134undef, undef, undef, undef,135undef, undef, undef, undef,136undef, undef, undef, undef,137undef, undef, undef, undef,138// 40-7f: unused139undef, undef, undef, undef,140undef, undef, undef, undef,141undef, undef, undef, undef,142undef, undef, undef, undef,143undef, undef, undef, undef,144undef, undef, undef, undef,145undef, undef, undef, undef,146undef, undef, undef, undef,147undef, undef, undef, undef,148undef, undef, undef, undef,149undef, undef, undef, undef,150undef, undef, undef, undef,151undef, undef, undef, undef,152undef, undef, undef, undef,153undef, undef, undef, undef,154undef, undef, undef, undef,155// 80-bf: Immediate commands156undef, undef, undef, undef,157undef, undef, undef, undef,158undef, undef, undef, undef,159undef, undef, undef, undef,160undef, undef, undef, undef,161undef, undef, undef, undef,162undef, undef, undef, undef,163undef, undef, undef, undef,164undef, undef, undef, undef,165undef, undef, undef, undef,166undef, undef, undef, undef,167undef, undef, undef, uc6_loaducode,168uc1_branch_z, uc1_tri2, uc2_modifyvtx, rdphalf_2,169uc1_rdphalf_1, uc1_line3d, uc0_cleargeometrymode, uc0_setgeometrymode,170uc0_enddl, uc0_setothermode_l, uc0_setothermode_h, uc0_texture,171uc0_moveword, uc0_popmatrix, uc2_culldl, uc1_tri1,172// c0-ff: RDP commands173rdp_noop, undef, undef, undef,174undef, undef, undef, undef,175rdp_trifill, rdp_trifillz, rdp_tritxtr, rdp_tritxtrz,176rdp_trishade, rdp_trishadez, rdp_trishadetxtr, rdp_trishadetxtrz,177undef, undef, undef, undef,178undef, undef, undef, undef,179undef, undef, undef, undef,180undef, undef, undef, undef,181undef, undef, undef, undef,182rdp_texrect, rdp_texrect, rdp_loadsync, rdp_pipesync,183rdp_tilesync, rdp_fullsync, rdp_setkeygb, rdp_setkeyr,184rdp_setconvert, rdp_setscissor, rdp_setprimdepth, rdp_setothermode,185rdp_loadtlut, undef, rdp_settilesize, rdp_loadblock,186rdp_loadtile, rdp_settile, rdp_fillrect, rdp_setfillcolor,187rdp_setfogcolor, rdp_setblendcolor, rdp_setprimcolor, rdp_setenvcolor,188rdp_setcombine, rdp_settextureimage, rdp_setdepthimage, rdp_setcolorimage189},190191// uCode 2 - F3DEX 2.XX192// games: Zelda 64193{194// 00-3f195spnoop, uc2_vertex, uc2_modifyvtx, uc2_culldl,196uc1_branch_z, uc2_tri1, uc2_quad, uc2_quad,197uc2_line3d, uc6_bg_1cyc, uc6_bg_copy, uc6_obj_rendermode/*undef*/,198undef, undef, undef, undef,199uc0_tri4, uc0_tri4, uc0_tri4, uc0_tri4,200uc0_tri4, uc0_tri4, uc0_tri4, uc0_tri4,201uc0_tri4, uc0_tri4, uc0_tri4, uc0_tri4,202uc0_tri4, uc0_tri4, uc0_tri4, uc0_tri4,203undef, undef, undef, undef,204undef, undef, undef, undef,205undef, undef, undef, undef,206undef, undef, undef, undef,207undef, undef, undef, undef,208undef, undef, undef, undef,209undef, undef, undef, undef,210undef, undef, undef, undef,211212// 40-7f: unused213undef, undef, undef, undef,214undef, undef, undef, undef,215undef, undef, undef, undef,216undef, undef, undef, undef,217undef, undef, undef, undef,218undef, undef, undef, undef,219undef, undef, undef, undef,220undef, undef, undef, undef,221undef, undef, undef, undef,222undef, undef, undef, undef,223undef, undef, undef, undef,224undef, undef, undef, undef,225undef, undef, undef, undef,226undef, undef, undef, undef,227undef, undef, undef, undef,228undef, undef, undef, undef,229230// 80-bf: unused231undef, undef, undef, undef,232undef, undef, undef, undef,233undef, undef, undef, undef,234undef, undef, undef, undef,235undef, undef, undef, undef,236undef, undef, undef, undef,237undef, undef, undef, undef,238undef, undef, undef, undef,239undef, undef, undef, undef,240undef, undef, undef, undef,241undef, undef, undef, undef,242undef, undef, undef, undef,243undef, undef, undef, undef,244undef, undef, undef, undef,245undef, undef, undef, undef,246undef, undef, undef, undef,247248// c0-ff: RDP commands mixed with uc2 commands249rdp_noop, undef, undef, undef,250undef, undef, undef, undef,251rdp_trifill, rdp_trifillz, rdp_tritxtr, rdp_tritxtrz,252rdp_trishade, rdp_trishadez, rdp_trishadetxtr, rdp_trishadetxtrz,253undef, undef, undef, uc2_special3,254uc2_special2, uc2_dlist_cnt, uc2_dma_io, uc0_texture,255uc2_pop_matrix, uc2_geom_mode, uc2_matrix, uc2_moveword,256uc2_movemem, uc2_load_ucode, uc0_displaylist, uc0_enddl,257spnoop, uc1_rdphalf_1, uc0_setothermode_l, uc0_setothermode_h,258rdp_texrect, rdp_texrect, rdp_loadsync, rdp_pipesync,259rdp_tilesync, rdp_fullsync, rdp_setkeygb, rdp_setkeyr,260rdp_setconvert, rdp_setscissor, rdp_setprimdepth, rdp_setothermode,261rdp_loadtlut, uc2_rdphalf_2, rdp_settilesize, rdp_loadblock,262rdp_loadtile, rdp_settile, rdp_fillrect, rdp_setfillcolor,263rdp_setfogcolor, rdp_setblendcolor, rdp_setprimcolor, rdp_setenvcolor,264rdp_setcombine, rdp_settextureimage, rdp_setdepthimage, rdp_setcolorimage265},266267// uCode 3 - "RSP SW 2.0D", but not really268// 00-3f269// games: Wave Race270// ** Added by Gonetz **271{272spnoop, uc0_matrix, rsp_reserved0, uc0_movemem,273uc3_vertex, rsp_reserved1, uc0_displaylist, rsp_reserved2,274rsp_reserved3, uc6_sprite2d, undef, undef,275undef, undef, undef, undef,276undef, undef, undef, undef,277undef, undef, undef, undef,278undef, undef, undef, undef,279undef, undef, undef, undef,280undef, undef, undef, undef,281undef, undef, undef, undef,282undef, undef, undef, undef,283undef, undef, undef, undef,284undef, undef, undef, undef,285undef, undef, undef, undef,286undef, undef, undef, undef,287undef, undef, undef, undef,288// 40-7f: unused289undef, undef, undef, undef,290undef, undef, undef, undef,291undef, undef, undef, undef,292undef, undef, undef, undef,293undef, undef, undef, undef,294undef, undef, undef, undef,295undef, undef, undef, undef,296undef, undef, undef, undef,297undef, undef, undef, undef,298undef, undef, undef, undef,299undef, undef, undef, undef,300undef, undef, undef, undef,301undef, undef, undef, undef,302undef, undef, undef, undef,303undef, undef, undef, undef,304undef, undef, undef, undef,305// 80-bf: Immediate commands306undef, undef, undef, undef,307undef, undef, undef, undef,308undef, undef, undef, undef,309undef, undef, undef, undef,310undef, undef, undef, undef,311undef, undef, undef, undef,312undef, undef, undef, undef,313undef, undef, undef, undef,314undef, undef, undef, undef,315undef, undef, undef, undef,316undef, undef, undef, undef,317undef, undef, undef, undef,318undef, uc3_tri2, rdphalf_cont, rdphalf_2,319rdphalf_1, uc3_quad3d, uc0_cleargeometrymode, uc0_setgeometrymode,320uc0_enddl, uc0_setothermode_l, uc0_setothermode_h, uc0_texture,321uc0_moveword, uc0_popmatrix, uc0_culldl, uc3_tri1,322// c0-ff: RDP commands323rdp_noop, undef, undef, undef,324undef, undef, undef, undef,325rdp_trifill, rdp_trifillz, rdp_tritxtr, rdp_tritxtrz,326rdp_trishade, rdp_trishadez, rdp_trishadetxtr, rdp_trishadetxtrz,327undef, undef, undef, undef,328undef, undef, undef, undef,329undef, undef, undef, undef,330undef, undef, undef, undef,331undef, undef, undef, undef,332rdp_texrect, rdp_texrect, rdp_loadsync, rdp_pipesync,333rdp_tilesync, rdp_fullsync, rdp_setkeygb, rdp_setkeyr,334rdp_setconvert, rdp_setscissor, rdp_setprimdepth, rdp_setothermode,335rdp_loadtlut, undef, rdp_settilesize, rdp_loadblock,336rdp_loadtile, rdp_settile, rdp_fillrect, rdp_setfillcolor,337rdp_setfogcolor, rdp_setblendcolor, rdp_setprimcolor, rdp_setenvcolor,338rdp_setcombine, rdp_settextureimage, rdp_setdepthimage, rdp_setcolorimage339},340341{342// uCode 4 - RSP SW 2.0D EXT343// 00-3f344// games: Star Wars: Shadows of the Empire345spnoop, uc0_matrix, rsp_reserved0, uc0_movemem,346uc4_vertex, rsp_reserved1, uc0_displaylist, rsp_reserved2,347rsp_reserved3, uc6_sprite2d, undef, undef,348undef, undef, undef, undef,349undef, undef, undef, undef,350undef, undef, undef, undef,351undef, undef, undef, undef,352undef, undef, undef, undef,353undef, undef, undef, undef,354undef, undef, undef, undef,355undef, undef, undef, undef,356undef, undef, undef, undef,357undef, undef, undef, undef,358undef, undef, undef, undef,359undef, undef, undef, undef,360undef, undef, undef, undef,361// 40-7f: Unused362undef, undef, undef, undef,363undef, undef, undef, undef,364undef, undef, undef, undef,365undef, undef, undef, undef,366undef, undef, undef, undef,367undef, undef, undef, undef,368undef, undef, undef, undef,369undef, undef, undef, undef,370undef, undef, undef, undef,371undef, undef, undef, undef,372undef, undef, undef, undef,373undef, undef, undef, undef,374undef, undef, undef, undef,375undef, undef, undef, undef,376undef, undef, undef, undef,377undef, undef, undef, undef,378// 80-bf: Immediate commands379undef, undef, undef, undef,380undef, undef, undef, undef,381undef, undef, undef, undef,382undef, undef, undef, undef,383undef, undef, undef, undef,384undef, undef, undef, undef,385undef, undef, undef, undef,386undef, undef, undef, undef,387undef, undef, undef, undef,388undef, undef, undef, undef,389undef, undef, undef, undef,390undef, undef, undef, undef,391undef, uc0_tri4, rdphalf_cont, rdphalf_2,392rdphalf_1, uc4_quad3d, uc0_cleargeometrymode, uc0_setgeometrymode,393uc0_enddl, uc0_setothermode_l, uc0_setothermode_h, uc0_texture,394uc0_moveword, uc0_popmatrix, uc0_culldl, uc4_tri1,395// c0-ff: RDP commands396rdp_noop, undef, undef, undef,397undef, undef, undef, undef,398rdp_trifill, rdp_trifillz, rdp_tritxtr, rdp_tritxtrz,399rdp_trishade, rdp_trishadez, rdp_trishadetxtr, rdp_trishadetxtrz,400undef, undef, undef, undef,401undef, undef, undef, undef,402undef, undef, undef, undef,403undef, undef, undef, undef,404undef, undef, undef, undef,405rdp_texrect, rdp_texrect, rdp_loadsync, rdp_pipesync,406rdp_tilesync, rdp_fullsync, rdp_setkeygb, rdp_setkeyr,407rdp_setconvert, rdp_setscissor, rdp_setprimdepth, rdp_setothermode,408rdp_loadtlut, undef, rdp_settilesize, rdp_loadblock,409rdp_loadtile, rdp_settile, rdp_fillrect, rdp_setfillcolor,410rdp_setfogcolor, rdp_setblendcolor, rdp_setprimcolor, rdp_setenvcolor,411rdp_setcombine, rdp_settextureimage, rdp_setdepthimage, rdp_setcolorimage412},413414{415// uCode 5 - RSP SW 2.0 Diddy416// 00-3f417// games: Diddy Kong Racing418spnoop, uc5_matrix, rsp_reserved0, uc0_movemem,419uc5_vertex, uc5_tridma, uc0_displaylist, uc5_dl_in_mem,420rsp_reserved3, uc6_sprite2d, undef, undef,421undef, undef, undef, undef,422undef, undef, undef, undef,423undef, undef, undef, undef,424undef, undef, undef, undef,425undef, undef, undef, undef,426undef, undef, undef, undef,427undef, undef, undef, undef,428undef, undef, undef, undef,429undef, undef, undef, undef,430undef, undef, undef, undef,431undef, undef, undef, undef,432undef, undef, undef, undef,433undef, undef, undef, undef,434// 40-7f: Unused435undef, undef, undef, undef,436undef, undef, undef, undef,437undef, undef, undef, undef,438undef, undef, undef, undef,439undef, undef, undef, undef,440undef, undef, undef, undef,441undef, undef, undef, undef,442undef, undef, undef, undef,443undef, undef, undef, undef,444undef, undef, undef, undef,445undef, undef, undef, undef,446undef, undef, undef, undef,447undef, undef, undef, undef,448undef, undef, undef, undef,449undef, undef, undef, undef,450undef, undef, undef, undef,451// 80-bf: Immediate commands452undef, undef, undef, undef,453undef, undef, undef, undef,454undef, undef, undef, undef,455undef, undef, undef, undef,456undef, undef, undef, undef,457undef, undef, undef, undef,458undef, undef, undef, undef,459undef, undef, undef, undef,460undef, undef, undef, undef,461undef, undef, undef, undef,462undef, undef, undef, undef,463undef, undef, undef, undef,464undef, uc0_tri4, rdphalf_cont, rdphalf_2,465rdphalf_1, uc0_line3d, uc5_cleargeometrymode, uc5_setgeometrymode,466uc0_enddl, uc0_setothermode_l, uc0_setothermode_h, uc0_texture,467uc5_moveword, uc0_popmatrix, uc0_culldl, uc5_dma_offsets,468// c0-ff: RDP commands469rdp_noop, undef, undef, undef,470undef, undef, undef, undef,471rdp_trifill, rdp_trifillz, rdp_tritxtr, rdp_tritxtrz,472rdp_trishade, rdp_trishadez, rdp_trishadetxtr, rdp_trishadetxtrz,473undef, undef, undef, undef,474undef, undef, undef, undef,475undef, undef, undef, undef,476undef, undef, undef, undef,477undef, undef, undef, undef,478rdp_texrect, rdp_texrect, rdp_loadsync, rdp_pipesync,479rdp_tilesync, rdp_fullsync, rdp_setkeygb, rdp_setkeyr,480rdp_setconvert, rdp_setscissor, rdp_setprimdepth, rdp_setothermode,481rdp_loadtlut, undef, rdp_settilesize, rdp_loadblock,482rdp_loadtile, rdp_settile, rdp_fillrect, rdp_setfillcolor,483rdp_setfogcolor, rdp_setblendcolor, rdp_setprimcolor, rdp_setenvcolor,484rdp_setcombine, rdp_settextureimage, rdp_setdepthimage, rdp_setcolorimage485},486487// uCode 6 - S2DEX 1.XX488// games: Yoshi's Story489{490spnoop, uc6_bg_1cyc, uc6_bg_copy, uc6_obj_rectangle,491uc6_obj_sprite, uc6_obj_movemem, uc0_displaylist, rsp_reserved2,492rsp_reserved3, undef/*uc6_sprite2d*/, undef, undef,493undef, undef, undef, undef,494undef, undef, undef, undef,495undef, undef, undef, undef,496undef, undef, undef, undef,497undef, undef, undef, undef,498undef, undef, undef, undef,499undef, undef, undef, undef,500undef, undef, undef, undef,501undef, undef, undef, undef,502undef, undef, undef, undef,503undef, undef, undef, undef,504undef, undef, undef, undef,505undef, undef, undef, undef,506// 40-7f: unused507undef, undef, undef, undef,508undef, undef, undef, undef,509undef, undef, undef, undef,510undef, undef, undef, undef,511undef, undef, undef, undef,512undef, undef, undef, undef,513undef, undef, undef, undef,514undef, undef, undef, undef,515undef, undef, undef, undef,516undef, undef, undef, undef,517undef, undef, undef, undef,518undef, undef, undef, undef,519undef, undef, undef, undef,520undef, undef, undef, undef,521undef, undef, undef, undef,522undef, undef, undef, undef,523// 80-bf: Immediate commands524undef, undef, undef, undef,525undef, undef, undef, undef,526undef, undef, undef, undef,527undef, undef, undef, undef,528undef, undef, undef, undef,529undef, undef, undef, undef,530undef, undef, undef, undef,531undef, undef, undef, undef,532undef, undef, undef, undef,533undef, undef, undef, undef,534undef, undef, undef, undef,535undef, undef, undef, uc6_loaducode,536uc6_select_dl, uc6_obj_rendermode, uc6_obj_rectangle_r, rdphalf_2,537rdphalf_1, uc1_line3d, uc0_cleargeometrymode, uc0_setgeometrymode,538uc0_enddl, uc0_setothermode_l, uc0_setothermode_h, uc0_texture,539uc0_moveword, uc0_popmatrix, uc2_culldl, uc1_tri1,540// c0-ff: RDP commands541rdp_noop, uc6_obj_loadtxtr, uc6_obj_ldtx_sprite, uc6_obj_ldtx_rect,542uc6_ldtx_rect_r, undef, undef, undef,543rdp_trifill, rdp_trifillz, rdp_tritxtr, rdp_tritxtrz,544rdp_trishade, rdp_trishadez, rdp_trishadetxtr, rdp_trishadetxtrz,545undef, undef, undef, undef,546undef, undef, undef, undef,547undef, undef, undef, undef,548undef, undef, undef, undef,549undef, undef, undef, undef,550rdp_texrect, rdp_texrect, rdp_loadsync, rdp_pipesync,551rdp_tilesync, rdp_fullsync, rdp_setkeygb, rdp_setkeyr,552rdp_setconvert, rdp_setscissor, rdp_setprimdepth, rdp_setothermode,553rdp_loadtlut, undef, rdp_settilesize, rdp_loadblock,554rdp_loadtile, rdp_settile, rdp_fillrect, rdp_setfillcolor,555rdp_setfogcolor, rdp_setblendcolor, rdp_setprimcolor, rdp_setenvcolor,556rdp_setcombine, rdp_settextureimage, rdp_setdepthimage, rdp_setcolorimage557},558// uCode 7 - unknown559// games: Perfect Dark560{561// 00-3f562spnoop, uc0_matrix, rsp_reserved0, uc0_movemem,563uc7_vertex, rsp_reserved1, uc0_displaylist, uc7_colorbase,564rsp_reserved3, undef, undef, undef,565undef, undef, undef, undef,566undef, undef, undef, undef,567undef, undef, undef, undef,568undef, undef, undef, undef,569undef, undef, undef, undef,570undef, undef, undef, undef,571undef, undef, undef, undef,572undef, undef, undef, undef,573undef, undef, undef, undef,574undef, undef, undef, undef,575undef, undef, undef, undef,576undef, undef, undef, undef,577undef, undef, undef, undef,578579// 40-7f: unused580undef, undef, undef, undef,581undef, undef, undef, undef,582undef, undef, undef, undef,583undef, undef, undef, undef,584undef, undef, undef, undef,585undef, undef, undef, undef,586undef, undef, undef, undef,587undef, undef, undef, undef,588undef, undef, undef, undef,589undef, undef, undef, undef,590undef, undef, undef, undef,591undef, undef, undef, undef,592undef, undef, undef, undef,593undef, undef, undef, undef,594undef, undef, undef, undef,595undef, undef, undef, undef,596597// 80-bf: unused598undef, undef, undef, undef,599undef, undef, undef, undef,600undef, undef, undef, undef,601undef, undef, undef, undef,602603undef, undef, undef, undef,604undef, undef, undef, undef,605undef, undef, undef, undef,606undef, undef, undef, undef,607608undef, undef, undef, undef,609undef, undef, undef, undef,610undef, undef, undef, undef,611undef, undef, undef, undef,612613undef, uc0_tri4, rdphalf_cont, rdphalf_2,614rdphalf_1, uc1_tri2, uc0_cleargeometrymode, uc0_setgeometrymode,615uc0_enddl, uc0_setothermode_l, uc0_setothermode_h, uc0_texture,616uc0_moveword, uc0_popmatrix, uc0_culldl, uc0_tri1,617618// c0-ff: RDP commands mixed with uc2 commands619rdp_noop, undef, undef, undef,620undef, undef, undef, undef,621rdp_trifill, rdp_trifillz, rdp_tritxtr, rdp_tritxtrz,622rdp_trishade, rdp_trishadez, rdp_trishadetxtr, rdp_trishadetxtrz,623624undef, undef, undef, undef,625undef, undef, undef, undef,626undef, undef, undef, undef,627undef, undef, undef, undef,628629undef, undef, undef, undef,630rdp_texrect, rdp_texrect, rdp_loadsync, rdp_pipesync,631rdp_tilesync, rdp_fullsync, rdp_setkeygb, rdp_setkeyr,632rdp_setconvert, rdp_setscissor, rdp_setprimdepth, rdp_setothermode,633634rdp_loadtlut, rdphalf_2, rdp_settilesize, rdp_loadblock,635rdp_loadtile, rdp_settile, rdp_fillrect, rdp_setfillcolor,636rdp_setfogcolor, rdp_setblendcolor, rdp_setprimcolor, rdp_setenvcolor,637rdp_setcombine, rdp_settextureimage, rdp_setdepthimage, rdp_setcolorimage638},639640// uCode 8 - unknown641// games: Conker's Bad Fur Day642{643// 00-3f644spnoop, uc8_vertex, uc2_modifyvtx, uc2_culldl,645uc1_branch_z, uc2_tri1, uc2_quad, uc2_quad,646uc2_line3d, uc6_bg_1cyc, uc6_bg_copy, uc6_obj_rendermode/*undef*/,647undef, undef, undef, undef,648uc8_tri4, uc8_tri4, uc8_tri4, uc8_tri4,649uc8_tri4, uc8_tri4, uc8_tri4, uc8_tri4,650uc8_tri4, uc8_tri4, uc8_tri4, uc8_tri4,651uc8_tri4, uc8_tri4, uc8_tri4, uc8_tri4,652undef, undef, undef, undef,653undef, undef, undef, undef,654undef, undef, undef, undef,655undef, undef, undef, undef,656undef, undef, undef, undef,657undef, undef, undef, undef,658undef, undef, undef, undef,659undef, undef, undef, undef,660661// 40-7f: unused662undef, undef, undef, undef,663undef, undef, undef, undef,664undef, undef, undef, undef,665undef, undef, undef, undef,666undef, undef, undef, undef,667undef, undef, undef, undef,668undef, undef, undef, undef,669undef, undef, undef, undef,670undef, undef, undef, undef,671undef, undef, undef, undef,672undef, undef, undef, undef,673undef, undef, undef, undef,674undef, undef, undef, undef,675undef, undef, undef, undef,676undef, undef, undef, undef,677undef, undef, undef, undef,678679// 80-bf: unused680undef, undef, undef, undef,681undef, undef, undef, undef,682undef, undef, undef, undef,683undef, undef, undef, undef,684undef, undef, undef, undef,685undef, undef, undef, undef,686undef, undef, undef, undef,687undef, undef, undef, undef,688undef, undef, undef, undef,689undef, undef, undef, undef,690undef, undef, undef, undef,691undef, undef, undef, undef,692undef, undef, undef, undef,693undef, undef, undef, undef,694undef, undef, undef, undef,695undef, undef, undef, undef,696697// c0-ff: RDP commands mixed with uc2 commands698rdp_noop, undef, undef, undef,699undef, undef, undef, undef,700rdp_trifill, rdp_trifillz, rdp_tritxtr, rdp_tritxtrz,701rdp_trishade, rdp_trishadez, rdp_trishadetxtr, rdp_trishadetxtrz,702undef, undef, undef, uc2_special3,703uc2_special2, uc2_dlist_cnt, uc2_dma_io, uc0_texture,704uc2_pop_matrix, uc2_geom_mode, uc2_matrix, uc8_moveword,705uc8_movemem, uc2_load_ucode, uc0_displaylist, uc0_enddl,706spnoop, rdphalf_1, uc0_setothermode_l, uc0_setothermode_h,707rdp_texrect, rdp_texrect, rdp_loadsync, rdp_pipesync,708rdp_tilesync, rdp_fullsync, rdp_setkeygb, rdp_setkeyr,709rdp_setconvert, rdp_setscissor, rdp_setprimdepth, rdp_setothermode,710rdp_loadtlut, uc2_rdphalf_2, rdp_settilesize, rdp_loadblock,711rdp_loadtile, rdp_settile, rdp_fillrect, rdp_setfillcolor,712rdp_setfogcolor, rdp_setblendcolor, rdp_setprimcolor, rdp_setenvcolor,713rdp_setcombine, rdp_settextureimage, rdp_setdepthimage, rdp_setcolorimage714},715716{717// uCode 9 - gzsort718// games: Telefoot Soccer719// 00-3f720spnoop, undef, undef, undef,721undef, undef, undef, undef,722undef, undef, undef, undef,723undef, undef, undef, undef,724undef, undef, undef, undef,725undef, undef, undef, undef,726undef, undef, undef, undef,727undef, undef, undef, undef,728undef, undef, undef, undef,729undef, undef, undef, undef,730undef, undef, undef, undef,731undef, undef, undef, undef,732undef, undef, undef, undef,733undef, undef, undef, undef,734undef, undef, undef, undef,735undef, undef, undef, undef,736// 40-7f: Unused737undef, undef, undef, undef,738undef, undef, undef, undef,739undef, undef, undef, undef,740undef, undef, undef, undef,741undef, undef, undef, undef,742undef, undef, undef, undef,743undef, undef, undef, undef,744undef, undef, undef, undef,745undef, undef, undef, undef,746undef, undef, undef, undef,747undef, undef, undef, undef,748undef, undef, undef, undef,749undef, undef, undef, undef,750undef, undef, undef, undef,751undef, undef, undef, undef,752undef, undef, undef, undef,753// 80-bf: Immediate commands754uc9_object, uc9_rpdcmd, undef, undef,755undef, undef, undef, undef,756undef, undef, undef, undef,757undef, undef, undef, undef,758undef, undef, undef, undef,759undef, undef, undef, undef,760undef, undef, undef, undef,761undef, undef, undef, undef,762undef, undef, undef, undef,763undef, undef, undef, undef,764undef, undef, undef, undef,765undef, undef, undef, undef,766undef, undef, undef, undef,767rdphalf_1, undef, uc0_cleargeometrymode, uc0_setgeometrymode,768uc0_enddl, uc0_setothermode_l, uc0_setothermode_h, uc0_texture,769uc0_moveword, undef, uc0_culldl, undef,770// c0-ff: RDP commands771rdp_noop, undef, undef, undef,772undef, undef, undef, undef,773rdp_trifill, rdp_trifillz, rdp_tritxtr, rdp_tritxtrz,774rdp_trishade, rdp_trishadez, rdp_trishadetxtr, rdp_trishadetxtrz,775776uc9_mix, uc9_fmlight, uc9_light, undef,777uc9_mtxtrnsp, uc9_mtxcat, uc9_mult_mpmtx, uc9_link_subdl,778uc9_set_subdl, uc9_wait_signal, uc9_send_signal, uc0_moveword,779uc9_movemem, undef, uc0_displaylist, uc0_enddl,780781undef, undef, uc0_setothermode_l, uc0_setothermode_h,782rdp_texrect, rdp_texrect, rdp_loadsync, rdp_pipesync,783rdp_tilesync, rdp_fullsync, rdp_setkeygb, rdp_setkeyr,784rdp_setconvert, uc9_setscissor, rdp_setprimdepth, rdp_setothermode,785786rdp_loadtlut, rdphalf_2, rdp_settilesize, rdp_loadblock,787rdp_loadtile, rdp_settile, rdp_fillrect, rdp_setfillcolor,788rdp_setfogcolor, rdp_setblendcolor, rdp_setprimcolor, rdp_setenvcolor,789rdp_setcombine, rdp_settextureimage, rdp_setdepthimage, rdp_setcolorimage790},791};792793794