Shipwright/ZAPDTR/lib/libgfxd/uc_macrotbl.c

1398 lines
25 KiB
C

static const gfxd_macro_type_t macro_tbl[] =
{
[gfxd_Invalid] =
{
.prefix = NULL,
.suffix = NULL,
.opcode = -1,
.n_gfx = 1,
.n_arg = 2,
.disas_fn = d_Invalid,
},
[gfxd_DPFillRectangle] =
{
.prefix = NULL,
.suffix = "DPFillRectangle",
.opcode = G_FILLRECT,
.n_gfx = 1,
.n_arg = 4,
.disas_fn = d_DPFillRectangle,
},
[gfxd_DPFullSync] =
{
.prefix = NULL,
.suffix = "DPFullSync",
.opcode = G_RDPFULLSYNC,
.n_gfx = 1,
.n_arg = 0,
.disas_fn = d_DPFullSync,
},
[gfxd_DPLoadSync] =
{
.prefix = NULL,
.suffix = "DPLoadSync",
.opcode = G_RDPLOADSYNC,
.n_gfx = 1,
.n_arg = 0,
.disas_fn = d_DPLoadSync,
},
[gfxd_DPTileSync] =
{
.prefix = NULL,
.suffix = "DPTileSync",
.opcode = G_RDPTILESYNC,
.n_gfx = 1,
.n_arg = 0,
.disas_fn = d_DPTileSync,
},
[gfxd_DPPipeSync] =
{
.prefix = NULL,
.suffix = "DPPipeSync",
.opcode = G_RDPPIPESYNC,
.n_gfx = 1,
.n_arg = 0,
.disas_fn = d_DPPipeSync,
},
[gfxd_DPLoadTLUT_pal16] =
{
.prefix = NULL,
.suffix = "DPLoadTLUT_pal16",
.opcode = G_SETTIMG,
.n_gfx = 6,
.n_arg = 2,
.combine_fn = c_DPLoadTLUT_pal16,
},
[gfxd_DPLoadTLUT_pal256] =
{
.prefix = NULL,
.suffix = "DPLoadTLUT_pal256",
.opcode = G_SETTIMG,
.n_gfx = 6,
.n_arg = 1,
.combine_fn = c_DPLoadTLUT_pal256,
},
[gfxd_DPLoadMultiBlockYuvS] =
{
.prefix = NULL,
.suffix = "DPLoadMultiBlockYuvS",
.opcode = G_SETTIMG,
.n_gfx = 7,
.n_arg = 14,
.combine_fn = c_DPLoadMultiBlockYuvS,
.ext = 1,
},
[gfxd_DPLoadMultiBlockYuv] =
{
.prefix = NULL,
.suffix = "DPLoadMultiBlockYuv",
.opcode = G_SETTIMG,
.n_gfx = 7,
.n_arg = 14,
.combine_fn = c_DPLoadMultiBlockYuv,
.ext = 1,
},
[gfxd_DPLoadMultiBlock_4bS] =
{
.prefix = NULL,
.suffix = "DPLoadMultiBlock_4bS",
.opcode = G_SETTIMG,
.n_gfx = 7,
.n_arg = 13,
.combine_fn = c_DPLoadMultiBlock_4bS,
},
[gfxd_DPLoadMultiBlock_4b] =
{
.prefix = NULL,
.suffix = "DPLoadMultiBlock_4b",
.opcode = G_SETTIMG,
.n_gfx = 7,
.n_arg = 13,
.combine_fn = c_DPLoadMultiBlock_4b,
},
[gfxd_DPLoadMultiBlockS] =
{
.prefix = NULL,
.suffix = "DPLoadMultiBlockS",
.opcode = G_SETTIMG,
.n_gfx = 7,
.n_arg = 14,
.combine_fn = c_DPLoadMultiBlockS,
},
[gfxd_DPLoadMultiBlock] =
{
.prefix = NULL,
.suffix = "DPLoadMultiBlock",
.opcode = G_SETTIMG,
.n_gfx = 7,
.n_arg = 14,
.combine_fn = c_DPLoadMultiBlock,
},
[gfxd__DPLoadTextureBlockYuvS] =
{
.prefix = "_",
.suffix = "DPLoadTextureBlockYuvS",
.opcode = G_SETTIMG,
.n_gfx = 7,
.n_arg = 13,
.combine_fn = c__DPLoadTextureBlockYuvS,
.ext = 1,
},
[gfxd__DPLoadTextureBlockYuv] =
{
.prefix = "_",
.suffix = "DPLoadTextureBlockYuv",
.opcode = G_SETTIMG,
.n_gfx = 7,
.n_arg = 13,
.combine_fn = c__DPLoadTextureBlockYuv,
.ext = 1,
},
[gfxd__DPLoadTextureBlock_4bS] =
{
.prefix = "_",
.suffix = "DPLoadTextureBlock_4bS",
.opcode = G_SETTIMG,
.n_gfx = 7,
.n_arg = 12,
.combine_fn = c__DPLoadTextureBlock_4bS,
.ext = 1,
},
[gfxd__DPLoadTextureBlock_4b] =
{
.prefix = "_",
.suffix = "DPLoadTextureBlock_4b",
.opcode = G_SETTIMG,
.n_gfx = 7,
.n_arg = 12,
.combine_fn = c__DPLoadTextureBlock_4b,
},
[gfxd__DPLoadTextureBlockS] =
{
.prefix = "_",
.suffix = "DPLoadTextureBlockS",
.opcode = G_SETTIMG,
.n_gfx = 7,
.n_arg = 13,
.combine_fn = c__DPLoadTextureBlockS,
.ext = 1,
},
[gfxd__DPLoadTextureBlock] =
{
.prefix = "_",
.suffix = "DPLoadTextureBlock",
.opcode = G_SETTIMG,
.n_gfx = 7,
.n_arg = 13,
.combine_fn = c__DPLoadTextureBlock,
},
[gfxd_DPLoadTextureBlockYuvS] =
{
.prefix = NULL,
.suffix = "DPLoadTextureBlockYuvS",
.opcode = G_SETTIMG,
.n_gfx = 7,
.n_arg = 12,
.combine_fn = c_DPLoadTextureBlockYuvS,
.ext = 1,
},
[gfxd_DPLoadTextureBlockYuv] =
{
.prefix = NULL,
.suffix = "DPLoadTextureBlockYuv",
.opcode = G_SETTIMG,
.n_gfx = 7,
.n_arg = 12,
.combine_fn = c_DPLoadTextureBlockYuv,
.ext = 1,
},
[gfxd_DPLoadTextureBlock_4bS] =
{
.prefix = NULL,
.suffix = "DPLoadTextureBlock_4bS",
.opcode = G_SETTIMG,
.n_gfx = 7,
.n_arg = 11,
.combine_fn = c_DPLoadTextureBlock_4bS,
},
[gfxd_DPLoadTextureBlock_4b] =
{
.prefix = NULL,
.suffix = "DPLoadTextureBlock_4b",
.opcode = G_SETTIMG,
.n_gfx = 7,
.n_arg = 11,
.combine_fn = c_DPLoadTextureBlock_4b,
},
[gfxd_DPLoadTextureBlockS] =
{
.prefix = NULL,
.suffix = "DPLoadTextureBlockS",
.opcode = G_SETTIMG,
.n_gfx = 7,
.n_arg = 12,
.combine_fn = c_DPLoadTextureBlockS,
},
[gfxd_DPLoadTextureBlock] =
{
.prefix = NULL,
.suffix = "DPLoadTextureBlock",
.opcode = G_SETTIMG,
.n_gfx = 7,
.n_arg = 12,
.combine_fn = c_DPLoadTextureBlock,
},
[gfxd_DPLoadMultiTileYuv] =
{
.prefix = NULL,
.suffix = "DPLoadMultiTileYuv",
.opcode = G_SETTIMG,
.n_gfx = 7,
.n_arg = 18,
.combine_fn = c_DPLoadMultiTileYuv,
.ext = 1,
},
[gfxd_DPLoadMultiTile_4b] =
{
.prefix = NULL,
.suffix = "DPLoadMultiTile_4b",
.opcode = G_SETTIMG,
.n_gfx = 7,
.n_arg = 17,
.combine_fn = c_DPLoadMultiTile_4b,
},
[gfxd_DPLoadMultiTile] =
{
.prefix = NULL,
.suffix = "DPLoadMultiTile",
.opcode = G_SETTIMG,
.n_gfx = 7,
.n_arg = 18,
.combine_fn = c_DPLoadMultiTile,
},
[gfxd__DPLoadTextureTileYuv] =
{
.prefix = "_",
.suffix = "DPLoadTextureTileYuv",
.opcode = G_SETTIMG,
.n_gfx = 7,
.n_arg = 17,
.combine_fn = c__DPLoadTextureTileYuv,
.ext = 1,
},
[gfxd__DPLoadTextureTile_4b] =
{
.prefix = "_",
.suffix = "DPLoadTextureTile_4b",
.opcode = G_SETTIMG,
.n_gfx = 7,
.n_arg = 16,
.combine_fn = c__DPLoadTextureTile_4b,
.ext = 1,
},
[gfxd__DPLoadTextureTile] =
{
.prefix = "_",
.suffix = "DPLoadTextureTile",
.opcode = G_SETTIMG,
.n_gfx = 7,
.n_arg = 17,
.combine_fn = c__DPLoadTextureTile,
.ext = 1,
},
[gfxd_DPLoadTextureTileYuv] =
{
.prefix = NULL,
.suffix = "DPLoadTextureTileYuv",
.opcode = G_SETTIMG,
.n_gfx = 7,
.n_arg = 16,
.combine_fn = c_DPLoadTextureTileYuv,
.ext = 1,
},
[gfxd_DPLoadTextureTile_4b] =
{
.prefix = NULL,
.suffix = "DPLoadTextureTile_4b",
.opcode = G_SETTIMG,
.n_gfx = 7,
.n_arg = 15,
.combine_fn = c_DPLoadTextureTile_4b,
},
[gfxd_DPLoadTextureTile] =
{
.prefix = NULL,
.suffix = "DPLoadTextureTile",
.opcode = G_SETTIMG,
.n_gfx = 7,
.n_arg = 16,
.combine_fn = c_DPLoadTextureTile,
},
[gfxd_DPLoadBlock] =
{
.prefix = NULL,
.suffix = "DPLoadBlock",
.opcode = G_LOADBLOCK,
.n_gfx = 1,
.n_arg = 5,
.disas_fn = d_DPLoadBlock,
},
[gfxd_DPNoOp] =
{
.prefix = NULL,
.suffix = "DPNoOp",
.opcode = G_NOOP,
.n_gfx = 1,
.n_arg = 0,
.alias = gfxd_DPNoOpTag,
},
[gfxd_DPNoOpTag] =
{
.prefix = NULL,
.suffix = "DPNoOpTag",
.opcode = G_NOOP,
.n_gfx = 1,
.n_arg = 1,
.disas_fn = d_DPNoOpTag,
},
[gfxd_DPPipelineMode] =
{
.prefix = NULL,
.suffix = "DPPipelineMode",
.opcode = G_SETOTHERMODE_H,
.n_gfx = 1,
.n_arg = 1,
.alias = gfxd_SPSetOtherModeHi,
},
[gfxd_DPSetBlendColor] =
{
.prefix = NULL,
.suffix = "DPSetBlendColor",
.opcode = G_SETBLENDCOLOR,
.n_gfx = 1,
.n_arg = 4,
.disas_fn = d_DPSetBlendColor,
},
[gfxd_DPSetEnvColor] =
{
.prefix = NULL,
.suffix = "DPSetEnvColor",
.opcode = G_SETENVCOLOR,
.n_gfx = 1,
.n_arg = 4,
.disas_fn = d_DPSetEnvColor,
},
[gfxd_DPSetFillColor] =
{
.prefix = NULL,
.suffix = "DPSetFillColor",
.opcode = G_SETFILLCOLOR,
.n_gfx = 1,
.n_arg = 1,
.disas_fn = d_DPSetFillColor,
},
[gfxd_DPSetFogColor] =
{
.prefix = NULL,
.suffix = "DPSetFogColor",
.opcode = G_SETFOGCOLOR,
.n_gfx = 1,
.n_arg = 4,
.disas_fn = d_DPSetFogColor,
},
[gfxd_DPSetPrimColor] =
{
.prefix = NULL,
.suffix = "DPSetPrimColor",
.opcode = G_SETPRIMCOLOR,
.n_gfx = 1,
.n_arg = 6,
.disas_fn = d_DPSetPrimColor,
},
[gfxd_DPSetColorImage] =
{
.prefix = NULL,
.suffix = "DPSetColorImage",
.opcode = G_SETCIMG,
.n_gfx = 1,
.n_arg = 4,
.disas_fn = d_DPSetColorImage,
},
[gfxd_DPSetDepthImage] =
{
.prefix = NULL,
.suffix = "DPSetDepthImage",
.opcode = G_SETZIMG,
.n_gfx = 1,
.n_arg = 1,
.disas_fn = d_DPSetDepthImage,
},
[gfxd_DPSetTextureImage] =
{
.prefix = NULL,
.suffix = "DPSetTextureImage",
.opcode = G_SETTIMG,
.n_gfx = 1,
.n_arg = 4,
.disas_fn = d_DPSetTextureImage,
},
[gfxd_DPSetAlphaCompare] =
{
.prefix = NULL,
.suffix = "DPSetAlphaCompare",
.opcode = G_SETOTHERMODE_L,
.n_gfx = 1,
.n_arg = 1,
.alias = gfxd_SPSetOtherModeLo,
},
[gfxd_DPSetAlphaDither] =
{
.prefix = NULL,
.suffix = "DPSetAlphaDither",
.opcode = G_SETOTHERMODE_H,
.n_gfx = 1,
.n_arg = 1,
.alias = gfxd_SPSetOtherModeHi,
},
[gfxd_DPSetColorDither] =
{
.prefix = NULL,
.suffix = "DPSetColorDither",
.opcode = G_SETOTHERMODE_H,
.n_gfx = 1,
.n_arg = 1,
.alias = gfxd_SPSetOtherModeHi,
},
[gfxd_DPSetCombineMode] =
{
.prefix = NULL,
.suffix = "DPSetCombineMode",
.opcode = G_SETCOMBINE,
.n_gfx = 1,
.n_arg = 2,
.alias = gfxd_DPSetCombineLERP,
},
[gfxd_DPSetCombineLERP] =
{
.prefix = NULL,
.suffix = "DPSetCombineLERP",
.opcode = G_SETCOMBINE,
.n_gfx = 1,
.n_arg = 16,
.disas_fn = d_DPSetCombineLERP,
},
[gfxd_DPSetConvert] =
{
.prefix = NULL,
.suffix = "DPSetConvert",
.opcode = G_SETCONVERT,
.n_gfx = 1,
.n_arg = 6,
.disas_fn = d_DPSetConvert,
},
[gfxd_DPSetTextureConvert] =
{
.prefix = NULL,
.suffix = "DPSetTextureConvert",
.opcode = G_SETOTHERMODE_H,
.n_gfx = 1,
.n_arg = 1,
.alias = gfxd_SPSetOtherModeHi,
},
[gfxd_DPSetCycleType] =
{
.prefix = NULL,
.suffix = "DPSetCycleType",
.opcode = G_SETOTHERMODE_H,
.n_gfx = 1,
.n_arg = 1,
.alias = gfxd_SPSetOtherModeHi,
},
[gfxd_DPSetDepthSource] =
{
.prefix = NULL,
.suffix = "DPSetDepthSource",
.opcode = G_SETOTHERMODE_L,
.n_gfx = 1,
.n_arg = 1,
.alias = gfxd_SPSetOtherModeLo,
},
[gfxd_DPSetCombineKey] =
{
.prefix = NULL,
.suffix = "DPSetCombineKey",
.opcode = G_SETOTHERMODE_H,
.n_gfx = 1,
.n_arg = 1,
.alias = gfxd_SPSetOtherModeHi,
},
[gfxd_DPSetKeyGB] =
{
.prefix = NULL,
.suffix = "DPSetKeyGB",
.opcode = G_SETKEYGB,
.n_gfx = 1,
.n_arg = 6,
.disas_fn = d_DPSetKeyGB,
},
[gfxd_DPSetKeyR] =
{
.prefix = NULL,
.suffix = "DPSetKeyR",
.opcode = G_SETKEYR,
.n_gfx = 1,
.n_arg = 3,
.disas_fn = d_DPSetKeyR,
},
[gfxd_DPSetPrimDepth] =
{
.prefix = NULL,
.suffix = "DPSetPrimDepth",
.opcode = G_SETPRIMDEPTH,
.n_gfx = 1,
.n_arg = 2,
.disas_fn = d_DPSetPrimDepth,
},
[gfxd_DPSetRenderMode] =
{
.prefix = NULL,
.suffix = "DPSetRenderMode",
.opcode = G_SETOTHERMODE_L,
.n_gfx = 1,
.n_arg = 2,
.alias = gfxd_SPSetOtherModeLo,
},
[gfxd_DPSetScissor] =
{
.prefix = NULL,
.suffix = "DPSetScissor",
.opcode = G_SETSCISSOR,
.n_gfx = 1,
.n_arg = 5,
.alias = gfxd_DPSetScissorFrac,
},
[gfxd_DPSetScissorFrac] =
{
.prefix = NULL,
.suffix = "DPSetScissorFrac",
.opcode = G_SETSCISSOR,
.n_gfx = 1,
.n_arg = 5,
.disas_fn = d_DPSetScissorFrac,
},
[gfxd_DPSetTextureDetail] =
{
.prefix = NULL,
.suffix = "DPSetTextureDetail",
.opcode = G_SETOTHERMODE_H,
.n_gfx = 1,
.n_arg = 1,
.alias = gfxd_SPSetOtherModeHi,
},
[gfxd_DPSetTextureFilter] =
{
.prefix = NULL,
.suffix = "DPSetTextureFilter",
.opcode = G_SETOTHERMODE_H,
.n_gfx = 1,
.n_arg = 1,
.alias = gfxd_SPSetOtherModeHi,
},
[gfxd_DPSetTextureLOD] =
{
.prefix = NULL,
.suffix = "DPSetTextureLOD",
.opcode = G_SETOTHERMODE_H,
.n_gfx = 1,
.n_arg = 1,
.alias = gfxd_SPSetOtherModeHi,
},
[gfxd_DPSetTextureLUT] =
{
.prefix = NULL,
.suffix = "DPSetTextureLUT",
.opcode = G_SETOTHERMODE_H,
.n_gfx = 1,
.n_arg = 1,
.alias = gfxd_SPSetOtherModeHi,
},
[gfxd_DPSetTexturePersp] =
{
.prefix = NULL,
.suffix = "DPSetTexturePersp",
.opcode = G_SETOTHERMODE_H,
.n_gfx = 1,
.n_arg = 1,
.alias = gfxd_SPSetOtherModeHi,
},
[gfxd_DPSetTile] =
{
.prefix = NULL,
.suffix = "DPSetTile",
.opcode = G_SETTILE,
.n_gfx = 1,
.n_arg = 12,
.disas_fn = d_DPSetTile,
},
[gfxd_DPSetTileSize] =
{
.prefix = NULL,
.suffix = "DPSetTileSize",
.opcode = G_SETTILESIZE,
.n_gfx = 1,
.n_arg = 5,
.disas_fn = d_DPSetTileSize,
},
[gfxd_SP1Triangle] =
{
.prefix = NULL,
.suffix = "SP1Triangle",
.opcode = G_TRI1,
.n_gfx = 1,
.n_arg = 4,
.disas_fn = d_SP1Triangle,
},
#if defined(F3DEX_GBI) || defined(F3DEX_GBI_2)
[gfxd_SP2Triangles] =
{
.prefix = NULL,
.suffix = "SP2Triangles",
.opcode = G_TRI2,
.n_gfx = 1,
.n_arg = 8,
.disas_fn = d_SP2Triangles,
},
#endif
#if defined(F3DEX_GBI)
[gfxd_SP1Quadrangle] =
{
.prefix = NULL,
.suffix = "SP1Quadrangle",
.opcode = G_TRI2,
.n_gfx = 1,
.n_arg = 5,
.alias = gfxd_SP2Triangles,
},
#elif defined(F3DEX_GBI_2)
[gfxd_SP1Quadrangle] =
{
.prefix = NULL,
.suffix = "SP1Quadrangle",
.opcode = G_QUAD,
.n_gfx = 1,
.n_arg = 5,
.disas_fn = d_SP1Quadrangle,
},
#endif
#if defined(F3DEX_GBI) || defined(F3DEX_GBI_2)
[gfxd_SPBranchLessZraw] =
{
.prefix = NULL,
.suffix = "SPBranchLessZraw",
.opcode = G_RDPHALF_1,
.n_gfx = 2,
.n_arg = 3,
.combine_fn = c_SPBranchLessZraw,
},
#endif
[gfxd_SPBranchList] =
{
.prefix = NULL,
.suffix = "SPBranchList",
.opcode = G_DL,
.n_gfx = 1,
.n_arg = 1,
.alias = gfxd_DisplayList,
},
[gfxd_SPClipRatio] =
{
.prefix = NULL,
.suffix = "SPClipRatio",
.opcode = G_MOVEWORD,
.n_gfx = 4,
.n_arg = 1,
.combine_fn = c_SPClipRatio,
},
[gfxd_SPCullDisplayList] =
{
.prefix = NULL,
.suffix = "SPCullDisplayList",
.opcode = G_CULLDL,
.n_gfx = 1,
.n_arg = 2,
.disas_fn = d_SPCullDisplayList,
},
[gfxd_SPDisplayList] =
{
.prefix = NULL,
.suffix = "SPDisplayList",
.opcode = G_DL,
.n_gfx = 1,
.n_arg = 1,
.alias = gfxd_DisplayList,
},
[gfxd_SPEndDisplayList] =
{
.prefix = NULL,
.suffix = "SPEndDisplayList",
.opcode = G_ENDDL,
.n_gfx = 1,
.n_arg = 0,
.disas_fn = d_SPEndDisplayList,
},
[gfxd_SPFogFactor] =
{
.prefix = NULL,
.suffix = "SPFogFactor",
.opcode = G_MOVEWORD,
.n_gfx = 1,
.n_arg = 2,
.alias = gfxd_SPFogPosition,
},
[gfxd_SPFogPosition] =
{
.prefix = NULL,
.suffix = "SPFogPosition",
.opcode = G_MOVEWORD,
.n_gfx = 1,
.n_arg = 2,
.alias = gfxd_MoveWd,
},
#if defined(F3D_GBI) || defined(F3DEX_GBI)
[gfxd_SPForceMatrix] =
{
.prefix = NULL,
.suffix = "SPForceMatrix",
.opcode = G_MOVEMEM,
.n_gfx = 4,
.n_arg = 1,
.combine_fn = c_SPForceMatrix,
},
[gfxd_SPSetGeometryMode] =
{
.prefix = NULL,
.suffix = "SPSetGeometryMode",
.opcode = G_SETGEOMETRYMODE,
.n_gfx = 1,
.n_arg = 1,
.disas_fn = d_SPSetGeometryMode,
},
[gfxd_SPClearGeometryMode] =
{
.prefix = NULL,
.suffix = "SPClearGeometryMode",
.opcode = G_CLEARGEOMETRYMODE,
.n_gfx = 1,
.n_arg = 1,
.disas_fn = d_SPClearGeometryMode,
},
[gfxd_SPLoadGeometryMode] =
{
.prefix = NULL,
.suffix = "SPLoadGeometryMode",
.opcode = G_CLEARGEOMETRYMODE,
.n_gfx = 2,
.n_arg = 1,
.combine_fn = c_SPLoadGeometryMode,
},
#elif defined(F3DEX_GBI_2)
[gfxd_SPForceMatrix] =
{
.prefix = NULL,
.suffix = "SPForceMatrix",
.opcode = G_MOVEMEM,
.n_gfx = 2,
.n_arg = 1,
.combine_fn = c_SPForceMatrix,
},
[gfxd_SPSetGeometryMode] =
{
.prefix = NULL,
.suffix = "SPSetGeometryMode",
.opcode = G_GEOMETRYMODE,
.n_gfx = 1,
.n_arg = 1,
.alias = gfxd_SPGeometryMode,
},
[gfxd_SPClearGeometryMode] =
{
.prefix = NULL,
.suffix = "SPClearGeometryMode",
.opcode = G_GEOMETRYMODE,
.n_gfx = 1,
.n_arg = 1,
.alias = gfxd_SPGeometryMode,
},
[gfxd_SPLoadGeometryMode] =
{
.prefix = NULL,
.suffix = "SPLoadGeometryMode",
.opcode = G_GEOMETRYMODE,
.n_gfx = 1,
.n_arg = 1,
.alias = gfxd_SPGeometryMode,
},
#endif
#if defined(F3D_GBI) || defined(F3DEX_GBI)
[gfxd_SPInsertMatrix] =
{
.prefix = NULL,
.suffix = "SPInsertMatrix",
.opcode = G_MOVEWORD,
.n_gfx = 1,
.n_arg = 2,
.alias = gfxd_MoveWd,
},
#endif
[gfxd_SPLine3D] =
{
.prefix = NULL,
.suffix = "SPLine3D",
.opcode = G_LINE3D,
.n_gfx = 1,
.n_arg = 3,
.alias = gfxd_SPLineW3D,
},
[gfxd_SPLineW3D] =
{
.prefix = NULL,
.suffix = "SPLineW3D",
.opcode = G_LINE3D,
.n_gfx = 1,
.n_arg = 4,
.disas_fn = d_SPLineW3D,
},
#if defined(F3DEX_GBI) || defined(F3DEX_GBI_2)
[gfxd_SPLoadUcode] =
{
.prefix = NULL,
.suffix = "SPLoadUcode",
.opcode = G_RDPHALF_1,
.n_gfx = 2,
.n_arg = 2,
.combine_fn = c_SPLoadUcode,
},
#endif
[gfxd_SPLookAtX] =
{
.prefix = NULL,
.suffix = "SPLookAtX",
.opcode = G_MOVEMEM,
.n_gfx = 1,
.n_arg = 1,
.alias = gfxd_MoveMem,
},
[gfxd_SPLookAtY] =
{
.prefix = NULL,
.suffix = "SPLookAtY",
.opcode = G_MOVEMEM,
.n_gfx = 1,
.n_arg = 1,
.alias = gfxd_MoveMem,
},
[gfxd_SPLookAt] =
{
.prefix = NULL,
.suffix = "SPLookAt",
.opcode = G_MOVEMEM,
.n_gfx = 2,
.n_arg = 1,
.combine_fn = c_SPLookAt,
},
[gfxd_SPMatrix] =
{
.prefix = NULL,
.suffix = "SPMatrix",
.opcode = G_MTX,
.n_gfx = 1,
.n_arg = 2,
.disas_fn = d_SPMatrix,
},
#if defined(F3D_GBI) || (defined(F3D_BETA) && defined(F3DEX_GBI))
[gfxd_SPModifyVertex] =
{
.prefix = NULL,
.suffix = "SPModifyVertex",
.opcode = G_MOVEWORD,
.n_gfx = 1,
.n_arg = 3,
.alias = gfxd_MoveWd,
},
#elif defined(F3DEX_GBI) || defined(F3DEX_GBI_2)
[gfxd_SPModifyVertex] =
{
.prefix = NULL,
.suffix = "SPModifyVertex",
.opcode = G_MODIFYVTX,
.n_gfx = 1,
.n_arg = 3,
.disas_fn = d_SPModifyVertex,
},
#endif
#if defined(F3D_BETA) && (defined(F3D_GBI) || defined(F3DEX_GBI))
[gfxd_SPPerspNormalize] =
{
.prefix = NULL,
.suffix = "SPPerspNormalize",
.opcode = G_PERSPNORM,
.n_gfx = 1,
.n_arg = 1,
.disas_fn = d_SPPerspNormalize,
},
#else
[gfxd_SPPerspNormalize] =
{
.prefix = NULL,
.suffix = "SPPerspNormalize",
.opcode = G_MOVEWORD,
.n_gfx = 1,
.n_arg = 1,
.alias = gfxd_MoveWd,
},
#endif
#if defined(F3D_GBI) || defined(F3DEX_GBI)
[gfxd_SPPopMatrix] =
{
.prefix = NULL,
.suffix = "SPPopMatrix",
.opcode = G_POPMTX,
.n_gfx = 1,
.n_arg = 1,
.disas_fn = d_SPPopMatrix,
},
#elif defined(F3DEX_GBI_2)
[gfxd_SPPopMatrix] =
{
.prefix = NULL,
.suffix = "SPPopMatrix",
.opcode = G_POPMTX,
.n_gfx = 1,
.n_arg = 1,
.alias = gfxd_SPPopMatrixN,
},
[gfxd_SPPopMatrixN] =
{
.prefix = NULL,
.suffix = "SPPopMatrixN",
.opcode = G_POPMTX,
.n_gfx = 1,
.n_arg = 2,
.disas_fn = d_SPPopMatrixN,
},
#endif
[gfxd_SPSegment] =
{
.prefix = NULL,
.suffix = "SPSegment",
.opcode = G_MOVEWORD,
.n_gfx = 1,
.n_arg = 2,
.alias = gfxd_MoveWd,
},
[gfxd_SPSetLights1] =
{
.prefix = NULL,
.suffix = "SPSetLights1",
.opcode = G_MOVEWORD,
.n_gfx = 3,
.n_arg = 1,
.combine_fn = c_SPSetLights1,
},
[gfxd_SPSetLights2] =
{
.prefix = NULL,
.suffix = "SPSetLights2",
.opcode = G_MOVEWORD,
.n_gfx = 4,
.n_arg = 1,
.combine_fn = c_SPSetLights2,
},
[gfxd_SPSetLights3] =
{
.prefix = NULL,
.suffix = "SPSetLights3",
.opcode = G_MOVEWORD,
.n_gfx = 5,
.n_arg = 1,
.combine_fn = c_SPSetLights3,
},
[gfxd_SPSetLights4] =
{
.prefix = NULL,
.suffix = "SPSetLights4",
.opcode = G_MOVEWORD,
.n_gfx = 6,
.n_arg = 1,
.combine_fn = c_SPSetLights4,
},
[gfxd_SPSetLights5] =
{
.prefix = NULL,
.suffix = "SPSetLights5",
.opcode = G_MOVEWORD,
.n_gfx = 7,
.n_arg = 1,
.combine_fn = c_SPSetLights5,
},
[gfxd_SPSetLights6] =
{
.prefix = NULL,
.suffix = "SPSetLights6",
.opcode = G_MOVEWORD,
.n_gfx = 8,
.n_arg = 1,
.combine_fn = c_SPSetLights6,
},
[gfxd_SPSetLights7] =
{
.prefix = NULL,
.suffix = "SPSetLights7",
.opcode = G_MOVEWORD,
.n_gfx = 9,
.n_arg = 1,
.combine_fn = c_SPSetLights7,
},
[gfxd_SPNumLights] =
{
.prefix = NULL,
.suffix = "SPNumLights",
.opcode = G_MOVEWORD,
.n_gfx = 1,
.n_arg = 1,
.alias = gfxd_MoveWd,
},
[gfxd_SPLight] =
{
.prefix = NULL,
.suffix = "SPLight",
.opcode = G_MOVEMEM,
.n_gfx = 1,
.n_arg = 2,
.alias = gfxd_MoveMem,
},
[gfxd_SPLightColor] =
{
.prefix = NULL,
.suffix = "SPLightColor",
.opcode = G_MOVEWORD,
.n_gfx = 2,
.n_arg = 2,
.combine_fn = c_SPLightColor,
},
[gfxd_SPTexture] =
{
.prefix = NULL,
.suffix = "SPTexture",
.opcode = G_TEXTURE,
.n_gfx = 1,
.n_arg = 5,
.disas_fn = d_SPTexture,
},
[gfxd_SPTextureRectangle] =
{
.prefix = NULL,
.suffix = "SPTextureRectangle",
.opcode = G_TEXRECT,
.n_gfx = 3,
.n_arg = 9,
.combine_fn = c_SPTextureRectangle,
},
[gfxd_SPTextureRectangleFlip] =
{
.prefix = NULL,
.suffix = "SPTextureRectangleFlip",
.opcode = G_TEXRECTFLIP,
.n_gfx = 3,
.n_arg = 9,
.combine_fn = c_SPTextureRectangleFlip,
},
[gfxd_SPVertex] =
{
.prefix = NULL,
.suffix = "SPVertex",
.opcode = G_VTX,
.n_gfx = 1,
.n_arg = 3,
.disas_fn = d_SPVertex,
},
[gfxd_SPViewport] =
{
.prefix = NULL,
.suffix = "SPViewport",
.opcode = G_MOVEMEM,
.n_gfx = 1,
.n_arg = 1,
.alias = gfxd_MoveMem,
},
[gfxd_DPLoadTLUTCmd] =
{
.prefix = NULL,
.suffix = "DPLoadTLUTCmd",
.opcode = G_LOADTLUT,
.n_gfx = 1,
.n_arg = 2,
.disas_fn = d_DPLoadTLUTCmd,
},
[gfxd_DPLoadTLUT] =
{
.prefix = NULL,
.suffix = "DPLoadTLUT",
.opcode = G_SETTIMG,
.n_gfx = 6,
.n_arg = 3,
.combine_fn = c_DPLoadTLUT,
},
#if defined(F3DEX_GBI) || defined(F3DEX_GBI_2)
[gfxd_BranchZ] =
{
.prefix = NULL,
.suffix = "BranchZ",
.opcode = G_BRANCH_Z,
.n_gfx = 1,
.n_arg = 2,
.disas_fn = d_BranchZ,
.ext = 1,
},
#endif
[gfxd_DisplayList] =
{
.prefix = NULL,
.suffix = "DisplayList",
.opcode = G_DL,
.n_gfx = 1,
.n_arg = 2,
.disas_fn = d_DisplayList,
.ext = 1,
},
[gfxd_DPHalf1] =
{
.prefix = NULL,
.suffix = "DPHalf1",
.opcode = G_RDPHALF_1,
.n_gfx = 1,
.n_arg = 1,
.disas_fn = d_DPHalf1,
.ext = 1,
},
[gfxd_DPHalf2] =
{
.prefix = NULL,
.suffix = "DPHalf2",
.opcode = G_RDPHALF_2,
.n_gfx = 1,
.n_arg = 1,
.disas_fn = d_DPHalf2,
.ext = 1,
},
[gfxd_DPWord] =
{
.prefix = NULL,
.suffix = "DPWord",
.opcode = G_RDPHALF_1,
.n_gfx = 2,
.n_arg = 2,
.combine_fn = c_DPWord,
},
[gfxd_DPLoadTile] =
{
.prefix = NULL,
.suffix = "DPLoadTile",
.opcode = G_LOADTILE,
.n_gfx = 1,
.n_arg = 5,
.disas_fn = d_DPLoadTile,
},
#if defined(F3DEX_GBI_2)
[gfxd_SPGeometryMode] =
{
.prefix = NULL,
.suffix = "SPGeometryMode",
.opcode = G_GEOMETRYMODE,
.n_gfx = 1,
.n_arg = 2,
.disas_fn = d_SPGeometryMode,
},
#endif
[gfxd_SPSetOtherMode] =
{
.prefix = NULL,
.suffix = "SPSetOtherMode",
.opcode = -1,
.n_gfx = 1,
.n_arg = 4,
.disas_fn = d_SPSetOtherMode,
},
[gfxd_SPSetOtherModeLo] =
{
.prefix = NULL,
.suffix = "SPSetOtherModeLo",
.opcode = G_SETOTHERMODE_L,
.n_gfx = 1,
.n_arg = 3,
.disas_fn = d_SPSetOtherModeLo,
.ext = 1,
},
[gfxd_SPSetOtherModeHi] =
{
.prefix = NULL,
.suffix = "SPSetOtherModeHi",
.opcode = G_SETOTHERMODE_H,
.n_gfx = 1,
.n_arg = 3,
.disas_fn = d_SPSetOtherModeHi,
.ext = 1,
},
[gfxd_DPSetOtherMode] =
{
.prefix = NULL,
.suffix = "DPSetOtherMode",
.opcode = G_RDPSETOTHERMODE,
.n_gfx = 1,
.n_arg = 2,
.disas_fn = d_DPSetOtherMode,
},
[gfxd_MoveWd] =
{
.prefix = NULL,
.suffix = "MoveWd",
.opcode = G_MOVEWORD,
.n_gfx = 1,
.n_arg = 3,
.disas_fn = d_MoveWd,
},
#if defined(F3D_GBI) || defined(F3DEX_GBI)
[gfxd_MoveMem] =
{
.prefix = NULL,
.suffix = "MoveMem",
.opcode = G_MOVEMEM,
.n_gfx = 1,
.n_arg = 3,
.disas_fn = d_MoveMem,
.ext = 1,
},
#elif defined(F3DEX_GBI_2)
[gfxd_MoveMem] =
{
.prefix = NULL,
.suffix = "MoveMem",
.opcode = G_MOVEMEM,
.n_gfx = 1,
.n_arg = 4,
.disas_fn = d_MoveMem,
.ext = 1,
},
#endif
#if defined(F3DEX_GBI_2)
[gfxd_SPDma_io] =
{
.prefix = NULL,
.suffix = "SPDma_io",
.opcode = G_DMA_IO,
.n_gfx = 1,
.n_arg = 4,
.disas_fn = d_SPDma_io,
},
[gfxd_SPDmaRead] =
{
.prefix = NULL,
.suffix = "SPDmaRead",
.opcode = G_DMA_IO,
.n_gfx = 1,
.n_arg = 3,
.alias = gfxd_SPDma_io,
},
[gfxd_SPDmaWrite] =
{
.prefix = NULL,
.suffix = "SPDmaWrite",
.opcode = G_DMA_IO,
.n_gfx = 1,
.n_arg = 3,
.alias = gfxd_SPDma_io,
},
#endif
#if defined(F3DEX_GBI) || defined(F3DEX_GBI_2)
[gfxd_LoadUcode] =
{
.prefix = NULL,
.suffix = "LoadUcode",
.opcode = G_LOAD_UCODE,
.n_gfx = 1,
.n_arg = 2,
.disas_fn = d_LoadUcode,
},
[gfxd_SPLoadUcodeEx] =
{
.prefix = NULL,
.suffix = "SPLoadUcodeEx",
.opcode = G_RDPHALF_1,
.n_gfx = 2,
.n_arg = 3,
.combine_fn = c_SPLoadUcodeEx,
},
#endif
[gfxd_TexRect] =
{
.prefix = NULL,
.suffix = "TexRect",
.opcode = G_TEXRECT,
.n_gfx = 1,
.n_arg = 5,
.disas_fn = d_TexRect,
.ext = 1,
},
[gfxd_TexRectFlip] =
{
.prefix = NULL,
.suffix = "TexRectFlip",
.opcode = G_TEXRECTFLIP,
.n_gfx = 1,
.n_arg = 5,
.disas_fn = d_TexRectFlip,
.ext = 1,
},
[gfxd_SPNoOp] =
{
.prefix = NULL,
.suffix = "SPNoOp",
.opcode = G_SPNOOP,
.n_gfx = 1,
.n_arg = 0,
.disas_fn = d_SPNoOp,
},
#if defined(F3DEX_GBI_2)
[gfxd_Special3] =
{
.prefix = NULL,
.suffix = "Special3",
.opcode = G_SPECIAL_3,
.n_gfx = 1,
.n_arg = 2,
.disas_fn = d_Special3,
.ext = 1,
},
[gfxd_Special2] =
{
.prefix = NULL,
.suffix = "Special2",
.opcode = G_SPECIAL_2,
.n_gfx = 1,
.n_arg = 2,
.disas_fn = d_Special2,
.ext = 1,
},
[gfxd_Special1] =
{
.prefix = NULL,
.suffix = "Special1",
.opcode = G_SPECIAL_1,
.n_gfx = 1,
.n_arg = 2,
.disas_fn = d_Special1,
.ext = 1,
},
#endif
};