TOP: 0 ITOP: 36 start: 0: 00 00 00 3f sub[i].z vf28z,vf28z,vf28z loi 0.5 4: 2c e7 5c 80 8: f0 03 bc 01 sub.z vf29z,vf29z,vf29z lq.xyw vf28xyw,0x3f0(vi00) c: 6c ef 5d 00 10: f1 03 bd 01 sub.z vf30z,vf30z,vf30z lq.xyw vf29xyw,0x3f1(vi00) 14: ac f7 5e 00 18: f2 03 be 01 addw.z vf31z,vf00z,vf00w lq.xyw vf30xyw,0x3f2(vi00) 1c: c3 07 40 00 20: f3 03 bf 01 sub.w vf02w,vf02w,vf02w lq.xyw vf31xyw,0x3f3(vi00) 24: ac 10 22 00 28: ff 03 02 09 muli.w vf21w,vf28w,i ilw.x vi02,0x3ff(vi00)x ; val = 9 initially 2c: 5e e5 20 00 30: f8 03 c2 01 muli.w vf22w,vf29w,i lq.xyz vf02xyz,0x3f8(vi00) ; - [0.0, 0.0, -9512.0] ?? 34: 9e ed 20 00 38: 02 00 03 10 muli.w vf23w,vf30w,i iaddiu vi03,vi00,2 3c: de f5 20 00 40: f7 03 c5 01 muli.w vf25w,vf31w,i lq.xyz vf05xyz,0x3f7(vi00) ; - [640.0, 448.0, 5035515.0] width/height/depth (?) 44: 5e fe 20 00 48: f4 10 03 80 subw.xy vf28xy,vf28xy,vf21w iand vi03,vi02,vi03 4c: 07 e7 95 01 50: f9 03 83 01 subw.xy vf29xy,vf29xy,vf22w lq.xy vf03xy,0x3f9(vi00) ; - [2048.0, 2048.0] offsets? 54: 47 ef 96 01 58: 12 00 03 50 subw.xy vf30xy,vf30xy,vf23w ibeq vi03,vi00,L1[0xf0] ; if val & 2 == 0 (taken) 5c: 87 f7 97 01 60: 04 00 05 10 subw.xy vf31xy,vf31xy,vf25w iaddiu vi05,vi00,4 64: c7 ff 99 01 ; VF28 [-0.2554054260253906, 0.3501380756497383, 0, -0.8583860397338867] ; VF29 [ 0.6668349653482437, 0.1328030452132225, 0, -0.3293575346469879] ; VF30 [-0.0009932518005371094, -0.8753620237112045, 0, -0.3933153450489044] ; VF31 [ 0.788421630859375, 0.3527679443359375, 1, 7.75994873046875] 68: 74 11 05 80 mul.xy vf28xy,vf28xy,vf05xy iand vi05,vi02,vi05 6c: 2a e7 85 01 70: 08 00 06 10 mul.xy vf29xy,vf29xy,vf05xy iaddiu vi06,vi00,8 74: 6a ef 85 01 78: c0 01 0c 10 mul.xy vf30xy,vf30xy,vf05xy iaddiu vi12,vi00,0x1c0 7c: aa f7 85 01 80: 07 00 05 50 mul.xyz vf31xyz,vf31xyz,vf05xyz ibeq vi05,vi00,L0[0xc0] ; if val & 4 == 0 84: ea ff c5 01 ; Vf28 [-163.45947265625, 156.86185789108276, 0, -0.8583860397338867] ; Vf29 [ 426.774377822876, 59.49576425552368, 0, -0.3293575346469879] ; Vf30 [-0.63568115234375, -392.16218662261963, 0, -0.3933153450489044] ; Vf31 [ 504.58984375, 158.0400390625, 5035515.0, 7.75994873046875] 88: b4 11 06 80 add.xy vf02xy,vf02xy,vf03xy iand vi06,vi02,vi06 8c: a8 10 83 01 ; vf02 [2048.0, 2048.0, -9512.0, 0] 90: 33 02 0d 10 nop iaddiu vi13,vi00,0x233 94: ff 02 00 00 98: a6 02 0e 10 nop iaddiu vi14,vi00,0x2a6 9c: ff 02 00 00 a0: 12 00 06 50 nop ibeq vi06,vi00,L3[0x138] ; if val & 8 == 0 a4: ff 02 00 00 a8: 52 05 0f 10 nop iaddiu vi15,vi00,L25[0x552] ac: ff 02 00 00 b0: 10 00 00 40 nop b L3[0x138] b4: ff 02 00 00 b8: 23 04 0f 10 nop iaddiu vi15,vi00,L24[0x423] bc: ff 02 00 00 L0: c0: 33 02 0d 10 nop iaddiu vi13,vi00,0x233 c4: ff 02 00 00 c8: a6 02 0e 10 nop iaddiu vi14,vi00,0x2a6 cc: ff 02 00 00 d0: 0c 00 06 50 nop ibeq vi06,vi00,L3[0x138] ; if val & 8 == 0 d4: ff 02 00 00 d8: e2 03 0f 10 nop iaddiu vi15,vi00,L23[0x3e2] dc: ff 02 00 00 e0: 0a 00 00 40 nop b L3[0x138] e4: ff 02 00 00 e8: a4 02 0f 10 nop iaddiu vi15,vi00,L22[0x2a4] ec: ff 02 00 00 L1: f0: 01 00 04 10 mul.xy vf28xy,vf28xy,vf05xy iaddiu vi04,vi00,1 f4: 2a e7 85 01 f8: 34 11 04 80 mul.xy vf29xy,vf29xy,vf05xy iand vi04,vi02,vi04 fc: 6a ef 85 01 100: c0 01 0c 10 mul.xy vf30xy,vf30xy,vf05xy iaddiu vi12,vi00,0x1c0 104: aa f7 85 01 108: 69 02 0d 10 mul.xyz vf31xyz,vf31xyz,vf05xyz iaddiu vi13,vi00,0x269 10c: ea ff c5 01 110: 03 00 04 50 add.xy vf02xy,vf02xy,vf03xy ibeq vi04,vi00,L2[0x130] ; not taken 114: a8 10 83 01 118: 12 03 0e 10 nop iaddiu vi14,vi00,0x312 11c: ff 02 00 00 120: 02 00 00 40 nop b L3[0x138] 124: ff 02 00 00 128: 58 02 0f 10 nop iaddiu vi15,vi00,L21[0x258] ; -> vi15 12c: ff 02 00 00 L2: 130: 06 02 0f 10 nop iaddiu vi15,vi00,L20[0x206] 134: ff 02 00 00 L3: 138: ff 03 8f 0a nop isw.y vi15,0x3ff(vi00)y 13c: ff 02 00 00 140: c9 03 28 08 nop ilw.w vi08,0x3c9(vi00)w ; val2 = 6 initially 144: ff 02 00 00 148: 04 00 04 10 nop iaddiu vi04,vi00,4 14c: ff 02 00 00 150: 01 00 01 10 nop iaddiu vi01,vi00,1 154: ff 02 00 00 158: 02 00 02 10 nop iaddiu vi02,vi00,2 15c: ff 02 00 00 160: 0f 00 08 50 nop ibeq vi08,vi00,vertcnv[0x1e0] ; if val2 == 0 -> nothing 164: ff 02 00 00 168: e1 05 0f 10 nop iaddiu vi15,vi00,L30[0x5e1] 16c: ff 02 00 00 170: 0d 20 08 50 nop ibeq vi08,vi04,vertcnv[0x1e0] ; if val2 == 4 -> specular 174: ff 02 00 00 178: f7 05 0f 10 nop iaddiu vi15,vi00,L33[0x5f7] 17c: ff 02 00 00 180: 74 41 01 80 nop iand vi05,vi08,vi01 184: ff 02 00 00 188: b4 41 04 80 nop iand vi06,vi08,vi04 18c: ff 02 00 00 190: 05 00 05 50 nop ibeq vi05,vi00,L5[0x1c0] ; if val2 & 1 == 0 (taken) -> x-env 194: ff 02 00 00 198: 3c 03 00 80 nop nop 19c: ff 02 00 00 1a0: 07 00 06 50 nop ibeq vi06,vi00,vertcnv[0x1e0] ; if val2 & 4 == 0 -> only env 1a4: ff 02 00 00 1a8: e3 05 0f 10 nop iaddiu vi15,vi00,L31[0x5e3] 1ac: ff 02 00 00 1b0: 05 00 00 40 nop b vertcnv[0x1e0] ; -> env and spec 1b4: ff 02 00 00 1b8: 01 06 0f 10 nop iaddiu vi15,vi00,L34[0x601] 1bc: ff 02 00 00 L5: 1c0: 03 00 06 50 nop ibeq vi06,vi00,vertcnv[0x1e0] ; if val2 & 4 == 0 -> only x-env 1c4: ff 02 00 00 1c8: ed 05 0f 10 nop iaddiu vi15,vi00,L32[0x5ed] 1cc: ff 02 00 00 1d0: 01 00 00 40 nop b vertcnv[0x1e0] ; (taken) ; -> x-env and spec 1d4: ff 02 00 00 1d8: 15 06 0f 10 nop iaddiu vi15,vi00,L35[0x615] 1dc: ff 02 00 00 ;; VF02: [2048.0, 2048.0, -9512.0, 0] ;; projection matrix? ;; VF28: [-163.45947265625, 156.86185789108276, 0, -0.8583860397338867] ;; VF29: [426.774377822876, 59.49576425552368, 0, -0.3293575346469879] ;; VF30: [-0.63568115234375, -392.16218662261963, 0, -0.3933153450489044] ;; VF31: [504.58984375, 158.0400390625, 5035515.0, 7.75994873046875] ;; here we go through the whole list of vertices and convert them to floats vertcnv: 1e0: c9 03 2f 0a nop isw.w vi15,0x3c9(vi00)w 1e4: ff 02 00 00 1e8: bc 06 01 80 nop xtop vi01 ; vertex address 1ec: ff 02 00 00 1f0: bd 06 09 80 nop xitop vi09 ; vertex count 1f4: ff 02 00 00 1f8: b0 4a 09 80 nop iadd vi10,vi09,vi09 1fc: ff 02 00 00 200: b0 52 09 80 nop iadd vi10,vi10,vi09 204: ff 02 00 00 208: b0 52 09 80 nop iadd vi10,vi10,vi09 ; number of attributes? 20c: ff 02 00 00 210: f0 07 e8 11 nop iaddiu vi08,vi00,0x7ff0 214: ff 02 00 00 218: 0c 50 0b 10 nop iaddiu vi11,vi10,12 21c: ff 02 00 00 220: ff 03 8f 08 nop ilw.y vi15,0x3ff(vi00)y 224: ff 02 00 00 228: f4 5a 08 80 nop iand vi11,vi11,vi08 ; round up to next multiple of 0x10 22c: ff 02 00 00 230: b0 0a 0a 80 nop iadd vi10,vi01,vi10 234: ff 02 00 00 238: f0 0a 0b 80 nop iadd vi11,vi01,vi11 23c: ff 02 00 00 240: b0 00 01 80 nop iadd vi02,vi00,vi01 244: ff 02 00 00 248: 00 10 ca 01 nop lq.xyz vf10xyz,0(vi02) ; - load vertex[0].xyz to VF10 24c: ff 02 00 00 250: 01 10 e7 01 nop lq.xyzw vf07xyzw,1(vi02) ; - load tex coord[0] (two sets) VF07 254: ff 02 00 00 258: 00 00 80 3a nop[i] loi 0.000976562 ; - vertex scale 25c: ff 02 00 80 260: 03 10 e8 01 addi.y vf04y,vf00y,i lq.xyzw vf08xyzw,3(vi02) ; - load normal[0] to VF08 264: 22 01 80 00 268: 3c 03 00 80 itof0.xyz vf11xyz,vf10xyz nop ; float vertex[0] to VF11 26c: 3c 51 cb 01 270: 00 00 80 39 itof0[i].xyzw vf07xyzw,vf07xyzw loi 0.000244141 ; float tex coord[0] to VF07 - tex coord scale 274: 3c 39 e7 81 278: 3c 03 00 80 addi.x vf03x,vf00x,i nop 27c: e2 00 00 01 280: 00 00 7f 43 itof0[i].xyzw vf08xyzw,vf08xyzw loi 255 ; float normal[0] to VF08 284: 3c 41 e8 81 288: 05 10 ea 01 muli.xyzw vf01xyzw,vf00xyzw,i lq.xyzw vf10xyzw,5(vi02) ; - tex coord[1] to VF10 28c: 5e 00 e0 01 290: 04 10 c9 01 muly.xyz vf06xyz,vf11xyz,vf04y lq.xyz vf09xyz,4(vi02) ; scaled vertex[0] to VF06 - vertex[1].xyz to VF09 294: 99 59 c4 01 298: 00 00 00 3c mulx[i].xyzw vf07xyzw,vf07xyzw,vf03x loi 0.0078125 ; scaled tex coord[0] to VF07 - normal scale 29c: d8 39 e3 81 2a0: 07 10 eb 01 muli.xyzw vf08xyzw,vf08xyzw,i lq.xyzw vf11xyzw,7(vi02) ; scaled normal[0] to VF08 - normal[1] to VF11 2a4: 1e 42 e0 01 2a8: 3c 03 00 80 max.xyzw vf05xyzw,vf01xyzw,vf01xyzw nop ; vertex color[0] to VF05 2ac: 6b 09 e1 01 1: 2b0: 00 30 c2 03 nop sq.xyz vf06xyz,0(vi02) ; - store vertex[0] 2b4: ff 02 00 00 2b8: 01 38 e2 03 itof0.xyz vf13xyz,vf09xyz sq.xyzw vf07xyzw,1(vi02) ; float vertex[1] to VF13 - store tex coord[0] 2bc: 3c 49 cd 01 2c0: 03 40 e2 03 nop sq.xyzw vf08xyzw,3(vi02) ; - store normal[0] 2c4: ff 02 00 00 2c8: 04 10 03 10 itof0.xyzw vf14xyzw,vf10xyzw iaddiu vi03,vi02,4 ; float tex coord[1] to VF14 - VI03 = address of vertex[1] 2cc: 3c 51 ee 01 2d0: 08 10 d0 01 itof0.xyzw vf15xyzw,vf11xyzw lq.xyz vf16xyz,8(vi02) ; float normal[1] to VF15 - load vertex[2] to VF16 2d4: 3c 59 ef 01 2d8: 09 10 f1 01 muly.xyz vf13xyz,vf13xyz,vf04y lq.xyzw vf17xyzw,9(vi02) ; scale vertex[1] to VF13 - load tex coord[2] to VF17 2dc: 59 6b c4 01 2e0: 0b 10 f2 01 max.xyzw vf12xyzw,vf01xyzw,vf01xyzw lq.xyzw vf18xyzw,11(vi02) ; vertex color[1] to VF12 - load normal[2] to VF18 2e4: 2b 0b e1 01 2e8: 1c 50 03 50 mulx.xyzw vf14xyzw,vf14xyzw,vf03x ibeq vi03,vi10,vcnvend[0x3d0] ; scale tex coord[1] to VF14 - branch if vertex[1] beyond end 2ec: 98 73 e3 01 2f0: 02 28 e2 03 muli.xyzw vf15xyzw,vf15xyzw,i sq.xyzw vf05xyzw,2(vi02) ; scale normal[1] to VF15 - store vertex color[0] 2f4: de 7b e0 01 2f8: 00 68 c3 03 nop sq.xyz vf13xyz,0(vi03) ; - store vertex[1] 2fc: ff 02 00 00 300: 02 60 e3 03 itof0.xyz vf06xyz,vf16xyz sq.xyzw vf12xyzw,2(vi03) ; float vertex[2] to VF06 - store vertex color[1] 304: 3c 81 c6 01 308: 01 70 e3 03 nop sq.xyzw vf14xyzw,1(vi03) ; - store tex coord[1] 30c: ff 02 00 00 310: 04 18 02 10 itof0.xyzw vf07xyzw,vf17xyzw iaddiu vi02,vi03,4 ; float tex coord[2] to VF07 - VI02 = address of vertex[2] 314: 3c 89 e7 01 318: 08 18 c9 01 itof0.xyzw vf08xyzw,vf18xyzw lq.xyz vf09xyz,8(vi03) ; float normal[2] to VF08 - load vertex[3] to VF09 31c: 3c 91 e8 01 320: 09 18 ea 01 muly.xyz vf06xyz,vf06xyz,vf04y lq.xyzw vf10xyzw,9(vi03) ; scale vertex[2] to VF06 - load tex coord[3] to VF10 324: 99 31 c4 01 328: 0b 18 eb 01 max.xyzw vf05xyzw,vf01xyzw,vf01xyzw lq.xyzw vf11xyzw,11(vi03) ; vertex color[2] to VF05 - load normal[3] to VF11 32c: 6b 09 e1 01 330: 13 50 02 50 mulx.xyzw vf07xyzw,vf07xyzw,vf03x ibeq vi02,vi10,vcnvend[0x3d0] ; scale tex coord[2] to VF07 - branch if vertex[2] beyond end 334: d8 39 e3 01 338: 03 78 e3 03 muli.xyzw vf08xyzw,vf08xyzw,i sq.xyzw vf15xyzw,3(vi03) ; scale normal[2] to VF08 - store normal[1] 33c: 1e 42 e0 01 340: 00 30 c2 03 itof0.xyz vf17xyz,vf09xyz sq.xyz vf06xyz,0(vi02) ; float vertex[3] to VF17 - store vertex[2] 344: 3c 49 d1 01 348: 02 28 e2 03 itof0.xyzw vf13xyzw,vf11xyzw sq.xyzw vf05xyzw,2(vi02) ; float normal[3] to VF13 - store vertex color[2] 34c: 3c 59 ed 01 350: 01 38 e2 03 itof0.xyzw vf14xyzw,vf10xyzw sq.xyzw vf07xyzw,1(vi02) ; float tex coord[3] to VF14 - store tex coord[2] 354: 3c 51 ee 01 358: 04 10 03 10 nop iaddiu vi03,vi02,4 ; - VI03 = address of vertex[3] 35c: ff 02 00 00 360: 08 10 cc 01 muly.xyz vf16xyz,vf17xyz,vf04y lq.xyz vf12xyz,8(vi02) ; scale vertex[3] to VF16 - load vertex[4] to VF12 364: 19 8c c4 01 368: 09 10 ed 01 muli.xyzw vf18xyzw,vf13xyzw,i lq.xyzw vf13xyzw,9(vi02) ; scale normal[3] to VF18 - load tex coord[4] to VF13 36c: 9e 6c e0 01 370: 0b 10 ee 01 mulx.xyzw vf17xyzw,vf14xyzw,vf03x lq.xyzw vf14xyzw,11(vi02) ; scale tex coord[3] to VF17 - load normal[4] to VF14 374: 58 74 e3 01 378: 0a 50 03 50 max.xyzw vf15xyzw,vf01xyzw,vf01xyzw ibeq vi03,vi10,vcnvend[0x3d0] ; vertex color[3] to VF15 - branch if vertex[3] beyond end 37c: eb 0b e1 01 380: 03 40 e2 03 nop sq.xyzw vf08xyzw,3(vi02) ; - store store normal[2] 384: ff 02 00 00 388: 0b 18 eb 01 nop lq.xyzw vf11xyzw,11(vi03) ; - load normal[5] to VF11 38c: ff 02 00 00 390: 00 80 c3 03 itof0.xyz vf10xyz,vf12xyz sq.xyz vf16xyz,0(vi03) ; float vertex[4] VF10 - store vertex[3] 394: 3c 61 ca 01 398: 02 78 e3 03 itof0.xyzw vf07xyzw,vf13xyzw sq.xyzw vf15xyzw,2(vi03) ; float tex coord[4] VF07 - store vertex color[3] 39c: 3c 69 e7 01 3a0: 01 88 e3 03 itof0.xyzw vf08xyzw,vf14xyzw sq.xyzw vf17xyzw,1(vi03) ; float normal[4] VF08 - store tex coord[3] 3a4: 3c 71 e8 01 3a8: 04 18 02 10 nop iaddiu vi02,vi03,4 ; - VI02 = address of vertex[4] 3ac: ff 02 00 00 3b0: 09 18 ea 01 muly.xyz vf06xyz,vf10xyz,vf04y lq.xyzw vf10xyzw,9(vi03) ; scale vertex[4] to VF06 - load tex coord[5] to VF10 3b4: 99 51 c4 01 3b8: 08 18 c9 01 mulx.xyzw vf07xyzw,vf07xyzw,vf03x lq.xyz vf09xyz,8(vi03) ; scale tex coord[4] VF07 - load vertex[5] to VF09 3bc: d8 39 e3 01 3c0: dd 57 02 52 muli.xyzw vf08xyzw,vf08xyzw,i ibne vi02,vi10,1b[0x2b0] ; scale normal[4] to VF08 - branch if vertex[4] not beyond end 3c4: 1e 42 e0 01 3c8: 03 90 e3 03 max.xyzw vf05xyzw,vf01xyzw,vf01xyzw sq.xyzw vf18xyzw,3(vi03) ; vertex color[4] to VF05 - store normal[3] 3cc: 6b 09 e1 01 vcnvend: 3d0: 3c 03 db 80 sub.w vf15w,vf00w,vf00w move.yz vf27yz,vf00yz 3d4: ec 03 20 00 3d8: fc 03 e3 01 nop lq.xyzw vf03xyzw,0x3fc(vi00) ; - our case: (127.5, 255, 255, 0) to VF03 3dc: ff 02 00 00 3e0: d4 03 23 08 addx.w vf25w,vf00w,vf00x ilw.w vi03,0x3d4(vi00)w ; ↓ - our case: 1 3e4: 40 06 20 00 3e8: 00 00 00 3c addw[i].xyz vf25xyz,vf00xyz,vf00w loi 0.0078125 ; (1.0, 1.0, 1.0, 1.0) to VF25 - 1/128 3ec: 43 06 c0 81 3f0: d0 03 e8 01 nop lq.xyzw vf08xyzw,0x3d0(vi00) ; - load model matrix 3f4: ff 02 00 00 3f8: d1 03 e9 01 addx.w vf24w,vf03w,vf00x lq.xyzw vf09xyzw,0x3d1(vi00) ; flags below 3fc: 00 1e 20 00 400: 83 01 03 50 subw.w vf27w,vf00w,vf03w ibeq vi03,vi00,kicktogif[0x1020] ; - branch if we don't calculate lighting 404: c7 06 23 00 408: 01 00 04 10 addw.x vf27x,vf00x,vf03w iaddiu vi04,vi00,1 ; (0, 0, 0, 1) to VF27 40c: c3 06 03 01 410: d2 03 ea 01 nop lq.xyzw vf10xyzw,0x3d2(vi00) 414: ff 02 00 00 418: 00 20 03 34 nop fmand vi03,vi04 41c: ff 02 00 00 420: 02 00 05 10 mulw.xyz vf08xyz,vf08xyz,vf08w iaddiu vi05,vi00,2 424: 1b 42 c8 01 428: d3 03 02 10 mulw.xyz vf09xyz,vf09xyz,vf08w iaddiu vi02,vi00,0x3d3 42c: 5b 4a c8 01 430: 3c 03 00 80 mulw.xyz vf10xyz,vf10xyz,vf08w nop 434: 9b 52 c8 01 438: 7c 13 eb 81 muli.xyzw vf26xyzw,vf27xyzw,i lqi.xyzw vf11xyzw,(vi02++) ; - [-199.93109, -2022.6783, -25.108526, 1.0000001] 43c: 9e de e0 01 lightloop: 440: 00 10 23 08 nop ilw.w vi03,0(vi02)w 444: ff 02 00 00 448: 01 10 e5 01 nop lq.xyzw vf05xyzw,1(vi02) 44c: ff 02 00 00 450: 02 10 e6 01 nop lq.xyzw vf06xyzw,2(vi02) 454: ff 02 00 00 458: 00 10 e4 01 nop lq.xyzw vf04xyzw,0(vi02) 45c: ff 02 00 00 ; vf04: [0.5804683, 0.5804683, 0.5804683, 1.4012985e-45] ; light intensity ; vf05: [0.49999997, 0.49999997, -0.70710683, 0.0] ; looks very much like the reflection vector from L38 in world space (negated y) ; vf06: [0.40449339, 0.40449339, 0.40449339, 2.8025969e-45] ; Amb_Obj (multiplied by light intensity) 460: 40 28 03 50 nop ibeq vi03,vi05,ambient[0x668] ; second pass 464: ff 02 00 00 468: 80 00 06 10 mulax.xyz accxyz,vf08xyz,vf05x iaddiu vi06,vi00,0x80 ; flip x, y and negate new y (rotate 90 deg along z) 46c: bc 41 c5 01 470: 1a 20 03 50 madday.xyz accxyz,vf09xyz,vf05y ibeq vi03,vi04,lambert[0x548] ; first pass 474: bd 48 c5 01 478: 81 00 07 10 maddz.xyz vf07xyz,vf10xyz,vf05z iaddiu vi07,vi00,0x81 47c: ca 51 c5 01 ; vf07: [0.48292291, -0.51727641, -0.70654827, 0.0] <- our world space reflection vector!!! 480: 4d 30 03 50 maddaz.xyz accxyz,vf10xyz,vf05z ibeq vi03,vi06,L11[0x6f0] 484: be 50 c5 01 488: 82 00 06 10 maddw.xyz vf05xyz,vf11xyz,vf00w iaddiu vi06,vi00,0x82 48c: 4b 59 c0 01 490: 9d 38 03 50 nop ibeq vi03,vi07,L12[0x980] 494: ff 02 00 00 498: 00 00 7f 43 nop[i] loi 255 49c: ff 02 00 80 4a0: fe 30 03 50 nop ibeq vi03,vi06,L13[0xc98] 4a4: ff 02 00 00 4a8: 02 08 ec 01 nop lq.xyzw vf12xyzw,2(vi01) ; - load vertex colors 4ac: ff 02 00 00 4b0: 06 08 ed 01 nop lq.xyzw vf13xyzw,6(vi01) 4b4: ff 02 00 00 4b8: 0a 08 ee 01 nop lq.xyzw vf14xyzw,10(vi01) 4bc: ff 02 00 00 4c0: 0e 08 ef 01 nop lq.xyzw vf15xyzw,14(vi01) 4c4: ff 02 00 00 4c8: fb 03 f4 01 minii.xyzw vf16xyzw,vf12xyzw,i lq.xyzw vf20xyzw,0x3fb(vi00) ; clamp to 0-255 - load material color 4cc: 1f 64 e0 01 4d0: 10 08 03 10 minii.xyzw vf17xyzw,vf13xyzw,i iaddiu vi03,vi01,0x10 4d4: 5f 6c e0 01 4d8: 3c 03 00 80 minii.xyzw vf18xyzw,vf14xyzw,i nop 4dc: 9f 74 e0 01 4e0: 3c 03 00 80 minii.xyzw vf19xyzw,vf15xyzw,i nop 4e4: df 7c e0 01 1: 4e8: 02 18 ec 01 mul.xyzw vf16xyzw,vf16xyzw,vf20xyzw lq.xyzw vf12xyzw,2(vi03) ; multiply by material color/2 4ec: 2a 84 f4 01 4f0: 06 18 ed 01 mul.xyzw vf17xyzw,vf17xyzw,vf20xyzw lq.xyzw vf13xyzw,6(vi03) 4f4: 6a 8c f4 01 4f8: 0a 18 ee 01 mul.xyzw vf18xyzw,vf18xyzw,vf20xyzw lq.xyzw vf14xyzw,10(vi03) 4fc: aa 94 f4 01 500: 0e 18 ef 01 mul.xyzw vf19xyzw,vf19xyzw,vf20xyzw lq.xyzw vf15xyzw,14(vi03) 504: ea 9c f4 01 508: f2 87 e3 03 nop sq.xyzw vf16xyzw,-14(vi03) ; - store colors back 50c: ff 02 00 00 510: f6 8f e3 03 nop sq.xyzw vf17xyzw,-10(vi03) 514: ff 02 00 00 518: fa 97 e3 03 minii.xyzw vf16xyzw,vf12xyzw,i sq.xyzw vf18xyzw,-6(vi03) 51c: 1f 64 e0 01 520: fe 9f e3 03 minii.xyzw vf17xyzw,vf13xyzw,i sq.xyzw vf19xyzw,-2(vi03) 524: 5f 6c e0 01 528: f7 5f 03 52 minii.xyzw vf18xyzw,vf14xyzw,i ibne vi03,vi11,1b[0x4e8] 52c: 9f 74 e0 01 530: 10 18 03 10 minii.xyzw vf19xyzw,vf15xyzw,i iaddiu vi03,vi03,0x10 534: df 7c e0 01 538: 5c 01 00 40 nop b kicktogif[0x1020] 53c: ff 02 00 00 540: 3c 03 00 80 nop nop 544: ff 02 00 00 ;; jumped to if 'value' == 1 ;; lighting calculation: outcolor = incolor + vf04*dot(-vf07, normal) ;; stores new colors ;; vf07 = [ 0.48292291, -0.51727641, -0.70654827, 0. ] ;; vf03 = [ 127.5, 255., 255., 0. ] ;; vf04 = [0.5804683, 0.5804683, 0.5804683, 1.4012985e-45] lambert: 548: 03 08 cc 01 sub.xyz vf07xyz,vf00xyz,vf07xyz lq.xyz vf12xyz,3(vi01) ; flip light vector - load 4 normals 54c: ec 01 c7 01 550: 07 08 cd 01 mulz.xyz vf04xyz,vf04xyz,vf03z lq.xyz vf13xyz,7(vi01) ; convert to 0-255 colors 554: 1a 21 c3 01 558: 0b 08 ce 01 nop lq.xyz vf14xyz,11(vi01) 55c: ff 02 00 00 560: 0f 08 cf 01 nop lq.xyz vf15xyz,15(vi01) 564: ff 02 00 00 568: 3c 03 00 80 mul.xyz vf12xyz,vf12xyz,vf07xyz nop 56c: 2a 63 c7 01 570: 3c 03 00 80 mul.xyz vf13xyz,vf13xyz,vf07xyz nop 574: 6a 6b c7 01 578: 3c 03 00 80 mul.xyz vf14xyz,vf14xyz,vf07xyz nop 57c: aa 73 c7 01 580: 3c 03 00 80 mul.xyz vf15xyz,vf15xyz,vf07xyz nop 584: ea 7b c7 01 588: 3c 03 00 80 addz.x vf12x,vf12x,vf12z nop 58c: 02 63 0c 01 590: 3c 03 00 80 addx.y vf13y,vf13y,vf13x nop 594: 40 6b 8d 00 598: 00 08 03 10 addy.z vf14z,vf14z,vf14y iaddiu vi03,vi01,0 59c: 81 73 4e 00 5a0: 3d 7b fa 81 addz.y vf15y,vf15y,vf15z mr32.xyzw vf26xyzw,vf15xyzw 5a4: c2 7b 8f 00 1: 5a8: 13 18 cc 01 addy.x vf24x,vf12x,vf12y lq.xyz vf12xyz,19(vi03) ; - load next 4 normals 5ac: 01 66 0c 01 5b0: 17 18 cd 01 addz.y vf24y,vf13y,vf13z lq.xyz vf13xyz,23(vi03) 5b4: 02 6e 8d 00 5b8: 1b 18 ce 01 addx.z vf24z,vf14z,vf14x lq.xyz vf14xyz,27(vi03) 5bc: 00 76 4e 00 5c0: 1f 18 cf 01 addy.w vf24w,vf26w,vf15y lq.xyz vf15xyz,31(vi03) 5c4: 01 d6 2f 00 5c8: 02 18 d0 01 nop lq.xyz vf16xyz,2(vi03) ; - load vertex colors 5cc: ff 02 00 00 5d0: 06 18 d1 01 mul.xyz vf12xyz,vf12xyz,vf07xyz lq.xyz vf17xyz,6(vi03) 5d4: 2a 63 c7 01 5d8: 0a 18 d2 01 mul.xyz vf13xyz,vf13xyz,vf07xyz lq.xyz vf18xyz,10(vi03) 5dc: 6a 6b c7 01 5e0: 3c 03 00 80 maxx.xyzw vf24xyzw,vf24xyzw,vf00x nop 5e4: 10 c6 e0 01 5e8: 0e 18 d3 01 mul.xyz vf14xyz,vf14xyz,vf07xyz lq.xyz vf19xyz,14(vi03) 5ec: aa 73 c7 01 5f0: 3c 03 00 80 mul.xyz vf15xyz,vf15xyz,vf07xyz nop 5f4: ea 7b c7 01 5f8: 3c 03 00 80 adda.xyz accxyz,vf16xyz,vf00xyz nop 5fc: bc 82 c0 01 600: 3c 03 00 80 maddx.xyz vf20xyz,vf04xyz,vf24x nop 604: 08 25 d8 01 608: 3c 03 00 80 adda.xyz accxyz,vf17xyz,vf00xyz nop 60c: bc 8a c0 01 610: 3c 03 00 80 maddy.xyz vf21xyz,vf04xyz,vf24y nop 614: 49 25 d8 01 618: 10 18 03 10 adda.xyz accxyz,vf18xyz,vf00xyz iaddiu vi03,vi03,0x10 61c: bc 92 c0 01 620: f2 a7 c3 03 maddz.xyz vf22xyz,vf04xyz,vf24z sq.xyz vf20xyz,-14(vi03) ; - store into vertex colors 624: 8a 25 d8 01 628: 3d 7b fa 81 adda.xyz accxyz,vf19xyz,vf00xyz mr32.xyzw vf26xyzw,vf15xyzw 62c: bc 9a c0 01 630: f6 af c3 03 maddw.xyz vf23xyz,vf04xyz,vf24w sq.xyz vf21xyz,-10(vi03) 634: cb 25 d8 01 638: 3c 03 00 80 addz.x vf12x,vf12x,vf12z nop 63c: 02 63 0c 01 640: fa b7 c3 03 addx.y vf13y,vf13y,vf13x sq.xyz vf22xyz,-6(vi03) 644: 40 6b 8d 00 648: eb 5f 03 52 addy.z vf14z,vf14z,vf14y ibne vi03,vi11,1b[0x5a8] 64c: 81 73 4e 00 650: fe bf c3 03 addz.y vf15y,vf15y,vf15z sq.xyz vf23xyz,-2(vi03) 654: c2 7b 8f 00 658: bc 07 00 40 nop b lightloop[0x440] 65c: ff 02 00 00 660: 02 10 02 10 nop iaddiu vi02,vi02,2 664: ff 02 00 00 ;; jumped to in second pass (if 'value' == 2) ;; lighting calculation: outcolor = incolor + vf04 ;; stores new colors ambient: 668: 02 08 cc 01 mulx.xyz vf04xyz,vf04xyz,vf03x lq.xyz vf12xyz,2(vi01) ; - load 4 vertex colors to VF12-15 66c: 18 21 c3 01 670: 06 08 cd 01 nop lq.xyz vf13xyz,6(vi01) 674: ff 02 00 00 678: 0a 08 ce 01 nop lq.xyz vf14xyz,10(vi01) 67c: ff 02 00 00 680: 0e 08 cf 01 nop lq.xyz vf15xyz,14(vi01) 684: ff 02 00 00 688: 10 08 03 10 nop iaddiu vi03,vi01,0x10 68c: ff 02 00 00 1: 690: 02 18 cc 01 add.xyz vf16xyz,vf12xyz,vf04xyz lq.xyz vf12xyz,2(vi03) ; - load next 4 colors 694: 28 64 c4 01 698: 06 18 cd 01 add.xyz vf17xyz,vf13xyz,vf04xyz lq.xyz vf13xyz,6(vi03) 69c: 68 6c c4 01 6a0: 0a 18 ce 01 add.xyz vf18xyz,vf14xyz,vf04xyz lq.xyz vf14xyz,10(vi03) 6a4: a8 74 c4 01 6a8: 0e 18 cf 01 add.xyz vf19xyz,vf15xyz,vf04xyz lq.xyz vf15xyz,14(vi03) 6ac: e8 7c c4 01 6b0: f2 87 c3 03 nop sq.xyz vf16xyz,-14(vi03) ; - store back 6b4: ff 02 00 00 6b8: f6 8f c3 03 nop sq.xyz vf17xyz,-10(vi03) 6bc: ff 02 00 00 6c0: fa 97 c3 03 nop sq.xyz vf18xyz,-6(vi03) 6c4: ff 02 00 00 6c8: fe 9f c3 03 nop sq.xyz vf19xyz,-2(vi03) 6cc: ff 02 00 00 6d0: f7 5f 03 52 nop ibne vi03,vi11,1b[0x690] 6d4: ff 02 00 00 6d8: 10 18 03 10 nop iaddiu vi03,vi03,0x10 6dc: ff 02 00 00 6e0: ab 07 00 40 nop b lightloop[0x440] 6e4: ff 02 00 00 6e8: 01 10 02 10 nop iaddiu vi02,vi02,1 6ec: ff 02 00 00 ;; not jumped to here ;; stores new colors L11: 6f0: 00 08 d4 01 mul.w vf05w,vf05w,vf08w lq.xyz vf20xyz,0(vi01) 6f4: 6a 29 28 00 6f8: 04 08 d5 01 mulz.xyz vf04xyz,vf04xyz,vf03z lq.xyz vf21xyz,4(vi01) 6fc: 1a 21 c3 01 700: 08 08 d6 01 sub.w vf04w,vf04w,vf04w lq.xyz vf22xyz,8(vi01) 704: 2c 21 24 00 708: 03 08 cc 01 nop lq.xyz vf12xyz,3(vi01) 70c: ff 02 00 00 710: bc 03 e5 81 sub.xyz vf20xyz,vf05xyz,vf20xyz div q,vf00w,vf00x 714: 2c 2d d4 01 718: 07 08 cd 01 sub.xyz vf21xyz,vf05xyz,vf21xyz lq.xyz vf13xyz,7(vi01) 71c: 6c 2d d5 01 720: 0b 08 ce 01 nop lq.xyz vf14xyz,11(vi01) 724: ff 02 00 00 728: 00 08 03 10 nop iaddiu vi03,vi01,0 72c: ff 02 00 00 730: 3c 03 00 80 mul.xyz vf26xyz,vf20xyz,vf20xyz nop 734: aa a6 d4 01 738: 3c 03 00 80 mul.xyz vf12xyz,vf20xyz,vf12xyz nop 73c: 2a a3 cc 01 740: 3c 03 00 80 mul.xyz vf27xyz,vf21xyz,vf21xyz nop 744: ea ae d5 01 748: 3c 03 00 80 mul.xyz vf13xyz,vf21xyz,vf13xyz nop 74c: 6a ab cd 01 750: 3c 03 00 80 addaz.x accx,vf26x,vf26z nop 754: 3e d0 1a 01 758: 3c 03 00 80 maddy.x vf26x,vf25x,vf26y nop 75c: 89 ce 1a 01 760: 3c 03 00 80 addaz.x accx,vf12x,vf12z nop 764: 3e 60 0c 01 768: 3c 03 00 80 maddy.x vf12x,vf25x,vf12y nop 76c: 09 cb 0c 01 770: 3c 03 00 80 subq.w vf04w,vf04w,q nop 774: 24 21 20 00 778: be 03 7a 80 addaz.x accx,vf27x,vf27z rsqrt q,vf00w,vf00x 77c: 3e d8 1b 01 780: 3c 03 00 80 maddy.x vf27x,vf25x,vf27y nop 784: c9 ce 1b 01 788: 3c 03 00 80 maxx.x vf12x,vf12x,vf00x nop 78c: 10 63 00 01 790: 3c 03 00 80 nop nop 794: ff 02 00 00 798: 3c 03 00 80 nop nop 79c: ff 02 00 00 7a0: 3c 03 00 80 nop nop 7a4: ff 02 00 00 7a8: 3c 03 00 80 mulx.xyz vf12xyz,vf04xyz,vf12x nop 7ac: 18 23 cc 01 7b0: 3c 03 00 80 sub.xyz vf22xyz,vf05xyz,vf22xyz nop 7b4: ac 2d d6 01 7b8: 3c 03 00 80 addaz.x accx,vf13x,vf13z nop 7bc: 3e 68 0d 01 7c0: 3c 03 00 80 maddy.x vf13x,vf25x,vf13y nop 7c4: 49 cb 0d 01 7c8: bf 03 00 80 mulaw.xyz accxyz,vf12xyz,vf04w waitq 7cc: bf 61 c4 01 7d0: be 03 7b 80 maddq.xyz vf12xyz,vf12xyz,q rsqrt q,vf00w,vf00x 7d4: 21 63 c0 01 7d8: 3c 03 00 80 maxx.x vf13x,vf13x,vf00x nop 7dc: 50 6b 00 01 7e0: 3c 03 00 80 mul.xyz vf24xyz,vf22xyz,vf22xyz nop 7e4: 2a b6 d6 01 7e8: 3c 03 00 80 mul.xyz vf14xyz,vf22xyz,vf14xyz nop 7ec: aa b3 ce 01 7f0: 02 18 d0 01 maxx.xyz vf12xyz,vf12xyz,vf00x lq.xyz vf16xyz,2(vi03) 7f4: 10 63 c0 01 7f8: 3c 03 00 80 mulx.xyz vf13xyz,vf04xyz,vf13x nop 7fc: 58 23 cd 01 800: 0c 18 d7 01 addaz.x accx,vf24x,vf24z lq.xyz vf23xyz,12(vi03) 804: 3e c0 18 01 808: 3c 03 00 80 maddy.x vf24x,vf25x,vf24y nop 80c: 09 ce 18 01 810: 0f 18 cf 01 add.xyz vf16xyz,vf16xyz,vf12xyz lq.xyz vf15xyz,15(vi03) 814: 28 84 cc 01 818: 04 18 03 10 addaz.x accx,vf14x,vf14z iaddiu vi03,vi03,4 81c: 3e 70 0e 01 820: 3c 03 00 80 maddy.x vf14x,vf25x,vf14y nop 824: 89 cb 0e 01 828: 28 50 03 50 sub.xyz vf23xyz,vf05xyz,vf23xyz ibeq vi03,vi10,0x970 82c: ec 2d d7 01 830: fe 87 c3 03 mulaw.xyz accxyz,vf13xyz,vf04w sq.xyz vf16xyz,-2(vi03) 834: bf 69 c4 01 838: be 03 78 80 maddq.xyz vf13xyz,vf13xyz,q rsqrt q,vf00w,vf00x 83c: 61 6b c0 01 840: 3c 03 00 80 maxx.x vf14x,vf14x,vf00x nop 844: 90 73 00 01 848: 3c 03 00 80 mul.xyz vf07xyz,vf23xyz,vf23xyz nop 84c: ea b9 d7 01 850: 3c 03 00 80 mul.xyz vf15xyz,vf23xyz,vf15xyz nop 854: ea bb cf 01 858: 02 18 d1 01 maxx.xyz vf13xyz,vf13xyz,vf00x lq.xyz vf17xyz,2(vi03) 85c: 50 6b c0 01 860: 3c 03 00 80 mulx.xyz vf14xyz,vf04xyz,vf14x nop 864: 98 23 ce 01 868: 0c 18 d4 01 addaz.x accx,vf07x,vf07z lq.xyz vf20xyz,12(vi03) 86c: 3e 38 07 01 870: 3c 03 00 80 maddy.x vf07x,vf25x,vf07y nop 874: c9 c9 07 01 878: 0f 18 cc 01 add.xyz vf17xyz,vf17xyz,vf13xyz lq.xyz vf12xyz,15(vi03) 87c: 68 8c cd 01 880: 04 18 03 10 addaz.x accx,vf15x,vf15z iaddiu vi03,vi03,4 884: 3e 78 0f 01 888: 3c 03 00 80 maddy.x vf15x,vf25x,vf15y nop 88c: c9 cb 0f 01 890: 1b 50 03 50 sub.xyz vf20xyz,vf05xyz,vf20xyz ibeq vi03,vi10,0x970 894: 2c 2d d4 01 898: fe 8f c3 03 mulaw.xyz accxyz,vf14xyz,vf04w sq.xyz vf17xyz,-2(vi03) 89c: bf 71 c4 01 8a0: be 03 67 80 maddq.xyz vf14xyz,vf14xyz,q rsqrt q,vf00w,vf00x 8a4: a1 73 c0 01 8a8: 3c 03 00 80 maxx.x vf15x,vf15x,vf00x nop 8ac: d0 7b 00 01 8b0: 3c 03 00 80 mul.xyz vf26xyz,vf20xyz,vf20xyz nop 8b4: aa a6 d4 01 8b8: 3c 03 00 80 mul.xyz vf12xyz,vf20xyz,vf12xyz nop 8bc: 2a a3 cc 01 8c0: 02 18 d2 01 maxx.xyz vf14xyz,vf14xyz,vf00x lq.xyz vf18xyz,2(vi03) 8c4: 90 73 c0 01 8c8: 3c 03 00 80 mulx.xyz vf15xyz,vf04xyz,vf15x nop 8cc: d8 23 cf 01 8d0: 0c 18 d5 01 addaz.x accx,vf26x,vf26z lq.xyz vf21xyz,12(vi03) 8d4: 3e d0 1a 01 8d8: 3c 03 00 80 maddy.x vf26x,vf25x,vf26y nop 8dc: 89 ce 1a 01 8e0: 0f 18 cd 01 add.xyz vf18xyz,vf18xyz,vf14xyz lq.xyz vf13xyz,15(vi03) 8e4: a8 94 ce 01 8e8: 04 18 03 10 addaz.x accx,vf12x,vf12z iaddiu vi03,vi03,4 8ec: 3e 60 0c 01 8f0: 3c 03 00 80 maddy.x vf12x,vf25x,vf12y nop 8f4: 09 cb 0c 01 8f8: 0e 50 03 50 sub.xyz vf21xyz,vf05xyz,vf21xyz ibeq vi03,vi10,0x970 8fc: 6c 2d d5 01 900: fe 97 c3 03 mulaw.xyz accxyz,vf15xyz,vf04w sq.xyz vf18xyz,-2(vi03) 904: bf 79 c4 01 908: be 03 7a 80 maddq.xyz vf15xyz,vf15xyz,q rsqrt q,vf00w,vf00x 90c: e1 7b c0 01 910: 3c 03 00 80 maxx.x vf12x,vf12x,vf00x nop 914: 10 63 00 01 918: 3c 03 00 80 mul.xyz vf27xyz,vf21xyz,vf21xyz nop 91c: ea ae d5 01 920: 3c 03 00 80 mul.xyz vf13xyz,vf21xyz,vf13xyz nop 924: 6a ab cd 01 928: 02 18 d3 01 maxx.xyz vf15xyz,vf15xyz,vf00x lq.xyz vf19xyz,2(vi03) 92c: d0 7b c0 01 930: 3c 03 00 80 mulx.xyz vf12xyz,vf04xyz,vf12x nop 934: 18 23 cc 01 938: 0c 18 d6 01 addaz.x accx,vf27x,vf27z lq.xyz vf22xyz,12(vi03) 93c: 3e d8 1b 01 940: 3c 03 00 80 maddy.x vf27x,vf25x,vf27y nop 944: c9 ce 1b 01 948: 0f 18 ce 01 add.xyz vf19xyz,vf19xyz,vf15xyz lq.xyz vf14xyz,15(vi03) 94c: e8 9c cf 01 950: 04 18 03 10 addaz.x accx,vf13x,vf13z iaddiu vi03,vi03,4 954: 3e 68 0d 01 958: 3c 03 00 80 maddy.x vf13x,vf25x,vf13y nop 95c: 49 cb 0d 01 960: cd 57 03 52 sub.xyz vf22xyz,vf05xyz,vf22xyz ibne vi03,vi10,0x7d0 964: ac 2d d6 01 968: fe 9f c3 03 mulaw.xyz accxyz,vf12xyz,vf04w sq.xyz vf19xyz,-2(vi03) 96c: bf 61 c4 01 970: 59 07 00 40 nop b lightloop[0x440] 974: ff 02 00 00 978: 02 10 02 10 nop iaddiu vi02,vi02,2 97c: ff 02 00 00 ;; not jumped to here ;; stores new colors L12: 980: 00 08 d4 01 mul.w vf05w,vf05w,vf08w lq.xyz vf20xyz,0(vi01) 984: 6a 29 28 00 988: 04 08 d5 01 mulax.xyz accxyz,vf08xyz,vf06x lq.xyz vf21xyz,4(vi01) 98c: bc 41 c6 01 990: 03 08 cc 01 madday.xyz accxyz,vf09xyz,vf06y lq.xyz vf12xyz,3(vi01) 994: bd 48 c6 01 998: 07 08 cd 01 maddz.xyz vf06xyz,vf10xyz,vf06z lq.xyz vf13xyz,7(vi01) 99c: 8a 51 c6 01 9a0: bc 03 e5 81 sub.xyz vf20xyz,vf05xyz,vf20xyz div q,vf00w,vf00x 9a4: 2c 2d d4 01 9a8: 3c 03 00 80 sub.xyz vf21xyz,vf05xyz,vf21xyz nop 9ac: 6c 2d d5 01 9b0: 00 08 03 10 sub.w vf04w,vf04w,vf04w iaddiu vi03,vi01,0 9b4: 2c 21 24 00 9b8: 3c 03 00 80 mulz.xyz vf04xyz,vf04xyz,vf03z nop 9bc: 1a 21 c3 01 9c0: 3c 03 00 80 mul.xyz vf26xyz,vf20xyz,vf20xyz nop 9c4: aa a6 d4 01 9c8: 3c 03 00 80 mul.xyz vf12xyz,vf20xyz,vf12xyz nop 9cc: 2a a3 cc 01 9d0: 3c 03 00 80 mul.xyz vf20xyz,vf20xyz,vf06xyz nop 9d4: 2a a5 c6 01 9d8: 3c 03 00 80 mul.xyz vf27xyz,vf21xyz,vf21xyz nop 9dc: ea ae d5 01 9e0: 3c 03 00 80 addaz.x accx,vf26x,vf26z nop 9e4: 3e d0 1a 01 9e8: 3c 03 00 80 maddy.x vf26x,vf25x,vf26y nop 9ec: 89 ce 1a 01 9f0: 3c 03 00 80 addaz.x accx,vf12x,vf12z nop 9f4: 3e 60 0c 01 9f8: 3c 03 00 80 maddy.x vf12x,vf25x,vf12y nop 9fc: 09 cb 0c 01 a00: 3c 03 00 80 addaz.x accx,vf20x,vf20z nop a04: 3e a0 14 01 a08: be 03 7a 80 maddy.x vf20x,vf25x,vf20y rsqrt q,vf00w,vf00x a0c: 09 cd 14 01 a10: 3c 03 00 80 subq.w vf04w,vf04w,q nop a14: 24 21 20 00 a18: 3c 03 00 80 maxx.x vf12x,vf12x,vf00x nop a1c: 10 63 00 01 a20: 3c 03 00 80 mul.xyz vf13xyz,vf21xyz,vf13xyz nop a24: 6a ab cd 01 a28: 3c 03 00 80 mul.xyz vf21xyz,vf21xyz,vf06xyz nop a2c: 6a ad c6 01 a30: 3c 03 00 80 addaz.x accx,vf27x,vf27z nop a34: 3e d8 1b 01 a38: 3c 03 00 80 maddy.x vf27x,vf25x,vf27y nop a3c: c9 ce 1b 01 a40: 3c 03 00 80 mulx.xyz vf12xyz,vf04xyz,vf12x nop a44: 18 23 cc 01 a48: 3c 03 00 80 addaz.x accx,vf13x,vf13z nop a4c: 3e 68 0d 01 a50: bf 03 00 80 maddy.x vf13x,vf25x,vf13y waitq a54: 49 cb 0d 01 a58: be 03 7b 80 mulq.x vf20x,vf20x,q rsqrt q,vf00w,vf00x a5c: 1c a5 00 01 a60: 08 18 d6 01 mulaw.xyz accxyz,vf12xyz,vf04w lq.xyz vf22xyz,8(vi03) a64: bf 61 c4 01 a68: 3c 03 00 80 maddq.xyz vf12xyz,vf12xyz,q nop a6c: 21 63 c0 01 a70: 3c 03 00 80 maxx.x vf13x,vf13x,vf00x nop a74: 50 6b 00 01 a78: 3c 03 00 80 subx.w vf20w,vf06w,vf20x nop a7c: 04 35 34 00 a80: 0b 18 ce 01 sub.xyz vf22xyz,vf05xyz,vf22xyz lq.xyz vf14xyz,11(vi03) a84: ac 2d d6 01 a88: 02 18 d0 01 maxx.xyz vf12xyz,vf12xyz,vf00x lq.xyz vf16xyz,2(vi03) a8c: 10 63 c0 01 a90: 10 00 06 10 addaz.x accx,vf21x,vf21z iaddiu vi06,vi00,0x10 a94: 3e a8 15 01 a98: 00 30 07 34 maddy.x vf21x,vf25x,vf21y fmand vi07,vi06 a9c: 49 cd 15 01 aa0: 02 00 07 52 mul.xyz vf24xyz,vf22xyz,vf22xyz ibne vi07,vi00,0xab8 aa4: 2a b6 d6 01 aa8: 3c 03 00 80 mul.xyz vf14xyz,vf22xyz,vf14xyz nop aac: aa b3 ce 01 ab0: 3c 03 00 80 add.xyz vf16xyz,vf16xyz,vf12xyz nop ab4: 28 84 cc 01 ab8: 04 18 03 10 mul.xyz vf22xyz,vf22xyz,vf06xyz iaddiu vi03,vi03,4 abc: aa b5 c6 01 ac0: 3c 03 00 80 mulx.xyz vf13xyz,vf04xyz,vf13x nop ac4: 58 23 cd 01 ac8: 37 50 03 50 addaz.x accx,vf24x,vf24z ibeq vi03,vi10,0xc88 acc: 3e c0 18 01 ad0: fe 87 c3 03 maddy.x vf24x,vf25x,vf24y sq.xyz vf16xyz,-2(vi03) ad4: 09 ce 18 01 ad8: 3c 03 00 80 addaz.x accx,vf14x,vf14z nop adc: 3e 70 0e 01 ae0: bf 03 00 80 maddy.x vf14x,vf25x,vf14y waitq ae4: 89 cb 0e 01 ae8: be 03 78 80 mulq.x vf21x,vf21x,q rsqrt q,vf00w,vf00x aec: 5c ad 00 01 af0: 08 18 d7 01 mulaw.xyz accxyz,vf13xyz,vf04w lq.xyz vf23xyz,8(vi03) af4: bf 69 c4 01 af8: 3c 03 00 80 maddq.xyz vf13xyz,vf13xyz,q nop afc: 61 6b c0 01 b00: 3c 03 00 80 maxx.x vf14x,vf14x,vf00x nop b04: 90 73 00 01 b08: 3c 03 00 80 subx.w vf21w,vf06w,vf21x nop b0c: 44 35 35 00 b10: 0b 18 cf 01 sub.xyz vf23xyz,vf05xyz,vf23xyz lq.xyz vf15xyz,11(vi03) b14: ec 2d d7 01 b18: 02 18 d1 01 maxx.xyz vf13xyz,vf13xyz,vf00x lq.xyz vf17xyz,2(vi03) b1c: 50 6b c0 01 b20: 10 00 06 10 addaz.x accx,vf22x,vf22z iaddiu vi06,vi00,0x10 b24: 3e b0 16 01 b28: 00 30 07 34 maddy.x vf22x,vf25x,vf22y fmand vi07,vi06 b2c: 89 cd 16 01 b30: 02 00 07 52 mul.xyz vf07xyz,vf23xyz,vf23xyz ibne vi07,vi00,0xb48 b34: ea b9 d7 01 b38: 3c 03 00 80 mul.xyz vf15xyz,vf23xyz,vf15xyz nop b3c: ea bb cf 01 b40: 3c 03 00 80 add.xyz vf17xyz,vf17xyz,vf13xyz nop b44: 68 8c cd 01 b48: 04 18 03 10 mul.xyz vf23xyz,vf23xyz,vf06xyz iaddiu vi03,vi03,4 b4c: ea bd c6 01 b50: 3c 03 00 80 mulx.xyz vf14xyz,vf04xyz,vf14x nop b54: 98 23 ce 01 b58: 25 50 03 50 addaz.x accx,vf07x,vf07z ibeq vi03,vi10,0xc88 b5c: 3e 38 07 01 b60: fe 8f c3 03 maddy.x vf07x,vf25x,vf07y sq.xyz vf17xyz,-2(vi03) b64: c9 c9 07 01 b68: 3c 03 00 80 addaz.x accx,vf15x,vf15z nop b6c: 3e 78 0f 01 b70: bf 03 00 80 maddy.x vf15x,vf25x,vf15y waitq b74: c9 cb 0f 01 b78: be 03 67 80 mulq.x vf22x,vf22x,q rsqrt q,vf00w,vf00x b7c: 9c b5 00 01 b80: 08 18 d4 01 mulaw.xyz accxyz,vf14xyz,vf04w lq.xyz vf20xyz,8(vi03) b84: bf 71 c4 01 b88: 3c 03 00 80 maddq.xyz vf14xyz,vf14xyz,q nop b8c: a1 73 c0 01 b90: 3c 03 00 80 maxx.x vf15x,vf15x,vf00x nop b94: d0 7b 00 01 b98: 3c 03 00 80 subx.w vf22w,vf06w,vf22x nop b9c: 84 35 36 00 ba0: 0b 18 cc 01 sub.xyz vf20xyz,vf05xyz,vf20xyz lq.xyz vf12xyz,11(vi03) ba4: 2c 2d d4 01 ba8: 02 18 d2 01 maxx.xyz vf14xyz,vf14xyz,vf00x lq.xyz vf18xyz,2(vi03) bac: 90 73 c0 01 bb0: 10 00 06 10 addaz.x accx,vf23x,vf23z iaddiu vi06,vi00,0x10 bb4: 3e b8 17 01 bb8: 00 30 07 34 maddy.x vf23x,vf25x,vf23y fmand vi07,vi06 bbc: c9 cd 17 01 bc0: 02 00 07 52 mul.xyz vf26xyz,vf20xyz,vf20xyz ibne vi07,vi00,0xbd8 bc4: aa a6 d4 01 bc8: 3c 03 00 80 mul.xyz vf12xyz,vf20xyz,vf12xyz nop bcc: 2a a3 cc 01 bd0: 3c 03 00 80 add.xyz vf18xyz,vf18xyz,vf14xyz nop bd4: a8 94 ce 01 bd8: 04 18 03 10 mul.xyz vf20xyz,vf20xyz,vf06xyz iaddiu vi03,vi03,4 bdc: 2a a5 c6 01 be0: 3c 03 00 80 mulx.xyz vf15xyz,vf04xyz,vf15x nop be4: d8 23 cf 01 be8: 13 50 03 50 addaz.x accx,vf26x,vf26z ibeq vi03,vi10,0xc88 bec: 3e d0 1a 01 bf0: fe 97 c3 03 maddy.x vf26x,vf25x,vf26y sq.xyz vf18xyz,-2(vi03) bf4: 89 ce 1a 01 bf8: 3c 03 00 80 addaz.x accx,vf12x,vf12z nop bfc: 3e 60 0c 01 c00: bf 03 00 80 maddy.x vf12x,vf25x,vf12y waitq c04: 09 cb 0c 01 c08: be 03 7a 80 mulq.x vf23x,vf23x,q rsqrt q,vf00w,vf00x c0c: dc bd 00 01 c10: 08 18 d5 01 mulaw.xyz accxyz,vf15xyz,vf04w lq.xyz vf21xyz,8(vi03) c14: bf 79 c4 01 c18: 3c 03 00 80 maddq.xyz vf15xyz,vf15xyz,q nop c1c: e1 7b c0 01 c20: 3c 03 00 80 maxx.x vf12x,vf12x,vf00x nop c24: 10 63 00 01 c28: 3c 03 00 80 subx.w vf23w,vf06w,vf23x nop c2c: c4 35 37 00 c30: 0b 18 cd 01 sub.xyz vf21xyz,vf05xyz,vf21xyz lq.xyz vf13xyz,11(vi03) c34: 6c 2d d5 01 c38: 02 18 d3 01 maxx.xyz vf15xyz,vf15xyz,vf00x lq.xyz vf19xyz,2(vi03) c3c: d0 7b c0 01 c40: 10 00 06 10 addaz.x accx,vf20x,vf20z iaddiu vi06,vi00,0x10 c44: 3e a0 14 01 c48: 00 30 07 34 maddy.x vf20x,vf25x,vf20y fmand vi07,vi06 c4c: 09 cd 14 01 c50: 02 00 07 52 mul.xyz vf27xyz,vf21xyz,vf21xyz ibne vi07,vi00,0xc68 c54: ea ae d5 01 c58: 3c 03 00 80 mul.xyz vf13xyz,vf21xyz,vf13xyz nop c5c: 6a ab cd 01 c60: 3c 03 00 80 add.xyz vf19xyz,vf19xyz,vf15xyz nop c64: e8 9c cf 01 c68: 04 18 03 10 mul.xyz vf21xyz,vf21xyz,vf06xyz iaddiu vi03,vi03,4 c6c: 6a ad c6 01 c70: 3c 03 00 80 mulx.xyz vf12xyz,vf04xyz,vf12x nop c74: 18 23 cc 01 c78: b9 57 03 52 addaz.x accx,vf27x,vf27z ibne vi03,vi10,0xa48 c7c: 3e d8 1b 01 c80: fe 9f c3 03 maddy.x vf27x,vf25x,vf27y sq.xyz vf19xyz,-2(vi03) c84: c9 ce 1b 01 c88: f6 06 00 40 nop b lightloop[0x440] c8c: ff 02 00 00 c90: 03 10 02 10 nop iaddiu vi02,vi02,3 c94: ff 02 00 00 ;; not jumped to here ;; stores new colors L13: c98: 00 08 d4 01 add.w vf07w,vf00w,vf06w lq.xyz vf20xyz,0(vi01) c9c: e8 01 26 00 ca0: 03 08 cc 01 mul.w vf05w,vf05w,vf08w lq.xyz vf12xyz,3(vi01) ca4: 6a 29 28 00 ca8: 04 08 d5 01 mulax.xyz accxyz,vf08xyz,vf06x lq.xyz vf21xyz,4(vi01) cac: bc 41 c6 01 cb0: 07 08 cd 01 madday.xyz accxyz,vf09xyz,vf06y lq.xyz vf13xyz,7(vi01) cb4: bd 48 c6 01 cb8: be 3f 60 80 sub.xyz vf20xyz,vf05xyz,vf20xyz ercpr p,vf07w cbc: 2c 2d d4 01 cc0: bc 03 e5 81 maddz.xyz vf06xyz,vf10xyz,vf06z div q,vf00w,vf00x cc4: 8a 51 c6 01 cc8: 00 08 03 10 sub.w vf04w,vf04w,vf04w iaddiu vi03,vi01,0 ccc: 2c 21 24 00 cd0: 3c 03 00 80 mulz.xyz vf04xyz,vf04xyz,vf03z nop cd4: 1a 21 c3 01 cd8: 3c 03 00 80 mul.xyz vf26xyz,vf20xyz,vf20xyz nop cdc: aa a6 d4 01 ce0: 3c 03 00 80 mul.xyz vf12xyz,vf20xyz,vf12xyz nop ce4: 2a a3 cc 01 ce8: 3c 03 00 80 mul.xyz vf20xyz,vf20xyz,vf06xyz nop cec: 2a a5 c6 01 cf0: 3c 03 00 80 sub.xyz vf21xyz,vf05xyz,vf21xyz nop cf4: 6c 2d d5 01 cf8: 3c 03 00 80 addaz.x accx,vf26x,vf26z nop cfc: 3e d0 1a 01 d00: 3c 03 00 80 maddy.x vf26x,vf25x,vf26y nop d04: 89 ce 1a 01 d08: 3c 03 00 80 addaz.x accx,vf12x,vf12z nop d0c: 3e 60 0c 01 d10: 3c 03 00 80 maddy.x vf12x,vf25x,vf12y nop d14: 09 cb 0c 01 d18: 3c 03 00 80 addaz.x accx,vf20x,vf20z nop d1c: 3e a0 14 01 d20: 7c 06 29 80 maddy.x vf20x,vf25x,vf20y mfp.w vf09w,p d24: 09 cd 14 01 d28: be 03 7a 80 subq.w vf04w,vf04w,q rsqrt q,vf00w,vf00x d2c: 24 21 20 00 d30: 3c 03 00 80 maxx.x vf12x,vf12x,vf00x nop d34: 10 63 00 01 d38: 3c 03 00 80 mulw.w vf06w,vf06w,vf05w nop d3c: 9b 31 25 00 d40: 3c 03 00 80 mul.xyz vf27xyz,vf21xyz,vf21xyz nop d44: ea ae d5 01 d48: 3c 03 00 80 mul.xyz vf13xyz,vf21xyz,vf13xyz nop d4c: 6a ab cd 01 d50: 3c 03 00 80 mul.xyz vf21xyz,vf21xyz,vf06xyz nop d54: 6a ad c6 01 d58: 3c 03 00 80 mulx.xyz vf12xyz,vf04xyz,vf12x nop d5c: 18 23 cc 01 d60: 3c 03 00 80 addaz.x accx,vf27x,vf27z nop d64: 3e d8 1b 01 d68: 3c 03 00 80 maddy.x vf27x,vf25x,vf27y nop d6c: c9 ce 1b 01 d70: 3c 03 00 80 addaz.x accx,vf13x,vf13z nop d74: 3e 68 0d 01 d78: 3c 03 00 80 maddy.x vf13x,vf25x,vf13y nop d7c: 49 cb 0d 01 d80: 3c 03 00 80 addaz.x accx,vf21x,vf21z nop d84: 3e a8 15 01 d88: 3c 03 00 80 maddy.x vf21x,vf25x,vf21y nop d8c: 49 cd 15 01 d90: be 03 7b 80 mulq.x vf20x,vf20x,q rsqrt q,vf00w,vf00x d94: 1c a5 00 01 d98: 08 18 d6 01 mulaw.xyz accxyz,vf12xyz,vf04w lq.xyz vf22xyz,8(vi03) d9c: bf 61 c4 01 da0: 3c 03 00 80 maddq.xyz vf12xyz,vf12xyz,q nop da4: 21 63 c0 01 da8: 3c 03 00 80 addax.w accw,vf06w,vf00x nop dac: 3c 30 20 00 db0: 3c 03 00 80 msubx.w vf20w,vf05w,vf20x nop db4: 0c 2d 34 00 db8: 0b 18 ce 01 sub.xyz vf22xyz,vf05xyz,vf22xyz lq.xyz vf14xyz,11(vi03) dbc: ac 2d d6 01 dc0: 02 18 d0 01 maxx.xyz vf12xyz,vf12xyz,vf00x lq.xyz vf16xyz,2(vi03) dc4: 10 63 c0 01 dc8: 3c 03 00 80 maxx.x vf13x,vf13x,vf00x nop dcc: 50 6b 00 01 dd0: 3c 03 00 80 maxx.w vf20w,vf20w,vf00x nop dd4: 10 a5 20 00 dd8: 3c 03 00 80 mul.xyz vf24xyz,vf22xyz,vf22xyz nop ddc: 2a b6 d6 01 de0: 3c 03 00 80 mul.xyz vf14xyz,vf22xyz,vf14xyz nop de4: aa b3 ce 01 de8: 3c 03 00 80 adda.xyz accxyz,vf16xyz,vf00xyz nop dec: bc 82 c0 01 df0: 3c 03 00 80 maddw.xyz vf16xyz,vf12xyz,vf20w nop df4: 0b 64 d4 01 df8: 04 18 03 10 mul.xyz vf22xyz,vf22xyz,vf06xyz iaddiu vi03,vi03,4 dfc: aa b5 c6 01 e00: 3c 03 00 80 mulx.xyz vf13xyz,vf04xyz,vf13x nop e04: 58 23 cd 01 e08: 40 50 03 50 addaz.x accx,vf24x,vf24z ibeq vi03,vi10,0x1010 e0c: 3e c0 18 01 e10: fe 87 c3 03 maddy.x vf24x,vf25x,vf24y sq.xyz vf16xyz,-2(vi03) e14: 09 ce 18 01 e18: 3c 03 00 80 addaz.x accx,vf14x,vf14z nop e1c: 3e 70 0e 01 e20: 3c 03 00 80 maddy.x vf14x,vf25x,vf14y nop e24: 89 cb 0e 01 e28: 3c 03 00 80 addaz.x accx,vf22x,vf22z nop e2c: 3e b0 16 01 e30: 3c 03 00 80 maddy.x vf22x,vf25x,vf22y nop e34: 89 cd 16 01 e38: be 03 78 80 mulq.x vf21x,vf21x,q rsqrt q,vf00w,vf00x e3c: 5c ad 00 01 e40: 08 18 d7 01 mulaw.xyz accxyz,vf13xyz,vf04w lq.xyz vf23xyz,8(vi03) e44: bf 69 c4 01 e48: 3c 03 00 80 maddq.xyz vf13xyz,vf13xyz,q nop e4c: 61 6b c0 01 e50: 3c 03 00 80 addax.w accw,vf06w,vf00x nop e54: 3c 30 20 00 e58: 3c 03 00 80 msubx.w vf21w,vf05w,vf21x nop e5c: 4c 2d 35 00 e60: 0b 18 cf 01 sub.xyz vf23xyz,vf05xyz,vf23xyz lq.xyz vf15xyz,11(vi03) e64: ec 2d d7 01 e68: 02 18 d1 01 maxx.xyz vf13xyz,vf13xyz,vf00x lq.xyz vf17xyz,2(vi03) e6c: 50 6b c0 01 e70: 3c 03 00 80 maxx.x vf14x,vf14x,vf00x nop e74: 90 73 00 01 e78: 3c 03 00 80 maxx.w vf21w,vf21w,vf00x nop e7c: 50 ad 20 00 e80: 3c 03 00 80 mul.xyz vf07xyz,vf23xyz,vf23xyz nop e84: ea b9 d7 01 e88: 3c 03 00 80 mul.xyz vf15xyz,vf23xyz,vf15xyz nop e8c: ea bb cf 01 e90: 3c 03 00 80 adda.xyz accxyz,vf17xyz,vf00xyz nop e94: bc 8a c0 01 e98: 3c 03 00 80 maddw.xyz vf17xyz,vf13xyz,vf21w nop e9c: 4b 6c d5 01 ea0: 04 18 03 10 mul.xyz vf23xyz,vf23xyz,vf06xyz iaddiu vi03,vi03,4 ea4: ea bd c6 01 ea8: 3c 03 00 80 mulx.xyz vf14xyz,vf04xyz,vf14x nop eac: 98 23 ce 01 eb0: 2b 50 03 50 addaz.x accx,vf07x,vf07z ibeq vi03,vi10,0x1010 eb4: 3e 38 07 01 eb8: fe 8f c3 03 maddy.x vf07x,vf25x,vf07y sq.xyz vf17xyz,-2(vi03) ebc: c9 c9 07 01 ec0: 3c 03 00 80 addaz.x accx,vf15x,vf15z nop ec4: 3e 78 0f 01 ec8: 3c 03 00 80 maddy.x vf15x,vf25x,vf15y nop ecc: c9 cb 0f 01 ed0: 3c 03 00 80 addaz.x accx,vf23x,vf23z nop ed4: 3e b8 17 01 ed8: 3c 03 00 80 maddy.x vf23x,vf25x,vf23y nop edc: c9 cd 17 01 ee0: be 03 67 80 mulq.x vf22x,vf22x,q rsqrt q,vf00w,vf00x ee4: 9c b5 00 01 ee8: 08 18 d4 01 mulaw.xyz accxyz,vf14xyz,vf04w lq.xyz vf20xyz,8(vi03) eec: bf 71 c4 01 ef0: 3c 03 00 80 maddq.xyz vf14xyz,vf14xyz,q nop ef4: a1 73 c0 01 ef8: 3c 03 00 80 addax.w accw,vf06w,vf00x nop efc: 3c 30 20 00 f00: 3c 03 00 80 msubx.w vf22w,vf05w,vf22x nop f04: 8c 2d 36 00 f08: 0b 18 cc 01 sub.xyz vf20xyz,vf05xyz,vf20xyz lq.xyz vf12xyz,11(vi03) f0c: 2c 2d d4 01 f10: 02 18 d2 01 maxx.xyz vf14xyz,vf14xyz,vf00x lq.xyz vf18xyz,2(vi03) f14: 90 73 c0 01 f18: 3c 03 00 80 maxx.x vf15x,vf15x,vf00x nop f1c: d0 7b 00 01 f20: 3c 03 00 80 maxx.w vf22w,vf22w,vf00x nop f24: 90 b5 20 00 f28: 3c 03 00 80 mul.xyz vf26xyz,vf20xyz,vf20xyz nop f2c: aa a6 d4 01 f30: 3c 03 00 80 mul.xyz vf12xyz,vf20xyz,vf12xyz nop f34: 2a a3 cc 01 f38: 3c 03 00 80 adda.xyz accxyz,vf18xyz,vf00xyz nop f3c: bc 92 c0 01 f40: 3c 03 00 80 maddw.xyz vf18xyz,vf14xyz,vf22w nop f44: 8b 74 d6 01 f48: 04 18 03 10 mul.xyz vf20xyz,vf20xyz,vf06xyz iaddiu vi03,vi03,4 f4c: 2a a5 c6 01 f50: 3c 03 00 80 mulx.xyz vf15xyz,vf04xyz,vf15x nop f54: d8 23 cf 01 f58: 16 50 03 50 addaz.x accx,vf26x,vf26z ibeq vi03,vi10,0x1010 f5c: 3e d0 1a 01 f60: fe 97 c3 03 maddy.x vf26x,vf25x,vf26y sq.xyz vf18xyz,-2(vi03) f64: 89 ce 1a 01 f68: 3c 03 00 80 addaz.x accx,vf12x,vf12z nop f6c: 3e 60 0c 01 f70: 3c 03 00 80 maddy.x vf12x,vf25x,vf12y nop f74: 09 cb 0c 01 f78: 3c 03 00 80 addaz.x accx,vf20x,vf20z nop f7c: 3e a0 14 01 f80: 3c 03 00 80 maddy.x vf20x,vf25x,vf20y nop f84: 09 cd 14 01 f88: be 03 7a 80 mulq.x vf23x,vf23x,q rsqrt q,vf00w,vf00x f8c: dc bd 00 01 f90: 08 18 d5 01 mulaw.xyz accxyz,vf15xyz,vf04w lq.xyz vf21xyz,8(vi03) f94: bf 79 c4 01 f98: 3c 03 00 80 maddq.xyz vf15xyz,vf15xyz,q nop f9c: e1 7b c0 01 fa0: 3c 03 00 80 addax.w accw,vf06w,vf00x nop fa4: 3c 30 20 00 fa8: 3c 03 00 80 msubx.w vf23w,vf05w,vf23x nop fac: cc 2d 37 00 fb0: 0b 18 cd 01 sub.xyz vf21xyz,vf05xyz,vf21xyz lq.xyz vf13xyz,11(vi03) fb4: 6c 2d d5 01 fb8: 02 18 d3 01 maxx.xyz vf15xyz,vf15xyz,vf00x lq.xyz vf19xyz,2(vi03) fbc: d0 7b c0 01 fc0: 3c 03 00 80 maxx.x vf12x,vf12x,vf00x nop fc4: 10 63 00 01 fc8: 3c 03 00 80 maxx.w vf23w,vf23w,vf00x nop fcc: d0 bd 20 00 fd0: 3c 03 00 80 mul.xyz vf27xyz,vf21xyz,vf21xyz nop fd4: ea ae d5 01 fd8: 3c 03 00 80 mul.xyz vf13xyz,vf21xyz,vf13xyz nop fdc: 6a ab cd 01 fe0: 3c 03 00 80 adda.xyz accxyz,vf19xyz,vf00xyz nop fe4: bc 9a c0 01 fe8: 3c 03 00 80 maddw.xyz vf19xyz,vf15xyz,vf23w nop fec: cb 7c d7 01 ff0: 04 18 03 10 mul.xyz vf21xyz,vf21xyz,vf06xyz iaddiu vi03,vi03,4 ff4: 6a ad c6 01 ff8: 3c 03 00 80 mulx.xyz vf12xyz,vf04xyz,vf12x nop ffc: 18 23 cc 01 1000: ad 57 03 52 addaz.x accx,vf27x,vf27z ibne vi03,vi10,0xd70 1004: 3e d8 1b 01 1008: fe 9f c3 03 maddy.x vf27x,vf25x,vf27y sq.xyz vf19xyz,-2(vi03) 100c: c9 ce 1b 01 1010: 85 06 00 40 nop b lightloop[0x440] 1014: ff 02 00 00 1018: 03 10 02 10 nop iaddiu vi02,vi02,3 101c: ff 02 00 00 kicktogif: 1020: 00 78 00 48 nop jr vi15 1024: ff 02 00 00 1028: bc 06 0b 80 nop xtop vi11 102c: ff 02 00 00 ;;; L20:1030: fa 03 e1 00 nop lq.yzw vf01yzw,0x3fa(vi00) 1034: ff 02 00 00 1038: 00 00 08 11 nop iaddiu vi08,vi00,0x4000 103c: ff 02 00 00 1040: 30 42 08 80 nop iadd vi08,vi08,vi08 1044: ff 02 00 00 1048: 75 42 09 80 nop ior vi09,vi08,vi09 104c: ff 02 00 00 1050: 00 58 c9 01 mulaw.xyzw accxyzw,vf31xyzw,vf00w lq.xyz vf09xyz,0(vi11) 1054: bf f9 e0 01 1058: 04 58 ca 01 maddax.xyw accxyw,vf28xyw,vf09x lq.xyz vf10xyz,4(vi11) 105c: bc e0 a9 01 1060: 3c 03 00 80 madday.xyw accxyw,vf29xyw,vf09y nop 1064: bd e8 a9 01 1068: 3c 03 00 80 maddz.xyzw vf08xyzw,vf30xyzw,vf09z nop 106c: 0a f2 e9 01 1070: bc 03 e8 81 nop div q,vf00w,vf00x 1074: ff 02 00 00 1078: 3c 03 00 80 nop nop 107c: ff 02 00 00 1080: 01 58 83 01 addw.z vf04z,vf00z,vf00w lq.xy vf03xy,1(vi11) 1084: 03 01 40 00 1088: 00 58 02 10 addw.z vf03z,vf00z,vf00w iaddiu vi02,vi11,0 108c: c3 00 40 00 1090: 01 60 04 10 addw.z vf05z,vf00z,vf00w iaddiu vi04,vi12,1 1094: 43 01 40 00 1098: 02 58 e7 01 mulaw.xyzw accxyzw,vf31xyzw,vf00w lq.xyzw vf07xyzw,2(vi11) 109c: bf f9 e0 01 10a0: 05 58 84 01 maddax.xyw accxyw,vf28xyw,vf10x lq.xy vf04xy,5(vi11) 10a4: bc e0 aa 01 10a8: 06 58 e9 01 mulq.xyz vf11xyz,vf03xyz,q lq.xyzw vf09xyzw,6(vi11) 10ac: dc 1a c0 01 10b0: 00 70 09 0b madday.xyw accxyw,vf29xyw,vf10y isw.x vi09,0(vi14)x 10b4: bd e8 aa 01 10b8: 00 08 ee 02 maddz.xyzw vf10xyzw,vf30xyzw,vf10z sq.yzw vf01yzw,0(vi14) 10bc: 8a f2 ea 01 10c0: 01 70 03 10 addw.z vf06z,vf00z,vf00w iaddiu vi03,vi14,1 10c4: 83 01 40 00 10c8: 00 58 c3 03 mulaw.xyz accxyz,vf02xyz,vf00w sq.xyz vf11xyz,0(vi03) 10cc: bf 11 c0 01 10d0: bc 03 ea 81 maddq.xyz vf13xyz,vf08xyz,q div q,vf00w,vf00x 10d4: 61 43 c0 01 10d8: 00 10 2b 00 mulq.xyz vf08xyz,vf03xyz,q lq.w vf11w,0(vi02) 10dc: 1c 1a c0 01 10e0: 08 10 cc 01 ftoi0.xyzw vf07xyzw,vf07xyzw lq.xyz vf12xyz,8(vi02) 10e4: 7c 39 e7 01 10e8: 04 10 05 10 nop iaddiu vi05,vi02,4 10ec: ff 02 00 00 10f0: 09 10 85 01 ftoi4.xyz vf11xyz,vf13xyz lq.xy vf05xy,9(vi02) 10f4: 7d 69 cb 01 10f8: 00 40 c3 03 nop sq.xyz vf08xyz,0(vi03) 10fc: ff 02 00 00 1100: 01 38 e3 03 mulaw.xyzw accxyzw,vf31xyzw,vf00w sq.xyzw vf07xyzw,1(vi03) 1104: bf f9 e0 01 1108: 01 38 e4 03 maddax.xyw accxyw,vf28xyw,vf12x sq.xyzw vf07xyzw,1(vi04) 110c: bc e0 ac 01 1110: 02 58 e3 03 madday.xyw accxyw,vf29xyw,vf12y sq.xyzw vf11xyzw,2(vi03) 1114: bd e8 ac 01 1118: 02 58 e4 03 maddz.xyzw vf12xyzw,vf30xyzw,vf12z sq.xyzw vf11xyzw,2(vi04) 111c: 0a f3 ec 01 1120: 27 50 05 50 nop ibeq vi05,vi10,0x1260 1124: ff 02 00 00 1128: 0a 10 eb 01 mulaw.xyz accxyz,vf02xyz,vf00w lq.xyzw vf11xyzw,10(vi02) 112c: bf 11 c0 01 1130: bc 03 ec 81 maddq.xyz vf08xyz,vf10xyz,q div q,vf00w,vf00x 1134: 21 52 c0 01 1138: 00 28 2d 00 mulq.xyz vf07xyz,vf04xyz,q lq.w vf13w,0(vi05) 113c: dc 21 c0 01 1140: 08 28 ce 01 ftoi0.xyzw vf09xyzw,vf09xyzw lq.xyz vf14xyz,8(vi05) 1144: 7c 49 e9 01 1148: 04 28 02 10 nop iaddiu vi02,vi05,4 114c: ff 02 00 00 1150: 09 28 86 01 ftoi4.xyz vf13xyz,vf08xyz lq.xy vf06xy,9(vi05) 1154: 7d 41 cd 01 1158: 03 38 c3 03 nop sq.xyz vf07xyz,3(vi03) 115c: ff 02 00 00 1160: 04 48 e3 03 mulaw.xyzw accxyzw,vf31xyzw,vf00w sq.xyzw vf09xyzw,4(vi03) 1164: bf f9 e0 01 1168: 04 48 e4 03 maddax.xyw accxyw,vf28xyw,vf14x sq.xyzw vf09xyzw,4(vi04) 116c: bc e0 ae 01 1170: 05 68 e3 03 madday.xyw accxyw,vf29xyw,vf14y sq.xyzw vf13xyzw,5(vi03) 1174: bd e8 ae 01 1178: 05 68 e4 03 maddz.xyzw vf14xyzw,vf30xyzw,vf14z sq.xyzw vf13xyzw,5(vi04) 117c: 8a f3 ee 01 1180: 1b 50 02 50 nop ibeq vi02,vi10,0x1260 1184: ff 02 00 00 1188: 0a 28 ed 01 mulaw.xyz accxyz,vf02xyz,vf00w lq.xyzw vf13xyzw,10(vi05) 118c: bf 11 c0 01 1190: bc 03 ee 81 maddq.xyz vf10xyz,vf12xyz,q div q,vf00w,vf00x 1194: a1 62 c0 01 1198: 00 10 27 00 mulq.xyz vf09xyz,vf05xyz,q lq.w vf07w,0(vi02) 119c: 5c 2a c0 01 11a0: 08 10 c8 01 ftoi0.xyzw vf11xyzw,vf11xyzw lq.xyz vf08xyz,8(vi02) 11a4: 7c 59 eb 01 11a8: 04 10 05 10 nop iaddiu vi05,vi02,4 11ac: ff 02 00 00 11b0: 09 10 83 01 ftoi4.xyz vf07xyz,vf10xyz lq.xy vf03xy,9(vi02) 11b4: 7d 51 c7 01 11b8: 06 48 c3 03 nop sq.xyz vf09xyz,6(vi03) 11bc: ff 02 00 00 11c0: 07 58 e3 03 mulaw.xyzw accxyzw,vf31xyzw,vf00w sq.xyzw vf11xyzw,7(vi03) 11c4: bf f9 e0 01 11c8: 07 58 e4 03 maddax.xyw accxyw,vf28xyw,vf08x sq.xyzw vf11xyzw,7(vi04) 11cc: bc e0 a8 01 11d0: 08 38 e3 03 madday.xyw accxyw,vf29xyw,vf08y sq.xyzw vf07xyzw,8(vi03) 11d4: bd e8 a8 01 11d8: 08 38 e4 03 maddz.xyzw vf08xyzw,vf30xyzw,vf08z sq.xyzw vf07xyzw,8(vi04) 11dc: 0a f2 e8 01 11e0: 0f 50 05 50 nop ibeq vi05,vi10,0x1260 11e4: ff 02 00 00 11e8: 0a 10 e7 01 mulaw.xyz accxyz,vf02xyz,vf00w lq.xyzw vf07xyzw,10(vi02) 11ec: bf 11 c0 01 11f0: bc 03 e8 81 maddq.xyz vf12xyz,vf14xyz,q div q,vf00w,vf00x 11f4: 21 73 c0 01 11f8: 00 28 29 00 mulq.xyz vf11xyz,vf06xyz,q lq.w vf09w,0(vi05) 11fc: dc 32 c0 01 1200: 08 28 ca 01 ftoi0.xyzw vf13xyzw,vf13xyzw lq.xyz vf10xyz,8(vi05) 1204: 7c 69 ed 01 1208: 09 28 84 01 nop lq.xy vf04xy,9(vi05) 120c: ff 02 00 00 1210: 04 28 02 10 ftoi4.xyz vf09xyz,vf12xyz iaddiu vi02,vi05,4 1214: 7d 61 c9 01 1218: 09 58 c3 03 nop sq.xyz vf11xyz,9(vi03) 121c: ff 02 00 00 1220: 0a 68 e3 03 nop sq.xyzw vf13xyzw,10(vi03) 1224: ff 02 00 00 1228: 0a 68 e4 03 nop sq.xyzw vf13xyzw,10(vi04) 122c: ff 02 00 00 1230: 0b 48 e3 03 mulaw.xyzw accxyzw,vf31xyzw,vf00w sq.xyzw vf09xyzw,11(vi03) 1234: bf f9 e0 01 1238: 0b 48 e4 03 maddax.xyw accxyw,vf28xyw,vf10x sq.xyzw vf09xyzw,11(vi04) 123c: bc e0 aa 01 1240: 0a 28 e9 01 madday.xyw accxyw,vf29xyw,vf10y lq.xyzw vf09xyzw,10(vi05) 1244: bd e8 aa 01 1248: 0c 18 03 10 maddz.xyzw vf10xyzw,vf30xyzw,vf10z iaddiu vi03,vi03,12 124c: 8a f2 ea 01 1250: cf 57 02 52 nop ibne vi02,vi10,0x10d0 1254: ff 02 00 00 1258: 0c 20 04 10 mulaw.xyz accxyz,vf02xyz,vf00w iaddiu vi04,vi04,12 125c: bf 11 c0 01 1260: c3 03 02 10 nop iaddiu vi02,vi00,0x3c3 1264: ff 02 00 00 1268: fc 16 00 80 nop xgkick vi02 126c: ff 02 00 00 1270: 00 50 07 10 nop iaddiu vi07,vi10,0 1274: ff 02 00 00 1278: c9 03 22 08 nop ilw.w vi02,969(vi00)w 127c: ff 02 00 00 1280: f0 03 0c 80 nop iadd vi15,vi00,vi12 1284: ff 02 00 00 1288: 30 03 0d 80 nop iadd vi12,vi00,vi13 128c: ff 02 00 00 1290: 70 03 0e 80 nop iadd vi13,vi00,vi14 1294: ff 02 00 00 1298: fc 76 00 80 nop xgkick vi14 129c: ff 02 00 00 12a0: 8a 03 08 42 nop bal vi08,L40[0x2ef8] 12a4: ff 02 00 00 12a8: b0 03 0f 80 nop iadd vi14,vi00,vi15 12ac: ff 02 00 00 12b0: 3a 03 00 40 nop b 0x2c88 12b4: ff 02 00 00 12b8: 3c 03 00 80 nop nop 12bc: ff 02 00 00 ;;; first pass (diffuse) L21:12c0: fa 03 e1 00 nop lq.yzw vf01yzw,0x3fa(vi00) ; GIFtag 12c4: ff 02 00 00 12c8: 00 00 08 11 nop iaddiu vi08,vi00,0x4000 12cc: ff 02 00 00 12d0: 30 42 08 80 nop iadd vi08,vi08,vi08 12d4: ff 02 00 00 12d8: 75 42 09 80 nop ior vi09,vi08,vi09 ; VI09 = 0x8000 (EOP flag) | vertex count (itop) 12dc: ff 02 00 00 12e0: f6 03 67 00 max.xyz vf03xyz,vf31xyz,vf31xyz lq.zw vf07zw,0x3f6(vi00) ; - w seems to be far/fog_end value 12e4: eb f8 df 01 12e8: 3c 03 00 80 max.xy vf04xy,vf28xy,vf28xy nop 12ec: 2b e1 9c 01 12f0: 00 00 7f 43 max[i].xyz vf06xyz,vf30xyz,vf30xyz loi 255 ; - vertex f value 12f4: ab f1 de 81 12f8: 3c 03 00 80 mulai.w accw,vf00w,i nop 12fc: fe 01 20 00 1300: 3c 03 00 80 mulz.w vf03w,vf31w,vf07z nop 1304: da f8 27 00 1308: 3c 03 00 80 mulz.w vf04w,vf28w,vf07z nop 130c: 1a e1 27 00 1310: 3c 03 00 80 mulz.w vf05w,vf29w,vf07z nop 1314: 5a e9 27 00 1318: 00 58 02 10 mulz.w vf06w,vf30w,vf07z iaddiu vi02,vi11,0 ; - VI02 = vertex base (top) 131c: 9a f1 27 00 1320: 00 10 cd 01 mulz.w vf10w,vf07w,vf07z lq.xyz vf13xyz,0(vi02) ; VF10.w: -298.828 - vertex[0] to VF13 1324: 9a 3a 27 00 1328: 3c eb 85 81 sub.xyz vf10xyz,vf00xyz,vf02xyz move.xy vf05xy,vf29xy ; VF10.xyz: [-2048.0, -2048.0, 9512.0] 132c: ac 02 c2 01 1330: 05 10 89 01 maddz.w vf12w,vf07w,vf07z lq.xy vf09xy,5(vi02) ; VF12.w: -43.828 - texcoord[0][1] to VF09 1334: 0a 3b 27 00 1338: 3c 03 00 80 mulaw.xyzw accxyzw,vf03xyzw,vf00w nop 133c: bf 19 e0 01 1340: 02 10 ef 01 maddax.xyw accxyw,vf04xyw,vf13x lq.xyzw vf15xyzw,2(vi02) ; - color[0] to VF15 1344: bc 20 ad 01 1348: 00 08 00 45 madday[i].xyw accxyw,vf05xyw,vf13y loi 2048.5 134c: bd 28 ad 81 1350: 04 10 cc 01 maddz.xyzw vf13xyzw,vf06xyzw,vf13z lq.xyz vf12xyz,4(vi02) ; - vertex[1] to VF12 1354: 4a 33 ed 01 1358: 04 10 24 08 mulaw.xyzw accxyzw,vf10xyzw,vf00w ilw.w vi04,4(vi02)w ; VF10 to ACC - vertexflg[1] to VI04 135c: bf 51 e0 01 1360: 06 10 f0 01 msubi.xyzw vf11xyzw,vf00xyzw,i lq.xyzw vf16xyzw,6(vi02) ; VF11: [-2048.0, -2048.0, 9512.0, -298.828] - color[1] to VF16 1364: e7 02 e0 01 1368: bc 3b cd 81 ftoi0.xyzw vf15xyzw,vf15xyzw div q,vf07z,vf13w ; convert color[0] to int 136c: 7c 79 ef 01 1370: 00 10 23 08 max.w vf13w,vf13w,vf10w ilw.w vi03,0(vi02)w ; - vertexflg[0] to VI03 1374: 6b 6b 2a 00 1378: 01 70 05 10 mulaw.xyzw accxyzw,vf03xyzw,vf00w iaddiu vi05,vi14,1 ; - pointer to GIF packet to VI05 (0x312+1) 137c: bf 19 e0 01 1380: 3d 03 48 80 maddax.xyw accxyw,vf04xyw,vf12x mr32.z vf08z,vf00z 1384: bc 20 ac 01 1388: 01 10 88 01 madday.xyw accxyw,vf05xyw,vf12y lq.xy vf08xy,1(vi02) ; - texcoord[0][0] to VF08 138c: bd 28 ac 01 1390: 00 08 ee 02 maddz.xyzw vf17xyzw,vf06xyzw,vf12z sq.yzw vf01yzw,0(vi14) ; - write GIFtag to (VI14) 1394: 4a 34 ec 01 1398: 00 70 09 0b mini.w vf13w,vf13w,vf12w isw.x vi09,0(vi14)x ; - store vertex count in GIFtag 139c: 6f 6b 2c 00 13a0: 3d 03 49 80 mulq.xyz vf13xyz,vf13xyz,q mr32.z vf09z,vf00z ; perspective divide? 13a4: 5c 6b c0 01 13a8: 01 60 06 10 mulq.xyz vf14xyz,vf08xyz,q iaddiu vi06,vi12,1 ; - pointer to another GIF packet to VI12 (0x0x1c0+1) 13ac: 9c 43 c0 01 .0: 13b0: 03 00 03 52 max.w vf07w,vf17w,vf10w ibne vi03,vi00,L21.1[0x13d0] 13b4: eb 89 2a 00 13b8: bc 3b d1 81 nop div q,vf07z,vf17w 13bc: ff 02 00 00 13c0: 03 00 00 40 sub.xyzw vf13xyzw,vf13xyzw,vf10xyzw b L21.2[0x13e0] 13c4: 6c 6b ea 01 13c8: 00 70 c5 03 mulaw.xyzw accxyzw,vf03xyzw,vf00w sq.xyz vf14xyz,0(vi05) ; store texcoord[0] in GIF packet 13cc: bf 19 e0 01 .1: 13d0: 01 00 00 40 sub.xyzw vf13xyzw,vf13xyzw,vf11xyzw b L21.2[0x13e0] 13d4: 6c 6b eb 01 13d8: 00 70 c5 03 mulaw.xyzw accxyzw,vf03xyzw,vf00w sq.xyz vf14xyz,0(vi05) ; store texcoord[0] in GIF packet 13dc: bf 19 e0 01 .2: 13e0: 08 10 ce 01 nop lq.xyz vf14xyz,8(vi02) ; - vertex[2] to VF14 13e4: ff 02 00 00 13e8: 01 78 e6 03 ftoi4.xyzw vf20xyzw,vf13xyzw sq.xyzw vf15xyzw,1(vi06) ; - store color[0] in second GIF packet 13ec: 7d 69 f4 01 13f0: 08 10 23 08 nop ilw.w vi03,8(vi02)w ; - vertexflg[2] to VI03 13f4: ff 02 00 00 13f8: 09 10 88 01 ftoi0.xyzw vf18xyzw,vf16xyzw lq.xy vf08xy,9(vi02) ; convert color[1] - texcoord[0][2] to VF08 13fc: 7c 81 f2 01 1400: 04 10 07 10 maddax.xyw accxyw,vf04xyw,vf14x iaddiu vi07,vi02,4 1404: bc 20 ae 01 1408: 02 a0 e5 03 madday.xyw accxyw,vf05xyw,vf14y sq.xyzw vf20xyzw,2(vi05) ; - store vertex[0] in GIF packet 140c: bd 28 ae 01 1410: 02 a0 e6 03 maddz.xyzw vf20xyzw,vf06xyzw,vf14z sq.xyzw vf20xyzw,2(vi06) ; - store vertex[0] in second GIF packet 1414: 0a 35 ee 01 1418: 01 78 e5 03 mini.w vf14w,vf07w,vf12w sq.xyzw vf15xyzw,1(vi05) ; - store color[0] in GIF packet 141c: af 3b 2c 00 1420: 13 50 07 50 mulq.xyz vf14xyz,vf17xyz,q ibeq vi07,vi10,L21.5[0x14c0] ; - branch if VI07 is beyond last vertex 1424: 9c 8b c0 01 1428: 0a 10 f3 01 mulq.xyz vf12xyz,vf09xyz,q lq.xyzw vf19xyzw,10(vi02) ; - load color[2] to VF19 142c: 1c 4b c0 01 1430: 03 00 04 52 max.w vf07w,vf20w,vf10w ibne vi04,vi00,L21.3[0x1450] 1434: eb a1 2a 00 1438: bc 3b d4 81 nop div q,vf07z,vf20w 143c: ff 02 00 00 1440: 03 00 00 40 sub.xyzw vf21xyzw,vf14xyzw,vf10xyzw b L21.4[0x1460] 1444: 6c 75 ea 01 1448: 03 60 c5 03 mulaw.xyzw accxyzw,vf03xyzw,vf00w sq.xyz vf12xyz,3(vi05) 144c: bf 19 e0 01 .3: 1450: 01 00 00 40 sub.xyzw vf21xyzw,vf14xyzw,vf11xyzw b L21.4[0x1460] 1454: 6c 75 eb 01 1458: 03 60 c5 03 mulaw.xyzw accxyzw,vf03xyzw,vf00w sq.xyz vf12xyz,3(vi05) 145c: bf 19 e0 01 .4: 1460: 04 90 e5 03 nop sq.xyzw vf18xyzw,4(vi05) ; - store color[1] in GIF packet 1464: ff 02 00 00 1468: 08 38 d0 01 nop lq.xyz vf16xyz,8(vi07) ; - load vertex[3] to VF16 146c: ff 02 00 00 1470: 04 90 e6 03 ftoi4.xyzw vf17xyzw,vf21xyzw sq.xyzw vf18xyzw,4(vi06) ; - store color[1] in second GIF packet 1474: 7d a9 f1 01 1478: 08 38 24 08 nop ilw.w vi04,8(vi07)w ; - load vertexflg[3] to VI04 147c: ff 02 00 00 1480: 09 38 89 01 nop lq.xy vf09xy,9(vi07) ; - load texcoord[0][3] to VF09 1484: ff 02 00 00 1488: 04 38 02 10 mini.w vf13w,vf07w,vf12w iaddiu vi02,vi07,4 148c: 6f 3b 2c 00 1490: 05 88 e5 03 maddax.xyw accxyw,vf04xyw,vf16x sq.xyzw vf17xyzw,5(vi05) ; - store vertex[1] to GIF packet 1494: bc 20 b0 01 1498: 05 88 e6 03 madday.xyw accxyw,vf05xyw,vf16y sq.xyzw vf17xyzw,5(vi06) ; - store vertex[1] to second GIF packet 149c: bd 28 b0 01 14a0: 0a 38 f0 01 maddz.xyzw vf17xyzw,vf06xyzw,vf16z lq.xyzw vf16xyzw,10(vi07) ; - load color[3] to VF16 14a4: 4a 34 f0 01 14a8: 06 28 05 10 ftoi0.xyzw vf15xyzw,vf19xyzw iaddiu vi05,vi05,6 14ac: 7c 99 ef 01 14b0: df 57 02 52 mulq.xyz vf13xyz,vf20xyz,q ibne vi02,vi10,L21.0[0x13b0] ; - branch back if not at end 14b4: 5c a3 c0 01 14b8: 06 30 06 10 mulq.xyz vf14xyz,vf08xyz,q iaddiu vi06,vi06,6 14bc: 9c 43 c0 01 .5: ; draw 14c0: c3 03 02 10 nop iaddiu vi02,vi00,0x3c3 14c4: ff 02 00 00 14c8: fc 16 00 80 nop xgkick vi02 ; set FOGCOL, TEX0_1 and TEX1_1 14cc: ff 02 00 00 14d0: 00 50 07 10 nop iaddiu vi07,vi10,0 ; end of vertices 14d4: ff 02 00 00 14d8: c9 03 22 08 nop ilw.w vi02,0x3c9(vi00)w ; our case: L35 14dc: ff 02 00 00 14e0: f0 03 0c 80 nop iadd vi15,vi00,vi12 ; second GIF packet 14e4: ff 02 00 00 14e8: 30 03 0d 80 nop iadd vi12,vi00,vi13 14ec: ff 02 00 00 14f0: 70 03 0e 80 nop iadd vi13,vi00,vi14 ; this GIF packet 14f4: ff 02 00 00 14f8: fc 76 00 80 nop xgkick vi14 14fc: ff 02 00 00 1500: 3e 03 08 42 nop bal vi08,L40[0x2ef8] ; draw additional passes 1504: ff 02 00 00 1508: b0 03 0f 80 nop iadd vi14,vi00,vi15 ; second GIF packet 150c: ff 02 00 00 1510: ee 02 00 40 nop b end1[0x2c88] 1514: ff 02 00 00 1518: 3c 03 00 80 nop nop 151c: ff 02 00 00 ;;; L22:1520: 00 00 00 22 sub.w vf23w,vf00w,vf00w fcset 0 1524: ec 05 20 00 1528: 00 00 04 10 sub.w vf25w,vf00w,vf00w iaddiu vi04,vi00,0 152c: 6c 06 20 00 1530: fd 03 fa 01 sub.xzw vf17xzw,vf00xzw,vf00xzw lq.xyzw vf26xyzw,1021(vi00) 1534: 6c 04 60 01 1538: 00 58 e3 01 addw.y vf17y,vf00y,vf00w lq.xyzw vf03xyzw,0(vi11) 153c: 43 04 80 00 1540: fe 03 fb 01 addw.z vf19z,vf00z,vf00w lq.xyzw vf27xyzw,1022(vi00) 1544: c3 04 40 00 1548: 04 58 e4 01 sub.xyw vf19xyw,vf00xyw,vf00xyw lq.xyzw vf04xyzw,4(vi11) 154c: ec 04 a0 01 1550: 08 58 e5 01 mulaw.xyzw accxyzw,vf31xyzw,vf00w lq.xyzw vf05xyzw,8(vi11) 1554: bf f9 e0 01 1558: 3d d3 1a 81 maddax.xyw accxyw,vf28xyw,vf03x mr32.x vf26x,vf26x 155c: bc e0 a3 01 1560: 3d d3 18 81 madday.xyw accxyw,vf29xyw,vf03y mr32.x vf24x,vf26x 1564: bd e8 a3 01 1568: fe 03 d8 00 maddz.xyzw vf03xyzw,vf30xyzw,vf03z lq.yz vf24yz,1022(vi00) 156c: ca f0 e3 01 1570: 3d db 1b 81 mulaw.xyzw accxyzw,vf31xyzw,vf00w mr32.x vf27x,vf27x 1574: bf f9 e0 01 1578: 3c 03 00 80 maddax.xyw accxyw,vf28xyw,vf04x nop 157c: bc e0 a4 01 1580: 3c 03 00 80 madday.xyw accxyw,vf29xyw,vf04y nop 1584: bd e8 a4 01 1588: 3c 03 00 80 maddz.xyzw vf04xyzw,vf30xyzw,vf04z nop 158c: 0a f1 e4 01 1590: 3c 03 00 80 mulaw.xyzw accxyzw,vf31xyzw,vf00w nop 1594: bf f9 e0 01 1598: c0 00 02 10 maddax.xyw accxyw,vf28xyw,vf05x iaddiu vi02,vi00,0xc0 159c: bc e0 a5 01 15a0: 3c 1b f0 81 madday.xyw accxyw,vf29xyw,vf05y move.xyzw vf16xyzw,vf03xyzw 15a4: bd e8 a5 01 15a8: 3c 23 f2 81 maddz.xyzw vf05xyzw,vf30xyzw,vf05z move.xyzw vf18xyzw,vf04xyzw 15ac: 4a f1 e5 01 15b0: 00 00 09 10 adda.z accz,vf00z,vf26z iaddiu vi09,vi00,0 15b4: bc 02 5a 00 15b8: 19 03 07 10 mul.xy vf01xy,vf03xy,vf24xy iaddiu vi07,vi00,0x319 15bc: 6a 18 98 01 15c0: 08 58 0b 10 maddw.z vf01z,vf24z,vf03w iaddiu vi11,vi11,8 15c4: 4b c0 43 00 15c8: 01 00 05 10 mul.xy vf23xy,vf04xy,vf24xy iaddiu vi05,vi00,1 15cc: ea 25 98 01 15d0: 03 00 ee 03 maddw.z vf23z,vf24z,vf04w sq.xyzw vf00xyzw,3(vi14) 15d4: cb c5 44 00 15d8: 05 88 ee 03 mul.xy vf25xy,vf05xy,vf24xy sq.xyzw vf17xyzw,5(vi14) 15dc: 6a 2e 98 01 15e0: 01 98 ee 03 maddw.z vf25z,vf24z,vf05w sq.xyzw vf19xyzw,1(vi14) 15e4: 4b c6 45 00 15e8: 04 58 ef 01 clipw.xyz vf00xyz,vf00w lq.xyzw vf15xyzw,4(vi11) 15ec: ff 01 c0 01 15f0: 04 18 ee 03 clipw.xyz vf01xyz,vf03w sq.xyzw vf03xyzw,4(vi14) 15f4: ff 09 c3 01 15f8: 00 20 ee 03 clipw.xyz vf23xyz,vf04w sq.xyzw vf04xyzw,0(vi14) 15fc: ff b9 c4 01 1600: 02 28 ee 03 clipw.xyz vf25xyz,vf05w sq.xyzw vf05xyzw,2(vi14) 1604: ff c9 c5 01 1608: 00 58 21 08 nop ilw.w vi01,0(vi11)w 160c: ff 02 00 00 1610: 3c bb e1 81 mulaw.xyzw accxyzw,vf31xyzw,vf00w move.xyzw vf01xyzw,vf23xyzw 1614: bf f9 e0 01 1618: 06 70 08 10 maddax.xyw accxyw,vf28xyw,vf15x iaddiu vi08,vi14,6 161c: bc e0 af 01 1620: 00 70 03 10 madday.xyw accxyw,vf29xyw,vf15y iaddiu vi03,vi14,0 1624: bd e8 af 01 1628: 05 01 01 52 maddz.xyzw vf15xyzw,vf30xyzw,vf15z ibne vi01,vi00,0x1e58 162c: ca f3 ef 01 1630: ff ff ff 24 addx.xyzw vf23xyzw,vf25xyzw,vf00x fcand vi01,0xffffff 1634: c0 cd e0 01 1638: e5 00 01 50 addx.xyzw vf16xyzw,vf03xyzw,vf00x ibeq vi01,vi00,0x1d68 163c: 00 1c e0 01 1640: df f7 7d 26 nop fcor vi01,0x7df7df 1644: ff 02 00 00 1648: 01 01 01 52 addw.y vf06y,vf00y,vf18w ibne vi01,vi00,0x1e58 164c: 83 01 92 00 1650: 20 08 82 24 addw.x vf06x,vf00x,vf03w fcand vi01,0x820820 1654: 83 01 03 01 1658: 1c 00 01 50 nop ibeq vi01,vi00,0x1740 165c: ff 02 00 00 1660: ff 47 f1 01 subw.w vf20w,vf18w,vf16w lq.xyzw vf17xyzw,-1(vi08) 1664: 07 95 30 00 1668: 00 40 04 10 clipw.xyz vf00xyz,vf00w iaddiu vi04,vi08,0 166c: ff 01 c0 01 1670: 02 18 e8 01 subw.xy vf07xy,vf06xy,vf27w lq.xyzw vf08xyzw,2(vi03) 1674: c7 31 9b 01 1678: 01 18 f3 01 addy.x vf06x,vf00x,vf06y lq.xyzw vf19xyzw,1(vi03) 167c: 81 01 06 01 1680: 02 18 03 10 mul.xy vf09xy,vf18xy,vf24xy iaddiu vi03,vi03,2 1684: 6a 92 98 01 1688: bc 03 f4 81 adda.z accz,vf00z,vf26z XXdiv q,vf00w,vf00x 168c: bc 02 5a 00 1690: 00 10 01 34 addw.y vf06y,vf00y,vf08w fmand vi01,vi02 1694: 83 01 88 00 1698: 10 10 01 50 maddw.z vf09z,vf24z,vf18w ibeq vi01,vi02,0x1720 169c: 4b c2 52 00 16a0: 3c 93 f0 81 mulay.xyzw accxyzw,vf16xyzw,vf07y move.xyzw vf16xyzw,vf18xyzw 16a4: bd 81 e7 01 16a8: 0c 00 01 50 msubx.xyzw vf22xyzw,vf18xyzw,vf07x ibeq vi01,vi00,0x1710 16ac: 8c 95 e7 01 16b0: 3c 03 00 80 mulay.xyzw accxyzw,vf17xyzw,vf07y nop 16b4: bd 89 e7 01 16b8: 3c 03 00 80 msubx.xyzw vf21xyzw,vf19xyzw,vf07x nop 16bc: 4c 9d e7 01 16c0: 3c 03 00 80 nop nop 16c4: ff 02 00 00 16c8: 3c 03 00 80 mulq.xyw vf22xyw,vf22xyw,q nop 16cc: 9c b5 a0 01 16d0: 3c 03 00 80 subw.z vf20z,vf00z,vf27w nop 16d4: 07 05 5b 00 16d8: 40 00 02 10 mulq.xyzw vf21xyzw,vf21xyzw,q iaddiu vi02,vi00,0x40 16dc: 5c ad e0 01 16e0: 3c 03 00 80 nop nop 16e4: ff 02 00 00 16e8: 7d b3 e8 81 mul.xy vf20xy,vf22xy,vf24xy sqi.xyzw vf22xyzw,(vi08++) 16ec: 2a b5 98 01 16f0: 3c 03 00 80 nop nop 16f4: ff 02 00 00 16f8: 7d ab e8 81 nop sqi.xyzw vf21xyzw,(vi08++) 16fc: ff 02 00 00 1700: 03 10 01 50 nop ibeq vi01,vi02,0x1720 1704: ff 02 00 00 1708: c0 00 02 10 clipw.xyz vf20xyz,vf22w iaddiu vi02,vi00,0xc0 170c: ff a1 d6 01 1710: 7d 93 e8 81 nop sqi.xyzw vf18xyzw,(vi08++) 1714: ff 02 00 00 1718: 7d 9b e8 81 clipw.xyz vf09xyz,vf18w sqi.xyzw vf19xyzw,(vi08++) 171c: ff 49 d2 01 1720: e9 27 03 52 addx.xyzw vf18xyzw,vf08xyzw,vf00x ibne vi03,vi04,0x1670 1724: 80 44 e0 01 1728: 3c 9b f1 81 subw.w vf20w,vf08w,vf16w move.xyzw vf17xyzw,vf19xyzw 172c: 07 45 30 00 1730: e4 20 08 50 nop ibeq vi08,vi04,0x1e58 1734: ff 02 00 00 1738: fe 47 f0 01 nop lq.xyzw vf16xyzw,-2(vi08) 173c: ff 02 00 00 1740: df f7 7d 24 nop fcand vi01,0x7df7df 1744: ff 02 00 00 1748: 9a 00 01 50 nop ibeq vi01,vi00,0x1c20 174c: ff 02 00 00 1750: ef fb be 26 subw.y vf06y,vf00y,vf18w fcor vi01,0xbefbef 1754: 87 01 92 00 1758: df 00 01 52 subw.x vf06x,vf00x,vf16w ibne vi01,vi00,0x1e58 175c: 87 01 10 01 1760: 10 04 41 24 nop fcand vi01,0x410410 1764: ff 02 00 00 1768: 19 00 01 50 nop ibeq vi01,vi00,0x1838 176c: ff 02 00 00 1770: ff 47 f1 01 nop lq.xyzw vf17xyzw,-1(vi08) 1774: ff 02 00 00 1778: 00 40 04 10 subx.y vf20y,vf06y,vf06x iaddiu vi04,vi08,0 177c: 04 35 86 00 1780: 02 18 e8 01 addw.xy vf07xy,vf06xy,vf26w lq.xyzw vf08xyzw,2(vi03) 1784: c3 31 9a 01 1788: 01 18 f3 01 addx.xyzw vf22xyzw,vf16xyzw,vf00x lq.xyzw vf19xyzw,1(vi03) 178c: 80 85 e0 01 1790: 02 18 03 10 addx.xyzw vf16xyzw,vf18xyzw,vf00x iaddiu vi03,vi03,2 1794: 00 94 e0 01 1798: bc 03 f4 80 addy.x vf06x,vf00x,vf06y div q,vf00w,vf00x 179c: 81 01 06 01 17a0: 00 10 01 34 subw.y vf06y,vf00y,vf08w fmand vi01,vi02 17a4: 87 01 88 00 17a8: 0c 10 01 50 mulay.xyzw accxyzw,vf22xyzw,vf07y ibeq vi01,vi02,0x1810 17ac: bd b1 e7 01 17b0: 00 b0 e8 03 msubx.xyzw vf22xyzw,vf16xyzw,vf07x sq.xyzw vf22xyzw,0(vi08) 17b4: 8c 85 e7 01 17b8: 01 88 e8 03 mulay.xyzw accxyzw,vf17xyzw,vf07y sq.xyzw vf17xyzw,1(vi08) 17bc: bd 89 e7 01 17c0: 09 00 01 50 msubx.xyzw vf21xyzw,vf19xyzw,vf07x ibeq vi01,vi00,0x1810 17c4: 4c 9d e7 01 17c8: 02 40 08 10 nop iaddiu vi08,vi08,2 17cc: ff 02 00 00 17d0: 3c 03 00 80 nop nop 17d4: ff 02 00 00 17d8: 40 00 02 10 mulq.xyzw vf22xyzw,vf22xyzw,q iaddiu vi02,vi00,0x40 17dc: 9c b5 e0 01 17e0: 3c 03 00 80 mulq.xyzw vf21xyzw,vf21xyzw,q nop 17e4: 5c ad e0 01 17e8: 02 10 01 50 nop ibeq vi01,vi02,0x1800 17ec: ff 02 00 00 17f0: c0 00 02 10 nop iaddiu vi02,vi00,0xc0 17f4: ff 02 00 00 17f8: 02 40 08 12 nop isubiu vi08,vi08,2 17fc: ff 02 00 00 1800: 7d b3 e8 81 nop sqi.xyzw vf22xyzw,(vi08++) 1804: ff 02 00 00 1808: 7d ab e8 81 nop sqi.xyzw vf21xyzw,(vi08++) 180c: ff 02 00 00 1810: ed 27 03 52 addx.xyzw vf18xyzw,vf08xyzw,vf00x ibne vi03,vi04,0x1780 1814: 80 44 e0 01 1818: 3c 9b f1 81 subx.y vf20y,vf06y,vf06x move.xyzw vf17xyzw,vf19xyzw 181c: 04 35 86 00 1820: fe 47 f0 01 nop lq.xyzw vf16xyzw,-2(vi08) 1824: ff 02 00 00 1828: c5 20 08 50 nop ibeq vi08,vi04,0x1e58 182c: ff 02 00 00 1830: 3c 03 00 80 nop nop 1834: ff 02 00 00 1838: cf f3 3c 24 addaw.y accy,vf00y,vf18w fcand vi01,0x3cf3cf 183c: 3f 00 92 00 1840: 7b 00 01 50 maddy.y vf06y,vf27y,vf18y ibeq vi01,vi00,0x1c20 1844: 89 d9 92 00 1848: f7 7d df 26 addaw.x accx,vf00x,vf16w fcor vi01,0xdf7df7 184c: 3f 00 10 01 1850: c0 00 01 52 maddy.x vf06x,vf27x,vf16y ibne vi01,vi00,0x1e58 1854: 89 d9 10 01 1858: 08 82 20 24 nop fcand vi01,0x208208 185c: ff 02 00 00 1860: 1a 00 01 50 nop ibeq vi01,vi00,0x1938 1864: ff 02 00 00 1868: ff 47 f1 01 nop lq.xyzw vf17xyzw,-1(vi08) 186c: ff 02 00 00 1870: 00 40 04 10 subx.y vf20y,vf06y,vf06x iaddiu vi04,vi08,0 1874: 04 35 86 00 1878: 02 18 e8 01 add.xy vf07xy,vf06xy,vf00xy lq.xyzw vf08xyzw,2(vi03) 187c: e8 31 80 01 1880: 01 18 f3 01 addx.xyzw vf22xyzw,vf16xyzw,vf00x lq.xyzw vf19xyzw,1(vi03) 1884: 80 85 e0 01 1888: 02 18 03 10 addx.xyzw vf16xyzw,vf18xyzw,vf00x iaddiu vi03,vi03,2 188c: 00 94 e0 01 1890: bc 03 f4 80 addy.x vf06x,vf00x,vf06y div q,vf00w,vf00x 1894: 81 01 06 01 1898: 00 10 01 34 addaw.y accy,vf00y,vf08w fmand vi01,vi02 189c: 3f 00 88 00 18a0: 00 b0 e8 03 maddy.y vf06y,vf27y,vf08y sq.xyzw vf22xyzw,0(vi08) 18a4: 89 d9 88 00 18a8: 0c 10 01 50 mulay.xyzw accxyzw,vf22xyzw,vf07y ibeq vi01,vi02,0x1910 18ac: bd b1 e7 01 18b0: 01 88 e8 03 msubx.xyzw vf22xyzw,vf16xyzw,vf07x sq.xyzw vf17xyzw,1(vi08) 18b4: 8c 85 e7 01 18b8: 0a 00 01 50 mulay.xyzw accxyzw,vf17xyzw,vf07y ibeq vi01,vi00,0x1910 18bc: bd 89 e7 01 18c0: 02 40 08 10 msubx.xyzw vf21xyzw,vf19xyzw,vf07x iaddiu vi08,vi08,2 18c4: 4c 9d e7 01 18c8: 3c 03 00 80 nop nop 18cc: ff 02 00 00 18d0: 40 00 02 10 nop iaddiu vi02,vi00,0x40 18d4: ff 02 00 00 18d8: 3c 03 00 80 mulq.xyzw vf22xyzw,vf22xyzw,q nop 18dc: 9c b5 e0 01 18e0: 3c 03 00 80 mulq.xyzw vf21xyzw,vf21xyzw,q nop 18e4: 5c ad e0 01 18e8: 02 10 01 50 nop ibeq vi01,vi02,0x1900 18ec: ff 02 00 00 18f0: c0 00 02 10 nop iaddiu vi02,vi00,0xc0 18f4: ff 02 00 00 18f8: 02 40 08 12 nop isubiu vi08,vi08,2 18fc: ff 02 00 00 1900: 7d b3 e8 81 nop sqi.xyzw vf22xyzw,(vi08++) 1904: ff 02 00 00 1908: 7d ab e8 81 nop sqi.xyzw vf21xyzw,(vi08++) 190c: ff 02 00 00 1910: ec 27 03 52 addx.xyzw vf18xyzw,vf08xyzw,vf00x ibne vi03,vi04,0x1878 1914: 80 44 e0 01 1918: 3c 9b f1 81 subx.y vf20y,vf06y,vf06x move.xyzw vf17xyzw,vf19xyzw 191c: 04 35 86 00 1920: fe 47 f0 01 nop lq.xyzw vf16xyzw,-2(vi08) 1924: ff 02 00 00 1928: a5 20 08 50 nop ibeq vi08,vi04,0x1e58 192c: ff 02 00 00 1930: 3c 03 00 80 nop nop 1934: ff 02 00 00 1938: c7 71 1c 24 addaw.y accy,vf00y,vf18w fcand vi01,0x1c71c7 193c: 3f 00 92 00 1940: 5b 00 01 50 msuby.y vf06y,vf27y,vf18y ibeq vi01,vi00,0x1c20 1944: 8d d9 92 00 1948: fb be ef 26 addaw.x accx,vf00x,vf16w fcor vi01,0xefbefb 194c: 3f 00 10 01 1950: a0 00 01 52 msuby.x vf06x,vf27x,vf16y ibne vi01,vi00,0x1e58 1954: 8d d9 10 01 1958: 04 41 10 24 nop fcand vi01,0x104104 195c: ff 02 00 00 1960: 1a 00 01 50 nop ibeq vi01,vi00,0x1a38 1964: ff 02 00 00 1968: ff 47 f1 01 nop lq.xyzw vf17xyzw,-1(vi08) 196c: ff 02 00 00 1970: 00 40 04 10 subx.y vf20y,vf06y,vf06x iaddiu vi04,vi08,0 1974: 04 35 86 00 1978: 02 18 e8 01 add.xy vf07xy,vf06xy,vf00xy lq.xyzw vf08xyzw,2(vi03) 197c: e8 31 80 01 1980: 01 18 f3 01 addx.xyzw vf22xyzw,vf16xyzw,vf00x lq.xyzw vf19xyzw,1(vi03) 1984: 80 85 e0 01 1988: 02 18 03 10 addx.xyzw vf16xyzw,vf18xyzw,vf00x iaddiu vi03,vi03,2 198c: 00 94 e0 01 1990: bc 03 f4 80 addy.x vf06x,vf00x,vf06y div q,vf00w,vf00x 1994: 81 01 06 01 1998: 00 10 01 34 addaw.y accy,vf00y,vf08w fmand vi01,vi02 199c: 3f 00 88 00 19a0: 00 b0 e8 03 msuby.y vf06y,vf27y,vf08y sq.xyzw vf22xyzw,0(vi08) 19a4: 8d d9 88 00 19a8: 0c 10 01 50 mulay.xyzw accxyzw,vf22xyzw,vf07y ibeq vi01,vi02,0x1a10 19ac: bd b1 e7 01 19b0: 01 88 e8 03 msubx.xyzw vf22xyzw,vf16xyzw,vf07x sq.xyzw vf17xyzw,1(vi08) 19b4: 8c 85 e7 01 19b8: 0a 00 01 50 mulay.xyzw accxyzw,vf17xyzw,vf07y ibeq vi01,vi00,0x1a10 19bc: bd 89 e7 01 19c0: 02 40 08 10 msubx.xyzw vf21xyzw,vf19xyzw,vf07x iaddiu vi08,vi08,2 19c4: 4c 9d e7 01 19c8: 3c 03 00 80 nop nop 19cc: ff 02 00 00 19d0: 40 00 02 10 nop iaddiu vi02,vi00,0x40 19d4: ff 02 00 00 19d8: 3c 03 00 80 mulq.xyzw vf22xyzw,vf22xyzw,q nop 19dc: 9c b5 e0 01 19e0: 3c 03 00 80 mulq.xyzw vf21xyzw,vf21xyzw,q nop 19e4: 5c ad e0 01 19e8: 02 10 01 50 nop ibeq vi01,vi02,0x1a00 19ec: ff 02 00 00 19f0: c0 00 02 10 nop iaddiu vi02,vi00,0xc0 19f4: ff 02 00 00 19f8: 02 40 08 12 nop isubiu vi08,vi08,2 19fc: ff 02 00 00 1a00: 7d b3 e8 81 nop sqi.xyzw vf22xyzw,(vi08++) 1a04: ff 02 00 00 1a08: 7d ab e8 81 nop sqi.xyzw vf21xyzw,(vi08++) 1a0c: ff 02 00 00 1a10: ec 27 03 52 addx.xyzw vf18xyzw,vf08xyzw,vf00x ibne vi03,vi04,0x1978 1a14: 80 44 e0 01 1a18: 3c 9b f1 81 subx.y vf20y,vf06y,vf06x move.xyzw vf17xyzw,vf19xyzw 1a1c: 04 35 86 00 1a20: fe 47 f0 01 nop lq.xyzw vf16xyzw,-2(vi08) 1a24: ff 02 00 00 1a28: 85 20 08 50 nop ibeq vi08,vi04,0x1e58 1a2c: ff 02 00 00 1a30: 3c 03 00 80 nop nop 1a34: ff 02 00 00 1a38: c3 30 0c 24 addaw.y accy,vf00y,vf18w fcand vi01,0xc30c3 1a3c: 3f 00 92 00 1a40: 3b 00 01 50 maddx.y vf06y,vf26y,vf18x ibeq vi01,vi00,0x1c20 1a44: 88 d1 92 00 1a48: 7d df f7 26 addaw.x accx,vf00x,vf16w fcor vi01,0xf7df7d 1a4c: 3f 00 10 01 1a50: 80 00 01 52 maddx.x vf06x,vf26x,vf16x ibne vi01,vi00,0x1e58 1a54: 88 d1 10 01 1a58: 82 20 08 24 nop fcand vi01,0x82082 1a5c: ff 02 00 00 1a60: 1a 00 01 50 nop ibeq vi01,vi00,0x1b38 1a64: ff 02 00 00 1a68: ff 47 f1 01 nop lq.xyzw vf17xyzw,-1(vi08) 1a6c: ff 02 00 00 1a70: 00 40 04 10 subx.y vf20y,vf06y,vf06x iaddiu vi04,vi08,0 1a74: 04 35 86 00 1a78: 02 18 e8 01 add.xy vf07xy,vf06xy,vf00xy lq.xyzw vf08xyzw,2(vi03) 1a7c: e8 31 80 01 1a80: 01 18 f3 01 addx.xyzw vf22xyzw,vf16xyzw,vf00x lq.xyzw vf19xyzw,1(vi03) 1a84: 80 85 e0 01 1a88: 02 18 03 10 addx.xyzw vf16xyzw,vf18xyzw,vf00x iaddiu vi03,vi03,2 1a8c: 00 94 e0 01 1a90: bc 03 f4 80 addy.x vf06x,vf00x,vf06y div q,vf00w,vf00x 1a94: 81 01 06 01 1a98: 00 10 01 34 addaw.y accy,vf00y,vf08w fmand vi01,vi02 1a9c: 3f 00 88 00 1aa0: 00 b0 e8 03 maddx.y vf06y,vf26y,vf08x sq.xyzw vf22xyzw,0(vi08) 1aa4: 88 d1 88 00 1aa8: 0c 10 01 50 mulay.xyzw accxyzw,vf22xyzw,vf07y ibeq vi01,vi02,0x1b10 1aac: bd b1 e7 01 1ab0: 01 88 e8 03 msubx.xyzw vf22xyzw,vf16xyzw,vf07x sq.xyzw vf17xyzw,1(vi08) 1ab4: 8c 85 e7 01 1ab8: 0a 00 01 50 mulay.xyzw accxyzw,vf17xyzw,vf07y ibeq vi01,vi00,0x1b10 1abc: bd 89 e7 01 1ac0: 02 40 08 10 msubx.xyzw vf21xyzw,vf19xyzw,vf07x iaddiu vi08,vi08,2 1ac4: 4c 9d e7 01 1ac8: 3c 03 00 80 nop nop 1acc: ff 02 00 00 1ad0: 40 00 02 10 nop iaddiu vi02,vi00,0x40 1ad4: ff 02 00 00 1ad8: 3c 03 00 80 mulq.xyzw vf22xyzw,vf22xyzw,q nop 1adc: 9c b5 e0 01 1ae0: 3c 03 00 80 mulq.xyzw vf21xyzw,vf21xyzw,q nop 1ae4: 5c ad e0 01 1ae8: 02 10 01 50 nop ibeq vi01,vi02,0x1b00 1aec: ff 02 00 00 1af0: c0 00 02 10 nop iaddiu vi02,vi00,0xc0 1af4: ff 02 00 00 1af8: 02 40 08 12 nop isubiu vi08,vi08,2 1afc: ff 02 00 00 1b00: 7d b3 e8 81 nop sqi.xyzw vf22xyzw,(vi08++) 1b04: ff 02 00 00 1b08: 7d ab e8 81 nop sqi.xyzw vf21xyzw,(vi08++) 1b0c: ff 02 00 00 1b10: ec 27 03 52 addx.xyzw vf18xyzw,vf08xyzw,vf00x ibne vi03,vi04,0x1a78 1b14: 80 44 e0 01 1b18: 3c 9b f1 81 subx.y vf20y,vf06y,vf06x move.xyzw vf17xyzw,vf19xyzw 1b1c: 04 35 86 00 1b20: fe 47 f0 01 nop lq.xyzw vf16xyzw,-2(vi08) 1b24: ff 02 00 00 1b28: 65 20 08 50 nop ibeq vi08,vi04,0x1e58 1b2c: ff 02 00 00 1b30: 3c 03 00 80 nop nop 1b34: ff 02 00 00 1b38: 41 10 04 24 addaw.y accy,vf00y,vf18w fcand vi01,0x41041 1b3c: 3f 00 92 00 1b40: 1b 00 01 50 msubx.y vf06y,vf26y,vf18x ibeq vi01,vi00,0x1c20 1b44: 8c d1 92 00 1b48: be ef fb 26 addaw.x accx,vf00x,vf16w fcor vi01,0xfbefbe 1b4c: 3f 00 10 01 1b50: 60 00 01 52 msubx.x vf06x,vf26x,vf16x ibne vi01,vi00,0x1e58 1b54: 8c d1 10 01 1b58: 41 10 04 24 nop fcand vi01,0x41041 1b5c: ff 02 00 00 1b60: 17 00 01 50 nop ibeq vi01,vi00,0x1c20 1b64: ff 02 00 00 1b68: ff 47 f1 01 nop lq.xyzw vf17xyzw,-1(vi08) 1b6c: ff 02 00 00 1b70: 00 40 04 10 subx.y vf20y,vf06y,vf06x iaddiu vi04,vi08,0 1b74: 04 35 86 00 1b78: 02 18 e8 01 add.xy vf07xy,vf06xy,vf00xy lq.xyzw vf08xyzw,2(vi03) 1b7c: e8 31 80 01 1b80: 01 18 f3 01 addx.xyzw vf22xyzw,vf16xyzw,vf00x lq.xyzw vf19xyzw,1(vi03) 1b84: 80 85 e0 01 1b88: 02 18 03 10 addx.xyzw vf16xyzw,vf18xyzw,vf00x iaddiu vi03,vi03,2 1b8c: 00 94 e0 01 1b90: bc 03 f4 80 addy.x vf06x,vf00x,vf06y div q,vf00w,vf00x 1b94: 81 01 06 01 1b98: 00 10 01 34 addaw.y accy,vf00y,vf08w fmand vi01,vi02 1b9c: 3f 00 88 00 1ba0: 00 b0 e8 03 msubx.y vf06y,vf26y,vf08x sq.xyzw vf22xyzw,0(vi08) 1ba4: 8c d1 88 00 1ba8: 0c 10 01 50 mulay.xyzw accxyzw,vf22xyzw,vf07y ibeq vi01,vi02,0x1c10 1bac: bd b1 e7 01 1bb0: 01 88 e8 03 msubx.xyzw vf22xyzw,vf16xyzw,vf07x sq.xyzw vf17xyzw,1(vi08) 1bb4: 8c 85 e7 01 1bb8: 0a 00 01 50 mulay.xyzw accxyzw,vf17xyzw,vf07y ibeq vi01,vi00,0x1c10 1bbc: bd 89 e7 01 1bc0: 02 40 08 10 msubx.xyzw vf21xyzw,vf19xyzw,vf07x iaddiu vi08,vi08,2 1bc4: 4c 9d e7 01 1bc8: 3c 03 00 80 nop nop 1bcc: ff 02 00 00 1bd0: 40 00 02 10 nop iaddiu vi02,vi00,0x40 1bd4: ff 02 00 00 1bd8: 3c 03 00 80 mulq.xyzw vf22xyzw,vf22xyzw,q nop 1bdc: 9c b5 e0 01 1be0: 3c 03 00 80 mulq.xyzw vf21xyzw,vf21xyzw,q nop 1be4: 5c ad e0 01 1be8: 02 10 01 50 nop ibeq vi01,vi02,0x1c00 1bec: ff 02 00 00 1bf0: c0 00 02 10 nop iaddiu vi02,vi00,0xc0 1bf4: ff 02 00 00 1bf8: 02 40 08 12 nop isubiu vi08,vi08,2 1bfc: ff 02 00 00 1c00: 7d b3 e8 81 nop sqi.xyzw vf22xyzw,(vi08++) 1c04: ff 02 00 00 1c08: 7d ab e8 81 nop sqi.xyzw vf21xyzw,(vi08++) 1c0c: ff 02 00 00 1c10: ec 27 03 52 addx.xyzw vf18xyzw,vf08xyzw,vf00x ibne vi03,vi04,0x1b78 1c14: 80 44 e0 01 1c18: 3c 9b f1 81 subx.y vf20y,vf06y,vf06x move.xyzw vf17xyzw,vf19xyzw 1c1c: 04 35 86 00 1c20: 00 e0 ff 44 nop[i] loi 2047 1c24: ff 02 00 80 1c28: 45 20 08 50 addi.w vf01w,vf00w,i ibeq vi08,vi04,0x1e58 1c2c: 62 00 20 00 1c30: 3c 03 00 80 nop nop 1c34: ff 02 00 00 1c38: f9 5f e8 01 nop lq.xyzw vf08xyzw,-7(vi11) 1c3c: ff 02 00 00 1c40: 7c 23 a3 81 nop lqi.xyw vf03xyw,(vi04++) 1c44: ff 02 00 00 1c48: 7c 23 f5 80 nop lqi.yzw vf21yzw,(vi04++) 1c4c: ff 02 00 00 1c50: fa 5f ec 01 nop lq.xyzw vf12xyzw,-6(vi11) 1c54: ff 02 00 00 1c58: fd 5f e9 01 nop lq.xyzw vf09xyzw,-3(vi11) 1c5c: ff 02 00 00 1c60: fe 5f ed 01 nop lq.xyzw vf13xyzw,-2(vi11) 1c64: ff 02 00 00 1c68: fb 5f d1 01 nop lq.xyz vf17xyz,-5(vi11) 1c6c: ff 02 00 00 1c70: 01 58 ea 01 max.z vf06z,vf31z,vf31z lq.xyzw vf10xyzw,1(vi11) 1c74: ab f9 5f 00 1c78: 02 58 ee 01 max.z vf03z,vf31z,vf31z lq.xyzw vf14xyzw,2(vi11) 1c7c: eb f8 5f 00 1c80: ff 5f d2 01 mulay.xyzw accxyzw,vf08xyzw,vf21y lq.xyz vf18xyz,-1(vi11) 1c84: bd 41 f5 01 1c88: 7e 43 f4 80 maddaz.xyzw accxyzw,vf09xyzw,vf21z lqd.yzw vf20yzw,(--vi08) 1c8c: be 48 f5 01 1c90: 03 58 d3 01 maddw.xyzw vf11xyzw,vf10xyzw,vf21w lq.xyz vf19xyz,3(vi11) 1c94: cb 52 f5 01 1c98: 7e 43 a6 81 mulay.xyzw accxyzw,vf12xyzw,vf21y lqd.xyw vf06xyw,(--vi08) 1c9c: bd 61 f5 01 1ca0: 00 58 27 00 maddaz.xyzw accxyzw,vf13xyzw,vf21z lq.w vf07w,0(vi11) 1ca4: be 68 f5 01 1ca8: 04 38 07 10 maddw.xyzw vf16xyzw,vf14xyzw,vf21w iaddiu vi07,vi07,4 1cac: 0b 74 f5 01 1cb0: ff 0f 27 02 mulay.xyz accxyz,vf17xyz,vf21y sq.w vf01w,-1(vi07) 1cb4: bd 89 d5 01 1cb8: fc 1f e7 03 maddaz.xyz accxyz,vf18xyz,vf21z sq.xyzw vf03xyzw,-4(vi07) 1cbc: be 90 d5 01 1cc0: 71 40 04 80 maddw.xyz vf07xyz,vf19xyz,vf21w isub vi01,vi08,vi04 1cc4: cb 99 d5 01 1cc8: 7d 1b e7 81 mulay.xyzw accxyzw,vf08xyzw,vf20y sqi.xyzw vf03xyzw,(vi07++) 1ccc: bd 41 f4 01 1cd0: 7c 23 a3 81 maddaz.xyzw accxyzw,vf09xyzw,vf20z lqi.xyw vf03xyw,(vi04++) 1cd4: be 48 f4 01 1cd8: 7d 5b e7 81 maddw.xyzw vf11xyzw,vf10xyzw,vf20w sqi.xyzw vf11xyzw,(vi07++) 1cdc: cb 52 f4 01 1ce0: 7d 83 e7 81 mulay.xyzw accxyzw,vf12xyzw,vf20y sqi.xyzw vf16xyzw,(vi07++) 1ce4: bd 61 f4 01 1ce8: 7c 23 f5 81 maddaz.xyzw accxyzw,vf13xyzw,vf20z lqi.xyzw vf21xyzw,(vi04++) 1cec: be 68 f4 01 1cf0: 7d 3b e7 81 maddw.xyzw vf16xyzw,vf14xyzw,vf20w sqi.xyzw vf07xyzw,(vi07++) 1cf4: 0b 74 f4 01 1cf8: 0b 08 00 58 mulay.xyz accxyz,vf17xyz,vf20y ibltz vi01,0x1d58 1cfc: bd 89 d4 01 1d00: 01 48 09 10 maddaz.xyz accxyz,vf18xyz,vf20z iaddiu vi09,vi09,1 1d04: be 90 d4 01 1d08: 71 40 04 80 maddw.xyz vf07xyz,vf19xyz,vf20w isub vi01,vi08,vi04 1d0c: cb 99 d4 01 1d10: 7d 33 e7 81 mulay.xyzw accxyzw,vf08xyzw,vf21y sqi.xyzw vf06xyzw,(vi07++) 1d14: bd 41 f5 01 1d18: 7e 43 f4 81 maddaz.xyzw accxyzw,vf09xyzw,vf21z lqd.xyzw vf20xyzw,(--vi08) 1d1c: be 48 f5 01 1d20: 7d 5b e7 81 maddw.xyzw vf11xyzw,vf10xyzw,vf21w sqi.xyzw vf11xyzw,(vi07++) 1d24: cb 52 f5 01 1d28: 7d 83 e7 81 mulay.xyzw accxyzw,vf12xyzw,vf21y sqi.xyzw vf16xyzw,(vi07++) 1d2c: bd 61 f5 01 1d30: 7e 43 a6 81 maddaz.xyzw accxyzw,vf13xyzw,vf21z lqd.xyw vf06xyw,(--vi08) 1d34: be 68 f5 01 1d38: 7d 3b e7 81 maddw.xyzw vf16xyzw,vf14xyzw,vf21w sqi.xyzw vf07xyzw,(vi07++) 1d3c: 0b 74 f5 01 1d40: 01 48 09 10 mulay.xyz accxyz,vf17xyz,vf21y iaddiu vi09,vi09,1 1d44: bd 89 d5 01 1d48: ef 0f 00 5e maddaz.xyz accxyz,vf18xyz,vf21z ibgez vi01,0x1cc8 1d4c: be 90 d5 01 1d50: 71 40 04 80 maddw.xyz vf07xyz,vf19xyz,vf21w isub vi01,vi08,vi04 1d54: cb 99 d5 01 1d58: 1f 00 00 40 nop b 0x1e58 1d5c: ff 02 00 00 1d60: 01 48 09 10 nop iaddiu vi09,vi09,1 1d64: ff 02 00 00 1d68: 00 e0 ff 44 nop[i] loi 2047 1d6c: ff 02 00 80 1d70: 12 00 05 50 nop ibeq vi05,vi00,0x1e08 1d74: ff 02 00 00 1d78: 01 48 09 10 addi.w vf01w,vf00w,i iaddiu vi09,vi09,1 1d7c: 62 00 20 00 1d80: f9 5f ea 01 nop lq.xyzw vf10xyzw,-7(vi11) 1d84: ff 02 00 00 1d88: fa 5f e9 01 nop lq.xyzw vf09xyzw,-6(vi11) 1d8c: ff 02 00 00 1d90: fd 5f e7 01 nop lq.xyzw vf07xyzw,-3(vi11) 1d94: ff 02 00 00 1d98: fe 5f e6 01 nop lq.xyzw vf06xyzw,-2(vi11) 1d9c: ff 02 00 00 1da0: fb 5f cb 01 nop lq.xyz vf11xyz,-5(vi11) 1da4: ff 02 00 00 1da8: ff 5f c8 01 max.w vf11w,vf01w,vf01w lq.xyz vf08xyz,-1(vi11) 1dac: eb 0a 21 00 1db0: 00 18 e7 03 nop sq.xyzw vf03xyzw,0(vi07) 1db4: ff 02 00 00 1db8: 01 50 e7 03 nop sq.xyzw vf10xyzw,1(vi07) 1dbc: ff 02 00 00 1dc0: 02 48 e7 03 nop sq.xyzw vf09xyzw,2(vi07) 1dc4: ff 02 00 00 1dc8: 03 58 e7 03 max.w vf08w,vf01w,vf01w sq.xyzw vf11xyzw,3(vi07) 1dcc: 2b 0a 21 00 1dd0: 04 20 e7 03 nop sq.xyzw vf04xyzw,4(vi07) 1dd4: ff 02 00 00 1dd8: 05 38 e7 03 nop sq.xyzw vf07xyzw,5(vi07) 1ddc: ff 02 00 00 1de0: 06 30 e7 03 nop sq.xyzw vf06xyzw,6(vi07) 1de4: ff 02 00 00 1de8: 07 40 e7 03 nop sq.xyzw vf08xyzw,7(vi07) 1dec: ff 02 00 00 1df0: 08 38 07 10 nop iaddiu vi07,vi07,8 1df4: ff 02 00 00 1df8: 02 48 09 10 nop iaddiu vi09,vi09,2 1dfc: ff 02 00 00 1e00: 00 00 05 10 nop iaddiu vi05,vi00,0 1e04: ff 02 00 00 1e08: 00 58 21 00 nop lq.w vf01w,0(vi11) 1e0c: ff 02 00 00 1e10: 01 58 e7 01 nop lq.xyzw vf07xyzw,1(vi11) 1e14: ff 02 00 00 1e18: 02 58 e6 01 nop lq.xyzw vf06xyzw,2(vi11) 1e1c: ff 02 00 00 1e20: 03 58 c3 01 nop lq.xyz vf03xyz,3(vi11) 1e24: ff 02 00 00 1e28: 00 28 e7 03 nop sq.xyzw vf05xyzw,0(vi07) 1e2c: ff 02 00 00 1e30: 01 38 e7 03 itof4.w vf03w,vf01w sq.xyzw vf07xyzw,1(vi07) 1e34: 3d 09 23 00 1e38: 02 30 e7 03 nop sq.xyzw vf06xyzw,2(vi07) 1e3c: ff 02 00 00 1e40: 04 38 07 10 nop iaddiu vi07,vi07,4 1e44: ff 02 00 00 1e48: 02 00 00 40 nop b 0x1e60 1e4c: ff 02 00 00 1e50: ff 1f e7 03 mulw.z vf25z,vf24z,vf15w sq.xyzw vf03xyzw,-1(vi07) 1e54: 5b c6 4f 00 1e58: 01 00 05 10 mulw.z vf25z,vf24z,vf15w iaddiu vi05,vi00,1 1e5c: 5b c6 4f 00 1e60: 8d 3b 01 12 addx.xyzw vf03xyzw,vf04xyzw,vf00x isubiu vi01,vi07,0x38d 1e64: c0 20 e0 01 1e68: 04 58 0b 10 addx.xyzw vf04xyzw,vf05xyzw,vf00x iaddiu vi11,vi11,4 1e6c: 00 29 e0 01 1e70: 03 08 00 5e mul.xy vf25xy,vf15xy,vf24xy ibgez vi01,0x1e90 1e74: 6a 7e 98 01 1e78: 04 58 ef 01 addx.xyzw vf05xyzw,vf15xyzw,vf00x lq.xyzw vf15xyzw,4(vi11) 1e7c: 40 79 e0 01 1e80: ed 56 0b 52 add.z vf25z,vf25z,vf26z ibne vi11,vi10,0x15f0 1e84: 68 ce 5a 00 1e88: 3c 23 f2 81 clipw.xyz vf00xyz,vf00w move.xyzw vf18xyzw,vf04xyzw 1e8c: ff 01 c0 01 1e90: f0 01 07 80 nop iadd vi07,vi00,vi07 1e94: ff 02 00 00 1e98: 03 48 05 12 nop isubiu vi05,vi09,3 1e9c: ff 02 00 00 1ea0: fa 03 e1 00 nop lq.yzw vf01yzw,1018(vi00) 1ea4: ff 02 00 00 1ea8: bb 29 00 58 nop ibltz vi05,0x2c88 1eac: ff 02 00 00 1eb0: 19 03 01 10 nop iaddiu vi01,vi00,0x319 1eb4: ff 02 00 00 1eb8: bd 01 08 42 nop bal vi08,0x2ca8 1ebc: ff 02 00 00 1ec0: f0 03 0c 80 nop iadd vi15,vi00,vi12 1ec4: ff 02 00 00 1ec8: c9 03 22 08 nop ilw.w vi02,969(vi00)w 1ecc: ff 02 00 00 1ed0: 30 03 0d 80 nop iadd vi12,vi00,vi13 1ed4: ff 02 00 00 1ed8: 70 03 0e 80 nop iadd vi13,vi00,vi14 1edc: ff 02 00 00 1ee0: 02 02 08 42 nop bal vi08,L40[0x2ef8] 1ee4: ff 02 00 00 1ee8: b0 03 0f 80 nop iadd vi14,vi00,vi15 1eec: ff 02 00 00 1ef0: b2 51 0b 50 nop ibeq vi11,vi10,0x2c88 1ef4: ff 02 00 00 1ef8: 3c 03 00 80 nop nop 1efc: ff 02 00 00 1f00: c3 06 00 40 nop b 0x1520 1f04: ff 02 00 00 1f08: 08 58 0b 12 nop isubiu vi11,vi11,8 1f0c: ff 02 00 00 ;;; L23:1f10: fd 03 c1 00 nop lq.yz vf01yz,1021(vi00) 1f14: ff 02 00 00 1f18: 00 e0 ff 44 nop[i] loi 2047 1f1c: ff 02 00 80 1f20: 00 58 c8 01 nop lq.xyz vf08xyz,0(vi11) 1f24: ff 02 00 00 1f28: 01 58 ea 01 nop lq.xyzw vf10xyzw,1(vi11) 1f2c: ff 02 00 00 1f30: 02 58 e5 01 mulaw.xyzw accxyzw,vf31xyzw,vf00w lq.xyzw vf05xyzw,2(vi11) 1f34: bf f9 e0 01 1f38: fe 03 c3 00 addi.w vf04w,vf00w,i lq.yz vf03yz,1022(vi00) 1f3c: 22 01 20 00 1f40: 04 58 c4 01 maddax.xyw accxyw,vf28xyw,vf08x lq.xyz vf04xyz,4(vi11) 1f44: bc e0 a8 01 1f48: 05 58 e9 01 madday.xyw accxyw,vf29xyw,vf08y lq.xyzw vf09xyzw,5(vi11) 1f4c: bd e8 a8 01 1f50: 06 58 e8 01 maddz.xyzw vf07xyzw,vf30xyzw,vf08z lq.xyzw vf08xyzw,6(vi11) 1f54: ca f1 e8 01 1f58: 3d 0b 03 81 mulaw.xyzw accxyzw,vf31xyzw,vf00w mr32.x vf03x,vf01x 1f5c: bf f9 e0 01 1f60: 08 58 ce 01 maddax.xyw accxyw,vf28xyw,vf04x lq.xyz vf14xyz,8(vi11) 1f64: bc e0 a4 01 1f68: 03 58 cd 01 madday.xyw accxyw,vf29xyw,vf04y lq.xyz vf13xyz,3(vi11) 1f6c: bd e8 a4 01 1f70: 00 00 09 10 itof4.w vf13w,vf04w iaddiu vi09,vi00,0 1f74: 3d 21 2d 00 1f78: 07 58 cc 01 maddz.xyzw vf11xyzw,vf30xyzw,vf04z lq.xyz vf12xyz,7(vi11) 1f7c: ca f2 e4 01 1f80: 19 03 07 10 mulaw.xyzw accxyzw,vf31xyzw,vf00w iaddiu vi07,vi00,0x319 1f84: bf f9 e0 01 1f88: 00 00 00 22 mul.xy vf04xy,vf07xy,vf03xy fcset 0 1f8c: 2a 39 83 01 1f90: 0c 58 c6 01 itof4.w vf12w,vf04w lq.xyz vf06xyz,12(vi11) 1f94: 3d 21 2c 00 1f98: 08 58 0b 10 maddax.xyw accxyw,vf28xyw,vf14x iaddiu vi11,vi11,8 1f9c: bc e0 ae 01 1fa0: 00 38 e7 03 mul.xy vf15xy,vf11xy,vf03xy sq.xyzw vf07xyzw,0(vi07) 1fa4: ea 5b 83 01 1fa8: 01 50 e7 03 madday.xyw accxyw,vf29xyw,vf14y sq.xyzw vf10xyzw,1(vi07) 1fac: bd e8 ae 01 1fb0: 02 28 e7 03 maddz.xyzw vf05xyzw,vf30xyzw,vf14z sq.xyzw vf05xyzw,2(vi07) 1fb4: 4a f1 ee 01 1fb8: 03 68 e7 03 adda.z accz,vf00z,vf01z sq.xyzw vf13xyzw,3(vi07) 1fbc: bc 02 41 00 1fc0: 04 58 e7 03 maddw.z vf04z,vf03z,vf07w sq.xyzw vf11xyzw,4(vi07) 1fc4: 0b 19 47 00 1fc8: 05 48 e7 03 maddw.z vf15z,vf03z,vf11w sq.xyzw vf09xyzw,5(vi07) 1fcc: cb 1b 4b 00 1fd0: 06 40 e7 03 mul.xy vf07xy,vf05xy,vf03xy sq.xyzw vf08xyzw,6(vi07) 1fd4: ea 29 83 01 1fd8: 07 60 e7 03 maddw.z vf07z,vf03z,vf05w sq.xyzw vf12xyzw,7(vi07) 1fdc: cb 19 45 00 1fe0: 08 38 07 10 clipw.xyz vf04xyz,vf07w iaddiu vi07,vi07,8 1fe4: ff 21 c7 01 1fe8: 02 48 09 10 clipw.xyz vf15xyz,vf11w iaddiu vi09,vi09,2 1fec: ff 79 cb 01 1ff0: 00 58 21 00 mulaw.xyzw accxyzw,vf31xyzw,vf00w lq.w vf01w,0(vi11) 1ff4: bf f9 e0 01 1ff8: 01 58 e8 01 clipw.xyz vf07xyz,vf05w lq.xyzw vf08xyzw,1(vi11) 1ffc: ff 39 c5 01 2000: 02 58 e9 01 maddax.xyw accxyw,vf28xyw,vf06x lq.xyzw vf09xyzw,2(vi11) 2004: bc e0 a6 01 2008: 03 58 ca 01 madday.xyw accxyw,vf29xyw,vf06y lq.xyz vf10xyz,3(vi11) 200c: bd e8 a6 01 2010: 04 58 0b 10 maddz.xyzw vf11xyzw,vf30xyzw,vf06z iaddiu vi11,vi11,4 2014: ca f2 e6 01 2018: ff ff 03 24 nop fcand vi01,0x3ffff 201c: ff 02 00 00 2020: 04 00 01 52 nop ibne vi01,vi00,0x2048 2024: ff 02 00 00 2028: 00 28 e7 03 nop sq.xyzw vf05xyzw,0(vi07) 202c: ff 02 00 00 2030: 02 48 e7 03 itof4.w vf10w,vf01w sq.xyzw vf09xyzw,2(vi07) 2034: 3d 09 2a 00 2038: 04 00 00 40 mul.xy vf07xy,vf11xy,vf03xy b 0x2060 203c: ea 59 83 01 2040: 01 40 e7 03 mulw.z vf04z,vf03z,vf11w sq.xyzw vf08xyzw,1(vi07) 2044: 1b 19 4b 00 2048: 3c 23 2a 80 nop move.w vf10w,vf04w 204c: ff 02 00 00 2050: 02 48 e7 03 mulw.z vf04z,vf03z,vf11w sq.xyzw vf09xyzw,2(vi07) 2054: 1b 19 4b 00 2058: 01 40 e7 03 mul.xy vf07xy,vf11xy,vf03xy sq.xyzw vf08xyzw,1(vi07) 205c: ea 59 83 01 2060: 04 38 07 10 nop iaddiu vi07,vi07,4 2064: ff 02 00 00 2068: 8d 3b 01 12 nop isubiu vi01,vi07,0x38d 206c: ff 02 00 00 2070: ff 57 e7 03 nop sq.xyzw vf10xyzw,-1(vi07) 2074: ff 02 00 00 2078: 04 08 00 5e nop ibgez vi01,0x20a0 207c: ff 02 00 00 2080: 01 48 09 10 nop iaddiu vi09,vi09,1 2084: ff 02 00 00 2088: 04 58 c6 01 max.xyzw vf05xyzw,vf11xyzw,vf11xyzw lq.xyz vf06xyz,4(vi11) 208c: 6b 59 eb 01 2090: eb 57 0b 52 add.z vf07z,vf04z,vf01z ibne vi11,vi10,0x1ff0 2094: e8 21 41 00 2098: 3c 03 00 80 nop nop 209c: ff 02 00 00 20a0: 03 48 05 12 nop isubiu vi05,vi09,3 20a4: ff 02 00 00 20a8: fa 03 e1 00 nop lq.yzw vf01yzw,1018(vi00) 20ac: ff 02 00 00 20b0: 7a 29 00 58 nop ibltz vi05,0x2c88 20b4: ff 02 00 00 20b8: 19 03 01 10 nop iaddiu vi01,vi00,0x319 20bc: ff 02 00 00 20c0: 7c 01 08 42 nop bal vi08,0x2ca8 20c4: ff 02 00 00 20c8: f0 03 0c 80 nop iadd vi15,vi00,vi12 20cc: ff 02 00 00 20d0: c9 03 22 08 nop ilw.w vi02,969(vi00)w 20d4: ff 02 00 00 20d8: 30 03 0d 80 nop iadd vi12,vi00,vi13 20dc: ff 02 00 00 20e0: 70 03 0e 80 nop iadd vi13,vi00,vi14 20e4: ff 02 00 00 20e8: c1 01 08 42 nop bal vi08,L40[0x2ef8] 20ec: ff 02 00 00 20f0: b0 03 0f 80 nop iadd vi14,vi00,vi15 20f4: ff 02 00 00 20f8: 71 51 0b 50 nop ibeq vi11,vi10,0x2c88 20fc: ff 02 00 00 2100: 3c 03 00 80 nop nop 2104: ff 02 00 00 2108: c0 07 00 40 nop b 0x1f10 210c: ff 02 00 00 2110: 08 58 0b 12 nop isubiu vi11,vi11,8 2114: ff 02 00 00 ;;; L24:2118: 00 00 00 22 nop fcset 0 211c: ff 02 00 00 2120: 00 00 04 10 nop iaddiu vi04,vi00,0 2124: ff 02 00 00 2128: fd 03 fa 01 sub.xzw vf17xzw,vf00xzw,vf00xzw lq.xyzw vf26xyzw,1021(vi00) 212c: 6c 04 60 01 2130: 00 58 e3 01 addw.y vf17y,vf00y,vf00w lq.xyzw vf03xyzw,0(vi11) 2134: 43 04 80 00 2138: fe 03 fb 01 addw.z vf19z,vf00z,vf00w lq.xyzw vf27xyzw,1022(vi00) 213c: c3 04 40 00 2140: 04 58 e4 01 sub.xyw vf19xyw,vf00xyw,vf00xyw lq.xyzw vf04xyzw,4(vi11) 2144: ec 04 a0 01 2148: 3d d3 1a 81 mulaw.xyzw accxyzw,vf31xyzw,vf00w mr32.x vf26x,vf26x 214c: bf f9 e0 01 2150: 3d d3 18 81 maddax.xyw accxyw,vf28xyw,vf03x mr32.x vf24x,vf26x 2154: bc e0 a3 01 2158: 03 00 ee 03 madday.xyw accxyw,vf29xyw,vf03y sq.xyzw vf00xyzw,3(vi14) 215c: bd e8 a3 01 2160: 05 88 ee 03 maddz.xyzw vf03xyzw,vf30xyzw,vf03z sq.xyzw vf17xyzw,5(vi14) 2164: ca f0 e3 01 2168: 01 98 ee 03 mulaw.xyzw accxyzw,vf31xyzw,vf00w sq.xyzw vf19xyzw,1(vi14) 216c: bf f9 e0 01 2170: 00 00 09 10 maddax.xyw accxyw,vf28xyw,vf04x iaddiu vi09,vi00,0 2174: bc e0 a4 01 2178: 08 58 e5 01 madday.xyw accxyw,vf29xyw,vf04y lq.xyzw vf05xyzw,8(vi11) 217c: bd e8 a4 01 2180: c0 00 02 10 maddz.xyzw vf18xyzw,vf30xyzw,vf04z iaddiu vi02,vi00,0xc0 2184: 8a f4 e4 01 2188: 19 03 05 10 maddz.xyzw vf04xyzw,vf30xyzw,vf04z iaddiu vi05,vi00,0x319 218c: 0a f1 e4 01 2190: 04 18 ee 03 addx.xyzw vf16xyzw,vf03xyzw,vf00x sq.xyzw vf03xyzw,4(vi14) 2194: 00 1c e0 01 2198: 3d db 1b 81 addx.yz vf24yz,vf27yz,vf00x mr32.x vf27x,vf27x 219c: 00 de c0 00 21a0: 01 58 e1 01 mulaw.xyzw accxyzw,vf31xyzw,vf00w lq.xyzw vf01xyzw,1(vi11) 21a4: bf f9 e0 01 21a8: 05 58 e6 01 maddax.xyw accxyw,vf28xyw,vf05x lq.xyzw vf06xyzw,5(vi11) 21ac: bc e0 a5 01 21b0: 09 58 e7 01 madday.xyw accxyw,vf29xyw,vf05y lq.xyzw vf07xyzw,9(vi11) 21b4: bd e8 a5 01 21b8: 00 20 ee 03 maddz.xyzw vf05xyzw,vf30xyzw,vf05z sq.xyzw vf04xyzw,0(vi14) 21bc: 4a f1 e5 01 21c0: 01 08 e5 03 adda.z accz,vf00z,vf26z sq.xyzw vf01xyzw,1(vi05) 21c4: bc 02 5a 00 21c8: 05 30 e5 03 mul.xy vf21xy,vf03xy,vf24xy sq.xyzw vf06xyzw,5(vi05) 21cc: 6a 1d 98 01 21d0: 09 38 e5 03 maddw.z vf21z,vf24z,vf03w sq.xyzw vf07xyzw,9(vi05) 21d4: 4b c5 43 00 21d8: 02 28 ee 03 mul.xy vf22xy,vf04xy,vf24xy sq.xyzw vf05xyzw,2(vi14) 21dc: aa 25 98 01 21e0: 02 58 e8 01 maddw.z vf22z,vf24z,vf04w lq.xyzw vf08xyzw,2(vi11) 21e4: 8b c5 44 00 21e8: 06 58 e9 01 mul.xy vf23xy,vf05xy,vf24xy lq.xyzw vf09xyzw,6(vi11) 21ec: ea 2d 98 01 21f0: 0a 58 ea 01 maddw.z vf23z,vf24z,vf05w lq.xyzw vf10xyzw,10(vi11) 21f4: cb c5 45 00 21f8: 0c 58 e3 01 clipw.xyz vf00xyz,vf00w lq.xyzw vf03xyzw,12(vi11) 21fc: ff 01 c0 01 2200: 02 40 e5 03 clipw.xyz vf21xyz,vf16w sq.xyzw vf08xyzw,2(vi05) 2204: ff a9 d0 01 2208: 06 48 e5 03 clipw.xyz vf22xyz,vf18w sq.xyzw vf09xyzw,6(vi05) 220c: ff b1 d2 01 2210: 0a 50 e5 03 clipw.xyz vf23xyz,vf05w sq.xyzw vf10xyzw,10(vi05) 2214: ff b9 c5 01 2218: 08 58 21 08 nop ilw.w vi01,8(vi11)w 221c: ff 02 00 00 2220: 10 58 e4 01 mulaw.xyzw accxyzw,vf31xyzw,vf00w lq.xyzw vf04xyzw,16(vi11) 2224: bf f9 e0 01 2228: 06 70 08 10 maddax.xyw accxyw,vf28xyw,vf03x iaddiu vi08,vi14,6 222c: bc e0 a3 01 2230: 00 70 03 10 madday.xyw accxyw,vf29xyw,vf03y iaddiu vi03,vi14,0 2234: bd e8 a3 01 2238: f4 00 01 52 maddz.xyzw vf03xyzw,vf30xyzw,vf03z ibne vi01,vi00,0x29e0 223c: ca f0 e3 01 2240: ff ff ff 24 nop fcand vi01,0xffffff 2244: ff 02 00 00 2248: e7 00 01 50 addw.y vf20y,vf00y,vf00w ibeq vi01,vi00,0x2988 224c: 03 05 80 00 2250: df f7 7d 26 addw.x vf12x,vf00x,vf16w fcor vi01,0x7df7df 2254: 03 03 10 01 2258: f0 00 01 52 addw.y vf12y,vf00y,vf18w ibne vi01,vi00,0x29e0 225c: 03 03 92 00 2260: 20 08 82 24 addaw.y accy,vf00y,vf18w fcand vi01,0x820820 2264: 3f 00 92 00 2268: 1c 00 01 50 msubw.y vf20y,vf20y,vf16w ibeq vi01,vi00,0x2350 226c: 0f a5 90 00 2270: ff 47 f1 01 nop lq.xyzw vf17xyzw,-1(vi08) 2274: ff 02 00 00 2278: 00 40 04 10 clipw.xyz vf00xyz,vf00w iaddiu vi04,vi08,0 227c: ff 01 c0 01 2280: 02 18 ee 01 subw.xy vf13xy,vf12xy,vf27w lq.xyzw vf14xyzw,2(vi03) 2284: 47 63 9b 01 2288: 01 18 f3 01 addy.x vf12x,vf00x,vf12y lq.xyzw vf19xyzw,1(vi03) 228c: 01 03 0c 01 2290: 02 18 03 10 mul.xy vf23xy,vf18xy,vf24xy iaddiu vi03,vi03,2 2294: ea 95 98 01 2298: bc 03 f4 80 adda.z accz,vf00z,vf26z div q,vf00w,vf00x 229c: bc 02 5a 00 22a0: 00 10 01 34 addw.y vf12y,vf00y,vf14w fmand vi01,vi02 22a4: 03 03 8e 00 22a8: 10 10 01 50 maddw.z vf23z,vf24z,vf18w ibeq vi01,vi02,0x2330 22ac: cb c5 52 00 22b0: 3c 93 f0 81 mulay.xyw accxyw,vf16xyw,vf13y move.xyzw vf16xyzw,vf18xyzw 22b4: bd 81 ad 01 22b8: 0c 00 01 50 msubx.xyw vf22xyw,vf18xyw,vf13x ibeq vi01,vi00,0x2320 22bc: 8c 95 ad 01 22c0: 3c 03 00 80 mulay.xyzw accxyzw,vf17xyzw,vf13y nop 22c4: bd 89 ed 01 22c8: 3c 03 00 80 msubx.xyzw vf21xyzw,vf19xyzw,vf13x nop 22cc: 4c 9d ed 01 22d0: 3c 03 00 80 nop nop 22d4: ff 02 00 00 22d8: 3c 03 00 80 mulq.xyw vf22xyw,vf22xyw,q nop 22dc: 9c b5 a0 01 22e0: 3c 03 00 80 subw.z vf20z,vf00z,vf27w nop 22e4: 07 05 5b 00 22e8: 40 00 02 10 mulq.xyzw vf21xyzw,vf21xyzw,q iaddiu vi02,vi00,0x40 22ec: 5c ad e0 01 22f0: 3c 03 00 80 nop nop 22f4: ff 02 00 00 22f8: 7d b3 e8 81 mul.xy vf20xy,vf22xy,vf24xy sqi.xyzw vf22xyzw,(vi08++) 22fc: 2a b5 98 01 2300: 3c 03 00 80 nop nop 2304: ff 02 00 00 2308: 7d ab e8 81 nop sqi.xyzw vf21xyzw,(vi08++) 230c: ff 02 00 00 2310: 03 10 01 50 nop ibeq vi01,vi02,0x2330 2314: ff 02 00 00 2318: c0 00 02 10 clipw.xyz vf20xyz,vf22w iaddiu vi02,vi00,0xc0 231c: ff a1 d6 01 2320: 7d 93 e8 81 nop sqi.xyzw vf18xyzw,(vi08++) 2324: ff 02 00 00 2328: 7d 9b e8 81 clipw.xyz vf23xyz,vf18w sqi.xyzw vf19xyzw,(vi08++) 232c: ff b9 d2 01 2330: e9 27 03 52 addx.xyzw vf18xyzw,vf14xyzw,vf00x ibne vi03,vi04,0x2280 2334: 80 74 e0 01 2338: 3c 9b f1 81 subx.y vf20y,vf12y,vf12x move.xyzw vf17xyzw,vf19xyzw 233c: 04 65 8c 00 2340: d3 20 08 50 nop ibeq vi08,vi04,0x29e0 2344: ff 02 00 00 2348: fe 47 f0 01 nop lq.xyzw vf16xyzw,-2(vi08) 234c: ff 02 00 00 2350: df f7 7d 24 nop fcand vi01,0x7df7df 2354: ff 02 00 00 2358: 9a 00 01 50 nop ibeq vi01,vi00,0x2830 235c: ff 02 00 00 2360: ef fb be 26 subw.y vf12y,vf00y,vf18w fcor vi01,0xbefbef 2364: 07 03 92 00 2368: ce 00 01 52 subw.x vf12x,vf00x,vf16w ibne vi01,vi00,0x29e0 236c: 07 03 10 01 2370: 10 04 41 24 nop fcand vi01,0x410410 2374: ff 02 00 00 2378: 19 00 01 50 nop ibeq vi01,vi00,0x2448 237c: ff 02 00 00 2380: ff 47 f1 01 nop lq.xyzw vf17xyzw,-1(vi08) 2384: ff 02 00 00 2388: 00 40 04 10 subx.y vf20y,vf12y,vf12x iaddiu vi04,vi08,0 238c: 04 65 8c 00 2390: 02 18 ee 01 addw.xy vf13xy,vf12xy,vf26w lq.xyzw vf14xyzw,2(vi03) 2394: 43 63 9a 01 2398: 01 18 f3 01 addx.xyzw vf22xyzw,vf16xyzw,vf00x lq.xyzw vf19xyzw,1(vi03) 239c: 80 85 e0 01 23a0: 02 18 03 10 addx.xyzw vf16xyzw,vf18xyzw,vf00x iaddiu vi03,vi03,2 23a4: 00 94 e0 01 23a8: bc 03 f4 80 addy.x vf12x,vf00x,vf12y div q,vf00w,vf00x 23ac: 01 03 0c 01 23b0: 00 10 01 34 subw.y vf12y,vf00y,vf14w fmand vi01,vi02 23b4: 07 03 8e 00 23b8: 0c 10 01 50 mulay.xy accxy,vf22xy,vf13y ibeq vi01,vi02,0x2420 23bc: bd b1 8d 01 23c0: 00 b0 e8 03 msubx.xy vf22xy,vf16xy,vf13x sq.xyzw vf22xyzw,0(vi08) 23c4: 8c 85 8d 01 23c8: 01 88 e8 03 mulay.xyzw accxyzw,vf17xyzw,vf13y sq.xyzw vf17xyzw,1(vi08) 23cc: bd 89 ed 01 23d0: 09 00 01 50 msubx.xyzw vf21xyzw,vf19xyzw,vf13x ibeq vi01,vi00,0x2420 23d4: 4c 9d ed 01 23d8: 02 40 08 10 mulw.w vf22w,vf00w,vf26w iaddiu vi08,vi08,2 23dc: 9b 05 3a 00 23e0: 3c 03 00 80 mulq.xy vf22xy,vf22xy,q nop 23e4: 9c b5 80 01 23e8: 40 00 02 10 nop iaddiu vi02,vi00,0x40 23ec: ff 02 00 00 23f0: 3c 03 00 80 mulq.xyzw vf21xyzw,vf21xyzw,q nop 23f4: 5c ad e0 01 23f8: 02 10 01 50 nop ibeq vi01,vi02,0x2410 23fc: ff 02 00 00 2400: c0 00 02 10 nop iaddiu vi02,vi00,0xc0 2404: ff 02 00 00 2408: 02 40 08 12 nop isubiu vi08,vi08,2 240c: ff 02 00 00 2410: 7d b3 e8 81 nop sqi.xyzw vf22xyzw,(vi08++) 2414: ff 02 00 00 2418: 7d ab e8 81 nop sqi.xyzw vf21xyzw,(vi08++) 241c: ff 02 00 00 2420: ed 27 03 52 addx.xyzw vf18xyzw,vf14xyzw,vf00x ibne vi03,vi04,0x2390 2424: 80 74 e0 01 2428: 3c 9b f1 81 subx.y vf20y,vf12y,vf12x move.xyzw vf17xyzw,vf19xyzw 242c: 04 65 8c 00 2430: fe 47 f0 01 nop lq.xyzw vf16xyzw,-2(vi08) 2434: ff 02 00 00 2438: b4 20 08 50 nop ibeq vi08,vi04,0x29e0 243c: ff 02 00 00 2440: 3c 03 00 80 nop nop 2444: ff 02 00 00 2448: cf f3 3c 24 addaw.y accy,vf00y,vf18w fcand vi01,0x3cf3cf 244c: 3f 00 92 00 2450: 7b 00 01 50 maddy.y vf12y,vf27y,vf18y ibeq vi01,vi00,0x2830 2454: 09 db 92 00 2458: f7 7d df 26 addaw.x accx,vf00x,vf16w fcor vi01,0xdf7df7 245c: 3f 00 10 01 2460: af 00 01 52 maddy.x vf12x,vf27x,vf16y ibne vi01,vi00,0x29e0 2464: 09 db 10 01 2468: 08 82 20 24 nop fcand vi01,0x208208 246c: ff 02 00 00 2470: 1a 00 01 50 nop ibeq vi01,vi00,0x2548 2474: ff 02 00 00 2478: ff 47 f1 01 nop lq.xyzw vf17xyzw,-1(vi08) 247c: ff 02 00 00 2480: 00 40 04 10 subx.y vf20y,vf12y,vf12x iaddiu vi04,vi08,0 2484: 04 65 8c 00 2488: 02 18 ee 01 add.xy vf13xy,vf12xy,vf00xy lq.xyzw vf14xyzw,2(vi03) 248c: 68 63 80 01 2490: 01 18 f3 01 addx.xyzw vf22xyzw,vf16xyzw,vf00x lq.xyzw vf19xyzw,1(vi03) 2494: 80 85 e0 01 2498: 02 18 03 10 addx.xyzw vf16xyzw,vf18xyzw,vf00x iaddiu vi03,vi03,2 249c: 00 94 e0 01 24a0: bc 03 f4 80 addy.x vf12x,vf00x,vf12y div q,vf00w,vf00x 24a4: 01 03 0c 01 24a8: 00 10 01 34 addaw.y accy,vf00y,vf14w fmand vi01,vi02 24ac: 3f 00 8e 00 24b0: 00 b0 e8 03 maddy.y vf12y,vf27y,vf14y sq.xyzw vf22xyzw,0(vi08) 24b4: 09 db 8e 00 24b8: 0c 10 01 50 mulay.xyzw accxyzw,vf22xyzw,vf13y ibeq vi01,vi02,0x2520 24bc: bd b1 ed 01 24c0: 01 88 e8 03 msubx.xyzw vf22xyzw,vf16xyzw,vf13x sq.xyzw vf17xyzw,1(vi08) 24c4: 8c 85 ed 01 24c8: 0a 00 01 50 mulay.xyzw accxyzw,vf17xyzw,vf13y ibeq vi01,vi00,0x2520 24cc: bd 89 ed 01 24d0: 02 40 08 10 msubx.xyzw vf21xyzw,vf19xyzw,vf13x iaddiu vi08,vi08,2 24d4: 4c 9d ed 01 24d8: 40 00 02 10 nop iaddiu vi02,vi00,0x40 24dc: ff 02 00 00 24e0: 3c 03 00 80 mulq.xyzw vf22xyzw,vf22xyzw,q nop 24e4: 9c b5 e0 01 24e8: 3c 03 00 80 nop nop 24ec: ff 02 00 00 24f0: 3c 03 00 80 mulq.xyzw vf21xyzw,vf21xyzw,q nop 24f4: 5c ad e0 01 24f8: 02 10 01 50 nop ibeq vi01,vi02,0x2510 24fc: ff 02 00 00 2500: c0 00 02 10 nop iaddiu vi02,vi00,0xc0 2504: ff 02 00 00 2508: 02 40 08 12 nop isubiu vi08,vi08,2 250c: ff 02 00 00 2510: 7d b3 e8 81 nop sqi.xyzw vf22xyzw,(vi08++) 2514: ff 02 00 00 2518: 7d ab e8 81 nop sqi.xyzw vf21xyzw,(vi08++) 251c: ff 02 00 00 2520: ec 27 03 52 addx.xyzw vf18xyzw,vf14xyzw,vf00x ibne vi03,vi04,0x2488 2524: 80 74 e0 01 2528: 3c 9b f1 81 subx.y vf20y,vf12y,vf12x move.xyzw vf17xyzw,vf19xyzw 252c: 04 65 8c 00 2530: fe 47 f0 01 nop lq.xyzw vf16xyzw,-2(vi08) 2534: ff 02 00 00 2538: 94 20 08 50 nop ibeq vi08,vi04,0x29e0 253c: ff 02 00 00 2540: 3c 03 00 80 nop nop 2544: ff 02 00 00 2548: c7 71 1c 24 addaw.y accy,vf00y,vf18w fcand vi01,0x1c71c7 254c: 3f 00 92 00 2550: 5b 00 01 50 msuby.y vf12y,vf27y,vf18y ibeq vi01,vi00,0x2830 2554: 0d db 92 00 2558: fb be ef 26 addaw.x accx,vf00x,vf16w fcor vi01,0xefbefb 255c: 3f 00 10 01 2560: 8f 00 01 52 msuby.x vf12x,vf27x,vf16y ibne vi01,vi00,0x29e0 2564: 0d db 10 01 2568: 04 41 10 24 nop fcand vi01,0x104104 256c: ff 02 00 00 2570: 1a 00 01 50 nop ibeq vi01,vi00,0x2648 2574: ff 02 00 00 2578: ff 47 f1 01 nop lq.xyzw vf17xyzw,-1(vi08) 257c: ff 02 00 00 2580: 00 40 04 10 subx.y vf20y,vf12y,vf12x iaddiu vi04,vi08,0 2584: 04 65 8c 00 2588: 02 18 ee 01 add.xy vf13xy,vf12xy,vf00xy lq.xyzw vf14xyzw,2(vi03) 258c: 68 63 80 01 2590: 01 18 f3 01 addx.xyzw vf22xyzw,vf16xyzw,vf00x lq.xyzw vf19xyzw,1(vi03) 2594: 80 85 e0 01 2598: 02 18 03 10 addx.xyzw vf16xyzw,vf18xyzw,vf00x iaddiu vi03,vi03,2 259c: 00 94 e0 01 25a0: bc 03 f4 80 addy.x vf12x,vf00x,vf12y div q,vf00w,vf00x 25a4: 01 03 0c 01 25a8: 00 10 01 34 addaw.y accy,vf00y,vf14w fmand vi01,vi02 25ac: 3f 00 8e 00 25b0: 00 b0 e8 03 msuby.y vf12y,vf27y,vf14y sq.xyzw vf22xyzw,0(vi08) 25b4: 0d db 8e 00 25b8: 0c 10 01 50 mulay.xyzw accxyzw,vf22xyzw,vf13y ibeq vi01,vi02,0x2620 25bc: bd b1 ed 01 25c0: 01 88 e8 03 msubx.xyzw vf22xyzw,vf16xyzw,vf13x sq.xyzw vf17xyzw,1(vi08) 25c4: 8c 85 ed 01 25c8: 0a 00 01 50 mulay.xyzw accxyzw,vf17xyzw,vf13y ibeq vi01,vi00,0x2620 25cc: bd 89 ed 01 25d0: 02 40 08 10 msubx.xyzw vf21xyzw,vf19xyzw,vf13x iaddiu vi08,vi08,2 25d4: 4c 9d ed 01 25d8: 40 00 02 10 nop iaddiu vi02,vi00,0x40 25dc: ff 02 00 00 25e0: 3c 03 00 80 mulq.xyzw vf22xyzw,vf22xyzw,q nop 25e4: 9c b5 e0 01 25e8: 3c 03 00 80 nop nop 25ec: ff 02 00 00 25f0: 3c 03 00 80 mulq.xyzw vf21xyzw,vf21xyzw,q nop 25f4: 5c ad e0 01 25f8: 02 10 01 50 nop ibeq vi01,vi02,0x2610 25fc: ff 02 00 00 2600: c0 00 02 10 nop iaddiu vi02,vi00,0xc0 2604: ff 02 00 00 2608: 02 40 08 12 nop isubiu vi08,vi08,2 260c: ff 02 00 00 2610: 7d b3 e8 81 nop sqi.xyzw vf22xyzw,(vi08++) 2614: ff 02 00 00 2618: 7d ab e8 81 nop sqi.xyzw vf21xyzw,(vi08++) 261c: ff 02 00 00 2620: ec 27 03 52 addx.xyzw vf18xyzw,vf14xyzw,vf00x ibne vi03,vi04,0x2588 2624: 80 74 e0 01 2628: 3c 9b f1 81 subx.y vf20y,vf12y,vf12x move.xyzw vf17xyzw,vf19xyzw 262c: 04 65 8c 00 2630: fe 47 f0 01 nop lq.xyzw vf16xyzw,-2(vi08) 2634: ff 02 00 00 2638: 74 20 08 50 nop ibeq vi08,vi04,0x29e0 263c: ff 02 00 00 2640: 3c 03 00 80 nop nop 2644: ff 02 00 00 2648: c3 30 0c 24 addaw.y accy,vf00y,vf18w fcand vi01,0xc30c3 264c: 3f 00 92 00 2650: 3b 00 01 50 maddx.y vf12y,vf26y,vf18x ibeq vi01,vi00,0x2830 2654: 08 d3 92 00 2658: 7d df f7 26 addaw.x accx,vf00x,vf16w fcor vi01,0xf7df7d 265c: 3f 00 10 01 2660: 6f 00 01 52 maddx.x vf12x,vf26x,vf16x ibne vi01,vi00,0x29e0 2664: 08 d3 10 01 2668: 82 20 08 24 nop fcand vi01,0x82082 266c: ff 02 00 00 2670: 1a 00 01 50 nop ibeq vi01,vi00,0x2748 2674: ff 02 00 00 2678: ff 47 f1 01 nop lq.xyzw vf17xyzw,-1(vi08) 267c: ff 02 00 00 2680: 00 40 04 10 subx.y vf20y,vf12y,vf12x iaddiu vi04,vi08,0 2684: 04 65 8c 00 2688: 02 18 ee 01 add.xy vf13xy,vf12xy,vf00xy lq.xyzw vf14xyzw,2(vi03) 268c: 68 63 80 01 2690: 01 18 f3 01 addx.xyzw vf22xyzw,vf16xyzw,vf00x lq.xyzw vf19xyzw,1(vi03) 2694: 80 85 e0 01 2698: 02 18 03 10 addx.xyzw vf16xyzw,vf18xyzw,vf00x iaddiu vi03,vi03,2 269c: 00 94 e0 01 26a0: bc 03 f4 80 addy.x vf12x,vf00x,vf12y div q,vf00w,vf00x 26a4: 01 03 0c 01 26a8: 00 10 01 34 addaw.y accy,vf00y,vf14w fmand vi01,vi02 26ac: 3f 00 8e 00 26b0: 00 b0 e8 03 maddx.y vf12y,vf26y,vf14x sq.xyzw vf22xyzw,0(vi08) 26b4: 08 d3 8e 00 26b8: 0c 10 01 50 mulay.xyzw accxyzw,vf22xyzw,vf13y ibeq vi01,vi02,0x2720 26bc: bd b1 ed 01 26c0: 01 88 e8 03 msubx.xyzw vf22xyzw,vf16xyzw,vf13x sq.xyzw vf17xyzw,1(vi08) 26c4: 8c 85 ed 01 26c8: 0a 00 01 50 mulay.xyzw accxyzw,vf17xyzw,vf13y ibeq vi01,vi00,0x2720 26cc: bd 89 ed 01 26d0: 02 40 08 10 msubx.xyzw vf21xyzw,vf19xyzw,vf13x iaddiu vi08,vi08,2 26d4: 4c 9d ed 01 26d8: 40 00 02 10 nop iaddiu vi02,vi00,0x40 26dc: ff 02 00 00 26e0: 3c 03 00 80 mulq.xyzw vf22xyzw,vf22xyzw,q nop 26e4: 9c b5 e0 01 26e8: 3c 03 00 80 nop nop 26ec: ff 02 00 00 26f0: 3c 03 00 80 mulq.xyzw vf21xyzw,vf21xyzw,q nop 26f4: 5c ad e0 01 26f8: 02 10 01 50 nop ibeq vi01,vi02,0x2710 26fc: ff 02 00 00 2700: c0 00 02 10 nop iaddiu vi02,vi00,0xc0 2704: ff 02 00 00 2708: 02 40 08 12 nop isubiu vi08,vi08,2 270c: ff 02 00 00 2710: 7d b3 e8 81 nop sqi.xyzw vf22xyzw,(vi08++) 2714: ff 02 00 00 2718: 7d ab e8 81 nop sqi.xyzw vf21xyzw,(vi08++) 271c: ff 02 00 00 2720: ec 27 03 52 addx.xyzw vf18xyzw,vf14xyzw,vf00x ibne vi03,vi04,0x2688 2724: 80 74 e0 01 2728: 3c 9b f1 81 subx.y vf20y,vf12y,vf12x move.xyzw vf17xyzw,vf19xyzw 272c: 04 65 8c 00 2730: fe 47 f0 01 nop lq.xyzw vf16xyzw,-2(vi08) 2734: ff 02 00 00 2738: 54 20 08 50 nop ibeq vi08,vi04,0x29e0 273c: ff 02 00 00 2740: 3c 03 00 80 nop nop 2744: ff 02 00 00 2748: 41 10 04 24 addaw.y accy,vf00y,vf18w fcand vi01,0x41041 274c: 3f 00 92 00 2750: 1b 00 01 50 msubx.y vf12y,vf26y,vf18x ibeq vi01,vi00,0x2830 2754: 0c d3 92 00 2758: be ef fb 26 addaw.x accx,vf00x,vf16w fcor vi01,0xfbefbe 275c: 3f 00 10 01 2760: 4f 00 01 52 msubx.x vf12x,vf26x,vf16x ibne vi01,vi00,0x29e0 2764: 0c d3 10 01 2768: 41 10 04 24 nop fcand vi01,0x41041 276c: ff 02 00 00 2770: 17 00 01 50 nop ibeq vi01,vi00,0x2830 2774: ff 02 00 00 2778: ff 47 f1 01 nop lq.xyzw vf17xyzw,-1(vi08) 277c: ff 02 00 00 2780: 00 40 04 10 subx.y vf20y,vf12y,vf12x iaddiu vi04,vi08,0 2784: 04 65 8c 00 2788: 02 18 ee 01 add.xy vf13xy,vf12xy,vf00xy lq.xyzw vf14xyzw,2(vi03) 278c: 68 63 80 01 2790: 01 18 f3 01 addx.xyzw vf22xyzw,vf16xyzw,vf00x lq.xyzw vf19xyzw,1(vi03) 2794: 80 85 e0 01 2798: 02 18 03 10 addx.xyzw vf16xyzw,vf18xyzw,vf00x iaddiu vi03,vi03,2 279c: 00 94 e0 01 27a0: bc 03 f4 80 addy.x vf12x,vf00x,vf12y div q,vf00w,vf00x 27a4: 01 03 0c 01 27a8: 00 10 01 34 addaw.y accy,vf00y,vf14w fmand vi01,vi02 27ac: 3f 00 8e 00 27b0: 00 b0 e8 03 msubx.y vf12y,vf26y,vf14x sq.xyzw vf22xyzw,0(vi08) 27b4: 0c d3 8e 00 27b8: 0c 10 01 50 mulay.xyzw accxyzw,vf22xyzw,vf13y ibeq vi01,vi02,0x2820 27bc: bd b1 ed 01 27c0: 01 88 e8 03 msubx.xyzw vf22xyzw,vf16xyzw,vf13x sq.xyzw vf17xyzw,1(vi08) 27c4: 8c 85 ed 01 27c8: 0a 00 01 50 mulay.xyzw accxyzw,vf17xyzw,vf13y ibeq vi01,vi00,0x2820 27cc: bd 89 ed 01 27d0: 02 40 08 10 msubx.xyzw vf21xyzw,vf19xyzw,vf13x iaddiu vi08,vi08,2 27d4: 4c 9d ed 01 27d8: 40 00 02 10 nop iaddiu vi02,vi00,0x40 27dc: ff 02 00 00 27e0: 3c 03 00 80 mulq.xyzw vf22xyzw,vf22xyzw,q nop 27e4: 9c b5 e0 01 27e8: 3c 03 00 80 nop nop 27ec: ff 02 00 00 27f0: 3c 03 00 80 mulq.xyzw vf21xyzw,vf21xyzw,q nop 27f4: 5c ad e0 01 27f8: 02 10 01 50 nop ibeq vi01,vi02,0x2810 27fc: ff 02 00 00 2800: c0 00 02 10 nop iaddiu vi02,vi00,0xc0 2804: ff 02 00 00 2808: 02 40 08 12 nop isubiu vi08,vi08,2 280c: ff 02 00 00 2810: 7d b3 e8 81 nop sqi.xyzw vf22xyzw,(vi08++) 2814: ff 02 00 00 2818: 7d ab e8 81 nop sqi.xyzw vf21xyzw,(vi08++) 281c: ff 02 00 00 2820: ec 27 03 52 addx.xyzw vf18xyzw,vf14xyzw,vf00x ibne vi03,vi04,0x2788 2824: 80 74 e0 01 2828: 3c 9b f1 81 subx.y vf20y,vf12y,vf12x move.xyzw vf17xyzw,vf19xyzw 282c: 04 65 8c 00 2830: 35 20 08 50 nop ibeq vi08,vi04,0x29e0 2834: ff 02 00 00 2838: 3c 03 00 80 nop nop 283c: ff 02 00 00 2840: 7e 43 f5 80 add.z vf13z,vf00z,vf31z lqd.yzw vf21yzw,(--vi08) 2844: 68 03 5f 00 2848: 3c 03 00 80 add.z vf14z,vf00z,vf31z nop 284c: a8 03 5f 00 2850: 3c 03 00 80 add.z vf15z,vf00z,vf31z nop 2854: e8 03 5f 00 2858: 3c 03 00 80 mulay.xyzw accxyzw,vf01xyzw,vf21y nop 285c: bd 09 f5 01 2860: 7e 43 ad 81 maddaz.xyzw accxyzw,vf06xyzw,vf21z lqd.xyw vf13xyw,(--vi08) 2864: be 30 f5 01 2868: 03 58 d0 01 maddw.xyzw vf19xyzw,vf07xyzw,vf21w lq.xyz vf16xyz,3(vi11) 286c: cb 3c f5 01 2870: 07 58 d1 01 mulay.xyzw accxyzw,vf08xyzw,vf21y lq.xyz vf17xyz,7(vi11) 2874: bd 41 f5 01 2878: 0b 58 d2 01 maddaz.xyzw accxyzw,vf09xyzw,vf21z lq.xyz vf18xyz,11(vi11) 287c: be 48 f5 01 2880: 7e 43 f7 80 maddw.xyzw vf20xyzw,vf10xyzw,vf21w lqd.yzw vf23yzw,(--vi08) 2884: 0b 55 f5 01 2888: 3c 03 00 80 mulay.xyz accxyz,vf16xyz,vf21y nop 288c: bd 81 d5 01 2890: 3c 03 00 80 maddaz.xyz accxyz,vf17xyz,vf21z nop 2894: be 88 d5 01 2898: 3c 03 00 80 maddw.xyz vf05xyz,vf18xyz,vf21w nop 289c: 4b 91 d5 01 28a0: 3c 03 00 80 mulay.xyzw accxyzw,vf01xyzw,vf23y nop 28a4: bd 09 f7 01 28a8: 3c 03 00 80 maddaz.xyzw accxyzw,vf06xyzw,vf23z nop 28ac: be 30 f7 01 28b0: 3c 03 00 80 maddw.xyzw vf21xyzw,vf07xyzw,vf23w nop 28b4: 4b 3d f7 01 28b8: 3c 03 00 80 mulay.xyzw accxyzw,vf08xyzw,vf23y nop 28bc: bd 41 f7 01 28c0: 3c 03 00 80 maddaz.xyzw accxyzw,vf09xyzw,vf23z nop 28c4: be 48 f7 01 28c8: 3d 03 2c 80 maddw.xyzw vf22xyzw,vf10xyzw,vf23w mr32.w vf12w,vf00w 28cc: 8b 55 f7 01 28d0: 7e 43 ae 81 mulay.xyz accxyz,vf16xyz,vf23y lqd.xyw vf14xyw,(--vi08) 28d4: bd 81 d7 01 28d8: 3d 03 2b 80 maddaz.xyz accxyz,vf17xyz,vf23z mr32.w vf11w,vf00w 28dc: be 88 d7 01 28e0: 3d 03 25 80 maddw.xyz vf11xyz,vf18xyz,vf23w mr32.w vf05w,vf00w 28e4: cb 92 d7 01 28e8: 00 68 e5 03 nop sq.xyzw vf13xyzw,0(vi05) 28ec: ff 02 00 00 28f0: 7e 43 f7 80 nop lqd.yzw vf23yzw,(--vi08) 28f4: ff 02 00 00 28f8: 01 98 e5 03 nop sq.xyzw vf19xyzw,1(vi05) 28fc: ff 02 00 00 2900: 02 a0 e5 03 nop sq.xyzw vf20xyzw,2(vi05) 2904: ff 02 00 00 2908: 03 28 e5 03 nop sq.xyzw vf05xyzw,3(vi05) 290c: ff 02 00 00 2910: 7e 43 af 81 mulay.xyzw accxyzw,vf01xyzw,vf23y lqd.xyw vf15xyw,(--vi08) 2914: bd 09 f7 01 2918: 04 70 e5 03 maddaz.xyzw accxyzw,vf06xyzw,vf23z sq.xyzw vf14xyzw,4(vi05) 291c: be 30 f7 01 2920: 05 a8 e5 03 maddw.xyzw vf21xyzw,vf07xyzw,vf23w sq.xyzw vf21xyzw,5(vi05) 2924: 4b 3d f7 01 2928: 06 b0 e5 03 mulay.xyzw accxyzw,vf08xyzw,vf23y sq.xyzw vf22xyzw,6(vi05) 292c: bd 41 f7 01 2930: 07 58 e5 03 maddaz.xyzw accxyzw,vf09xyzw,vf23z sq.xyzw vf11xyzw,7(vi05) 2934: be 48 f7 01 2938: 08 78 e5 03 maddw.xyzw vf22xyzw,vf10xyzw,vf23w sq.xyzw vf15xyzw,8(vi05) 293c: 8b 55 f7 01 2940: 3c 7b ee 81 mulay.xyz accxyz,vf16xyz,vf23y move.xyzw vf14xyzw,vf15xyzw 2944: bd 81 d7 01 2948: 0c 28 05 10 maddaz.xyz accxyz,vf17xyz,vf23z iaddiu vi05,vi05,12 294c: be 88 d7 01 2950: 03 48 09 10 maddw.xyz vf12xyz,vf18xyz,vf23w iaddiu vi09,vi09,3 2954: 0b 93 d7 01 2958: fd af e5 03 nop sq.xyzw vf21xyzw,-3(vi05) 295c: ff 02 00 00 2960: fe b7 e5 03 nop sq.xyzw vf22xyzw,-2(vi05) 2964: ff 02 00 00 2968: ef 47 04 52 nop ibne vi04,vi08,0x28e8 296c: ff 02 00 00 2970: ff 67 e5 03 max.xyzw vf11xyzw,vf12xyzw,vf12xyzw sq.xyzw vf12xyzw,-1(vi05) 2974: eb 62 ec 01 2978: 0c 00 00 40 nop b 0x29e0 297c: ff 02 00 00 2980: 3c 03 00 80 nop nop 2984: ff 02 00 00 2988: 07 58 c1 01 nop lq.xyz vf01xyz,7(vi11) 298c: ff 02 00 00 2990: 03 58 c6 01 nop lq.xyz vf06xyz,3(vi11) 2994: ff 02 00 00 2998: 00 80 e5 03 sub.w vf06w,vf00w,vf00w sq.xyzw vf16xyzw,0(vi05) 299c: ac 01 20 00 29a0: 0b 58 d0 01 sub.w vf01w,vf00w,vf00w lq.xyz vf16xyz,11(vi11) 29a4: 6c 00 20 00 29a8: 04 90 e5 03 sub.w vf16w,vf00w,vf00w sq.xyzw vf18xyzw,4(vi05) 29ac: 2c 04 20 00 29b0: 08 28 e5 03 nop sq.xyzw vf05xyzw,8(vi05) 29b4: ff 02 00 00 29b8: 03 30 e5 03 nop sq.xyzw vf06xyzw,3(vi05) 29bc: ff 02 00 00 29c0: 07 08 e5 03 nop sq.xyzw vf01xyzw,7(vi05) 29c4: ff 02 00 00 29c8: 0b 80 e5 03 nop sq.xyzw vf16xyzw,11(vi05) 29cc: ff 02 00 00 29d0: 0c 28 05 10 nop iaddiu vi05,vi05,12 29d4: ff 02 00 00 29d8: 03 48 09 10 nop iaddiu vi09,vi09,3 29dc: ff 02 00 00 29e0: 75 2b 01 12 addx.xyzw vf16xyzw,vf03xyzw,vf00x isubiu vi01,vi05,0x375 29e4: 00 1c e0 01 29e8: 0c 58 0b 10 mulaw.xyzw accxyzw,vf31xyzw,vf00w iaddiu vi11,vi11,12 29ec: bf f9 e0 01 29f0: 03 08 00 5e maddax.xyw accxyw,vf28xyw,vf04x ibgez vi01,0x2a10 29f4: bc e0 a4 01 29f8: 08 58 e5 01 madday.xyw accxyw,vf29xyw,vf04y lq.xyzw vf05xyzw,8(vi11) 29fc: bd e8 a4 01 2a00: f3 56 0b 52 maddz.xyzw vf18xyzw,vf30xyzw,vf04z ibne vi11,vi10,0x21a0 2a04: 8a f4 e4 01 2a08: 04 18 ee 03 maddz.xyzw vf04xyzw,vf30xyzw,vf04z sq.xyzw vf03xyzw,4(vi14) 2a0c: 0a f1 e4 01 2a10: f0 01 05 80 nop iadd vi07,vi00,vi05 2a14: ff 02 00 00 2a18: 03 48 05 12 nop isubiu vi05,vi09,3 2a1c: ff 02 00 00 2a20: fa 03 e1 00 nop lq.yzw vf01yzw,1018(vi00) 2a24: ff 02 00 00 2a28: 4b 28 00 58 nop ibltz vi05,0x2c88 2a2c: ff 02 00 00 2a30: 19 03 01 10 nop iaddiu vi01,vi00,0x319 2a34: ff 02 00 00 2a38: 4d 00 08 42 nop bal vi08,0x2ca8 2a3c: ff 02 00 00 2a40: f0 03 0c 80 nop iadd vi15,vi00,vi12 2a44: ff 02 00 00 2a48: c9 03 22 08 nop ilw.w vi02,969(vi00)w 2a4c: ff 02 00 00 2a50: 30 03 0d 80 nop iadd vi12,vi00,vi13 2a54: ff 02 00 00 2a58: 70 03 0e 80 nop iadd vi13,vi00,vi14 2a5c: ff 02 00 00 2a60: 92 00 08 42 nop bal vi08,L40[0x2ef8] 2a64: ff 02 00 00 2a68: b0 03 0f 80 nop iadd vi14,vi00,vi15 2a6c: ff 02 00 00 2a70: d4 56 0b 52 nop ibne vi11,vi10,0x2118 2a74: ff 02 00 00 2a78: 3c 03 00 80 nop nop 2a7c: ff 02 00 00 2a80: 40 00 00 40 nop b 0x2c88 2a84: ff 02 00 00 2a88: 3c 03 00 80 nop nop 2a8c: ff 02 00 00 ;;; L25:2a90: 00 58 c7 01 sub.w vf05w,vf00w,vf00w lq.xyz vf07xyz,0(vi11) 2a94: 6c 01 20 00 2a98: 3c 03 00 80 sub.w vf06w,vf00w,vf00w nop 2a9c: ac 01 20 00 2aa0: 3c 03 00 80 sub.w vf04w,vf00w,vf00w nop 2aa4: 2c 01 20 00 2aa8: fd 03 c1 00 mulaw.xyzw accxyzw,vf31xyzw,vf00w lq.yz vf01yz,1021(vi00) 2aac: bf f9 e0 01 2ab0: 04 58 c8 01 maddax.xyw accxyw,vf28xyw,vf07x lq.xyz vf08xyz,4(vi11) 2ab4: bc e0 a7 01 2ab8: 3c 03 00 80 madday.xyw accxyw,vf29xyw,vf07y nop 2abc: bd e8 a7 01 2ac0: 08 58 c5 01 maddz.xyzw vf07xyzw,vf30xyzw,vf07z lq.xyz vf05xyz,8(vi11) 2ac4: ca f1 e7 01 2ac8: 02 58 eb 01 mulaw.xyzw accxyzw,vf31xyzw,vf00w lq.xyzw vf11xyzw,2(vi11) 2acc: bf f9 e0 01 2ad0: 3d 0b 03 81 maddax.xyw accxyw,vf28xyw,vf08x mr32.x vf03x,vf01x 2ad4: bc e0 a8 01 2ad8: 03 58 c4 01 madday.xyw accxyw,vf29xyw,vf08y lq.xyz vf04xyz,3(vi11) 2adc: bd e8 a8 01 2ae0: 00 00 09 10 maddz.xyzw vf08xyzw,vf30xyzw,vf08z iaddiu vi09,vi00,0 2ae4: 0a f2 e8 01 2ae8: 01 58 ea 01 mulaw.xyzw accxyzw,vf31xyzw,vf00w lq.xyzw vf10xyzw,1(vi11) 2aec: bf f9 e0 01 2af0: fe 03 c3 00 maddax.xyw accxyw,vf28xyw,vf05x lq.yz vf03yz,1022(vi00) 2af4: bc e0 a5 01 2af8: 00 00 00 22 madday.xyw accxyw,vf29xyw,vf05y fcset 0 2afc: bd e8 a5 01 2b00: 19 03 07 10 maddz.xyzw vf09xyzw,vf30xyzw,vf05z iaddiu vi07,vi00,0x319 2b04: 4a f2 e5 01 2b08: 05 58 ed 01 nop lq.xyzw vf13xyzw,5(vi11) 2b0c: ff 02 00 00 2b10: 06 58 ec 01 nop lq.xyzw vf12xyzw,6(vi11) 2b14: ff 02 00 00 2b18: 07 58 c5 01 adda.z accz,vf00z,vf01z lq.xyz vf05xyz,7(vi11) 2b1c: bc 02 41 00 2b20: 00 38 e7 03 mul.xy vf06xy,vf07xy,vf03xy sq.xyzw vf07xyzw,0(vi07) 2b24: aa 39 83 01 2b28: 01 50 e7 03 maddw.z vf06z,vf03z,vf07w sq.xyzw vf10xyzw,1(vi07) 2b2c: 8b 19 47 00 2b30: 02 58 e7 03 mul.xy vf14xy,vf08xy,vf03xy sq.xyzw vf11xyzw,2(vi07) 2b34: aa 43 83 01 2b38: 03 20 e7 03 maddw.z vf14z,vf03z,vf08w sq.xyzw vf04xyzw,3(vi07) 2b3c: 8b 1b 48 00 2b40: 09 58 eb 01 mul.xy vf07xy,vf09xy,vf03xy lq.xyzw vf11xyzw,9(vi11) 2b44: ea 49 83 01 2b48: 04 40 e7 03 maddw.z vf07z,vf03z,vf09w sq.xyzw vf08xyzw,4(vi07) 2b4c: cb 19 49 00 2b50: 05 68 e7 03 nop sq.xyzw vf13xyzw,5(vi07) 2b54: ff 02 00 00 2b58: 06 60 e7 03 clipw.xyz vf06xyz,vf07w sq.xyzw vf12xyzw,6(vi07) 2b5c: ff 31 c7 01 2b60: 0c 58 cd 01 clipw.xyz vf14xyz,vf08w lq.xyz vf13xyz,12(vi11) 2b64: ff 71 c8 01 2b68: 10 58 c4 01 clipw.xyz vf07xyz,vf09w lq.xyz vf04xyz,16(vi11) 2b6c: ff 39 c9 01 2b70: 07 28 e7 03 nop sq.xyzw vf05xyzw,7(vi07) 2b74: ff 02 00 00 2b78: 08 58 22 08 mulaw.xyzw accxyzw,vf31xyzw,vf00w ilw.w vi02,8(vi11)w 2b7c: bf f9 e0 01 2b80: 0a 58 ec 01 maddax.xyw accxyw,vf28xyw,vf13x lq.xyzw vf12xyzw,10(vi11) 2b84: bc e0 ad 01 2b88: ff ff 03 24 madday.xyw accxyw,vf29xyw,vf13y fcand vi01,0x3ffff 2b8c: bd e8 ad 01 2b90: 0b 58 c6 01 maddz.xyzw vf07xyzw,vf30xyzw,vf13z lq.xyz vf06xyz,11(vi11) 2b94: ca f1 ed 01 2b98: 70 08 02 80 mulaw.xyzw accxyzw,vf31xyzw,vf00w iadd vi01,vi01,vi02 2b9c: bf f9 e0 01 2ba0: 14 58 cd 01 maddax.xyw accxyw,vf28xyw,vf04x lq.xyz vf13xyz,20(vi11) 2ba4: bc e0 a4 01 2ba8: 06 00 01 52 madday.xyw accxyw,vf29xyw,vf04y ibne vi01,vi00,0x2be0 2bac: bd e8 a4 01 2bb0: 09 58 e7 03 maddz.xyzw vf08xyzw,vf30xyzw,vf04z sq.xyzw vf11xyzw,9(vi07) 2bb4: 0a f2 e4 01 2bb8: 08 48 e7 03 nop sq.xyzw vf09xyzw,8(vi07) 2bbc: ff 02 00 00 2bc0: 0a 60 e7 03 nop sq.xyzw vf12xyzw,10(vi07) 2bc4: ff 02 00 00 2bc8: 0b 30 e7 03 nop sq.xyzw vf06xyzw,11(vi07) 2bcc: ff 02 00 00 2bd0: 0c 38 07 10 nop iaddiu vi07,vi07,12 2bd4: ff 02 00 00 2bd8: 03 48 09 10 nop iaddiu vi09,vi09,3 2bdc: ff 02 00 00 2be0: 75 3b 01 12 nop isubiu vi01,vi07,0x375 2be4: ff 02 00 00 2be8: 0d 58 ea 01 nop lq.xyzw vf10xyzw,13(vi11) 2bec: ff 02 00 00 2bf0: 0e 58 eb 01 mulaw.xyzw accxyzw,vf31xyzw,vf00w lq.xyzw vf11xyzw,14(vi11) 2bf4: bf f9 e0 01 2bf8: 0c 58 0b 10 maddax.xyw accxyw,vf28xyw,vf13x iaddiu vi11,vi11,12 2bfc: bc e0 ad 01 2c00: 03 08 00 5e madday.xyw accxyw,vf29xyw,vf13y ibgez vi01,0x2c20 2c04: bd e8 ad 01 2c08: 03 58 c4 01 maddz.xyzw vf09xyzw,vf30xyzw,vf13z lq.xyz vf04xyz,3(vi11) 2c0c: 4a f2 ed 01 2c10: de 57 0b 52 nop ibne vi11,vi10,0x2b08 2c14: ff 02 00 00 2c18: 3c 03 00 80 nop nop 2c1c: ff 02 00 00 2c20: 03 48 05 12 nop isubiu vi05,vi09,3 2c24: ff 02 00 00 2c28: fa 03 e1 00 nop lq.yzw vf01yzw,1018(vi00) 2c2c: ff 02 00 00 2c30: 0a 28 00 58 nop ibltz vi05,0x2c88 2c34: ff 02 00 00 2c38: 19 03 01 10 nop iaddiu vi01,vi00,0x319 2c3c: ff 02 00 00 2c40: 0c 00 08 42 nop bal vi08,0x2ca8 2c44: ff 02 00 00 2c48: f0 03 0c 80 nop iadd vi15,vi00,vi12 2c4c: ff 02 00 00 2c50: c9 03 22 08 nop ilw.w vi02,969(vi00)w 2c54: ff 02 00 00 2c58: 30 03 0d 80 nop iadd vi12,vi00,vi13 2c5c: ff 02 00 00 2c60: 70 03 0e 80 nop iadd vi13,vi00,vi14 2c64: ff 02 00 00 2c68: 51 00 08 42 nop bal vi08,L40[0x2ef8] 2c6c: ff 02 00 00 2c70: b0 03 0f 80 nop iadd vi14,vi00,vi15 2c74: ff 02 00 00 2c78: c2 57 0b 52 nop ibne vi11,vi10,0x2a90 2c7c: ff 02 00 00 2c80: 3c 03 00 80 nop nop 2c84: ff 02 00 00 end1: 2c88: 3d 00 0f 10 nop[e] iaddiu vi15,vi00,0x3d 2c8c: ff 02 00 40 2c90: 3c 03 00 80 nop nop 2c94: ff 02 00 00 2c98: 00 78 00 48 nop jr vi15 2c9c: ff 02 00 00 2ca0: 3c 03 00 80 nop nop 2ca4: ff 02 00 00 2ca8: 00 00 02 11 nop iaddiu vi02,vi00,0x4000 2cac: ff 02 00 00 2cb0: b0 10 02 80 nop iadd vi02,vi02,vi02 2cb4: ff 02 00 00 2cb8: 75 4a 02 80 nop ior vi09,vi09,vi02 2cbc: ff 02 00 00 2cc0: f6 03 63 00 nop lq.zw vf03zw,1014(vi00) 2cc4: ff 02 00 00 2cc8: 00 08 e7 01 nop lq.xyzw vf07xyzw,0(vi01) 2ccc: ff 02 00 00 2cd0: 00 00 7f 43 nop[i] loi 255 2cd4: ff 02 00 80 2cd8: 01 08 84 01 addax.xyzw accxyzw,vf02xyzw,vf00x lq.xy vf04xy,1(vi01) 2cdc: 3c 10 e0 01 2ce0: 03 08 24 00 msubaz.w accw,vf03w,vf03z lq.w vf04w,3(vi01) 2ce4: fe 18 23 00 2ce8: bc 03 e7 81 maddz.w vf07w,vf07w,vf03z div q,vf00w,vf00x 2cec: ca 39 23 00 2cf0: 04 08 e9 01 nop lq.xyzw vf09xyzw,4(vi01) 2cf4: ff 02 00 00 2cf8: 02 08 e5 01 nop lq.xyzw vf05xyzw,2(vi01) 2cfc: ff 02 00 00 2d00: 05 08 8a 01 nop lq.xy vf10xy,5(vi01) 2d04: ff 02 00 00 2d08: 07 08 2b 00 minii.w vf07w,vf07w,i lq.w vf11w,7(vi01) 2d0c: df 39 20 00 2d10: 06 08 ec 01 addw.z vf04z,vf00z,vf00w lq.xyzw vf12xyzw,6(vi01) 2d14: 03 01 40 00 2d18: 00 08 02 10 nop iaddiu vi02,vi01,0 2d1c: ff 02 00 00 2d20: 01 70 03 10 maddz.w vf13w,vf09w,vf03z iaddiu vi03,vi14,1 2d24: 4a 4b 23 00 2d28: 01 60 04 10 max.w vf06w,vf07w,vf02w iaddiu vi04,vi12,1 2d2c: ab 39 22 00 2d30: 00 70 09 0b mulq.xyz vf08xyz,vf04xyz,q isw.x vi09,0(vi14)x 2d34: 1c 22 c0 01 2d38: 00 08 ee 02 maddq.xyz vf07xyz,vf07xyz,q sq.yzw vf01yzw,0(vi14) 2d3c: e1 39 c0 01 2d40: bc 03 e9 81 ftoi0.xyzw vf15xyzw,vf05xyzw div q,vf00w,vf00x 2d44: 7c 29 ef 01 2d48: 08 10 ee 01 add.w vf07w,vf06w,vf04w lq.xyzw vf14xyzw,8(vi02) 2d4c: e8 31 24 00 2d50: 00 40 c3 03 nop sq.xyz vf08xyz,0(vi03) 2d54: ff 02 00 00 2d58: 04 10 05 10 minii.w vf09w,vf13w,i iaddiu vi05,vi02,4 2d5c: 5f 6a 20 00 2d60: 01 78 e4 03 addw.z vf10z,vf00z,vf00w sq.xyzw vf15xyzw,1(vi04) 2d64: 83 02 40 00 2d68: 01 78 e3 03 ftoi4.xyzw vf07xyzw,vf07xyzw sq.xyzw vf15xyzw,1(vi03) 2d6c: 7d 39 e7 01 2d70: 09 10 8b 01 nop lq.xy vf11xy,9(vi02) 2d74: ff 02 00 00 2d78: 0b 10 23 00 nop lq.w vf03w,11(vi02) 2d7c: ff 02 00 00 2d80: 0a 10 ef 01 max.w vf01w,vf09w,vf02w lq.xyzw vf15xyzw,10(vi02) 2d84: 6b 48 22 00 2d88: 02 38 e4 03 mulq.xyz vf06xyz,vf10xyz,q sq.xyzw vf07xyzw,2(vi04) 2d8c: 9c 51 c0 01 2d90: 27 38 05 50 maddz.w vf08w,vf14w,vf03z ibeq vi05,vi07,0x2ed0 2d94: 0a 72 23 00 2d98: 02 38 e3 03 maddq.xyz vf04xyz,vf09xyz,q sq.xyzw vf07xyzw,2(vi03) 2d9c: 21 49 c0 01 2da0: bc 03 ee 81 ftoi0.xyzw vf16xyzw,vf12xyzw div q,vf00w,vf00x 2da4: 7c 61 f0 01 2da8: 03 30 c3 03 add.w vf04w,vf01w,vf11w sq.xyz vf06xyz,3(vi03) 2dac: 28 09 2b 00 2db0: 08 28 e9 01 nop lq.xyzw vf09xyzw,8(vi05) 2db4: ff 02 00 00 2db8: 04 28 02 10 nop iaddiu vi02,vi05,4 2dbc: ff 02 00 00 2dc0: 04 80 e4 03 minii.w vf11w,vf08w,i sq.xyzw vf16xyzw,4(vi04) 2dc4: df 42 20 00 2dc8: 04 80 e3 03 ftoi4.xyzw vf04xyzw,vf04xyzw sq.xyzw vf16xyzw,4(vi03) 2dcc: 7d 21 e4 01 2dd0: 09 28 88 01 nop lq.xy vf08xy,9(vi05) 2dd4: ff 02 00 00 2dd8: 0b 28 2a 00 addw.z vf11z,vf00z,vf00w lq.w vf10w,11(vi05) 2ddc: c3 02 40 00 2de0: 0a 28 f0 01 max.w vf06w,vf11w,vf02w lq.xyzw vf16xyzw,10(vi05) 2de4: ab 59 22 00 2de8: 05 20 e4 03 maddq.xyz vf01xyz,vf14xyz,q sq.xyzw vf04xyzw,5(vi04) 2dec: 61 70 c0 01 2df0: 1b 38 02 50 maddz.w vf13w,vf09w,vf03z ibeq vi02,vi07,0x2ed0 2df4: 4a 4b 23 00 2df8: 05 20 e3 03 mulq.xyz vf07xyz,vf11xyz,q sq.xyzw vf04xyzw,5(vi03) 2dfc: dc 59 c0 01 2e00: 08 10 ee 01 ftoi0.xyzw vf19xyzw,vf15xyzw lq.xyzw vf14xyzw,8(vi02) 2e04: 7c 79 f3 01 2e08: bc 03 e9 81 add.w vf01w,vf06w,vf03w div q,vf00w,vf00x 2e0c: 68 30 23 00 2e10: 04 10 05 10 nop iaddiu vi05,vi02,4 2e14: ff 02 00 00 2e18: 0a 10 e5 01 nop lq.xyzw vf05xyzw,10(vi02) 2e1c: ff 02 00 00 2e20: 07 98 e4 03 minii.w vf09w,vf13w,i sq.xyzw vf19xyzw,7(vi04) 2e24: 5f 6a 20 00 2e28: 07 98 e3 03 ftoi4.xyzw vf01xyzw,vf01xyzw sq.xyzw vf19xyzw,7(vi03) 2e2c: 7d 09 e1 01 2e30: 0b 10 24 00 addw.z vf08z,vf00z,vf00w lq.w vf04w,11(vi02) 2e34: 03 02 40 00 2e38: 09 10 91 01 nop lq.xy vf17xy,9(vi02) 2e3c: ff 02 00 00 2e40: 06 38 c3 03 maddz.w vf07w,vf14w,vf03z sq.xyz vf07xyz,6(vi03) 2e44: ca 71 23 00 2e48: 08 08 e4 03 max.w vf18w,vf09w,vf02w sq.xyzw vf01xyzw,8(vi04) 2e4c: ab 4c 22 00 2e50: 0f 38 05 50 mulq.xyz vf06xyz,vf08xyz,q ibeq vi05,vi07,0x2ed0 2e54: 9c 41 c0 01 2e58: 08 08 e3 03 maddq.xyz vf19xyz,vf09xyz,q sq.xyzw vf01xyzw,8(vi03) 2e5c: e1 4c c0 01 2e60: bc 03 ee 81 nop div q,vf00w,vf00x 2e64: ff 02 00 00 2e68: 08 28 e9 01 ftoi0.xyzw vf12xyzw,vf16xyzw lq.xyzw vf09xyzw,8(vi05) 2e6c: 7c 81 ec 01 2e70: 09 30 c3 03 add.w vf19w,vf18w,vf10w sq.xyz vf06xyz,9(vi03) 2e74: e8 94 2a 00 2e78: 0c 18 03 10 nop iaddiu vi03,vi03,12 2e7c: ff 02 00 00 2e80: 04 28 02 10 nop iaddiu vi02,vi05,4 2e84: ff 02 00 00 2e88: 0a 60 e4 03 minii.w vf07w,vf07w,i sq.xyzw vf12xyzw,10(vi04) 2e8c: df 39 20 00 2e90: fe 67 e3 03 ftoi4.xyzw vf19xyzw,vf19xyzw sq.xyzw vf12xyzw,-2(vi03) 2e94: 7d 99 f3 01 2e98: 0a 28 ec 01 nop lq.xyzw vf12xyzw,10(vi05) 2e9c: ff 02 00 00 2ea0: 0b 28 2b 00 addw.z vf17z,vf00z,vf00w lq.w vf11w,11(vi05) 2ea4: 43 04 40 00 2ea8: 09 28 8a 01 nop lq.xy vf10xy,9(vi05) 2eac: ff 02 00 00 2eb0: 0b 98 e4 03 max.w vf06w,vf07w,vf02w sq.xyzw vf19xyzw,11(vi04) 2eb4: ab 39 22 00 2eb8: ff 9f e3 03 maddz.w vf13w,vf09w,vf03z sq.xyzw vf19xyzw,-1(vi03) 2ebc: 4a 4b 23 00 2ec0: cf 3f 02 52 mulq.xyz vf08xyz,vf17xyz,q ibne vi02,vi07,0x2d40 2ec4: 1c 8a c0 01 2ec8: 0c 20 04 10 maddq.xyz vf07xyz,vf14xyz,q iaddiu vi04,vi04,12 2ecc: e1 71 c0 01 2ed0: c3 03 02 10 nop iaddiu vi02,vi00,0x3c3 2ed4: ff 02 00 00 2ed8: fc 16 00 80 nop xgkick vi02 2edc: ff 02 00 00 2ee0: 3c 03 00 80 nop nop 2ee4: ff 02 00 00 2ee8: 00 40 00 48 nop jr vi08 2eec: ff 02 00 00 2ef0: fc 76 00 80 nop xgkick vi14 2ef4: ff 02 00 00 L40: 2ef8: 00 10 00 48 nop jr vi02 2efc: ff 02 00 00 2f00: c7 03 e1 00 nop lq.yzw vf01yzw,0x3c7(vi00) 2f04: ff 02 00 00 ;;; additional passes ;; nothing L30: ; () 2f08: 00 40 00 48 nop jr vi08 2f0c: ff 02 00 00 2f10: 3c 03 00 80 nop nop 2f14: ff 02 00 00 ;; only Refl L31: ; () 2f18: 45 00 0f 42 nop bal vi15,L36[0x3148] 2f1c: ff 02 00 00 2f20: 01 68 06 10 nop iaddiu vi06,vi13,1 2f24: ff 02 00 00 2f28: c0 03 02 10 nop iaddiu vi02,vi00,0x3c0 2f2c: ff 02 00 00 2f30: fc 16 00 80 nop xgkick vi02 ; FOGCOL, TEX0_2 2f34: ff 02 00 00 2f38: fc 76 00 80 nop xgkick vi14 2f3c: ff 02 00 00 2f40: f0 03 0c 80 nop iadd vi15,vi00,vi12 2f44: ff 02 00 00 2f48: 30 03 0d 80 nop iadd vi12,vi00,vi13 2f4c: ff 02 00 00 2f50: 70 03 0e 80 nop iadd vi13,vi00,vi14 2f54: ff 02 00 00 2f58: 00 40 00 48 nop jr vi08 2f5c: ff 02 00 00 2f60: b0 03 0f 80 nop iadd vi14,vi00,vi15 2f64: ff 02 00 00 ;; only Environment map L32: ; () 2f68: 7c 00 0f 42 nop bal vi15,L37[0x3350] 2f6c: ff 02 00 00 2f70: 01 68 06 10 nop iaddiu vi06,vi13,1 2f74: ff 02 00 00 2f78: c0 03 02 10 nop iaddiu vi02,vi00,0x3c0 2f7c: ff 02 00 00 2f80: fc 16 00 80 nop xgkick vi02 ; FOGCOL, TEX0_2 2f84: ff 02 00 00 2f88: fc 76 00 80 nop xgkick vi14 2f8c: ff 02 00 00 2f90: f0 03 0c 80 nop iadd vi15,vi00,vi12 2f94: ff 02 00 00 2f98: 30 03 0d 80 nop iadd vi12,vi00,vi13 2f9c: ff 02 00 00 2fa0: 70 03 0e 80 nop iadd vi13,vi00,vi14 2fa4: ff 02 00 00 2fa8: 00 40 00 48 nop jr vi08 2fac: ff 02 00 00 2fb0: b0 03 0f 80 nop iadd vi14,vi00,vi15 2fb4: ff 02 00 00 ;; only Specular map L33: ; () 2fb8: bd 00 0f 42 nop bal vi15,L38[0x35a8] 2fbc: ff 02 00 00 2fc0: 01 68 06 10 nop iaddiu vi06,vi13,1 2fc4: ff 02 00 00 2fc8: bd 03 02 10 nop iaddiu vi02,vi00,0x3bd 2fcc: ff 02 00 00 2fd0: fc 16 00 80 nop xgkick vi02 ; FOGCOL, TEX0_2 2fd4: ff 02 00 00 2fd8: fc 76 00 80 nop xgkick vi14 2fdc: ff 02 00 00 2fe0: f0 03 0c 80 nop iadd vi15,vi00,vi12 2fe4: ff 02 00 00 2fe8: 30 03 0d 80 nop iadd vi12,vi00,vi13 2fec: ff 02 00 00 2ff0: 70 03 0e 80 nop iadd vi13,vi00,vi14 2ff4: ff 02 00 00 2ff8: 00 40 00 48 nop jr vi08 2ffc: ff 02 00 00 3000: b0 03 0f 80 nop iadd vi14,vi00,vi15 3004: ff 02 00 00 ;; refl and Specular L34: ; () 3008: 27 00 0f 42 nop bal vi15,L36[0x3148] 300c: ff 02 00 00 3010: 01 68 06 10 nop iaddiu vi06,vi13,1 3014: ff 02 00 00 3018: c0 03 02 10 nop iaddiu vi02,vi00,0x3c0 301c: ff 02 00 00 3020: fc 16 00 80 nop xgkick vi02 ; FOGCOL, TEX0_2 3024: ff 02 00 00 3028: fc 76 00 80 nop xgkick vi14 302c: ff 02 00 00 3030: f0 03 0d 80 nop iadd vi15,vi00,vi13 3034: ff 02 00 00 3038: 70 03 0c 80 nop iadd vi13,vi00,vi12 303c: ff 02 00 00 3040: 30 03 0e 80 nop iadd vi12,vi00,vi14 3044: ff 02 00 00 3048: b0 03 0f 80 nop iadd vi14,vi00,vi15 304c: ff 02 00 00 3050: c7 03 e1 00 nop lq.yzw vf01yzw,0x3c7(vi00) 3054: ff 02 00 00 3058: a9 00 0f 42 nop bal vi15,L38[0x35a8] 305c: ff 02 00 00 3060: 01 70 06 10 nop iaddiu vi06,vi14,1 3064: ff 02 00 00 3068: bd 03 02 10 nop iaddiu vi02,vi00,0x3bd 306c: ff 02 00 00 3070: fc 16 00 80 nop xgkick vi02 ; FOGCOL, TEX0_2 3074: ff 02 00 00 3078: fc 76 00 80 nop xgkick vi14 307c: ff 02 00 00 3080: f0 03 0c 80 nop iadd vi15,vi00,vi12 3084: ff 02 00 00 3088: 30 03 0d 80 nop iadd vi12,vi00,vi13 308c: ff 02 00 00 3090: 70 03 0e 80 nop iadd vi13,vi00,vi14 3094: ff 02 00 00 3098: 00 40 00 48 nop jr vi08 309c: ff 02 00 00 30a0: b0 03 0f 80 nop iadd vi14,vi00,vi15 30a4: ff 02 00 00 ;; Environment and Specular L35: ; () 30a8: 54 00 0f 42 nop bal vi15,L37[0x3350] 30ac: ff 02 00 00 30b0: 01 68 06 10 nop iaddiu vi06,vi13,1 30b4: ff 02 00 00 30b8: c0 03 02 10 nop iaddiu vi02,vi00,0x3c0 30bc: ff 02 00 00 30c0: fc 16 00 80 nop xgkick vi02 ; FOGCOL, TEX0_2 30c4: ff 02 00 00 30c8: fc 76 00 80 nop xgkick vi14 30cc: ff 02 00 00 30d0: f0 03 0d 80 nop iadd vi15,vi00,vi13 30d4: ff 02 00 00 30d8: 70 03 0c 80 nop iadd vi13,vi00,vi12 30dc: ff 02 00 00 30e0: 30 03 0e 80 nop iadd vi12,vi00,vi14 30e4: ff 02 00 00 30e8: b0 03 0f 80 nop iadd vi14,vi00,vi15 30ec: ff 02 00 00 30f0: c7 03 e1 00 nop lq.yzw vf01yzw,0x3c7(vi00) 30f4: ff 02 00 00 30f8: 95 00 0f 42 nop bal vi15,L38[0x35a8] 30fc: ff 02 00 00 3100: 01 70 06 10 nop iaddiu vi06,vi14,1 3104: ff 02 00 00 3108: bd 03 02 10 nop iaddiu vi02,vi00,0x3bd 310c: ff 02 00 00 3110: fc 16 00 80 nop xgkick vi02 ; FOGCOL, TEX0_2 3114: ff 02 00 00 3118: fc 76 00 80 nop xgkick vi14 311c: ff 02 00 00 3120: f0 03 0c 80 nop iadd vi15,vi00,vi12 3124: ff 02 00 00 3128: 30 03 0d 80 nop iadd vi12,vi00,vi13 312c: ff 02 00 00 3130: 70 03 0e 80 nop iadd vi13,vi00,vi14 3134: ff 02 00 00 3138: 00 40 00 48 nop jr vi08 313c: ff 02 00 00 3140: b0 03 0f 80 nop iadd vi14,vi00,vi15 3144: ff 02 00 00 ;;; Pipeline passes ;; env L36: 3148: cd 03 25 00 nop lq.w vf05w,0x3cd(vi00) 314c: ff 02 00 00 3150: cc 03 85 01 nop lq.xy vf05xy,0x3cc(vi00) 3154: ff 02 00 00 3158: cf 03 e3 01 nop lq.xyzw vf03xyzw,0x3cf(vi00) 315c: ff 02 00 00 3160: f0 00 01 80 nop iadd vi03,vi00,vi01 3164: ff 02 00 00 3168: 00 00 40 43 nop[i] loi 192 316c: ff 02 00 80 3170: c3 f5 a8 3e maxi[i].xyz vf09xyz,vf00xyz,i loi 0.33 3174: 5d 02 c0 81 3178: 03 18 ca 01 nop lq.xyz vf10xyz,3(vi03) 317c: ff 02 00 00 3180: cd 03 86 01 minii.w vf09w,vf00w,i lq.xy vf06xy,0x3cd(vi00) 3184: 5f 02 20 00 3188: ce 03 87 01 subw.y vf04y,vf00y,vf03w lq.xy vf07xy,0x3ce(vi00) 318c: 07 01 83 00 3190: 3c 03 00 80 mulw.xyz vf09xyz,vf09xyz,vf05w nop 3194: 5b 4a c5 01 3198: 3c 03 00 80 mulax.xy accxy,vf05xy,vf10x nop 319c: bc 29 8a 01 31a0: 3c 03 00 80 madday.xy accxy,vf06xy,vf10y nop 31a4: bd 30 8a 01 31a8: b0 00 06 80 maddaz.xy accxy,vf07xy,vf10z iadd vi02,vi00,vi06 31ac: be 38 8a 01 31b0: ce 03 28 00 max.xyzw vf10xyzw,vf09xyzw,vf09xyzw lq.w vf08w,974(vi00) 31b4: ab 4a e9 01 31b8: 00 10 6b 00 subz.x vf04x,vf00x,vf03z lq.zw vf11zw,0(vi02) 31bc: 06 01 03 01 31c0: 3c 4b ef 81 nop move.xyzw vf15xyzw,vf09xyzw 31c4: ff 02 00 00 31c8: 00 08 ee 02 msubw.xy vf01xy,vf03xy,vf00w sq.yzw vf01yzw,0(vi14) 31cc: 4f 18 80 01 31d0: 3c 03 00 80 mulw.xyz vf10xyz,vf10xyz,vf08w nop 31d4: 9b 52 c8 01 31d8: 07 18 ce 01 mulz.xy vf13xy,vf04xy,vf11z lq.xyz vf14xyz,7(vi03) 31dc: 5a 23 8b 01 31e0: 00 70 09 0b mulw.xyz vf16xyz,vf15xyz,vf08w isw.x vi09,0(vi14)x 31e4: 1b 7c c8 01 31e8: 00 00 7f 43 add[i].xy vf12xy,vf00xy,vf01xy loi 255 31ec: 28 03 81 81 31f0: 01 70 04 10 minii.xyz vf10xyz,vf10xyz,i iaddiu vi04,vi14,1 31f4: 9f 52 c0 01 31f8: 3c 03 00 80 mulax.xy accxy,vf05xy,vf14x nop 31fc: bc 29 8e 01 3200: 3c 03 00 80 madday.xy accxy,vf06xy,vf14y nop 3204: bd 30 8e 01 3208: 3c 4b f1 81 mul.xy vf11xy,vf12xy,vf13xy move.xyzw vf17xyzw,vf09xyzw 320c: ea 62 8d 01 3210: 03 10 61 00 ftoi0.xyzw vf10xyzw,vf10xyzw lq.zw vf01zw,3(vi02) 3214: 7c 51 ea 01 3218: 0b 18 c8 01 maddaz.xy accxy,vf07xy,vf14z lq.xyz vf08xyz,11(vi03) 321c: be 38 8e 01 3220: 00 00 7f 43 msubw[i].xy vf01xy,vf03xy,vf00w loi 255 3224: 4f 18 80 81 3228: 04 18 05 10 minii.xyz vf15xyz,vf16xyz,i iaddiu vi05,vi03,4 322c: df 83 c0 01 3230: 00 58 e4 03 mulz.xy vf19xy,vf04xy,vf01z sq.xyzw vf11xyzw,0(vi04) 3234: da 24 81 01 3238: 20 38 05 50 mulw.xyz vf20xyz,vf17xyz,vf08w ibeq vi05,vi07,0x3340 323c: 1b 8d c8 01 3240: 01 50 e4 03 add.xy vf18xy,vf00xy,vf01xy sq.xyzw vf10xyzw,1(vi04) 3244: a8 04 81 01 3248: 3c 03 00 80 mulax.xy accxy,vf05xy,vf08x nop 324c: bc 29 88 01 3250: 3c 03 00 80 madday.xy accxy,vf06xy,vf08y nop 3254: bd 30 88 01 3258: 3c 4b f5 81 ftoi0.xyzw vf15xyzw,vf15xyzw move.xyzw vf21xyzw,vf09xyzw 325c: 7c 79 ef 01 3260: 06 10 6b 00 mul.xy vf01xy,vf18xy,vf19xy lq.zw vf11zw,6(vi02) 3264: 6a 90 93 01 3268: 0b 28 cc 01 maddaz.xy accxy,vf07xy,vf08z lq.xyz vf12xyz,11(vi05) 326c: be 38 88 01 3270: 00 00 7f 43 msubw[i].xy vf11xy,vf03xy,vf00w loi 255 3274: cf 1a 80 81 3278: 04 28 03 10 minii.xyz vf17xyz,vf20xyz,i iaddiu vi03,vi05,4 327c: 5f a4 c0 01 3280: 04 78 e4 03 mulz.xy vf14xy,vf04xy,vf11z sq.xyzw vf15xyzw,4(vi04) 3284: 9a 23 8b 01 3288: 16 38 03 50 mulw.xyz vf16xyz,vf21xyz,vf08w ibeq vi03,vi07,0x3340 328c: 1b ac c8 01 3290: 03 08 e4 03 add.xy vf13xy,vf00xy,vf11xy sq.xyzw vf01xyzw,3(vi04) 3294: 68 03 8b 01 3298: 3c 03 00 80 mulax.xy accxy,vf05xy,vf12x nop 329c: bc 29 8c 01 32a0: 3c 03 00 80 madday.xy accxy,vf06xy,vf12y nop 32a4: bd 30 8c 01 32a8: 3c 4b ea 81 ftoi0.xyzw vf17xyzw,vf17xyzw move.xyzw vf10xyzw,vf09xyzw 32ac: 7c 89 f1 01 32b0: 09 10 61 00 mul.xy vf11xy,vf13xy,vf14xy lq.zw vf01zw,9(vi02) 32b4: ea 6a 8e 01 32b8: 0b 18 c8 01 maddaz.xy accxy,vf07xy,vf12z lq.xyz vf08xyz,11(vi03) 32bc: be 38 8c 01 32c0: 00 00 7f 43 msubw[i].xy vf01xy,vf03xy,vf00w loi 255 32c4: 4f 18 80 81 32c8: 04 18 05 10 minii.xyz vf21xyz,vf16xyz,i iaddiu vi05,vi03,4 32cc: 5f 85 c0 01 32d0: 07 88 e4 03 mulz.xy vf19xy,vf04xy,vf01z sq.xyzw vf17xyzw,7(vi04) 32d4: da 24 81 01 32d8: 0c 38 05 50 mulw.xyz vf20xyz,vf10xyz,vf08w ibeq vi05,vi07,0x3340 32dc: 1b 55 c8 01 32e0: 06 58 e4 03 add.xy vf18xy,vf00xy,vf01xy sq.xyzw vf11xyzw,6(vi04) 32e4: a8 04 81 01 32e8: 3c 03 00 80 mulax.xy accxy,vf05xy,vf08x nop 32ec: bc 29 88 01 32f0: 0c 10 6b 00 madday.xy accxy,vf06xy,vf08y lq.zw vf11zw,12(vi02) 32f4: bd 30 88 01 32f8: 3c 4b ef 81 ftoi0.xyzw vf16xyzw,vf21xyzw move.xyzw vf15xyzw,vf09xyzw 32fc: 7c a9 f0 01 3300: 00 00 7f 43 mul[i].xy vf01xy,vf18xy,vf19xy loi 255 3304: 6a 90 93 81 3308: 0b 28 ce 01 maddaz.xy accxy,vf07xy,vf08z lq.xyz vf14xyz,11(vi05) 330c: be 38 88 01 3310: 04 28 03 10 msubw.xy vf11xy,vf03xy,vf00w iaddiu vi03,vi05,4 3314: cf 1a 80 01 3318: 0c 10 02 10 nop iaddiu vi02,vi02,12 331c: ff 02 00 00 3320: 0a 80 e4 03 minii.xyz vf10xyz,vf20xyz,i sq.xyzw vf16xyzw,10(vi04) 3324: 9f a2 c0 01 3328: 09 08 e4 03 mulz.xy vf13xy,vf04xy,vf11z sq.xyzw vf01xyzw,9(vi04) 332c: 5a 23 8b 01 3330: d8 3f 03 52 add.xy vf12xy,vf00xy,vf11xy ibne vi03,vi07,0x31f8 3334: 28 03 8b 01 3338: 0c 20 04 10 mulw.xyz vf16xyz,vf15xyz,vf08w iaddiu vi04,vi04,12 333c: 1b 7c c8 01 3340: 00 78 00 48 nop jr vi15 3344: ff 02 00 00 3348: 3c 03 00 80 nop nop 334c: ff 02 00 00 ;; Environment map ;; using second UV set L37: 3350: cc 03 85 01 nop lq.xy vf05xy,0x3cc(vi00) 3354: ff 02 00 00 3358: cd 03 26 00 nop lq.w vf06w,0x3cd(vi00) 335c: ff 02 00 00 3360: cf 03 e3 01 nop lq.xyzw vf03xyzw,0x3cf(vi00) 3364: ff 02 00 00 3368: f0 00 01 80 nop iadd vi03,vi00,vi01 ; vertex address 336c: ff 02 00 00 3370: 00 00 40 43 nop[i] loi 192 3374: ff 02 00 80 3378: c3 f5 a8 3e maxi[i].xyz vf09xyz,vf00xyz,i loi 0.33 337c: 5d 02 c0 81 3380: 03 18 d0 01 minii.w vf09w,vf00w,i lq.xyz vf16xyz,3(vi03) ; - normal[0] to VF16 3384: 5f 02 20 00 3388: cd 03 86 01 subw.y vf04y,vf00y,vf03w lq.xy vf06xy,0x3cd(vi00) 338c: 07 01 83 00 3390: ce 03 87 01 subz.x vf04x,vf00x,vf03z lq.xy vf07xy,0x3ce(vi00) 3394: 06 01 03 01 3398: 3c 03 00 80 mulw.xyz vf09xyz,vf09xyz,vf06w nop 339c: 5b 4a c6 01 33a0: 01 18 65 00 mulax.xy accxy,vf05xy,vf16x lq.zw vf05zw,1(vi03) ; - texcoord[0] to VF05 33a4: bc 29 90 01 33a8: b0 00 06 80 madday.xy accxy,vf06xy,vf16y iadd vi02,vi00,vi06 ; - GIF packet of diffuse pass 33ac: bd 30 90 01 33b0: 00 10 6b 00 maddaz.xy accxy,vf07xy,vf16z lq.zw vf11zw,0(vi02) ; - drawn texcoord[0] to VF11 33b4: be 38 90 01 33b8: ce 03 28 00 max.xyzw vf10xyzw,vf09xyzw,vf09xyzw lq.w vf08w,0x3ce(vi00) 33bc: ab 4a e9 01 33c0: 00 08 ee 02 msubw.xy vf01xy,vf03xy,vf00w sq.yzw vf01yzw,0(vi14) ; - write GIFtag (same as diffuse pass) 33c4: 4f 18 80 01 33c8: 3c 03 00 80 addaw.y accy,vf00y,vf05w nop 33cc: 3f 00 85 00 33d0: 3c 4b f0 81 mulz.xy vf13xy,vf04xy,vf11z move.xyzw vf16xyzw,vf09xyzw 33d4: 5a 23 8b 01 33d8: 00 70 09 0b mulw.xyz vf10xyz,vf10xyz,vf08w isw.x vi09,0(vi14)x ; - store vertex count in GIFtag 33dc: 9b 52 c8 01 33e0: 01 70 04 10 addz.x vf12x,vf01x,vf05z iaddiu vi04,vi14,1 ; - GIF packet 33e4: 02 0b 05 01 33e8: 07 18 ce 01 maddy.y vf12y,vf01y,vf03y lq.xyz vf14xyz,7(vi03) ; - normal[1] to VF14 33ec: 09 0b 83 00 33f0: 00 00 7f 43 mulw[i].xyz vf17xyz,vf16xyz,vf08w loi 255 33f4: 5b 84 c8 81 33f8: 05 18 6f 00 minii.xyz vf10xyz,vf10xyz,i lq.zw vf15zw,5(vi03) ; - texcoord[1] to VF15 33fc: 9f 52 c0 01 .1: 3400: 3c 03 00 80 max.xyzw vf18xyzw,vf09xyzw,vf09xyzw nop 3404: ab 4c e9 01 3408: 3c 03 00 80 mul.xy vf11xy,vf12xy,vf13xy nop 340c: ea 62 8d 01 3410: 3c 03 00 80 mulax.xy accxy,vf05xy,vf14x nop 3414: bc 29 8e 01 3418: 3c 03 00 80 ftoi0.xyzw vf10xyzw,vf10xyzw nop 341c: 7c 51 ea 01 3420: 03 10 61 00 madday.xy accxy,vf06xy,vf14y lq.zw vf01zw,3(vi02) ; - drawn texcoord[1] to VF01 3424: bd 30 8e 01 3428: 3c 03 00 80 maddaz.xy accxy,vf07xy,vf14z nop 342c: be 38 8e 01 3430: 0b 18 c8 01 msubw.xy vf15xy,vf03xy,vf00w lq.xyz vf08xyz,11(vi03) ; - normal[2] to VF08 3434: cf 1b 80 01 3438: 09 18 63 00 addaw.y accy,vf00y,vf15w lq.zw vf03zw,9(vi03) ; - texcoord[2] to VF03 343c: 3f 00 8f 00 3440: 00 00 7f 43 mulz[i].xy vf19xy,vf04xy,vf01z loi 255 3444: da 24 81 81 3448: 04 18 05 10 minii.xyz vf16xyz,vf17xyz,i iaddiu vi05,vi03,4 ; - &vertex[1] to VI05 344c: 1f 8c c0 01 3450: 00 58 e4 03 addz.x vf15x,vf15x,vf15z sq.xyzw vf11xyzw,0(vi04) ; - store texcoord[0] 3454: c2 7b 0f 01 3458: 27 38 05 50 maddy.y vf15y,vf15y,vf03y ibeq vi05,vi07,L37.2[0x3598] ; - return if beyond end of vertices 345c: c9 7b 83 00 3460: 01 50 e4 03 mulw.xyz vf20xyz,vf18xyz,vf08w sq.xyzw vf10xyzw,1(vi04) ; - store color[0] 3464: 1b 95 c8 01 3468: 3c 03 00 80 ftoi0.xyzw vf14xyzw,vf16xyzw nop 346c: 7c 81 ee 01 3470: 3c 03 00 80 max.xyzw vf21xyzw,vf09xyzw,vf09xyzw nop 3474: 6b 4d e9 01 3478: 3c 03 00 80 mul.xy vf01xy,vf15xy,vf19xy nop 347c: 6a 78 93 01 3480: 3c 03 00 80 mulax.xy accxy,vf05xy,vf08x nop 3484: bc 29 88 01 3488: 06 10 6b 00 madday.xy accxy,vf06xy,vf08y lq.zw vf11zw,6(vi02) ; - drawn texcoord[2] to VF11 348c: bd 30 88 01 3490: 3c 03 00 80 maddaz.xy accxy,vf07xy,vf08z nop 3494: be 38 88 01 3498: 0b 28 cc 01 msubw.xy vf08xy,vf03xy,vf00w lq.xyz vf12xyz,11(vi05) ; - normal[3] to VF12 349c: 0f 1a 80 01 34a0: 00 00 7f 43 addaw[i].y accy,vf00y,vf03w loi 255 34a4: 3f 00 83 80 34a8: 04 70 e4 03 mulz.xy vf14xy,vf04xy,vf11z sq.xyzw vf14xyzw,4(vi04) ; - store color[1] 34ac: 9a 23 8b 01 34b0: 04 28 03 10 minii.xyz vf18xyz,vf20xyz,i iaddiu vi03,vi05,4 34b4: 9f a4 c0 01 34b8: 09 28 64 00 addz.x vf13x,vf08x,vf03z lq.zw vf04zw,9(vi05) ; - texcoord[3] to VF04 34bc: 42 43 03 01 34c0: 1a 38 03 50 maddy.y vf13y,vf08y,vf03y ibeq vi03,vi07,L37.2[0x3598] ; - return if beyond end of vertices 34c4: 49 43 83 00 34c8: 03 08 e4 03 mulw.xyz vf17xyz,vf21xyz,vf08w sq.xyzw vf01xyzw,3(vi04) ; - store texcoord[1] 34cc: 5b ac c8 01 34d0: 3c 03 00 80 ftoi0.xyzw vf19xyzw,vf18xyzw nop 34d4: 7c 91 f3 01 34d8: 3c 03 00 80 max.xyzw vf10xyzw,vf09xyzw,vf09xyzw nop 34dc: ab 4a e9 01 34e0: 3c 03 00 80 mul.xy vf11xy,vf13xy,vf14xy nop 34e4: ea 6a 8e 01 34e8: 3c 03 00 80 mulax.xy accxy,vf05xy,vf12x nop 34ec: bc 29 8c 01 34f0: 09 10 61 00 madday.xy accxy,vf06xy,vf12y lq.zw vf01zw,9(vi02) ; - drawn texcoord[3] to VF01 34f4: bd 30 8c 01 34f8: 3c 03 00 80 maddaz.xy accxy,vf07xy,vf12z nop 34fc: be 38 8c 01 3500: 0b 18 c8 01 msubw.xy vf01xy,vf03xy,vf00w lq.xyz vf08xyz,11(vi03) ; - normal[4] to VF08 3504: 4f 18 80 01 3508: 00 00 7f 43 addaw[i].y accy,vf00y,vf04w loi 255 350c: 3f 00 84 80 3510: 07 98 e4 03 mulz.xy vf19xy,vf04xy,vf01z sq.xyzw vf19xyzw,7(vi04) ; - store color[2] 3514: da 24 81 01 3518: 04 18 05 10 minii.xyz vf21xyz,vf17xyz,i iaddiu vi05,vi03,4 351c: 5f 8d c0 01 3520: 09 18 63 00 addz.x vf15x,vf01x,vf04z lq.zw vf03zw,9(vi03) ; - texcoord[4] to VF03 3524: c2 0b 04 01 3528: 0d 38 05 50 maddy.y vf15y,vf01y,vf03y ibeq vi05,vi07,L37.2[0x3598] ; - return if beyond end of vertices 352c: c9 0b 83 00 3530: 06 58 e4 03 mulw.xyz vf20xyz,vf10xyz,vf08w sq.xyzw vf11xyzw,6(vi04) ; - store texcoord[2] 3534: 1b 55 c8 01 3538: 3c 03 00 80 ftoi0.xyzw vf14xyzw,vf21xyzw nop 353c: 7c a9 ee 01 3540: 0c 10 6b 00 mulax.xy accxy,vf05xy,vf08x lq.zw vf11zw,12(vi02) ; - drawn texcoord[4] to VF11 3544: bc 29 88 01 3548: 3c 4b f0 81 madday.xy accxy,vf06xy,vf08y move.xyzw vf16xyzw,vf09xyzw 354c: bd 30 88 01 3550: 04 28 03 10 maddaz.xy accxy,vf07xy,vf08z iaddiu vi03,vi05,4 3554: be 38 88 01 3558: 0c 10 02 10 msubw.xy vf11xy,vf03xy,vf00w iaddiu vi02,vi02,12 355c: cf 1a 80 01 3560: 0a 70 e4 03 mulz.xy vf13xy,vf04xy,vf11z sq.xyzw vf14xyzw,10(vi04) ; - store color[3] 3564: 5a 23 8b 01 3568: 09 28 6f 00 mul.xy vf01xy,vf15xy,vf19xy lq.zw vf15zw,9(vi05) ; - texcoord[5] to VF15 356c: 6a 78 93 01 3570: 0b 28 ce 01 addaw.y accy,vf00y,vf03w lq.xyz vf14xyz,11(vi05) ; - normal[5] to VF14 3574: 3f 00 83 00 3578: 0c 20 04 10 addz.x vf12x,vf11x,vf03z iaddiu vi04,vi04,12 357c: 02 5b 03 01 3580: 00 00 7f 43 maddy[i].y vf12y,vf11y,vf03y loi 255 3584: 09 5b 83 80 3588: ce 3f 03 52 mulw.xyz vf17xyz,vf16xyz,vf08w ibne vi03,vi07,0x3400 ; loop back if not beyond end 358c: 5b 84 c8 01 3590: fd 0f e4 03 minii.xyz vf10xyz,vf20xyz,i sq.xyzw vf01xyzw,-3(vi04) ; - store texcoord[3] 3594: 9f a2 c0 01 .2: 3598: 00 78 00 48 nop jr vi15 359c: ff 02 00 00 35a0: 3c 03 00 80 nop nop 35a4: ff 02 00 00 ;; Specular map L38: 35a8: cb 03 c3 01 addw.x vf01x,vf00x,vf00w lq.xyz vf03xyz,0x3cb(vi00) ; - load reflection vector 35ac: 43 00 00 01 35b0: c9 03 c6 01 max.z vf04z,vf03z,vf03z lq.xyz vf06xyz,0x3c9(vi00) ; - load normal matrix 35b4: 2b 19 43 00 35b8: c8 03 c5 01 addw.xy vf04xy,vf03xy,vf00w lq.xyz vf05xyz,0x3c8(vi00) 35bc: 03 19 80 01 35c0: 00 08 02 10 nop iaddiu vi02,vi01,0 ; vertex address 35c4: ff 02 00 00 35c8: 00 00 00 3f nop[i] loi 0.5 35cc: ff 02 00 80 35d0: 03 10 c9 01 nop lq.xyz vf09xyz,3(vi02) ; normal[0] to VF09 35d4: ff 02 00 00 35d8: 00 00 c0 42 muli[i].xyz vf04xyz,vf04xyz,i loi 96 35dc: 1e 21 c0 81 35e0: cd 03 26 00 maxi.xyz vf08xyz,vf00xyz,i lq.w vf06w,0x3cd(vi00) ; - load magic value 35e4: 1d 02 c0 01 35e8: ca 03 c7 01 nop lq.xyz vf07xyz,0x3ca(vi00) 35ec: ff 02 00 00 35f0: 3c 03 00 80 mulax.xyz accxyz,vf05xyz,vf09x nop 35f4: bc 29 c9 01 35f8: 07 10 ce 01 madday.xyz accxyz,vf06xyz,vf09y lq.xyz vf14xyz,7(vi02) ; - normal[1] to VF14 35fc: bd 30 c9 01 3600: c8 03 26 00 mulw.xyz vf08xyz,vf08xyz,vf06w lq.w vf06w,0x3c8(vi00) ; - intensity of specular material 3604: 1b 42 c6 01 3608: 3c 03 00 80 maddz.xyz vf09xyz,vf07xyz,vf09z nop 360c: 4a 3a c9 01 3610: 3c 03 00 80 mulax.xyz accxyz,vf05xyz,vf14x nop 3614: bc 29 ce 01 3618: 3c 03 00 80 mulw.xyz vf08xyz,vf08xyz,vf06w nop 361c: 1b 42 c6 01 3620: 02 10 23 00 mul.xyz vf11xyz,vf09xyz,vf03xyz lq.w vf03w,2(vi02) ; - color[0] to VF03 3624: ea 4a c3 01 3628: 00 00 7f 43 madday[i].xyz accxyz,vf06xyz,vf14y loi 255 362c: bd 30 ce 81 3630: 00 30 50 00 maddz.xyz vf14xyz,vf07xyz,vf14z lq.z vf16z,0(vi06) ; - drawn texcoord[0] to VF16 3634: 8a 3b ce 01 3638: 01 70 03 10 minii.xyz vf08xyz,vf08xyz,i iaddiu vi03,vi14,1 ; - GIF packet 363c: 1f 42 c0 01 3640: 00 08 ee 02 addaz.x accx,vf11x,vf11z sq.yzw vf01yzw,0(vi14) ; - write GIFtag 3644: 3e 58 0b 01 3648: 03 30 4c 00 maddy.x vf16x,vf01x,vf11y lq.z vf12z,3(vi06) ; - drawn texcoord[1] to VF12 364c: 09 0c 0b 01 3650: 0a 10 30 00 ftoi0.w vf09w,vf03w lq.w vf16w,10(vi02) ; - color[2] to VF16 3654: 7c 19 29 00 3658: 06 10 2b 00 ftoi0.xyz vf08xyz,vf08xyz lq.w vf11w,6(vi02) ; - color[1] to VF11 365c: 7c 41 c8 01 3660: f4 03 8b 0a mul.xyz vf11xyz,vf14xyz,vf03xyz isw.y vi11,0x3f4(vi00)y 3664: ea 72 c3 01 3668: f4 03 0a 0b mulx.xyz vf10xyz,vf09xyz,vf16x isw.x vi10,0x3f4(vi00)x 366c: 98 4a d0 01 3670: 06 30 51 00 mulaz.xyz accxyz,vf04xyz,vf16z lq.z vf17z,6(vi06) ; - drawn texcoord[2] to VF17 3674: be 21 d0 01 3678: f4 03 4c 0a max.xyz vf18xyz,vf08xyz,vf08xyz isw.z vi12,0x3f4(vi00)z 367c: ab 44 c8 01 3680: 0b 10 d3 01 max.xyz vf09xyz,vf08xyz,vf08xyz lq.xyz vf19xyz,11(vi02) ; - normal[2] to VF19 3684: 6b 42 c8 01 3688: 00 70 09 0b msubz.xyz vf10xyz,vf10xyz,vf16z isw.x vi09,0(vi14)x ; flags will be tested below - write vertex count 368c: 8e 52 d0 01 3690: f4 03 2d 0a addaz.x accx,vf11x,vf11z isw.w vi13,0x3f4(vi00)w 3694: 3e 58 0b 01 3698: 20 00 0d 10 maddy.x vf15x,vf01x,vf11y iaddiu vi13,vi00,0x20 ; - MAC flag (z sign) mask 369c: c9 0b 0b 01 36a0: 3c 43 cd 81 mulax.xyz accxyz,vf05xyz,vf19x move.xyz vf13xyz,vf08xyz ; - copy color 36a4: bc 29 d3 01 36a8: 00 68 04 34 madday.xyz accxyz,vf06xyz,vf19y fmand vi04,vi13 ; - test MAC flag 36ac: bd 30 d3 01 36b0: 3c 83 4a 80 maddz.xyz vf19xyz,vf07xyz,vf19z move.z vf10z,vf16z 36b4: ca 3c d3 01 .1: 36b8: 03 00 04 50 mulx.xyz vf11xyz,vf14xyz,vf15x ibeq vi04,vi00,L38.2[0x36d8] ; - branch if not negative 36bc: d8 72 cf 01 36c0: 0e 10 21 00 mul.xyz vf16xyz,vf19xyz,vf03xyz lq.w vf01w,14(vi02) ; - color[3] to VF01 36c4: 2a 9c c3 01 36c8: 03 00 00 40 nop b L38.3[0x36e8] 36cc: ff 02 00 00 36d0: 01 48 e3 03 nop sq.xyzw vf09xyzw,1(vi03) ; store color[0] 36d4: ff 02 00 00 .2: 36d8: 01 00 00 40 nop b L38.3[0x36e8] 36dc: ff 02 00 00 36e0: 01 00 e3 03 nop sq.xyzw vf00xyzw,1(vi03) ; store color[0] (black) 36e4: ff 02 00 00 .3: 36e8: 0f 10 ce 01 mulaz.xyz accxyz,vf04xyz,vf12z lq.xyz vf14xyz,15(vi02) 36ec: be 21 cc 01 36f0: 04 10 05 10 msubz.xyz vf20xyz,vf11xyz,vf12z iaddiu vi05,vi02,4 36f4: 0e 5d cc 01 36f8: 20 00 04 10 addaz.x accx,vf16x,vf16z iaddiu vi04,vi00,0x20 36fc: 3e 80 10 01 3700: 09 30 41 00 maddy.x vf09x,vf01x,vf16y lq.z vf01z,9(vi06) 3704: 49 0a 10 01 3708: 03 30 06 10 mulax.xyz accxyz,vf05xyz,vf14x iaddiu vi06,vi06,3 370c: bc 29 ce 01 3710: 00 20 04 34 madday.xyz accxyz,vf06xyz,vf14y fmand vi04,vi04 3714: bd 30 ce 01 3718: 3c 63 54 80 maddz.xyz vf14xyz,vf07xyz,vf14z move.z vf20z,vf12z 371c: 8a 3b ce 01 3720: 2f 38 05 50 max.xyz vf15xyz,vf08xyz,vf08xyz ibeq vi05,vi07,L38.9[0x38a0] 3724: eb 43 c8 01 3728: 00 50 c3 03 ftoi0.w vf13w,vf11w sq.xyz vf10xyz,0(vi03) ; - store texcoord[0] 372c: 7c 59 2d 00 3730: 03 00 04 50 mul.xyz vf10xyz,vf14xyz,vf03xyz ibeq vi04,vi00,L38.a[0x3750] 3734: aa 72 c3 01 3738: 0e 28 23 00 mulx.xyz vf11xyz,vf19xyz,vf09x lq.w vf03w,14(vi05) 373c: d8 9a c9 01 3740: 03 00 00 40 nop b L38.4[0x3760] 3744: ff 02 00 00 3748: 04 68 e3 03 nop sq.xyzw vf13xyzw,4(vi03) ; store color[1] 374c: ff 02 00 00 .a: 3750: 01 00 00 40 nop b L38.4[0x3760] 3754: ff 02 00 00 3758: 04 00 e3 03 nop sq.xyzw vf00xyzw,4(vi03) ; store color[1] (black) 375c: ff 02 00 00 .4: 3760: 0f 28 d3 01 addaz.x accx,vf10x,vf10z lq.xyz vf19xyz,15(vi05) 3764: 3e 50 0a 01 3768: 04 28 04 10 max.xyz vf09xyz,vf08xyz,vf08xyz iaddiu vi04,vi05,4 376c: 6b 42 c8 01 3770: 20 00 02 10 maddy.x vf12x,vf01x,vf10y iaddiu vi02,vi00,0x20 3774: 09 0b 0a 01 3778: 09 30 50 00 mulaz.xyz accxyz,vf04xyz,vf17z lq.z vf16z,9(vi06) 377c: be 21 d1 01 3780: 03 30 06 10 msubz.xyz vf21xyz,vf11xyz,vf17z iaddiu vi06,vi06,3 3784: 4e 5d d1 01 3788: 3c 8b 55 80 mulax.xyz accxyz,vf05xyz,vf19x move.z vf21z,vf17z 378c: bc 29 d3 01 3790: 03 a0 c3 03 madday.xyz accxyz,vf06xyz,vf19y sq.xyz vf20xyz,3(vi03) ; - store texcoord[1] 3794: bd 30 d3 01 3798: 20 38 04 50 maddz.xyz vf19xyz,vf07xyz,vf19z ibeq vi04,vi07,L38.9[0x38a0] 379c: ca 3c d3 01 37a0: 00 10 02 34 ftoi0.w vf18w,vf16w fmand vi02,vi02 37a4: 7c 81 32 00 37a8: 03 00 02 50 mul.xyz vf17xyz,vf19xyz,vf03xyz ibeq vi02,vi00,L38.5[0x37c8] 37ac: 6a 9c c3 01 37b0: 0e 20 2b 00 mulx.xyz vf10xyz,vf14xyz,vf12x lq.w vf11w,14(vi04) 37b4: 98 72 cc 01 37b8: 03 00 00 40 nop b L38.6[0x37d8] 37bc: ff 02 00 00 37c0: 07 90 e3 03 nop sq.xyzw vf18xyzw,7(vi03) ; store color[2] 37c4: ff 02 00 00 .5: 37c8: 01 00 00 40 nop b L38.6[0x37d8] 37cc: ff 02 00 00 37d0: 07 00 e3 03 nop sq.xyzw vf00xyzw,7(vi03) ; store color[2] (black) 37d4: ff 02 00 00 .6: 37d8: 0f 20 ce 01 addaz.x accx,vf17x,vf17z lq.xyz vf14xyz,15(vi04) 37dc: 3e 88 11 01 37e0: 04 20 05 10 max.xyz vf13xyz,vf08xyz,vf08xyz iaddiu vi05,vi04,4 37e4: 6b 43 c8 01 37e8: 20 00 02 10 maddy.x vf11x,vf01x,vf17y iaddiu vi02,vi00,0x20 37ec: c9 0a 11 01 37f0: 09 30 4c 00 mulaz.xyz accxyz,vf04xyz,vf01z lq.z vf12z,9(vi06) 37f4: be 21 c1 01 37f8: 03 30 06 10 msubz.xyz vf20xyz,vf10xyz,vf01z iaddiu vi06,vi06,3 37fc: 0e 55 c1 01 3800: 3c 0b 54 80 mulax.xyz accxyz,vf05xyz,vf14x move.z vf20z,vf01z 3804: bc 29 ce 01 3808: 06 a8 c3 03 madday.xyz accxyz,vf06xyz,vf14y sq.xyz vf21xyz,6(vi03) ; - store texcoord[2] 380c: bd 30 ce 01 3810: 11 38 05 50 maddz.xyz vf14xyz,vf07xyz,vf14z ibeq vi05,vi07,L38.9[0x38a0] 3814: 8a 3b ce 01 3818: 00 10 02 34 ftoi0.w vf15w,vf01w fmand vi02,vi02 381c: 7c 09 2f 00 3820: 03 00 02 50 mulx.xyz vf21xyz,vf19xyz,vf11x ibeq vi02,vi00,L38.7[0x3840] 3824: 58 9d cb 01 3828: 0e 28 30 00 mul.xyz vf22xyz,vf14xyz,vf03xyz lq.w vf16w,14(vi05) 382c: aa 75 c3 01 3830: 03 00 00 40 nop b L38.8[0x3850] 3834: ff 02 00 00 3838: 0a 78 e3 03 nop sq.xyzw vf15xyzw,10(vi03) ; store color[3] 383c: ff 02 00 00 .7: 3840: 01 00 00 40 nop b L38.8[0x3850] 3844: ff 02 00 00 3848: 0a 00 e3 03 nop sq.xyzw vf00xyzw,10(vi03) ; store color[3] (black) 384c: ff 02 00 00 .8: 3850: 0f 28 d3 01 addaz.x accx,vf22x,vf22z lq.xyz vf19xyz,15(vi05) 3854: 3e b0 16 01 3858: 04 28 02 10 maddy.x vf15x,vf01x,vf22y iaddiu vi02,vi05,4 385c: c9 0b 16 01 3860: 20 00 04 10 mulaz.xyz accxyz,vf04xyz,vf16z iaddiu vi04,vi00,0x20 3864: be 21 d0 01 3868: 09 30 51 00 msubz.xyz vf10xyz,vf21xyz,vf16z lq.z vf17z,9(vi06) 386c: 8e aa d0 01 3870: 03 30 06 10 nop iaddiu vi06,vi06,3 3874: ff 02 00 00 3878: 3c 83 4a 80 max.xyz vf18xyz,vf08xyz,vf08xyz move.z vf10z,vf16z 387c: ab 44 c8 01 3880: 09 a0 c3 03 mulax.xyz accxyz,vf05xyz,vf19x sq.xyz vf20xyz,9(vi03) ; - store texcoord[3] 3884: bc 29 d3 01 3888: 00 20 04 34 madday.xyz accxyz,vf06xyz,vf19y fmand vi04,vi04 388c: bd 30 d3 01 3890: c4 3f 02 52 maddz.xyz vf19xyz,vf07xyz,vf19z ibne vi02,vi07,L38.1[0x36b8] ; - loop back if not at end 3894: ca 3c d3 01 3898: 0c 18 03 10 ftoi0.w vf09w,vf03w iaddiu vi03,vi03,12 389c: 7c 19 29 00 .9: 38a0: f4 03 0a 09 nop ilw.x vi10,0x3f4(vi00)x 38a4: ff 02 00 00 38a8: f4 03 8b 08 nop ilw.y vi11,0x3f4(vi00)y 38ac: ff 02 00 00 38b0: f4 03 4c 08 nop ilw.z vi12,0x3f4(vi00)z 38b4: ff 02 00 00 38b8: f4 03 2d 08 nop ilw.w vi13,0x3f4(vi00)w 38bc: ff 02 00 00 38c0: 00 78 00 48 nop jr vi15 38c4: ff 02 00 00 38c8: 3c 03 00 80 nop nop 38cc: ff 02 00 00 38d0: 2e 48 09 10 nop iaddiu vi09,vi09,0x2e 38d4: ff 02 00 00 38d8: 03 48 05 12 nop isubiu vi05,vi09,3 38dc: ff 02 00 00 38e0: 00 00 08 11 nop iaddiu vi08,vi00,0x4000 38e4: ff 02 00 00 38e8: 0d 28 00 58 nop ibltz vi05,0x3958 38ec: ff 02 00 00 38f0: 30 42 08 80 nop iadd vi08,vi08,vi08 38f4: ff 02 00 00 38f8: 35 42 09 80 nop ior vi08,vi08,vi09 38fc: ff 02 00 00 3900: 00 70 08 0b nop isw.x vi08,0(vi14)x 3904: ff 02 00 00 3908: f0 03 0d 80 nop iadd vi15,vi00,vi13 390c: ff 02 00 00 3910: 70 03 0e 80 nop iadd vi13,vi00,vi14 3914: ff 02 00 00 3918: fc 76 00 80 nop xgkick vi14 391c: ff 02 00 00 3920: d0 56 06 52 nop ibne vi06,vi10,0x2fa8 3924: ff 02 00 00 3928: b0 03 0f 80 nop iadd vi14,vi00,vi15 392c: ff 02 00 00 3930: 04 00 00 40 nop b 0x3958 3934: ff 02 00 00 3938: 3c 03 00 80 nop nop 393c: ff 02 00 00 3940: f0 03 0d 80 nop iadd vi15,vi00,vi13 3944: ff 02 00 00 3948: 70 03 0e 80 nop iadd vi13,vi00,vi14 394c: ff 02 00 00 3950: b0 03 0f 80 nop iadd vi14,vi00,vi15 3954: ff 02 00 00 end2: 3958: 33 00 0f 10 nop[e] iaddiu vi15,vi00,0x33 395c: ff 02 00 40 3960: 3c 03 00 80 nop nop 3964: ff 02 00 00 3968: 00 78 00 48 nop jr vi15 396c: ff 02 00 00 3970: 3c 03 00 80 nop nop 3974: ff 02 00 00