Files
tp/libs/dolphin/gx/GXInit.cpp
T
2021-04-01 02:07:58 +02:00

663 lines
22 KiB
C++

//
// Generated By: dol2asm
// Translation Unit: GXInit
//
#include "dolphin/gx/GXInit.h"
#include "dol2asm.h"
#include "dolphin/types.h"
//
// Forward References:
//
extern "C" static void __GXDefaultTexRegionCallback();
extern "C" static void __GXDefaultTlutRegionCallback();
extern "C" static void __GXShutdown();
extern "C" void __GXInitRevisionBits();
extern "C" void GXInit();
extern "C" static void __GXInitGX();
extern "C" extern u8 DefaultTexData[32];
extern "C" extern u8 GXDefaultVATList[208];
extern "C" extern u8 GXDefaultProjData[28];
extern "C" extern u8 __piReg[4];
extern "C" extern u8 __cpReg[4];
extern "C" extern u8 __peReg[4];
extern "C" extern u8 __memReg[4];
extern "C" extern void* __GXData;
//
// External References:
//
extern "C" void PPCSync();
extern "C" void PPCMfhid2();
extern "C" void PPCMthid2();
extern "C" void PPCMtwpar();
extern "C" void OSRegisterVersion();
extern "C" void OSRegisterResetFunction();
extern "C" void OSGetTime();
extern "C" void VIGetTvFormat();
extern "C" void GXInitFifoBase();
extern "C" void GXSetCPUFifo();
extern "C" void GXSetGPFifo();
extern "C" void GXSetBreakPtCallback();
extern "C" void __GXFifoInit();
extern "C" void GXClearVtxDesc();
extern "C" void GXSetVtxAttrFmtv();
extern "C" void GXSetArray();
extern "C" void GXInvalidateVtxCache();
extern "C" void GXSetTexCoordGen2();
extern "C" void GXSetNumTexGens();
extern "C" void GXSetMisc();
extern "C" void __GXAbort();
extern "C" void GXPokeAlphaMode();
extern "C" void GXPokeAlphaRead();
extern "C" void GXPokeAlphaUpdate();
extern "C" void GXPokeBlendMode();
extern "C" void GXPokeColorUpdate();
extern "C" void GXPokeDstAlpha();
extern "C" void GXPokeDither();
extern "C" void GXPokeZMode();
extern "C" void GXSetDrawSyncCallback();
extern "C" void GXSetDrawDoneCallback();
extern "C" void __GXPEInit();
extern "C" void GXSetLineWidth();
extern "C" void GXSetPointSize();
extern "C" void GXEnableTexOffsets();
extern "C" void GXSetCullMode();
extern "C" void GXSetCoPlanar();
extern "C" void GXSetDispCopySrc();
extern "C" void GXSetDispCopyDst();
extern "C" void GXSetDispCopyFrame2Field();
extern "C" void GXSetCopyClamp();
extern "C" void GXSetDispCopyYScale();
extern "C" void GXSetCopyClear();
extern "C" void GXSetCopyFilter();
extern "C" void GXSetDispCopyGamma();
extern "C" void GXClearBoundingBox();
extern "C" void GXSetChanAmbColor();
extern "C" void GXSetChanMatColor();
extern "C" void GXSetNumChans();
extern "C" void GXSetChanCtrl();
extern "C" void GXInitTexObj();
extern "C" void GXGetTexObjFmt();
extern "C" void GXGetTexObjMipMap();
extern "C" void GXLoadTexObj();
extern "C" void GXInitTexCacheRegion();
extern "C" void GXInitTlutRegion();
extern "C" void GXInvalidateTexAll();
extern "C" void GXSetTexRegionCallback();
extern "C" void GXSetTlutRegionCallback();
extern "C" void __GXSetTmemConfig();
extern "C" void GXSetIndTexCoordScale();
extern "C" void GXSetNumIndStages();
extern "C" void GXSetTevDirect();
extern "C" void __GXSetIndirectMask();
extern "C" void __GXFlushTextureState();
extern "C" void GXSetTevOp();
extern "C" void GXSetTevKColorSel();
extern "C" void GXSetTevKAlphaSel();
extern "C" void GXSetTevSwapMode();
extern "C" void GXSetTevSwapModeTable();
extern "C" void GXSetAlphaCompare();
extern "C" void GXSetZTexture();
extern "C" void GXSetTevOrder();
extern "C" void GXSetNumTevStages();
extern "C" void GXSetFog();
extern "C" void GXSetFogRangeAdj();
extern "C" void GXSetBlendMode();
extern "C" void GXSetColorUpdate();
extern "C" void GXSetAlphaUpdate();
extern "C" void GXSetZMode();
extern "C" void GXSetZCompLoc();
extern "C" void GXSetPixelFmt();
extern "C" void GXSetDither();
extern "C" void GXSetDstAlpha();
extern "C" void GXSetFieldMask();
extern "C" void GXSetFieldMode();
extern "C" void GXSetProjectionv();
extern "C" void GXLoadPosMtxImm();
extern "C" void GXLoadNrmMtxImm();
extern "C" void GXSetCurrentMtx();
extern "C" void GXLoadTexMtxImm();
extern "C" void GXSetViewport();
extern "C" void GXSetScissor();
extern "C" void GXSetScissorBoxOffset();
extern "C" void GXSetClipMode();
extern "C" void GXSetGPMetric();
extern "C" void GXClearGPMetric();
extern "C" extern u8 GXNtsc480IntDf[60];
extern "C" extern u8 GXMpal480IntDf[60];
extern "C" extern u8 GXPal528IntDf[60];
extern "C" extern u8 GXEurgb60Hz480IntDf[60 + 4 /* padding */];
//
// Declarations:
//
/* ############################################################################################## */
/* 8044CE00-8044CE80 0080+00 s=1 e=0 z=0 None .bss FifoObj */
static u8 FifoObj[128];
/* 8044CE80-8044D430 05B0+00 s=1 e=0 z=0 None .bss gxData */
static u8 gxData[1456];
/* 80456580-80456584 0004+00 s=6 e=108 z=0 None .sdata2 __GXData */
SECTION_SDATA2 void* __GXData = (void*)&gxData;
/* 8035921C-80359318 00FC+00 s=1 e=0 z=0 None .text __GXDefaultTexRegionCallback */
// 80359240: 8035E258 (GXGetTexObjFmt)
// 8035924C: 8035E278 (GXGetTexObjMipMap)
// 80359294: 80456580 (__GXData)
// 803592A8: 80456580 (__GXData)
// 803592BC: 80456580 (__GXData)
// 803592DC: 80456580 (__GXData)
// 803592F0: 80456580 (__GXData)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm static void __GXDefaultTexRegionCallback() {
nofralloc
#include "asm/dolphin/gx/GXInit/__GXDefaultTexRegionCallback.s"
}
#pragma pop
/* 80359318-8035933C 0024+00 s=1 e=0 z=0 None .text __GXDefaultTlutRegionCallback */
// 8035932C: 80456580 (__GXData)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm static void __GXDefaultTlutRegionCallback() {
nofralloc
#include "asm/dolphin/gx/GXInit/__GXDefaultTlutRegionCallback.s"
}
#pragma pop
/* ############################################################################################## */
/* 80451920-80451924 0004+00 s=1 e=2 z=0 None .sbss __piReg */
u8 __piReg[4];
/* 80451924-80451928 0004+00 s=2 e=12 z=0 None .sbss __cpReg */
u8 __cpReg[4];
/* 80451928-8045192C 0004+00 s=1 e=11 z=0 None .sbss __peReg */
u8 __peReg[4];
/* 8045192C-80451930 0004+00 s=2 e=2 z=0 None .sbss __memReg */
u8 __memReg[4];
/* 80451930-80451938 0004+04 s=1 e=0 z=0 None .sbss peCount$35 */
static u8 peCount[4 + 4 /* padding */];
/* 80451938-8045193C 0004+00 s=1 e=0 z=0 None .sbss time$36 */
static u8 time[4];
/* 8045193C-80451940 0004+00 s=1 e=0 z=0 None .sbss None */
static u8 data_8045193C[4];
/* 80451940-80451944 0004+00 s=1 e=0 z=0 None .sbss calledOnce$37 */
static u8 calledOnce[4];
/* 8035933C-803594CC 0190+00 s=1 e=0 z=0 None .text __GXShutdown */
// 80359354: 80451940 (calledOnce)
// 80359360: 8045192C (__memReg)
// 80359394: 80451930 (peCount)
// 80359398: 803426FC (OSGetTime)
// 8035939C: 8045193C (data_8045193C)
// 803593A4: 80451938 (time)
// 803593AC: 80451940 (calledOnce)
// 803593B4: 803426FC (OSGetTime)
// 803593B8: 8045192C (__memReg)
// 803593E4: 8045193C (data_8045193C)
// 803593EC: 80451938 (time)
// 8035942C: 80451930 (peCount)
// 80359438: 8045193C (data_8045193C)
// 8035943C: 80451938 (time)
// 80359444: 80451930 (peCount)
// 80359450: 8035ABE8 (GXSetBreakPtCallback)
// 80359458: 8035C4E0 (GXSetDrawSyncCallback)
// 80359460: 8035C5AC (GXSetDrawDoneCallback)
// 8035948C: 80339CF8 (PPCSync)
// 80359490: 80451924 (__cpReg)
// 803594A0: 80451924 (__cpReg)
// 803594A8: 80456580 (__GXData)
// 803594B0: 8035BF28 (__GXAbort)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm static void __GXShutdown() {
nofralloc
#include "asm/dolphin/gx/GXInit/__GXShutdown.s"
}
#pragma pop
/* 803594CC-80359670 01A4+00 s=1 e=1 z=0 None .text __GXInitRevisionBits */
// 803594F4: 80456580 (__GXData)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm void __GXInitRevisionBits() {
nofralloc
#include "asm/dolphin/gx/GXInit/__GXInitRevisionBits.s"
}
#pragma pop
/* ############################################################################################## */
/* 803D2040-803D20A0 0044+1C s=2 e=0 z=0 None .data @1 */
SECTION_DATA static u8 lit_1[68 + 28 /* padding */] = {
0x3C,
0x3C,
0x20,
0x44,
0x6F,
0x6C,
0x70,
0x68,
0x69,
0x6E,
0x20,
0x53,
0x44,
0x4B,
0x20,
0x2D,
0x20,
0x47,
0x58,
0x09,
0x72,
0x65,
0x6C,
0x65,
0x61,
0x73,
0x65,
0x20,
0x62,
0x75,
0x69,
0x6C,
0x64,
0x3A,
0x20,
0x4E,
0x6F,
0x76,
0x20,
0x31,
0x30,
0x20,
0x32,
0x30,
0x30,
0x34,
0x20,
0x30,
0x36,
0x3A,
0x32,
0x37,
0x3A,
0x31,
0x32,
0x20,
0x28,
0x30,
0x78,
0x32,
0x33,
0x30,
0x31,
0x29,
0x20,
0x3E,
0x3E,
0x00,
/* padding */
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
0x00,
};
/* 803D20A0-803D20C0 0020+00 s=0 e=0 z=0 None .data DefaultTexData */
SECTION_DATA u8 DefaultTexData[32] = {
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
};
/* 803D20C0-803D2190 00D0+00 s=0 e=0 z=0 None .data GXDefaultVATList */
SECTION_DATA u8 GXDefaultVATList[208] = {
0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0B, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0C, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0D, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0E, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x0F, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 803D2190-803D21AC 001C+00 s=0 e=0 z=0 None .data GXDefaultProjData */
SECTION_DATA u8 GXDefaultProjData[28] = {
0x3F, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x3F, 0x80, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0xBF, 0x80, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
};
/* 803D21AC-803D226C 00C0+00 s=1 e=0 z=0 None .data GXTexRegionAddrTable */
SECTION_DATA static u8 GXTexRegionAddrTable[192] = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
0x00, 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00,
0x00, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x03, 0x80, 0x00,
0x00, 0x04, 0x80, 0x00, 0x00, 0x05, 0x80, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x07, 0x80, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00,
0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x80, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0B, 0x80, 0x00,
0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
0x00, 0x08, 0x80, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0A, 0x80, 0x00, 0x00, 0x07, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00,
0x00, 0x04, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x00,
0x00, 0x08, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00,
0x00, 0x08, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00,
};
/* 803D226C-803D2280 0010+04 s=1 e=0 z=0 None .data GXResetFuncInfo */
SECTION_DATA static void* GXResetFuncInfo[4 + 1 /* padding */] = {
(void*)__GXShutdown,
(void*)0x0000007F,
(void*)NULL,
(void*)NULL,
/* padding */
NULL,
};
/* 80450A78-80450A80 0004+04 s=1 e=0 z=0 None .sdata __GXVersion */
SECTION_SDATA static void* __GXVersion[1 + 1 /* padding */] = {
(void*)&lit_1,
/* padding */
NULL,
};
/* 80451944-80451948 0004+00 s=1 e=0 z=0 None .sbss resetFuncRegistered$145 */
static u8 resetFuncRegistered[4];
/* 80456584-80456588 0004+00 s=1 e=0 z=0 None .sdata2 @267 */
SECTION_SDATA2 static f32 lit_267 = 16777216.0f;
/* 80456588-8045658C 0004+00 s=2 e=0 z=0 None .sdata2 @268 */
SECTION_SDATA2 static u8 lit_268[4] = {
0x00,
0x00,
0x00,
0x00,
};
/* 80359670-80359C70 0600+00 s=0 e=2 z=0 None .text GXInit */
// 80359688: 8044CE00 (FifoObj)
// 8035968C: 80450A78 (__GXVersion)
// 80359690: 8044CE00 (FifoObj)
// 80359694: 8033A874 (OSRegisterVersion)
// 80359698: 80456580 (__GXData)
// 803596C0: 8035BE38 (GXSetMisc)
// 803596CC: 80451924 (__cpReg)
// 803596D8: 80451920 (__piReg)
// 803596DC: 80451928 (__peReg)
// 803596E0: 8045192C (__memReg)
// 803596E4: 8035AC2C (__GXFifoInit)
// 803596F4: 8035A6DC (GXInitFifoBase)
// 803596FC: 8035A7C4 (GXSetCPUFifo)
// 80359704: 8035A8EC (GXSetGPFifo)
// 80359708: 80451944 (resetFuncRegistered)
// 80359714: 803D226C (GXResetFuncInfo)
// 80359718: 803D226C (GXResetFuncInfo)
// 8035971C: 8033F660 (OSRegisterResetFunction)
// 80359720: 80451944 (resetFuncRegistered)
// 80359724: 8035C670 (__GXPEInit)
// 80359728: 80339D8C (PPCMfhid2)
// 80359738: 80339D9C (PPCMtwpar)
// 80359740: 80339D94 (PPCMthid2)
// 80359744: 80456580 (__GXData)
// 803597AC: 80456580 (__GXData)
// 803598DC: 80456580 (__GXData)
// 80359A30: 80456584 (lit_267)
// 80359A38: 80456588 (lit_268)
// 80359A54: 8035F174 (__GXFlushTextureState)
// 80359A74: 8035F174 (__GXFlushTextureState)
// 80359A98: 803594CC (__GXInitRevisionBits)
// 80359A9C: 803D21AC (GXTexRegionAddrTable)
// 80359AA4: 803D21AC (GXTexRegionAddrTable)
// 80359ABC: 80456580 (__GXData)
// 80359ADC: 8035E538 (GXInitTexCacheRegion)
// 80359AE0: 80456580 (__GXData)
// 80359B00: 8035E538 (GXInitTexCacheRegion)
// 80359B04: 80456580 (__GXData)
// 80359B24: 8035E538 (GXInitTexCacheRegion)
// 80359B58: 80456580 (__GXData)
// 80359B6C: 8035E62C (GXInitTlutRegion)
// 80359BA0: 80456580 (__GXData)
// 80359BB8: 8035E62C (GXInitTlutRegion)
// 80359BD0: 80451924 (__cpReg)
// 80359BE8: 80456580 (__GXData)
// 80359C48: 8035F144 (__GXSetIndirectMask)
// 80359C50: 8035E96C (__GXSetTmemConfig)
// 80359C54: 80359C70 (__GXInitGX)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm void GXInit() {
nofralloc
#include "asm/dolphin/gx/GXInit/GXInit.s"
}
#pragma pop
/* ############################################################################################## */
/* 8045658C-80456590 0004+00 s=1 e=0 z=0 None .sdata2 @269 */
SECTION_SDATA2 static u32 lit_269 = 0x404040FF;
/* 80456590-80456594 0004+00 s=1 e=0 z=0 None .sdata2 @270 */
SECTION_SDATA2 static u8 lit_270[4] = {
0x00,
0x00,
0x00,
0x00,
};
/* 80456594-80456598 0004+00 s=1 e=0 z=0 None .sdata2 @271 */
SECTION_SDATA2 static u32 lit_271 = 0xFFFFFFFF;
/* 80456598-8045659C 0004+00 s=1 e=0 z=0 None .sdata2 @331 */
SECTION_SDATA2 static f32 lit_331 = 1.0f;
/* 8045659C-804565A0 0004+00 s=1 e=0 z=0 None .sdata2 @332 */
SECTION_SDATA2 static f32 lit_332 = 1.0f / 10.0f;
/* 804565A0-804565A8 0008+00 s=1 e=0 z=0 None .sdata2 @334 */
SECTION_SDATA2 static f64 lit_334 = 4503599627370496.0 /* cast u32 to float */;
/* 80359C70-8035A5A8 0938+00 s=1 e=0 z=0 None .text __GXInitGX */
// 80359C88: 8045658C (lit_269)
// 80359C8C: 803D2040 (lit_1)
// 80359C90: 80456590 (lit_270)
// 80359C94: 803D2040 (lit_1)
// 80359C98: 80456594 (lit_271)
// 80359CA8: 8034DA9C (VIGetTvFormat)
// 80359CD4: 803D2448 (GXNtsc480IntDf)
// 80359CD8: 803D2448 (GXNtsc480IntDf)
// 80359CE4: 803D24FC (GXPal528IntDf)
// 80359CE8: 803D24FC (GXPal528IntDf)
// 80359CF4: 803D2538 (GXEurgb60Hz480IntDf)
// 80359CF8: 803D2538 (GXEurgb60Hz480IntDf)
// 80359D04: 803D24C0 (GXMpal480IntDf)
// 80359D08: 803D24C0 (GXMpal480IntDf)
// 80359D14: 803D2448 (GXNtsc480IntDf)
// 80359D18: 803D2448 (GXNtsc480IntDf)
// 80359D34: 8035D070 (GXSetCopyClear)
// 80359D50: 8035BB7C (GXSetTexCoordGen2)
// 80359D6C: 8035BB7C (GXSetTexCoordGen2)
// 80359D88: 8035BB7C (GXSetTexCoordGen2)
// 80359DA4: 8035BB7C (GXSetTexCoordGen2)
// 80359DC0: 8035BB7C (GXSetTexCoordGen2)
// 80359DDC: 8035BB7C (GXSetTexCoordGen2)
// 80359DF8: 8035BB7C (GXSetTexCoordGen2)
// 80359E14: 8035BB7C (GXSetTexCoordGen2)
// 80359E1C: 8035BDFC (GXSetNumTexGens)
// 80359E20: 8035B58C (GXClearVtxDesc)
// 80359E24: 8035BB6C (GXInvalidateVtxCache)
// 80359E38: 80456580 (__GXData)
// 80359E44: 8035BB28 (GXSetArray)
// 80359E6C: 8035B820 (GXSetVtxAttrFmtv)
// 80359E84: 8035C8BC (GXSetLineWidth)
// 80359E90: 8035C8FC (GXSetPointSize)
// 80359EA0: 8035C93C (GXEnableTexOffsets)
// 80359EB0: 8035C93C (GXEnableTexOffsets)
// 80359EC0: 8035C93C (GXEnableTexOffsets)
// 80359ED0: 8035C93C (GXEnableTexOffsets)
// 80359EE0: 8035C93C (GXEnableTexOffsets)
// 80359EF0: 8035C93C (GXEnableTexOffsets)
// 80359F00: 8035C93C (GXEnableTexOffsets)
// 80359F10: 8035C93C (GXEnableTexOffsets)
// 80359F14: 80456598 (lit_331)
// 80359F1C: 80456588 (lit_268)
// 80359F54: 8036024C (GXLoadPosMtxImm)
// 80359F60: 8036029C (GXLoadNrmMtxImm)
// 80359F68: 803602EC (GXSetCurrentMtx)
// 80359F78: 80360320 (GXLoadTexMtxImm)
// 80359F88: 80360320 (GXLoadTexMtxImm)
// 80359F9C: 80456588 (lit_268)
// 80359FA4: 804565A0 (lit_334)
// 80359FB4: 80456598 (lit_331)
// 80359FCC: 80360464 (GXSetViewport)
// 80359FD4: 80360178 (GXSetProjectionv)
// 80359FDC: 8035C9AC (GXSetCoPlanar)
// 80359FE4: 8035C984 (GXSetCullMode)
// 80359FEC: 803605D0 (GXSetClipMode)
// 8035A000: 803604D0 (GXSetScissor)
// 8035A00C: 80360590 (GXSetScissorBoxOffset)
// 8035A014: 8035DB30 (GXSetNumChans)
// 8035A034: 8035DB6C (GXSetChanCtrl)
// 8035A048: 8035D960 (GXSetChanAmbColor)
// 8035A05C: 8035DA48 (GXSetChanMatColor)
// 8035A07C: 8035DB6C (GXSetChanCtrl)
// 8035A090: 8035D960 (GXSetChanAmbColor)
// 8035A0A4: 8035DA48 (GXSetChanMatColor)
// 8035A0A8: 8035E664 (GXInvalidateTexAll)
// 8035A0AC: 8035921C (__GXDefaultTexRegionCallback)
// 8035A0B0: 8035921C (__GXDefaultTexRegionCallback)
// 8035A0B4: 8035E6AC (GXSetTexRegionCallback)
// 8035A0B8: 80359318 (__GXDefaultTlutRegionCallback)
// 8035A0BC: 80359318 (__GXDefaultTlutRegionCallback)
// 8035A0C0: 8035E6C0 (GXSetTlutRegionCallback)
// 8035A0E4: 8035DE40 (GXInitTexObj)
// 8035A0F0: 8035E414 (GXLoadTexObj)
// 8035A0FC: 8035E414 (GXLoadTexObj)
// 8035A108: 8035E414 (GXLoadTexObj)
// 8035A114: 8035E414 (GXLoadTexObj)
// 8035A120: 8035E414 (GXLoadTexObj)
// 8035A12C: 8035E414 (GXLoadTexObj)
// 8035A138: 8035E414 (GXLoadTexObj)
// 8035A144: 8035E414 (GXLoadTexObj)
// 8035A158: 8035F6F4 (GXSetTevOrder)
// 8035A16C: 8035F6F4 (GXSetTevOrder)
// 8035A180: 8035F6F4 (GXSetTevOrder)
// 8035A194: 8035F6F4 (GXSetTevOrder)
// 8035A1A8: 8035F6F4 (GXSetTevOrder)
// 8035A1BC: 8035F6F4 (GXSetTevOrder)
// 8035A1D0: 8035F6F4 (GXSetTevOrder)
// 8035A1E4: 8035F6F4 (GXSetTevOrder)
// 8035A1F8: 8035F6F4 (GXSetTevOrder)
// 8035A20C: 8035F6F4 (GXSetTevOrder)
// 8035A220: 8035F6F4 (GXSetTevOrder)
// 8035A234: 8035F6F4 (GXSetTevOrder)
// 8035A248: 8035F6F4 (GXSetTevOrder)
// 8035A25C: 8035F6F4 (GXSetTevOrder)
// 8035A270: 8035F6F4 (GXSetTevOrder)
// 8035A284: 8035F6F4 (GXSetTevOrder)
// 8035A28C: 8035F890 (GXSetNumTevStages)
// 8035A298: 8035F198 (GXSetTevOp)
// 8035A2B0: 8035F624 (GXSetAlphaCompare)
// 8035A2C0: 8035F668 (GXSetZTexture)
// 8035A2DC: 8035F4A4 (GXSetTevKColorSel)
// 8035A2E8: 8035F500 (GXSetTevKAlphaSel)
// 8035A2F8: 8035F55C (GXSetTevSwapMode)
// 8035A31C: 8035F5A4 (GXSetTevSwapModeTable)
// 8035A334: 8035F5A4 (GXSetTevSwapModeTable)
// 8035A34C: 8035F5A4 (GXSetTevSwapModeTable)
// 8035A364: 8035F5A4 (GXSetTevSwapModeTable)
// 8035A37C: 8035F0F8 (GXSetTevDirect)
// 8035A390: 8035F0D4 (GXSetNumIndStages)
// 8035A3A0: 8035EEA4 (GXSetIndTexCoordScale)
// 8035A3B0: 8035EEA4 (GXSetIndTexCoordScale)
// 8035A3C0: 8035EEA4 (GXSetIndTexCoordScale)
// 8035A3D0: 8035EEA4 (GXSetIndTexCoordScale)
// 8035A3D4: 80456598 (lit_331)
// 8035A3EC: 80456588 (lit_268)
// 8035A3F0: 8045659C (lit_332)
// 8035A3F4: 8035F8B8 (GXSetFog)
// 8035A404: 8035FACC (GXSetFogRangeAdj)
// 8035A418: 8035FBF0 (GXSetBlendMode)
// 8035A420: 8035FC44 (GXSetColorUpdate)
// 8035A428: 8035FC70 (GXSetAlphaUpdate)
// 8035A438: 8035FC9C (GXSetZMode)
// 8035A440: 8035FCD0 (GXSetZCompLoc)
// 8035A448: 8035FDD8 (GXSetDither)
// 8035A454: 8035FE04 (GXSetDstAlpha)
// 8035A460: 8035FD04 (GXSetPixelFmt)
// 8035A46C: 8035FE40 (GXSetFieldMask)
// 8035A494: 8035FE78 (GXSetFieldMode)
// 8035A4A8: 8035CA04 (GXSetDispCopySrc)
// 8035A4B4: 8035CAFC (GXSetDispCopyDst)
// 8035A4C8: 804565A0 (lit_334)
// 8035A4EC: 8035CFA4 (GXSetDispCopyYScale)
// 8035A4F4: 8035CC84 (GXSetCopyClamp)
// 8035A508: 8035D0E8 (GXSetCopyFilter)
// 8035A510: 8035D2F0 (GXSetDispCopyGamma)
// 8035A518: 8035CC60 (GXSetDispCopyFrame2Field)
// 8035A51C: 8035D5F8 (GXClearBoundingBox)
// 8035A524: 8035C448 (GXPokeColorUpdate)
// 8035A52C: 8035C3CC (GXPokeAlphaUpdate)
// 8035A534: 8035C484 (GXPokeDither)
// 8035A548: 8035C3E4 (GXPokeBlendMode)
// 8035A554: 8035C398 (GXPokeAlphaMode)
// 8035A55C: 8035C3AC (GXPokeAlphaRead)
// 8035A568: 8035C460 (GXPokeDstAlpha)
// 8035A578: 8035C49C (GXPokeZMode)
// 8035A584: 8036067C (GXSetGPMetric)
// 8035A588: 80360EC4 (GXClearGPMetric)
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
extern "C" asm static void __GXInitGX() {
nofralloc
#include "asm/dolphin/gx/GXInit/__GXInitGX.s"
}
#pragma pop