.equ vuSDmat0 , 0x3F0 .equ vuSDmat1 , 0x3F1 .equ vuSDmat2 , 0x3F2 .equ vuSDmat3 , 0x3F3 .equ vuSDxMaxyMax , 0x3F6 .equ vuSDcamWcamHzScale , 0x3F7 .equ vuSDoffXoffYzShift , 0x3F8 .equ vuSDrealOffset , 0x3F9 .equ vuSDgifTag , 0x3FA .equ vuSDcolScale , 0x3FB .equ vuSDsurfProps , 0x3FC .equ vuSDClipvec1 , 0x3FD .equ vuSDClipvec2 , 0x3FE .equ vuSDVUSwitch , 0x3FF .equ buildingAmbient , 0x3CF .equ vuSymbStrideOfInputCluster, 3 ; Size of input vertices .equ vuSymbStrideOfOutputCluster, 3 ; size of output vertices .equ vuSymbStaticDataStart, buildingAmbient ; Starting position of the second buffer // 0x51 .equ vuSymbTSVertexCount, (((vuSymbStaticDataStart-2)/((2*vuSymbStrideOfInputCluster+2*vuSymbStrideOfOutputCluster)))) // 0xF3 .equ vuSymbVIFOffset, (vuSymbStrideOfInputCluster*vuSymbTSVertexCount) // 0x1B .equ vuSymbTLTriCount, (vuSymbTSVertexCount/3) ;------ .equ vertexSize , (3) .equ OutverSize , (3) .equ Strider , (2*OutverSize+vertexSize) ; Memory expander stride : Clipping // 0x1E6 .equ ExpandBuffer1 , (2*vuSymbVIFOffset) ; Offset of the first cycling buffer // 0xF3 .equ CyclicSpace , ((vuSymbStaticDataStart-ExpandBuffer1-2)/2) ; Cycling buffers memory allocation // 0x2DA .equ ExpandBuffer2 , (ExpandBuffer1+CyclicSpace+1) ; Offset of the second Cycling buffer // 0x36 .equ XCyclicSpace , ((vuSymbStaticDataStart-ExpandBuffer1-2)/Strider) ; Cycling buffers memory allocation // 0x289 .equ XExpandBuffer2 , (ExpandBuffer1+XCyclicSpace*OutverSize+1) ; Offset of the second Cycling buffer // 0x32C .equ ClippingBuffer , (XExpandBuffer2+XCyclicSpace*OutverSize+1) ; Offset of the clipping Buffer // 0x3B0 .equ TSClipRedLine , (ClippingBuffer+(XCyclicSpace-10)*vertexSize) ; Strip Clipping Buffer Filling Red Line // 0x3A1 .equ TLClipRedLine , (ClippingBuffer+(XCyclicSpace-15)*vertexSize) ; List Clipping Buffer Filling Red Line .include "cvb_TransMatrix.vu" Restart: NOP XTOP VI01 ; input buffer NOP XITOP VI09 ; number of vertices NOP IADD VI10, VI09, VI09 NOP IADD VI10, VI10, VI09 NOP ILW.y VI15, vuSDVUSwitch(VI00) ; input stride 3 NOP IADD VI10, VI01, VI10 ; end of buffer .include "cvb_Decompress.vu" 0330: NOP ILW.w VI03, vuSDVUSwitch(VI00) 0338: NOP ILW.x VI02, vuSDVUSwitch(VI00) 0340: NOP IADDIU VI04, VI00, 4 ; trilist flag 0348: NOP NOP 0350: NOP IBNE VI03, VI00, BackfaceCull 0358: NOP IAND VI04, VI04, VI02 0360: NOP JR VI15 0368: NOP XTOP VI11 BackfaceCull: 0370: NOP XTOP VI11 0378: NOP IBEQ VI04, VI00, TSBackfaceCull 0380: NOP NOP TLBackfaceCull: 0388: ADDw.z VF01, VF00, VF28 NOP 0390: MAX.xy VF01, VF28, VF28 NOP 0398: ADDw.xy VF05, VF31, VF00 NOP 03A0: ADDw.z VF05, VF00, VF31 IADD VI04, VI00, VI11 03A8: ADDw.z VF03, VF00, VF29 LQ.xyz VF08, 0x3(VI04) 03B0: ADDw.z VF04, VF00, VF30 MOVE.xy VF03, VF29 03B8: ADDw.z VF06, VF00, VF00 MOVE.xy VF04, VF30 03C0: MULAw.xyz ACC, VF05, VF00 NOP 03C8: MADDAx.xyz ACC, VF01, VF08 LQ.xyz VF10, 0x6(VI04) 03D0: MADDAy.xyz ACC, VF03, VF08 NOP 03D8: MADDz.xyz VF08, VF04, VF08 NOP 03E0: MULAw.xyz ACC, VF05, VF00 NOP 03E8: MADDAx.xyz ACC, VF01, VF10 LQ.xyz VF07, 0x0(VI04) 03F0: MADDAy.xyz ACC, VF03, VF10 NOP 03F8: MADDz.xyz VF10, VF04, VF10 NOP 0400: MULAw.xyz ACC, VF05, VF00 NOP 0408: MADDAx.xyz ACC, VF01, VF07 LQ.xyz VF11, 0x9(VI04) 0410: MADDAy.xyz ACC, VF03, VF07 NOP 0418: MADDz.xyz VF09, VF04, VF07 NOP 0420: MULAw.xyz ACC, VF05, VF00 NOP 0428: MADDAx.xyz ACC, VF01, VF11 NOP 0430: MADDAy.xyz ACC, VF03, VF11 NOP 0438: MADDz.xyz VF07, VF04, VF11 LQ.xyz VF11, 0xC(VI04) 0440: OPMULA.xyz ACC, VF10, VF08 NOP 0448: OPMSUB.xyz VF08, VF08, VF10 NOP 0450: MULAw.xyz ACC, VF05, VF00 NOP 0458: MADDAx.xyz ACC, VF01, VF11 NOP 0460: MADDAy.xyz ACC, VF03, VF11 LQ.xyz VF12, 0xF(VI04) 0468: MUL.xyz VF10, VF08, VF09 NOP 0470: MADDz.xyz VF08, VF04, VF11 NOP 0478: MULAw.xyz ACC, VF05, VF00 NOP 0480: MADDAx.xyz ACC, VF01, VF12 NOP 0488: MADDAy.xyz ACC, VF03, VF12 IADDIU VI01, VI00, 0x7FFF 0490: MADDz.xyz VF09, VF04, VF12 IADDIU VI01, VI01, 0x1 0498: ADDAx.z ACC, VF10, VF10 IADD VI02, VI00, VI01 04A0: MADDy.z VF00, VF06, VF10 IADDIU VI03, VI00, 0x20 TLBackfaceCullLoop: 04A8: NOP LQ.xyz VF10, 0x12(VI04) 04B0: OPMULA.xyz ACC, VF09, VF08 NOP 04B8: OPMSUB.xyz VF08, VF08, VF09 NOP 04C0: MULAw.xyz ACC, VF05, VF00 NOP 04C8: MADDAx.xyz ACC, VF01, VF10 FMAND VI05, VI03 04D0: MADDAy.xyz ACC, VF03, VF10 LQ.xyz VF11, 0x15(VI04) 04D8: MUL.xyz VF07, VF08, VF07 NOP 04E0: MADDz.xyz VF10, VF04, VF10 NOP 04E8: MULAw.xyz ACC, VF05, VF00 NOP 04F0: MADDAx.xyz ACC, VF01, VF11 LQ.xyz VF12, 0x18(VI04) 04F8: MADDAy.xyz ACC, VF03, VF11 IADDIU VI05, VI05, 0x7FE0 0500: MADDz.xyz VF11, VF04, VF11 IAND VI06, VI05, VI01 0508: MULAw.xyz ACC, VF05, VF00 ISW.w VI06, 0x0(VI04) 0510: MADDAx.xyz ACC, VF01, VF12 IAND VI02, VI02, VI05 0518: MADDAy.xyz ACC, VF03, VF12 IADDIU VI05, VI04, 0x9 0520: MADDz.xyz VF12, VF04, VF12 ISW.w VI06, 0x3(VI04) 0528: ADDAx.z ACC, VF07, VF07 IBEQ VI05, VI10, 0x5C8 0530: MADDy.z VF00, VF06, VF07 ISW.w VI06, 0x6(VI04) 0538: NOP LQ.xyz VF07, 0x12(VI05) 0540: OPMULA.xyz ACC, VF12, VF11 NOP 0548: OPMSUB.xyz VF11, VF11, VF12 NOP 0550: MULAw.xyz ACC, VF05, VF00 NOP 0558: MADDAx.xyz ACC, VF01, VF07 FMAND VI04, VI03 0560: MADDAy.xyz ACC, VF03, VF07 LQ.xyz VF08, 0x15(VI05) 0568: MUL.xyz VF10, VF11, VF10 NOP 0570: MADDz.xyz VF07, VF04, VF07 NOP 0578: MULAw.xyz ACC, VF05, VF00 NOP 0580: MADDAx.xyz ACC, VF01, VF08 LQ.xyz VF09, 0x18(VI05) 0588: MADDAy.xyz ACC, VF03, VF08 IADDIU VI04, VI04, 0x7FE0 0590: MADDz.xyz VF08, VF04, VF08 IAND VI06, VI04, VI01 0598: MULAw.xyz ACC, VF05, VF00 ISW.w VI06, 0x0(VI05) 05A0: MADDAx.xyz ACC, VF01, VF09 IAND VI02, VI02, VI04 05A8: MADDAy.xyz ACC, VF03, VF09 IADDIU VI04, VI05, 0x9 05B0: MADDz.xyz VF09, VF04, VF09 ISW.w VI06, 0x3(VI05) 05B8: ADDAx.z ACC, VF10, VF10 IBNE VI04, VI10, TLBackfaceCull 05C0: MADDy.z VF00, VF06, VF10 ISW.w VI06, 0x6(VI05) 05C8: NOP IBEQ VI02, VI00, TLBackfaceCullEnd 05D0: NOP NOP 05D8: NOP IADDIU VI15, VI00, DoubleBufferStage TLBackfaceCullEnd: 05E0: NOP JR VI15 05E8: NOP XTOP VI11 TSBackfaceCull: 05F0: ADDw.z VF01, VF00, VF28 NOP 05F8: ADDw.xy VF05, VF31, VF00 IADD VI01, VI00, VI11 0600: ADDw.z VF05, VF00, VF31 MOVE.xy VF03, VF29 0608: MAX.xy VF01, VF28, VF28 LQ.xyz VF07, 0x3(VI01) 0610: ADDw.z VF03, VF00, VF29 MOVE.xy VF04, VF30 0618: ADDw.z VF04, VF00, VF30 NOP 0620: MULAw.xyz ACC, VF05, VF00 IADDIU VI04, VI01, 0x6 0628: MADDAx.xyz ACC, VF01, VF07 LQ.xyz VF08, 0x0(VI04) 0630: MADDAy.xyz ACC, VF03, VF07 NOP 0638: MADDz.xyz VF07, VF04, VF07 NOP 0640: MULAw.xyz ACC, VF05, VF00 NOP 0648: MADDAx.xyz ACC, VF01, VF08 LQ.xyz VF09, 0x0(VI01) 0650: MADDAy.xyz ACC, VF03, VF08 NOP 0658: MADDz.xyz VF08, VF04, VF08 NOP 0660: MULAw.xyz ACC, VF05, VF00 NOP 0668: MADDAx.xyz ACC, VF01, VF09 NOP 0670: MADDAy.xyz ACC, VF03, VF09 NOP 0678: MADDz.xyz VF10, VF04, VF09 NOP 0680: OPMULA.xyz ACC, VF08, VF07 LQ.xyz VF09, 0x3(VI04) 0688: OPMSUB.xyz VF11, VF07, VF08 NOP 0690: ADDw.z VF06, VF00, VF00 NOP 0698: MULAw.xyz ACC, VF05, VF00 NOP 06A0: MADDAx.xyz ACC, VF01, VF09 NOP 06A8: MUL.xyz VF10, VF11, VF10 NOP 06B0: MADDAy.xyz ACC, VF03, VF09 ILW.w VI05, 0x0(VI04) 06B8: MADDz.xyz VF09, VF04, VF09 IADDIU VI01, VI00, 0x7FFF 06C0: NOP IADDIU VI01, VI01, 0x1 06C8: ADDAx.z ACC, VF10, VF10 IADD VI02, VI00, VI01 06D0: MADDy.z VF00, VF06, VF10 IADDIU VI03, VI00, 0x20 06D8: MAX.xyz VF10, VF08, VF08 MOVE.xyz VF11, VF09 06E0: OPMULA.xyz ACC, VF10, VF11 LQ.xyz VF12, 0x6(VI04) TSBackfaceCullLoop: 06E8: OPMSUB.xyz VF08, VF11, VF10 IADDIU VI07, VI04, 0x3 06F0: NOP NOP 06F8: MULAw.xyz ACC, VF05, VF00 FMAND VI06, VI03 0700: MADDAx.xyz ACC, VF01, VF12 IADDIU VI06, VI06, 0x7FE0 0708: MUL.xyz VF07, VF08, VF07 IAND VI06, VI06, VI01 0710: MADDAy.xyz ACC, VF03, VF12 IOR VI05, VI05, VI06 0718: MADDz.xyz VF12, VF04, VF12 ISW.w VI05, 0x0(VI04) 0720: NOP IAND VI02, VI02, VI06 0728: ADDAx.z ACC, VF07, VF07 IBEQ VI07, VI10, 0x798 0730: MADDy.z VF00, VF06, VF07 ILW.w VI06, 0x3(VI04) 0738: MAX.xyz VF07, VF11, VF11 MOVE.xyz VF08, VF12 0740: OPMULA.xyz ACC, VF08, VF07 LQ.xyz VF09, 0x6(VI07) 0748: OPMSUB.xyz VF11, VF07, VF08 IADDIU VI04, VI07, 0x3 0750: NOP NOP 0758: MULAw.xyz ACC, VF05, VF00 FMAND VI05, VI03 0760: MADDAx.xyz ACC, VF01, VF09 IADDIU VI05, VI05, 0x7FE0 0768: MUL.xyz VF10, VF11, VF10 IAND VI05, VI05, VI01 0770: MADDAy.xyz ACC, VF03, VF09 IOR VI06, VI06, VI05 0778: MADDz.xyz VF09, VF04, VF09 ISW.w VI06, 0x0(VI07) 0780: NOP IAND VI02, VI02, VI05 0788: ADDAx.z ACC, VF10, VF10 IBNE VI04, VI10, TSBackfaceCullLoop 0790: MADDy.z VF00, VF06, VF10 ILW.w VI05, 0x3(VI07) 0798: NOP IBEQ VI02, VI00, TSBackfaceCullEnd 07A0: NOP NOP 07A8: NOP IADDIU VI15, VI00, DoubleBufferStage TSBackfaceCullEnd: 07B0: NOP JR VI15 07B8: NOP XTOP VI11 ; Input buffer address in VI11 GenericRender: NOP LQ.yzw VF01, vuSDgifTag(VI00) NOP IADDIU VI08, VI00, 0x4000 NOP IADD VI08, VI08, VI08 NOP IOR VI09, VI08, VI09 .include "cvb_GenericGenerator.vu" NOP IADDIU VI07, VI10, 0 NOP IADD VI15, VI00, VI12 NOP IADD VI12, VI00, VI13 NOP IADD VI13, VI00, VI15 NOP XGKICK VI14 NOP B DoubleBufferStage NOP IADD VI14, VI00, VI12 FoggedRender: NOP LQ.yzw VF01, vuSDgifTag(VI00) NOP IADDIU VI08, VI00, 0x4000 NOP IADD VI08, VI08, VI08 NOP IOR VI09, VI08, VI09 .include "cvb_FoggedGenerator.vu" NOP IADDIU VI07, VI10, 0 NOP IADD VI15, VI00, VI12 NOP IADD VI12, VI00, VI13 NOP IADD VI13, VI00, VI15 NOP XGKICK VI14 NOP B DoubleBufferStage NOP IADD VI14, VI00, VI12 ; What's this? 0BF8: NOP LQ.yzw VF01, vuSDgifTag(VI00) 0C00: MAX.xyz VF03, VF31, VF31 LQ.zw VF07, vuSDxMaxyMax(VI00) 0C08: MAX.xy VF04, VF28, VF28 NOP 0C10: MAX.xyz VF06, VF30, VF30 NOP 0C18: SUB.xyz VF10, VF00, VF02 NOP 0C20: MULz.w VF03, VF31, VF07 NOP 0C28: MULz.w VF04, VF28, VF07 NOP 0C30: MULz.w VF05, VF29, VF07 LQ.xyz VF16, 0x0(VI11) 0C38: MULz.w VF06, VF30, VF07 MOVE.xy VF05, VF29 0C40: MULz.w VF10, VF07, VF07 NOP 0C48: MULAw.xyzw ACC, VF03, VF00 NOP 0C50: MADDAx.xyw ACC, VF04, VF16 LOI 255 0C58: MADDAy.xyw ACC, VF05, VF16 LQ.xyz VF17, 0x3(VI11) 0C60: MADDz.xyzw VF01, VF06, VF16 SQ.yzw VF01, 0x0(VI14) 0C68: MULAi.w ACC, VF00, I LQ.xyzw VF15, 0x2(VI11) 0C70: MADDz.w VF12, VF07, VF07 IADDIU VI03, VI14, 0x1 0C78: MULAw.xyzw ACC, VF10, VF00 LOI 2048.5 0C80: MSUBi.xyzw VF11, VF00, I ILW.w VI02, 0x3(VI11) 0C88: MAX.w VF17, VF01, VF10 DIV Q, VF07z, VF01w 0C90: MULAw.xyzw ACC, VF03, VF00 ILW.w VI01, 0x0(VI11) 0C98: MADDAx.xyw ACC, VF04, VF17 MR32.z VF09, VF00 0CA0: MADDAy.xyw ACC, VF05, VF17 MR32.z VF08, VF00 0CA8: MINI.w VF13, VF17, VF12 LQ.xy VF08, 0x1(VI11) 0CB0: MADDz.xyzw VF17, VF06, VF17 IADDIU VI09, VI00, 0x0 0CB8: FTOI0.xyzw VF15, VF15 LQ.xy VF09, 0x4(VI11) 0CC0: MULq.xyz VF13, VF01, Q LQ.xyzw VF16, 0x5(VI11) 0CC8: MULq.xyz VF14, VF08, Q IADDIU VI04, VI00, 0x36 0CD0: MAX.w VF01, VF17, VF10 IBNE VI01, VI00, 0xCF0 0CD8: NOP DIV Q, VF07z, VF17w 0CE0: SUB.xyzw VF13, VF13, VF10 B 0xD00 0CE8: MULAw.xyzw ACC, VF03, VF00 SQ.xyz VF14, 0x0(VI03) 0CF0: SUB.xyzw VF13, VF13, VF11 B 0xD00 0CF8: MULAw.xyzw ACC, VF03, VF00 SQ.xyz VF14, 0x0(VI03) 0D00: NOP SQ.xyzw VF15, 0x1(VI03) 0D08: MINI.w VF14, VF01, VF12 LQ.xyz VF12, 0x6(VI11) 0D10: FTOI0.xyzw VF18, VF16 IADDIU VI09, VI09, 0x1 0D18: FTOI4.xyzw VF13, VF13 ILW.w VI01, 0x6(VI11) 0D20: MULq.xyz VF14, VF17, Q LQ.xy VF08, 0x7(VI11) 0D28: MADDAx.xyw ACC, VF04, VF12 LQ.xyzw VF19, 0x8(VI11) 0D30: MADDAy.xyw ACC, VF05, VF12 IADDIU VI11, VI11, 0x3 0D38: MADDz.xyzw VF20, VF06, VF12 IBEQ VI09, VI04, 0xDE8 0D40: MULq.xyz VF01, VF09, Q SQ.xyzw VF13, 0x2(VI03) 0D48: NOP IBEQ VI11, VI10, 0xDE8 0D50: NOP NOP 0D58: MAX.w VF01, VF20, VF10 IBNE VI02, VI00, 0xD78 0D60: NOP DIV Q, VF07z, VF20w 0D68: SUB.xyzw VF21, VF14, VF10 B 0xD88 0D70: MULAw.xyzw ACC, VF03, VF00 SQ.xyz VF01, 0x3(VI03) 0D78: SUB.xyzw VF21, VF14, VF11 B 0xD88 0D80: MULAw.xyzw ACC, VF03, VF00 SQ.xyz VF01, 0x3(VI03) 0D88: NOP SQ.xyzw VF18, 0x4(VI03) 0D90: NOP LQ.xyz VF17, 0x6(VI11) 0D98: FTOI4.xyzw VF21, VF21 ILW.w VI02, 0x6(VI11) 0DA0: MINI.w VF13, VF01, VF12 IADDIU VI09, VI09, 0x1 0DA8: FTOI0.xyzw VF15, VF19 LQ.xy VF09, 0x7(VI11) 0DB0: MULq.xyz VF13, VF20, Q LQ.xyzw VF16, 0x8(VI11) 0DB8: MADDAx.xyw ACC, VF04, VF17 SQ.xyzw VF21, 0x5(VI03) 0DC0: MADDAy.xyw ACC, VF05, VF17 IADDIU VI11, VI11, 0x3 0DC8: MADDz.xyzw VF17, VF06, VF17 IBEQ VI09, VI04, 0xDE8 0DD0: MULq.xyz VF14, VF08, Q IADDIU VI03, VI03, 0x6 0DD8: NOP IBNE VI11, VI10, 0xCD0 0DE0: NOP NOP 0DE8: NOP IADDIU VI01, VI00, 0x4000 0DF0: NOP IADD VI01, VI01, VI01 0DF8: NOP IOR VI01, VI01, VI09 0E00: NOP ISW.x VI01, 0x0(VI14) 0E08: NOP ISUBIU VI05, VI09, 0x3 0E10: NOP NOP 0E18: NOP IBLTZ VI05, DoubleBufferStage 0E20: NOP IADDIU VI07, VI10, 0x0 0E28: NOP XGKICK VI14 0E30: NOP IADD VI15, VI00, VI12 0E38: NOP IADD VI12, VI00, VI13 0E40: NOP IADD VI13, VI00, VI15 0E48: NOP IBEQ VI11, VI10, DoubleBufferStage 0E50: NOP IADD VI14, VI00, VI12 0E58: NOP B 0xBF8 0E60: NOP ISUBIU VI11, VI11, vertexSize*2 TSClipRender: .include "cvb_TSClipExpander.vu" NOP IADD VI07, VI00, VI07 NOP ISUBIU VI05, VI09, 3 NOP LQ.yzw VF01, vuSDgifTag(VI00) NOP IBLTZ VI05, DoubleBufferStage NOP IADDIU VI01, VI00, ClippingBuffer NOP BAL VI08, CTSprocessor NOP IADD VI15, VI00, VI12 NOP IADD VI12, VI00, VI13 NOP IADD VI13, VI00, VI15 NOP IBEQ VI11, VI10, DoubleBufferStage NOP IADD VI14, VI00, VI12 NOP B TSClipRender NOP ISUBIU VI11, VI11, vertexSize*2 TSCullRender: .include "cvb_TSCullExpander.vu" NOP ISUBIU VI05, VI09, 3 NOP LQ.yzw VF01, vuSDgifTag(VI00) NOP IBLTZ VI05, DoubleBufferStage NOP IADDIU VI01, VI00, ClippingBuffer NOP BAL VI08, CTSprocessor NOP IADD VI15, VI00, VI12 NOP IADD VI12, VI00, VI13 NOP IADD VI13, VI00, VI15 NOP IBEQ VI11, VI10, DoubleBufferStage NOP IADD VI14, VI00, VI12 NOP B TSCullRender NOP ISUBIU VI11, VI11, vertexSize*2 TLClipRender: .include "cvb_TLClipExpander.vu" NOP IADD VI07, VI00, VI05 NOP ISUBIU VI05, VI09, 3 NOP LQ.yzw VF01, vuSDgifTag(VI00) NOP IBLTZ VI05, DoubleBufferStage NOP IADDIU VI01, VI00, ClippingBuffer NOP BAL VI08, CTSprocessor NOP IADD VI15, VI00, VI12 NOP IADD VI12, VI00, VI13 NOP IADD VI13, VI00, VI15 NOP IBNE VI11, VI10, TLClipRender NOP IADD VI14, VI00, VI12 NOP B DoubleBufferStage NOP NOP TLCullRender: .include "cvb_TLCullExpander.vu" NOP ISUBIU VI05, VI09, 3 NOP LQ.yzw VF01, vuSDgifTag(VI00) NOP IBLTZ VI05, DoubleBufferStage NOP IADDIU VI01, VI00, ClippingBuffer NOP BAL VI08, CTSprocessor NOP IADD VI15, VI00, VI12 NOP IADD VI12, VI00, VI13 NOP IADD VI13, VI00, VI15 NOP IBNE VI11, VI10, TLCullRender NOP IADD VI14, VI00, VI12 DoubleBufferStage: NOP[E] IADDIU VI15, VI00, Restart NOP NOP NOP JR VI15 NOP NOP CTSprocessor: NOP IADDIU VI02, VI00, 0x4000 NOP IADD VI02, VI02, VI02 NOP IOR VI09, VI09, VI02 .include "cvb_ClipGenerator.vu" NOP JR VI08 NOP XGKICK VI14