//{{{ _reg_dump .globl _reg_dump .align 8 _reg_dump:: //{{{ proc entry - save r1 r2 r3 addu -256, sp, sp st.l r1,0(sp) adds 256,sp,r1 // save r2 **before** call into stack frame st.l r1,4(sp) st.l fp,8(sp) //}}} //{{{ save r4..r31, f2..f31 st.l r4, 12(sp) st.l r5, 16(sp) st.l r6, 20(sp) st.l r7, 24(sp) st.l r8, 28(sp) st.l r9, 32(sp) st.l r10, 36(sp) st.l r11, 40(sp) st.l r12, 44(sp) st.l r13, 48(sp) st.l r14, 52(sp) st.l r15, 56(sp) st.l r16, 60(sp) //st.l r17, 64(sp) st.l r18, 68(sp) st.l r19, 72(sp) st.l r20, 76(sp) st.l r21, 80(sp) st.l r22, 84(sp) st.l r23, 88(sp) st.l r24, 92(sp) st.l r25, 96(sp) st.l r26, 100(sp) st.l r27, 104(sp) st.l r28, 108(sp) st.l r29, 112(sp) st.l r30, 116(sp) st.l r31, 120(sp) adds 120, sp, sp fst.l f2, 4(sp)++ fst.l f3, 4(sp)++ fst.l f4, 4(sp)++ fst.l f5, 4(sp)++ fst.l f6, 4(sp)++ fst.l f7, 4(sp)++ fst.l f8, 4(sp)++ fst.l f9, 4(sp)++ fst.l f10, 4(sp)++ fst.l f11, 4(sp)++ fst.l f12, 4(sp)++ fst.l f13, 4(sp)++ fst.l f14, 4(sp)++ fst.l f15, 4(sp)++ fst.l f16, 4(sp)++ fst.l f17, 4(sp)++ fst.l f18, 4(sp)++ fst.l f19, 4(sp)++ fst.l f20, 4(sp)++ fst.l f21, 4(sp)++ fst.l f22, 4(sp)++ fst.l f23, 4(sp)++ fst.l f24, 4(sp)++ fst.l f25, 4(sp)++ fst.l f26, 4(sp)++ fst.l f27, 4(sp)++ fst.l f28, 4(sp)++ fst.l f29, 4(sp)++ fst.l f30, 4(sp)++ fst.l f31, 4(sp)++ adds -240, sp, sp //}}} call _trace_regs mov sp, r16 //{{{ restore all ld.l 12(sp) , r4 ld.l 16(sp) , r5 ld.l 20(sp) , r6 ld.l 24(sp) , r7 ld.l 28(sp) , r8 ld.l 32(sp) , r9 ld.l 36(sp) , r10 ld.l 40(sp) , r11 ld.l 44(sp) , r12 ld.l 48(sp) , r13 ld.l 52(sp) , r14 ld.l 56(sp) , r15 ld.l 60(sp) , r16 ld.l 64(sp) , r17 ld.l 68(sp) , r18 ld.l 72(sp) , r19 ld.l 76(sp) , r20 ld.l 80(sp) , r21 ld.l 84(sp) , r22 ld.l 88(sp) , r23 ld.l 92(sp) , r24 ld.l 96(sp) , r25 ld.l 100(sp) , r26 ld.l 104(sp) , r27 ld.l 108(sp) , r28 ld.l 112(sp) , r29 ld.l 116(sp) , r30 ld.l 120(sp) , r31 adds 120, sp, sp fld.l 4(sp)++, f2 fld.l 4(sp)++, f3 fld.l 4(sp)++, f4 fld.l 4(sp)++, f5 fld.l 4(sp)++, f6 fld.l 4(sp)++, f7 fld.l 4(sp)++, f8 fld.l 4(sp)++, f9 fld.l 4(sp)++, f10 fld.l 4(sp)++, f11 fld.l 4(sp)++, f12 fld.l 4(sp)++, f13 fld.l 4(sp)++, f14 fld.l 4(sp)++, f15 fld.l 4(sp)++, f16 fld.l 4(sp)++, f17 fld.l 4(sp)++, f18 fld.l 4(sp)++, f19 fld.l 4(sp)++, f20 fld.l 4(sp)++, f21 fld.l 4(sp)++, f22 fld.l 4(sp)++, f23 fld.l 4(sp)++, f24 fld.l 4(sp)++, f25 fld.l 4(sp)++, f26 fld.l 4(sp)++, f27 fld.l 4(sp)++, f28 fld.l 4(sp)++, f29 fld.l 4(sp)++, f30 fld.l 4(sp)++, f31 adds -240, sp, sp //}}} //{{{ proc exit ld.l 0(sp),r1 ld.l 8(sp),fp bri r1 addu 256, sp, sp //}}} //}}} // constant for 1/x code .data .align 8 .globl _Cmax_x .globl _Cmax_y .globl _Cdelta_u .globl _Cdelta_v _Cdelta_u: .long 0x0 _Cdelta_v: .long 0x0 _Cmax_x: // (0) .Cmax_x: // (0) .C640: .long 0x442fbf5c // 7.02989990E+02 _Cmax_y: // (0) .Cmax_y: // (0) .C480: .long 0x43ff7eb8 // 5.10989990E+02 .fminus_one: .long 0xbf800000 // -1.00000000E+00 .fminus_256: .long 0xc37ffd71 // -2.55990005E+02 .C00037: // (0) .two_point_0: // (0) .long 0x40000000 // 2.00000000E+00 .eight_point_0: // (0) .long 0x41000000 // 8.00000000E+00 .four_point_0: // (0) .long 0x40800000 // 4.00000000E+00 .C362436: // (0) .long 0x3ecccccd // 4.00000006E-01 //.Czscale1024: // (0) // .long 0x49800000 // 1.04857600E+06 .Czscale: // (0) .long 0x497fffff // 1.04857588E+06 .Ctexscale: // (0) .long 0x477fffff // 6.55359883E+04 _.Cturn_z_to_tex: // (0) // .long 0x4879999a // 2.55590406E+05 .long 0x48f99980 // 5.11180000E+05 // NB this is now by 4 !!!!! _.Cturn_z_to_tex_by_4: // (0) .long 0x47f99980 // 1.27795000E+05 _.Cturn_z_to_tex_by_8: // (0) .long 0x4779999a // 6.38976016E+04 .r5r6r7opcodes: .string "r5 r6 r7 have opcodes?" .byte 0x0 .done_opacity_intro: .string "done opacity intro" .byte 0x0 .have_binitized: .string "have binitized, about to go next_triangle" .byte 0x0 .run_out_of_coeffs: .string "run out of coeffstore" .byte 0x0 .bini_pipe_minimax: .string "computed minimax piped" .byte 0x0