From 768f0c2c88a77eb5ccc46c14125d5949f699a468 Mon Sep 17 00:00:00 2001 From: Synray <31429825+Synray@users.noreply.github.com> Date: Sun, 14 Nov 2021 16:02:33 -0800 Subject: [PATCH] ucode_disas.c OK (#1022) * ucode_disas.c OK * Clang format * Remove comments --- .../UCodeDisas_Disassemble.rodata.s | 83 - .../UCodeDisas_Disassemble.rodata2.s | 13 - .../code/ucode_disas/UCodeDisas_Disassemble.s | 3530 ----------------- src/code/ucode_disas.c | 1298 +++--- 4 files changed, 650 insertions(+), 4274 deletions(-) delete mode 100644 asm/non_matchings/code/ucode_disas/UCodeDisas_Disassemble.rodata.s delete mode 100644 asm/non_matchings/code/ucode_disas/UCodeDisas_Disassemble.rodata2.s delete mode 100644 asm/non_matchings/code/ucode_disas/UCodeDisas_Disassemble.s diff --git a/asm/non_matchings/code/ucode_disas/UCodeDisas_Disassemble.rodata.s b/asm/non_matchings/code/ucode_disas/UCodeDisas_Disassemble.rodata.s deleted file mode 100644 index 0f69571fcd..0000000000 --- a/asm/non_matchings/code/ucode_disas/UCodeDisas_Disassemble.rodata.s +++ /dev/null @@ -1,83 +0,0 @@ -.rdata -glabel D_80147E58 - .asciz "%08x:" - .balign 4 - -glabel D_80147E60 - .asciz "%08x-%08x:" - .balign 4 - -glabel D_80147E6C - .asciz " " - .balign 4 - -glabel D_80147E70 - .asciz "gsSPNoOp()," - .balign 4 - -glabel D_80147E7C - .asciz "gsSPDisplayList(0x%08x)," - .balign 4 - -glabel D_80147E98 - .asciz "gsSPBranchList(0x%08x)," - .balign 4 - -glabel D_80147EB0 - .asciz "RDPHALF_1(0x%08x)," - .balign 4 - -glabel D_80147EC4 - .asciz "gsSPTextureRectangle(%d,%d,%d,%d,%d,%d,%d,%d,%d)," - .balign 4 - -glabel D_80147EF8 - .asciz "gsSPLoadUcode(0x%08x, 0x%08x)," - .balign 4 - -glabel D_80147F18 - .asciz "gsSPLoadUcodeEx(0x%08x, 0x%08x, 0x%05x)," - .balign 4 - -glabel D_80147F44 - .asciz "gsSPEndDisplayList()," - .balign 4 - -glabel D_80147F5C - .asciz "gsDPSetTile(%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d)," - .balign 4 - -glabel D_80147F90 - .asciz "### TileSyncが必要です。\n" - # EUC-JP: が必要です。| Is required. - .balign 4 - -glabel D_80147FAC - .asciz "gsDPLoadTile(%d,%d,%d,%d,%d)," - .balign 4 - -glabel D_80147FCC - .asciz "gsDPLoadBlock(%d,%d,%d,%d,%d)," - .balign 4 - -glabel D_80147FEC - .asciz "### LoadSyncが必要です。\n" - # EUC-JP: が必要です。| Is required. - .balign 4 - -glabel D_80148008 - .asciz "gsDPSetTileSize(%d,%d,%d,%d,%d)," - .balign 4 - -glabel D_8014802C - .asciz "gsDPLoadTLUTCmd(%d,%d)," - .balign 4 - -glabel D_80148044 - .asciz "gsDPSetCombineLERP(%s,%s,%s,%s, %s,%s,%s,%s, %s,%s,%s,%s, %s,%s,%s,%s)," - .balign 4 - -glabel D_8014808C - .asciz "### PipeSyncが必要です。\n" - # EUC-JP: が必要です。| Is required. - .balign 4 diff --git a/asm/non_matchings/code/ucode_disas/UCodeDisas_Disassemble.rodata2.s b/asm/non_matchings/code/ucode_disas/UCodeDisas_Disassemble.rodata2.s deleted file mode 100644 index a716a55563..0000000000 --- a/asm/non_matchings/code/ucode_disas/UCodeDisas_Disassemble.rodata2.s +++ /dev/null @@ -1,13 +0,0 @@ -.rdata -glabel D_80148374 - .asciz "gsDP%s(%s)," - .balign 4 - -glabel D_80148380 - .asciz "gsSPSetOtherModeH(%d, %d, 0x%08x)," - .balign 4 - -glabel D_801483A4 - .asciz "### PipeSyncが必要です。\n" - # EUC-JP: が必要です。| Is required. - .balign 4 diff --git a/asm/non_matchings/code/ucode_disas/UCodeDisas_Disassemble.s b/asm/non_matchings/code/ucode_disas/UCodeDisas_Disassemble.s deleted file mode 100644 index 93e6872145..0000000000 --- a/asm/non_matchings/code/ucode_disas/UCodeDisas_Disassemble.s +++ /dev/null @@ -1,3530 +0,0 @@ -.rdata - - -glabel D_80148434 - .asciz "\ngsDPSetRenderBlender(" - .balign 4 - -glabel D_8014844C - .asciz "\n)," - .balign 4 - -glabel D_80148450 - .asciz "gsDP%s(%s)," - .balign 4 - -glabel D_8014845C - .asciz "gsSPSetOtherModeL(%d, %d, 0x%08x)," - .balign 4 - -glabel D_80148480 - .asciz "### PipeSyncが必要です。\n" - # EUC-JP: が必要です。 | Is required. - .balign 4 - -glabel D_8014849C - .asciz "gsDPSetOtherMode(0x%08x, 0x%08x)," - .balign 4 - -glabel D_801484C0 - .asciz "### PipeSyncが必要です。\n" - # EUC-JP: が必要です。 | Is required. - .balign 4 - -glabel D_801484DC - .asciz "G_SC_NON_INTERLACE" - .balign 4 - -glabel D_801484F0 - .asciz "G_SC_ODD_INTERLACE" - .balign 4 - -glabel D_80148504 - .asciz "G_SC_EVEN_INTERLACE" - .balign 4 - -glabel D_80148518 - .asciz "???" - .balign 4 - -glabel D_8014851C - .asciz "gsDPSetScissorFrac(%s, %d, %d, %d, %d)," - .balign 4 - -glabel D_80148544 - .asciz "gsDPSetScissor(%s, %d, %d, %d, %d)," - .balign 4 - -glabel D_80148568 - .asciz "gsDPFillRectangle(%d, %d, %d, %d)," - .balign 4 - -glabel D_8014858C - .asciz "gsDPSetColorImage(G_IM_FMT_%s, G_IM_SIZ_%s, %d, 0x%08x(0x%08x) )," - .balign 4 - -glabel D_801485D0 - .asciz "RGBA" - .balign 4 - -glabel D_801485D8 - .asciz "YUV" - .balign 4 - -glabel D_801485DC - .asciz "CI" - .balign 4 - -glabel D_801485E0 - .asciz "IA" - .balign 4 - -glabel D_801485E4 - .asciz "I" - .balign 4 - -glabel D_801485E8 - .asciz "4b" - .balign 4 - -glabel D_801485EC - .asciz "8b" - .balign 4 -glabel D_801485F0 - .asciz "16b" - .balign 4 - -glabel D_801485F4 - .asciz "32b" - .balign 4 - -glabel D_801485F8 - .asciz "### PipeSyncが必要です。\n" - # EUC-JP: が必要です。 | Is required. - .balign 4 - -glabel D_80148614 - .asciz "gsDPSetDepthImage(0x%08x(0x%08x))," - .balign 4 - -glabel D_80148638 - .asciz "### PipeSyncが必要です。\n" - # EUC-JP: が必要です。 | Is required. - .balign 4 - -glabel D_80148654 - .asciz "gsDPSetTextureImage(G_IM_FMT_%s, G_IM_SIZ_%s, %d, 0x%08x(0x%08x))," - .balign 4 - -glabel D_80148698 - .asciz "RGBA" - .balign 4 - -glabel D_801486A0 - .asciz "YUV" - .balign 4 - -glabel D_801486A4 - .asciz "CI" - .balign 4 - -glabel D_801486A8 - .asciz "IA" - .balign 4 - -glabel D_801486AC - .asciz "I" - .balign 4 - -glabel D_801486B0 - .asciz "4b" - .balign 4 - -glabel D_801486B4 - .asciz "8b" - .balign 4 - -glabel D_801486B8 - .asciz "16b" - .balign 4 - -glabel D_801486BC - .asciz "32b" - .balign 4 - -glabel D_801486C0 - .asciz "gsDPSetEnvColor(%d, %d, %d, %d)," - .balign 4 - -glabel D_801486E4 - .asciz "### PipeSyncが必要です。\n" - # EUC-JP: が必要です。 | Is required. - .balign 4 - -glabel D_80148700 - .asciz "gsDPSetBlendColor(%d, %d, %d, %d)," - .balign 4 - -glabel D_80148724 - .asciz "### PipeSyncが必要です。\n" - # EUC-JP: が必要です。 | Is required. - .balign 4 - -glabel D_80148740 - .asciz "gsDPSetFogColor(%d, %d, %d, %d)," - .balign 4 - -glabel D_80148764 - .asciz "### PipeSyncが必要です。\n" - # EUC-JP: が必要です。 | Is required. - .balign 4 - -glabel D_80148780 - .asciz "gsDPSetFillColor(0x%08x)," - .balign 4 - -glabel D_8014879C - .asciz "### PipeSyncが必要です。\n" - # EUC-JP: が必要です。 | Is required. - .balign 4 - -glabel D_801487B8 - .asciz "gsDPSetPrimDepth(%d, %d)," - .balign 4 - -glabel D_801487D4 - .asciz "### PipeSyncが必要です。\n" - # EUC-JP: が必要です。 | Is required. - .balign 4 - -glabel D_801487F0 - .asciz "gsDPSetPrimColor(%d, %d, %d, %d, %d, %d)," - .balign 4 - -glabel D_8014881C - .asciz "gsDPFullSync()," - .balign 4 - -glabel D_8014882C - .asciz "### PipeSyncが必要です。\n" - # EUC-JP: が必要です。 | Is required. - .balign 4 - -glabel D_80148848 - .asciz "gsDPTileSync()," - .balign 4 - -glabel D_80148858 - .asciz "gsDPPipeSync()," - .balign 4 - -glabel D_80148868 - .asciz "gsDPLoadSync()," - .balign 4 - -glabel D_80148878 - .asciz "gsDPNoOp()," - .balign 4 - -glabel D_80148884 - .asciz "gsDPNoOpTag(%08x)," - .balign 4 - -glabel D_80148898 - .asciz "count_gsDPNoOpHere([%s:%d])," - .balign 4 - -glabel D_801488B8 - .asciz "count_gsDPNoOpOpenDisp([%s:%d])," - .balign 4 - -glabel D_801488DC - .asciz "count_gsDPNoOpCloseDisp([%s:%d])," - .balign 4 - -glabel D_80148900 - .asciz "count_gsDPNoOpString(%c%s%c, %d)," - .balign 4 - -glabel D_80148924 - .asciz "count_gsDPNoOpWord(0x%08x, %d)," - .balign 4 - -glabel D_80148944 - .asciz "count_gsDPNoOpFloat(%8.3f, %d)," - .balign 4 - -glabel D_80148964 - .asciz "count_gsDPNoOpQuiet()," - .balign 4 - -glabel D_8014897C - .asciz "count_gsDPNoOpVerbose()," - .balign 4 - -glabel D_80148998 - .asciz "count_gsDPNoOpCallBack(%08x,%d)," - .balign 4 - -glabel D_801489BC - .asciz "gsDPNoOpTag3(%02x, %08x, %04x)," - .balign 4 - -glabel D_801489DC - .asciz "gsSPMatrix(0x%08x(%08x), 0" - .balign 4 - -glabel D_801489F8 - .asciz "|%s" - .balign 4 - -glabel D_801489FC - .asciz ")," - .balign 4 - -glabel D_80148A00 - .asciz "\n" - .balign 4 - -glabel D_80148A04 - .ascii "/ %04x.%04x %04x.%04x %04x.%04x %.04x.%04x \\/ %12.6f %12.6f %12.6f %12.6f \\\n" - .ascii "| %04x.%04x %04x.%04x %04x.%04x %.04x.%04x || %12.6f %12.6f %12.6f %12.6f |\n" - .ascii "| %04x.%04x %04x.%04x %04x.%04x %.04x.%04x || %12.6f %12.6f %12.6f %12.6f |\n" - .asciz "\\ %04x.%04x %04x.%04x %04x.%04x %.04x.%04x /\\ %12.6f %12.6f %12.6f %12.6f /\n" - .balign 4 - -glabel D_80148B38 - .asciz "gsSPVertex(0x%08x(0x%08x), %d, %d)," - .balign 4 - -glabel D_80148B5C - .asciz "gsSPModifyVertex(%d, %s, %08x)," - .balign 4 - -glabel D_80148B7C - .asciz "G_MWO_POINT_RGBA" - .balign 4 - -glabel D_80148B90 - .asciz "G_MWO_POINT_ST" - .balign 4 - -glabel D_80148BA0 - .asciz "G_MWO_POINT_XYSCREEN" - .balign 4 - -glabel D_80148BB8 - .asciz "G_MWO_POINT_ZSCREEN" - .balign 4 - -glabel D_80148BCC - .asciz "G_MWO_POINT_????" - .balign 4 - -glabel D_80148BE0 - .asciz "gsSP1Triangle(%d, %d, %d)," - .balign 4 - -glabel D_80148BFC - .asciz "gsSPLine3D(%d, %d)," - .balign 4 - -glabel D_80148C10 - .asciz "gsSPLineW3D(%d, %d, %d)," - .balign 4 - -glabel D_80148C2C - .asciz "gsSP2Triangles(%d, %d, %d, 0, %d, %d, %d, 0)," - .balign 4 - -glabel D_80148C5C - .asciz "gsSP1Quadrangle(%d, %d, %d, %d, 0)," - .balign 4 - -glabel D_80148C80 - .asciz "gsSPCullDisplayList(%d, %d)," - .balign 4 - -glabel D_80148CA0 - .asciz "gsSPBranchLessZraw(0x%08x(0x%08x), %d, 0x%08x)," - .balign 4 - -glabel D_80148CD0 - .asciz "gsSPTexture(%d, %d, %d, %d, %s)," - .balign 4 - -glabel D_80148CF4 - .asciz "G_ON" - .balign 4 - -glabel D_80148CFC - .asciz "G_OFF" - .balign 4 - -glabel D_80148D04 - .asciz "gsSPTextureL(%d, %d, %d, %d, %d, %s)," - .balign 4 - -glabel D_80148D2C - .asciz "G_ON" - .balign 4 - -glabel D_80148D34 - .asciz "G_OFF" - .balign 4 - -glabel D_80148D3C - .asciz "gsSPPopMatrix(G_MTX_MODELVIEW)," - .balign 4 - -glabel D_80148D5C - .asciz "gsSPPopMatrixN(G_MTX_MODELVIEW, %d)," - .balign 4 - -glabel D_80148D84 - .asciz "gsSPLoadGeometryMode(" - .balign 4 - -glabel D_80148D9C - .asciz ")," - .balign 4 - -glabel D_80148DA0 - .asciz "gsSPClearGeometryMode(" - .balign 4 - -glabel D_80148DB8 - .asciz ")," - .balign 4 - -glabel D_80148DBC - .asciz "gsSPSetGeometryMode(" - .balign 4 - -glabel D_80148DD4 - .asciz ")," - .balign 4 - -glabel D_80148DD8 - .asciz "gsSPGeometryMode(" - .balign 4 - -glabel D_80148DEC - .asciz ", " - .balign 4 - -glabel D_80148DF0 - .asciz ")," - .balign 4 - -glabel D_80148DF4 - .asciz "gsSPSegment(%d, 0x%08x)," - .balign 4 - -glabel D_80148E10 - .asciz "gsSPClipRatio(FRUSTRATIO_%d), " - .balign 4 - -glabel D_80148E30 - .asciz "gsSPNumLights(%d), " - .balign 4 - -glabel D_80148E44 - .asciz "gsSPLightColor(%d, %d), " - .balign 4 - -glabel D_80148E60 - .asciz "gsSPFogFactor(%d, %d)," - .balign 4 - -glabel D_80148E78 - .asciz "gsSPPerspNormalize(%d)," - .balign 4 - -glabel D_80148E90 - .asciz "gsMoveWd(%d, %d, %d), " - .balign 4 - -glabel D_80148EA8 - .asciz "gsSPViewport(0x%08x(0x%08x))," - .balign 4 - -glabel D_80148EC8 - .asciz " # vscale=[%d %d %d %d], " - .balign 4 - -glabel D_80148EE4 - .asciz "vtrans=[%d %d %d %d] " - .balign 4 - -glabel D_80148EFC - .asciz "gsSPForceMatrix(0x%08x)," - .balign 4 - -glabel D_80148F18 - .asciz "gsSPLookAtX(0x%08x)," - .balign 4 - -glabel D_80148F30 - .asciz "gsSPLookAtY(0x%08x)," - .balign 4 - -glabel D_80148F48 - .asciz "gsSPLight(0x%08x,%d)," - .balign 4 - -glabel D_80148F60 - .asciz "gsMoveMem(0x%08x, %d, %d, %d)," - .balign 4 - -glabel D_80148F80 - .asciz "AnyDisplayList()," - .balign 4 - -glabel D_80148F94 - .asciz "gsSPBgRectCopy(0x%08x(0x%08x))," - .balign 4 - -glabel D_80148FB4 - .asciz "gsSPBgRect1Cyc(0x%08x(0x%08x))," - .balign 4 - -glabel D_80148FD4 - .asciz "gsSPObjSprite(0x%08x(0x%08x))," - .balign 4 - -glabel D_80148FF4 - .asciz "gsSPObjRectangle(0x%08x(0x%08x))," - .balign 4 - -glabel D_80149018 - .asciz "gsSPObjRectangleR(0x%08x(0x%08x))," - .balign 4 - -glabel D_8014903C - .asciz "RDPHALF_0(0x%02x, 0x%08x, 0x%04x)," - .balign 4 - -glabel D_80149060 - .asciz "gsSPObjMatrix(0x%08x(0x%08x))," - .balign 4 - -glabel D_80149080 - .asciz "gsSPObjSubMatrix(0x%08x(0x%08x))," - .balign 4 - -glabel D_801490A4 - .asciz "gsSPObjLoadTxtr(0x%08x(0x%08x))," - .balign 4 - -glabel D_801490C8 - .asciz "gsSPObjLoadTxSprite(0x%08x(0x%08x))," - .balign 4 - -glabel D_801490F0 - .asciz "gsSPObjLoadTxRect(0x%08x(0x%08x))," - .balign 4 - -glabel D_80149114 - .asciz "gsSPObjLoadTxRectR(0x%08x(0x%08x))," - .balign 4 - -glabel D_80149138 - .asciz "gsSPSelectDL(0x%08x, %d, 0x%08x, 0x%08x)," - .balign 4 - -glabel D_80149164 - .asciz "gsSPSelectBranchDL(0x%08x, %d, 0x%08x, 0x%08x)," - .balign 4 - -glabel D_80149194 - .asciz "gsSPSegment(%d, 0x%08x)," - .balign 4 - -glabel D_801491B0 - .asciz "gsSPSetStatus(0x%08x, 0x%08x)," - .balign 4 - -glabel D_801491D0 - .asciz "gsMoveWd(%d, %d, %d), " - .balign 4 - -glabel D_801491E8 - .asciz "gsSPObjRenderMode(0x%08x)," - .balign 4 - -glabel D_80149204 - .asciz "AnyDisplayList()," - .balign 4 - -glabel D_80149218 - .asciz "\n" - .balign 4 - -.late_rodata -glabel jtbl_8014927C - .word L800D86D8 - .word L800D854C - .word L800D8754 - .word L800D8530 - .word L800D85F8 - .word L800D8DC0 - .word L800D8CA0 - .word L800D8620 - .word L800D9890 - .word L800D9698 - .word L800D9678 - .word L800D9658 - .word L800D9610 - .word L800D9890 - .word L800D9890 - .word L800D9890 - .word L800D8F90 - .word L800D957C - .word L800D8F20 - .word L800D8A24 - .word L800D9890 - .word L800D89B8 - .word L800D891C - .word L800D88B0 - .word L800D87A4 - .word L800D9108 - .word L800D9530 - .word L800D94D0 - .word L800D9470 - .word L800D95CC - .word L800D9410 - .word L800D8A78 - .word L800D9300 - .word L800D92B0 - .word L800D9174 - -glabel jtbl_80149308 - .word L800D96E0 - .word L800D971C - .word L800D977C - .word L800D97AC - .word L800D97CC - .word L800D9800 - .word L800D9844 - .word L800D973C - .word L800D975C - -glabel jtbl_8014932C - .word L800DA008 - .word L800DA100 - .word L800DA168 - .word L800D990C - .word L800DA2B4 - .word L800DA4E8 - -glabel jtbl_80149344 - .word L800D9BC4 - .word L800D9C44 - .word L800D9F68 - .word L800D9FB4 - .word L800D9CF4 - .word L800D9DF0 - .word L800D9EC4 - .word L800D9D8C - -glabel jtbl_80149364 - .word L800DA3E8 - .word L800DA4B0 - .word L800DA39C - .word L800DA4B0 - .word L800DA33C - .word L800DA4B0 - .word L800DA464 - .word L800DA4B0 - .word L800DA41C - .word L800DA4B0 - .word L800DA4B0 - .word L800DA4B0 - .word L800DA490 - -glabel jtbl_80149398 - .word L800DA814 - .word L800DA7D0 - .word L800DAC14 - .word L800DAA50 - .word L800DA950 - .word L800DA990 - .word L800DA9D0 - .word L800DAA10 - .word L800DA78C - .word L800DA748 - .word L800DABD8 - -.text -glabel UCodeDisas_Disassemble -/* B4F5A0 800D8400 27BDFC70 */ addiu $sp, $sp, -0x390 -/* B4F5A4 800D8404 AFB3011C */ sw $s3, 0x11c($sp) -/* B4F5A8 800D8408 00809825 */ move $s3, $a0 -/* B4F5AC 800D840C AFBF0134 */ sw $ra, 0x134($sp) -/* B4F5B0 800D8410 AFBE0130 */ sw $fp, 0x130($sp) -/* B4F5B4 800D8414 AFB7012C */ sw $s7, 0x12c($sp) -/* B4F5B8 800D8418 AFB60128 */ sw $s6, 0x128($sp) -/* B4F5BC 800D841C AFB50124 */ sw $s5, 0x124($sp) -/* B4F5C0 800D8420 AFB40120 */ sw $s4, 0x120($sp) -/* B4F5C4 800D8424 AFB20118 */ sw $s2, 0x118($sp) -/* B4F5C8 800D8428 AFB10114 */ sw $s1, 0x114($sp) -/* B4F5CC 800D842C AFB00110 */ sw $s0, 0x110($sp) -/* B4F5D0 800D8430 AFA50394 */ sw $a1, 0x394($sp) -/* B4F5D4 800D8434 AFA00378 */ sw $zero, 0x378($sp) -/* B4F5D8 800D8438 27BE0370 */ addiu $fp, $sp, 0x370 -/* B4F5DC 800D843C 24170020 */ li $s7, 32 -/* B4F5E0 800D8440 24160020 */ li $s6, 32 -.L800D8444: -/* B4F5E4 800D8444 8E6E008C */ lw $t6, 0x8c($s3) -/* B4F5E8 800D8448 02602025 */ move $a0, $s3 -/* B4F5EC 800D844C 00008025 */ move $s0, $zero -/* B4F5F0 800D8450 25CF0001 */ addiu $t7, $t6, 1 -/* B4F5F4 800D8454 AE6F008C */ sw $t7, 0x8c($s3) -/* B4F5F8 800D8458 0C035F34 */ jal UCodeDisas_TranslateAddr -/* B4F5FC 800D845C 8FA50394 */ lw $a1, 0x394($sp) -/* B4F600 800D8460 AFA20394 */ sw $v0, 0x394($sp) -/* B4F604 800D8464 8E7800BC */ lw $t8, 0xbc($s3) -/* B4F608 800D8468 13000004 */ beqz $t8, .L800D847C -/* B4F60C 800D846C 3C048014 */ lui $a0, %hi(D_80147E58) # $a0, 0x8014 -/* B4F610 800D8470 24847E58 */ addiu $a0, %lo(D_80147E58) # addiu $a0, $a0, 0x7e58 -/* B4F614 800D8474 0C00084C */ jal osSyncPrintf -/* B4F618 800D8478 00402825 */ move $a1, $v0 -.L800D847C: -/* B4F61C 800D847C 8FB90394 */ lw $t9, 0x394($sp) -/* B4F620 800D8480 02602025 */ move $a0, $s3 -/* B4F624 800D8484 8F2B0000 */ lw $t3, ($t9) -/* B4F628 800D8488 AFCB0000 */ sw $t3, ($fp) -/* B4F62C 800D848C 8F2A0004 */ lw $t2, 4($t9) -/* B4F630 800D8490 AFCA0004 */ sw $t2, 4($fp) -/* B4F634 800D8494 93B10370 */ lbu $s1, 0x370($sp) -/* B4F638 800D8498 0C035F34 */ jal UCodeDisas_TranslateAddr -/* B4F63C 800D849C 8FA50374 */ lw $a1, 0x374($sp) -/* B4F640 800D84A0 8E6C00BC */ lw $t4, 0xbc($s3) -/* B4F644 800D84A4 0040A025 */ move $s4, $v0 -/* B4F648 800D84A8 11800005 */ beqz $t4, .L800D84C0 -/* B4F64C 800D84AC 3C048014 */ lui $a0, %hi(D_80147E60) # $a0, 0x8014 -/* B4F650 800D84B0 24847E60 */ addiu $a0, %lo(D_80147E60) # addiu $a0, $a0, 0x7e60 -/* B4F654 800D84B4 8FC50000 */ lw $a1, ($fp) -/* B4F658 800D84B8 0C00084C */ jal osSyncPrintf -/* B4F65C 800D84BC 8FA60374 */ lw $a2, 0x374($sp) -.L800D84C0: -/* B4F660 800D84C0 8E620088 */ lw $v0, 0x88($s3) -/* B4F664 800D84C4 1840000B */ blez $v0, .L800D84F4 -/* B4F668 800D84C8 00000000 */ nop -/* B4F66C 800D84CC 8E6D00BC */ lw $t5, 0xbc($s3) -.L800D84D0: -/* B4F670 800D84D0 11A00004 */ beqz $t5, .L800D84E4 -/* B4F674 800D84D4 3C048014 */ lui $a0, %hi(D_80147E6C) # $a0, 0x8014 -/* B4F678 800D84D8 0C00084C */ jal osSyncPrintf -/* B4F67C 800D84DC 24847E6C */ addiu $a0, %lo(D_80147E6C) # addiu $a0, $a0, 0x7e6c -/* B4F680 800D84E0 8E620088 */ lw $v0, 0x88($s3) -.L800D84E4: -/* B4F684 800D84E4 26100001 */ addiu $s0, $s0, 1 -/* B4F688 800D84E8 0202082A */ slt $at, $s0, $v0 -/* B4F68C 800D84EC 5420FFF8 */ bnezl $at, .L800D84D0 -/* B4F690 800D84F0 8E6D00BC */ lw $t5, 0xbc($s3) -.L800D84F4: -/* B4F694 800D84F4 1A20000A */ blez $s1, .L800D8520 -/* B4F698 800D84F8 02201825 */ move $v1, $s1 -/* B4F69C 800D84FC 262EFF23 */ addiu $t6, $s1, -0xdd -/* B4F6A0 800D8500 2DC10023 */ sltiu $at, $t6, 0x23 -/* B4F6A4 800D8504 102004E2 */ beqz $at, .L800D9890 -/* B4F6A8 800D8508 000E7080 */ sll $t6, $t6, 2 -/* B4F6AC 800D850C 3C018015 */ lui $at, %hi(jtbl_8014927C) -/* B4F6B0 800D8510 002E0821 */ addu $at, $at, $t6 -/* B4F6B4 800D8514 8C2E927C */ lw $t6, %lo(jtbl_8014927C)($at) -/* B4F6B8 800D8518 01C00008 */ jr $t6 -/* B4F6BC 800D851C 00000000 */ nop -.L800D8520: -/* B4F6C0 800D8520 50600466 */ beql $v1, $zero, .L800D96BC -/* B4F6C4 800D8524 93C50001 */ lbu $a1, 1($fp) -/* B4F6C8 800D8528 100004DA */ b .L800D9894 -/* B4F6CC 800D852C 8E7100C0 */ lw $s1, 0xc0($s3) -glabel L800D8530 -/* B4F6D0 800D8530 8E6800BC */ lw $t0, 0xbc($s3) -/* B4F6D4 800D8534 110009BD */ beqz $t0, .L800DAC2C -/* B4F6D8 800D8538 3C048014 */ lui $a0, %hi(D_80147E70) # $a0, 0x8014 -/* B4F6DC 800D853C 0C00084C */ jal osSyncPrintf -/* B4F6E0 800D8540 24847E70 */ addiu $a0, %lo(D_80147E70) # addiu $a0, $a0, 0x7e70 -/* B4F6E4 800D8544 100009B9 */ b .L800DAC2C -/* B4F6E8 800D8548 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800D854C -/* B4F6EC 800D854C 8FB80394 */ lw $t8, 0x394($sp) -/* B4F6F0 800D8550 27AF0368 */ addiu $t7, $sp, 0x368 -/* B4F6F4 800D8554 8F0A0000 */ lw $t2, ($t8) -/* B4F6F8 800D8558 ADEA0000 */ sw $t2, ($t7) -/* B4F6FC 800D855C 8F190004 */ lw $t9, 4($t8) -/* B4F700 800D8560 ADF90004 */ sw $t9, 4($t7) -/* B4F704 800D8564 93AB0369 */ lbu $t3, 0x369($sp) -/* B4F708 800D8568 11600005 */ beqz $t3, .L800D8580 -/* B4F70C 800D856C 24010001 */ li $at, 1 -/* B4F710 800D8570 51610017 */ beql $t3, $at, .L800D85D0 -/* B4F714 800D8574 8E6800BC */ lw $t0, 0xbc($s3) -/* B4F718 800D8578 100009AC */ b .L800DAC2C -/* B4F71C 800D857C 8E6800BC */ lw $t0, 0xbc($s3) -.L800D8580: -/* B4F720 800D8580 8E6C00BC */ lw $t4, 0xbc($s3) -/* B4F724 800D8584 11800004 */ beqz $t4, .L800D8598 -/* B4F728 800D8588 3C048014 */ lui $a0, %hi(D_80147E7C) # $a0, 0x8014 -/* B4F72C 800D858C 24847E7C */ addiu $a0, %lo(D_80147E7C) # addiu $a0, $a0, 0x7e7c -/* B4F730 800D8590 0C00084C */ jal osSyncPrintf -/* B4F734 800D8594 8FA5036C */ lw $a1, 0x36c($sp) -.L800D8598: -/* B4F738 800D8598 8E6F0088 */ lw $t7, 0x88($s3) -/* B4F73C 800D859C 8FAD0394 */ lw $t5, 0x394($sp) -/* B4F740 800D85A0 268CFFF8 */ addiu $t4, $s4, -8 -/* B4F744 800D85A4 000FC080 */ sll $t8, $t7, 2 -/* B4F748 800D85A8 0278C821 */ addu $t9, $s3, $t8 -/* B4F74C 800D85AC 25AE0008 */ addiu $t6, $t5, 8 -/* B4F750 800D85B0 AF2E0040 */ sw $t6, 0x40($t9) -/* B4F754 800D85B4 8E6A0088 */ lw $t2, 0x88($s3) -/* B4F758 800D85B8 254B0001 */ addiu $t3, $t2, 1 -/* B4F75C 800D85BC AE6B0088 */ sw $t3, 0x88($s3) -/* B4F760 800D85C0 AFAC0394 */ sw $t4, 0x394($sp) -/* B4F764 800D85C4 10000999 */ b .L800DAC2C -/* B4F768 800D85C8 8E6800BC */ lw $t0, 0xbc($s3) -/* B4F76C 800D85CC 8E6800BC */ lw $t0, 0xbc($s3) -.L800D85D0: -/* B4F770 800D85D0 11000005 */ beqz $t0, .L800D85E8 -/* B4F774 800D85D4 3C048014 */ lui $a0, %hi(D_80147E98) # $a0, 0x8014 -/* B4F778 800D85D8 24847E98 */ addiu $a0, %lo(D_80147E98) # addiu $a0, $a0, 0x7e98 -/* B4F77C 800D85DC 0C00084C */ jal osSyncPrintf -/* B4F780 800D85E0 8FA5036C */ lw $a1, 0x36c($sp) -/* B4F784 800D85E4 8E6800BC */ lw $t0, 0xbc($s3) -.L800D85E8: -/* B4F788 800D85E8 268DFFF8 */ addiu $t5, $s4, -8 -/* B4F78C 800D85EC AFAD0394 */ sw $t5, 0x394($sp) -/* B4F790 800D85F0 1000098E */ b .L800DAC2C -/* B4F794 800D85F4 00000000 */ nop -glabel L800D85F8 -/* B4F798 800D85F8 8E6800BC */ lw $t0, 0xbc($s3) -/* B4F79C 800D85FC 11000005 */ beqz $t0, .L800D8614 -/* B4F7A0 800D8600 3C048014 */ lui $a0, %hi(D_80147EB0) # $a0, 0x8014 -/* B4F7A4 800D8604 24847EB0 */ addiu $a0, %lo(D_80147EB0) # addiu $a0, $a0, 0x7eb0 -/* B4F7A8 800D8608 0C00084C */ jal osSyncPrintf -/* B4F7AC 800D860C 8FA50374 */ lw $a1, 0x374($sp) -/* B4F7B0 800D8610 8E6800BC */ lw $t0, 0xbc($s3) -.L800D8614: -/* B4F7B4 800D8614 8FAF0374 */ lw $t7, 0x374($sp) -/* B4F7B8 800D8618 10000984 */ b .L800DAC2C -/* B4F7BC 800D861C AFAF0384 */ sw $t7, 0x384($sp) -glabel L800D8620 -/* B4F7C0 800D8620 8FAE0394 */ lw $t6, 0x394($sp) -/* B4F7C4 800D8624 27B80358 */ addiu $t8, $sp, 0x358 -/* B4F7C8 800D8628 8DCA0000 */ lw $t2, ($t6) -/* B4F7CC 800D862C AF0A0000 */ sw $t2, ($t8) -/* B4F7D0 800D8630 8DD90004 */ lw $t9, 4($t6) -/* B4F7D4 800D8634 AF190004 */ sw $t9, 4($t8) -/* B4F7D8 800D8638 8DCA0008 */ lw $t2, 8($t6) -/* B4F7DC 800D863C AF0A0008 */ sw $t2, 8($t8) -/* B4F7E0 800D8640 8DD9000C */ lw $t9, 0xc($t6) -/* B4F7E4 800D8644 AF19000C */ sw $t9, 0xc($t8) -/* B4F7E8 800D8648 8E6B00BC */ lw $t3, 0xbc($s3) -/* B4F7EC 800D864C 5160001C */ beql $t3, $zero, .L800D86C0 -/* B4F7F0 800D8650 8FAF0394 */ lw $t7, 0x394($sp) -/* B4F7F4 800D8654 8FAD035C */ lw $t5, 0x35c($sp) -/* B4F7F8 800D8658 93B8035C */ lbu $t8, 0x35c($sp) -/* B4F7FC 800D865C 8FB90394 */ lw $t9, 0x394($sp) -/* B4F800 800D8660 31AF0FFF */ andi $t7, $t5, 0xfff -/* B4F804 800D8664 330E0007 */ andi $t6, $t8, 7 -/* B4F808 800D8668 AFAE0014 */ sw $t6, 0x14($sp) -/* B4F80C 800D866C AFAF0010 */ sw $t7, 0x10($sp) -/* B4F810 800D8670 8F22000C */ lw $v0, 0xc($t9) -/* B4F814 800D8674 8FAC0358 */ lw $t4, 0x358($sp) -/* B4F818 800D8678 000D3A00 */ sll $a3, $t5, 8 -/* B4F81C 800D867C 00025402 */ srl $t2, $v0, 0x10 -/* B4F820 800D8680 304BFFFF */ andi $t3, $v0, 0xffff -/* B4F824 800D8684 AFAB001C */ sw $t3, 0x1c($sp) -/* B4F828 800D8688 AFAA0018 */ sw $t2, 0x18($sp) -/* B4F82C 800D868C 8F230014 */ lw $v1, 0x14($t9) -/* B4F830 800D8690 000C2A00 */ sll $a1, $t4, 8 -/* B4F834 800D8694 31860FFF */ andi $a2, $t4, 0xfff -/* B4F838 800D8698 3C048014 */ lui $a0, %hi(D_80147EC4) # $a0, 0x8014 -/* B4F83C 800D869C 00036402 */ srl $t4, $v1, 0x10 -/* B4F840 800D86A0 306DFFFF */ andi $t5, $v1, 0xffff -/* B4F844 800D86A4 AFAD0024 */ sw $t5, 0x24($sp) -/* B4F848 800D86A8 AFAC0020 */ sw $t4, 0x20($sp) -/* B4F84C 800D86AC 24847EC4 */ addiu $a0, %lo(D_80147EC4) # addiu $a0, $a0, 0x7ec4 -/* B4F850 800D86B0 00052D02 */ srl $a1, $a1, 0x14 -/* B4F854 800D86B4 0C00084C */ jal osSyncPrintf -/* B4F858 800D86B8 00073D02 */ srl $a3, $a3, 0x14 -/* B4F85C 800D86BC 8FAF0394 */ lw $t7, 0x394($sp) -.L800D86C0: -/* B4F860 800D86C0 240E0001 */ li $t6, 1 -/* B4F864 800D86C4 25F80010 */ addiu $t8, $t7, 0x10 -/* B4F868 800D86C8 AFB80394 */ sw $t8, 0x394($sp) -/* B4F86C 800D86CC AE6E00AC */ sw $t6, 0xac($s3) -/* B4F870 800D86D0 10000956 */ b .L800DAC2C -/* B4F874 800D86D4 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800D86D8 -/* B4F878 800D86D8 97C20002 */ lhu $v0, 2($fp) -/* B4F87C 800D86DC 240107FF */ li $at, 2047 -/* B4F880 800D86E0 8E6800BC */ lw $t0, 0xbc($s3) -/* B4F884 800D86E4 14410009 */ bne $v0, $at, .L800D870C -/* B4F888 800D86E8 00000000 */ nop -/* B4F88C 800D86EC 1100000E */ beqz $t0, .L800D8728 -/* B4F890 800D86F0 3C048014 */ lui $a0, %hi(D_80147EF8) # $a0, 0x8014 -/* B4F894 800D86F4 24847EF8 */ addiu $a0, %lo(D_80147EF8) # addiu $a0, $a0, 0x7ef8 -/* B4F898 800D86F8 8FA50374 */ lw $a1, 0x374($sp) -/* B4F89C 800D86FC 0C00084C */ jal osSyncPrintf -/* B4F8A0 800D8700 8FA60384 */ lw $a2, 0x384($sp) -/* B4F8A4 800D8704 10000009 */ b .L800D872C -/* B4F8A8 800D8708 02602025 */ move $a0, $s3 -.L800D870C: -/* B4F8AC 800D870C 11000006 */ beqz $t0, .L800D8728 -/* B4F8B0 800D8710 3C048014 */ lui $a0, %hi(D_80147F18) # $a0, 0x8014 -/* B4F8B4 800D8714 24847F18 */ addiu $a0, %lo(D_80147F18) # addiu $a0, $a0, 0x7f18 -/* B4F8B8 800D8718 8FA50374 */ lw $a1, 0x374($sp) -/* B4F8BC 800D871C 8FA60384 */ lw $a2, 0x384($sp) -/* B4F8C0 800D8720 0C00084C */ jal osSyncPrintf -/* B4F8C4 800D8724 24470001 */ addiu $a3, $v0, 1 -.L800D8728: -/* B4F8C8 800D8728 02602025 */ move $a0, $s3 -.L800D872C: -/* B4F8CC 800D872C 0C035F34 */ jal UCodeDisas_TranslateAddr -/* B4F8D0 800D8730 8FA50374 */ lw $a1, 0x374($sp) -/* B4F8D4 800D8734 02602025 */ move $a0, $s3 -/* B4F8D8 800D8738 0C035FF4 */ jal UCodeDisas_SetCurUCodeImpl -/* B4F8DC 800D873C 00402825 */ move $a1, $v0 -/* B4F8E0 800D8740 8E6A00A8 */ lw $t2, 0xa8($s3) -/* B4F8E4 800D8744 8E6800BC */ lw $t0, 0xbc($s3) -/* B4F8E8 800D8748 254B0001 */ addiu $t3, $t2, 1 -/* B4F8EC 800D874C 10000937 */ b .L800DAC2C -/* B4F8F0 800D8750 AE6B00A8 */ sw $t3, 0xa8($s3) -glabel L800D8754 -/* B4F8F4 800D8754 8E7900BC */ lw $t9, 0xbc($s3) -/* B4F8F8 800D8758 13200004 */ beqz $t9, .L800D876C -/* B4F8FC 800D875C 3C048014 */ lui $a0, %hi(D_80147F44) # $a0, 0x8014 -/* B4F900 800D8760 0C00084C */ jal osSyncPrintf -/* B4F904 800D8764 24847F44 */ addiu $a0, %lo(D_80147F44) # addiu $a0, $a0, 0x7f44 -/* B4F908 800D8768 8E620088 */ lw $v0, 0x88($s3) -.L800D876C: -/* B4F90C 800D876C 1C400004 */ bgtz $v0, .L800D8780 -/* B4F910 800D8770 240C0001 */ li $t4, 1 -/* B4F914 800D8774 AFAC0378 */ sw $t4, 0x378($sp) -/* B4F918 800D8778 1000092C */ b .L800DAC2C -/* B4F91C 800D877C 8E6800BC */ lw $t0, 0xbc($s3) -.L800D8780: -/* B4F920 800D8780 2451FFFF */ addiu $s1, $v0, -1 -/* B4F924 800D8784 00116880 */ sll $t5, $s1, 2 -/* B4F928 800D8788 026D7821 */ addu $t7, $s3, $t5 -/* B4F92C 800D878C AE710088 */ sw $s1, 0x88($s3) -/* B4F930 800D8790 8DF80040 */ lw $t8, 0x40($t7) -/* B4F934 800D8794 270EFFF8 */ addiu $t6, $t8, -8 -/* B4F938 800D8798 AFAE0394 */ sw $t6, 0x394($sp) -/* B4F93C 800D879C 10000923 */ b .L800DAC2C -/* B4F940 800D87A0 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800D87A4 -/* B4F944 800D87A4 8FAB0394 */ lw $t3, 0x394($sp) -/* B4F948 800D87A8 27AA0350 */ addiu $t2, $sp, 0x350 -/* B4F94C 800D87AC 8D6C0000 */ lw $t4, ($t3) -/* B4F950 800D87B0 AD4C0000 */ sw $t4, ($t2) -/* B4F954 800D87B4 8D790004 */ lw $t9, 4($t3) -/* B4F958 800D87B8 AD590004 */ sw $t9, 4($t2) -/* B4F95C 800D87BC 8E6800BC */ lw $t0, 0xbc($s3) -/* B4F960 800D87C0 5100002F */ beql $t0, $zero, .L800D8880 -/* B4F964 800D87C4 8E6B00B0 */ lw $t3, 0xb0($s3) -/* B4F968 800D87C8 8FAD0350 */ lw $t5, 0x350($sp) -/* B4F96C 800D87CC 93B80354 */ lbu $t8, 0x354($sp) -/* B4F970 800D87D0 8FB90354 */ lw $t9, 0x354($sp) -/* B4F974 800D87D4 93AA0355 */ lbu $t2, 0x355($sp) -/* B4F978 800D87D8 31AF01FF */ andi $t7, $t5, 0x1ff -/* B4F97C 800D87DC 000D32C0 */ sll $a2, $t5, 0xb -/* B4F980 800D87E0 000D3B80 */ sll $a3, $t5, 0xe -/* B4F984 800D87E4 330E0007 */ andi $t6, $t8, 7 -/* B4F988 800D87E8 00196300 */ sll $t4, $t9, 0xc -/* B4F98C 800D87EC 000C6FC2 */ srl $t5, $t4, 0x1f -/* B4F990 800D87F0 AFAF0010 */ sw $t7, 0x10($sp) -/* B4F994 800D87F4 000A5902 */ srl $t3, $t2, 4 -/* B4F998 800D87F8 000D7840 */ sll $t7, $t5, 1 -/* B4F99C 800D87FC AFAE0014 */ sw $t6, 0x14($sp) -/* B4F9A0 800D8800 0019C340 */ sll $t8, $t9, 0xd -/* B4F9A4 800D8804 001877C2 */ srl $t6, $t8, 0x1f -/* B4F9A8 800D8808 AFAB0018 */ sw $t3, 0x18($sp) -/* B4F9AC 800D880C 01EE5021 */ addu $t2, $t7, $t6 -/* B4F9B0 800D8810 00195B80 */ sll $t3, $t9, 0xe -/* B4F9B4 800D8814 00196C80 */ sll $t5, $t9, 0x12 -/* B4F9B8 800D8818 000DC702 */ srl $t8, $t5, 0x1c -/* B4F9BC 800D881C 000B6702 */ srl $t4, $t3, 0x1c -/* B4F9C0 800D8820 93AB0356 */ lbu $t3, 0x356($sp) -/* B4F9C4 800D8824 AFB80024 */ sw $t8, 0x24($sp) -/* B4F9C8 800D8828 00197D80 */ sll $t7, $t9, 0x16 -/* B4F9CC 800D882C 93B80357 */ lbu $t8, 0x357($sp) -/* B4F9D0 800D8830 000F77C2 */ srl $t6, $t7, 0x1f -/* B4F9D4 800D8834 AFAA001C */ sw $t2, 0x1c($sp) -/* B4F9D8 800D8838 000E5040 */ sll $t2, $t6, 1 -/* B4F9DC 800D883C AFAC0020 */ sw $t4, 0x20($sp) -/* B4F9E0 800D8840 93A50351 */ lbu $a1, 0x351($sp) -/* B4F9E4 800D8844 316C0001 */ andi $t4, $t3, 1 -/* B4F9E8 800D8848 014C6821 */ addu $t5, $t2, $t4 -/* B4F9EC 800D884C 3C048014 */ lui $a0, %hi(D_80147F5C) # $a0, 0x8014 -/* B4F9F0 800D8850 332E000F */ andi $t6, $t9, 0xf -/* B4F9F4 800D8854 00187902 */ srl $t7, $t8, 4 -/* B4F9F8 800D8858 AFAF002C */ sw $t7, 0x2c($sp) -/* B4F9FC 800D885C AFAE0030 */ sw $t6, 0x30($sp) -/* B4FA00 800D8860 24847F5C */ addiu $a0, %lo(D_80147F5C) # addiu $a0, $a0, 0x7f5c -/* B4FA04 800D8864 AFAD0028 */ sw $t5, 0x28($sp) -/* B4FA08 800D8868 00073DC2 */ srl $a3, $a3, 0x17 -/* B4FA0C 800D886C 00063782 */ srl $a2, $a2, 0x1e -/* B4FA10 800D8870 0C00084C */ jal osSyncPrintf -/* B4FA14 800D8874 00052942 */ srl $a1, $a1, 5 -/* B4FA18 800D8878 8E6800BC */ lw $t0, 0xbc($s3) -/* B4FA1C 800D887C 8E6B00B0 */ lw $t3, 0xb0($s3) -.L800D8880: -/* B4FA20 800D8880 116008EA */ beqz $t3, .L800DAC2C -/* B4FA24 800D8884 00000000 */ nop -/* B4FA28 800D8888 11000003 */ beqz $t0, .L800D8898 -/* B4FA2C 800D888C 3C048014 */ lui $a0, %hi(D_80147F90) # $a0, 0x8014 -/* B4FA30 800D8890 0C00084C */ jal osSyncPrintf -/* B4FA34 800D8894 24847F90 */ addiu $a0, %lo(D_80147F90) # addiu $a0, $a0, 0x7f90 -.L800D8898: -/* B4FA38 800D8898 8E6A00B8 */ lw $t2, 0xb8($s3) -/* B4FA3C 800D889C 8E6800BC */ lw $t0, 0xbc($s3) -/* B4FA40 800D88A0 254C0001 */ addiu $t4, $t2, 1 -/* B4FA44 800D88A4 AE6C00B8 */ sw $t4, 0xb8($s3) -/* B4FA48 800D88A8 100008E0 */ b .L800DAC2C -/* B4FA4C 800D88AC 00000000 */ nop -glabel L800D88B0 -/* B4FA50 800D88B0 8FB80394 */ lw $t8, 0x394($sp) -/* B4FA54 800D88B4 27AD0348 */ addiu $t5, $sp, 0x348 -/* B4FA58 800D88B8 8F190000 */ lw $t9, ($t8) -/* B4FA5C 800D88BC ADB90000 */ sw $t9, ($t5) -/* B4FA60 800D88C0 8F0F0004 */ lw $t7, 4($t8) -/* B4FA64 800D88C4 ADAF0004 */ sw $t7, 4($t5) -/* B4FA68 800D88C8 8E6800BC */ lw $t0, 0xbc($s3) -/* B4FA6C 800D88CC 110008D7 */ beqz $t0, .L800DAC2C -/* B4FA70 800D88D0 00000000 */ nop -/* B4FA74 800D88D4 8FAE034C */ lw $t6, 0x34c($sp) -/* B4FA78 800D88D8 8FA20348 */ lw $v0, 0x348($sp) -/* B4FA7C 800D88DC 93A5034C */ lbu $a1, 0x34c($sp) -/* B4FA80 800D88E0 000E5A00 */ sll $t3, $t6, 8 -/* B4FA84 800D88E4 000B5502 */ srl $t2, $t3, 0x14 -/* B4FA88 800D88E8 3C048014 */ lui $a0, %hi(D_80147FAC) # $a0, 0x8014 -/* B4FA8C 800D88EC 31CC0FFF */ andi $t4, $t6, 0xfff -/* B4FA90 800D88F0 00023200 */ sll $a2, $v0, 8 -/* B4FA94 800D88F4 00063502 */ srl $a2, $a2, 0x14 -/* B4FA98 800D88F8 AFAC0014 */ sw $t4, 0x14($sp) -/* B4FA9C 800D88FC 24847FAC */ addiu $a0, %lo(D_80147FAC) # addiu $a0, $a0, 0x7fac -/* B4FAA0 800D8900 AFAA0010 */ sw $t2, 0x10($sp) -/* B4FAA4 800D8904 30470FFF */ andi $a3, $v0, 0xfff -/* B4FAA8 800D8908 0C00084C */ jal osSyncPrintf -/* B4FAAC 800D890C 30A50007 */ andi $a1, $a1, 7 -/* B4FAB0 800D8910 8E6800BC */ lw $t0, 0xbc($s3) -/* B4FAB4 800D8914 100008C5 */ b .L800DAC2C -/* B4FAB8 800D8918 00000000 */ nop -glabel L800D891C -/* B4FABC 800D891C 8FB80394 */ lw $t8, 0x394($sp) -/* B4FAC0 800D8920 27AD0340 */ addiu $t5, $sp, 0x340 -/* B4FAC4 800D8924 8F190000 */ lw $t9, ($t8) -/* B4FAC8 800D8928 ADB90000 */ sw $t9, ($t5) -/* B4FACC 800D892C 8F0F0004 */ lw $t7, 4($t8) -/* B4FAD0 800D8930 ADAF0004 */ sw $t7, 4($t5) -/* B4FAD4 800D8934 8E6B00BC */ lw $t3, 0xbc($s3) -/* B4FAD8 800D8938 51600011 */ beql $t3, $zero, .L800D8980 -/* B4FADC 800D893C 8E7800B4 */ lw $t8, 0xb4($s3) -/* B4FAE0 800D8940 8FAA0344 */ lw $t2, 0x344($sp) -/* B4FAE4 800D8944 8FA20340 */ lw $v0, 0x340($sp) -/* B4FAE8 800D8948 93A50344 */ lbu $a1, 0x344($sp) -/* B4FAEC 800D894C 000A7200 */ sll $t6, $t2, 8 -/* B4FAF0 800D8950 000E6502 */ srl $t4, $t6, 0x14 -/* B4FAF4 800D8954 3C048014 */ lui $a0, %hi(D_80147FCC) # $a0, 0x8014 -/* B4FAF8 800D8958 314D0FFF */ andi $t5, $t2, 0xfff -/* B4FAFC 800D895C 00023200 */ sll $a2, $v0, 8 -/* B4FB00 800D8960 00063502 */ srl $a2, $a2, 0x14 -/* B4FB04 800D8964 AFAD0014 */ sw $t5, 0x14($sp) -/* B4FB08 800D8968 24847FCC */ addiu $a0, %lo(D_80147FCC) # addiu $a0, $a0, 0x7fcc -/* B4FB0C 800D896C AFAC0010 */ sw $t4, 0x10($sp) -/* B4FB10 800D8970 30470FFF */ andi $a3, $v0, 0xfff -/* B4FB14 800D8974 0C00084C */ jal osSyncPrintf -/* B4FB18 800D8978 30A50007 */ andi $a1, $a1, 7 -/* B4FB1C 800D897C 8E7800B4 */ lw $t8, 0xb4($s3) -.L800D8980: -/* B4FB20 800D8980 5300000A */ beql $t8, $zero, .L800D89AC -/* B4FB24 800D8984 240E0001 */ li $t6, 1 -/* B4FB28 800D8988 8E6F00BC */ lw $t7, 0xbc($s3) -/* B4FB2C 800D898C 11E00003 */ beqz $t7, .L800D899C -/* B4FB30 800D8990 3C048014 */ lui $a0, %hi(D_80147FEC) # $a0, 0x8014 -/* B4FB34 800D8994 0C00084C */ jal osSyncPrintf -/* B4FB38 800D8998 24847FEC */ addiu $a0, %lo(D_80147FEC) # addiu $a0, $a0, 0x7fec -.L800D899C: -/* B4FB3C 800D899C 8E7900B8 */ lw $t9, 0xb8($s3) -/* B4FB40 800D89A0 272B0001 */ addiu $t3, $t9, 1 -/* B4FB44 800D89A4 AE6B00B8 */ sw $t3, 0xb8($s3) -/* B4FB48 800D89A8 240E0001 */ li $t6, 1 -.L800D89AC: -/* B4FB4C 800D89AC AE6E00AC */ sw $t6, 0xac($s3) -/* B4FB50 800D89B0 1000089E */ b .L800DAC2C -/* B4FB54 800D89B4 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800D89B8 -/* B4FB58 800D89B8 8FAA0394 */ lw $t2, 0x394($sp) -/* B4FB5C 800D89BC 27AC0338 */ addiu $t4, $sp, 0x338 -/* B4FB60 800D89C0 8D580000 */ lw $t8, ($t2) -/* B4FB64 800D89C4 AD980000 */ sw $t8, ($t4) -/* B4FB68 800D89C8 8D4D0004 */ lw $t5, 4($t2) -/* B4FB6C 800D89CC AD8D0004 */ sw $t5, 4($t4) -/* B4FB70 800D89D0 8E6800BC */ lw $t0, 0xbc($s3) -/* B4FB74 800D89D4 11000895 */ beqz $t0, .L800DAC2C -/* B4FB78 800D89D8 00000000 */ nop -/* B4FB7C 800D89DC 8FAF033C */ lw $t7, 0x33c($sp) -/* B4FB80 800D89E0 8FA20338 */ lw $v0, 0x338($sp) -/* B4FB84 800D89E4 93A5033C */ lbu $a1, 0x33c($sp) -/* B4FB88 800D89E8 000FCA00 */ sll $t9, $t7, 8 -/* B4FB8C 800D89EC 00195D02 */ srl $t3, $t9, 0x14 -/* B4FB90 800D89F0 3C048015 */ lui $a0, %hi(D_80148008) # $a0, 0x8015 -/* B4FB94 800D89F4 31EE0FFF */ andi $t6, $t7, 0xfff -/* B4FB98 800D89F8 00023200 */ sll $a2, $v0, 8 -/* B4FB9C 800D89FC 00063502 */ srl $a2, $a2, 0x14 -/* B4FBA0 800D8A00 AFAE0014 */ sw $t6, 0x14($sp) -/* B4FBA4 800D8A04 24848008 */ addiu $a0, %lo(D_80148008) # addiu $a0, $a0, -0x7ff8 -/* B4FBA8 800D8A08 AFAB0010 */ sw $t3, 0x10($sp) -/* B4FBAC 800D8A0C 30470FFF */ andi $a3, $v0, 0xfff -/* B4FBB0 800D8A10 0C00084C */ jal osSyncPrintf -/* B4FBB4 800D8A14 30A50007 */ andi $a1, $a1, 7 -/* B4FBB8 800D8A18 8E6800BC */ lw $t0, 0xbc($s3) -/* B4FBBC 800D8A1C 10000883 */ b .L800DAC2C -/* B4FBC0 800D8A20 00000000 */ nop -glabel L800D8A24 -/* B4FBC4 800D8A24 8FAA0394 */ lw $t2, 0x394($sp) -/* B4FBC8 800D8A28 27AC0330 */ addiu $t4, $sp, 0x330 -/* B4FBCC 800D8A2C 8D580000 */ lw $t8, ($t2) -/* B4FBD0 800D8A30 AD980000 */ sw $t8, ($t4) -/* B4FBD4 800D8A34 8D4D0004 */ lw $t5, 4($t2) -/* B4FBD8 800D8A38 AD8D0004 */ sw $t5, 4($t4) -/* B4FBDC 800D8A3C 8E6800BC */ lw $t0, 0xbc($s3) -/* B4FBE0 800D8A40 1100087A */ beqz $t0, .L800DAC2C -/* B4FBE4 800D8A44 00000000 */ nop -/* B4FBE8 800D8A48 8FA60334 */ lw $a2, 0x334($sp) -/* B4FBEC 800D8A4C 93A50334 */ lbu $a1, 0x334($sp) -/* B4FBF0 800D8A50 3C048015 */ lui $a0, %hi(D_8014802C) # $a0, 0x8015 -/* B4FBF4 800D8A54 00063200 */ sll $a2, $a2, 8 -/* B4FBF8 800D8A58 00063502 */ srl $a2, $a2, 0x14 -/* B4FBFC 800D8A5C 00063082 */ srl $a2, $a2, 2 -/* B4FC00 800D8A60 2484802C */ addiu $a0, %lo(D_8014802C) # addiu $a0, $a0, -0x7fd4 -/* B4FC04 800D8A64 0C00084C */ jal osSyncPrintf -/* B4FC08 800D8A68 30A50007 */ andi $a1, $a1, 7 -/* B4FC0C 800D8A6C 8E6800BC */ lw $t0, 0xbc($s3) -/* B4FC10 800D8A70 1000086E */ b .L800DAC2C -/* B4FC14 800D8A74 00000000 */ nop -glabel L800D8A78 -/* B4FC18 800D8A78 8FAB0394 */ lw $t3, 0x394($sp) -/* B4FC1C 800D8A7C 27B90328 */ addiu $t9, $sp, 0x328 -/* B4FC20 800D8A80 8D6E0000 */ lw $t6, ($t3) -/* B4FC24 800D8A84 AF2E0000 */ sw $t6, ($t9) -/* B4FC28 800D8A88 8D6F0004 */ lw $t7, 4($t3) -/* B4FC2C 800D8A8C AF2F0004 */ sw $t7, 4($t9) -/* B4FC30 800D8A90 8E6800BC */ lw $t0, 0xbc($s3) -/* B4FC34 800D8A94 51000076 */ beql $t0, $zero, .L800D8C70 -/* B4FC38 800D8A98 8E6B00AC */ lw $t3, 0xac($s3) -/* B4FC3C 800D8A9C 93A40329 */ lbu $a0, 0x329($sp) -/* B4FC40 800D8AA0 24050001 */ li $a1, 1 -/* B4FC44 800D8AA4 0C035F41 */ jal UCodeDisas_ParseCombineColor -/* B4FC48 800D8AA8 00042102 */ srl $a0, $a0, 4 -/* B4FC4C 800D8AAC 8FA4032C */ lw $a0, 0x32c($sp) -/* B4FC50 800D8AB0 AFA2014C */ sw $v0, 0x14c($sp) -/* B4FC54 800D8AB4 24050002 */ li $a1, 2 -/* B4FC58 800D8AB8 0C035F41 */ jal UCodeDisas_ParseCombineColor -/* B4FC5C 800D8ABC 00042702 */ srl $a0, $a0, 0x1c -/* B4FC60 800D8AC0 8FA40328 */ lw $a0, 0x328($sp) -/* B4FC64 800D8AC4 AFA20150 */ sw $v0, 0x150($sp) -/* B4FC68 800D8AC8 24050003 */ li $a1, 3 -/* B4FC6C 800D8ACC 00042300 */ sll $a0, $a0, 0xc -/* B4FC70 800D8AD0 0C035F41 */ jal UCodeDisas_ParseCombineColor -/* B4FC74 800D8AD4 000426C2 */ srl $a0, $a0, 0x1b -/* B4FC78 800D8AD8 8FA4032C */ lw $a0, 0x32c($sp) -/* B4FC7C 800D8ADC AFA20154 */ sw $v0, 0x154($sp) -/* B4FC80 800D8AE0 24050004 */ li $a1, 4 -/* B4FC84 800D8AE4 00042380 */ sll $a0, $a0, 0xe -/* B4FC88 800D8AE8 0C035F41 */ jal UCodeDisas_ParseCombineColor -/* B4FC8C 800D8AEC 00042742 */ srl $a0, $a0, 0x1d -/* B4FC90 800D8AF0 8FA40328 */ lw $a0, 0x328($sp) -/* B4FC94 800D8AF4 AFA20158 */ sw $v0, 0x158($sp) -/* B4FC98 800D8AF8 24050001 */ li $a1, 1 -/* B4FC9C 800D8AFC 00042440 */ sll $a0, $a0, 0x11 -/* B4FCA0 800D8B00 0C035FA9 */ jal UCodeDisas_ParseCombineAlpha -/* B4FCA4 800D8B04 00042742 */ srl $a0, $a0, 0x1d -/* B4FCA8 800D8B08 8FA4032C */ lw $a0, 0x32c($sp) -/* B4FCAC 800D8B0C AFA2015C */ sw $v0, 0x15c($sp) -/* B4FCB0 800D8B10 24050002 */ li $a1, 2 -/* B4FCB4 800D8B14 00042440 */ sll $a0, $a0, 0x11 -/* B4FCB8 800D8B18 0C035FA9 */ jal UCodeDisas_ParseCombineAlpha -/* B4FCBC 800D8B1C 00042742 */ srl $a0, $a0, 0x1d -/* B4FCC0 800D8B20 8FA40328 */ lw $a0, 0x328($sp) -/* B4FCC4 800D8B24 AFA20160 */ sw $v0, 0x160($sp) -/* B4FCC8 800D8B28 24050003 */ li $a1, 3 -/* B4FCCC 800D8B2C 00042500 */ sll $a0, $a0, 0x14 -/* B4FCD0 800D8B30 0C035FA9 */ jal UCodeDisas_ParseCombineAlpha -/* B4FCD4 800D8B34 00042742 */ srl $a0, $a0, 0x1d -/* B4FCD8 800D8B38 8FA4032C */ lw $a0, 0x32c($sp) -/* B4FCDC 800D8B3C AFA20164 */ sw $v0, 0x164($sp) -/* B4FCE0 800D8B40 24050004 */ li $a1, 4 -/* B4FCE4 800D8B44 00042500 */ sll $a0, $a0, 0x14 -/* B4FCE8 800D8B48 0C035FA9 */ jal UCodeDisas_ParseCombineAlpha -/* B4FCEC 800D8B4C 00042742 */ srl $a0, $a0, 0x1d -/* B4FCF0 800D8B50 8FA40328 */ lw $a0, 0x328($sp) -/* B4FCF4 800D8B54 0040A025 */ move $s4, $v0 -/* B4FCF8 800D8B58 24050001 */ li $a1, 1 -/* B4FCFC 800D8B5C 000425C0 */ sll $a0, $a0, 0x17 -/* B4FD00 800D8B60 0C035F41 */ jal UCodeDisas_ParseCombineColor -/* B4FD04 800D8B64 00042702 */ srl $a0, $a0, 0x1c -/* B4FD08 800D8B68 93A4032C */ lbu $a0, 0x32c($sp) -/* B4FD0C 800D8B6C AFA2016C */ sw $v0, 0x16c($sp) -/* B4FD10 800D8B70 24050002 */ li $a1, 2 -/* B4FD14 800D8B74 0C035F41 */ jal UCodeDisas_ParseCombineColor -/* B4FD18 800D8B78 3084000F */ andi $a0, $a0, 0xf -/* B4FD1C 800D8B7C 8FA40328 */ lw $a0, 0x328($sp) -/* B4FD20 800D8B80 00409025 */ move $s2, $v0 -/* B4FD24 800D8B84 24050003 */ li $a1, 3 -/* B4FD28 800D8B88 0C035F41 */ jal UCodeDisas_ParseCombineColor -/* B4FD2C 800D8B8C 3084001F */ andi $a0, $a0, 0x1f -/* B4FD30 800D8B90 8FA4032C */ lw $a0, 0x32c($sp) -/* B4FD34 800D8B94 24050004 */ li $a1, 4 -/* B4FD38 800D8B98 AFA20174 */ sw $v0, 0x174($sp) -/* B4FD3C 800D8B9C 000425C0 */ sll $a0, $a0, 0x17 -/* B4FD40 800D8BA0 0C035F41 */ jal UCodeDisas_ParseCombineColor -/* B4FD44 800D8BA4 00042742 */ srl $a0, $a0, 0x1d -/* B4FD48 800D8BA8 93A4032D */ lbu $a0, 0x32d($sp) -/* B4FD4C 800D8BAC 24050001 */ li $a1, 1 -/* B4FD50 800D8BB0 AFA20178 */ sw $v0, 0x178($sp) -/* B4FD54 800D8BB4 0C035FA9 */ jal UCodeDisas_ParseCombineAlpha -/* B4FD58 800D8BB8 00042142 */ srl $a0, $a0, 5 -/* B4FD5C 800D8BBC 8FA4032C */ lw $a0, 0x32c($sp) -/* B4FD60 800D8BC0 0040A825 */ move $s5, $v0 -/* B4FD64 800D8BC4 24050002 */ li $a1, 2 -/* B4FD68 800D8BC8 00042680 */ sll $a0, $a0, 0x1a -/* B4FD6C 800D8BCC 0C035FA9 */ jal UCodeDisas_ParseCombineAlpha -/* B4FD70 800D8BD0 00042742 */ srl $a0, $a0, 0x1d -/* B4FD74 800D8BD4 8FA4032C */ lw $a0, 0x32c($sp) -/* B4FD78 800D8BD8 00408825 */ move $s1, $v0 -/* B4FD7C 800D8BDC 24050003 */ li $a1, 3 -/* B4FD80 800D8BE0 000422C0 */ sll $a0, $a0, 0xb -/* B4FD84 800D8BE4 0C035FA9 */ jal UCodeDisas_ParseCombineAlpha -/* B4FD88 800D8BE8 00042742 */ srl $a0, $a0, 0x1d -/* B4FD8C 800D8BEC 8FA4032C */ lw $a0, 0x32c($sp) -/* B4FD90 800D8BF0 00408025 */ move $s0, $v0 -/* B4FD94 800D8BF4 24050004 */ li $a1, 4 -/* B4FD98 800D8BF8 0C035FA9 */ jal UCodeDisas_ParseCombineAlpha -/* B4FD9C 800D8BFC 30840007 */ andi $a0, $a0, 7 -/* B4FDA0 800D8C00 8FA30174 */ lw $v1, 0x174($sp) -/* B4FDA4 800D8C04 8FA80178 */ lw $t0, 0x178($sp) -/* B4FDA8 800D8C08 8FAC0158 */ lw $t4, 0x158($sp) -/* B4FDAC 800D8C0C 8FAA015C */ lw $t2, 0x15c($sp) -/* B4FDB0 800D8C10 8FAD0160 */ lw $t5, 0x160($sp) -/* B4FDB4 800D8C14 8FB80164 */ lw $t8, 0x164($sp) -/* B4FDB8 800D8C18 8FB9016C */ lw $t9, 0x16c($sp) -/* B4FDBC 800D8C1C 3C048015 */ lui $a0, %hi(D_80148044) # $a0, 0x8015 -/* B4FDC0 800D8C20 24848044 */ addiu $a0, %lo(D_80148044) # addiu $a0, $a0, -0x7fbc -/* B4FDC4 800D8C24 8FA5014C */ lw $a1, 0x14c($sp) -/* B4FDC8 800D8C28 8FA60150 */ lw $a2, 0x150($sp) -/* B4FDCC 800D8C2C 8FA70154 */ lw $a3, 0x154($sp) -/* B4FDD0 800D8C30 AFB40020 */ sw $s4, 0x20($sp) -/* B4FDD4 800D8C34 AFB20028 */ sw $s2, 0x28($sp) -/* B4FDD8 800D8C38 AFB50034 */ sw $s5, 0x34($sp) -/* B4FDDC 800D8C3C AFB10038 */ sw $s1, 0x38($sp) -/* B4FDE0 800D8C40 AFB0003C */ sw $s0, 0x3c($sp) -/* B4FDE4 800D8C44 AFA20040 */ sw $v0, 0x40($sp) -/* B4FDE8 800D8C48 AFA3002C */ sw $v1, 0x2c($sp) -/* B4FDEC 800D8C4C AFA80030 */ sw $t0, 0x30($sp) -/* B4FDF0 800D8C50 AFAC0010 */ sw $t4, 0x10($sp) -/* B4FDF4 800D8C54 AFAA0014 */ sw $t2, 0x14($sp) -/* B4FDF8 800D8C58 AFAD0018 */ sw $t5, 0x18($sp) -/* B4FDFC 800D8C5C AFB8001C */ sw $t8, 0x1c($sp) -/* B4FE00 800D8C60 0C00084C */ jal osSyncPrintf -/* B4FE04 800D8C64 AFB90024 */ sw $t9, 0x24($sp) -/* B4FE08 800D8C68 8E6800BC */ lw $t0, 0xbc($s3) -/* B4FE0C 800D8C6C 8E6B00AC */ lw $t3, 0xac($s3) -.L800D8C70: -/* B4FE10 800D8C70 116007EE */ beqz $t3, .L800DAC2C -/* B4FE14 800D8C74 00000000 */ nop -/* B4FE18 800D8C78 11000003 */ beqz $t0, .L800D8C88 -/* B4FE1C 800D8C7C 3C048015 */ lui $a0, %hi(D_8014808C) # $a0, 0x8015 -/* B4FE20 800D8C80 0C00084C */ jal osSyncPrintf -/* B4FE24 800D8C84 2484808C */ addiu $a0, %lo(D_8014808C) # addiu $a0, $a0, -0x7f74 -.L800D8C88: -/* B4FE28 800D8C88 8E6F00B8 */ lw $t7, 0xb8($s3) -/* B4FE2C 800D8C8C 8E6800BC */ lw $t0, 0xbc($s3) -/* B4FE30 800D8C90 25EE0001 */ addiu $t6, $t7, 1 -/* B4FE34 800D8C94 AE6E00B8 */ sw $t6, 0xb8($s3) -/* B4FE38 800D8C98 100007E4 */ b .L800DAC2C -/* B4FE3C 800D8C9C 00000000 */ nop -glabel L800D8CA0 -/* B4FE40 800D8CA0 93D10003 */ lbu $s1, 3($fp) -/* B4FE44 800D8CA4 93CC0002 */ lbu $t4, 2($fp) -/* B4FE48 800D8CA8 8FA40374 */ lw $a0, 0x374($sp) -/* B4FE4C 800D8CAC 26310001 */ addiu $s1, $s1, 1 -/* B4FE50 800D8CB0 000C5023 */ negu $t2, $t4 -/* B4FE54 800D8CB4 01518023 */ subu $s0, $t2, $s1 -/* B4FE58 800D8CB8 3C078013 */ lui $a3, %hi(sUCodeDisasModeHMacros) # $a3, 0x8013 -/* B4FE5C 800D8CBC 26100020 */ addiu $s0, $s0, 0x20 -/* B4FE60 800D8CC0 24E7DE1C */ addiu $a3, %lo(sUCodeDisasModeHMacros) # addiu $a3, $a3, -0x21e4 -/* B4FE64 800D8CC4 00002825 */ move $a1, $zero -/* B4FE68 800D8CC8 8E6800BC */ lw $t0, 0xbc($s3) -/* B4FE6C 800D8CCC 00809025 */ move $s2, $a0 -.L800D8CD0: -/* B4FE70 800D8CD0 8CED0004 */ lw $t5, 4($a3) -/* B4FE74 800D8CD4 160D0018 */ bne $s0, $t5, .L800D8D38 -/* B4FE78 800D8CD8 0005C080 */ sll $t8, $a1, 2 -/* B4FE7C 800D8CDC 0305C023 */ subu $t8, $t8, $a1 -/* B4FE80 800D8CE0 0018C080 */ sll $t8, $t8, 2 -/* B4FE84 800D8CE4 0305C023 */ subu $t8, $t8, $a1 -/* B4FE88 800D8CE8 3C198013 */ lui $t9, %hi(sUCodeDisasModeHMacros) # $t9, 0x8013 -/* B4FE8C 800D8CEC 2739DE1C */ addiu $t9, %lo(sUCodeDisasModeHMacros) # addiu $t9, $t9, -0x21e4 -/* B4FE90 800D8CF0 0018C080 */ sll $t8, $t8, 2 -/* B4FE94 800D8CF4 03191821 */ addu $v1, $t8, $t9 -/* B4FE98 800D8CF8 00001025 */ move $v0, $zero -.L800D8CFC: -/* B4FE9C 800D8CFC 8C6B0010 */ lw $t3, 0x10($v1) -/* B4FEA0 800D8D00 548B000B */ bnel $a0, $t3, .L800D8D30 -/* B4FEA4 800D8D04 24420008 */ addiu $v0, $v0, 8 -/* B4FEA8 800D8D08 11000016 */ beqz $t0, .L800D8D64 -/* B4FEAC 800D8D0C 3C048015 */ lui $a0, %hi(D_80148374) # $a0, 0x8015 -/* B4FEB0 800D8D10 00E27821 */ addu $t7, $a3, $v0 -/* B4FEB4 800D8D14 8DE6000C */ lw $a2, 0xc($t7) -/* B4FEB8 800D8D18 24848374 */ addiu $a0, %lo(D_80148374) # addiu $a0, $a0, -0x7c8c -/* B4FEBC 800D8D1C 0C00084C */ jal osSyncPrintf -/* B4FEC0 800D8D20 8CE50000 */ lw $a1, ($a3) -/* B4FEC4 800D8D24 10000010 */ b .L800D8D68 -/* B4FEC8 800D8D28 240C0001 */ li $t4, 1 -/* B4FECC 800D8D2C 24420008 */ addiu $v0, $v0, 8 -.L800D8D30: -/* B4FED0 800D8D30 1456FFF2 */ bne $v0, $s6, .L800D8CFC -/* B4FED4 800D8D34 24630008 */ addiu $v1, $v1, 8 -.L800D8D38: -/* B4FED8 800D8D38 24A50001 */ addiu $a1, $a1, 1 -/* B4FEDC 800D8D3C 2CA1000C */ sltiu $at, $a1, 0xc -/* B4FEE0 800D8D40 1420FFE3 */ bnez $at, .L800D8CD0 -/* B4FEE4 800D8D44 24E7002C */ addiu $a3, $a3, 0x2c -/* B4FEE8 800D8D48 11000006 */ beqz $t0, .L800D8D64 -/* B4FEEC 800D8D4C 3C048015 */ lui $a0, %hi(D_80148380) # $a0, 0x8015 -/* B4FEF0 800D8D50 24848380 */ addiu $a0, %lo(D_80148380) # addiu $a0, $a0, -0x7c80 -/* B4FEF4 800D8D54 02002825 */ move $a1, $s0 -/* B4FEF8 800D8D58 02203025 */ move $a2, $s1 -/* B4FEFC 800D8D5C 0C00084C */ jal osSyncPrintf -/* B4FF00 800D8D60 02403825 */ move $a3, $s2 -.L800D8D64: -/* B4FF04 800D8D64 240C0001 */ li $t4, 1 -.L800D8D68: -/* B4FF08 800D8D68 022C5004 */ sllv $t2, $t4, $s1 -/* B4FF0C 800D8D6C 240D0001 */ li $t5, 1 -/* B4FF10 800D8D70 8E6E00CC */ lw $t6, 0xcc($s3) -/* B4FF14 800D8D74 01AAC023 */ subu $t8, $t5, $t2 -/* B4FF18 800D8D78 0218C804 */ sllv $t9, $t8, $s0 -/* B4FF1C 800D8D7C 272BFFFF */ addiu $t3, $t9, -1 -/* B4FF20 800D8D80 8E6A00AC */ lw $t2, 0xac($s3) -/* B4FF24 800D8D84 01CB7824 */ and $t7, $t6, $t3 -/* B4FF28 800D8D88 AE6F00CC */ sw $t7, 0xcc($s3) -/* B4FF2C 800D8D8C 01F26825 */ or $t5, $t7, $s2 -/* B4FF30 800D8D90 11400009 */ beqz $t2, .L800D8DB8 -/* B4FF34 800D8D94 AE6D00CC */ sw $t5, 0xcc($s3) -/* B4FF38 800D8D98 8E7800BC */ lw $t8, 0xbc($s3) -/* B4FF3C 800D8D9C 13000003 */ beqz $t8, .L800D8DAC -/* B4FF40 800D8DA0 3C048015 */ lui $a0, %hi(D_801483A4) # $a0, 0x8015 -/* B4FF44 800D8DA4 0C00084C */ jal osSyncPrintf -/* B4FF48 800D8DA8 248483A4 */ addiu $a0, %lo(D_801483A4) # addiu $a0, $a0, -0x7c5c -.L800D8DAC: -/* B4FF4C 800D8DAC 8E7900B8 */ lw $t9, 0xb8($s3) -/* B4FF50 800D8DB0 272E0001 */ addiu $t6, $t9, 1 -/* B4FF54 800D8DB4 AE6E00B8 */ sw $t6, 0xb8($s3) -.L800D8DB8: -/* B4FF58 800D8DB8 1000079C */ b .L800DAC2C -/* B4FF5C 800D8DBC 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800D8DC0 -/* B4FF60 800D8DC0 93D10003 */ lbu $s1, 3($fp) -/* B4FF64 800D8DC4 93CB0002 */ lbu $t3, 2($fp) -/* B4FF68 800D8DC8 8FA40374 */ lw $a0, 0x374($sp) -/* B4FF6C 800D8DCC 26310001 */ addiu $s1, $s1, 1 -/* B4FF70 800D8DD0 000B7823 */ negu $t7, $t3 -/* B4FF74 800D8DD4 01F18023 */ subu $s0, $t7, $s1 -/* B4FF78 800D8DD8 26100020 */ addiu $s0, $s0, 0x20 -/* B4FF7C 800D8DDC 24010003 */ li $at, 3 -/* B4FF80 800D8DE0 8E6800BC */ lw $t0, 0xbc($s3) -/* B4FF84 800D8DE4 1601000F */ bne $s0, $at, .L800D8E24 -/* B4FF88 800D8DE8 00809025 */ move $s2, $a0 -/* B4FF8C 800D8DEC 11000003 */ beqz $t0, .L800D8DFC -/* B4FF90 800D8DF0 3C048015 */ lui $a0, %hi(D_80148434) # $a0, 0x8015 -/* B4FF94 800D8DF4 0C00084C */ jal osSyncPrintf -/* B4FF98 800D8DF8 24848434 */ addiu $a0, %lo(D_80148434) # addiu $a0, $a0, -0x7bcc -.L800D8DFC: -/* B4FF9C 800D8DFC 02602025 */ move $a0, $s3 -/* B4FFA0 800D8E00 0C036049 */ jal UCodeDisas_ParseRenderMode -/* B4FFA4 800D8E04 02402825 */ move $a1, $s2 -/* B4FFA8 800D8E08 8E6C00BC */ lw $t4, 0xbc($s3) -/* B4FFAC 800D8E0C 1180002D */ beqz $t4, .L800D8EC4 -/* B4FFB0 800D8E10 3C048015 */ lui $a0, %hi(D_8014844C) # $a0, 0x8015 -/* B4FFB4 800D8E14 0C00084C */ jal osSyncPrintf -/* B4FFB8 800D8E18 2484844C */ addiu $a0, %lo(D_8014844C) # addiu $a0, $a0, -0x7bb4 -/* B4FFBC 800D8E1C 1000002A */ b .L800D8EC8 -/* B4FFC0 800D8E20 240F0001 */ li $t7, 1 -.L800D8E24: -/* B4FFC4 800D8E24 3C078013 */ lui $a3, %hi(sUCodeDisasModeLMacros) # $a3, 0x8013 -/* B4FFC8 800D8E28 24E7E02C */ addiu $a3, %lo(sUCodeDisasModeLMacros) # addiu $a3, $a3, -0x1fd4 -/* B4FFCC 800D8E2C 00002825 */ move $a1, $zero -.L800D8E30: -/* B4FFD0 800D8E30 8CED0004 */ lw $t5, 4($a3) -/* B4FFD4 800D8E34 160D0018 */ bne $s0, $t5, .L800D8E98 -/* B4FFD8 800D8E38 00055080 */ sll $t2, $a1, 2 -/* B4FFDC 800D8E3C 01455023 */ subu $t2, $t2, $a1 -/* B4FFE0 800D8E40 000A5080 */ sll $t2, $t2, 2 -/* B4FFE4 800D8E44 01455023 */ subu $t2, $t2, $a1 -/* B4FFE8 800D8E48 3C188013 */ lui $t8, %hi(sUCodeDisasModeLMacros) # $t8, 0x8013 -/* B4FFEC 800D8E4C 2718E02C */ addiu $t8, %lo(sUCodeDisasModeLMacros) # addiu $t8, $t8, -0x1fd4 -/* B4FFF0 800D8E50 000A5080 */ sll $t2, $t2, 2 -/* B4FFF4 800D8E54 01581821 */ addu $v1, $t2, $t8 -/* B4FFF8 800D8E58 00001025 */ move $v0, $zero -.L800D8E5C: -/* B4FFFC 800D8E5C 8C790010 */ lw $t9, 0x10($v1) -/* B50000 800D8E60 5499000B */ bnel $a0, $t9, .L800D8E90 -/* B50004 800D8E64 24420008 */ addiu $v0, $v0, 8 -/* B50008 800D8E68 11000016 */ beqz $t0, .L800D8EC4 -/* B5000C 800D8E6C 3C048015 */ lui $a0, %hi(D_80148450) # $a0, 0x8015 -/* B50010 800D8E70 00E27021 */ addu $t6, $a3, $v0 -/* B50014 800D8E74 8DC6000C */ lw $a2, 0xc($t6) -/* B50018 800D8E78 24848450 */ addiu $a0, %lo(D_80148450) # addiu $a0, $a0, -0x7bb0 -/* B5001C 800D8E7C 0C00084C */ jal osSyncPrintf -/* B50020 800D8E80 8CE50000 */ lw $a1, ($a3) -/* B50024 800D8E84 10000010 */ b .L800D8EC8 -/* B50028 800D8E88 240F0001 */ li $t7, 1 -/* B5002C 800D8E8C 24420008 */ addiu $v0, $v0, 8 -.L800D8E90: -/* B50030 800D8E90 1457FFF2 */ bne $v0, $s7, .L800D8E5C -/* B50034 800D8E94 24630008 */ addiu $v1, $v1, 8 -.L800D8E98: -/* B50038 800D8E98 24A50001 */ addiu $a1, $a1, 1 -/* B5003C 800D8E9C 2CA10002 */ sltiu $at, $a1, 2 -/* B50040 800D8EA0 1420FFE3 */ bnez $at, .L800D8E30 -/* B50044 800D8EA4 24E7002C */ addiu $a3, $a3, 0x2c -/* B50048 800D8EA8 11000006 */ beqz $t0, .L800D8EC4 -/* B5004C 800D8EAC 3C048015 */ lui $a0, %hi(D_8014845C) # $a0, 0x8015 -/* B50050 800D8EB0 2484845C */ addiu $a0, %lo(D_8014845C) # addiu $a0, $a0, -0x7ba4 -/* B50054 800D8EB4 02002825 */ move $a1, $s0 -/* B50058 800D8EB8 02203025 */ move $a2, $s1 -/* B5005C 800D8EBC 0C00084C */ jal osSyncPrintf -/* B50060 800D8EC0 02403825 */ move $a3, $s2 -.L800D8EC4: -/* B50064 800D8EC4 240F0001 */ li $t7, 1 -.L800D8EC8: -/* B50068 800D8EC8 022F6004 */ sllv $t4, $t7, $s1 -/* B5006C 800D8ECC 240D0001 */ li $t5, 1 -/* B50070 800D8ED0 8E6B00D0 */ lw $t3, 0xd0($s3) -/* B50074 800D8ED4 01AC5023 */ subu $t2, $t5, $t4 -/* B50078 800D8ED8 020AC004 */ sllv $t8, $t2, $s0 -/* B5007C 800D8EDC 2719FFFF */ addiu $t9, $t8, -1 -/* B50080 800D8EE0 8E6C00AC */ lw $t4, 0xac($s3) -/* B50084 800D8EE4 01797024 */ and $t6, $t3, $t9 -/* B50088 800D8EE8 AE6E00D0 */ sw $t6, 0xd0($s3) -/* B5008C 800D8EEC 01D26825 */ or $t5, $t6, $s2 -/* B50090 800D8EF0 11800009 */ beqz $t4, .L800D8F18 -/* B50094 800D8EF4 AE6D00D0 */ sw $t5, 0xd0($s3) -/* B50098 800D8EF8 8E6A00BC */ lw $t2, 0xbc($s3) -/* B5009C 800D8EFC 11400003 */ beqz $t2, .L800D8F0C -/* B500A0 800D8F00 3C048015 */ lui $a0, %hi(D_80148480) # $a0, 0x8015 -/* B500A4 800D8F04 0C00084C */ jal osSyncPrintf -/* B500A8 800D8F08 24848480 */ addiu $a0, %lo(D_80148480) # addiu $a0, $a0, -0x7b80 -.L800D8F0C: -/* B500AC 800D8F0C 8E7800B8 */ lw $t8, 0xb8($s3) -/* B500B0 800D8F10 270B0001 */ addiu $t3, $t8, 1 -/* B500B4 800D8F14 AE6B00B8 */ sw $t3, 0xb8($s3) -.L800D8F18: -/* B500B8 800D8F18 10000744 */ b .L800DAC2C -/* B500BC 800D8F1C 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800D8F20 -/* B500C0 800D8F20 8E7900BC */ lw $t9, 0xbc($s3) -/* B500C4 800D8F24 5320000A */ beql $t9, $zero, .L800D8F50 -/* B500C8 800D8F28 8FCE0000 */ lw $t6, ($fp) -/* B500CC 800D8F2C 8FC50000 */ lw $a1, ($fp) -/* B500D0 800D8F30 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* B500D4 800D8F34 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* B500D8 800D8F38 3C048015 */ lui $a0, %hi(D_8014849C) # $a0, 0x8015 -/* B500DC 800D8F3C 2484849C */ addiu $a0, %lo(D_8014849C) # addiu $a0, $a0, -0x7b64 -/* B500E0 800D8F40 8FA60374 */ lw $a2, 0x374($sp) -/* B500E4 800D8F44 0C00084C */ jal osSyncPrintf -/* B500E8 800D8F48 00A12824 */ and $a1, $a1, $at -/* B500EC 800D8F4C 8FCE0000 */ lw $t6, ($fp) -.L800D8F50: -/* B500F0 800D8F50 8E6C00AC */ lw $t4, 0xac($s3) -/* B500F4 800D8F54 31CF0FFF */ andi $t7, $t6, 0xfff -/* B500F8 800D8F58 AE6F00CC */ sw $t7, 0xcc($s3) -/* B500FC 800D8F5C 8FAD0374 */ lw $t5, 0x374($sp) -/* B50100 800D8F60 11800009 */ beqz $t4, .L800D8F88 -/* B50104 800D8F64 AE6D00D0 */ sw $t5, 0xd0($s3) -/* B50108 800D8F68 8E6A00BC */ lw $t2, 0xbc($s3) -/* B5010C 800D8F6C 11400003 */ beqz $t2, .L800D8F7C -/* B50110 800D8F70 3C048015 */ lui $a0, %hi(D_801484C0) # $a0, 0x8015 -/* B50114 800D8F74 0C00084C */ jal osSyncPrintf -/* B50118 800D8F78 248484C0 */ addiu $a0, %lo(D_801484C0) # addiu $a0, $a0, -0x7b40 -.L800D8F7C: -/* B5011C 800D8F7C 8E7800B8 */ lw $t8, 0xb8($s3) -/* B50120 800D8F80 270B0001 */ addiu $t3, $t8, 1 -/* B50124 800D8F84 AE6B00B8 */ sw $t3, 0xb8($s3) -.L800D8F88: -/* B50128 800D8F88 10000728 */ b .L800DAC2C -/* B5012C 800D8F8C 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800D8F90 -/* B50130 800D8F90 8FAE0394 */ lw $t6, 0x394($sp) -/* B50134 800D8F94 27B902F8 */ addiu $t9, $sp, 0x2f8 -/* B50138 800D8F98 8DCD0000 */ lw $t5, ($t6) -/* B5013C 800D8F9C AF2D0000 */ sw $t5, ($t9) -/* B50140 800D8FA0 8DCF0004 */ lw $t7, 4($t6) -/* B50144 800D8FA4 AF2F0004 */ sw $t7, 4($t9) -/* B50148 800D8FA8 93AC02FC */ lbu $t4, 0x2fc($sp) -/* B5014C 800D8FAC 15800003 */ bnez $t4, .L800D8FBC -/* B50150 800D8FB0 3C058015 */ lui $a1, %hi(D_801484DC) # $a1, 0x8015 -/* B50154 800D8FB4 10000011 */ b .L800D8FFC -/* B50158 800D8FB8 24A584DC */ addiu $a1, %lo(D_801484DC) # addiu $a1, $a1, -0x7b24 -.L800D8FBC: -/* B5015C 800D8FBC 93AA02FC */ lbu $t2, 0x2fc($sp) -/* B50160 800D8FC0 24010003 */ li $at, 3 -/* B50164 800D8FC4 15410003 */ bne $t2, $at, .L800D8FD4 -/* B50168 800D8FC8 3C118015 */ lui $s1, %hi(D_801484F0) # $s1, 0x8015 -/* B5016C 800D8FCC 1000000A */ b .L800D8FF8 -/* B50170 800D8FD0 263184F0 */ addiu $s1, %lo(D_801484F0) # addiu $s1, $s1, -0x7b10 -.L800D8FD4: -/* B50174 800D8FD4 93B802FC */ lbu $t8, 0x2fc($sp) -/* B50178 800D8FD8 24010002 */ li $at, 2 -/* B5017C 800D8FDC 17010003 */ bne $t8, $at, .L800D8FEC -/* B50180 800D8FE0 3C108015 */ lui $s0, %hi(D_80148504) # $s0, 0x8015 -/* B50184 800D8FE4 10000003 */ b .L800D8FF4 -/* B50188 800D8FE8 26108504 */ addiu $s0, %lo(D_80148504) # addiu $s0, $s0, -0x7afc -.L800D8FEC: -/* B5018C 800D8FEC 3C108015 */ lui $s0, %hi(D_80148518) # $s0, 0x8015 -/* B50190 800D8FF0 26108518 */ addiu $s0, %lo(D_80148518) # addiu $s0, $s0, -0x7ae8 -.L800D8FF4: -/* B50194 800D8FF4 02008825 */ move $s1, $s0 -.L800D8FF8: -/* B50198 800D8FF8 02202825 */ move $a1, $s1 -.L800D8FFC: -/* B5019C 800D8FFC 8FA202F8 */ lw $v0, 0x2f8($sp) -/* B501A0 800D9000 8FB902FC */ lw $t9, 0x2fc($sp) -/* B501A4 800D9004 00021C80 */ sll $v1, $v0, 0x12 -/* B501A8 800D9008 00024F80 */ sll $t1, $v0, 0x1e -/* B501AC 800D900C 00094F83 */ sra $t1, $t1, 0x1e -/* B501B0 800D9010 00031F83 */ sra $v1, $v1, 0x1e -/* B501B4 800D9014 00197480 */ sll $t6, $t9, 0x12 -/* B501B8 800D9018 000E7F83 */ sra $t7, $t6, 0x1e -/* B501BC 800D901C 00695825 */ or $t3, $v1, $t1 -/* B501C0 800D9020 00196780 */ sll $t4, $t9, 0x1e -/* B501C4 800D9024 000C5783 */ sra $t2, $t4, 0x1e -/* B501C8 800D9028 016F6825 */ or $t5, $t3, $t7 -/* B501CC 800D902C 01AAC025 */ or $t8, $t5, $t2 -/* B501D0 800D9030 53000021 */ beql $t8, $zero, .L800D90B8 -/* B501D4 800D9034 8E6800BC */ lw $t0, 0xbc($s3) -/* B501D8 800D9038 8E6800BC */ lw $t0, 0xbc($s3) -/* B501DC 800D903C 110006FB */ beqz $t0, .L800DAC2C -/* B501E0 800D9040 00000000 */ nop -/* B501E4 800D9044 8FAA02FC */ lw $t2, 0x2fc($sp) -/* B501E8 800D9048 00027200 */ sll $t6, $v0, 8 -/* B501EC 800D904C 000E5D83 */ sra $t3, $t6, 0x16 -/* B501F0 800D9050 000B7880 */ sll $t7, $t3, 2 -/* B501F4 800D9054 0002CD00 */ sll $t9, $v0, 0x14 -/* B501F8 800D9058 00196583 */ sra $t4, $t9, 0x16 -/* B501FC 800D905C 01E33021 */ addu $a2, $t7, $v1 -/* B50200 800D9060 000AC200 */ sll $t8, $t2, 8 -/* B50204 800D9064 00187583 */ sra $t6, $t8, 0x16 -/* B50208 800D9068 000C6880 */ sll $t5, $t4, 2 -/* B5020C 800D906C 000A7C80 */ sll $t7, $t2, 0x12 -/* B50210 800D9070 000FCF83 */ sra $t9, $t7, 0x1e -/* B50214 800D9074 01A93821 */ addu $a3, $t5, $t1 -/* B50218 800D9078 000E5880 */ sll $t3, $t6, 2 -/* B5021C 800D907C 000A6D00 */ sll $t5, $t2, 0x14 -/* B50220 800D9080 000DC583 */ sra $t8, $t5, 0x16 -/* B50224 800D9084 01796021 */ addu $t4, $t3, $t9 -/* B50228 800D9088 000A7F80 */ sll $t7, $t2, 0x1e -/* B5022C 800D908C 000F5F83 */ sra $t3, $t7, 0x1e -/* B50230 800D9090 00187080 */ sll $t6, $t8, 2 -/* B50234 800D9094 01CBC821 */ addu $t9, $t6, $t3 -/* B50238 800D9098 3C048015 */ lui $a0, %hi(D_8014851C) # $a0, 0x8015 -/* B5023C 800D909C 2484851C */ addiu $a0, %lo(D_8014851C) # addiu $a0, $a0, -0x7ae4 -/* B50240 800D90A0 AFB90014 */ sw $t9, 0x14($sp) -/* B50244 800D90A4 0C00084C */ jal osSyncPrintf -/* B50248 800D90A8 AFAC0010 */ sw $t4, 0x10($sp) -/* B5024C 800D90AC 100006DF */ b .L800DAC2C -/* B50250 800D90B0 8E6800BC */ lw $t0, 0xbc($s3) -/* B50254 800D90B4 8E6800BC */ lw $t0, 0xbc($s3) -.L800D90B8: -/* B50258 800D90B8 110006DC */ beqz $t0, .L800DAC2C -/* B5025C 800D90BC 00000000 */ nop -/* B50260 800D90C0 8FAC02FC */ lw $t4, 0x2fc($sp) -/* B50264 800D90C4 8FA202F8 */ lw $v0, 0x2f8($sp) -/* B50268 800D90C8 3C048015 */ lui $a0, %hi(D_80148544) # $a0, 0x8015 -/* B5026C 800D90CC 000C6A00 */ sll $t5, $t4, 8 -/* B50270 800D90D0 000C5500 */ sll $t2, $t4, 0x14 -/* B50274 800D90D4 000A7D83 */ sra $t7, $t2, 0x16 -/* B50278 800D90D8 000DC583 */ sra $t8, $t5, 0x16 -/* B5027C 800D90DC 00023200 */ sll $a2, $v0, 8 -/* B50280 800D90E0 00023D00 */ sll $a3, $v0, 0x14 -/* B50284 800D90E4 00073D83 */ sra $a3, $a3, 0x16 -/* B50288 800D90E8 00063583 */ sra $a2, $a2, 0x16 -/* B5028C 800D90EC AFB80010 */ sw $t8, 0x10($sp) -/* B50290 800D90F0 AFAF0014 */ sw $t7, 0x14($sp) -/* B50294 800D90F4 0C00084C */ jal osSyncPrintf -/* B50298 800D90F8 24848544 */ addiu $a0, %lo(D_80148544) # addiu $a0, $a0, -0x7abc -/* B5029C 800D90FC 8E6800BC */ lw $t0, 0xbc($s3) -/* B502A0 800D9100 100006CA */ b .L800DAC2C -/* B502A4 800D9104 00000000 */ nop -glabel L800D9108 -/* B502A8 800D9108 8FAB0394 */ lw $t3, 0x394($sp) -/* B502AC 800D910C 27AE02EC */ addiu $t6, $sp, 0x2ec -/* B502B0 800D9110 8D6D0000 */ lw $t5, ($t3) -/* B502B4 800D9114 ADCD0000 */ sw $t5, ($t6) -/* B502B8 800D9118 8D790004 */ lw $t9, 4($t3) -/* B502BC 800D911C ADD90004 */ sw $t9, 4($t6) -/* B502C0 800D9120 8E7800BC */ lw $t8, 0xbc($s3) -/* B502C4 800D9124 53000010 */ beql $t8, $zero, .L800D9168 -/* B502C8 800D9128 240F0001 */ li $t7, 1 -/* B502CC 800D912C 8FA202F0 */ lw $v0, 0x2f0($sp) -/* B502D0 800D9130 8FA302EC */ lw $v1, 0x2ec($sp) -/* B502D4 800D9134 3C048015 */ lui $a0, %hi(D_80148568) # $a0, 0x8015 -/* B502D8 800D9138 00022A00 */ sll $a1, $v0, 8 -/* B502DC 800D913C 00036500 */ sll $t4, $v1, 0x14 -/* B502E0 800D9140 000C5583 */ sra $t2, $t4, 0x16 -/* B502E4 800D9144 00023500 */ sll $a2, $v0, 0x14 -/* B502E8 800D9148 00033A00 */ sll $a3, $v1, 8 -/* B502EC 800D914C 00073D83 */ sra $a3, $a3, 0x16 -/* B502F0 800D9150 00063583 */ sra $a2, $a2, 0x16 -/* B502F4 800D9154 AFAA0010 */ sw $t2, 0x10($sp) -/* B502F8 800D9158 00052D83 */ sra $a1, $a1, 0x16 -/* B502FC 800D915C 0C00084C */ jal osSyncPrintf -/* B50300 800D9160 24848568 */ addiu $a0, %lo(D_80148568) # addiu $a0, $a0, -0x7a98 -/* B50304 800D9164 240F0001 */ li $t7, 1 -.L800D9168: -/* B50308 800D9168 AE6F00AC */ sw $t7, 0xac($s3) -/* B5030C 800D916C 100006AF */ b .L800DAC2C -/* B50310 800D9170 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800D9174 -/* B50314 800D9174 8FC20000 */ lw $v0, ($fp) -/* B50318 800D9178 3C0100E0 */ lui $at, 0xe0 -/* B5031C 800D917C 8E6800BC */ lw $t0, 0xbc($s3) -/* B50320 800D9180 00411824 */ and $v1, $v0, $at -/* B50324 800D9184 3C010018 */ lui $at, 0x18 -/* B50328 800D9188 00412024 */ and $a0, $v0, $at -/* B5032C 800D918C 00031D42 */ srl $v1, $v1, 0x15 -/* B50330 800D9190 000424C2 */ srl $a0, $a0, 0x13 -/* B50334 800D9194 306300FF */ andi $v1, $v1, 0xff -/* B50338 800D9198 11000038 */ beqz $t0, .L800D927C -/* B5033C 800D919C 308400FF */ andi $a0, $a0, 0xff -/* B50340 800D91A0 14600003 */ bnez $v1, .L800D91B0 -/* B50344 800D91A4 3C158015 */ lui $s5, %hi(D_801485D0) # $s5, 0x8015 -/* B50348 800D91A8 10000016 */ b .L800D9204 -/* B5034C 800D91AC 26B585D0 */ addiu $s5, %lo(D_801485D0) # addiu $s5, $s5, -0x7a30 -.L800D91B0: -/* B50350 800D91B0 24010001 */ li $at, 1 -/* B50354 800D91B4 14610003 */ bne $v1, $at, .L800D91C4 -/* B50358 800D91B8 3C088015 */ lui $t0, %hi(D_801485D8) # $t0, 0x8015 -/* B5035C 800D91BC 10000010 */ b .L800D9200 -/* B50360 800D91C0 250885D8 */ addiu $t0, %lo(D_801485D8) # addiu $t0, $t0, -0x7a28 -.L800D91C4: -/* B50364 800D91C4 24010002 */ li $at, 2 -/* B50368 800D91C8 54610005 */ bnel $v1, $at, .L800D91E0 -/* B5036C 800D91CC 24010003 */ li $at, 3 -/* B50370 800D91D0 3C038015 */ lui $v1, %hi(D_801485DC) # $v1, 0x8015 -/* B50374 800D91D4 10000009 */ b .L800D91FC -/* B50378 800D91D8 246385DC */ addiu $v1, %lo(D_801485DC) # addiu $v1, $v1, -0x7a24 -/* B5037C 800D91DC 24010003 */ li $at, 3 -.L800D91E0: -/* B50380 800D91E0 14610003 */ bne $v1, $at, .L800D91F0 -/* B50384 800D91E4 3C128015 */ lui $s2, %hi(D_801485E0) # $s2, 0x8015 -/* B50388 800D91E8 10000003 */ b .L800D91F8 -/* B5038C 800D91EC 265285E0 */ addiu $s2, %lo(D_801485E0) # addiu $s2, $s2, -0x7a20 -.L800D91F0: -/* B50390 800D91F0 3C128015 */ lui $s2, %hi(D_801485E4) # $s2, 0x8015 -/* B50394 800D91F4 265285E4 */ addiu $s2, %lo(D_801485E4) # addiu $s2, $s2, -0x7a1c -.L800D91F8: -/* B50398 800D91F8 02401825 */ move $v1, $s2 -.L800D91FC: -/* B5039C 800D91FC 00604025 */ move $t0, $v1 -.L800D9200: -/* B503A0 800D9200 0100A825 */ move $s5, $t0 -.L800D9204: -/* B503A4 800D9204 14800003 */ bnez $a0, .L800D9214 -/* B503A8 800D9208 3C118015 */ lui $s1, %hi(D_801485E8) # $s1, 0x8015 -/* B503AC 800D920C 1000000F */ b .L800D924C -/* B503B0 800D9210 263185E8 */ addiu $s1, %lo(D_801485E8) # addiu $s1, $s1, -0x7a18 -.L800D9214: -/* B503B4 800D9214 24010001 */ li $at, 1 -/* B503B8 800D9218 14810003 */ bne $a0, $at, .L800D9228 -/* B503BC 800D921C 3C108015 */ lui $s0, %hi(D_801485EC) # $s0, 0x8015 -/* B503C0 800D9220 10000009 */ b .L800D9248 -/* B503C4 800D9224 261085EC */ addiu $s0, %lo(D_801485EC) # addiu $s0, $s0, -0x7a14 -.L800D9228: -/* B503C8 800D9228 24010002 */ li $at, 2 -/* B503CC 800D922C 14810003 */ bne $a0, $at, .L800D923C -/* B503D0 800D9230 3C118015 */ lui $s1, %hi(D_801485F0) # $s1, 0x8015 -/* B503D4 800D9234 10000003 */ b .L800D9244 -/* B503D8 800D9238 263185F0 */ addiu $s1, %lo(D_801485F0) # addiu $s1, $s1, -0x7a10 -.L800D923C: -/* B503DC 800D923C 3C118015 */ lui $s1, %hi(D_801485F4) # $s1, 0x8015 -/* B503E0 800D9240 263185F4 */ addiu $s1, %lo(D_801485F4) # addiu $s1, $s1, -0x7a0c -.L800D9244: -/* B503E4 800D9244 02208025 */ move $s0, $s1 -.L800D9248: -/* B503E8 800D9248 02008825 */ move $s1, $s0 -.L800D924C: -/* B503EC 800D924C 97C70002 */ lhu $a3, 2($fp) -/* B503F0 800D9250 8FAE0374 */ lw $t6, 0x374($sp) -/* B503F4 800D9254 3C048015 */ lui $a0, %hi(D_8014858C) # $a0, 0x8015 -/* B503F8 800D9258 30E70FFF */ andi $a3, $a3, 0xfff -/* B503FC 800D925C 24E70001 */ addiu $a3, $a3, 1 -/* B50400 800D9260 2484858C */ addiu $a0, %lo(D_8014858C) # addiu $a0, $a0, -0x7a74 -/* B50404 800D9264 AFB40014 */ sw $s4, 0x14($sp) -/* B50408 800D9268 02A02825 */ move $a1, $s5 -/* B5040C 800D926C 02203025 */ move $a2, $s1 -/* B50410 800D9270 0C00084C */ jal osSyncPrintf -/* B50414 800D9274 AFAE0010 */ sw $t6, 0x10($sp) -/* B50418 800D9278 8E6800BC */ lw $t0, 0xbc($s3) -.L800D927C: -/* B5041C 800D927C 8E6B00AC */ lw $t3, 0xac($s3) -/* B50420 800D9280 1160066A */ beqz $t3, .L800DAC2C -/* B50424 800D9284 00000000 */ nop -/* B50428 800D9288 11000003 */ beqz $t0, .L800D9298 -/* B5042C 800D928C 3C048015 */ lui $a0, %hi(D_801485F8) # $a0, 0x8015 -/* B50430 800D9290 0C00084C */ jal osSyncPrintf -/* B50434 800D9294 248485F8 */ addiu $a0, %lo(D_801485F8) # addiu $a0, $a0, -0x7a08 -.L800D9298: -/* B50438 800D9298 8E7900B8 */ lw $t9, 0xb8($s3) -/* B5043C 800D929C 8E6800BC */ lw $t0, 0xbc($s3) -/* B50440 800D92A0 272D0001 */ addiu $t5, $t9, 1 -/* B50444 800D92A4 AE6D00B8 */ sw $t5, 0xb8($s3) -/* B50448 800D92A8 10000660 */ b .L800DAC2C -/* B5044C 800D92AC 00000000 */ nop -glabel L800D92B0 -/* B50450 800D92B0 8E6800BC */ lw $t0, 0xbc($s3) -/* B50454 800D92B4 11000006 */ beqz $t0, .L800D92D0 -/* B50458 800D92B8 3C048015 */ lui $a0, %hi(D_80148614) # $a0, 0x8015 -/* B5045C 800D92BC 24848614 */ addiu $a0, %lo(D_80148614) # addiu $a0, $a0, -0x79ec -/* B50460 800D92C0 8FA50374 */ lw $a1, 0x374($sp) -/* B50464 800D92C4 0C00084C */ jal osSyncPrintf -/* B50468 800D92C8 02803025 */ move $a2, $s4 -/* B5046C 800D92CC 8E6800BC */ lw $t0, 0xbc($s3) -.L800D92D0: -/* B50470 800D92D0 8E7800AC */ lw $t8, 0xac($s3) -/* B50474 800D92D4 13000655 */ beqz $t8, .L800DAC2C -/* B50478 800D92D8 00000000 */ nop -/* B5047C 800D92DC 11000003 */ beqz $t0, .L800D92EC -/* B50480 800D92E0 3C048015 */ lui $a0, %hi(D_80148638) # $a0, 0x8015 -/* B50484 800D92E4 0C00084C */ jal osSyncPrintf -/* B50488 800D92E8 24848638 */ addiu $a0, %lo(D_80148638) # addiu $a0, $a0, -0x79c8 -.L800D92EC: -/* B5048C 800D92EC 8E6C00B8 */ lw $t4, 0xb8($s3) -/* B50490 800D92F0 8E6800BC */ lw $t0, 0xbc($s3) -/* B50494 800D92F4 258A0001 */ addiu $t2, $t4, 1 -/* B50498 800D92F8 1000064C */ b .L800DAC2C -/* B5049C 800D92FC AE6A00B8 */ sw $t2, 0xb8($s3) -glabel L800D9300 -/* B504A0 800D9300 8FC20000 */ lw $v0, ($fp) -/* B504A4 800D9304 3C0100E0 */ lui $at, 0xe0 -/* B504A8 800D9308 8E6800BC */ lw $t0, 0xbc($s3) -/* B504AC 800D930C 00411824 */ and $v1, $v0, $at -/* B504B0 800D9310 3C010018 */ lui $at, 0x18 -/* B504B4 800D9314 00412024 */ and $a0, $v0, $at -/* B504B8 800D9318 00031D42 */ srl $v1, $v1, 0x15 -/* B504BC 800D931C 000424C2 */ srl $a0, $a0, 0x13 -/* B504C0 800D9320 306300FF */ andi $v1, $v1, 0xff -/* B504C4 800D9324 11000641 */ beqz $t0, .L800DAC2C -/* B504C8 800D9328 308400FF */ andi $a0, $a0, 0xff -/* B504CC 800D932C 14600003 */ bnez $v1, .L800D933C -/* B504D0 800D9330 3C158015 */ lui $s5, %hi(D_80148698) # $s5, 0x8015 -/* B504D4 800D9334 10000016 */ b .L800D9390 -/* B504D8 800D9338 26B58698 */ addiu $s5, %lo(D_80148698) # addiu $s5, $s5, -0x7968 -.L800D933C: -/* B504DC 800D933C 24010001 */ li $at, 1 -/* B504E0 800D9340 14610003 */ bne $v1, $at, .L800D9350 -/* B504E4 800D9344 3C088015 */ lui $t0, %hi(D_801486A0) # $t0, 0x8015 -/* B504E8 800D9348 10000010 */ b .L800D938C -/* B504EC 800D934C 250886A0 */ addiu $t0, %lo(D_801486A0) # addiu $t0, $t0, -0x7960 -.L800D9350: -/* B504F0 800D9350 24010002 */ li $at, 2 -/* B504F4 800D9354 54610005 */ bnel $v1, $at, .L800D936C -/* B504F8 800D9358 24010003 */ li $at, 3 -/* B504FC 800D935C 3C038015 */ lui $v1, %hi(D_801486A4) # $v1, 0x8015 -/* B50500 800D9360 10000009 */ b .L800D9388 -/* B50504 800D9364 246386A4 */ addiu $v1, %lo(D_801486A4) # addiu $v1, $v1, -0x795c -/* B50508 800D9368 24010003 */ li $at, 3 -.L800D936C: -/* B5050C 800D936C 14610003 */ bne $v1, $at, .L800D937C -/* B50510 800D9370 3C128015 */ lui $s2, %hi(D_801486A8) # $s2, 0x8015 -/* B50514 800D9374 10000003 */ b .L800D9384 -/* B50518 800D9378 265286A8 */ addiu $s2, %lo(D_801486A8) # addiu $s2, $s2, -0x7958 -.L800D937C: -/* B5051C 800D937C 3C128015 */ lui $s2, %hi(D_801486AC) # $s2, 0x8015 -/* B50520 800D9380 265286AC */ addiu $s2, %lo(D_801486AC) # addiu $s2, $s2, -0x7954 -.L800D9384: -/* B50524 800D9384 02401825 */ move $v1, $s2 -.L800D9388: -/* B50528 800D9388 00604025 */ move $t0, $v1 -.L800D938C: -/* B5052C 800D938C 0100A825 */ move $s5, $t0 -.L800D9390: -/* B50530 800D9390 14800003 */ bnez $a0, .L800D93A0 -/* B50534 800D9394 3C118015 */ lui $s1, %hi(D_801486B0) # $s1, 0x8015 -/* B50538 800D9398 1000000F */ b .L800D93D8 -/* B5053C 800D939C 263186B0 */ addiu $s1, %lo(D_801486B0) # addiu $s1, $s1, -0x7950 -.L800D93A0: -/* B50540 800D93A0 24010001 */ li $at, 1 -/* B50544 800D93A4 14810003 */ bne $a0, $at, .L800D93B4 -/* B50548 800D93A8 3C108015 */ lui $s0, %hi(D_801486B4) # $s0, 0x8015 -/* B5054C 800D93AC 10000009 */ b .L800D93D4 -/* B50550 800D93B0 261086B4 */ addiu $s0, %lo(D_801486B4) # addiu $s0, $s0, -0x794c -.L800D93B4: -/* B50554 800D93B4 24010002 */ li $at, 2 -/* B50558 800D93B8 14810003 */ bne $a0, $at, .L800D93C8 -/* B5055C 800D93BC 3C118015 */ lui $s1, %hi(D_801486B8) # $s1, 0x8015 -/* B50560 800D93C0 10000003 */ b .L800D93D0 -/* B50564 800D93C4 263186B8 */ addiu $s1, %lo(D_801486B8) # addiu $s1, $s1, -0x7948 -.L800D93C8: -/* B50568 800D93C8 3C118015 */ lui $s1, %hi(D_801486BC) # $s1, 0x8015 -/* B5056C 800D93CC 263186BC */ addiu $s1, %lo(D_801486BC) # addiu $s1, $s1, -0x7944 -.L800D93D0: -/* B50570 800D93D0 02208025 */ move $s0, $s1 -.L800D93D4: -/* B50574 800D93D4 02008825 */ move $s1, $s0 -.L800D93D8: -/* B50578 800D93D8 97C70002 */ lhu $a3, 2($fp) -/* B5057C 800D93DC 8FAF0374 */ lw $t7, 0x374($sp) -/* B50580 800D93E0 3C048015 */ lui $a0, %hi(D_80148654) # $a0, 0x8015 -/* B50584 800D93E4 30E70FFF */ andi $a3, $a3, 0xfff -/* B50588 800D93E8 24E70001 */ addiu $a3, $a3, 1 -/* B5058C 800D93EC 24848654 */ addiu $a0, %lo(D_80148654) # addiu $a0, $a0, -0x79ac -/* B50590 800D93F0 AFB40014 */ sw $s4, 0x14($sp) -/* B50594 800D93F4 02A02825 */ move $a1, $s5 -/* B50598 800D93F8 02203025 */ move $a2, $s1 -/* B5059C 800D93FC 0C00084C */ jal osSyncPrintf -/* B505A0 800D9400 AFAF0010 */ sw $t7, 0x10($sp) -/* B505A4 800D9404 8E6800BC */ lw $t0, 0xbc($s3) -/* B505A8 800D9408 10000608 */ b .L800DAC2C -/* B505AC 800D940C 00000000 */ nop -glabel L800D9410 -/* B505B0 800D9410 8E6800BC */ lw $t0, 0xbc($s3) -/* B505B4 800D9414 5100000B */ beql $t0, $zero, .L800D9444 -/* B505B8 800D9418 8E6B00AC */ lw $t3, 0xac($s3) -/* B505BC 800D941C 93CE0007 */ lbu $t6, 7($fp) -/* B505C0 800D9420 3C048015 */ lui $a0, %hi(D_801486C0) # $a0, 0x8015 -/* B505C4 800D9424 93C50004 */ lbu $a1, 4($fp) -/* B505C8 800D9428 93C60005 */ lbu $a2, 5($fp) -/* B505CC 800D942C 93C70006 */ lbu $a3, 6($fp) -/* B505D0 800D9430 248486C0 */ addiu $a0, %lo(D_801486C0) # addiu $a0, $a0, -0x7940 -/* B505D4 800D9434 0C00084C */ jal osSyncPrintf -/* B505D8 800D9438 AFAE0010 */ sw $t6, 0x10($sp) -/* B505DC 800D943C 8E6800BC */ lw $t0, 0xbc($s3) -/* B505E0 800D9440 8E6B00AC */ lw $t3, 0xac($s3) -.L800D9444: -/* B505E4 800D9444 116005F9 */ beqz $t3, .L800DAC2C -/* B505E8 800D9448 00000000 */ nop -/* B505EC 800D944C 11000003 */ beqz $t0, .L800D945C -/* B505F0 800D9450 3C048015 */ lui $a0, %hi(D_801486E4) # $a0, 0x8015 -/* B505F4 800D9454 0C00084C */ jal osSyncPrintf -/* B505F8 800D9458 248486E4 */ addiu $a0, %lo(D_801486E4) # addiu $a0, $a0, -0x791c -.L800D945C: -/* B505FC 800D945C 8E7900B8 */ lw $t9, 0xb8($s3) -/* B50600 800D9460 8E6800BC */ lw $t0, 0xbc($s3) -/* B50604 800D9464 272D0001 */ addiu $t5, $t9, 1 -/* B50608 800D9468 100005F0 */ b .L800DAC2C -/* B5060C 800D946C AE6D00B8 */ sw $t5, 0xb8($s3) -glabel L800D9470 -/* B50610 800D9470 8E6800BC */ lw $t0, 0xbc($s3) -/* B50614 800D9474 5100000B */ beql $t0, $zero, .L800D94A4 -/* B50618 800D9478 8E6C00AC */ lw $t4, 0xac($s3) -/* B5061C 800D947C 93D80007 */ lbu $t8, 7($fp) -/* B50620 800D9480 3C048015 */ lui $a0, %hi(D_80148700) # $a0, 0x8015 -/* B50624 800D9484 93C50004 */ lbu $a1, 4($fp) -/* B50628 800D9488 93C60005 */ lbu $a2, 5($fp) -/* B5062C 800D948C 93C70006 */ lbu $a3, 6($fp) -/* B50630 800D9490 24848700 */ addiu $a0, %lo(D_80148700) # addiu $a0, $a0, -0x7900 -/* B50634 800D9494 0C00084C */ jal osSyncPrintf -/* B50638 800D9498 AFB80010 */ sw $t8, 0x10($sp) -/* B5063C 800D949C 8E6800BC */ lw $t0, 0xbc($s3) -/* B50640 800D94A0 8E6C00AC */ lw $t4, 0xac($s3) -.L800D94A4: -/* B50644 800D94A4 118005E1 */ beqz $t4, .L800DAC2C -/* B50648 800D94A8 00000000 */ nop -/* B5064C 800D94AC 11000003 */ beqz $t0, .L800D94BC -/* B50650 800D94B0 3C048015 */ lui $a0, %hi(D_80148724) # $a0, 0x8015 -/* B50654 800D94B4 0C00084C */ jal osSyncPrintf -/* B50658 800D94B8 24848724 */ addiu $a0, %lo(D_80148724) # addiu $a0, $a0, -0x78dc -.L800D94BC: -/* B5065C 800D94BC 8E6A00B8 */ lw $t2, 0xb8($s3) -/* B50660 800D94C0 8E6800BC */ lw $t0, 0xbc($s3) -/* B50664 800D94C4 254F0001 */ addiu $t7, $t2, 1 -/* B50668 800D94C8 100005D8 */ b .L800DAC2C -/* B5066C 800D94CC AE6F00B8 */ sw $t7, 0xb8($s3) -glabel L800D94D0 -/* B50670 800D94D0 8E6800BC */ lw $t0, 0xbc($s3) -/* B50674 800D94D4 5100000B */ beql $t0, $zero, .L800D9504 -/* B50678 800D94D8 8E6B00AC */ lw $t3, 0xac($s3) -/* B5067C 800D94DC 93CE0007 */ lbu $t6, 7($fp) -/* B50680 800D94E0 3C048015 */ lui $a0, %hi(D_80148740) # $a0, 0x8015 -/* B50684 800D94E4 93C50004 */ lbu $a1, 4($fp) -/* B50688 800D94E8 93C60005 */ lbu $a2, 5($fp) -/* B5068C 800D94EC 93C70006 */ lbu $a3, 6($fp) -/* B50690 800D94F0 24848740 */ addiu $a0, %lo(D_80148740) # addiu $a0, $a0, -0x78c0 -/* B50694 800D94F4 0C00084C */ jal osSyncPrintf -/* B50698 800D94F8 AFAE0010 */ sw $t6, 0x10($sp) -/* B5069C 800D94FC 8E6800BC */ lw $t0, 0xbc($s3) -/* B506A0 800D9500 8E6B00AC */ lw $t3, 0xac($s3) -.L800D9504: -/* B506A4 800D9504 116005C9 */ beqz $t3, .L800DAC2C -/* B506A8 800D9508 00000000 */ nop -/* B506AC 800D950C 11000003 */ beqz $t0, .L800D951C -/* B506B0 800D9510 3C048015 */ lui $a0, %hi(D_80148764) # $a0, 0x8015 -/* B506B4 800D9514 0C00084C */ jal osSyncPrintf -/* B506B8 800D9518 24848764 */ addiu $a0, %lo(D_80148764) # addiu $a0, $a0, -0x789c -.L800D951C: -/* B506BC 800D951C 8E7900B8 */ lw $t9, 0xb8($s3) -/* B506C0 800D9520 8E6800BC */ lw $t0, 0xbc($s3) -/* B506C4 800D9524 272D0001 */ addiu $t5, $t9, 1 -/* B506C8 800D9528 100005C0 */ b .L800DAC2C -/* B506CC 800D952C AE6D00B8 */ sw $t5, 0xb8($s3) -glabel L800D9530 -/* B506D0 800D9530 8E6800BC */ lw $t0, 0xbc($s3) -/* B506D4 800D9534 11000005 */ beqz $t0, .L800D954C -/* B506D8 800D9538 3C048015 */ lui $a0, %hi(D_80148780) # $a0, 0x8015 -/* B506DC 800D953C 24848780 */ addiu $a0, %lo(D_80148780) # addiu $a0, $a0, -0x7880 -/* B506E0 800D9540 0C00084C */ jal osSyncPrintf -/* B506E4 800D9544 8FC50004 */ lw $a1, 4($fp) -/* B506E8 800D9548 8E6800BC */ lw $t0, 0xbc($s3) -.L800D954C: -/* B506EC 800D954C 8E7800AC */ lw $t8, 0xac($s3) -/* B506F0 800D9550 130005B6 */ beqz $t8, .L800DAC2C -/* B506F4 800D9554 00000000 */ nop -/* B506F8 800D9558 11000003 */ beqz $t0, .L800D9568 -/* B506FC 800D955C 3C048015 */ lui $a0, %hi(D_8014879C) # $a0, 0x8015 -/* B50700 800D9560 0C00084C */ jal osSyncPrintf -/* B50704 800D9564 2484879C */ addiu $a0, %lo(D_8014879C) # addiu $a0, $a0, -0x7864 -.L800D9568: -/* B50708 800D9568 8E6C00B8 */ lw $t4, 0xb8($s3) -/* B5070C 800D956C 8E6800BC */ lw $t0, 0xbc($s3) -/* B50710 800D9570 258A0001 */ addiu $t2, $t4, 1 -/* B50714 800D9574 100005AD */ b .L800DAC2C -/* B50718 800D9578 AE6A00B8 */ sw $t2, 0xb8($s3) -glabel L800D957C -/* B5071C 800D957C 8E6800BC */ lw $t0, 0xbc($s3) -/* B50720 800D9580 11000006 */ beqz $t0, .L800D959C -/* B50724 800D9584 3C048015 */ lui $a0, %hi(D_801487B8) # $a0, 0x8015 -/* B50728 800D9588 248487B8 */ addiu $a0, %lo(D_801487B8) # addiu $a0, $a0, -0x7848 -/* B5072C 800D958C 97C50004 */ lhu $a1, 4($fp) -/* B50730 800D9590 0C00084C */ jal osSyncPrintf -/* B50734 800D9594 97C60006 */ lhu $a2, 6($fp) -/* B50738 800D9598 8E6800BC */ lw $t0, 0xbc($s3) -.L800D959C: -/* B5073C 800D959C 8E6F00AC */ lw $t7, 0xac($s3) -/* B50740 800D95A0 11E005A2 */ beqz $t7, .L800DAC2C -/* B50744 800D95A4 00000000 */ nop -/* B50748 800D95A8 11000003 */ beqz $t0, .L800D95B8 -/* B5074C 800D95AC 3C048015 */ lui $a0, %hi(D_801487D4) # $a0, 0x8015 -/* B50750 800D95B0 0C00084C */ jal osSyncPrintf -/* B50754 800D95B4 248487D4 */ addiu $a0, %lo(D_801487D4) # addiu $a0, $a0, -0x782c -.L800D95B8: -/* B50758 800D95B8 8E6E00B8 */ lw $t6, 0xb8($s3) -/* B5075C 800D95BC 8E6800BC */ lw $t0, 0xbc($s3) -/* B50760 800D95C0 25CB0001 */ addiu $t3, $t6, 1 -/* B50764 800D95C4 10000599 */ b .L800DAC2C -/* B50768 800D95C8 AE6B00B8 */ sw $t3, 0xb8($s3) -glabel L800D95CC -/* B5076C 800D95CC 8E6800BC */ lw $t0, 0xbc($s3) -/* B50770 800D95D0 11000596 */ beqz $t0, .L800DAC2C -/* B50774 800D95D4 00000000 */ nop -/* B50778 800D95D8 93D90005 */ lbu $t9, 5($fp) -/* B5077C 800D95DC 93C50002 */ lbu $a1, 2($fp) -/* B50780 800D95E0 93C60003 */ lbu $a2, 3($fp) -/* B50784 800D95E4 93C70004 */ lbu $a3, 4($fp) -/* B50788 800D95E8 AFB90010 */ sw $t9, 0x10($sp) -/* B5078C 800D95EC 93CD0006 */ lbu $t5, 6($fp) -/* B50790 800D95F0 3C048015 */ lui $a0, %hi(D_801487F0) # $a0, 0x8015 -/* B50794 800D95F4 248487F0 */ addiu $a0, %lo(D_801487F0) # addiu $a0, $a0, -0x7810 -/* B50798 800D95F8 AFAD0014 */ sw $t5, 0x14($sp) -/* B5079C 800D95FC 93D80007 */ lbu $t8, 7($fp) -/* B507A0 800D9600 0C00084C */ jal osSyncPrintf -/* B507A4 800D9604 AFB80018 */ sw $t8, 0x18($sp) -/* B507A8 800D9608 10000588 */ b .L800DAC2C -/* B507AC 800D960C 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800D9610 -/* B507B0 800D9610 8E6800BC */ lw $t0, 0xbc($s3) -/* B507B4 800D9614 11000004 */ beqz $t0, .L800D9628 -/* B507B8 800D9618 3C048015 */ lui $a0, %hi(D_8014881C) # $a0, 0x8015 -/* B507BC 800D961C 0C00084C */ jal osSyncPrintf -/* B507C0 800D9620 2484881C */ addiu $a0, %lo(D_8014881C) # addiu $a0, $a0, -0x77e4 -/* B507C4 800D9624 8E6800BC */ lw $t0, 0xbc($s3) -.L800D9628: -/* B507C8 800D9628 8E6C00AC */ lw $t4, 0xac($s3) -/* B507CC 800D962C 1180057F */ beqz $t4, .L800DAC2C -/* B507D0 800D9630 00000000 */ nop -/* B507D4 800D9634 11000003 */ beqz $t0, .L800D9644 -/* B507D8 800D9638 3C048015 */ lui $a0, %hi(D_8014882C) # $a0, 0x8015 -/* B507DC 800D963C 0C00084C */ jal osSyncPrintf -/* B507E0 800D9640 2484882C */ addiu $a0, %lo(D_8014882C) # addiu $a0, $a0, -0x77d4 -.L800D9644: -/* B507E4 800D9644 8E6A00B8 */ lw $t2, 0xb8($s3) -/* B507E8 800D9648 8E6800BC */ lw $t0, 0xbc($s3) -/* B507EC 800D964C 254F0001 */ addiu $t7, $t2, 1 -/* B507F0 800D9650 10000576 */ b .L800DAC2C -/* B507F4 800D9654 AE6F00B8 */ sw $t7, 0xb8($s3) -glabel L800D9658 -/* B507F8 800D9658 8E6E00BC */ lw $t6, 0xbc($s3) -/* B507FC 800D965C 11C00003 */ beqz $t6, .L800D966C -/* B50800 800D9660 3C048015 */ lui $a0, %hi(D_80148848) # $a0, 0x8015 -/* B50804 800D9664 0C00084C */ jal osSyncPrintf -/* B50808 800D9668 24848848 */ addiu $a0, %lo(D_80148848) # addiu $a0, $a0, -0x77b8 -.L800D966C: -/* B5080C 800D966C AE6000B0 */ sw $zero, 0xb0($s3) -/* B50810 800D9670 1000056E */ b .L800DAC2C -/* B50814 800D9674 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800D9678 -/* B50818 800D9678 8E6B00BC */ lw $t3, 0xbc($s3) -/* B5081C 800D967C 11600003 */ beqz $t3, .L800D968C -/* B50820 800D9680 3C048015 */ lui $a0, %hi(D_80148858) # $a0, 0x8015 -/* B50824 800D9684 0C00084C */ jal osSyncPrintf -/* B50828 800D9688 24848858 */ addiu $a0, %lo(D_80148858) # addiu $a0, $a0, -0x77a8 -.L800D968C: -/* B5082C 800D968C AE6000AC */ sw $zero, 0xac($s3) -/* B50830 800D9690 10000566 */ b .L800DAC2C -/* B50834 800D9694 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800D9698 -/* B50838 800D9698 8E7900BC */ lw $t9, 0xbc($s3) -/* B5083C 800D969C 13200003 */ beqz $t9, .L800D96AC -/* B50840 800D96A0 3C048015 */ lui $a0, %hi(D_80148868) # $a0, 0x8015 -/* B50844 800D96A4 0C00084C */ jal osSyncPrintf -/* B50848 800D96A8 24848868 */ addiu $a0, %lo(D_80148868) # addiu $a0, $a0, -0x7798 -.L800D96AC: -/* B5084C 800D96AC AE6000B4 */ sw $zero, 0xb4($s3) -/* B50850 800D96B0 1000055E */ b .L800DAC2C -/* B50854 800D96B4 8E6800BC */ lw $t0, 0xbc($s3) -/* B50858 800D96B8 93C50001 */ lbu $a1, 1($fp) -.L800D96BC: -/* B5085C 800D96BC 8E6800BC */ lw $t0, 0xbc($s3) -/* B50860 800D96C0 2CA10009 */ sltiu $at, $a1, 9 -/* B50864 800D96C4 1020006A */ beqz $at, .L800D9870 -/* B50868 800D96C8 00056880 */ sll $t5, $a1, 2 -/* B5086C 800D96CC 3C018015 */ lui $at, %hi(jtbl_80149308) -/* B50870 800D96D0 002D0821 */ addu $at, $at, $t5 -/* B50874 800D96D4 8C2D9308 */ lw $t5, %lo(jtbl_80149308)($at) -/* B50878 800D96D8 01A00008 */ jr $t5 -/* B5087C 800D96DC 00000000 */ nop -glabel L800D96E0 -/* B50880 800D96E0 8FC50004 */ lw $a1, 4($fp) -/* B50884 800D96E4 14A00007 */ bnez $a1, .L800D9704 -/* B50888 800D96E8 00000000 */ nop -/* B5088C 800D96EC 1100054F */ beqz $t0, .L800DAC2C -/* B50890 800D96F0 3C048015 */ lui $a0, %hi(D_80148878) # $a0, 0x8015 -/* B50894 800D96F4 0C00084C */ jal osSyncPrintf -/* B50898 800D96F8 24848878 */ addiu $a0, %lo(D_80148878) # addiu $a0, $a0, -0x7788 -/* B5089C 800D96FC 1000054B */ b .L800DAC2C -/* B508A0 800D9700 8E6800BC */ lw $t0, 0xbc($s3) -.L800D9704: -/* B508A4 800D9704 11000549 */ beqz $t0, .L800DAC2C -/* B508A8 800D9708 3C048015 */ lui $a0, %hi(D_80148884) # $a0, 0x8015 -/* B508AC 800D970C 0C00084C */ jal osSyncPrintf -/* B508B0 800D9710 24848884 */ addiu $a0, %lo(D_80148884) # addiu $a0, $a0, -0x777c -/* B508B4 800D9714 10000545 */ b .L800DAC2C -/* B508B8 800D9718 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800D971C -/* B508BC 800D971C 11000543 */ beqz $t0, .L800DAC2C -/* B508C0 800D9720 3C048015 */ lui $a0, %hi(D_80148898) # $a0, 0x8015 -/* B508C4 800D9724 24848898 */ addiu $a0, %lo(D_80148898) # addiu $a0, $a0, -0x7768 -/* B508C8 800D9728 8FC50004 */ lw $a1, 4($fp) -/* B508CC 800D972C 0C00084C */ jal osSyncPrintf -/* B508D0 800D9730 97C60002 */ lhu $a2, 2($fp) -/* B508D4 800D9734 1000053D */ b .L800DAC2C -/* B508D8 800D9738 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800D973C -/* B508DC 800D973C 1100053B */ beqz $t0, .L800DAC2C -/* B508E0 800D9740 3C048015 */ lui $a0, %hi(D_801488B8) # $a0, 0x8015 -/* B508E4 800D9744 248488B8 */ addiu $a0, %lo(D_801488B8) # addiu $a0, $a0, -0x7748 -/* B508E8 800D9748 8FC50004 */ lw $a1, 4($fp) -/* B508EC 800D974C 0C00084C */ jal osSyncPrintf -/* B508F0 800D9750 97C60002 */ lhu $a2, 2($fp) -/* B508F4 800D9754 10000535 */ b .L800DAC2C -/* B508F8 800D9758 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800D975C -/* B508FC 800D975C 11000533 */ beqz $t0, .L800DAC2C -/* B50900 800D9760 3C048015 */ lui $a0, %hi(D_801488DC) # $a0, 0x8015 -/* B50904 800D9764 248488DC */ addiu $a0, %lo(D_801488DC) # addiu $a0, $a0, -0x7724 -/* B50908 800D9768 8FC50004 */ lw $a1, 4($fp) -/* B5090C 800D976C 0C00084C */ jal osSyncPrintf -/* B50910 800D9770 97C60002 */ lhu $a2, 2($fp) -/* B50914 800D9774 1000052D */ b .L800DAC2C -/* B50918 800D9778 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800D977C -/* B5091C 800D977C 1100052B */ beqz $t0, .L800DAC2C -/* B50920 800D9780 00000000 */ nop -/* B50924 800D9784 97D80002 */ lhu $t8, 2($fp) -/* B50928 800D9788 3C048015 */ lui $a0, %hi(D_80148900) # $a0, 0x8015 -/* B5092C 800D978C 8FC60004 */ lw $a2, 4($fp) -/* B50930 800D9790 24848900 */ addiu $a0, %lo(D_80148900) # addiu $a0, $a0, -0x7700 -/* B50934 800D9794 24050022 */ li $a1, 34 -/* B50938 800D9798 24070022 */ li $a3, 34 -/* B5093C 800D979C 0C00084C */ jal osSyncPrintf -/* B50940 800D97A0 AFB80010 */ sw $t8, 0x10($sp) -/* B50944 800D97A4 10000521 */ b .L800DAC2C -/* B50948 800D97A8 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800D97AC -/* B5094C 800D97AC 1100051F */ beqz $t0, .L800DAC2C -/* B50950 800D97B0 3C048015 */ lui $a0, %hi(D_80148924) # $a0, 0x8015 -/* B50954 800D97B4 24848924 */ addiu $a0, %lo(D_80148924) # addiu $a0, $a0, -0x76dc -/* B50958 800D97B8 8FC50004 */ lw $a1, 4($fp) -/* B5095C 800D97BC 0C00084C */ jal osSyncPrintf -/* B50960 800D97C0 97C60002 */ lhu $a2, 2($fp) -/* B50964 800D97C4 10000519 */ b .L800DAC2C -/* B50968 800D97C8 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800D97CC -/* B5096C 800D97CC 11000517 */ beqz $t0, .L800DAC2C -/* B50970 800D97D0 00000000 */ nop -/* B50974 800D97D4 C7C40004 */ lwc1 $f4, 4($fp) -/* B50978 800D97D8 97CC0002 */ lhu $t4, 2($fp) -/* B5097C 800D97DC 3C048015 */ lui $a0, %hi(D_80148944) # $a0, 0x8015 -/* B50980 800D97E0 460021A1 */ cvt.d.s $f6, $f4 -/* B50984 800D97E4 24848944 */ addiu $a0, %lo(D_80148944) # addiu $a0, $a0, -0x76bc -/* B50988 800D97E8 44073000 */ mfc1 $a3, $f6 -/* B5098C 800D97EC 44063800 */ mfc1 $a2, $f7 -/* B50990 800D97F0 0C00084C */ jal osSyncPrintf -/* B50994 800D97F4 AFAC0010 */ sw $t4, 0x10($sp) -/* B50998 800D97F8 1000050C */ b .L800DAC2C -/* B5099C 800D97FC 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800D9800 -/* B509A0 800D9800 97C20002 */ lhu $v0, 2($fp) -/* B509A4 800D9804 14400007 */ bnez $v0, .L800D9824 -/* B509A8 800D9808 00000000 */ nop -/* B509AC 800D980C 1100000A */ beqz $t0, .L800D9838 -/* B509B0 800D9810 3C048015 */ lui $a0, %hi(D_80148964) # $a0, 0x8015 -/* B509B4 800D9814 0C00084C */ jal osSyncPrintf -/* B509B8 800D9818 24848964 */ addiu $a0, %lo(D_80148964) # addiu $a0, $a0, -0x769c -/* B509BC 800D981C 10000006 */ b .L800D9838 -/* B509C0 800D9820 97C20002 */ lhu $v0, 2($fp) -.L800D9824: -/* B509C4 800D9824 11000004 */ beqz $t0, .L800D9838 -/* B509C8 800D9828 3C048015 */ lui $a0, %hi(D_8014897C) # $a0, 0x8015 -/* B509CC 800D982C 0C00084C */ jal osSyncPrintf -/* B509D0 800D9830 2484897C */ addiu $a0, %lo(D_8014897C) # addiu $a0, $a0, -0x7684 -/* B509D4 800D9834 97C20002 */ lhu $v0, 2($fp) -.L800D9838: -/* B509D8 800D9838 AE6200BC */ sw $v0, 0xbc($s3) -/* B509DC 800D983C 100004FB */ b .L800DAC2C -/* B509E0 800D9840 00404025 */ move $t0, $v0 -glabel L800D9844 -/* B509E4 800D9844 11000003 */ beqz $t0, .L800D9854 -/* B509E8 800D9848 3C048015 */ lui $a0, %hi(D_80148998) # $a0, 0x8015 -/* B509EC 800D984C 0C00084C */ jal osSyncPrintf -/* B509F0 800D9850 24848998 */ addiu $a0, %lo(D_80148998) # addiu $a0, $a0, -0x7668 -.L800D9854: -/* B509F4 800D9854 8FD90004 */ lw $t9, 4($fp) -/* B509F8 800D9858 02602025 */ move $a0, $s3 -/* B509FC 800D985C 97C50002 */ lhu $a1, 2($fp) -/* B50A00 800D9860 0320F809 */ jalr $t9 -/* B50A04 800D9864 00000000 */ nop -/* B50A08 800D9868 100004F0 */ b .L800DAC2C -/* B50A0C 800D986C 8E6800BC */ lw $t0, 0xbc($s3) -.L800D9870: -/* B50A10 800D9870 110004EE */ beqz $t0, .L800DAC2C -/* B50A14 800D9874 3C048015 */ lui $a0, %hi(D_801489BC) # $a0, 0x8015 -/* B50A18 800D9878 248489BC */ addiu $a0, %lo(D_801489BC) # addiu $a0, $a0, -0x7644 -/* B50A1C 800D987C 8FC60004 */ lw $a2, 4($fp) -/* B50A20 800D9880 0C00084C */ jal osSyncPrintf -/* B50A24 800D9884 97C70002 */ lhu $a3, 2($fp) -/* B50A28 800D9888 100004E8 */ b .L800DAC2C -/* B50A2C 800D988C 8E6800BC */ lw $t0, 0xbc($s3) -.L800D9890: -glabel L800D9890 -/* B50A30 800D9890 8E7100C0 */ lw $s1, 0xc0($s3) -.L800D9894: -/* B50A34 800D9894 24010001 */ li $at, 1 -/* B50A38 800D9898 12210007 */ beq $s1, $at, .L800D98B8 -/* B50A3C 800D989C 24010002 */ li $at, 2 -/* B50A40 800D98A0 12210005 */ beq $s1, $at, .L800D98B8 -/* B50A44 800D98A4 24010003 */ li $at, 3 -/* B50A48 800D98A8 52210388 */ beql $s1, $at, .L800DA6CC -/* B50A4C 800D98AC 286100DC */ slti $at, $v1, 0xdc -/* B50A50 800D98B0 100004DE */ b .L800DAC2C -/* B50A54 800D98B4 8E6800BC */ lw $t0, 0xbc($s3) -.L800D98B8: -/* B50A58 800D98B8 28610009 */ slti $at, $v1, 9 -/* B50A5C 800D98BC 1420000A */ bnez $at, .L800D98E8 -/* B50A60 800D98C0 00601025 */ move $v0, $v1 -/* B50A64 800D98C4 244AFF29 */ addiu $t2, $v0, -0xd7 -/* B50A68 800D98C8 2D410006 */ sltiu $at, $t2, 6 -/* B50A6C 800D98CC 10200376 */ beqz $at, .L800DA6A8 -/* B50A70 800D98D0 000A5080 */ sll $t2, $t2, 2 -/* B50A74 800D98D4 3C018015 */ lui $at, %hi(jtbl_8014932C) -/* B50A78 800D98D8 002A0821 */ addu $at, $at, $t2 -/* B50A7C 800D98DC 8C2A932C */ lw $t2, %lo(jtbl_8014932C)($at) -/* B50A80 800D98E0 01400008 */ jr $t2 -/* B50A84 800D98E4 00000000 */ nop -.L800D98E8: -/* B50A88 800D98E8 244FFFFF */ addiu $t7, $v0, -1 -/* B50A8C 800D98EC 2DE10008 */ sltiu $at, $t7, 8 -/* B50A90 800D98F0 1020036D */ beqz $at, .L800DA6A8 -/* B50A94 800D98F4 000F7880 */ sll $t7, $t7, 2 -/* B50A98 800D98F8 3C018015 */ lui $at, %hi(jtbl_80149344) -/* B50A9C 800D98FC 002F0821 */ addu $at, $at, $t7 -/* B50AA0 800D9900 8C2F9344 */ lw $t7, %lo(jtbl_80149344)($at) -/* B50AA4 800D9904 01E00008 */ jr $t7 -/* B50AA8 800D9908 00000000 */ nop -glabel L800D990C -/* B50AAC 800D990C 8FAB0394 */ lw $t3, 0x394($sp) -/* B50AB0 800D9910 27AE02D4 */ addiu $t6, $sp, 0x2d4 -/* B50AB4 800D9914 00008025 */ move $s0, $zero -/* B50AB8 800D9918 8D780000 */ lw $t8, ($t3) -/* B50ABC 800D991C ADD80000 */ sw $t8, ($t6) -/* B50AC0 800D9920 8D6D0004 */ lw $t5, 4($t3) -/* B50AC4 800D9924 ADCD0004 */ sw $t5, 4($t6) -/* B50AC8 800D9928 8E6800BC */ lw $t0, 0xbc($s3) -/* B50ACC 800D992C 11000006 */ beqz $t0, .L800D9948 -/* B50AD0 800D9930 3C048015 */ lui $a0, %hi(D_801489DC) # $a0, 0x8015 -/* B50AD4 800D9934 248489DC */ addiu $a0, %lo(D_801489DC) # addiu $a0, $a0, -0x7624 -/* B50AD8 800D9938 8FA502D8 */ lw $a1, 0x2d8($sp) -/* B50ADC 800D993C 0C00084C */ jal osSyncPrintf -/* B50AE0 800D9940 02803025 */ move $a2, $s4 -/* B50AE4 800D9944 8E6800BC */ lw $t0, 0xbc($s3) -.L800D9948: -/* B50AE8 800D9948 93B202D7 */ lbu $s2, 0x2d7($sp) -/* B50AEC 800D994C 3A520001 */ xori $s2, $s2, 1 -.L800D9950: -/* B50AF0 800D9950 11000012 */ beqz $t0, .L800D999C -/* B50AF4 800D9954 00106080 */ sll $t4, $s0, 2 -/* B50AF8 800D9958 01906023 */ subu $t4, $t4, $s0 -/* B50AFC 800D995C 3C198013 */ lui $t9, %hi(sUCodeDisasMtxFlags) # $t9, 0x8013 -/* B50B00 800D9960 2739DCF8 */ addiu $t9, %lo(sUCodeDisasMtxFlags) # addiu $t9, $t9, -0x2308 -/* B50B04 800D9964 000C6080 */ sll $t4, $t4, 2 -/* B50B08 800D9968 01991021 */ addu $v0, $t4, $t9 -/* B50B0C 800D996C 8C4A0000 */ lw $t2, ($v0) -/* B50B10 800D9970 01527824 */ and $t7, $t2, $s2 -/* B50B14 800D9974 51E00004 */ beql $t7, $zero, .L800D9988 -/* B50B18 800D9978 8C510008 */ lw $s1, 8($v0) -/* B50B1C 800D997C 10000002 */ b .L800D9988 -/* B50B20 800D9980 8C510004 */ lw $s1, 4($v0) -/* B50B24 800D9984 8C510008 */ lw $s1, 8($v0) -.L800D9988: -/* B50B28 800D9988 3C048015 */ lui $a0, %hi(D_801489F8) # $a0, 0x8015 -/* B50B2C 800D998C 248489F8 */ addiu $a0, %lo(D_801489F8) # addiu $a0, $a0, -0x7608 -/* B50B30 800D9990 0C00084C */ jal osSyncPrintf -/* B50B34 800D9994 02202825 */ move $a1, $s1 -/* B50B38 800D9998 8E6800BC */ lw $t0, 0xbc($s3) -.L800D999C: -/* B50B3C 800D999C 26100001 */ addiu $s0, $s0, 1 -/* B50B40 800D99A0 24010003 */ li $at, 3 -/* B50B44 800D99A4 1601FFEA */ bne $s0, $at, .L800D9950 -/* B50B48 800D99A8 00000000 */ nop -/* B50B4C 800D99AC 11000005 */ beqz $t0, .L800D99C4 -/* B50B50 800D99B0 3C048015 */ lui $a0, %hi(D_801489FC) # $a0, 0x8015 -/* B50B54 800D99B4 248489FC */ addiu $a0, %lo(D_801489FC) # addiu $a0, $a0, -0x7604 -/* B50B58 800D99B8 0C00084C */ jal osSyncPrintf -/* B50B5C 800D99BC 8FA502D8 */ lw $a1, 0x2d8($sp) -/* B50B60 800D99C0 8E6800BC */ lw $t0, 0xbc($s3) -.L800D99C4: -/* B50B64 800D99C4 29010002 */ slti $at, $t0, 2 -/* B50B68 800D99C8 14200498 */ bnez $at, .L800DAC2C -/* B50B6C 800D99CC 27A40290 */ addiu $a0, $sp, 0x290 -/* B50B70 800D99D0 0C03F096 */ jal MtxConv_L2F -/* B50B74 800D99D4 02802825 */ move $a1, $s4 -/* B50B78 800D99D8 8E6800BC */ lw $t0, 0xbc($s3) -/* B50B7C 800D99DC 11000004 */ beqz $t0, .L800D99F0 -/* B50B80 800D99E0 3C048015 */ lui $a0, %hi(D_80148A00) # $a0, 0x8015 -/* B50B84 800D99E4 0C00084C */ jal osSyncPrintf -/* B50B88 800D99E8 24848A00 */ addiu $a0, %lo(D_80148A00) # addiu $a0, $a0, -0x7600 -/* B50B8C 800D99EC 8E6800BC */ lw $t0, 0xbc($s3) -.L800D99F0: -/* B50B90 800D99F0 1100048E */ beqz $t0, .L800DAC2C -/* B50B94 800D99F4 00000000 */ nop -/* B50B98 800D99F8 968E0028 */ lhu $t6, 0x28($s4) -/* B50B9C 800D99FC 96850000 */ lhu $a1, ($s4) -/* B50BA0 800D9A00 96860020 */ lhu $a2, 0x20($s4) -/* B50BA4 800D9A04 96870008 */ lhu $a3, 8($s4) -/* B50BA8 800D9A08 AFAE0010 */ sw $t6, 0x10($sp) -/* B50BAC 800D9A0C 968B0010 */ lhu $t3, 0x10($s4) -/* B50BB0 800D9A10 C7A80290 */ lwc1 $f8, 0x290($sp) -/* B50BB4 800D9A14 C7B002A0 */ lwc1 $f16, 0x2a0($sp) -/* B50BB8 800D9A18 AFAB0014 */ sw $t3, 0x14($sp) -/* B50BBC 800D9A1C 968D0030 */ lhu $t5, 0x30($s4) -/* B50BC0 800D9A20 460042A1 */ cvt.d.s $f10, $f8 -/* B50BC4 800D9A24 C7A802C0 */ lwc1 $f8, 0x2c0($sp) -/* B50BC8 800D9A28 AFAD0018 */ sw $t5, 0x18($sp) -/* B50BCC 800D9A2C 96980018 */ lhu $t8, 0x18($s4) -/* B50BD0 800D9A30 C7A402B0 */ lwc1 $f4, 0x2b0($sp) -/* B50BD4 800D9A34 460084A1 */ cvt.d.s $f18, $f16 -/* B50BD8 800D9A38 AFB8001C */ sw $t8, 0x1c($sp) -/* B50BDC 800D9A3C 968C0038 */ lhu $t4, 0x38($s4) -/* B50BE0 800D9A40 F7AA0028 */ sdc1 $f10, 0x28($sp) -/* B50BE4 800D9A44 460042A1 */ cvt.d.s $f10, $f8 -/* B50BE8 800D9A48 460021A1 */ cvt.d.s $f6, $f4 -/* B50BEC 800D9A4C F7AA0040 */ sdc1 $f10, 0x40($sp) -/* B50BF0 800D9A50 F7A60038 */ sdc1 $f6, 0x38($sp) -/* B50BF4 800D9A54 F7B20030 */ sdc1 $f18, 0x30($sp) -/* B50BF8 800D9A58 AFAC0020 */ sw $t4, 0x20($sp) -/* B50BFC 800D9A5C 96990002 */ lhu $t9, 2($s4) -/* B50C00 800D9A60 C7B00294 */ lwc1 $f16, 0x294($sp) -/* B50C04 800D9A64 C7A402A4 */ lwc1 $f4, 0x2a4($sp) -/* B50C08 800D9A68 AFB90048 */ sw $t9, 0x48($sp) -/* B50C0C 800D9A6C 968A0022 */ lhu $t2, 0x22($s4) -/* B50C10 800D9A70 460084A1 */ cvt.d.s $f18, $f16 -/* B50C14 800D9A74 C7B002C4 */ lwc1 $f16, 0x2c4($sp) -/* B50C18 800D9A78 AFAA004C */ sw $t2, 0x4c($sp) -/* B50C1C 800D9A7C 968F000A */ lhu $t7, 0xa($s4) -/* B50C20 800D9A80 C7A802B4 */ lwc1 $f8, 0x2b4($sp) -/* B50C24 800D9A84 460021A1 */ cvt.d.s $f6, $f4 -/* B50C28 800D9A88 AFAF0050 */ sw $t7, 0x50($sp) -/* B50C2C 800D9A8C 968E002A */ lhu $t6, 0x2a($s4) -/* B50C30 800D9A90 460042A1 */ cvt.d.s $f10, $f8 -/* B50C34 800D9A94 C7A40298 */ lwc1 $f4, 0x298($sp) -/* B50C38 800D9A98 AFAE0054 */ sw $t6, 0x54($sp) -/* B50C3C 800D9A9C 968B0012 */ lhu $t3, 0x12($s4) -/* B50C40 800D9AA0 C7A802A8 */ lwc1 $f8, 0x2a8($sp) -/* B50C44 800D9AA4 3C048015 */ lui $a0, %hi(D_80148A04) # $a0, 0x8015 -/* B50C48 800D9AA8 AFAB0058 */ sw $t3, 0x58($sp) -/* B50C4C 800D9AAC 968D0032 */ lhu $t5, 0x32($s4) -/* B50C50 800D9AB0 24848A04 */ addiu $a0, %lo(D_80148A04) # addiu $a0, $a0, -0x75fc -/* B50C54 800D9AB4 AFAD005C */ sw $t5, 0x5c($sp) -/* B50C58 800D9AB8 9698001A */ lhu $t8, 0x1a($s4) -/* B50C5C 800D9ABC AFB80060 */ sw $t8, 0x60($sp) -/* B50C60 800D9AC0 968C003A */ lhu $t4, 0x3a($s4) -/* B50C64 800D9AC4 F7B20068 */ sdc1 $f18, 0x68($sp) -/* B50C68 800D9AC8 460084A1 */ cvt.d.s $f18, $f16 -/* B50C6C 800D9ACC F7AA0078 */ sdc1 $f10, 0x78($sp) -/* B50C70 800D9AD0 F7B20080 */ sdc1 $f18, 0x80($sp) -/* B50C74 800D9AD4 F7A60070 */ sdc1 $f6, 0x70($sp) -/* B50C78 800D9AD8 AFAC0064 */ sw $t4, 0x64($sp) -/* B50C7C 800D9ADC 96990004 */ lhu $t9, 4($s4) -/* B50C80 800D9AE0 460021A1 */ cvt.d.s $f6, $f4 -/* B50C84 800D9AE4 C7A402C8 */ lwc1 $f4, 0x2c8($sp) -/* B50C88 800D9AE8 AFB90088 */ sw $t9, 0x88($sp) -/* B50C8C 800D9AEC 968A0024 */ lhu $t2, 0x24($s4) -/* B50C90 800D9AF0 C7B002B8 */ lwc1 $f16, 0x2b8($sp) -/* B50C94 800D9AF4 460042A1 */ cvt.d.s $f10, $f8 -/* B50C98 800D9AF8 AFAA008C */ sw $t2, 0x8c($sp) -/* B50C9C 800D9AFC 968F000C */ lhu $t7, 0xc($s4) -/* B50CA0 800D9B00 460084A1 */ cvt.d.s $f18, $f16 -/* B50CA4 800D9B04 C7A8029C */ lwc1 $f8, 0x29c($sp) -/* B50CA8 800D9B08 AFAF0090 */ sw $t7, 0x90($sp) -/* B50CAC 800D9B0C 968E002C */ lhu $t6, 0x2c($s4) -/* B50CB0 800D9B10 C7B002AC */ lwc1 $f16, 0x2ac($sp) -/* B50CB4 800D9B14 AFAE0094 */ sw $t6, 0x94($sp) -/* B50CB8 800D9B18 968B0014 */ lhu $t3, 0x14($s4) -/* B50CBC 800D9B1C AFAB0098 */ sw $t3, 0x98($sp) -/* B50CC0 800D9B20 968D0034 */ lhu $t5, 0x34($s4) -/* B50CC4 800D9B24 AFAD009C */ sw $t5, 0x9c($sp) -/* B50CC8 800D9B28 9698001C */ lhu $t8, 0x1c($s4) -/* B50CCC 800D9B2C AFB800A0 */ sw $t8, 0xa0($sp) -/* B50CD0 800D9B30 968C003C */ lhu $t4, 0x3c($s4) -/* B50CD4 800D9B34 F7A600A8 */ sdc1 $f6, 0xa8($sp) -/* B50CD8 800D9B38 460021A1 */ cvt.d.s $f6, $f4 -/* B50CDC 800D9B3C F7B200B8 */ sdc1 $f18, 0xb8($sp) -/* B50CE0 800D9B40 F7A600C0 */ sdc1 $f6, 0xc0($sp) -/* B50CE4 800D9B44 F7AA00B0 */ sdc1 $f10, 0xb0($sp) -/* B50CE8 800D9B48 AFAC00A4 */ sw $t4, 0xa4($sp) -/* B50CEC 800D9B4C 96990006 */ lhu $t9, 6($s4) -/* B50CF0 800D9B50 460042A1 */ cvt.d.s $f10, $f8 -/* B50CF4 800D9B54 C7A802CC */ lwc1 $f8, 0x2cc($sp) -/* B50CF8 800D9B58 AFB900C8 */ sw $t9, 0xc8($sp) -/* B50CFC 800D9B5C 968A0026 */ lhu $t2, 0x26($s4) -/* B50D00 800D9B60 C7A402BC */ lwc1 $f4, 0x2bc($sp) -/* B50D04 800D9B64 460084A1 */ cvt.d.s $f18, $f16 -/* B50D08 800D9B68 AFAA00CC */ sw $t2, 0xcc($sp) -/* B50D0C 800D9B6C 968F000E */ lhu $t7, 0xe($s4) -/* B50D10 800D9B70 460021A1 */ cvt.d.s $f6, $f4 -/* B50D14 800D9B74 AFAF00D0 */ sw $t7, 0xd0($sp) -/* B50D18 800D9B78 968E002E */ lhu $t6, 0x2e($s4) -/* B50D1C 800D9B7C AFAE00D4 */ sw $t6, 0xd4($sp) -/* B50D20 800D9B80 968B0016 */ lhu $t3, 0x16($s4) -/* B50D24 800D9B84 AFAB00D8 */ sw $t3, 0xd8($sp) -/* B50D28 800D9B88 968D0036 */ lhu $t5, 0x36($s4) -/* B50D2C 800D9B8C AFAD00DC */ sw $t5, 0xdc($sp) -/* B50D30 800D9B90 9698001E */ lhu $t8, 0x1e($s4) -/* B50D34 800D9B94 AFB800E0 */ sw $t8, 0xe0($sp) -/* B50D38 800D9B98 968C003E */ lhu $t4, 0x3e($s4) -/* B50D3C 800D9B9C F7AA00E8 */ sdc1 $f10, 0xe8($sp) -/* B50D40 800D9BA0 460042A1 */ cvt.d.s $f10, $f8 -/* B50D44 800D9BA4 F7A600F8 */ sdc1 $f6, 0xf8($sp) -/* B50D48 800D9BA8 F7AA0100 */ sdc1 $f10, 0x100($sp) -/* B50D4C 800D9BAC F7B200F0 */ sdc1 $f18, 0xf0($sp) -/* B50D50 800D9BB0 0C00084C */ jal osSyncPrintf -/* B50D54 800D9BB4 AFAC00E4 */ sw $t4, 0xe4($sp) -/* B50D58 800D9BB8 8E6800BC */ lw $t0, 0xbc($s3) -/* B50D5C 800D9BBC 1000041B */ b .L800DAC2C -/* B50D60 800D9BC0 00000000 */ nop -glabel L800D9BC4 -/* B50D64 800D9BC4 8FD00000 */ lw $s0, ($fp) -/* B50D68 800D9BC8 93D90003 */ lbu $t9, 3($fp) -/* B50D6C 800D9BCC 8E6800BC */ lw $t0, 0xbc($s3) -/* B50D70 800D9BD0 00108302 */ srl $s0, $s0, 0xc -/* B50D74 800D9BD4 321000FF */ andi $s0, $s0, 0xff -/* B50D78 800D9BD8 00195043 */ sra $t2, $t9, 1 -/* B50D7C 800D9BDC 11000009 */ beqz $t0, .L800D9C04 -/* B50D80 800D9BE0 01508823 */ subu $s1, $t2, $s0 -/* B50D84 800D9BE4 3C048015 */ lui $a0, %hi(D_80148B38) # $a0, 0x8015 -/* B50D88 800D9BE8 8FC50004 */ lw $a1, 4($fp) -/* B50D8C 800D9BEC AFB10010 */ sw $s1, 0x10($sp) -/* B50D90 800D9BF0 24848B38 */ addiu $a0, %lo(D_80148B38) # addiu $a0, $a0, -0x74c8 -/* B50D94 800D9BF4 02803025 */ move $a2, $s4 -/* B50D98 800D9BF8 0C00084C */ jal osSyncPrintf -/* B50D9C 800D9BFC 02003825 */ move $a3, $s0 -/* B50DA0 800D9C00 8E6800BC */ lw $t0, 0xbc($s3) -.L800D9C04: -/* B50DA4 800D9C04 8E6F0090 */ lw $t7, 0x90($s3) -/* B50DA8 800D9C08 8E6B0094 */ lw $t3, 0x94($s3) -/* B50DAC 800D9C0C 29010002 */ slti $at, $t0, 2 -/* B50DB0 800D9C10 01F07021 */ addu $t6, $t7, $s0 -/* B50DB4 800D9C14 256D0001 */ addiu $t5, $t3, 1 -/* B50DB8 800D9C18 AE6E0090 */ sw $t6, 0x90($s3) -/* B50DBC 800D9C1C 14200403 */ bnez $at, .L800DAC2C -/* B50DC0 800D9C20 AE6D0094 */ sw $t5, 0x94($s3) -/* B50DC4 800D9C24 02602025 */ move $a0, $s3 -/* B50DC8 800D9C28 02802825 */ move $a1, $s4 -/* B50DCC 800D9C2C 02003025 */ move $a2, $s0 -/* B50DD0 800D9C30 0C0360A8 */ jal UCodeDisas_PrintVertices -/* B50DD4 800D9C34 02203825 */ move $a3, $s1 -/* B50DD8 800D9C38 8E6800BC */ lw $t0, 0xbc($s3) -/* B50DDC 800D9C3C 100003FB */ b .L800DAC2C -/* B50DE0 800D9C40 00000000 */ nop -glabel L800D9C44 -/* B50DE4 800D9C44 8E7800BC */ lw $t8, 0xbc($s3) -/* B50DE8 800D9C48 53000022 */ beql $t8, $zero, .L800D9CD4 -/* B50DEC 800D9C4C 8E6C0090 */ lw $t4, 0x90($s3) -/* B50DF0 800D9C50 97C20002 */ lhu $v0, 2($fp) -/* B50DF4 800D9C54 24010010 */ li $at, 16 -/* B50DF8 800D9C58 14410003 */ bne $v0, $at, .L800D9C68 -/* B50DFC 800D9C5C 3C118015 */ lui $s1, %hi(D_80148B7C) # $s1, 0x8015 -/* B50E00 800D9C60 10000015 */ b .L800D9CB8 -/* B50E04 800D9C64 26318B7C */ addiu $s1, %lo(D_80148B7C) # addiu $s1, $s1, -0x7484 -.L800D9C68: -/* B50E08 800D9C68 24010014 */ li $at, 20 -/* B50E0C 800D9C6C 14410003 */ bne $v0, $at, .L800D9C7C -/* B50E10 800D9C70 3C108015 */ lui $s0, %hi(D_80148B90) # $s0, 0x8015 -/* B50E14 800D9C74 1000000F */ b .L800D9CB4 -/* B50E18 800D9C78 26108B90 */ addiu $s0, %lo(D_80148B90) # addiu $s0, $s0, -0x7470 -.L800D9C7C: -/* B50E1C 800D9C7C 24010018 */ li $at, 24 -/* B50E20 800D9C80 14410003 */ bne $v0, $at, .L800D9C90 -/* B50E24 800D9C84 3C118015 */ lui $s1, %hi(D_80148BA0) # $s1, 0x8015 -/* B50E28 800D9C88 10000009 */ b .L800D9CB0 -/* B50E2C 800D9C8C 26318BA0 */ addiu $s1, %lo(D_80148BA0) # addiu $s1, $s1, -0x7460 -.L800D9C90: -/* B50E30 800D9C90 2401001C */ li $at, 28 -/* B50E34 800D9C94 14410003 */ bne $v0, $at, .L800D9CA4 -/* B50E38 800D9C98 3C158015 */ lui $s5, %hi(D_80148BB8) # $s5, 0x8015 -/* B50E3C 800D9C9C 10000003 */ b .L800D9CAC -/* B50E40 800D9CA0 26B58BB8 */ addiu $s5, %lo(D_80148BB8) # addiu $s5, $s5, -0x7448 -.L800D9CA4: -/* B50E44 800D9CA4 3C158015 */ lui $s5, %hi(D_80148BCC) # $s5, 0x8015 -/* B50E48 800D9CA8 26B58BCC */ addiu $s5, %lo(D_80148BCC) # addiu $s5, $s5, -0x7434 -.L800D9CAC: -/* B50E4C 800D9CAC 02A08825 */ move $s1, $s5 -.L800D9CB0: -/* B50E50 800D9CB0 02208025 */ move $s0, $s1 -.L800D9CB4: -/* B50E54 800D9CB4 02008825 */ move $s1, $s0 -.L800D9CB8: -/* B50E58 800D9CB8 3C048015 */ lui $a0, %hi(D_80148B5C) # $a0, 0x8015 -/* B50E5C 800D9CBC 24848B5C */ addiu $a0, %lo(D_80148B5C) # addiu $a0, $a0, -0x74a4 -/* B50E60 800D9CC0 93C50001 */ lbu $a1, 1($fp) -/* B50E64 800D9CC4 02203025 */ move $a2, $s1 -/* B50E68 800D9CC8 0C00084C */ jal osSyncPrintf -/* B50E6C 800D9CCC 8FC70004 */ lw $a3, 4($fp) -/* B50E70 800D9CD0 8E6C0090 */ lw $t4, 0x90($s3) -.L800D9CD4: -/* B50E74 800D9CD4 93D90001 */ lbu $t9, 1($fp) -/* B50E78 800D9CD8 8E6F0094 */ lw $t7, 0x94($s3) -/* B50E7C 800D9CDC 8E6800BC */ lw $t0, 0xbc($s3) -/* B50E80 800D9CE0 01995021 */ addu $t2, $t4, $t9 -/* B50E84 800D9CE4 25EE0001 */ addiu $t6, $t7, 1 -/* B50E88 800D9CE8 AE6A0090 */ sw $t2, 0x90($s3) -/* B50E8C 800D9CEC 100003CF */ b .L800DAC2C -/* B50E90 800D9CF0 AE6E0094 */ sw $t6, 0x94($s3) -glabel L800D9CF4 -/* B50E94 800D9CF4 8FAD0394 */ lw $t5, 0x394($sp) -/* B50E98 800D9CF8 27AB027C */ addiu $t3, $sp, 0x27c -/* B50E9C 800D9CFC 8DAC0000 */ lw $t4, ($t5) -/* B50EA0 800D9D00 AD6C0000 */ sw $t4, ($t3) -/* B50EA4 800D9D04 8DB80004 */ lw $t8, 4($t5) -/* B50EA8 800D9D08 AD780004 */ sw $t8, 4($t3) -/* B50EAC 800D9D0C 8BB90280 */ lwl $t9, 0x280($sp) -/* B50EB0 800D9D10 9BB90283 */ lwr $t9, 0x283($sp) -/* B50EB4 800D9D14 AFB90278 */ sw $t9, 0x278($sp) -/* B50EB8 800D9D18 8E6A00BC */ lw $t2, 0xbc($s3) -/* B50EBC 800D9D1C 51400015 */ beql $t2, $zero, .L800D9D74 -/* B50EC0 800D9D20 8E6F0098 */ lw $t7, 0x98($s3) -/* B50EC4 800D9D24 93A50279 */ lbu $a1, 0x279($sp) -/* B50EC8 800D9D28 93A6027A */ lbu $a2, 0x27a($sp) -/* B50ECC 800D9D2C 93A7027B */ lbu $a3, 0x27b($sp) -/* B50ED0 800D9D30 3C048015 */ lui $a0, %hi(D_80148BE0) # $a0, 0x8015 -/* B50ED4 800D9D34 24848BE0 */ addiu $a0, %lo(D_80148BE0) # addiu $a0, $a0, -0x7420 -/* B50ED8 800D9D38 04A10002 */ bgez $a1, .L800D9D44 -/* B50EDC 800D9D3C 00A00821 */ addu $at, $a1, $zero -/* B50EE0 800D9D40 24A10001 */ addiu $at, $a1, 1 -.L800D9D44: -/* B50EE4 800D9D44 00012843 */ sra $a1, $at, 1 -/* B50EE8 800D9D48 04C10002 */ bgez $a2, .L800D9D54 -/* B50EEC 800D9D4C 00C00821 */ addu $at, $a2, $zero -/* B50EF0 800D9D50 24C10001 */ addiu $at, $a2, 1 -.L800D9D54: -/* B50EF4 800D9D54 00013043 */ sra $a2, $at, 1 -/* B50EF8 800D9D58 04E10002 */ bgez $a3, .L800D9D64 -/* B50EFC 800D9D5C 00E00821 */ addu $at, $a3, $zero -/* B50F00 800D9D60 24E10001 */ addiu $at, $a3, 1 -.L800D9D64: -/* B50F04 800D9D64 00013843 */ sra $a3, $at, 1 -/* B50F08 800D9D68 0C00084C */ jal osSyncPrintf -/* B50F0C 800D9D6C 00000000 */ nop -/* B50F10 800D9D70 8E6F0098 */ lw $t7, 0x98($s3) -.L800D9D74: -/* B50F14 800D9D74 240B0001 */ li $t3, 1 -/* B50F18 800D9D78 AE6B00AC */ sw $t3, 0xac($s3) -/* B50F1C 800D9D7C 25EE0001 */ addiu $t6, $t7, 1 -/* B50F20 800D9D80 AE6E0098 */ sw $t6, 0x98($s3) -/* B50F24 800D9D84 100003A9 */ b .L800DAC2C -/* B50F28 800D9D88 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800D9D8C -/* B50F2C 800D9D8C 93C70003 */ lbu $a3, 3($fp) -/* B50F30 800D9D90 8E6800BC */ lw $t0, 0xbc($s3) -/* B50F34 800D9D94 14E00009 */ bnez $a3, .L800D9DBC -/* B50F38 800D9D98 00000000 */ nop -/* B50F3C 800D9D9C 1100000D */ beqz $t0, .L800D9DD4 -/* B50F40 800D9DA0 3C048015 */ lui $a0, %hi(D_80148BFC) # $a0, 0x8015 -/* B50F44 800D9DA4 24848BFC */ addiu $a0, %lo(D_80148BFC) # addiu $a0, $a0, -0x7404 -/* B50F48 800D9DA8 93C50001 */ lbu $a1, 1($fp) -/* B50F4C 800D9DAC 0C00084C */ jal osSyncPrintf -/* B50F50 800D9DB0 93C60002 */ lbu $a2, 2($fp) -/* B50F54 800D9DB4 10000008 */ b .L800D9DD8 -/* B50F58 800D9DB8 8E6D00A4 */ lw $t5, 0xa4($s3) -.L800D9DBC: -/* B50F5C 800D9DBC 11000005 */ beqz $t0, .L800D9DD4 -/* B50F60 800D9DC0 3C048015 */ lui $a0, %hi(D_80148C10) # $a0, 0x8015 -/* B50F64 800D9DC4 24848C10 */ addiu $a0, %lo(D_80148C10) # addiu $a0, $a0, -0x73f0 -/* B50F68 800D9DC8 93C50001 */ lbu $a1, 1($fp) -/* B50F6C 800D9DCC 0C00084C */ jal osSyncPrintf -/* B50F70 800D9DD0 93C60002 */ lbu $a2, 2($fp) -.L800D9DD4: -/* B50F74 800D9DD4 8E6D00A4 */ lw $t5, 0xa4($s3) -.L800D9DD8: -/* B50F78 800D9DD8 240C0001 */ li $t4, 1 -/* B50F7C 800D9DDC AE6C00AC */ sw $t4, 0xac($s3) -/* B50F80 800D9DE0 25B80001 */ addiu $t8, $t5, 1 -/* B50F84 800D9DE4 AE7800A4 */ sw $t8, 0xa4($s3) -/* B50F88 800D9DE8 10000390 */ b .L800DAC2C -/* B50F8C 800D9DEC 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800D9DF0 -/* B50F90 800D9DF0 8FAA0394 */ lw $t2, 0x394($sp) -/* B50F94 800D9DF4 27B90270 */ addiu $t9, $sp, 0x270 -/* B50F98 800D9DF8 894E0000 */ lwl $t6, ($t2) -/* B50F9C 800D9DFC 994E0003 */ lwr $t6, 3($t2) -/* B50FA0 800D9E00 AF2E0000 */ sw $t6, ($t9) -/* B50FA4 800D9E04 894F0004 */ lwl $t7, 4($t2) -/* B50FA8 800D9E08 994F0007 */ lwr $t7, 7($t2) -/* B50FAC 800D9E0C AF2F0004 */ sw $t7, 4($t9) -/* B50FB0 800D9E10 93A50271 */ lbu $a1, 0x271($sp) -/* B50FB4 800D9E14 93A60272 */ lbu $a2, 0x272($sp) -/* B50FB8 800D9E18 93A70273 */ lbu $a3, 0x273($sp) -/* B50FBC 800D9E1C 04A10002 */ bgez $a1, .L800D9E28 -/* B50FC0 800D9E20 00A00821 */ addu $at, $a1, $zero -/* B50FC4 800D9E24 24A10001 */ addiu $at, $a1, 1 -.L800D9E28: -/* B50FC8 800D9E28 00012843 */ sra $a1, $at, 1 -/* B50FCC 800D9E2C 04C10002 */ bgez $a2, .L800D9E38 -/* B50FD0 800D9E30 00C00821 */ addu $at, $a2, $zero -/* B50FD4 800D9E34 24C10001 */ addiu $at, $a2, 1 -.L800D9E38: -/* B50FD8 800D9E38 00013043 */ sra $a2, $at, 1 -/* B50FDC 800D9E3C 93A20275 */ lbu $v0, 0x275($sp) -/* B50FE0 800D9E40 04E10002 */ bgez $a3, .L800D9E4C -/* B50FE4 800D9E44 00E00821 */ addu $at, $a3, $zero -/* B50FE8 800D9E48 24E10001 */ addiu $at, $a3, 1 -.L800D9E4C: -/* B50FEC 800D9E4C 00013843 */ sra $a3, $at, 1 -/* B50FF0 800D9E50 93A30276 */ lbu $v1, 0x276($sp) -/* B50FF4 800D9E54 04410002 */ bgez $v0, .L800D9E60 -/* B50FF8 800D9E58 00400821 */ addu $at, $v0, $zero -/* B50FFC 800D9E5C 24410001 */ addiu $at, $v0, 1 -.L800D9E60: -/* B51000 800D9E60 00011043 */ sra $v0, $at, 1 -/* B51004 800D9E64 04610002 */ bgez $v1, .L800D9E70 -/* B51008 800D9E68 00600821 */ addu $at, $v1, $zero -/* B5100C 800D9E6C 24610001 */ addiu $at, $v1, 1 -.L800D9E70: -/* B51010 800D9E70 00011843 */ sra $v1, $at, 1 -/* B51014 800D9E74 93A80277 */ lbu $t0, 0x277($sp) -/* B51018 800D9E78 8E6B00BC */ lw $t3, 0xbc($s3) -/* B5101C 800D9E7C 05010002 */ bgez $t0, .L800D9E88 -/* B51020 800D9E80 01000821 */ addu $at, $t0, $zero -/* B51024 800D9E84 25010001 */ addiu $at, $t0, 1 -.L800D9E88: -/* B51028 800D9E88 00014043 */ sra $t0, $at, 1 -/* B5102C 800D9E8C 11600006 */ beqz $t3, .L800D9EA8 -/* B51030 800D9E90 3C048015 */ lui $a0, %hi(D_80148C2C) # $a0, 0x8015 -/* B51034 800D9E94 24848C2C */ addiu $a0, %lo(D_80148C2C) # addiu $a0, $a0, -0x73d4 -/* B51038 800D9E98 AFA20010 */ sw $v0, 0x10($sp) -/* B5103C 800D9E9C AFA30014 */ sw $v1, 0x14($sp) -/* B51040 800D9EA0 0C00084C */ jal osSyncPrintf -/* B51044 800D9EA4 AFA80018 */ sw $t0, 0x18($sp) -.L800D9EA8: -/* B51048 800D9EA8 8E6D009C */ lw $t5, 0x9c($s3) -/* B5104C 800D9EAC 240C0001 */ li $t4, 1 -/* B51050 800D9EB0 AE6C00AC */ sw $t4, 0xac($s3) -/* B51054 800D9EB4 25B80001 */ addiu $t8, $t5, 1 -/* B51058 800D9EB8 AE78009C */ sw $t8, 0x9c($s3) -/* B5105C 800D9EBC 1000035B */ b .L800DAC2C -/* B51060 800D9EC0 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800D9EC4 -/* B51064 800D9EC4 8FAA0394 */ lw $t2, 0x394($sp) -/* B51068 800D9EC8 27B90250 */ addiu $t9, $sp, 0x250 -/* B5106C 800D9ECC 894E0000 */ lwl $t6, ($t2) -/* B51070 800D9ED0 994E0003 */ lwr $t6, 3($t2) -/* B51074 800D9ED4 AF2E0000 */ sw $t6, ($t9) -/* B51078 800D9ED8 894F0004 */ lwl $t7, 4($t2) -/* B5107C 800D9EDC 994F0007 */ lwr $t7, 7($t2) -/* B51080 800D9EE0 AF2F0004 */ sw $t7, 4($t9) -/* B51084 800D9EE4 93A50251 */ lbu $a1, 0x251($sp) -/* B51088 800D9EE8 93A60252 */ lbu $a2, 0x252($sp) -/* B5108C 800D9EEC 93A70253 */ lbu $a3, 0x253($sp) -/* B51090 800D9EF0 04A10002 */ bgez $a1, .L800D9EFC -/* B51094 800D9EF4 00A00821 */ addu $at, $a1, $zero -/* B51098 800D9EF8 24A10001 */ addiu $at, $a1, 1 -.L800D9EFC: -/* B5109C 800D9EFC 00012843 */ sra $a1, $at, 1 -/* B510A0 800D9F00 04C10002 */ bgez $a2, .L800D9F0C -/* B510A4 800D9F04 00C00821 */ addu $at, $a2, $zero -/* B510A8 800D9F08 24C10001 */ addiu $at, $a2, 1 -.L800D9F0C: -/* B510AC 800D9F0C 00013043 */ sra $a2, $at, 1 -/* B510B0 800D9F10 04E10002 */ bgez $a3, .L800D9F1C -/* B510B4 800D9F14 00E00821 */ addu $at, $a3, $zero -/* B510B8 800D9F18 24E10001 */ addiu $at, $a3, 1 -.L800D9F1C: -/* B510BC 800D9F1C 00013843 */ sra $a3, $at, 1 -/* B510C0 800D9F20 93A20257 */ lbu $v0, 0x257($sp) -/* B510C4 800D9F24 8E6B00BC */ lw $t3, 0xbc($s3) -/* B510C8 800D9F28 04410002 */ bgez $v0, .L800D9F34 -/* B510CC 800D9F2C 00400821 */ addu $at, $v0, $zero -/* B510D0 800D9F30 24410001 */ addiu $at, $v0, 1 -.L800D9F34: -/* B510D4 800D9F34 00011043 */ sra $v0, $at, 1 -/* B510D8 800D9F38 11600004 */ beqz $t3, .L800D9F4C -/* B510DC 800D9F3C 3C048015 */ lui $a0, %hi(D_80148C5C) # $a0, 0x8015 -/* B510E0 800D9F40 24848C5C */ addiu $a0, %lo(D_80148C5C) # addiu $a0, $a0, -0x73a4 -/* B510E4 800D9F44 0C00084C */ jal osSyncPrintf -/* B510E8 800D9F48 AFA20010 */ sw $v0, 0x10($sp) -.L800D9F4C: -/* B510EC 800D9F4C 8E6D00A0 */ lw $t5, 0xa0($s3) -/* B510F0 800D9F50 240C0001 */ li $t4, 1 -/* B510F4 800D9F54 AE6C00AC */ sw $t4, 0xac($s3) -/* B510F8 800D9F58 25B80001 */ addiu $t8, $t5, 1 -/* B510FC 800D9F5C AE7800A0 */ sw $t8, 0xa0($s3) -/* B51100 800D9F60 10000332 */ b .L800DAC2C -/* B51104 800D9F64 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800D9F68 -/* B51108 800D9F68 8E6800BC */ lw $t0, 0xbc($s3) -/* B5110C 800D9F6C 1100032F */ beqz $t0, .L800DAC2C -/* B51110 800D9F70 00000000 */ nop -/* B51114 800D9F74 97C50002 */ lhu $a1, 2($fp) -/* B51118 800D9F78 97C60006 */ lhu $a2, 6($fp) -/* B5111C 800D9F7C 3C048015 */ lui $a0, %hi(D_80148C80) # $a0, 0x8015 -/* B51120 800D9F80 24848C80 */ addiu $a0, %lo(D_80148C80) # addiu $a0, $a0, -0x7380 -/* B51124 800D9F84 04A10002 */ bgez $a1, .L800D9F90 -/* B51128 800D9F88 00A00821 */ addu $at, $a1, $zero -/* B5112C 800D9F8C 24A10001 */ addiu $at, $a1, 1 -.L800D9F90: -/* B51130 800D9F90 00012843 */ sra $a1, $at, 1 -/* B51134 800D9F94 04C10002 */ bgez $a2, .L800D9FA0 -/* B51138 800D9F98 00C00821 */ addu $at, $a2, $zero -/* B5113C 800D9F9C 24C10001 */ addiu $at, $a2, 1 -.L800D9FA0: -/* B51140 800D9FA0 00013043 */ sra $a2, $at, 1 -/* B51144 800D9FA4 0C00084C */ jal osSyncPrintf -/* B51148 800D9FA8 00000000 */ nop -/* B5114C 800D9FAC 1000031F */ b .L800DAC2C -/* B51150 800D9FB0 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800D9FB4 -/* B51154 800D9FB4 02602025 */ move $a0, $s3 -/* B51158 800D9FB8 0C035F34 */ jal UCodeDisas_TranslateAddr -/* B5115C 800D9FBC 8FA50384 */ lw $a1, 0x384($sp) -/* B51160 800D9FC0 8E6800BC */ lw $t0, 0xbc($s3) -/* B51164 800D9FC4 0040A025 */ move $s4, $v0 -/* B51168 800D9FC8 5100000D */ beql $t0, $zero, .L800DA000 -/* B5116C 800D9FCC 268AFFF8 */ addiu $t2, $s4, -8 -/* B51170 800D9FD0 8FC70000 */ lw $a3, ($fp) -/* B51174 800D9FD4 8FD90004 */ lw $t9, 4($fp) -/* B51178 800D9FD8 3C048015 */ lui $a0, %hi(D_80148CA0) # $a0, 0x8015 -/* B5117C 800D9FDC 30E70FFF */ andi $a3, $a3, 0xfff -/* B51180 800D9FE0 00073842 */ srl $a3, $a3, 1 -/* B51184 800D9FE4 24848CA0 */ addiu $a0, %lo(D_80148CA0) # addiu $a0, $a0, -0x7360 -/* B51188 800D9FE8 8FA50384 */ lw $a1, 0x384($sp) -/* B5118C 800D9FEC 00403025 */ move $a2, $v0 -/* B51190 800D9FF0 0C00084C */ jal osSyncPrintf -/* B51194 800D9FF4 AFB90010 */ sw $t9, 0x10($sp) -/* B51198 800D9FF8 8E6800BC */ lw $t0, 0xbc($s3) -/* B5119C 800D9FFC 268AFFF8 */ addiu $t2, $s4, -8 -.L800DA000: -/* B511A0 800DA000 1000030A */ b .L800DAC2C -/* B511A4 800DA004 AFAA0394 */ sw $t2, 0x394($sp) -glabel L800DA008 -/* B511A8 800DA008 8FAE0394 */ lw $t6, 0x394($sp) -/* B511AC 800DA00C 27AF0238 */ addiu $t7, $sp, 0x238 -/* B511B0 800DA010 89CD0000 */ lwl $t5, ($t6) -/* B511B4 800DA014 99CD0003 */ lwr $t5, 3($t6) -/* B511B8 800DA018 ADED0000 */ sw $t5, ($t7) -/* B511BC 800DA01C 89CB0004 */ lwl $t3, 4($t6) -/* B511C0 800DA020 99CB0007 */ lwr $t3, 7($t6) -/* B511C4 800DA024 ADEB0004 */ sw $t3, 4($t7) -/* B511C8 800DA028 93B80239 */ lbu $t8, 0x239($sp) -/* B511CC 800DA02C 5700001A */ bnezl $t8, .L800DA098 -/* B511D0 800DA030 8E6800BC */ lw $t0, 0xbc($s3) -/* B511D4 800DA034 8E6800BC */ lw $t0, 0xbc($s3) -/* B511D8 800DA038 110002FC */ beqz $t0, .L800DAC2C -/* B511DC 800DA03C 00000000 */ nop -/* B511E0 800DA040 93AC023B */ lbu $t4, 0x23b($sp) -/* B511E4 800DA044 11800003 */ beqz $t4, .L800DA054 -/* B511E8 800DA048 3C118015 */ lui $s1, %hi(D_80148CF4) # $s1, 0x8015 -/* B511EC 800DA04C 10000003 */ b .L800DA05C -/* B511F0 800DA050 26318CF4 */ addiu $s1, %lo(D_80148CF4) # addiu $s1, $s1, -0x730c -.L800DA054: -/* B511F4 800DA054 3C118015 */ lui $s1, %hi(D_80148CFC) # $s1, 0x8015 -/* B511F8 800DA058 26318CFC */ addiu $s1, %lo(D_80148CFC) # addiu $s1, $s1, -0x7304 -.L800DA05C: -/* B511FC 800DA05C 8FA70238 */ lw $a3, 0x238($sp) -/* B51200 800DA060 93B9023A */ lbu $t9, 0x23a($sp) -/* B51204 800DA064 3C048015 */ lui $a0, %hi(D_80148CD0) # $a0, 0x8015 -/* B51208 800DA068 00073C80 */ sll $a3, $a3, 0x12 -/* B5120C 800DA06C 332A0007 */ andi $t2, $t9, 7 -/* B51210 800DA070 AFAA0010 */ sw $t2, 0x10($sp) -/* B51214 800DA074 00073F42 */ srl $a3, $a3, 0x1d -/* B51218 800DA078 24848CD0 */ addiu $a0, %lo(D_80148CD0) # addiu $a0, $a0, -0x7330 -/* B5121C 800DA07C 97A5023C */ lhu $a1, 0x23c($sp) -/* B51220 800DA080 97A6023E */ lhu $a2, 0x23e($sp) -/* B51224 800DA084 0C00084C */ jal osSyncPrintf -/* B51228 800DA088 AFB10014 */ sw $s1, 0x14($sp) -/* B5122C 800DA08C 100002E7 */ b .L800DAC2C -/* B51230 800DA090 8E6800BC */ lw $t0, 0xbc($s3) -/* B51234 800DA094 8E6800BC */ lw $t0, 0xbc($s3) -.L800DA098: -/* B51238 800DA098 110002E4 */ beqz $t0, .L800DAC2C -/* B5123C 800DA09C 00000000 */ nop -/* B51240 800DA0A0 93AF023B */ lbu $t7, 0x23b($sp) -/* B51244 800DA0A4 11E00003 */ beqz $t7, .L800DA0B4 -/* B51248 800DA0A8 3C118015 */ lui $s1, %hi(D_80148D2C) # $s1, 0x8015 -/* B5124C 800DA0AC 10000003 */ b .L800DA0BC -/* B51250 800DA0B0 26318D2C */ addiu $s1, %lo(D_80148D2C) # addiu $s1, $s1, -0x72d4 -.L800DA0B4: -/* B51254 800DA0B4 3C118015 */ lui $s1, %hi(D_80148D34) # $s1, 0x8015 -/* B51258 800DA0B8 26318D34 */ addiu $s1, %lo(D_80148D34) # addiu $s1, $s1, -0x72cc -.L800DA0BC: -/* B5125C 800DA0BC 8FA70238 */ lw $a3, 0x238($sp) -/* B51260 800DA0C0 93AB023A */ lbu $t3, 0x23a($sp) -/* B51264 800DA0C4 93AE0239 */ lbu $t6, 0x239($sp) -/* B51268 800DA0C8 3C048015 */ lui $a0, %hi(D_80148D04) # $a0, 0x8015 -/* B5126C 800DA0CC 00073C80 */ sll $a3, $a3, 0x12 -/* B51270 800DA0D0 316D0007 */ andi $t5, $t3, 7 -/* B51274 800DA0D4 AFAD0014 */ sw $t5, 0x14($sp) -/* B51278 800DA0D8 00073F42 */ srl $a3, $a3, 0x1d -/* B5127C 800DA0DC 24848D04 */ addiu $a0, %lo(D_80148D04) # addiu $a0, $a0, -0x72fc -/* B51280 800DA0E0 97A5023C */ lhu $a1, 0x23c($sp) -/* B51284 800DA0E4 97A6023E */ lhu $a2, 0x23e($sp) -/* B51288 800DA0E8 AFB10018 */ sw $s1, 0x18($sp) -/* B5128C 800DA0EC 0C00084C */ jal osSyncPrintf -/* B51290 800DA0F0 AFAE0010 */ sw $t6, 0x10($sp) -/* B51294 800DA0F4 8E6800BC */ lw $t0, 0xbc($s3) -/* B51298 800DA0F8 100002CC */ b .L800DAC2C -/* B5129C 800DA0FC 00000000 */ nop -glabel L800DA100 -/* B512A0 800DA100 8FAC0394 */ lw $t4, 0x394($sp) -/* B512A4 800DA104 27B80230 */ addiu $t8, $sp, 0x230 -/* B512A8 800DA108 24010001 */ li $at, 1 -/* B512AC 800DA10C 8D8A0000 */ lw $t2, ($t4) -/* B512B0 800DA110 AF0A0000 */ sw $t2, ($t8) -/* B512B4 800DA114 8D990004 */ lw $t9, 4($t4) -/* B512B8 800DA118 AF190004 */ sw $t9, 4($t8) -/* B512BC 800DA11C 8FA50234 */ lw $a1, 0x234($sp) -/* B512C0 800DA120 00052982 */ srl $a1, $a1, 6 -/* B512C4 800DA124 54A10009 */ bnel $a1, $at, .L800DA14C -/* B512C8 800DA128 8E6800BC */ lw $t0, 0xbc($s3) -/* B512CC 800DA12C 8E6800BC */ lw $t0, 0xbc($s3) -/* B512D0 800DA130 110002BE */ beqz $t0, .L800DAC2C -/* B512D4 800DA134 3C048015 */ lui $a0, %hi(D_80148D3C) # $a0, 0x8015 -/* B512D8 800DA138 0C00084C */ jal osSyncPrintf -/* B512DC 800DA13C 24848D3C */ addiu $a0, %lo(D_80148D3C) # addiu $a0, $a0, -0x72c4 -/* B512E0 800DA140 100002BA */ b .L800DAC2C -/* B512E4 800DA144 8E6800BC */ lw $t0, 0xbc($s3) -/* B512E8 800DA148 8E6800BC */ lw $t0, 0xbc($s3) -.L800DA14C: -/* B512EC 800DA14C 110002B7 */ beqz $t0, .L800DAC2C -/* B512F0 800DA150 3C048015 */ lui $a0, %hi(D_80148D5C) # $a0, 0x8015 -/* B512F4 800DA154 0C00084C */ jal osSyncPrintf -/* B512F8 800DA158 24848D5C */ addiu $a0, %lo(D_80148D5C) # addiu $a0, $a0, -0x72a4 -/* B512FC 800DA15C 8E6800BC */ lw $t0, 0xbc($s3) -/* B51300 800DA160 100002B2 */ b .L800DAC2C -/* B51304 800DA164 00000000 */ nop -glabel L800DA168 -/* B51308 800DA168 3C0200FF */ lui $v0, (0x00FFFFFF >> 16) # lui $v0, 0xff -/* B5130C 800DA16C 3442FFFF */ ori $v0, (0x00FFFFFF & 0xFFFF) # ori $v0, $v0, 0xffff -/* B51310 800DA170 8FCF0000 */ lw $t7, ($fp) -/* B51314 800DA174 8FCE0004 */ lw $t6, 4($fp) -/* B51318 800DA178 8E6800BC */ lw $t0, 0xbc($s3) -/* B5131C 800DA17C 01E28024 */ and $s0, $t7, $v0 -/* B51320 800DA180 1600000F */ bnez $s0, .L800DA1C0 -/* B51324 800DA184 01C28824 */ and $s1, $t6, $v0 -/* B51328 800DA188 11000003 */ beqz $t0, .L800DA198 -/* B5132C 800DA18C 3C048015 */ lui $a0, %hi(D_80148D84) # $a0, 0x8015 -/* B51330 800DA190 0C00084C */ jal osSyncPrintf -/* B51334 800DA194 24848D84 */ addiu $a0, %lo(D_80148D84) # addiu $a0, $a0, -0x727c -.L800DA198: -/* B51338 800DA198 02602025 */ move $a0, $s3 -/* B5133C 800DA19C 0C036017 */ jal UCodeDisas_ParseGeometryMode -/* B51340 800DA1A0 02202825 */ move $a1, $s1 -/* B51344 800DA1A4 8E6B00BC */ lw $t3, 0xbc($s3) -/* B51348 800DA1A8 1160003B */ beqz $t3, .L800DA298 -/* B5134C 800DA1AC 3C048015 */ lui $a0, %hi(D_80148D9C) # $a0, 0x8015 -/* B51350 800DA1B0 0C00084C */ jal osSyncPrintf -/* B51354 800DA1B4 24848D9C */ addiu $a0, %lo(D_80148D9C) # addiu $a0, $a0, -0x7264 -/* B51358 800DA1B8 10000038 */ b .L800DA29C -/* B5135C 800DA1BC 8E6A00D4 */ lw $t2, 0xd4($s3) -.L800DA1C0: -/* B51360 800DA1C0 56200010 */ bnezl $s1, .L800DA204 -/* B51364 800DA1C4 3C0100FF */ lui $at, 0xff -/* B51368 800DA1C8 11000003 */ beqz $t0, .L800DA1D8 -/* B5136C 800DA1CC 3C048015 */ lui $a0, %hi(D_80148DA0) # $a0, 0x8015 -/* B51370 800DA1D0 0C00084C */ jal osSyncPrintf -/* B51374 800DA1D4 24848DA0 */ addiu $a0, %lo(D_80148DA0) # addiu $a0, $a0, -0x7260 -.L800DA1D8: -/* B51378 800DA1D8 02602025 */ move $a0, $s3 -/* B5137C 800DA1DC 0C036017 */ jal UCodeDisas_ParseGeometryMode -/* B51380 800DA1E0 02002827 */ not $a1, $s0 -/* B51384 800DA1E4 8E6D00BC */ lw $t5, 0xbc($s3) -/* B51388 800DA1E8 11A0002B */ beqz $t5, .L800DA298 -/* B5138C 800DA1EC 3C048015 */ lui $a0, %hi(D_80148DB8) # $a0, 0x8015 -/* B51390 800DA1F0 0C00084C */ jal osSyncPrintf -/* B51394 800DA1F4 24848DB8 */ addiu $a0, %lo(D_80148DB8) # addiu $a0, $a0, -0x7248 -/* B51398 800DA1F8 10000028 */ b .L800DA29C -/* B5139C 800DA1FC 8E6A00D4 */ lw $t2, 0xd4($s3) -/* B513A0 800DA200 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -.L800DA204: -/* B513A4 800DA204 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* B513A8 800DA208 1601000F */ bne $s0, $at, .L800DA248 -/* B513AC 800DA20C 00000000 */ nop -/* B513B0 800DA210 11000003 */ beqz $t0, .L800DA220 -/* B513B4 800DA214 3C048015 */ lui $a0, %hi(D_80148DBC) # $a0, 0x8015 -/* B513B8 800DA218 0C00084C */ jal osSyncPrintf -/* B513BC 800DA21C 24848DBC */ addiu $a0, %lo(D_80148DBC) # addiu $a0, $a0, -0x7244 -.L800DA220: -/* B513C0 800DA220 02602025 */ move $a0, $s3 -/* B513C4 800DA224 0C036017 */ jal UCodeDisas_ParseGeometryMode -/* B513C8 800DA228 02202825 */ move $a1, $s1 -/* B513CC 800DA22C 8E7800BC */ lw $t8, 0xbc($s3) -/* B513D0 800DA230 13000019 */ beqz $t8, .L800DA298 -/* B513D4 800DA234 3C048015 */ lui $a0, %hi(D_80148DD4) # $a0, 0x8015 -/* B513D8 800DA238 0C00084C */ jal osSyncPrintf -/* B513DC 800DA23C 24848DD4 */ addiu $a0, %lo(D_80148DD4) # addiu $a0, $a0, -0x722c -/* B513E0 800DA240 10000016 */ b .L800DA29C -/* B513E4 800DA244 8E6A00D4 */ lw $t2, 0xd4($s3) -.L800DA248: -/* B513E8 800DA248 11000003 */ beqz $t0, .L800DA258 -/* B513EC 800DA24C 3C048015 */ lui $a0, %hi(D_80148DD8) # $a0, 0x8015 -/* B513F0 800DA250 0C00084C */ jal osSyncPrintf -/* B513F4 800DA254 24848DD8 */ addiu $a0, %lo(D_80148DD8) # addiu $a0, $a0, -0x7228 -.L800DA258: -/* B513F8 800DA258 02602025 */ move $a0, $s3 -/* B513FC 800DA25C 0C036017 */ jal UCodeDisas_ParseGeometryMode -/* B51400 800DA260 02002827 */ not $a1, $s0 -/* B51404 800DA264 8E6C00BC */ lw $t4, 0xbc($s3) -/* B51408 800DA268 11800003 */ beqz $t4, .L800DA278 -/* B5140C 800DA26C 3C048015 */ lui $a0, %hi(D_80148DEC) # $a0, 0x8015 -/* B51410 800DA270 0C00084C */ jal osSyncPrintf -/* B51414 800DA274 24848DEC */ addiu $a0, %lo(D_80148DEC) # addiu $a0, $a0, -0x7214 -.L800DA278: -/* B51418 800DA278 02602025 */ move $a0, $s3 -/* B5141C 800DA27C 0C036017 */ jal UCodeDisas_ParseGeometryMode -/* B51420 800DA280 02202825 */ move $a1, $s1 -/* B51424 800DA284 8E7900BC */ lw $t9, 0xbc($s3) -/* B51428 800DA288 13200003 */ beqz $t9, .L800DA298 -/* B5142C 800DA28C 3C048015 */ lui $a0, %hi(D_80148DF0) # $a0, 0x8015 -/* B51430 800DA290 0C00084C */ jal osSyncPrintf -/* B51434 800DA294 24848DF0 */ addiu $a0, %lo(D_80148DF0) # addiu $a0, $a0, -0x7210 -.L800DA298: -/* B51438 800DA298 8E6A00D4 */ lw $t2, 0xd4($s3) -.L800DA29C: -/* B5143C 800DA29C 8E6800BC */ lw $t0, 0xbc($s3) -/* B51440 800DA2A0 01507824 */ and $t7, $t2, $s0 -/* B51444 800DA2A4 AE6F00D4 */ sw $t7, 0xd4($s3) -/* B51448 800DA2A8 01F15825 */ or $t3, $t7, $s1 -/* B5144C 800DA2AC 1000025F */ b .L800DAC2C -/* B51450 800DA2B0 AE6B00D4 */ sw $t3, 0xd4($s3) -glabel L800DA2B4 -/* B51454 800DA2B4 8FB80394 */ lw $t8, 0x394($sp) -/* B51458 800DA2B8 27AD021C */ addiu $t5, $sp, 0x21c -/* B5145C 800DA2BC 27AA0214 */ addiu $t2, $sp, 0x214 -/* B51460 800DA2C0 8F190000 */ lw $t9, ($t8) -/* B51464 800DA2C4 ADB90000 */ sw $t9, ($t5) -/* B51468 800DA2C8 8F0C0004 */ lw $t4, 4($t8) -/* B5146C 800DA2CC ADAC0004 */ sw $t4, 4($t5) -/* B51470 800DA2D0 8FAF0394 */ lw $t7, 0x394($sp) -/* B51474 800DA2D4 8DEB0000 */ lw $t3, ($t7) -/* B51478 800DA2D8 AD4B0000 */ sw $t3, ($t2) -/* B5147C 800DA2DC 8DEE0004 */ lw $t6, 4($t7) -/* B51480 800DA2E0 AD4E0004 */ sw $t6, 4($t2) -/* B51484 800DA2E4 93AD021D */ lbu $t5, 0x21d($sp) -/* B51488 800DA2E8 97B8021E */ lhu $t8, 0x21e($sp) -/* B5148C 800DA2EC A3AD0217 */ sb $t5, 0x217($sp) -/* B51490 800DA2F0 8FAC0214 */ lw $t4, 0x214($sp) -/* B51494 800DA2F4 8FAD0220 */ lw $t5, 0x220($sp) -/* B51498 800DA2F8 000CCA02 */ srl $t9, $t4, 8 -/* B5149C 800DA2FC 03195026 */ xor $t2, $t8, $t9 -/* B514A0 800DA300 000A7C00 */ sll $t7, $t2, 0x10 -/* B514A4 800DA304 000F7202 */ srl $t6, $t7, 8 -/* B514A8 800DA308 01CC5826 */ xor $t3, $t6, $t4 -/* B514AC 800DA30C AFAB0214 */ sw $t3, 0x214($sp) -/* B514B0 800DA310 93B80217 */ lbu $t8, 0x217($sp) -/* B514B4 800DA314 AFAD0218 */ sw $t5, 0x218($sp) -/* B514B8 800DA318 2719FFFE */ addiu $t9, $t8, -2 -/* B514BC 800DA31C 2F21000D */ sltiu $at, $t9, 0xd -/* B514C0 800DA320 10200063 */ beqz $at, .L800DA4B0 -/* B514C4 800DA324 0019C880 */ sll $t9, $t9, 2 -/* B514C8 800DA328 3C018015 */ lui $at, %hi(jtbl_80149364) -/* B514CC 800DA32C 00390821 */ addu $at, $at, $t9 -/* B514D0 800DA330 8C399364 */ lw $t9, %lo(jtbl_80149364)($at) -/* B514D4 800DA334 03200008 */ jr $t9 -/* B514D8 800DA338 00000000 */ nop -glabel L800DA33C -/* B514DC 800DA33C 8E6A00BC */ lw $t2, 0xbc($s3) -/* B514E0 800DA340 5140000A */ beql $t2, $zero, .L800DA36C -/* B514E4 800DA344 8BAC0215 */ lwl $t4, 0x215($sp) -/* B514E8 800DA348 8BA50215 */ lwl $a1, 0x215($sp) -/* B514EC 800DA34C 9BA50218 */ lwr $a1, 0x218($sp) -/* B514F0 800DA350 3C048015 */ lui $a0, %hi(D_80148DF4) # $a0, 0x8015 -/* B514F4 800DA354 24848DF4 */ addiu $a0, %lo(D_80148DF4) # addiu $a0, $a0, -0x720c -/* B514F8 800DA358 00052C02 */ srl $a1, $a1, 0x10 -/* B514FC 800DA35C 00052882 */ srl $a1, $a1, 2 -/* B51500 800DA360 0C00084C */ jal osSyncPrintf -/* B51504 800DA364 8FA60218 */ lw $a2, 0x218($sp) -/* B51508 800DA368 8BAC0215 */ lwl $t4, 0x215($sp) -.L800DA36C: -/* B5150C 800DA36C 9BAC0218 */ lwr $t4, 0x218($sp) -/* B51510 800DA370 8FAF0218 */ lw $t7, 0x218($sp) -/* B51514 800DA374 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* B51518 800DA378 000C5C02 */ srl $t3, $t4, 0x10 -/* B5151C 800DA37C 000B6882 */ srl $t5, $t3, 2 -/* B51520 800DA380 000DC080 */ sll $t8, $t5, 2 -/* B51524 800DA384 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* B51528 800DA388 0278C821 */ addu $t9, $s3, $t8 -/* B5152C 800DA38C 01E17024 */ and $t6, $t7, $at -/* B51530 800DA390 AF2E0000 */ sw $t6, ($t9) -/* B51534 800DA394 10000225 */ b .L800DAC2C -/* B51538 800DA398 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800DA39C -/* B5153C 800DA39C 8E6800BC */ lw $t0, 0xbc($s3) -/* B51540 800DA3A0 5100000E */ beql $t0, $zero, .L800DA3DC -/* B51544 800DA3A4 8FAF0394 */ lw $t7, 0x394($sp) -/* B51548 800DA3A8 8FAA0218 */ lw $t2, 0x218($sp) -/* B5154C 800DA3AC 51400004 */ beql $t2, $zero, .L800DA3C0 -/* B51550 800DA3B0 8FB10218 */ lw $s1, 0x218($sp) -/* B51554 800DA3B4 10000003 */ b .L800DA3C4 -/* B51558 800DA3B8 01408825 */ move $s1, $t2 -/* B5155C 800DA3BC 8FB10218 */ lw $s1, 0x218($sp) -.L800DA3C0: -/* B51560 800DA3C0 00118823 */ negu $s1, $s1 -.L800DA3C4: -/* B51564 800DA3C4 3C048015 */ lui $a0, %hi(D_80148E10) # $a0, 0x8015 -/* B51568 800DA3C8 24848E10 */ addiu $a0, %lo(D_80148E10) # addiu $a0, $a0, -0x71f0 -/* B5156C 800DA3CC 0C00084C */ jal osSyncPrintf -/* B51570 800DA3D0 02202825 */ move $a1, $s1 -/* B51574 800DA3D4 8E6800BC */ lw $t0, 0xbc($s3) -/* B51578 800DA3D8 8FAF0394 */ lw $t7, 0x394($sp) -.L800DA3DC: -/* B5157C 800DA3DC 25EC0018 */ addiu $t4, $t7, 0x18 -/* B51580 800DA3E0 10000212 */ b .L800DAC2C -/* B51584 800DA3E4 AFAC0394 */ sw $t4, 0x394($sp) -glabel L800DA3E8 -/* B51588 800DA3E8 8E6800BC */ lw $t0, 0xbc($s3) -/* B5158C 800DA3EC 1100020F */ beqz $t0, .L800DAC2C -/* B51590 800DA3F0 00000000 */ nop -/* B51594 800DA3F4 8FA50218 */ lw $a1, 0x218($sp) -/* B51598 800DA3F8 24010018 */ li $at, 24 -/* B5159C 800DA3FC 3C048015 */ lui $a0, %hi(D_80148E30) # $a0, 0x8015 -/* B515A0 800DA400 00A1001B */ divu $zero, $a1, $at -/* B515A4 800DA404 00002812 */ mflo $a1 -/* B515A8 800DA408 24848E30 */ addiu $a0, %lo(D_80148E30) # addiu $a0, $a0, -0x71d0 -/* B515AC 800DA40C 0C00084C */ jal osSyncPrintf -/* B515B0 800DA410 00000000 */ nop -/* B515B4 800DA414 10000205 */ b .L800DAC2C -/* B515B8 800DA418 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800DA41C -/* B515BC 800DA41C 8E6800BC */ lw $t0, 0xbc($s3) -/* B515C0 800DA420 5100000D */ beql $t0, $zero, .L800DA458 -/* B515C4 800DA424 8FAB0394 */ lw $t3, 0x394($sp) -/* B515C8 800DA428 8BA50215 */ lwl $a1, 0x215($sp) -/* B515CC 800DA42C 9BA50218 */ lwr $a1, 0x218($sp) -/* B515D0 800DA430 3C048015 */ lui $a0, %hi(D_80148E44) # $a0, 0x8015 -/* B515D4 800DA434 24848E44 */ addiu $a0, %lo(D_80148E44) # addiu $a0, $a0, -0x71bc -/* B515D8 800DA438 00052C02 */ srl $a1, $a1, 0x10 -/* B515DC 800DA43C 30A500F0 */ andi $a1, $a1, 0xf0 -/* B515E0 800DA440 00052942 */ srl $a1, $a1, 5 -/* B515E4 800DA444 24A50001 */ addiu $a1, $a1, 1 -/* B515E8 800DA448 0C00084C */ jal osSyncPrintf -/* B515EC 800DA44C 8FA60218 */ lw $a2, 0x218($sp) -/* B515F0 800DA450 8E6800BC */ lw $t0, 0xbc($s3) -/* B515F4 800DA454 8FAB0394 */ lw $t3, 0x394($sp) -.L800DA458: -/* B515F8 800DA458 256D0008 */ addiu $t5, $t3, 8 -/* B515FC 800DA45C 100001F3 */ b .L800DAC2C -/* B51600 800DA460 AFAD0394 */ sw $t5, 0x394($sp) -glabel L800DA464 -/* B51604 800DA464 8E6800BC */ lw $t0, 0xbc($s3) -/* B51608 800DA468 110001F0 */ beqz $t0, .L800DAC2C -/* B5160C 800DA46C 00000000 */ nop -/* B51610 800DA470 8FB80218 */ lw $t8, 0x218($sp) -/* B51614 800DA474 3C048015 */ lui $a0, %hi(D_80148E60) # $a0, 0x8015 -/* B51618 800DA478 24848E60 */ addiu $a0, %lo(D_80148E60) # addiu $a0, $a0, -0x71a0 -/* B5161C 800DA47C 00182C02 */ srl $a1, $t8, 0x10 -/* B51620 800DA480 0C00084C */ jal osSyncPrintf -/* B51624 800DA484 3306FFFF */ andi $a2, $t8, 0xffff -/* B51628 800DA488 100001E8 */ b .L800DAC2C -/* B5162C 800DA48C 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800DA490 -/* B51630 800DA490 8E6800BC */ lw $t0, 0xbc($s3) -/* B51634 800DA494 110001E5 */ beqz $t0, .L800DAC2C -/* B51638 800DA498 3C048015 */ lui $a0, %hi(D_80148E78) # $a0, 0x8015 -/* B5163C 800DA49C 24848E78 */ addiu $a0, %lo(D_80148E78) # addiu $a0, $a0, -0x7188 -/* B51640 800DA4A0 0C00084C */ jal osSyncPrintf -/* B51644 800DA4A4 8FA50218 */ lw $a1, 0x218($sp) -/* B51648 800DA4A8 100001E0 */ b .L800DAC2C -/* B5164C 800DA4AC 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800DA4B0 -.L800DA4B0: -/* B51650 800DA4B0 8E6800BC */ lw $t0, 0xbc($s3) -/* B51654 800DA4B4 110001DD */ beqz $t0, .L800DAC2C -/* B51658 800DA4B8 00000000 */ nop -/* B5165C 800DA4BC 8BA60215 */ lwl $a2, 0x215($sp) -/* B51660 800DA4C0 9BA60218 */ lwr $a2, 0x218($sp) -/* B51664 800DA4C4 3C048015 */ lui $a0, %hi(D_80148E90) # $a0, 0x8015 -/* B51668 800DA4C8 24848E90 */ addiu $a0, %lo(D_80148E90) # addiu $a0, $a0, -0x7170 -/* B5166C 800DA4CC 93A50217 */ lbu $a1, 0x217($sp) -/* B51670 800DA4D0 8FA70218 */ lw $a3, 0x218($sp) -/* B51674 800DA4D4 0C00084C */ jal osSyncPrintf -/* B51678 800DA4D8 00063402 */ srl $a2, $a2, 0x10 -/* B5167C 800DA4DC 8E6800BC */ lw $t0, 0xbc($s3) -/* B51680 800DA4E0 100001D2 */ b .L800DAC2C -/* B51684 800DA4E4 00000000 */ nop -glabel L800DA4E8 -/* B51688 800DA4E8 8FB90394 */ lw $t9, 0x394($sp) -/* B5168C 800DA4EC 27AE020C */ addiu $t6, $sp, 0x20c -/* B51690 800DA4F0 24010008 */ li $at, 8 -/* B51694 800DA4F4 8F2F0000 */ lw $t7, ($t9) -/* B51698 800DA4F8 ADCF0000 */ sw $t7, ($t6) -/* B5169C 800DA4FC 8F2A0004 */ lw $t2, 4($t9) -/* B516A0 800DA500 ADCA0004 */ sw $t2, 4($t6) -/* B516A4 800DA504 93AC020F */ lbu $t4, 0x20f($sp) -/* B516A8 800DA508 11810007 */ beq $t4, $at, .L800DA528 -/* B516AC 800DA50C 2401000A */ li $at, 10 -/* B516B0 800DA510 1181002F */ beq $t4, $at, .L800DA5D0 -/* B516B4 800DA514 2401000E */ li $at, 14 -/* B516B8 800DA518 51810023 */ beql $t4, $at, .L800DA5A8 -/* B516BC 800DA51C 8E6800BC */ lw $t0, 0xbc($s3) -/* B516C0 800DA520 10000050 */ b .L800DA664 -/* B516C4 800DA524 8E6800BC */ lw $t0, 0xbc($s3) -.L800DA528: -/* B516C8 800DA528 8E6800BC */ lw $t0, 0xbc($s3) -/* B516CC 800DA52C 11000006 */ beqz $t0, .L800DA548 -/* B516D0 800DA530 3C048015 */ lui $a0, %hi(D_80148EA8) # $a0, 0x8015 -/* B516D4 800DA534 24848EA8 */ addiu $a0, %lo(D_80148EA8) # addiu $a0, $a0, -0x7158 -/* B516D8 800DA538 8FA50210 */ lw $a1, 0x210($sp) -/* B516DC 800DA53C 0C00084C */ jal osSyncPrintf -/* B516E0 800DA540 02803025 */ move $a2, $s4 -/* B516E4 800DA544 8E6800BC */ lw $t0, 0xbc($s3) -.L800DA548: -/* B516E8 800DA548 1100000A */ beqz $t0, .L800DA574 -/* B516EC 800DA54C 00000000 */ nop -/* B516F0 800DA550 868B0006 */ lh $t3, 6($s4) -/* B516F4 800DA554 3C048015 */ lui $a0, %hi(D_80148EC8) # $a0, 0x8015 -/* B516F8 800DA558 86850000 */ lh $a1, ($s4) -/* B516FC 800DA55C 86860002 */ lh $a2, 2($s4) -/* B51700 800DA560 86870004 */ lh $a3, 4($s4) -/* B51704 800DA564 24848EC8 */ addiu $a0, %lo(D_80148EC8) # addiu $a0, $a0, -0x7138 -/* B51708 800DA568 0C00084C */ jal osSyncPrintf -/* B5170C 800DA56C AFAB0010 */ sw $t3, 0x10($sp) -/* B51710 800DA570 8E6800BC */ lw $t0, 0xbc($s3) -.L800DA574: -/* B51714 800DA574 110001AD */ beqz $t0, .L800DAC2C -/* B51718 800DA578 00000000 */ nop -/* B5171C 800DA57C 868D000E */ lh $t5, 0xe($s4) -/* B51720 800DA580 3C048015 */ lui $a0, %hi(D_80148EE4) # $a0, 0x8015 -/* B51724 800DA584 86850008 */ lh $a1, 8($s4) -/* B51728 800DA588 8686000A */ lh $a2, 0xa($s4) -/* B5172C 800DA58C 8687000C */ lh $a3, 0xc($s4) -/* B51730 800DA590 24848EE4 */ addiu $a0, %lo(D_80148EE4) # addiu $a0, $a0, -0x711c -/* B51734 800DA594 0C00084C */ jal osSyncPrintf -/* B51738 800DA598 AFAD0010 */ sw $t5, 0x10($sp) -/* B5173C 800DA59C 100001A3 */ b .L800DAC2C -/* B51740 800DA5A0 8E6800BC */ lw $t0, 0xbc($s3) -/* B51744 800DA5A4 8E6800BC */ lw $t0, 0xbc($s3) -.L800DA5A8: -/* B51748 800DA5A8 11000005 */ beqz $t0, .L800DA5C0 -/* B5174C 800DA5AC 3C048015 */ lui $a0, %hi(D_80148EFC) # $a0, 0x8015 -/* B51750 800DA5B0 24848EFC */ addiu $a0, %lo(D_80148EFC) # addiu $a0, $a0, -0x7104 -/* B51754 800DA5B4 0C00084C */ jal osSyncPrintf -/* B51758 800DA5B8 8FA50210 */ lw $a1, 0x210($sp) -/* B5175C 800DA5BC 8E6800BC */ lw $t0, 0xbc($s3) -.L800DA5C0: -/* B51760 800DA5C0 8FB80394 */ lw $t8, 0x394($sp) -/* B51764 800DA5C4 270E0008 */ addiu $t6, $t8, 8 -/* B51768 800DA5C8 10000198 */ b .L800DAC2C -/* B5176C 800DA5CC AFAE0394 */ sw $t6, 0x394($sp) -.L800DA5D0: -/* B51770 800DA5D0 93A2020E */ lbu $v0, 0x20e($sp) -/* B51774 800DA5D4 000210C0 */ sll $v0, $v0, 3 -/* B51778 800DA5D8 10400005 */ beqz $v0, .L800DA5F0 -/* B5177C 800DA5DC 24010018 */ li $at, 24 -/* B51780 800DA5E0 5041000C */ beql $v0, $at, .L800DA614 -/* B51784 800DA5E4 8E6800BC */ lw $t0, 0xbc($s3) -/* B51788 800DA5E8 10000012 */ b .L800DA634 -/* B5178C 800DA5EC 8E6800BC */ lw $t0, 0xbc($s3) -.L800DA5F0: -/* B51790 800DA5F0 8E6800BC */ lw $t0, 0xbc($s3) -/* B51794 800DA5F4 1100018D */ beqz $t0, .L800DAC2C -/* B51798 800DA5F8 3C048015 */ lui $a0, %hi(D_80148F18) # $a0, 0x8015 -/* B5179C 800DA5FC 24848F18 */ addiu $a0, %lo(D_80148F18) # addiu $a0, $a0, -0x70e8 -/* B517A0 800DA600 0C00084C */ jal osSyncPrintf -/* B517A4 800DA604 8FA50210 */ lw $a1, 0x210($sp) -/* B517A8 800DA608 10000188 */ b .L800DAC2C -/* B517AC 800DA60C 8E6800BC */ lw $t0, 0xbc($s3) -/* B517B0 800DA610 8E6800BC */ lw $t0, 0xbc($s3) -.L800DA614: -/* B517B4 800DA614 11000185 */ beqz $t0, .L800DAC2C -/* B517B8 800DA618 3C048015 */ lui $a0, %hi(D_80148F30) # $a0, 0x8015 -/* B517BC 800DA61C 24848F30 */ addiu $a0, %lo(D_80148F30) # addiu $a0, $a0, -0x70d0 -/* B517C0 800DA620 0C00084C */ jal osSyncPrintf -/* B517C4 800DA624 8FA50210 */ lw $a1, 0x210($sp) -/* B517C8 800DA628 10000180 */ b .L800DAC2C -/* B517CC 800DA62C 8E6800BC */ lw $t0, 0xbc($s3) -/* B517D0 800DA630 8E6800BC */ lw $t0, 0xbc($s3) -.L800DA634: -/* B517D4 800DA634 1100017D */ beqz $t0, .L800DAC2C -/* B517D8 800DA638 2446FFE8 */ addiu $a2, $v0, -0x18 -/* B517DC 800DA63C 24010018 */ li $at, 24 -/* B517E0 800DA640 00C1001B */ divu $zero, $a2, $at -/* B517E4 800DA644 00003012 */ mflo $a2 -/* B517E8 800DA648 3C048015 */ lui $a0, %hi(D_80148F48) # $a0, 0x8015 -/* B517EC 800DA64C 24848F48 */ addiu $a0, %lo(D_80148F48) # addiu $a0, $a0, -0x70b8 -/* B517F0 800DA650 0C00084C */ jal osSyncPrintf -/* B517F4 800DA654 8FA50210 */ lw $a1, 0x210($sp) -/* B517F8 800DA658 10000174 */ b .L800DAC2C -/* B517FC 800DA65C 8E6800BC */ lw $t0, 0xbc($s3) -/* B51800 800DA660 8E6800BC */ lw $t0, 0xbc($s3) -.L800DA664: -/* B51804 800DA664 11000171 */ beqz $t0, .L800DAC2C -/* B51808 800DA668 00000000 */ nop -/* B5180C 800DA66C 93A6020D */ lbu $a2, 0x20d($sp) -/* B51810 800DA670 93B9020E */ lbu $t9, 0x20e($sp) -/* B51814 800DA674 3C048015 */ lui $a0, %hi(D_80148F60) # $a0, 0x8015 -/* B51818 800DA678 000630C2 */ srl $a2, $a2, 3 -/* B5181C 800DA67C 000630C0 */ sll $a2, $a2, 3 -/* B51820 800DA680 001950C0 */ sll $t2, $t9, 3 -/* B51824 800DA684 AFAA0010 */ sw $t2, 0x10($sp) -/* B51828 800DA688 24C60008 */ addiu $a2, $a2, 8 -/* B5182C 800DA68C 24848F60 */ addiu $a0, %lo(D_80148F60) # addiu $a0, $a0, -0x70a0 -/* B51830 800DA690 93A7020F */ lbu $a3, 0x20f($sp) -/* B51834 800DA694 0C00084C */ jal osSyncPrintf -/* B51838 800DA698 8FA50210 */ lw $a1, 0x210($sp) -/* B5183C 800DA69C 8E6800BC */ lw $t0, 0xbc($s3) -/* B51840 800DA6A0 10000162 */ b .L800DAC2C -/* B51844 800DA6A4 00000000 */ nop -.L800DA6A8: -/* B51848 800DA6A8 8E6800BC */ lw $t0, 0xbc($s3) -/* B5184C 800DA6AC 1100015F */ beqz $t0, .L800DAC2C -/* B51850 800DA6B0 3C048015 */ lui $a0, %hi(D_80148F80) # $a0, 0x8015 -/* B51854 800DA6B4 0C00084C */ jal osSyncPrintf -/* B51858 800DA6B8 24848F80 */ addiu $a0, %lo(D_80148F80) # addiu $a0, $a0, -0x7080 -/* B5185C 800DA6BC 8E6800BC */ lw $t0, 0xbc($s3) -/* B51860 800DA6C0 1000015A */ b .L800DAC2C -/* B51864 800DA6C4 00000000 */ nop -/* B51868 800DA6C8 286100DC */ slti $at, $v1, 0xdc -.L800DA6CC: -/* B5186C 800DA6CC 14200007 */ bnez $at, .L800DA6EC -/* B51870 800DA6D0 240100DC */ li $at, 220 -/* B51874 800DA6D4 10610081 */ beq $v1, $at, .L800DA8DC -/* B51878 800DA6D8 240100E4 */ li $at, 228 -/* B5187C 800DA6DC 50610070 */ beql $v1, $at, .L800DA8A0 -/* B51880 800DA6E0 8E6800BC */ lw $t0, 0xbc($s3) -/* B51884 800DA6E4 1000014C */ b .L800DAC18 -/* B51888 800DA6E8 8E6800BC */ lw $t0, 0xbc($s3) -.L800DA6EC: -/* B5188C 800DA6EC 286100DB */ slti $at, $v1, 0xdb -/* B51890 800DA6F0 14200005 */ bnez $at, .L800DA708 -/* B51894 800DA6F4 240100DB */ li $at, 219 -/* B51898 800DA6F8 506100FC */ beql $v1, $at, .L800DAAEC -/* B5189C 800DA6FC 8FAF0394 */ lw $t7, 0x394($sp) -/* B518A0 800DA700 10000145 */ b .L800DAC18 -/* B518A4 800DA704 8E6800BC */ lw $t0, 0xbc($s3) -.L800DA708: -/* B518A8 800DA708 2861000C */ slti $at, $v1, 0xc -/* B518AC 800DA70C 14200005 */ bnez $at, .L800DA724 -/* B518B0 800DA710 240100DA */ li $at, 218 -/* B518B4 800DA714 50610051 */ beql $v1, $at, .L800DA85C -/* B518B8 800DA718 8FAB0394 */ lw $t3, 0x394($sp) -/* B518BC 800DA71C 1000013E */ b .L800DAC18 -/* B518C0 800DA720 8E6800BC */ lw $t0, 0xbc($s3) -.L800DA724: -/* B518C4 800DA724 246FFFFF */ addiu $t7, $v1, -1 -/* B518C8 800DA728 2DE1000B */ sltiu $at, $t7, 0xb -/* B518CC 800DA72C 10200139 */ beqz $at, .L800DAC14 -/* B518D0 800DA730 000F7880 */ sll $t7, $t7, 2 -/* B518D4 800DA734 3C018015 */ lui $at, %hi(jtbl_80149398) -/* B518D8 800DA738 002F0821 */ addu $at, $at, $t7 -/* B518DC 800DA73C 8C2F9398 */ lw $t7, %lo(jtbl_80149398)($at) -/* B518E0 800DA740 01E00008 */ jr $t7 -/* B518E4 800DA744 00000000 */ nop -glabel L800DA748 -/* B518E8 800DA748 8FAB0394 */ lw $t3, 0x394($sp) -/* B518EC 800DA74C 27AC0200 */ addiu $t4, $sp, 0x200 -/* B518F0 800DA750 8D780000 */ lw $t8, ($t3) -/* B518F4 800DA754 AD980000 */ sw $t8, ($t4) -/* B518F8 800DA758 8D6D0004 */ lw $t5, 4($t3) -/* B518FC 800DA75C AD8D0004 */ sw $t5, 4($t4) -/* B51900 800DA760 8E6E00BC */ lw $t6, 0xbc($s3) -/* B51904 800DA764 11C00005 */ beqz $t6, .L800DA77C -/* B51908 800DA768 3C048015 */ lui $a0, %hi(D_80148F94) # $a0, 0x8015 -/* B5190C 800DA76C 24848F94 */ addiu $a0, %lo(D_80148F94) # addiu $a0, $a0, -0x706c -/* B51910 800DA770 8FA50204 */ lw $a1, 0x204($sp) -/* B51914 800DA774 0C00084C */ jal osSyncPrintf -/* B51918 800DA778 02803025 */ move $a2, $s4 -.L800DA77C: -/* B5191C 800DA77C 24190001 */ li $t9, 1 -/* B51920 800DA780 AE7900AC */ sw $t9, 0xac($s3) -/* B51924 800DA784 10000129 */ b .L800DAC2C -/* B51928 800DA788 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800DA78C -/* B5192C 800DA78C 8FAF0394 */ lw $t7, 0x394($sp) -/* B51930 800DA790 27AA01F8 */ addiu $t2, $sp, 0x1f8 -/* B51934 800DA794 8DEB0000 */ lw $t3, ($t7) -/* B51938 800DA798 AD4B0000 */ sw $t3, ($t2) -/* B5193C 800DA79C 8DEC0004 */ lw $t4, 4($t7) -/* B51940 800DA7A0 AD4C0004 */ sw $t4, 4($t2) -/* B51944 800DA7A4 8E6D00BC */ lw $t5, 0xbc($s3) -/* B51948 800DA7A8 11A00005 */ beqz $t5, .L800DA7C0 -/* B5194C 800DA7AC 3C048015 */ lui $a0, %hi(D_80148FB4) # $a0, 0x8015 -/* B51950 800DA7B0 24848FB4 */ addiu $a0, %lo(D_80148FB4) # addiu $a0, $a0, -0x704c -/* B51954 800DA7B4 8FA501FC */ lw $a1, 0x1fc($sp) -/* B51958 800DA7B8 0C00084C */ jal osSyncPrintf -/* B5195C 800DA7BC 02803025 */ move $a2, $s4 -.L800DA7C0: -/* B51960 800DA7C0 24180001 */ li $t8, 1 -/* B51964 800DA7C4 AE7800AC */ sw $t8, 0xac($s3) -/* B51968 800DA7C8 10000118 */ b .L800DAC2C -/* B5196C 800DA7CC 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800DA7D0 -/* B51970 800DA7D0 8FB90394 */ lw $t9, 0x394($sp) -/* B51974 800DA7D4 27AE01F0 */ addiu $t6, $sp, 0x1f0 -/* B51978 800DA7D8 8F2F0000 */ lw $t7, ($t9) -/* B5197C 800DA7DC ADCF0000 */ sw $t7, ($t6) -/* B51980 800DA7E0 8F2A0004 */ lw $t2, 4($t9) -/* B51984 800DA7E4 ADCA0004 */ sw $t2, 4($t6) -/* B51988 800DA7E8 8E6C00BC */ lw $t4, 0xbc($s3) -/* B5198C 800DA7EC 11800005 */ beqz $t4, .L800DA804 -/* B51990 800DA7F0 3C048015 */ lui $a0, %hi(D_80148FD4) # $a0, 0x8015 -/* B51994 800DA7F4 24848FD4 */ addiu $a0, %lo(D_80148FD4) # addiu $a0, $a0, -0x702c -/* B51998 800DA7F8 8FA501F4 */ lw $a1, 0x1f4($sp) -/* B5199C 800DA7FC 0C00084C */ jal osSyncPrintf -/* B519A0 800DA800 02803025 */ move $a2, $s4 -.L800DA804: -/* B519A4 800DA804 240B0001 */ li $t3, 1 -/* B519A8 800DA808 AE6B00AC */ sw $t3, 0xac($s3) -/* B519AC 800DA80C 10000107 */ b .L800DAC2C -/* B519B0 800DA810 8E6800BC */ lw $t0, 0xbc($s3) -glabel L800DA814 -/* B519B4 800DA814 8FB80394 */ lw $t8, 0x394($sp) -/* B519B8 800DA818 27AD01E8 */ addiu $t5, $sp, 0x1e8 -/* B519BC 800DA81C 8F190000 */ lw $t9, ($t8) -/* B519C0 800DA820 ADB90000 */ sw $t9, ($t5) -/* B519C4 800DA824 8F0E0004 */ lw $t6, 4($t8) -/* B519C8 800DA828 ADAE0004 */ sw $t6, 4($t5) -/* B519CC 800DA82C 8E6A00BC */ lw $t2, 0xbc($s3) -/* B519D0 800DA830 11400005 */ beqz $t2, .L800DA848 -/* B519D4 800DA834 3C048015 */ lui $a0, %hi(D_80148FF4) # $a0, 0x8015 -/* B519D8 800DA838 24848FF4 */ addiu $a0, %lo(D_80148FF4) # addiu $a0, $a0, -0x700c -/* B519DC 800DA83C 8FA501EC */ lw $a1, 0x1ec($sp) -/* B519E0 800DA840 0C00084C */ jal osSyncPrintf -/* B519E4 800DA844 02803025 */ move $a2, $s4 -.L800DA848: -/* B519E8 800DA848 240F0001 */ li $t7, 1 -/* B519EC 800DA84C AE6F00AC */ sw $t7, 0xac($s3) -/* B519F0 800DA850 100000F6 */ b .L800DAC2C -/* B519F4 800DA854 8E6800BC */ lw $t0, 0xbc($s3) -/* B519F8 800DA858 8FAB0394 */ lw $t3, 0x394($sp) -.L800DA85C: -/* B519FC 800DA85C 27AC01E0 */ addiu $t4, $sp, 0x1e0 -/* B51A00 800DA860 8D780000 */ lw $t8, ($t3) -/* B51A04 800DA864 AD980000 */ sw $t8, ($t4) -/* B51A08 800DA868 8D6D0004 */ lw $t5, 4($t3) -/* B51A0C 800DA86C AD8D0004 */ sw $t5, 4($t4) -/* B51A10 800DA870 8E6E00BC */ lw $t6, 0xbc($s3) -/* B51A14 800DA874 11C00005 */ beqz $t6, .L800DA88C -/* B51A18 800DA878 3C048015 */ lui $a0, %hi(D_80149018) # $a0, 0x8015 -/* B51A1C 800DA87C 24849018 */ addiu $a0, %lo(D_80149018) # addiu $a0, $a0, -0x6fe8 -/* B51A20 800DA880 8FA501E4 */ lw $a1, 0x1e4($sp) -/* B51A24 800DA884 0C00084C */ jal osSyncPrintf -/* B51A28 800DA888 02803025 */ move $a2, $s4 -.L800DA88C: -/* B51A2C 800DA88C 24190001 */ li $t9, 1 -/* B51A30 800DA890 AE7900AC */ sw $t9, 0xac($s3) -/* B51A34 800DA894 100000E5 */ b .L800DAC2C -/* B51A38 800DA898 8E6800BC */ lw $t0, 0xbc($s3) -/* B51A3C 800DA89C 8E6800BC */ lw $t0, 0xbc($s3) -.L800DA8A0: -/* B51A40 800DA8A0 11000007 */ beqz $t0, .L800DA8C0 -/* B51A44 800DA8A4 3C048015 */ lui $a0, %hi(D_8014903C) # $a0, 0x8015 -/* B51A48 800DA8A8 2484903C */ addiu $a0, %lo(D_8014903C) # addiu $a0, $a0, -0x6fc4 -/* B51A4C 800DA8AC 93C50001 */ lbu $a1, 1($fp) -/* B51A50 800DA8B0 8FC60004 */ lw $a2, 4($fp) -/* B51A54 800DA8B4 0C00084C */ jal osSyncPrintf -/* B51A58 800DA8B8 97C70002 */ lhu $a3, 2($fp) -/* B51A5C 800DA8BC 8E6800BC */ lw $t0, 0xbc($s3) -.L800DA8C0: -/* B51A60 800DA8C0 93CA0001 */ lbu $t2, 1($fp) -/* B51A64 800DA8C4 A3AA0381 */ sb $t2, 0x381($sp) -/* B51A68 800DA8C8 8FCF0004 */ lw $t7, 4($fp) -/* B51A6C 800DA8CC AFAF0384 */ sw $t7, 0x384($sp) -/* B51A70 800DA8D0 97CC0002 */ lhu $t4, 2($fp) -/* B51A74 800DA8D4 100000D5 */ b .L800DAC2C -/* B51A78 800DA8D8 A7AC0382 */ sh $t4, 0x382($sp) -.L800DA8DC: -/* B51A7C 800DA8DC 8FAD0394 */ lw $t5, 0x394($sp) -/* B51A80 800DA8E0 27AB01D8 */ addiu $t3, $sp, 0x1d8 -/* B51A84 800DA8E4 24010017 */ li $at, 23 -/* B51A88 800DA8E8 8DAE0000 */ lw $t6, ($t5) -/* B51A8C 800DA8EC AD6E0000 */ sw $t6, ($t3) -/* B51A90 800DA8F0 8DB80004 */ lw $t8, 4($t5) -/* B51A94 800DA8F4 AD780004 */ sw $t8, 4($t3) -/* B51A98 800DA8F8 93B901D9 */ lbu $t9, 0x1d9($sp) -/* B51A9C 800DA8FC 5721000B */ bnel $t9, $at, .L800DA92C -/* B51AA0 800DA900 8E6800BC */ lw $t0, 0xbc($s3) -/* B51AA4 800DA904 8E6800BC */ lw $t0, 0xbc($s3) -/* B51AA8 800DA908 110000C8 */ beqz $t0, .L800DAC2C -/* B51AAC 800DA90C 3C048015 */ lui $a0, %hi(D_80149060) # $a0, 0x8015 -/* B51AB0 800DA910 24849060 */ addiu $a0, %lo(D_80149060) # addiu $a0, $a0, -0x6fa0 -/* B51AB4 800DA914 8FA501DC */ lw $a1, 0x1dc($sp) -/* B51AB8 800DA918 0C00084C */ jal osSyncPrintf -/* B51ABC 800DA91C 02803025 */ move $a2, $s4 -/* B51AC0 800DA920 100000C2 */ b .L800DAC2C -/* B51AC4 800DA924 8E6800BC */ lw $t0, 0xbc($s3) -/* B51AC8 800DA928 8E6800BC */ lw $t0, 0xbc($s3) -.L800DA92C: -/* B51ACC 800DA92C 110000BF */ beqz $t0, .L800DAC2C -/* B51AD0 800DA930 3C048015 */ lui $a0, %hi(D_80149080) # $a0, 0x8015 -/* B51AD4 800DA934 24849080 */ addiu $a0, %lo(D_80149080) # addiu $a0, $a0, -0x6f80 -/* B51AD8 800DA938 8FA501DC */ lw $a1, 0x1dc($sp) -/* B51ADC 800DA93C 0C00084C */ jal osSyncPrintf -/* B51AE0 800DA940 02803025 */ move $a2, $s4 -/* B51AE4 800DA944 8E6800BC */ lw $t0, 0xbc($s3) -/* B51AE8 800DA948 100000B8 */ b .L800DAC2C -/* B51AEC 800DA94C 00000000 */ nop -glabel L800DA950 -/* B51AF0 800DA950 8FAF0394 */ lw $t7, 0x394($sp) -/* B51AF4 800DA954 27AA01D0 */ addiu $t2, $sp, 0x1d0 -/* B51AF8 800DA958 8DEB0000 */ lw $t3, ($t7) -/* B51AFC 800DA95C AD4B0000 */ sw $t3, ($t2) -/* B51B00 800DA960 8DEC0004 */ lw $t4, 4($t7) -/* B51B04 800DA964 AD4C0004 */ sw $t4, 4($t2) -/* B51B08 800DA968 8E6800BC */ lw $t0, 0xbc($s3) -/* B51B0C 800DA96C 110000AF */ beqz $t0, .L800DAC2C -/* B51B10 800DA970 3C048015 */ lui $a0, %hi(D_801490A4) # $a0, 0x8015 -/* B51B14 800DA974 248490A4 */ addiu $a0, %lo(D_801490A4) # addiu $a0, $a0, -0x6f5c -/* B51B18 800DA978 8FA501D4 */ lw $a1, 0x1d4($sp) -/* B51B1C 800DA97C 0C00084C */ jal osSyncPrintf -/* B51B20 800DA980 02803025 */ move $a2, $s4 -/* B51B24 800DA984 8E6800BC */ lw $t0, 0xbc($s3) -/* B51B28 800DA988 100000A8 */ b .L800DAC2C -/* B51B2C 800DA98C 00000000 */ nop -glabel L800DA990 -/* B51B30 800DA990 8FB80394 */ lw $t8, 0x394($sp) -/* B51B34 800DA994 27AD01C8 */ addiu $t5, $sp, 0x1c8 -/* B51B38 800DA998 8F190000 */ lw $t9, ($t8) -/* B51B3C 800DA99C ADB90000 */ sw $t9, ($t5) -/* B51B40 800DA9A0 8F0E0004 */ lw $t6, 4($t8) -/* B51B44 800DA9A4 ADAE0004 */ sw $t6, 4($t5) -/* B51B48 800DA9A8 8E6800BC */ lw $t0, 0xbc($s3) -/* B51B4C 800DA9AC 1100009F */ beqz $t0, .L800DAC2C -/* B51B50 800DA9B0 3C048015 */ lui $a0, %hi(D_801490C8) # $a0, 0x8015 -/* B51B54 800DA9B4 248490C8 */ addiu $a0, %lo(D_801490C8) # addiu $a0, $a0, -0x6f38 -/* B51B58 800DA9B8 8FA501CC */ lw $a1, 0x1cc($sp) -/* B51B5C 800DA9BC 0C00084C */ jal osSyncPrintf -/* B51B60 800DA9C0 02803025 */ move $a2, $s4 -/* B51B64 800DA9C4 8E6800BC */ lw $t0, 0xbc($s3) -/* B51B68 800DA9C8 10000098 */ b .L800DAC2C -/* B51B6C 800DA9CC 00000000 */ nop -glabel L800DA9D0 -/* B51B70 800DA9D0 8FAF0394 */ lw $t7, 0x394($sp) -/* B51B74 800DA9D4 27AA01C0 */ addiu $t2, $sp, 0x1c0 -/* B51B78 800DA9D8 8DEB0000 */ lw $t3, ($t7) -/* B51B7C 800DA9DC AD4B0000 */ sw $t3, ($t2) -/* B51B80 800DA9E0 8DEC0004 */ lw $t4, 4($t7) -/* B51B84 800DA9E4 AD4C0004 */ sw $t4, 4($t2) -/* B51B88 800DA9E8 8E6800BC */ lw $t0, 0xbc($s3) -/* B51B8C 800DA9EC 1100008F */ beqz $t0, .L800DAC2C -/* B51B90 800DA9F0 3C048015 */ lui $a0, %hi(D_801490F0) # $a0, 0x8015 -/* B51B94 800DA9F4 248490F0 */ addiu $a0, %lo(D_801490F0) # addiu $a0, $a0, -0x6f10 -/* B51B98 800DA9F8 8FA501C4 */ lw $a1, 0x1c4($sp) -/* B51B9C 800DA9FC 0C00084C */ jal osSyncPrintf -/* B51BA0 800DAA00 02803025 */ move $a2, $s4 -/* B51BA4 800DAA04 8E6800BC */ lw $t0, 0xbc($s3) -/* B51BA8 800DAA08 10000088 */ b .L800DAC2C -/* B51BAC 800DAA0C 00000000 */ nop -glabel L800DAA10 -/* B51BB0 800DAA10 8FB80394 */ lw $t8, 0x394($sp) -/* B51BB4 800DAA14 27AD01B8 */ addiu $t5, $sp, 0x1b8 -/* B51BB8 800DAA18 8F190000 */ lw $t9, ($t8) -/* B51BBC 800DAA1C ADB90000 */ sw $t9, ($t5) -/* B51BC0 800DAA20 8F0E0004 */ lw $t6, 4($t8) -/* B51BC4 800DAA24 ADAE0004 */ sw $t6, 4($t5) -/* B51BC8 800DAA28 8E6800BC */ lw $t0, 0xbc($s3) -/* B51BCC 800DAA2C 1100007F */ beqz $t0, .L800DAC2C -/* B51BD0 800DAA30 3C048015 */ lui $a0, %hi(D_80149114) # $a0, 0x8015 -/* B51BD4 800DAA34 24849114 */ addiu $a0, %lo(D_80149114) # addiu $a0, $a0, -0x6eec -/* B51BD8 800DAA38 8FA501BC */ lw $a1, 0x1bc($sp) -/* B51BDC 800DAA3C 0C00084C */ jal osSyncPrintf -/* B51BE0 800DAA40 02803025 */ move $a2, $s4 -/* B51BE4 800DAA44 8E6800BC */ lw $t0, 0xbc($s3) -/* B51BE8 800DAA48 10000078 */ b .L800DAC2C -/* B51BEC 800DAA4C 00000000 */ nop -glabel L800DAA50 -/* B51BF0 800DAA50 8FAF0394 */ lw $t7, 0x394($sp) -/* B51BF4 800DAA54 27AA01B0 */ addiu $t2, $sp, 0x1b0 -/* B51BF8 800DAA58 02602025 */ move $a0, $s3 -/* B51BFC 800DAA5C 8DEB0000 */ lw $t3, ($t7) -/* B51C00 800DAA60 AD4B0000 */ sw $t3, ($t2) -/* B51C04 800DAA64 8DEC0004 */ lw $t4, 4($t7) -/* B51C08 800DAA68 AD4C0004 */ sw $t4, 4($t2) -/* B51C0C 800DAA6C 97AD01B2 */ lhu $t5, 0x1b2($sp) -/* B51C10 800DAA70 97AE0382 */ lhu $t6, 0x382($sp) -/* B51C14 800DAA74 000DC400 */ sll $t8, $t5, 0x10 -/* B51C18 800DAA78 0C035F34 */ jal UCodeDisas_TranslateAddr -/* B51C1C 800DAA7C 030E2825 */ or $a1, $t8, $t6 -/* B51C20 800DAA80 93B901B1 */ lbu $t9, 0x1b1($sp) -/* B51C24 800DAA84 00402825 */ move $a1, $v0 -/* B51C28 800DAA88 8FA301B4 */ lw $v1, 0x1b4($sp) -/* B51C2C 800DAA8C 5720000C */ bnezl $t9, .L800DAAC0 -/* B51C30 800DAA90 8E6800BC */ lw $t0, 0xbc($s3) -/* B51C34 800DAA94 8E6800BC */ lw $t0, 0xbc($s3) -/* B51C38 800DAA98 11000064 */ beqz $t0, .L800DAC2C -/* B51C3C 800DAA9C 3C048015 */ lui $a0, %hi(D_80149138) # $a0, 0x8015 -/* B51C40 800DAAA0 24849138 */ addiu $a0, %lo(D_80149138) # addiu $a0, $a0, -0x6ec8 -/* B51C44 800DAAA4 93A60381 */ lbu $a2, 0x381($sp) -/* B51C48 800DAAA8 8FA70384 */ lw $a3, 0x384($sp) -/* B51C4C 800DAAAC 0C00084C */ jal osSyncPrintf -/* B51C50 800DAAB0 AFA30010 */ sw $v1, 0x10($sp) -/* B51C54 800DAAB4 1000005D */ b .L800DAC2C -/* B51C58 800DAAB8 8E6800BC */ lw $t0, 0xbc($s3) -/* B51C5C 800DAABC 8E6800BC */ lw $t0, 0xbc($s3) -.L800DAAC0: -/* B51C60 800DAAC0 1100005A */ beqz $t0, .L800DAC2C -/* B51C64 800DAAC4 3C048015 */ lui $a0, %hi(D_80149164) # $a0, 0x8015 -/* B51C68 800DAAC8 24849164 */ addiu $a0, %lo(D_80149164) # addiu $a0, $a0, -0x6e9c -/* B51C6C 800DAACC 93A60381 */ lbu $a2, 0x381($sp) -/* B51C70 800DAAD0 8FA70384 */ lw $a3, 0x384($sp) -/* B51C74 800DAAD4 0C00084C */ jal osSyncPrintf -/* B51C78 800DAAD8 AFA30010 */ sw $v1, 0x10($sp) -/* B51C7C 800DAADC 8E6800BC */ lw $t0, 0xbc($s3) -/* B51C80 800DAAE0 10000052 */ b .L800DAC2C -/* B51C84 800DAAE4 00000000 */ nop -/* B51C88 800DAAE8 8FAF0394 */ lw $t7, 0x394($sp) -.L800DAAEC: -/* B51C8C 800DAAEC 27AA0198 */ addiu $t2, $sp, 0x198 -/* B51C90 800DAAF0 24010006 */ li $at, 6 -/* B51C94 800DAAF4 8DEB0000 */ lw $t3, ($t7) -/* B51C98 800DAAF8 AD4B0000 */ sw $t3, ($t2) -/* B51C9C 800DAAFC 8DEC0004 */ lw $t4, 4($t7) -/* B51CA0 800DAB00 AD4C0004 */ sw $t4, 4($t2) -/* B51CA4 800DAB04 93B1019B */ lbu $s1, 0x19b($sp) -/* B51CA8 800DAB08 12210005 */ beq $s1, $at, .L800DAB20 -/* B51CAC 800DAB0C 24010008 */ li $at, 8 -/* B51CB0 800DAB10 52210018 */ beql $s1, $at, .L800DAB74 -/* B51CB4 800DAB14 8E6800BC */ lw $t0, 0xbc($s3) -/* B51CB8 800DAB18 10000022 */ b .L800DABA4 -/* B51CBC 800DAB1C 8E6800BC */ lw $t0, 0xbc($s3) -.L800DAB20: -/* B51CC0 800DAB20 8BB00199 */ lwl $s0, 0x199($sp) -/* B51CC4 800DAB24 9BB0019C */ lwr $s0, 0x19c($sp) -/* B51CC8 800DAB28 8E6D00BC */ lw $t5, 0xbc($s3) -/* B51CCC 800DAB2C 00108402 */ srl $s0, $s0, 0x10 -/* B51CD0 800DAB30 11A00006 */ beqz $t5, .L800DAB4C -/* B51CD4 800DAB34 00108082 */ srl $s0, $s0, 2 -/* B51CD8 800DAB38 3C048015 */ lui $a0, %hi(D_80149194) # $a0, 0x8015 -/* B51CDC 800DAB3C 24849194 */ addiu $a0, %lo(D_80149194) # addiu $a0, $a0, -0x6e6c -/* B51CE0 800DAB40 02002825 */ move $a1, $s0 -/* B51CE4 800DAB44 0C00084C */ jal osSyncPrintf -/* B51CE8 800DAB48 8FA6019C */ lw $a2, 0x19c($sp) -.L800DAB4C: -/* B51CEC 800DAB4C 8FB8019C */ lw $t8, 0x19c($sp) -/* B51CF0 800DAB50 3C0100FF */ lui $at, (0x00FFFFFF >> 16) # lui $at, 0xff -/* B51CF4 800DAB54 3421FFFF */ ori $at, (0x00FFFFFF & 0xFFFF) # ori $at, $at, 0xffff -/* B51CF8 800DAB58 0010C880 */ sll $t9, $s0, 2 -/* B51CFC 800DAB5C 02795021 */ addu $t2, $s3, $t9 -/* B51D00 800DAB60 03017024 */ and $t6, $t8, $at -/* B51D04 800DAB64 AD4E0000 */ sw $t6, ($t2) -/* B51D08 800DAB68 10000030 */ b .L800DAC2C -/* B51D0C 800DAB6C 8E6800BC */ lw $t0, 0xbc($s3) -/* B51D10 800DAB70 8E6800BC */ lw $t0, 0xbc($s3) -.L800DAB74: -/* B51D14 800DAB74 1100002D */ beqz $t0, .L800DAC2C -/* B51D18 800DAB78 00000000 */ nop -/* B51D1C 800DAB7C 8BA50199 */ lwl $a1, 0x199($sp) -/* B51D20 800DAB80 9BA5019C */ lwr $a1, 0x19c($sp) -/* B51D24 800DAB84 3C048015 */ lui $a0, %hi(D_801491B0) # $a0, 0x8015 -/* B51D28 800DAB88 248491B0 */ addiu $a0, %lo(D_801491B0) # addiu $a0, $a0, -0x6e50 -/* B51D2C 800DAB8C 8FA6019C */ lw $a2, 0x19c($sp) -/* B51D30 800DAB90 0C00084C */ jal osSyncPrintf -/* B51D34 800DAB94 00052C02 */ srl $a1, $a1, 0x10 -/* B51D38 800DAB98 10000024 */ b .L800DAC2C -/* B51D3C 800DAB9C 8E6800BC */ lw $t0, 0xbc($s3) -/* B51D40 800DABA0 8E6800BC */ lw $t0, 0xbc($s3) -.L800DABA4: -/* B51D44 800DABA4 11000021 */ beqz $t0, .L800DAC2C -/* B51D48 800DABA8 00000000 */ nop -/* B51D4C 800DABAC 8BA60199 */ lwl $a2, 0x199($sp) -/* B51D50 800DABB0 9BA6019C */ lwr $a2, 0x19c($sp) -/* B51D54 800DABB4 3C048015 */ lui $a0, %hi(D_801491D0) # $a0, 0x8015 -/* B51D58 800DABB8 248491D0 */ addiu $a0, %lo(D_801491D0) # addiu $a0, $a0, -0x6e30 -/* B51D5C 800DABBC 93A5019B */ lbu $a1, 0x19b($sp) -/* B51D60 800DABC0 8FA7019C */ lw $a3, 0x19c($sp) -/* B51D64 800DABC4 0C00084C */ jal osSyncPrintf -/* B51D68 800DABC8 00063402 */ srl $a2, $a2, 0x10 -/* B51D6C 800DABCC 8E6800BC */ lw $t0, 0xbc($s3) -/* B51D70 800DABD0 10000016 */ b .L800DAC2C -/* B51D74 800DABD4 00000000 */ nop -glabel L800DABD8 -/* B51D78 800DABD8 8FAC0394 */ lw $t4, 0x394($sp) -/* B51D7C 800DABDC 27AF018C */ addiu $t7, $sp, 0x18c -/* B51D80 800DABE0 8D8D0000 */ lw $t5, ($t4) -/* B51D84 800DABE4 ADED0000 */ sw $t5, ($t7) -/* B51D88 800DABE8 8D8B0004 */ lw $t3, 4($t4) -/* B51D8C 800DABEC ADEB0004 */ sw $t3, 4($t7) -/* B51D90 800DABF0 8E6800BC */ lw $t0, 0xbc($s3) -/* B51D94 800DABF4 1100000D */ beqz $t0, .L800DAC2C -/* B51D98 800DABF8 3C048015 */ lui $a0, %hi(D_801491E8) # $a0, 0x8015 -/* B51D9C 800DABFC 248491E8 */ addiu $a0, %lo(D_801491E8) # addiu $a0, $a0, -0x6e18 -/* B51DA0 800DAC00 0C00084C */ jal osSyncPrintf -/* B51DA4 800DAC04 8FA50190 */ lw $a1, 0x190($sp) -/* B51DA8 800DAC08 8E6800BC */ lw $t0, 0xbc($s3) -/* B51DAC 800DAC0C 10000007 */ b .L800DAC2C -/* B51DB0 800DAC10 00000000 */ nop -glabel L800DAC14 -.L800DAC14: -/* B51DB4 800DAC14 8E6800BC */ lw $t0, 0xbc($s3) -.L800DAC18: -/* B51DB8 800DAC18 11000004 */ beqz $t0, .L800DAC2C -/* B51DBC 800DAC1C 3C048015 */ lui $a0, %hi(D_80149204) # $a0, 0x8015 -/* B51DC0 800DAC20 0C00084C */ jal osSyncPrintf -/* B51DC4 800DAC24 24849204 */ addiu $a0, %lo(D_80149204) # addiu $a0, $a0, -0x6dfc -/* B51DC8 800DAC28 8E6800BC */ lw $t0, 0xbc($s3) -.L800DAC2C: -/* B51DCC 800DAC2C 11000003 */ beqz $t0, .L800DAC3C -/* B51DD0 800DAC30 3C048015 */ lui $a0, %hi(D_80149218) # $a0, 0x8015 -/* B51DD4 800DAC34 0C00084C */ jal osSyncPrintf -/* B51DD8 800DAC38 24849218 */ addiu $a0, %lo(D_80149218) # addiu $a0, $a0, -0x6de8 -.L800DAC3C: -/* B51DDC 800DAC3C 8FB80394 */ lw $t8, 0x394($sp) -/* B51DE0 800DAC40 8FAE0378 */ lw $t6, 0x378($sp) -/* B51DE4 800DAC44 27190008 */ addiu $t9, $t8, 8 -/* B51DE8 800DAC48 11C0F5FE */ beqz $t6, .L800D8444 -/* B51DEC 800DAC4C AFB90394 */ sw $t9, 0x394($sp) -/* B51DF0 800DAC50 8FBF0134 */ lw $ra, 0x134($sp) -/* B51DF4 800DAC54 8FB00110 */ lw $s0, 0x110($sp) -/* B51DF8 800DAC58 8FB10114 */ lw $s1, 0x114($sp) -/* B51DFC 800DAC5C 8FB20118 */ lw $s2, 0x118($sp) -/* B51E00 800DAC60 8FB3011C */ lw $s3, 0x11c($sp) -/* B51E04 800DAC64 8FB40120 */ lw $s4, 0x120($sp) -/* B51E08 800DAC68 8FB50124 */ lw $s5, 0x124($sp) -/* B51E0C 800DAC6C 8FB60128 */ lw $s6, 0x128($sp) -/* B51E10 800DAC70 8FB7012C */ lw $s7, 0x12c($sp) -/* B51E14 800DAC74 8FBE0130 */ lw $fp, 0x130($sp) -/* B51E18 800DAC78 03E00008 */ jr $ra -/* B51E1C 800DAC7C 27BD0390 */ addiu $sp, $sp, 0x390 \ No newline at end of file diff --git a/src/code/ucode_disas.c b/src/code/ucode_disas.c index 2ba3a5c92e..f94fa5137e 100644 --- a/src/code/ucode_disas.c +++ b/src/code/ucode_disas.c @@ -259,6 +259,57 @@ typedef struct { u32 pad; } Gline3DFix; +typedef struct { + int cmd : 8; + u32 pad : 4; + u32 numv : 8; + s32 pad2 : 4; + u8 vbidx; +} Gvtx; + +typedef struct { + u8 pad : 8; + u8 v0 : 8; + u8 v1 : 8; + u8 v2 : 8; +} Gtrimod; + +typedef struct { + int cmd : 8; + int pad : 24; + Gtrimod tri; +} Gtri1; + +typedef struct { + Gtrimod tri1; + Gtrimod tri2; +} Gtri2; + +typedef struct { + u8 pad : 8; + u8 v0 : 8; + u8 v1 : 8; + u8 v2 : 8; + u8 pad1 : 8; + u8 pad2 : 8; + u8 pad3 : 8; + u8 v3 : 8; +} Gquadmod; + +typedef struct { + u16 pad; + u16 vstart; + u16 pad2; + u16 vend; +} Gcull; + +typedef struct { + u16 pad; + u16 vstart; + u16 pad2; + u16 vend; +} Gbranchz; + typedef struct { int cmd : 8; u8 pad; @@ -278,9 +329,9 @@ typedef struct { } Gsetprimdepth; typedef struct { - s32 cmd : 8; - u32 type : 8; - u32 len : 16; + u8 cmd; + u8 type; + u16 len; union { u32 u32; f32 f32; @@ -322,19 +373,61 @@ typedef struct { u32 data : 32; } GsetothermodeMod; +typedef struct { + s32 cmd : 8; + u32 offset : 16; + u32 index : 8; + u32 data; +} Gmovewd; + +typedef struct { + s32 cmd : 8; + u32 size : 8; + u32 offset : 8; + u32 index : 8; + u32 data; +} Gmovemem; + +typedef struct { + u8 cmd : 8; + u8 lodscale : 8; + u8 pad : 2; + u8 level : 3; + u8 tile : 3; + + unsigned char on; + unsigned short s; + unsigned short t; +} Gtexturemod; + +typedef struct { + int cmd : 8; + int pad1 : 24; + u32 param : 26; + unsigned char pad3 : 6; +} Gpopmtxmod; + typedef union { Gwords words; Gnoop noop; Gmatrix matrix; Gdma dma; - Gtri tri; + Gtri1 tri1; + Gtri2 tri2; + Gquadmod quad; + Gcull cull; Gline3D line; + Gline3DFix linefix; + Gmovewd movewd; + Gmovemem movemem; Gpopmtx popmtx; + Gpopmtxmod popmtxmod; Gsegment segment; GsetothermodeH setothermodeH; GsetothermodeL setothermodeL; GsetothermodeMod setothermode; Gtexture texture; + Gtexturemod texmod; Gperspnorm perspnorm; Gsetimg setimg; GsetcombineMod setcombine; @@ -345,174 +438,146 @@ typedef union { Gsettilesize settilesize; Gloadtlut loadtlut; Gsetprimdepth setprimdepth; + Gvtx vtx; long long int force_structure_alignment; } GfxMod; -#ifdef NON_EQUIVALENT -void UCodeDisas_Disassemble(UCodeDisas* this, u32 ptr) { - GfxMod* gfx; // 0x394 -> s5 - u32 exit; // 0x378 -> 0x308 +void UCodeDisas_Disassemble(UCodeDisas* this, GfxMod* ptr) { + u32 pad; u32 addr; - s32 i0; - u32 rdpHalf; // 0x384 -> 0x2FC + u32 rdpHalf; u16 linkDlLow; u8 sid; - GfxMod curGfx; // 0x370 -> 0x2F0 (pointer to it in s8) - u8 cmd; // s1 + u8 cmd; + s32 i0; + u32 exit; + GfxMod curGfx[1]; - gfx = ptr; exit = false; while (!exit) { this->dlCnt++; - gfx = UCodeDisas_TranslateAddr(this, gfx); - DISAS_LOG("%08x:", gfx); + ptr = UCodeDisas_TranslateAddr(this, ptr); + DISAS_LOG("%08x:", ptr); - curGfx = *gfx; - cmd = curGfx.dma.cmd; - addr = UCodeDisas_TranslateAddr(this, curGfx.dma.addr); + *curGfx = *ptr; + cmd = curGfx->dma.cmd; + addr = UCodeDisas_TranslateAddr(this, curGfx->dma.addr); - DISAS_LOG("%08x-%08x:", curGfx.words.w0, curGfx.words.w1); + DISAS_LOG("%08x-%08x:", curGfx->words.w0, curGfx->words.w1); for (i0 = 0; i0 < this->dlDepth; i0++) { DISAS_LOG(" "); } - // 848 switch (cmd) { case G_SPNOOP: { - // 850 DISAS_LOG("gsSPNoOp(),"); - break; - } + } break; + case G_DL: { - // 878 - Gdma dma = gfx->dma; - switch (dma.par) // minor reordering (branch instruction) - { + Gdma dma = ptr->dma; + + switch (dma.par) { case 0: { - // 8B0 DISAS_LOG("gsSPDisplayList(0x%08x),", dma.addr); - this->dlStack[this->dlDepth++] = gfx + 1; - gfx = (GfxMod*)addr - 1; - break; - } + this->dlStack[this->dlDepth++] = (u32)(ptr + 1); + ptr = (GfxMod*)addr - 1; + } break; + case 1: { - // 900 DISAS_LOG("gsSPBranchList(0x%08x),", dma.addr); - gfx = (GfxMod*)addr - 1; - break; - } + ptr = (GfxMod*)addr - 1; + } break; } - break; - } + } break; + case G_RDPHALF_1: { - // 928 - DISAS_LOG("RDPHALF_1(0x%08x),", curGfx.dma.addr); - rdpHalf = curGfx.dma.addr; - break; - } - case G_TEXRECT: // small reordering - { - // 94C - Gtexrect rect = *(Gtexrect*)gfx; - DISAS_LOG("gsSPTextureRectangle(%d,%d,%d,%d,%d,%d,%d,%d,%d),", rect.xh, rect.yh, rect.xl, rect.yl, - rect.tile, gfx[1].words.w1 >> 16, gfx[1].words.w1 & 0xFFFF, gfx[2].words.w1 >> 16, - gfx[2].words.w1 & 0xFFFF); + DISAS_LOG("RDPHALF_1(0x%08x),", curGfx->dma.addr); + rdpHalf = curGfx->dma.addr; + } break; - gfx += 3 - 1; + case G_TEXRECT: { + Gtexrect rect = *(Gtexrect*)ptr; + + DISAS_LOG("gsSPTextureRectangle(%d,%d,%d,%d,%d,%d,%d,%d,%d),", rect.xl, rect.yl, rect.xh, rect.yh, + rect.tile, ptr[1].words.w1 >> 16, ptr[1].words.w1 & 0xFFFF, ptr[2].words.w1 >> 16, + ptr[2].words.w1 & 0xFFFF); + + ptr += 3 - 1; this->pipeSyncRequired = true; + } break; - break; - } - case G_LOAD_UCODE: // len loaded from sp+2F2 instead of s8+2 - { - // A08 - u16 len = curGfx.dma.len; - if (len == 0x7FF) { - // A1C - DISAS_LOG("gsSPLoadUcode(0x%08x, 0x%08x),", curGfx.dma.addr, rdpHalf); + case G_LOAD_UCODE: { + if (curGfx->dma.len == 0x7ff) { + DISAS_LOG("gsSPLoadUcode(0x%08x, 0x%08x),", curGfx->dma.addr, rdpHalf); } else { - // A3C - DISAS_LOG("gsSPLoadUcodeEx(0x%08x, 0x%08x, 0x%05x),", curGfx.dma.addr, rdpHalf, len + 1); + DISAS_LOG("gsSPLoadUcodeEx(0x%08x, 0x%08x, 0x%05x),", curGfx->dma.addr, rdpHalf, + curGfx->dma.len + 1); } - // A5C - UCodeDisas_SetCurUCodeImpl(this, (void*)UCodeDisas_TranslateAddr(this, curGfx.dma.addr)); + UCodeDisas_SetCurUCodeImpl(this, (void*)UCodeDisas_TranslateAddr(this, curGfx->dma.addr)); this->loaducodeCnt++; - break; - } + } break; + case G_ENDDL: { - // A84 DISAS_LOG("gsSPEndDisplayList(),"); if (this->dlDepth <= 0) { - // AA0 exit = true; } else { - // AB0 - GfxMod* ret = (GfxMod*)this->dlStack[--this->dlDepth]; - gfx = ret - 1; + ptr = (GfxMod*)this->dlStack[--this->dlDepth] - 1; } - break; - } - case G_SETTILE: // reordering - { - // AD4 - Gsettile settile = gfx->settile; + } break; + + case G_SETTILE: { + Gsettile settile = ptr->settile; + DISAS_LOG("gsDPSetTile(%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d,%d),", settile.fmt, settile.siz, settile.line, - settile.tmem, settile.tile, settile.palette, (settile.ct << 2) + (settile.mt), settile.maskt, - settile.shiftt, (settile.cs << 2) + (settile.ms), settile.masks, settile.shifts); + settile.tmem, settile.tile, settile.palette, (settile.ct << 1) + settile.mt, settile.maskt, + settile.shiftt, (settile.cs << 1) + settile.ms, settile.masks, settile.shifts); if (this->tileSyncRequired) { - // BB8 DISAS_LOG("### TileSyncが必要です。\n"); this->syncErr++; } - break; - } - case G_LOADTILE: // minor reordering (branch instruction) - { - // BE0 - Gloadtile loadtile = gfx->loadtile; - DISAS_LOG("gsDPLoadTile(%d,%d,%d,%d,%d),", loadtile.tile, loadtile.sh, loadtile.th, loadtile.sl, - loadtile.tl); - break; - } - // starting here, replacing gfx with curGfx breaks everything for some reason - case G_LOADBLOCK: // gfx instead of curGfx(?) - { - // C4C - Gloadtile loadtile = curGfx.loadtile; - DISAS_LOG("gsDPLoadBlock(%d,%d,%d,%d,%d),", loadtile.tile, loadtile.sh, loadtile.th, loadtile.sl, - loadtile.tl); + } break; + + case G_LOADTILE: { + Gloadtile loadtile = ptr->loadtile; + + DISAS_LOG("gsDPLoadTile(%d,%d,%d,%d,%d),", loadtile.tile, loadtile.sl, loadtile.tl, loadtile.sh, + loadtile.th); + } break; + + case G_LOADBLOCK: { + Gloadtile loadtile = ptr->loadtile; + + DISAS_LOG("gsDPLoadBlock(%d,%d,%d,%d,%d),", loadtile.tile, loadtile.sl, loadtile.tl, loadtile.sh, + loadtile.th); + if (this->loadSyncRequired) { - // CB8 DISAS_LOG("### LoadSyncが必要です。\n"); this->syncErr++; } - // CDC this->pipeSyncRequired = true; - break; - } - case G_SETTILESIZE: // gfx instead of curGfx(?) + minor reordering (branch instruction) - { - // CE8 - Gloadtile loadtile = curGfx.loadtile; - DISAS_LOG("gsDPSetTileSize(%d,%d,%d,%d,%d),", loadtile.tile, loadtile.sh, loadtile.th, loadtile.sl, - loadtile.tl); - break; - } - case G_LOADTLUT: // gfx instead of curGfx(?) + minor reordering (branch instruction) - { - // D54 - Gloadtlut loadtlut = curGfx.loadtlut; + } break; + + case G_SETTILESIZE: { + Gloadtile loadtile = ptr->loadtile; + + DISAS_LOG("gsDPSetTileSize(%d,%d,%d,%d,%d),", loadtile.tile, loadtile.sl, loadtile.tl, loadtile.sh, + loadtile.th); + } break; + + case G_LOADTLUT: { + Gloadtlut loadtlut = ptr->loadtlut; + DISAS_LOG("gsDPLoadTLUTCmd(%d,%d),", loadtlut.tile, loadtlut.sh >> 2); - break; - } - case G_SETCOMBINE: // gfx instead of curGfx(?) + minor reordering (branch instruction) - { - // DA8 - GsetcombineMod setcombine = curGfx.setcombine; + } break; + + case G_SETCOMBINE: { + GsetcombineMod setcombine = ptr->setcombine; + DISAS_LOG("gsDPSetCombineLERP(%s,%s,%s,%s, %s,%s,%s,%s, %s,%s,%s,%s, %s,%s,%s,%s),", UCodeDisas_ParseCombineColor(setcombine.a, 1), UCodeDisas_ParseCombineColor(setcombine.b, 2), UCodeDisas_ParseCombineColor(setcombine.c, 3), UCodeDisas_ParseCombineColor(setcombine.d, 4), @@ -526,17 +591,13 @@ void UCodeDisas_Disassemble(UCodeDisas* this, u32 ptr) { UCodeDisas_ParseCombineAlpha(setcombine.v, 1), UCodeDisas_ParseCombineAlpha(setcombine.u, 2), UCodeDisas_ParseCombineAlpha(setcombine.t, 3), UCodeDisas_ParseCombineAlpha(setcombine.s, 4)); - // F98 if (this->pipeSyncRequired) { - // FA8 DISAS_LOG("### PipeSyncが必要です。\n"); this->syncErr++; } - break; - } - case G_SETOTHERMODE_H: // small reordering - { - // FD0 + } break; + + case G_SETOTHERMODE_H: { static F3dzexSetModeMacro sUCodeDisasModeHMacros[] = { F3DZEX_SETRENDERMACRO("SetAlphaDither", G_MDSFT_ALPHADITHER, 2, G_AD_PATTERN, G_AD_NOTPATTERN, G_AD_NOISE, G_AD_DISABLE), @@ -560,18 +621,16 @@ void UCodeDisas_Disassemble(UCodeDisas* this, u32 ptr) { -1), }; - u32 len = curGfx.setothermode.len + 1; - u32 sft = (-curGfx.setothermode.sft - len) + 32; + u32 len = curGfx->setothermode.len + 1; + u32 sft = (-curGfx->setothermode.sft - len) + 32; + u32 s2 = curGfx->setothermode.data * 1; u32 i1; u32 i2; for (i1 = 0; i1 < ARRAY_COUNTU(sUCodeDisasModeHMacros); i1++) { - // 1004 if (sft == sUCodeDisasModeHMacros[i1].shift) { for (i2 = 0; i2 < 4; i2++) { - // 102C ? - if (curGfx.setothermode.data == sUCodeDisasModeHMacros[i1].values[i2].value) { - // 1038 + if (s2 == sUCodeDisasModeHMacros[i1].values[i2].value) { DISAS_LOG("gsDP%s(%s),", sUCodeDisasModeHMacros[i1].name, sUCodeDisasModeHMacros[i1].values[i2].name); goto block_1; @@ -579,49 +638,41 @@ void UCodeDisas_Disassemble(UCodeDisas* this, u32 ptr) { } } } - // 1078 - DISAS_LOG("gsSPSetOtherModeH(%d, %d, 0x%08x),", sft, len, curGfx.setothermode.data); - block_1: - // 1098 - this->modeH &= (((1 - (1 << len)) << sft) - 1); - this->modeH |= curGfx.setothermode.data; + DISAS_LOG("gsSPSetOtherModeH(%d, %d, 0x%08x),", sft, len, s2); + + block_1: + this->modeH &= (((1 - (1 << len)) << sft) - 1); + this->modeH |= s2; - // 10C0 if (this->pipeSyncRequired) { DISAS_LOG("### PipeSyncが必要です。\n"); this->syncErr++; } - break; - } - case G_SETOTHERMODE_L: // small reordering + (i1 != 2) instead of (i1 < 2) - { - // 10F0 + } break; + + case G_SETOTHERMODE_L: { static F3dzexSetModeMacro sUCodeDisasModeLMacros[] = { F3DZEX_SETRENDERMACRO("gsDPSetAlphaCompare", G_MDSFT_ALPHACOMPARE, 2, G_AC_NONE, G_AC_THRESHOLD, G_AC_DITHER, -1), F3DZEX_SETRENDERMACRO("gsDPSetDepthSource", G_MDSFT_ZSRCSEL, 1, G_ZS_PIXEL, G_ZS_PRIM, -1, -1), }; - u32 len = curGfx.setothermode.len + 1; - u32 sft = (-curGfx.setothermode.sft - len) + 32; + u32 len = curGfx->setothermode.len + 1; + u32 sft = (-curGfx->setothermode.sft - len) + 32; + u32 s2 = curGfx->setothermode.data * 1; u32 i1; u32 i2; - // 1114 if (sft == G_MDSFT_RENDERMODE) { - // 111C DISAS_LOG("\ngsDPSetRenderBlender("); - UCodeDisas_ParseRenderMode(this, curGfx.setothermode.data); + UCodeDisas_ParseRenderMode(this, s2); DISAS_LOG("\n),"); } else { - // 1154 - // checks (i1 != 2) instead of (i1 < 2) for some reason (this does not happen above) - for (i1 = 0; i1 < ARRAY_COUNTU(sUCodeDisasModeLMacros); i1++) { + for (i1 = 0; i1 * 1 < ARRAY_COUNTU(sUCodeDisasModeLMacros); i1++) { if (sft == sUCodeDisasModeLMacros[i1].shift) { for (i2 = 0; i2 < 4; i2++) { - if (curGfx.setothermode.data == sUCodeDisasModeLMacros[i1].values[i2].value) { - // 1198 + if (s2 == sUCodeDisasModeLMacros[i1].values[i2].value) { DISAS_LOG("gsDP%s(%s),", sUCodeDisasModeLMacros[i1].name, sUCodeDisasModeLMacros[i1].values[i2].name); goto block_2; @@ -629,299 +680,257 @@ void UCodeDisas_Disassemble(UCodeDisas* this, u32 ptr) { } } } - // 11D8 - DISAS_LOG("gsSPSetOtherModeL(%d, %d, 0x%08x),", sft, len, curGfx.setothermode.data); + DISAS_LOG("gsSPSetOtherModeL(%d, %d, 0x%08x),", sft, len, s2); } + block_2: - // 11F4 this->modeL &= (((1 - (1 << len)) << sft) - 1); - this->modeL |= curGfx.setothermode.data; + this->modeL |= s2; if (this->pipeSyncRequired) { DISAS_LOG("### PipeSyncが必要です。\n"); this->syncErr++; } - break; - } + } break; + case G_RDPSETOTHERMODE: { - // 1250 - DISAS_LOG("gsDPSetOtherMode(0x%08x, 0x%08x),", curGfx.words.w0 & 0xFFFFFF, curGfx.words.w1); - this->modeH = curGfx.words.w0 & 0xFFF; - this->modeL = curGfx.words.w1; + DISAS_LOG("gsDPSetOtherMode(0x%08x, 0x%08x),", curGfx->words.w0 & 0xFFFFFF, curGfx->words.w1); + this->modeH = curGfx->words.w0 & 0xfff; + this->modeL = curGfx->words.w1; if (this->pipeSyncRequired) { DISAS_LOG("### PipeSyncが必要です。\n"); this->syncErr++; } - break; - } - case G_SETSCISSOR: // gfx instead of curGfx(?) + reordering - { - // 12C0 - Gfillrect setscissor = curGfx.fillrect; + } break; + + case G_SETSCISSOR: { + Gfillrect setscissor = ptr->fillrect; const char* modeStr; - modeStr = (setscissor.pad == G_SC_NON_INTERLACE) - ? "G_SC_NON_INTERLACE" - : (setscissor.pad == G_SC_ODD_INTERLACE) - ? "G_SC_ODD_INTERLACE" - : (setscissor.pad == G_SC_EVEN_INTERLACE) ? "G_SC_EVEN_INTERLACE" : "???"; + modeStr = (setscissor.pad == G_SC_NON_INTERLACE) ? "G_SC_NON_INTERLACE" + : (setscissor.pad == G_SC_ODD_INTERLACE) ? "G_SC_ODD_INTERLACE" + : (setscissor.pad == G_SC_EVEN_INTERLACE) ? "G_SC_EVEN_INTERLACE" + : "???"; + if ((setscissor.x0frac | setscissor.y0frac | setscissor.x1frac | setscissor.y1frac)) { - // 1368 - // reordering here + if (1) {} DISAS_LOG("gsDPSetScissorFrac(%s, %d, %d, %d, %d),", modeStr, (setscissor.x0 << 2) + setscissor.x0frac, (setscissor.y0 << 2) + setscissor.y0frac, (setscissor.x1 << 2) + setscissor.x1frac, (setscissor.y1 << 2) + setscissor.y1frac); } else { - // 13E8 DISAS_LOG("gsDPSetScissor(%s, %d, %d, %d, %d),", modeStr, setscissor.x0, setscissor.y0, setscissor.x1, setscissor.y1); } - break; - } - case G_FILLRECT: // gfx instead of curGfx(?) - { - // 1438 - Gfillrect fillrect = curGfx.fillrect; + } break; - DISAS_LOG("gsDPFillRectangle(%d, %d, %d, %d),", fillrect.x0, fillrect.y0, fillrect.x1, fillrect.y1); + case G_FILLRECT: { + Gfillrect fillrect = ptr->fillrect; + + DISAS_LOG("gsDPFillRectangle(%d, %d, %d, %d),", fillrect.x1, fillrect.y1, fillrect.x0, fillrect.y0); this->pipeSyncRequired = true; - break; - } - case G_SETCIMG: // reordering - { - // 14a4 - u8 fmt = (curGfx.words.w0 & 0xE00000) >> 0x15; - u8 siz = (curGfx.words.w0 & 0x180000) >> 0x13; + } break; + + case G_SETCIMG: { + u32 fmt = ((curGfx->words.w0 & 0xE00000) >> 0x15) & 0xff; + u32 siz = ((curGfx->words.w0 & 0x180000) >> 0x13) & 0xff; DISAS_LOG("gsDPSetColorImage(G_IM_FMT_%s, G_IM_SIZ_%s, %d, 0x%08x(0x%08x) ),", - (fmt == G_IM_FMT_RGBA) - ? "RGBA" - : (fmt == G_IM_FMT_YUV) ? "YUV" - : (fmt == G_IM_FMT_CI) ? "CI" : (fmt == G_IM_FMT_IA) ? "IA" : "I", - (siz == G_IM_SIZ_4b) ? "4b" - : (siz == G_IM_SIZ_8b) ? "8b" : (siz == G_IM_SIZ_16b) ? "16b" : "32b", - curGfx.setimg.wd + 1, curGfx.setimg.dram, addr); + (fmt == G_IM_FMT_RGBA) ? "RGBA" + : (fmt == G_IM_FMT_YUV) ? "YUV" + : (fmt == G_IM_FMT_CI) ? "CI" + : (fmt == G_IM_FMT_IA) ? "IA" + : "I", + (siz == G_IM_SIZ_4b) ? "4b" + : (siz == G_IM_SIZ_8b) ? "8b" + : (siz == G_IM_SIZ_16b) ? "16b" + : "32b", + (curGfx->dma.len & 0xfff) + 1, curGfx->setimg.dram, addr); if (this->pipeSyncRequired) { DISAS_LOG("### PipeSyncが必要です。\n"); this->syncErr++; } - break; - } + } break; + case G_SETZIMG: { - // 15E0 - DISAS_LOG("gsDPSetDepthImage(0x%08x(0x%08x)),", curGfx.words.w1, addr); + DISAS_LOG("gsDPSetDepthImage(0x%08x(0x%08x)),", curGfx->words.w1, addr); if (this->pipeSyncRequired) { DISAS_LOG("### PipeSyncが必要です。\n"); this->syncErr++; } - break; - } - case G_SETTIMG: // reordering - { - // 1630 - u8 fmt = (curGfx.words.w0 & 0xE00000) >> 0x15; - u8 siz = (curGfx.words.w0 & 0x180000) >> 0x13; + } break; + + case G_SETTIMG: { + u32 fmt = ((curGfx->words.w0 & 0xE00000) >> 0x15) & 0xff; + u32 siz = ((curGfx->words.w0 & 0x180000) >> 0x13) & 0xff; DISAS_LOG("gsDPSetTextureImage(G_IM_FMT_%s, G_IM_SIZ_%s, %d, 0x%08x(0x%08x)),", - (fmt == G_IM_FMT_RGBA) - ? "RGBA" - : (fmt == G_IM_FMT_YUV) ? "YUV" - : (fmt == G_IM_FMT_CI) ? "CI" : (fmt == G_IM_FMT_IA) ? "IA" : "I", - (siz == G_IM_SIZ_4b) ? "4b" - : (siz == G_IM_SIZ_8b) ? "8b" : (siz == G_IM_SIZ_16b) ? "16b" : "32b", - curGfx.setimg.wd + 1, curGfx.setimg.dram, addr); - break; - } - case G_SETENVCOLOR: // minor reordering - { - // 1740 - DISAS_LOG("gsDPSetEnvColor(%d, %d, %d, %d),", curGfx.setcolor.r, curGfx.setcolor.g, curGfx.setcolor.b, - curGfx.setcolor.a); + (fmt == G_IM_FMT_RGBA) ? "RGBA" + : (fmt == G_IM_FMT_YUV) ? "YUV" + : (fmt == G_IM_FMT_CI) ? "CI" + : (fmt == G_IM_FMT_IA) ? "IA" + : "I", + (siz == G_IM_SIZ_4b) ? "4b" + : (siz == G_IM_SIZ_8b) ? "8b" + : (siz == G_IM_SIZ_16b) ? "16b" + : "32b", + (curGfx->dma.len & 0xfff) + 1, curGfx->setimg.dram, addr); + } break; + + case G_SETENVCOLOR: { + DISAS_LOG("gsDPSetEnvColor(%d, %d, %d, %d),", curGfx->setcolor.r, curGfx->setcolor.g, + curGfx->setcolor.b, curGfx->setcolor.a); if (this->pipeSyncRequired) { DISAS_LOG("### PipeSyncが必要です。\n"); this->syncErr++; } - break; - } - case G_SETBLENDCOLOR: // minor reordering - { - // 17A0 - DISAS_LOG("gsDPSetBlendColor(%d, %d, %d, %d),", curGfx.setcolor.r, curGfx.setcolor.g, curGfx.setcolor.b, - curGfx.setcolor.a); + } break; + + case G_SETBLENDCOLOR: { + DISAS_LOG("gsDPSetBlendColor(%d, %d, %d, %d),", curGfx->setcolor.r, curGfx->setcolor.g, + curGfx->setcolor.b, curGfx->setcolor.a); if (this->pipeSyncRequired) { DISAS_LOG("### PipeSyncが必要です。\n"); this->syncErr++; } - break; - } - case G_SETFOGCOLOR: // minor reordering - { - // 1800 - DISAS_LOG("gsDPSetFogColor(%d, %d, %d, %d),", curGfx.setcolor.r, curGfx.setcolor.g, curGfx.setcolor.b, - curGfx.setcolor.a); + } break; + + case G_SETFOGCOLOR: { + DISAS_LOG("gsDPSetFogColor(%d, %d, %d, %d),", curGfx->setcolor.r, curGfx->setcolor.g, + curGfx->setcolor.b, curGfx->setcolor.a); if (this->pipeSyncRequired) { DISAS_LOG("### PipeSyncが必要です。\n"); this->syncErr++; } - break; - } + } break; + case G_SETFILLCOLOR: { - // 1860 - DISAS_LOG("gsDPSetFillColor(0x%08x),", curGfx.words.w1); + DISAS_LOG("gsDPSetFillColor(0x%08x),", curGfx->words.w1); if (this->pipeSyncRequired) { DISAS_LOG("### PipeSyncが必要です。\n"); this->syncErr++; } - break; - } + } break; + case G_SETPRIMDEPTH: { - // 18AC - DISAS_LOG("gsDPSetPrimDepth(%d, %d),", curGfx.setprimdepth.z, curGfx.setprimdepth.d); + DISAS_LOG("gsDPSetPrimDepth(%d, %d),", curGfx->setprimdepth.z, curGfx->setprimdepth.d); if (this->pipeSyncRequired) { DISAS_LOG("### PipeSyncが必要です。\n"); this->syncErr++; } - break; - } - case G_SETPRIMCOLOR: // reordering - { - // 18FC - DISAS_LOG("gsDPSetPrimColor(%d, %d, %d, %d, %d, %d),", curGfx.setcolor.prim_min_level, - curGfx.setcolor.prim_level, curGfx.setcolor.r, curGfx.setcolor.g, curGfx.setcolor.b, - curGfx.setcolor.a); - break; - } + } break; + + case G_SETPRIMCOLOR: { + DISAS_LOG("gsDPSetPrimColor(%d, %d, %d, %d, %d, %d),", curGfx->setcolor.prim_min_level, + curGfx->setcolor.prim_level, curGfx->setcolor.r, curGfx->setcolor.g, curGfx->setcolor.b, + curGfx->setcolor.a); + } break; + case G_RDPFULLSYNC: { - // 1940 DISAS_LOG("gsDPFullSync(),"); + if (this->pipeSyncRequired) { DISAS_LOG("### PipeSyncが必要です。\n"); this->syncErr++; } - break; - } + } break; + case G_RDPTILESYNC: { - // 1988 DISAS_LOG("gsDPTileSync(),"); this->tileSyncRequired = false; - break; - } + } break; + case G_RDPPIPESYNC: { - // 19A8 DISAS_LOG("gsDPPipeSync(),"); this->pipeSyncRequired = false; - break; - } + } break; + case G_RDPLOADSYNC: { - // 19C8 DISAS_LOG("gsDPLoadSync(),"); this->loadSyncRequired = false; - break; - } + } break; + case G_NOOP: { - // 19E8 - switch (curGfx.noop.type) { - case 0: // curGfx.noop.value.u32 should be reused - { - // 1A10 - if (curGfx.noop.value.u32 == 0) { + switch (curGfx->noop.type) { + case 0: { + if (curGfx->noop.value.u32 == 0) { DISAS_LOG("gsDPNoOp(),"); } else { - DISAS_LOG("gsDPNoOpTag(%08x),", curGfx.noop.value.u32); + DISAS_LOG("gsDPNoOpTag(%08x),", curGfx->noop.value.u32); } - break; - } + } break; + case 1: { - // 1A4C - DISAS_LOG("count_gsDPNoOpHere([%s:%d]),", curGfx.noop.value.u32, curGfx.dma.len); - break; - } + DISAS_LOG("count_gsDPNoOpHere([%s:%d]),", curGfx->noop.value.u32, curGfx->noop.len); + } break; + case 7: { - // 1A6C - DISAS_LOG("count_gsDPNoOpOpenDisp([%s:%d]),", curGfx.noop.value.u32, curGfx.noop.len); - break; - } + DISAS_LOG("count_gsDPNoOpOpenDisp([%s:%d]),", curGfx->noop.value.u32, curGfx->noop.len); + } break; + case 8: { - // 1A8C - DISAS_LOG("count_gsDPNoOpCloseDisp([%s:%d]),", curGfx.noop.value.u32, curGfx.noop.len); - break; - } - case 2: // minor reordering - { - // 1AAC - DISAS_LOG("count_gsDPNoOpString(%c%s%c, %d),", '"', curGfx.noop.value.u32, '"', - curGfx.noop.len); - break; - } + DISAS_LOG("count_gsDPNoOpCloseDisp([%s:%d]),", curGfx->noop.value.u32, curGfx->noop.len); + } break; + + case 2: { + DISAS_LOG("count_gsDPNoOpString(%c%s%c, %d),", '"', curGfx->noop.value.u32, '"', + curGfx->noop.len); + } break; + case 3: { - // 1AD8 - DISAS_LOG("count_gsDPNoOpWord(0x%08x, %d),", curGfx.noop.value.u32, curGfx.noop.len); - break; - } + DISAS_LOG("count_gsDPNoOpWord(0x%08x, %d),", curGfx->noop.value.u32, curGfx->noop.len); + } break; + case 4: { - // 1AFC - DISAS_LOG("count_gsDPNoOpFloat(%8.3f, %d),", curGfx.noop.value.f32, curGfx.noop.len); - break; - } - case 5: // missing a move - { - // 1B30 - if (curGfx.noop.len == 0) { + DISAS_LOG("count_gsDPNoOpFloat(%8.3f, %d),", curGfx->noop.value.f32, curGfx->noop.len); + } break; + + case 5: { + if (curGfx->noop.len == 0) { DISAS_LOG("count_gsDPNoOpQuiet(),"); } else { DISAS_LOG("count_gsDPNoOpVerbose(),"); } - this->enableLog = curGfx.noop.len; - break; - } + this->enableLog = curGfx->noop.len; + } break; + case 6: { - // 1B74 /*! @bug arguments are not printed */ DISAS_LOG("count_gsDPNoOpCallBack(%08x,%d),"); - ((void (*)(UCodeDisas*, u32))curGfx.noop.value.u32)(this, curGfx.noop.len); - break; - } - default: // curGfx.noop.type seems reused - { - // 1BA0 - DISAS_LOG("gsDPNoOpTag3(%02x, %08x, %04x),", curGfx.noop.type, curGfx.noop.value.u32, - curGfx.noop.len); - break; - } + ((void (*)(UCodeDisas*, u32))curGfx->noop.value.u32)(this, curGfx->noop.len); + } break; + + default: { + DISAS_LOG("gsDPNoOpTag3(%02x, %08x, %04x),", curGfx->noop.type, curGfx->noop.value.u32, + curGfx->noop.len); + } break; } - break; - } + } break; + default: { - // 1BBC - // there's a problem here switch (this->ucodeType) { case UCODE_F3DZEX: case UCODE_UNK: { - // 1BE8 - switch (curGfx.dma.cmd) // which one to choose here? - { - case G_MTX: // gfx instead of curGfx(?) + lbu -> lb + reordering - { - // 1C3C - Gmatrix gmtx = curGfx.matrix; - MtxF mtx; - MatrixInternal* mtxp = (MatrixInternal*)addr; - s32 i1; + switch (cmd) { + case G_MTX: { + Gmatrix gmtx = ptr->matrix; u32 params; + MtxF mtx; + s32 i1 = 0; + DISAS_LOG("gsSPMatrix(0x%08x(%08x), 0", gmtx.addr, addr); params = (gmtx.params ^ G_MTX_PUSH); - for (i1 = 0; i1 < ARRAY_COUNT(sUCodeDisasMtxFlags); i1++) { + for (; i1 != ARRAY_COUNT(sUCodeDisasMtxFlags); i1++) { DISAS_LOG("|%s", (sUCodeDisasMtxFlags[i1].value & params) ? sUCodeDisasMtxFlags[i1].setName : sUCodeDisasMtxFlags[i1].unsetName); @@ -929,7 +938,7 @@ void UCodeDisas_Disassemble(UCodeDisas* this, u32 ptr) { DISAS_LOG("),", gmtx.addr); /*! @bug gmtx.addr shouldn't be here*/ if (this->enableLog >= 2) { - MtxConv_L2F(&mtx, mtxp); + MtxConv_L2F(&mtx, ((MatrixInternal*)addr)); DISAS_LOG("\n"); /*! @bug %.04x.%04x is a typo, should be %04x.%04x */ DISAS_LOG( @@ -939,34 +948,41 @@ void UCodeDisas_Disassemble(UCodeDisas* this, u32 ptr) { "| %04x.%04x %04x.%04x %04x.%04x %.04x.%04x || %12.6f %12.6f %12.6f %12.6f |\n" "\\ %04x.%04x %04x.%04x %04x.%04x %.04x.%04x /\\ %12.6f %12.6f %12.6f %12.6f " "/\n", - mtxp->intPart[0][0], mtxp->fracPart[0][0], mtxp->intPart[1][0], - mtxp->fracPart[1][0], mtxp->intPart[2][0], mtxp->fracPart[2][0], - mtxp->intPart[3][0], mtxp->fracPart[3][0], mtx.mf[0][0], mtx.mf[1][0], - mtx.mf[2][0], mtx.mf[3][0], + ((MatrixInternal*)addr)->intPart[0][0], ((MatrixInternal*)addr)->fracPart[0][0], + ((MatrixInternal*)addr)->intPart[1][0], ((MatrixInternal*)addr)->fracPart[1][0], + ((MatrixInternal*)addr)->intPart[2][0], ((MatrixInternal*)addr)->fracPart[2][0], + ((MatrixInternal*)addr)->intPart[3][0], ((MatrixInternal*)addr)->fracPart[3][0], + mtx.mf[0][0], mtx.mf[1][0], mtx.mf[2][0], mtx.mf[3][0], - mtxp->intPart[0][1], mtxp->fracPart[0][1], mtxp->intPart[1][1], - mtxp->fracPart[1][1], mtxp->intPart[2][1], mtxp->fracPart[2][1], - mtxp->intPart[3][1], mtxp->fracPart[3][1], mtx.mf[0][1], mtx.mf[1][1], - mtx.mf[2][1], mtx.mf[3][1], + ((MatrixInternal*)addr)->intPart[0][1], ((MatrixInternal*)addr)->fracPart[0][1], + ((MatrixInternal*)addr)->intPart[1][1], ((MatrixInternal*)addr)->fracPart[1][1], + ((MatrixInternal*)addr)->intPart[2][1], ((MatrixInternal*)addr)->fracPart[2][1], + ((MatrixInternal*)addr)->intPart[3][1], ((MatrixInternal*)addr)->fracPart[3][1], + mtx.mf[0][1], mtx.mf[1][1], mtx.mf[2][1], mtx.mf[3][1], - mtxp->intPart[0][2], mtxp->fracPart[0][2], mtxp->intPart[1][2], - mtxp->fracPart[1][2], mtxp->intPart[2][2], mtxp->fracPart[2][2], - mtxp->intPart[3][2], mtxp->fracPart[3][2], mtx.mf[0][2], mtx.mf[1][2], - mtx.mf[2][2], mtx.mf[3][2], + ((MatrixInternal*)addr)->intPart[0][2], ((MatrixInternal*)addr)->fracPart[0][2], + ((MatrixInternal*)addr)->intPart[1][2], ((MatrixInternal*)addr)->fracPart[1][2], + ((MatrixInternal*)addr)->intPart[2][2], ((MatrixInternal*)addr)->fracPart[2][2], + ((MatrixInternal*)addr)->intPart[3][2], ((MatrixInternal*)addr)->fracPart[3][2], + mtx.mf[0][2], mtx.mf[1][2], mtx.mf[2][2], mtx.mf[3][2], - mtxp->intPart[0][3], mtxp->fracPart[0][3], mtxp->intPart[1][3], - mtxp->fracPart[1][3], mtxp->intPart[2][3], mtxp->fracPart[2][3], - mtxp->intPart[3][3], mtxp->fracPart[3][3], mtx.mf[0][3], mtx.mf[1][3], - mtx.mf[2][3], mtx.mf[3][3]); + ((MatrixInternal*)addr)->intPart[0][3], ((MatrixInternal*)addr)->fracPart[0][3], + ((MatrixInternal*)addr)->intPart[1][3], ((MatrixInternal*)addr)->fracPart[1][3], + ((MatrixInternal*)addr)->intPart[2][3], ((MatrixInternal*)addr)->fracPart[2][3], + ((MatrixInternal*)addr)->intPart[3][3], ((MatrixInternal*)addr)->fracPart[3][3], + mtx.mf[0][3], mtx.mf[1][3], mtx.mf[2][3], mtx.mf[3][3]); } - break; - } + } break; + case G_VTX: { - // 1EF4 - // this is not correct - s32 numv = (curGfx.words.w0 >> 12) & 0xFF; - s32 vbidx = ((curGfx.words.w0 & 0xFF) >> 1) - numv; - DISAS_LOG("gsSPVertex(0x%08x(0x%08x), %d, %d),", curGfx.words.w1, addr, numv, vbidx); + u32 numv = curGfx->words.w0; + u32 vbidx; + + numv >>= 12; + numv &= 0xff; + vbidx = (curGfx->vtx.vbidx >> 1) - numv; + + DISAS_LOG("gsSPVertex(0x%08x(0x%08x), %d, %d),", curGfx->words.w1, addr, numv, vbidx); this->vtxCnt += numv; this->spvtxCnt++; @@ -974,382 +990,368 @@ void UCodeDisas_Disassemble(UCodeDisas* this, u32 ptr) { if (this->enableLog >= 2) { UCodeDisas_PrintVertices(this, addr, numv, vbidx); } - break; - } - case G_MODIFYVTX: // additional move - { - // 1F74 - u16 where = curGfx.dma.len; - DISAS_LOG("gsSPModifyVertex(%d, %s, %08x),", curGfx.dma.par, - (where == G_MWO_POINT_RGBA) - ? "G_MWO_POINT_RGBA" - : (where == G_MWO_POINT_ST) - ? "G_MWO_POINT_ST" - : (where == G_MWO_POINT_XYSCREEN) - ? "G_MWO_POINT_XYSCREEN" - : (where == G_MWO_POINT_ZSCREEN) ? "G_MWO_POINT_ZSCREEN" - : "G_MWO_POINT_????", - curGfx.dma.addr); - this->vtxCnt += curGfx.dma.par; + } break; + + case G_MODIFYVTX: { + DISAS_LOG("gsSPModifyVertex(%d, %s, %08x),", curGfx->dma.par, + (curGfx->dma.len == G_MWO_POINT_RGBA) ? "G_MWO_POINT_RGBA" + : (curGfx->dma.len == G_MWO_POINT_ST) ? "G_MWO_POINT_ST" + : (curGfx->dma.len == G_MWO_POINT_XYSCREEN) ? "G_MWO_POINT_XYSCREEN" + : (curGfx->dma.len == G_MWO_POINT_ZSCREEN) ? "G_MWO_POINT_ZSCREEN" + : "G_MWO_POINT_????", + curGfx->dma.addr); + this->vtxCnt += curGfx->dma.par; this->spvtxCnt++; - break; - } - case G_TRI1: // a Gtri1 struct should probably be used here + code missing - { - // 2024 - Gwords words2 = curGfx.words; - DISAS_LOG("gsSP1Triangle(%d, %d, %d),", ((words2.w0 >> 16) & 0xFF) / 2, - ((words2.w0 >> 8) & 0xFF) / 2, ((words2.w0 >> 0) & 0xFF) / 2); + } break; + + case G_TRI1: { + Gtri1 gtri = ptr->tri1; + Gtrimod tri = gtri.tri; + + DISAS_LOG("gsSP1Triangle(%d, %d, %d),", tri.v0 / 2, tri.v1 / 2, tri.v2 / 2); - this->pipeSyncRequired = true; this->tri1Cnt++; - break; - } - case G_LINE3D: // curGfx should be used here(?) - { - // 20BC - Gline3DFix* line = (Gline3DFix*)&curGfx; - if (line->wd == 0) { - DISAS_LOG("gsSPLine3D(%d, %d),", line->v0, line->v1); - } else { - DISAS_LOG("gsSPLineW3D(%d, %d, %d),", line->v0, line->v1, line->wd); - } this->pipeSyncRequired = true; - this->lineCnt++; - break; - } - case G_TRI2: // gfx instead of curGfx(?) + a Gtri2 struct should probably be used here + - // code missing - { - Gwords words2 = curGfx.words; - DISAS_LOG("gsSP2Triangles(%d, %d, %d, 0, %d, %d, %d, 0),", - ((words2.w0 >> 16) & 0xFF) / 2, ((words2.w0 >> 8) & 0xFF) / 2, - ((words2.w0 >> 0) & 0xFF) / 2, ((words2.w1 >> 16) & 0xFF) / 2, - ((words2.w1 >> 8) & 0xFF) / 2, ((words2.w1 >> 0) & 0xFF) / 2); + } break; + case G_LINE3D: { + if (curGfx->linefix.wd == 0) { + DISAS_LOG("gsSPLine3D(%d, %d),", curGfx->linefix.v0, curGfx->linefix.v1); + } else { + DISAS_LOG("gsSPLineW3D(%d, %d, %d),", curGfx->linefix.v0, curGfx->linefix.v1, + curGfx->linefix.wd); + } + + this->lineCnt++; this->pipeSyncRequired = true; + } break; + + case G_TRI2: { + Gtri2 tri2 = ptr->tri2; + u32 v0, v1, v2; + u32 v3, v4, v5; + + v0 = tri2.tri1.v0 / 2; + v1 = tri2.tri1.v1 / 2; + v2 = tri2.tri1.v2 / 2; + + v3 = tri2.tri2.v0 / 2; + v4 = tri2.tri2.v1 / 2; + v5 = tri2.tri2.v2 / 2; + + DISAS_LOG("gsSP2Triangles(%d, %d, %d, 0, %d, %d, %d, 0),", v0, v1, v2, v3, v4, v5); + this->tri2Cnt++; - break; - } - case G_QUAD: // gfx instead of curGfx(?) + a Gquad struct should probably be used here + - // code missing - { - Gwords words2 = curGfx.words; - DISAS_LOG("gsSP1Quadrangle(%d, %d, %d, %d, 0),", ((words2.w0 >> 16) & 0xFF) / 2, - ((words2.w0 >> 8) & 0xFF) / 2, ((words2.w0 >> 0) & 0xFF) / 2, - ((words2.w1 >> 0) & 0xFF) / 2); this->pipeSyncRequired = true; + } break; + + case G_QUAD: { + Gquadmod quad = ptr->quad; + u32 v0, v1, v2, v3; + + v0 = quad.v0 / 2; + v1 = quad.v1 / 2; + v2 = quad.v2 / 2; + v3 = quad.v3 / 2; + + DISAS_LOG("gsSP1Quadrangle(%d, %d, %d, %d, 0),", v0, v1, v2, v3); + this->quadCnt++; - break; - } - case G_CULLDL: // code missing - { - DISAS_LOG("gsSPCullDisplayList(%d, %d),", (curGfx.words.w0 & 0xFFFF) / 2, - (curGfx.words.w1 & 0xFFFF) / 2); - break; - } + this->pipeSyncRequired = true; + } break; + + case G_CULLDL: { + DISAS_LOG("gsSPCullDisplayList(%d, %d),", (curGfx->cull.vstart) / 2, + (curGfx->cull.vend) / 2); + } break; + case G_BRANCH_Z: { - GfxMod* dst = UCodeDisas_TranslateAddr(this, rdpHalf); - DISAS_LOG("gsSPBranchLessZraw(0x%08x(0x%08x), %d, 0x%08x),", rdpHalf, dst, - (curGfx.words.w0 & 0xFFF) / 2, curGfx.words.w1); - gfx = dst - 1; - break; - } - case G_TEXTURE: // gfx instead of curGfx(?) + reordering + arithmetic issue? - { - Gtexture texture = curGfx.texture; + addr = UCodeDisas_TranslateAddr(this, rdpHalf); + DISAS_LOG("gsSPBranchLessZraw(0x%08x(0x%08x), %d, 0x%08x),", rdpHalf, addr, + (curGfx->words.w0 & 0xFFF) / 2, curGfx->words.w1); + ptr = (GfxMod*)addr - 1; + } break; + + case G_TEXTURE: { + Gtexturemod texture = ptr->texmod; + if (texture.lodscale == 0) { - DISAS_LOG("gsSPTexture(%d, %d, %d, %d, %s),", texture.s, texture.t, - texture.tile >> 3, texture.tile & 7, texture.on ? "G_ON" : "G_OFF"); + DISAS_LOG("gsSPTexture(%d, %d, %d, %d, %s),", texture.s, texture.t, texture.level, + texture.tile, texture.on ? "G_ON" : "G_OFF"); } else { DISAS_LOG("gsSPTextureL(%d, %d, %d, %d, %d, %s),", texture.s, texture.t, - texture.tile >> 3, texture.lodscale, texture.tile & 7, + texture.level, texture.lodscale, texture.tile, texture.on ? "G_ON" : "G_OFF"); } - break; - } - case G_POPMTX: // gfx instead of curGfx(?) + reordering - { - Gwords words2 = curGfx.words; - s32 num = words2.w1 / 64; - if (num == 1) { + } break; + + case G_POPMTX: { + Gpopmtxmod popmtx = ptr->popmtxmod; + + if (popmtx.param == 1) { DISAS_LOG("gsSPPopMatrix(G_MTX_MODELVIEW),"); } else { - DISAS_LOG("gsSPPopMatrixN(G_MTX_MODELVIEW, %d),", num); + DISAS_LOG("gsSPPopMatrixN(G_MTX_MODELVIEW, %d),", popmtx.param); } - break; - } + } break; + case G_GEOMETRYMODE: { - u32 clearbits = curGfx.words.w0 & 0xFFFFFF; - u32 setbits = curGfx.words.w1 & 0xFFFFFF; // ?? setbits should be 32bit + u32 clearbits = curGfx->words.w0 & 0xFFFFFF; + u32 setbits = curGfx->words.w1 & 0xFFFFFF; if (clearbits == 0) { DISAS_LOG("gsSPLoadGeometryMode("); UCodeDisas_ParseGeometryMode(this, setbits); DISAS_LOG("),"); + } else if (setbits == 0) { + DISAS_LOG("gsSPClearGeometryMode("); + UCodeDisas_ParseGeometryMode(this, ~clearbits); + DISAS_LOG("),"); + } else if (clearbits == 0xFFFFFF) { + DISAS_LOG("gsSPSetGeometryMode("); + UCodeDisas_ParseGeometryMode(this, setbits); + DISAS_LOG("),"); } else { - if (setbits == 0) { - DISAS_LOG("gsSPClearGeometryMode("); - UCodeDisas_ParseGeometryMode(this, ~clearbits); - DISAS_LOG("),"); - } else { - if (clearbits == 0xFFFFFF) { - DISAS_LOG("gsSPSetGeometryMode("); - UCodeDisas_ParseGeometryMode(this, setbits); - DISAS_LOG("),"); - } else { - DISAS_LOG("gsSPGeometryMode("); - UCodeDisas_ParseGeometryMode(this, ~clearbits); - DISAS_LOG(","); - UCodeDisas_ParseGeometryMode(this, setbits); - DISAS_LOG("),"); - } - } + DISAS_LOG("gsSPGeometryMode("); + UCodeDisas_ParseGeometryMode(this, ~clearbits); + DISAS_LOG(", "); + UCodeDisas_ParseGeometryMode(this, setbits); + DISAS_LOG("),"); } + this->geometryMode &= clearbits; this->geometryMode |= setbits; - break; + break; // this break needs to be inside, but the other cases need their breaks to be + // outside... } - case G_MOVEWORD: // gfx instead of curGfx(?) + missing code + missing copy - { - Gdma dma = curGfx.dma; // Gsegment ? - switch (dma.par) { + + case G_MOVEWORD: { + u32 pad; + Gdma dma = ptr->dma; + Gmovewd movewd = ptr->movewd; + + movewd.index = dma.par; + movewd.offset = dma.len; + movewd.data = dma.addr; + switch (movewd.index) { case G_MW_SEGMENT: { - DISAS_LOG("gsSPSegment(%d, 0x%08x),", dma.len, dma.addr / 4); - break; - } + DISAS_LOG("gsSPSegment(%d, 0x%08x),", movewd.offset / 4, movewd.data); + this->segments[movewd.offset / 4] = movewd.data & 0xFFFFFF; + } break; + case G_MW_CLIP: { DISAS_LOG("gsSPClipRatio(FRUSTRATIO_%d), ", - (dma.addr != 0) ? dma.addr : -dma.addr); - gfx += 4 - 1; - break; - } + (movewd.data != 0) ? movewd.data : -movewd.data); + ptr += 4 - 1; + } break; + case G_MW_NUMLIGHT: { - DISAS_LOG("gsSPNumLights(%d), ", dma.addr / 24); - break; - } + DISAS_LOG("gsSPNumLights(%d), ", movewd.data / 24); + } break; + case G_MW_LIGHTCOL: { - DISAS_LOG("gsSPLightColor(%d, %d), ", ((dma.addr & 0xF0) >> 5) + 1, dma.addr); - break; - gfx += 2 - 1; - } + DISAS_LOG("gsSPLightColor(%d, %d), ", ((movewd.offset & 0xF0) >> 5) + 1, + movewd.data); + ptr += 2 - 1; + } break; + case G_MW_FOG: { - DISAS_LOG("gsSPFogFactor(%d, %d),", dma.addr >> 16, dma.addr & 0xFFFF); - break; - } + DISAS_LOG("gsSPFogFactor(%d, %d),", movewd.data >> 16, movewd.data & 0xFFFF); + } break; + case G_MW_PERSPNORM: { - DISAS_LOG("gsSPPerspNormalize(%d),", dma.addr); - break; - } + DISAS_LOG("gsSPPerspNormalize(%d),", movewd.data); + } break; + default: { - DISAS_LOG("gsMoveWd(%d, %d, %d), ", dma.par, dma.len, dma.addr); - break; - } + DISAS_LOG("gsMoveWd(%d, %d, %d), ", movewd.index, movewd.offset, movewd.data); + } break; } - break; - } - case G_MOVEMEM: // gfx instead of curGfx(?) + code is wrong - { - Gwords words2 = curGfx.words; - s32 offset = (words2.w0 >> 8) & 0xFF; - s32 size = (((words2.w0 >> 16) >> 3) + 1) * 8; - s32 index = words2.w0 & 0xFF; + } break; + + case G_MOVEMEM: { + Gmovemem movemem = ptr->movemem; Vp_t* vp = (Vp_t*)addr; - switch (index) { + switch (movemem.index) { case G_MV_VIEWPORT: { - DISAS_LOG("gsSPViewport(0x%08x(0x%08x)),", words2.w1, vp); + DISAS_LOG("gsSPViewport(0x%08x(0x%08x)),", movemem.data, vp); DISAS_LOG("\t# vscale=[%d %d %d %d], ", vp->vscale[0], vp->vscale[1], vp->vscale[2], vp->vscale[3]); DISAS_LOG("vtrans=[%d %d %d %d] ", vp->vtrans[0], vp->vtrans[1], vp->vtrans[2], vp->vtrans[3]); - break; - } + } break; + case G_MV_MATRIX: { - DISAS_LOG("gsSPForceMatrix(0x%08x),", words2.w1); - break; - } + DISAS_LOG("gsSPForceMatrix(0x%08x),", movemem.data); + ptr += 1; + } break; + case G_MV_LIGHT: { - switch ((offset * 8)) { + switch ((movemem.offset * 8)) { case G_MVO_LOOKATX: { - DISAS_LOG("gsSPLookAtX(0x%08x),", words2.w1); - break; - } + DISAS_LOG("gsSPLookAtX(0x%08x),", movemem.data); + } break; + case G_MVO_LOOKATY: { - DISAS_LOG("gsSPLookAtY(0x%08x),", words2.w1); - break; - } + DISAS_LOG("gsSPLookAtY(0x%08x),", movemem.data); + } break; + default: { - DISAS_LOG("gsSPLight(0x%08x,%d),", words2.w1, (offset * 8 - 24) / 24); - break; - } + DISAS_LOG("gsSPLight(0x%08x,%d),", movemem.data, + (movemem.offset * 8 - 24) / 24); + } break; } - break; - } + } break; + default: { - DISAS_LOG("gsMoveMem(0x%08x, %d, %d, %d),", words2.w1, size, index, offset * 8); - break; - } + DISAS_LOG("gsMoveMem(0x%08x, %d, %d, %d),", movemem.data, + ((movemem.size >> 3) + 1) * 8, movemem.index, movemem.offset * 8); + } break; } - break; - } + } break; + default: { DISAS_LOG("AnyDisplayList(),"); - } + } break; } - } + } break; + case UCODE_S2DEX: { - // 29FC? - switch (curGfx.dma.cmd) // which one to choose here? - { - case G_BG_COPY: // gfx instead of curGfx(?) + missing copy - { - DISAS_LOG("gsSPBgRectCopy(0x%08x(0x%08x)),", curGfx.words.w1, addr); + switch (cmd) { + case G_BG_COPY: { + Gwords words = ptr->words; + + DISAS_LOG("gsSPBgRectCopy(0x%08x(0x%08x)),", words.w1, addr); this->pipeSyncRequired = true; - break; - } - case G_BG_1CYC: // gfx instead of curGfx(?) + missing copy - { - DISAS_LOG("gsSPBgRect1Cyc(0x%08x(0x%08x)),", curGfx.words.w1, addr); + } break; + + case G_BG_1CYC: { + Gwords words = ptr->words; + + DISAS_LOG("gsSPBgRect1Cyc(0x%08x(0x%08x)),", words.w1, addr); this->pipeSyncRequired = true; - break; - } - case G_OBJ_SPRITE: // gfx instead of curGfx(?) + missing copy - { - DISAS_LOG("gsSPObjSprite(0x%08x(0x%08x)),", curGfx.words.w1, addr); + } break; + + case G_OBJ_SPRITE: { + Gwords words = ptr->words; + + DISAS_LOG("gsSPObjSprite(0x%08x(0x%08x)),", words.w1, addr); this->pipeSyncRequired = true; - break; - } - case G_OBJ_RECTANGLE: // gfx instead of curGfx(?) + missing copy - { - DISAS_LOG("gsSPObjRectangle(0x%08x(0x%08x)),", curGfx.words.w1, addr); + } break; + + case G_OBJ_RECTANGLE: { + Gwords words = ptr->words; + + DISAS_LOG("gsSPObjRectangle(0x%08x(0x%08x)),", words.w1, addr); this->pipeSyncRequired = true; - break; - } - case G_OBJ_RECTANGLE_R: // gfx instead of curGfx(?) - { - DISAS_LOG("gsSPObjRectangleR(0x%08x(0x%08x)),", curGfx.words.w1, addr); + } break; + + case G_OBJ_RECTANGLE_R: { + Gwords words = ptr->words; + + DISAS_LOG("gsSPObjRectangleR(0x%08x(0x%08x)),", words.w1, addr); this->pipeSyncRequired = true; - break; - } + } break; + case G_RDPHALF_0: { - DISAS_LOG("RDPHALF_0(0x%02x, 0x%08x, 0x%04x),", curGfx.dma.par, curGfx.dma.addr, - curGfx.dma.len); - sid = curGfx.dma.par; - rdpHalf = curGfx.dma.addr; - linkDlLow = curGfx.dma.len; - break; - } - case G_OBJ_MOVEMEM: // gfx instead of curGfx(?) - { - Gdma dma = curGfx.dma; + DISAS_LOG("RDPHALF_0(0x%02x, 0x%08x, 0x%04x),", curGfx->dma.par, curGfx->dma.addr, + curGfx->dma.len); + sid = curGfx->dma.par; + rdpHalf = curGfx->dma.addr; + linkDlLow = curGfx->dma.len; + } break; + + case G_OBJ_MOVEMEM: { + Gdma dma = ptr->dma; + if (dma.par == 23) { DISAS_LOG("gsSPObjMatrix(0x%08x(0x%08x)),", dma.addr, addr); } else { DISAS_LOG("gsSPObjSubMatrix(0x%08x(0x%08x)),", dma.addr, addr); } - break; - } - case G_OBJ_LOADTXTR: // gfx instead of curGfx(?) - { - DISAS_LOG("gsSPObjLoadTxtr(0x%08x(0x%08x)),", curGfx.dma.addr, addr); - break; - } - case G_OBJ_LDTX_SPRITE: // gfx instead of curGfx(?) - { - DISAS_LOG("gsSPObjLoadTxSprite(0x%08x(0x%08x)),", curGfx.dma.addr, addr); - break; - } - case G_OBJ_LDTX_RECT: // gfx instead of curGfx(?) - { - DISAS_LOG("gsSPObjLoadTxRect(0x%08x(0x%08x)),", curGfx.dma.addr, addr); - break; - } - case G_OBJ_LDTX_RECT_R: // gfx instead of curGfx(?) - { - DISAS_LOG("gsSPObjLoadTxRectR(0x%08x(0x%08x)),", curGfx.dma.addr, addr); - break; - } - case G_SELECT_DL: // gfx instead of curGfx(?) - { - Gdma dma = curGfx.dma; - u32 dlAddr = UCodeDisas_TranslateAddr(this, (linkDlLow << 16) | dma.len); + } break; + + case G_OBJ_LOADTXTR: { + Gdma dma = ptr->dma; + + DISAS_LOG("gsSPObjLoadTxtr(0x%08x(0x%08x)),", dma.addr, addr); + } break; + + case G_OBJ_LDTX_SPRITE: { + Gdma dma = ptr->dma; + + DISAS_LOG("gsSPObjLoadTxSprite(0x%08x(0x%08x)),", dma.addr, addr); + } break; + + case G_OBJ_LDTX_RECT: { + Gdma dma = ptr->dma; + + DISAS_LOG("gsSPObjLoadTxRect(0x%08x(0x%08x)),", dma.addr, addr); + } break; + + case G_OBJ_LDTX_RECT_R: { + Gdma dma = ptr->dma; + + DISAS_LOG("gsSPObjLoadTxRectR(0x%08x(0x%08x)),", dma.addr, addr); + } break; + + case G_SELECT_DL: { + Gdma dma = ptr->dma; + u32 dlAddr = UCodeDisas_TranslateAddr(this, (dma.len << 16) | (linkDlLow)); + u32 dmaAddr = dma.addr; + if (dma.par == 0) { DISAS_LOG("gsSPSelectDL(0x%08x, %d, 0x%08x, 0x%08x),", dlAddr, sid, rdpHalf, - dma.addr); + dmaAddr); } else { DISAS_LOG("gsSPSelectBranchDL(0x%08x, %d, 0x%08x, 0x%08x),", dlAddr, sid, rdpHalf, - dma.addr); + dmaAddr); } + } break; - break; - } - case 0xDB: // gfx instead of curGfx(?) - { - Gdma dma = curGfx.dma; - switch (dma.par) { + case G_MOVEWORD: { + u32 pad[2]; + Gmovewd movewd = ptr->movewd; + + switch (movewd.index) { case 6: { - u32 segId = dma.len / 2; - DISAS_LOG("gsSPSegment(%d, 0x%08x),", segId, dma.addr); - this->segments[segId] = dma.addr & 0xFFFFFF; - break; - } + u32 segId = movewd.offset / 4; + + DISAS_LOG("gsSPSegment(%d, 0x%08x),", segId, movewd.data); + this->segments[segId] = movewd.data & 0xFFFFFF; + } break; + case 8: { - DISAS_LOG("gsSPSetStatus(0x%08x, 0x%08x),", dma.len, dma.addr); - break; - } + DISAS_LOG("gsSPSetStatus(0x%08x, 0x%08x),", movewd.offset, movewd.data); + } break; + default: { - DISAS_LOG("gsMoveWd(%d, %d, %d), ", dma, dma.len, dma.addr); - break; - } + DISAS_LOG("gsMoveWd(%d, %d, %d), ", movewd.index, movewd.offset, movewd.data); + } break; } - break; - } - case G_OBJ_RENDERMODE: // gfx instead of curGfx(?) - { - DISAS_LOG("gsSPObjRenderMode(0x%08x),", curGfx.dma.addr); - } + } break; + + case G_OBJ_RENDERMODE: { + Gdma dma = ptr->dma; + + DISAS_LOG("gsSPObjRenderMode(0x%08x),", dma.addr); + } break; + default: { DISAS_LOG("AnyDisplayList(),"); - break; - } + } break; } } } - } + } break; } DISAS_LOG("\n"); - gfx++; + ptr++; } } -#else -void UCodeDisas_Disassemble(UCodeDisas* this, Gfx* gfx0); -#pragma GLOBAL_ASM("asm/non_matchings/code/ucode_disas/UCodeDisas_Disassemble.rodata.s") -F3dzexSetModeMacro sUCodeDisasModeHMacros[] = { - F3DZEX_SETRENDERMACRO("SetAlphaDither", G_MDSFT_ALPHADITHER, 2, G_AD_PATTERN, G_AD_NOTPATTERN, G_AD_NOISE, - G_AD_DISABLE), - F3DZEX_SETRENDERMACRO("SetColorDither", G_MDSFT_RGBDITHER, 2, G_CD_MAGICSQ, G_CD_BAYER, G_CD_NOISE, -1), - F3DZEX_SETRENDERMACRO("SetCombineKey", G_MDSFT_COMBKEY, 1, G_CK_NONE, G_CK_KEY, -1, -1), - F3DZEX_SETRENDERMACRO("SetTextureConvert", G_MDSFT_TEXTCONV, 3, G_TC_CONV, G_TC_FILTCONV, G_TC_FILT, -1), - F3DZEX_SETRENDERMACRO("SetTextureFilter", G_MDSFT_TEXTFILT, 2, G_TF_POINT, G_TF_AVERAGE, G_TF_BILERP, -1), - F3DZEX_SETRENDERMACRO("SetTextureLUT", G_MDSFT_TEXTLUT, 2, G_TT_NONE, G_TT_RGBA16, G_TT_IA16, -1), - F3DZEX_SETRENDERMACRO("SetTextureLOD", G_MDSFT_TEXTLOD, 1, G_TL_TILE, G_TL_LOD, -1, -1), - F3DZEX_SETRENDERMACRO("SetTextureDetail", G_MDSFT_TEXTDETAIL, 2, G_TD_CLAMP, G_TD_SHARPEN, G_TD_DETAIL, -1), - F3DZEX_SETRENDERMACRO("SetTexturePersp", G_MDSFT_TEXTPERSP, 1, G_TP_PERSP, G_TP_NONE, -1, -1), - F3DZEX_SETRENDERMACRO("SetCycleType", G_MDSFT_CYCLETYPE, 2, G_CYC_1CYCLE, G_CYC_2CYCLE, G_CYC_COPY, G_CYC_FILL), - F3DZEX_SETRENDERMACRO("SetColorDither", G_MDSFT_COLORDITHER, 2, G_CD_MAGICSQ, G_CD_BAYER, G_CD_NOISE, -1), - F3DZEX_SETRENDERMACRO("PipelineMode", G_MDSFT_PIPELINE, 1, G_PM_1PRIMITIVE, G_PM_NPRIMITIVE, -1, -1), -}; - -#pragma GLOBAL_ASM("asm/non_matchings/code/ucode_disas/UCodeDisas_Disassemble.rodata2.s") -F3dzexSetModeMacro sUCodeDisasModeLMacros[] = { - F3DZEX_SETRENDERMACRO("gsDPSetAlphaCompare", G_MDSFT_ALPHACOMPARE, 2, G_AC_NONE, G_AC_THRESHOLD, G_AC_DITHER, -1), - F3DZEX_SETRENDERMACRO("gsDPSetDepthSource", G_MDSFT_ZSRCSEL, 1, G_ZS_PIXEL, G_ZS_PRIM, -1, -1), -}; -#pragma GLOBAL_ASM("asm/non_matchings/code/ucode_disas/UCodeDisas_Disassemble.s") -#endif void UCodeDisas_RegisterUCode(UCodeDisas* this, s32 count, UCodeInfo* ucodeArray) { this->ucodeInfoCount = count;