.file "vr_draw.c" // PGC Rel 2.0a -opt 4 .text .globl _compute_phong_table .align 8 _compute_phong_table: .a1 = 0 .f1 = 32 orh h%.STACK+.f1-16, r0, r28 or l%.STACK+.f1-16, r28, r28 // lineno: 0 // lineno: 59 ftrunc.sd f8, f16 fxfr f16, r17 adds -2, r17, r0 bnc .B772 orh ha%_vr_phong_table, r0, r31 br .B1572 ld.l l%_vr_phong_table(r31), r16 // lineno: 65 .B772: //.B0000 adds -1, r17, r17 .DB.B772772: subs 16, r17, r0 bnc .B774 adds 15, r0, r17 // lineno: 70 .B774: //.B0001 shl 7, r17, r29 .DB.B774774: shl 2, r29, r30 orh ha%_vr_phong_table, r0, r31 ld.l l%_vr_phong_table(r31), r16 adds r30, r16, r16 st.l r16, -4(r28) // lineno: 0 .B1572: //.R0000 // lineno: 76 bri r1 nop .globl _init_phong .align 8 _init_phong: .a2 = 0 .f2 = 64 addu -(.a2+.f2), sp, sp st.l fp,(.f2-16)(sp) addu (.f2-16), sp, fp st.l r1, 4(fp) st.l r4, -32(fp) st.l r5, -28(fp) st.l r6, -24(fp) st.l r7, -20(fp) st.l r8, -16(fp) // lineno: 0 orh h%_vr_phong_table, r0, r31 or l%_vr_phong_table, r31, r8 // lineno: 91 adds 8192, r0, r16 call _malloc nop orh ha%.C01580, r0, r31 fld.l l%.C01580(r31), f8 orh ha%.C01579, r0, r31 fld.d l%.C01579(r31), f10 adds 127, r0, r18 st.l r16, 0(r8) adds -1, r0, r17 adds 1, r0, r19 mov r0, r20 mov r8, r21 bla r17, r18,.B1595 pfmul.dd f0, f0, f0 // lineno: 94 .B1595: //.M0000 .align 8 d.pfadd.dd f0, f0, f0 nop .PL1001: d.fnop xorh 0x8000, r19, r28 .DB.B15951595: d.fnop ixfr r28, f16 d.fiadd.ss f11, f0, f17 ld.l r0(r21), r29 d.pfsub.dd f16, f10, f0 adds 1, r19, r19 d.pfadd.dd f0, f0, f0 nop d.pfadd.dd f0, f0, f0 nop d.pfadd.dd f0, f0, f16 nop d.pfmov.ds f16, f0 nop d.pfadd.dd f0, f0, f0 nop d.pfadd.dd f0, f0, f0 nop d.m12tpa.ss f8, f30, f30 nop d.pfmul.ss f0, f0, f0 nop d.pfmul.ss f0, f0, f0 bla r17, r18, .PL1002 d.pfmul.ss f0, f0, f30 fst.l f30, r20(r29) .PL1002: d.fnop xorh 0x8000, r19, r28 d.fnop ixfr r28, f16 d.fiadd.ss f11, f0, f17 ld.l r0(r21), r29 d.fnop addu 4, r20, r20 d.pfsub.dd f16, f10, f0 adds 1, r19, r19 d.pfadd.dd f0, f0, f0 nop d.pfadd.dd f0, f0, f0 nop d.pfadd.dd f0, f0, f16 nop d.pfmov.ds f16, f0 nop d.pfadd.dd f0, f0, f0 nop d.pfadd.dd f0, f0, f0 nop d.m12tpa.ss f8, f30, f30 nop d.pfmul.ss f0, f0, f0 nop d.pfmul.ss f0, f0, f0 bla r17, r18, .PL1002 d.pfmul.ss f0, f0, f30 fst.l f30, r20(r29) .PL1003: d.fnop addu 4, r20, r20 d.fnop bla r17, r18, .PL1003 d.fnop nop fnop nop fnop nop // lineno: 95 .B783: //.B0003 ld.l r0(r8), r4 .DB.B783783: adds 1, r0, r6 adds -16, r6, r0 bnc .B787 fld.l -4(fp), f12 fld.l -8(fp), f13 mov r7, r18 adds -1, r0, r17 mov r8, r21 // lineno: 100 .B1601: //.M0002 adds 127, r0, r18 .DB.B16011601: addu 508, r4, r5 mov r0, r20 bla r17, r18,.B1600 pfmul.dd f0, f0, f0 // lineno: 101 .B1600: //.M0001 ld.l r0(r21), r28 .DB.B16001600: fld.l r0(r4), f16 fld.l r28(r20), f12 addu 4, r4, r4 addu 4, r20, r20 fmul.ss f12, f16, f17 bla r17, r18, .B1600 fst.l f17, 4(r5)++ // lineno: 0 adds 1, r6, r6 adds -16, r6, r0 bc.t .DB.B16011601 adds 127, r0, r18 // lineno: 0 mov r18, r7 fst.l f12, -4(fp) fst.l f13, -8(fp) // lineno: 0 .B787: //.B0005 // lineno: 107 ld.l -32(fp), r4 ld.l -28(fp), r5 ld.l -24(fp), r6 ld.l -20(fp), r7 ld.l -16(fp), r8 adds .a2+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .globl _multisync .align 8 _multisync: .a3 = 0 .f3 = 48 addu -(.a3+.f3), sp, sp st.l fp,(.f3-16)(sp) addu (.f3-16), sp, fp st.l r1, 4(fp) // lineno: 180 orh ha%__processorId, r0, r31 ld.l l%__processorId(r31), r28 shl 2, r28, r29 orh ha%_shared_cntl, r0, r31 ld.l l%_shared_cntl(r31), r30 st.l r28, -8(fp) addu 96, r30, r16 adds r29, r16, r16 st.l r16, -16(fp) st.l r30, -4(fp) orh ha%__numProcessors, r0, r31 ld.l l%__numProcessors(r31), r17 br .B1611 st.l r17, -12(fp) // lineno: 213 .B1611: //.R0001 adds .a3+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .align 8 _start_frame_stats: // lineno: 219 orh ha%_unclipped_tris, r0, r31 st.l r0, l%_unclipped_tris(r31) orh ha%_farz_drawn_tris, r0, r31 st.l r0, l%_farz_drawn_tris(r31) orh ha%_farz_rejected_tris, r0, r31 st.l r0, l%_farz_rejected_tris(r31) orh ha%_clipped_tris, r0, r31 st.l r0, l%_clipped_tris(r31) orh ha%_clipped_patches, r0, r31 st.l r0, l%_clipped_patches(r31) orh ha%_unclipped_patches, r0, r31 bri r1 st.l r0, l%_unclipped_patches(r31) // lineno: 225 bri r1 nop .align 8 _add_DMA_opcodes: .a5 = 80 .f5 = 48 addu -(.a5+.f5), sp, sp st.l fp,(.f5-16)(sp) addu (.f5-16), sp, fp st.l r1, 4(fp) st.l r4, -16(fp) st.l r5, -12(fp) st.l r6, -8(fp) st.l r16, 48(fp) st.l r17, 52(fp) mov r18, r5 // lineno: 0 // lineno: 231 ld.l 4(r16), r6 shl 2, r18, r30 ld.l 2040(r6), r28 shra 2, r28, r4 subs 2032, r28, r29 subs r29, r30, r0 bnc .B844 call _next_binchunk nop shl 2, r4, r28 st.l r16, 2044(r6) mov r16, r29 adds r28, r6, r31 st.l r29, 0(r31) addu 4, r6, r30 adds r28, r30, r31 st.l r0, 0(r31) mov r6, r17 ld.l 2044(r6), r6 adds 2032, r0, r19 st.l r0, 2044(r6) st.l r19, 2040(r17) mov r0, r4 ld.l 48(fp), r20 st.l r6, 4(r20) // lineno: 255 .B844: //.B0012 shl 2, r4, r28 .DB.B844844: adds r28, r6, r16 ld.l 52(fp), r17 call _memcpy shl 2, r5, r18 ld.l 2040(r6), r28 shl 2, r5, r29 adds r29, r28, r30 st.l r30, 2040(r6) // lineno: 0 // lineno: 257 ld.l -16(fp), r4 ld.l -12(fp), r5 ld.l -8(fp), r6 adds .a5+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .globl _setpxpl5VideoMode .align 8 _setpxpl5VideoMode: // lineno: 0 orh ha%_framebuf_flip, r0, r31 ld.l l%_framebuf_flip(r31), r17 orh ha%_first_framebuf_y, r0, r31 ld.l l%_first_framebuf_y(r31), r18 // lineno: 263 and 0x0004, r16, r0 bc .B849 adds 4, r0, r29 mov r29, r17 br .B851 adds 16, r0, r18 // lineno: 267 .B849: //.B0013 and 0x0010, r16, r0 .DB.B849849: bc .B852 br .B854 adds 4, r0, r17 // lineno: 270 .B852: //.B0015 and 0x0008, r16, r0 .DB.B852852: bc .B856 mov r0, r18 adds 8, r0, r29 br .B858 mov r29, r17 // lineno: 276 .B856: //.B0017 mov r0, r18 .DB.B856856: adds 4, r0, r17 // lineno: 0 .B858: //.B0018 // lineno: 0 .B854: //.B0016 // lineno: 280 .B851: //.B0014 and 0x0080, r16, r0 .DB.B851851: bc .B860 adds 16, r0, r18 // lineno: 0 .B860: //.B0019 orh ha%_framebuf_flip, r0, r31 .DB.B860860: st.l r17, l%_framebuf_flip(r31) orh ha%_first_framebuf_y, r0, r31 bri r1 st.l r18, l%_first_framebuf_y(r31) // lineno: 282 bri r1 nop .align 8 _strap_up_transptiles: .a7 = 80 .f7 = 144 addu -(.a7+.f7), sp, sp st.l fp,(.f7-16)(sp) addu (.f7-16), sp, fp st.l r1, 4(fp) st.l r4, -120(fp) st.l r5, -116(fp) st.l r6, -112(fp) st.l r7, -108(fp) st.l r8, -104(fp) st.l r9, -100(fp) st.l r10, -96(fp) st.l r11, -92(fp) st.l r12, -88(fp) st.l r13, -84(fp) st.l r14, -80(fp) st.l r15, -76(fp) st.l r16, 48(fp) st.l r18, 56(fp) st.l r19, 60(fp) st.l r20, 64(fp) st.l r21, 68(fp) mov r17, r11 // lineno: 0 orh 0x8000, r0, r5 // lineno: 319 orh ha%_shared_cntl, r0, r31 ld.l l%_shared_cntl(r31), r28 mov r0, r12 ld.l 20(r28), r29 ld.l 36(r28), r30 st.l r29, -8(fp) st.l r30, -12(fp) ld.l 28(r28), r17 ld.l 44(r28), r18 st.l r17, -16(fp) st.l r18, -20(fp) orh h%.BSS, r0, r31 or l%.BSS, r31, r19 ld.l r0(r19), r7 ld.l 4(r19), r8 orh ha%_prevBin, r0, r31 ld.l l%_prevBin(r31), r15 subs 0, r16, r0 st.l r0, -4(fp) bnc .B906 shl 2, r17, r20 adds r20, r29, r21 st.l r21, -32(fp) shl 2, r18, r22 adds r22, r30, r23 st.l r23, -40(fp) addu 4, r29, r26 ld.l 56(fp), r24 ld.l 60(fp), r25 st.l r24, -24(fp) st.l r25, -28(fp) adds r20, r26, r26 st.l r26, -36(fp) addu 4, r30, r27 adds r22, r27, r27 st.l r27, -44(fp) adds 2, r18, r9 adds 2, r17, r10 mov r0, r12 // lineno: 333 .B1733: //.M0004 subs 0, r11, r0 mov r0, r4 bnc .B909 ld.l -24(fp), r28 ld.l -28(fp), r29 st.l r28, -48(fp) st.l r29, -52(fp) mov r0, r4 ld.l -44(fp), r30 ld.l -40(fp), r17 st.l r30, -56(fp) st.l r17, -60(fp) ld.l -36(fp), r18 ld.l -32(fp), r19 st.l r18, -64(fp) st.l r19, -68(fp) ld.l 64(fp), r6 // lineno: 334 .B1714: //.M0003 ld.l -52(fp), r14 .DB.B17141714: ld.l -48(fp), r13 ld.l r0(r14), r28 ld.l r0(r13), r17 ld.l 252(r28), r29 ld.l 2040(r28), r30 st.l r17, -72(fp) bte r29, r30, .B916 bte 0x0000, r15, .B918 orh ha%_display_tile_base, r0, r31 ld.l l%_display_tile_base(r31), r18 ld.l -68(fp), r26 adds r8, r18, r19 shl 5, r19, r20 or r7, r20, r21 orh ha%_tile_poke_address, r0, r31 ld.l l%_tile_poke_address(r31), r22 ld.l -64(fp), r27 st.l r21, 0(r22) orh ha%_wait_poke_address, r0, r31 ld.l l%_wait_poke_address(r31), r23 ld.l -60(fp), r30 st.l r5, 0(r23) mov r15, r16 ld.l r0(r14), r24 ld.l -56(fp), r29 addu 8, r24, r24 mov r24, r25 st.l r25, 0(r26) st.l r0, 0(r27) ld.l r0(r13), r28 addu 8, r28, r28 mov r28, r17 st.l r17, 0(r30) st.l r0, 0(r29) ld.l -8(fp), r17 call _add_DMA_opcodes mov r10, r18 mov r14, r16 ld.l -12(fp), r17 call _add_DMA_opcodes mov r9, r18 orh ha%_trans_wait_poke_address, r0, r31 ld.l l%_trans_wait_poke_address(r31), r28 br .B922 st.l r5, 0(r28) // lineno: 365 .B918: //.B0025 ld.l r0(r14), r28 .DB.B918918: ld.l -60(fp), r18 st.l r0, 0(r28) mov r14, r16 ld.l r0(r14), r29 ld.l -56(fp), r19 st.l r0, 4(r29) ld.l r0(r13), r30 st.l r14, -4(fp) addu 8, r30, r30 mov r30, r17 st.l r17, 0(r18) st.l r0, 0(r19) ld.l -12(fp), r17 call _add_DMA_opcodes mov r9, r18 orh ha%_trans_wait_poke_address, r0, r31 ld.l l%_trans_wait_poke_address(r31), r28 st.l r5, 0(r28) // lineno: 381 .B922: //.B0026 br .B924 nop // lineno: 382 .B916: //.B0024 orh h%_random_index, r0, r31 .DB.B916916: or l%_random_index, r31, r28 ld.l 0(r28), r29 ld.l -72(fp), r17 shl 2, r29, r30 orh ha%_random_x, r0, r31 fld.l l%_random_x(r31), f16 addu 268, r17, r18 addu 284, r17, r21 fst.l f16, r30(r18) orh ha%_random_y, r0, r31 fld.l l%_random_y(r31), f17 ld.l 0(r28), r19 shl 2, r19, r20 fst.l f17, r20(r21) bte 0x0000, r15, .B927 orh ha%_display_tile_base, r0, r31 ld.l l%_display_tile_base(r31), r22 ld.l -68(fp), r17 adds r8, r22, r23 shl 5, r23, r24 or r7, r24, r25 orh ha%_tile_poke_address, r0, r31 ld.l l%_tile_poke_address(r31), r26 ld.l -64(fp), r30 st.l r25, 0(r26) mov r15, r16 ld.l r0(r13), r27 addu 8, r27, r27 mov r27, r29 st.l r29, 0(r17) st.l r0, 0(r30) ld.l -8(fp), r17 call _add_DMA_opcodes mov r10, r18 orh ha%_wait_poke_address, r0, r31 ld.l l%_wait_poke_address(r31), r28 br .B929 st.l r5, 0(r28) // lineno: 394 .B927: //.B0028 ld.l r0(r13), r28 .DB.B927927: st.l r13, -4(fp) st.l r0, 0(r28) ld.l r0(r13), r29 st.l r0, 4(r29) // lineno: 0 .B929: //.B0029 // lineno: 401 .B924: //.B0027 ld.l -48(fp), r28 .DB.B924924: ld.l -52(fp), r29 addu 128, r28, r28 st.l r28, -48(fp) addu 128, r29, r29 st.l r29, -52(fp) mov r6, r8 mov r12, r7 mov r13, r15 adds 1, r4, r4 adds 1, r6, r6 subs r4, r11, r0 bc.t .DB.B17141714 ld.l -52(fp), r14 // lineno: 0 // lineno: 405 .B909: //.B0023 ld.l -24(fp), r28 .DB.B909909: ld.l -28(fp), r29 addu 8, r28, r28 st.l r28, -24(fp) addu 8, r29, r29 st.l r29, -28(fp) adds 1, r12, r12 ld.l 48(fp), r30 subs r12, r30, r0 bc .B1733 // lineno: 0 // lineno: 406 .B906: //.B0021 ld.l 68(fp), r28 .DB.B906906: bte 0x0000, r28, .B931 orh ha%_display_tile_base, r0, r31 ld.l l%_display_tile_base(r31), r29 ld.l -16(fp), r20 adds r8, r29, r30 shl 5, r30, r17 or r7, r17, r18 orh ha%_tile_poke_address, r0, r31 ld.l l%_tile_poke_address(r31), r19 shl 2, r20, r21 st.l r18, 0(r19) orh 0xf800, r0, r23 ld.l -8(fp), r17 mov r15, r16 adds r21, r17, r31 st.l r0, 0(r31) addu 4, r17, r22 adds r21, r22, r31 st.l r23, 0(r31) adds 2, r20, r18 orh h%.B934, r0, r1 br _add_DMA_opcodes or l%.B934, r1, r1 // lineno: 417 .B931: //.B0030 orh ha%_prevBin, r0, r31 .DB.B931931: st.l r15, l%_prevBin(r31) // lineno: 419 .B934: //.B0031 orh h%.BSS, r0, r31 .DB.B934934: or l%.BSS, r31, r28 st.l r7, 0(r28) st.l r8, 4(r28) ld.l -4(fp), r16 // lineno: 0 // lineno: 423 ld.l -120(fp), r4 ld.l -116(fp), r5 ld.l -112(fp), r6 ld.l -108(fp), r7 ld.l -104(fp), r8 ld.l -100(fp), r9 ld.l -96(fp), r10 ld.l -92(fp), r11 ld.l -88(fp), r12 ld.l -84(fp), r13 ld.l -80(fp), r14 ld.l -76(fp), r15 adds .a7+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .align 8 _redo_end_of_frame: .a8 = 0 .f8 = 32 addu -(.a8+.f8), sp, sp st.l fp,(.f8-16)(sp) addu (.f8-16), sp, fp st.l r1, 4(fp) // lineno: 441 orh ha%_shared_cntl, r0, r31 ld.l l%_shared_cntl(r31), r28 ld.l 20(r28), r16 ld.l 16(r28), r17 call _short_end_of_frame_DMA ld.l 52(r28), r18 orh h%_shared_cntl, r0, r31 or l%_shared_cntl, r31, r28 ld.l 0(r28), r29 st.l r16, 28(r29) ld.l 0(r28), r30 ld.l 52(r30), r16 call _end_of_textr_DMA ld.l 48(r30), r17 orh ha%_shared_cntl, r0, r31 ld.l l%_shared_cntl(r31), r28 st.l r16, 60(r28) orh ha%_recompute_end_of_frame, r0, r31 st.l r0, l%_recompute_end_of_frame(r31) // lineno: 447 adds .a8+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .align 8 _pxpl5_flip: .a9 = 80 .f9 = 64 addu -(.a9+.f9), sp, sp st.l fp,(.f9-16)(sp) addu (.f9-16), sp, fp st.l r1, 4(fp) st.l r4, -40(fp) st.l r5, -36(fp) st.l r6, -32(fp) st.l r7, -28(fp) st.l r8, -24(fp) st.l r9, -20(fp) st.l r10, -16(fp) st.l r11, -12(fp) // lineno: 0 orh h%_screenbins, r0, r31 or l%_screenbins, r31, r5 orh h%_trans_screenbins, r0, r31 or l%_trans_screenbins, r31, r6 orh h%_coefficient_ptr, r0, r31 or l%_coefficient_ptr, r31, r7 orh h%_coeffstore0, r0, r31 or l%_coeffstore0, r31, r8 orh h%_screen1bins, r0, r31 or l%_screen1bins, r31, r9 orh h%_screen0bins, r0, r31 or l%_screen0bins, r31, r10 // lineno: 473 orh h%_texture_table_iptr, r0, r31 or l%_texture_table_iptr, r31, r28 ld.l 0(r28), r29 orh ha%_prevBin, r0, r31 st.l r0, l%_prevBin(r31) bte 0x0000, r29, .B968 adds 3, r0, r18 orh h%_texture_ramps+-4, r0, r31 or l%_texture_ramps+-4, r31, r19 adds -1, r0, r17 mov r0, r20 mov r28, r21 bla r17, r18,.B1789 pfmul.dd f0, f0, f0 // lineno: 484 .B1789: //.M0005 ld.l r0(r21), r28 .DB.B17891789: ld.l 28(r19), r29 addu 8, r28, r28 adds r20, r28, r31 st.l r29, 0(r31) addu 28, r19, r19 bla r17, r18, .B1789 addu 12, r20, r20 // lineno: 499 .B968: //.B0032 orh h%.BSS+8, r0, r31 .DB.B968968: or l%.BSS+8, r31, r28 ld.l 4(r28), r16 ld.l r0(r28), r17 ld.l r0(r5), r18 ld.l r0(r6), r19 orh ha%_first_framebuf_y, r0, r31 ld.l l%_first_framebuf_y(r31), r20 call _strap_up_transptiles adds 1, r0, r21 orh ha%__processorId, r0, r31 ld.l l%__processorId(r31), r28 st.l r16, -4(fp) btne 0x0000, r28, .B973 orh ha%_recompute_end_of_frame, r0, r31 ld.l l%_recompute_end_of_frame(r31), r29 bte 0x0000, r29, .B976 orh h%_redo_end_of_frame, r0, r31 br .B977 or l%_redo_end_of_frame, r31, r11 // lineno: 519 .B976: //.B0036 mov r0, r11 .DB.B976976: // lineno: 524 .B977: //.B0037 ld.l -4(fp), r28 .DB.B977977: ld.l r0(r28), r16 orh ha%_shared_cntl, r0, r31 ld.l l%_shared_cntl(r31), r29 ld.l 84(r29), r17 ld.l 52(r29), r18 call _dN_pxpl5_dma mov r11, r19 mov r16, r4 or (500000&0xffff), r0, r28 orh ((500000>>16)&0xffff), r28, r28 subs r28, r16, r0 mov r16, r29 bnc .B979 orh h%.S00980, r0, r31 or l%.S00980, r31, r16 call _printf mov r29, r17 // lineno: 528 .B979: //.B0038 orh ha%_recompute_end_of_frame, r0, r31 .DB.B979979: st.l r0, l%_recompute_end_of_frame(r31) orh h%.B982, r0, r1 br _multisync or l%.B982, r1, r1 // lineno: 533 .B973: //.B0035 call _multisync nop // lineno: 537 .B982: //.B0039 call _start_frame_stats nop ld.l r0(r10), r28 ld.l r0(r5), r29 btne r28, r29, .B984 orh ha%_trans_screen1bins, r0, r31 ld.l l%_trans_screen1bins(r31), r30 ld.l r0(r9), r16 st.l r30, 0(r6) br .B986 st.l r16, 0(r5) // lineno: 544 .B984: //.B0040 ld.l r0(r9), r28 .DB.B984984: ld.l r0(r5), r29 btne r28, r29, .B987 orh ha%_trans_screen0bins, r0, r31 ld.l l%_trans_screen0bins(r31), r30 ld.l r0(r10), r16 st.l r30, 0(r6) br .B989 st.l r16, 0(r5) // lineno: 550 .B987: //.B0042 orh h%.S00990, r0, r31 .DB.B987987: or l%.S00990, r31, r16 ld.l r0(r5), r17 ld.l r0(r10), r18 call _printf ld.l r0(r9), r19 // lineno: 551 .B993: //.B0044 br .B993 nop // lineno: 0 .B989: //.B0043 // lineno: 555 .B986: //.B0041 ld.l r0(r5), r16 .DB.B986986: adds 1024, r0, r17 call _liberate_screenbins adds 768, r0, r18 ld.l r0(r6), r16 adds 1024, r0, r17 call _liberate_screenbins adds 768, r0, r18 orh ha%_lastcoeffptr, r0, r31 ld.l l%_lastcoeffptr(r31), r28 ld.l r0(r8), r29 btne r29, r28, .B997 orh ha%_coeffstore1, r0, r31 ld.l l%_coeffstore1(r31), r30 orh ha%_last_coeffchunk, r0, r31 st.l r30, l%_last_coeffchunk(r31) br .B999 st.l r30, 0(r7) // lineno: 563 .B997: //.B0046 ld.l r0(r8), r28 .DB.B997997: orh ha%_last_coeffchunk, r0, r31 st.l r28, l%_last_coeffchunk(r31) st.l r28, 0(r7) // lineno: 567 .B999: //.B0047 orh h%_display_tile_base, r0, r31 .DB.B999999: or l%_display_tile_base, r31, r28 ld.l 0(r28), r29 orh ha%_framebuf_flip, r0, r31 ld.l l%_framebuf_flip(r31), r30 ld.l r0(r7), r22 xor r29, r30, r16 st.l r16, 0(r28) orh ha%_lastcoeffptr, r0, r31 st.l r22, l%_lastcoeffptr(r31) // lineno: 0 // lineno: 575 ld.l -40(fp), r4 ld.l -36(fp), r5 ld.l -32(fp), r6 ld.l -28(fp), r7 ld.l -24(fp), r8 ld.l -20(fp), r9 ld.l -16(fp), r10 ld.l -12(fp), r11 adds .a9+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .globl _flip_screens .align 8 _flip_screens: .a10 = 80 .f10 = 112 addu -(.a10+.f10), sp, sp st.l fp,(.f10-16)(sp) addu (.f10-16), sp, fp st.l r1, 4(fp) st.l r4, -80(fp) st.l r5, -76(fp) st.l r6, -72(fp) st.l r7, -68(fp) st.l r8, -64(fp) st.l r9, -60(fp) st.l r10, -56(fp) st.l r11, -52(fp) st.l r12, -48(fp) st.l r13, -44(fp) st.l r14, -40(fp) st.l r15, -36(fp) st.l r16, 48(fp) st.l r17, 52(fp) // lineno: 0 or (268435472&0xffff), r0, r5 orh ((268435472>>16)&0xffff), r5, r5 orh h%_shared_cntl, r0, r31 or l%_shared_cntl, r31, r12 orh h%_casio_ix, r0, r31 or l%_casio_ix, r31, r15 orh 0x2000, r0, r6 // lineno: 583 ld.l r0(r15), r28 adds 1, r28, r29 and 0x000f, r29, r30 adds 11, r30, r16 and 0x000f, r16, r22 shl 2, r22, r23 orh h%_random_numbers, r0, r31 or l%_random_numbers, r31, r24 fld.l r24(r23), f16 orh ha%.C01007, r0, r31 fld.l l%.C01007(r31), f17 shl 2, r30, r25 fld.l r24(r25), f19 fmul.ss f16, f17, f18 st.l r30, 0(r15) orh ha%_random_y, r0, r31 fst.l f18, l%_random_y(r31) fmul.ss f19, f17, f20 orh ha%_random_x, r0, r31 fst.l f20, l%_random_x(r31) orh ha%_very_first_frame, r0, r31 ld.l l%_very_first_frame(r31), r26 btne 0x0000, r26, .B1009 ld.l r0(r12), r27 mov r0, r10 ld.l 16(r27), r14 adds 63, r0, r18 st.l r14, -4(fp) addu -4, r14, r19 adds -1, r0, r17 bla r17, r18,.B1818 pfmul.dd f0, f0, f0 // lineno: 594 .B1818: //.M0006 mov r19, r28 .DB.B18181818: addu 4, r19, r19 bla r17, r18, .B1818 st.l r0, 4(r28) // lineno: 594 .B1017: //.B0050 addu 4, r14, r28 .DB.B10171017: addu 4, r28, r29 addu 4, r29, r30 addu 4, r30, r16 addu 4, r16, r22 addu 4, r22, r23 addu 4, r23, r24 addu 4, r24, r25 addu 4, r25, r26 addu 4, r26, r27 st.l r26, -16(fp) st.l r25, -12(fp) st.l r24, -8(fp) mov r14, r26 addu 4, r27, r14 mov r14, r4 adds 256, r0, r25 st.l r25, 0(r26) or (167790592&0xffff), r0, r24 orh ((167790592>>16)&0xffff), r24, r24 st.l r24, 4(r26) or (973142528&0xffff), r0, r27 orh ((973142528>>16)&0xffff), r27, r27 st.l r27, 4(r28) st.l r0, 4(r29) st.l r0, 4(r30) st.l r0, 4(r16) or (989958400&0xffff), r0, r25 orh ((989958400>>16)&0xffff), r25, r25 st.l r25, 4(r22) st.l r0, 4(r23) mov r0, r9 ld.l -8(fp), r26 ld.l -12(fp), r24 st.l r0, 4(r26) st.l r0, 4(r24) mov r0, r9 ld.l -16(fp), r28 ld.l -4(fp), r27 st.l r0, 4(r28) mov r27, r7 // lineno: 610 .B1823: //.M0008 ld.l r0(r12), r28 .DB.B18231823: adds 31, r0, r18 ld.l 20(r28), r13 mov r10, r21 addu 4, r13, r29 addu 4, r29, r8 st.l r0, 0(r13) st.l r0, 4(r13) adds -1, r0, r17 orh 0x6000, r0, r20 bla r17, r18,.B1820 pfmul.dd f0, f0, f0 // lineno: 617 .B1820: //.M0007 addu 4, r8, r28 .DB.B18201820: addu 4, r28, r29 addu 4, r29, r30 addu 4, r30, r16 addu 4, r16, r22 addu 4, r22, r23 addu 4, r23, r24 addu 4, r24, r25 addu 4, r25, r26 addu 4, r26, r27 st.l r26, -28(fp) st.l r25, -24(fp) st.l r24, -20(fp) addu 4, r27, r26 mov r8, r25 addu 4, r26, r8 st.l r21, 0(r25) st.l r6, 4(r25) st.l r4, 4(r28) st.l r20, 4(r29) st.l r4, 4(r30) st.l r20, 4(r16) st.l r7, 4(r22) st.l r5, 4(r23) adds 1, r21, r21 ld.l -20(fp), r24 ld.l -24(fp), r26 st.l r4, 4(r24) st.l r20, 4(r26) ld.l -28(fp), r25 st.l r0, 4(r25) bla r17, r18, .B1820 st.l r20, 4(r27) // lineno: 0 st.l r0, 0(r8) orh 0xf800, r0, r28 st.l r28, 4(r8) mov r13, r16 ld.l r0(r12), r29 addu 4, r8, r30 ld.l 84(r29), r17 ld.l 52(r29), r18 addu 4, r30, r8 mov r21, r10 call _dN_pxpl5_dma mov r0, r19 adds 1, r9, r9 adds -32, r9, r0 bc.t .DB.B18231823 ld.l r0(r12), r28 // lineno: 0 ld.l r0(r12), r28 ld.l 20(r28), r16 ld.l 16(r28), r17 ld.l 52(r28), r18 orh h%_very_first_frame, r0, r31 or l%_very_first_frame, r31, r29 ld.l 0(r29), r30 adds 1, r30, r22 call _short_end_of_frame_DMA st.l r22, 0(r29) ld.l r0(r12), r28 st.l r16, 28(r28) // lineno: 655 .B1009: //.B0048 ld.l 48(fp), r16 .DB.B10091009: call _pxpl5_flip ld.l 52(fp), r17 // lineno: 0 // lineno: 681 ld.l -80(fp), r4 ld.l -76(fp), r5 ld.l -72(fp), r6 ld.l -68(fp), r7 ld.l -64(fp), r8 ld.l -60(fp), r9 ld.l -56(fp), r10 ld.l -52(fp), r11 ld.l -48(fp), r12 ld.l -44(fp), r13 ld.l -40(fp), r14 ld.l -36(fp), r15 adds .a10+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .globl _render_init .align 8 _render_init: .a11 = 80 .f11 = 48 addu -(.a11+.f11), sp, sp st.l fp,(.f11-16)(sp) addu (.f11-16), sp, fp st.l r1, 4(fp) st.l r4, -16(fp) st.l r5, -12(fp) st.l r6, -8(fp) mov r16, r4 mov r17, r5 // lineno: 0 orh h%_shared_cntl, r0, r31 or l%_shared_cntl, r31, r6 // lineno: 698 call _multisync nop orh h%_render_inited, r0, r31 or l%_render_inited, r31, r28 ld.l 0(r28), r29 btne 0x0000, r29, .B1052 orh h%_texture_ramps, r0, r31 or l%_texture_ramps, r31, r16 adds 1, r0, r30 mov r0, r17 fiadd.ss f0, f0, f8 fiadd.ss f0, f0, f9 fiadd.ss f0, f0, f10 orh ha%.C00036, r0, r31 fld.l l%.C00036(r31), f11 orh ha%_render_inited, r0, r31 st.l r30, l%_render_inited(r31) fiadd.ss f11, f0, f12 call _setRampEntry fiadd.ss f11, f0, f13 orh ha%.C01056, r0, r31 fld.l l%.C01056(r31), f8 orh h%_texture_ramps+28, r0, r31 or l%_texture_ramps+28, r31, r16 adds 1, r0, r17 orh ha%.C00036, r0, r31 fld.l l%.C00036(r31), f11 fiadd.ss f0, f0, f9 fiadd.ss f0, f0, f10 orh ha%.C01057, r0, r31 fld.l l%.C01057(r31), f13 call _setRampEntry fiadd.ss f11, f0, f12 orh h%_texture_ramps+56, r0, r31 or l%_texture_ramps+56, r31, r16 adds 2, r0, r17 fiadd.ss f0, f0, f8 orh ha%.C00038, r0, r31 fld.l l%.C00038(r31), f9 orh ha%.C00036, r0, r31 fld.l l%.C00036(r31), f11 fiadd.ss f0, f0, f10 fiadd.ss f11, f0, f12 call _setRampEntry fiadd.ss f11, f0, f13 orh h%_texture_ramps+84, r0, r31 or l%_texture_ramps+84, r31, r16 adds 3, r0, r17 fiadd.ss f0, f0, f8 fiadd.ss f0, f0, f9 orh ha%.C01059, r0, r31 fld.l l%.C01059(r31), f10 orh ha%.C01057, r0, r31 fld.l l%.C01057(r31), f11 orh ha%.C00036, r0, r31 fld.l l%.C00036(r31), f13 call _setRampEntry fiadd.ss f11, f0, f12 call _texInit nop call _getFsr nop call _setFsr or 0x0001, r16, r16 adds 63, r4, r28 shra 6, r28, r29 orh h%.BSS+12, r0, r31 or l%.BSS+12, r31, r30 st.l r29, 0(r30) adds 127, r5, r16 shra 7, r16, r17 st.l r17, -4(r30) orh ha%_display_tile_base, r0, r31 call _init_phong st.l r0, l%_display_tile_base(r31) orh ha%__processorId, r0, r31 ld.l l%__processorId(r31), r28 btne 0x0000, r28, .B1061 call _newBytes adds 8192, r0, r16 ld.l r0(r6), r28 st.l r16, 84(r28) call _newBytes adds 8192, r0, r16 ld.l r0(r6), r28 st.l r16, 20(r28) call _newBytes adds 8192, r0, r16 ld.l r0(r6), r28 st.l r16, 16(r28) call _malloc adds 2048, r0, r16 mov r16, r28 adds 8192, r0, r16 orh ha%.BSS+16, r0, r31 call _newBytes st.l r28, l%.BSS+16(r31) ld.l r0(r6), r28 st.l r16, 36(r28) call _newBytes adds 8192, r0, r16 ld.l r0(r6), r28 st.l r16, 32(r28) call _malloc adds 2048, r0, r16 mov r16, r28 adds 8192, r0, r16 orh ha%.BSS+20, r0, r31 call _newBytes st.l r28, l%.BSS+20(r31) ld.l r0(r6), r28 st.l r16, 52(r28) call _newBytes adds 8192, r0, r16 ld.l r0(r6), r28 st.l r16, 48(r28) call _newBytes adds 8192, r0, r16 ld.l r0(r6), r28 st.l r16, 68(r28) call _newBytes adds 8192, r0, r16 ld.l r0(r6), r28 st.l r16, 64(r28) call _newBytes adds 8192, r0, r16 ld.l r0(r6), r28 st.l r16, 80(r28) ld.l r0(r6), r29 ld.l 52(r29), r16 call _end_of_textr_DMA ld.l 48(r29), r17 ld.l r0(r6), r28 st.l r16, 60(r28) ld.l r0(r6), r29 ld.l 68(r29), r16 call _end_of_transp_DMA ld.l 64(r29), r17 ld.l r0(r6), r28 adds 45, r0, r19 st.l r16, 76(r28) adds 66, r0, r20 ld.l r0(r6), r29 adds 135, r0, r21 ld.l 20(r29), r16 ld.l 16(r29), r17 ld.l 52(r29), r18 call _short_end_of_frame_DMA adds 20, r0, r22 ld.l r0(r6), r28 st.l r16, 28(r28) ld.l r0(r6), r29 ld.l 36(r29), r16 ld.l 32(r29), r17 call _end_of_transframe_DMA ld.l 68(r29), r18 ld.l r0(r6), r28 st.l r16, 44(r28) orh h%.B1070, r0, r1 br _multisync or l%.B1070, r1, r1 // lineno: 780 .B1061: //.B0058 call _multisync nop // lineno: 881 .B1070: //.B0059 adds 1024, r0, r16 .DB.B10701070: shl r0, r0, r28 btne r4, r16, ..L0 adds 1, r0, r28 ..L0: adds 768, r0, r17 call _create_screenbins mov r28, r18 orh ha%.C01579, r0, r31 fld.d l%.C01579(r31), f16 xorh 0x8000, r4, r28 ixfr r28, f18 fiadd.ss f17, f0, f19 xorh 0x8000, r5, r29 fsub.dd f18, f16, f20 orh ha%.C01076, r0, r31 fld.l l%.C01076(r31), f23 fmov.ds f20, f22 fsub.ss f22, f23, f24 orh ha%_Cmax_x, r0, r31 fst.l f24, l%_Cmax_x(r31) ixfr r29, f26 fiadd.ss f17, f0, f27 fsub.dd f26, f16, f28 fmov.ds f28, f25 fsub.ss f25, f23, f30 orh ha%_Cmax_y, r0, r31 call _multisync fst.l f30, l%_Cmax_y(r31) // lineno: 0 .B1052: //.B0057 // lineno: 898 ld.l -16(fp), r4 ld.l -12(fp), r5 ld.l -8(fp), r6 adds .a11+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .globl _vpx_drawstuff .align 8 _vpx_drawstuff: // lineno: 0 // lineno: 910 ld.l 32(r19), r29 st.l r29, 0(r16) fld.l 12(r19), f16 orh ha%.C01082, r0, r31 fld.l l%.C01082(r31), f17 fmul.ss f16, f17, f18 ftrunc.sd f18, f20 fxfr f20, r30 subs 31, r30, r20 st.l r20, 0(r17) ld.l 32(r19), r21 bte 0x0000, r21, .B1084 ld.l 172(r18), r22 and 0x0003, r22, r0 bc .B1086 orh h%_tri_zb_rgb_t, r0, r31 bri r1 or l%_tri_zb_rgb_t, r31, r16 // lineno: 917 .B1086: //.B0061 orh h%_tri_zb_f_t, r0, r31 .DB.B10861086: bri r1 or l%_tri_zb_f_t, r31, r16 // lineno: 920 .B1084: //.B0060 ld.l 172(r18), r29 .DB.B10841084: and 0x0003, r29, r0 bc .B1090 orh h%_tri_zb_rgb, r0, r31 br .B1860 or l%_tri_zb_rgb, r31, r16 // lineno: 923 .B1090: //.B0064 orh h%_tri_zb_f, r0, r31 .DB.B10901090: bri r1 or l%_tri_zb_f, r31, r16 // lineno: 0 .B1860: //.R0004 // lineno: 925 bri r1 nop .align 8 _eval_lmodel: .a13 = 80 .f13 = 144 addu -(.a13+.f13), sp, sp st.l fp,(.f13-16)(sp) addu (.f13-16), sp, fp st.l r1, 4(fp) fst.d f2, -112(fp) fst.d f4, -104(fp) fst.d f6, -96(fp) st.l r4, -88(fp) st.l r5, -84(fp) st.l r6, -80(fp) st.l r7, -76(fp) st.l r8, -72(fp) st.l r9, -68(fp) st.l r10, -64(fp) st.l r11, -60(fp) st.l r12, -56(fp) st.l r13, -52(fp) st.l r14, -48(fp) st.l r15, -44(fp) st.l r16, 48(fp) // lineno: 0 adds 3, r0, r5 // lineno: 938 fld.l 72(r17), f16 fld.l 76(r17), f17 fld.l 80(r17), f18 fst.l f16, -8(fp) fst.l f17, -12(fp) fst.l f18, -16(fp) adds 1, r0, r28 fld.l 88(r17), f19 fld.l 92(r17), f20 fld.l 96(r17), f21 fst.l f19, -20(fp) fst.l f20, -24(fp) fst.l f21, -28(fp) mov r0, r4 fld.l 104(r17), f22 fld.l 108(r17), f23 fld.l 112(r17), f24 fst.l f22, -32(fp) fst.l f23, -36(fp) fst.l f24, -40(fp) st.l r28, 100(r16) addu 108, r16, r8 ld.l 104(r16), r29 st.l r29, -4(fp) bte 0x0000, r29, .B1114 ld.l 16(r29), r7 bte 0x0000, r7, .B1117 ld.l 48(fp), r30 mov r0, r4 addu 96, r30, r13 addu 92, r30, r14 addu 88, r30, r15 addu 4, r8, r9 addu 8, r8, r10 addu 12, r8, r11 addu 16, r8, r12 // lineno: 957 .B1904: //.M0009 ld.l r0(r7), r6 .DB.B19041904: ld.l 12(r6), r28 btne r5, r28, .B1120 st.l r5, 0(r8) mov r12, r16 fld.l 44(r6), f16 fld.l -8(fp), f17 fld.l 48(r6), f3 fld.l -20(fp), f19 fmul.ss f17, f16, f18 fld.l 52(r6), f2 fld.l -32(fp), f22 fmul.ss f19, f3, f20 fld.l -12(fp), f24 fld.l -24(fp), f26 fadd.ss f20, f18, f21 fld.l -36(fp), f29 fld.l -16(fp), f31 fmul.ss f22, f2, f23 fld.l -28(fp), f11 fld.l -40(fp), f14 fadd.ss f23, f21, f7 fld.l 16(r6), f17 fiadd.ss f7, f0, f8 fmul.ss f16, f24, f25 fmul.ss f3, f26, f27 fadd.ss f27, f25, f28 fmul.ss f2, f29, f30 fadd.ss f30, f28, f6 fiadd.ss f6, f0, f9 fmul.ss f16, f31, f10 fmul.ss f3, f11, f12 orh ha%.C00036, r0, r31 fld.l l%.C00036(r31), f11 fadd.ss f12, f10, f13 fmul.ss f2, f14, f15 fadd.ss f15, f13, f5 fiadd.ss f5, f0, f10 fst.l f17, r0(r9) fld.l 20(r6), f19 fst.l f19, r0(r10) fld.l 24(r6), f18 call _quick_renorm fst.l f18, r0(r11) adds 1, r4, r4 addu 48, r8, r8 addu 48, r9, r9 addu 48, r10, r10 addu 48, r11, r11 addu 48, r12, r12 bte 0x0008, r4, .B1905 br .B1129 nop // lineno: 999 .B1120: //.B0069 ld.l 12(r6), r28 .DB.B11201120: btne 0x0002, r28, .B1130 fld.l 16(r6), f16 fst.l f16, r0(r15) fld.l 20(r6), f17 fst.l f17, r0(r14) fld.l 24(r6), f18 fst.l f18, r0(r13) // lineno: 0 .B1130: //.B0072 // lineno: 1011 .B1129: //.B0071 ld.l 8(r7), r7 .DB.B11291129: xor 0x0000, r7, r0 bnc.t .DB.B19041904 ld.l r0(r7), r6 // lineno: 0 .B1905: //.N0000 // lineno: 1012 .B1117: //.B0068 ld.l 48(fp), r28 .DB.B11171117: st.l r4, 4(r28) // lineno: 0 .B1114: //.B0066 // lineno: 1015 fld.d -112(fp), f2 fld.d -104(fp), f4 fld.d -96(fp), f6 ld.l -88(fp), r4 ld.l -84(fp), r5 ld.l -80(fp), r6 ld.l -76(fp), r7 ld.l -72(fp), r8 ld.l -68(fp), r9 ld.l -64(fp), r10 ld.l -60(fp), r11 ld.l -56(fp), r12 ld.l -52(fp), r13 ld.l -48(fp), r14 ld.l -44(fp), r15 adds .a13+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .globl _light_structure .align 8 _light_structure: .a14 = 80 .f14 = 96 orh h%.STACK+.f14-16, r0, r28 or l%.STACK+.f14-16, r28, r28 fst.d f2, -64(r28) fst.d f4, -56(r28) fst.d f6, -48(r28) st.l r4, -40(r28) st.l r5, -36(r28) st.l r6, -32(r28) st.l r7, -28(r28) st.l r8, -24(r28) st.l r9, -20(r28) st.l r10, -16(r28) st.l r11, -12(r28) st.l r12, -8(r28) st.l r22, 72(r28) st.l r23, 76(r28) // lineno: 0 // lineno: 1280 orh ha%.C01144, r0, r31 fld.l l%.C01144(r31), f16 fld.l r0(r18), f17 fld.l 4(r18), f18 fld.l 8(r18), f19 fmul.ss f17, f16, f4 fld.l 88(r17), f7 fld.l 92(r17), f6 fmul.ss f18, f16, f3 fld.l 96(r17), f5 fmul.ss f19, f16, f2 bte 0x0000, r16, .B1150 mov r20, r7 mov r21, r8 ld.l 76(r28), r9 ld.l 72(r28), r10 addu 108, r17, r11 addu 4, r17, r12 // lineno: 1289 .B1937: //.M0010 ld.l r16(r9), r29 .DB.B19371937: bte 0x0000, r29, .B1152 adds r7, r16, r30 fld.l r0(r30), f13 fld.l 4(r30), f14 fld.l 8(r30), f15 fiadd.ss f7, f0, f12 ld.l r0(r12), r4 fiadd.ss f6, f0, f11 mov r11, r5 adds -1, r4, r0 fiadd.ss f5, f0, f10 bc .B1165 fld.l 16(r11), f16 fld.l 20(r11), f18 fld.l 24(r11), f21 fmul.ss f16, f13, f17 fmul.ss f18, f14, f19 fadd.ss f19, f17, f20 fmul.ss f21, f15, f22 fadd.ss f22, f20, f23 fmul.ss f23, f8, f9 pfle.ss f9, f0, f0 bnc .B1167 fld.l 4(r11), f24 fld.l 8(r11), f26 fld.l 12(r11), f28 fmul.ss f9, f24, f25 fadd.ss f25, f7, f12 fmul.ss f9, f26, f27 fadd.ss f27, f6, f11 fmul.ss f9, f28, f29 fadd.ss f29, f5, f10 // lineno: 1313 .B1167: //.B0077 addu 48, r5, r5 .DB.B11671167: adds -2, r4, r0 bc .B1165 fld.l 16(r5), f16 fld.l 20(r5), f18 fld.l 24(r5), f21 fmul.ss f16, f13, f17 fmul.ss f18, f14, f19 fadd.ss f19, f17, f20 fmul.ss f21, f15, f22 fadd.ss f22, f20, f23 fmul.ss f23, f8, f9 pfle.ss f9, f0, f0 bnc .B1170 fld.l 4(r5), f24 fld.l 8(r5), f26 fld.l 12(r5), f28 fmul.ss f9, f24, f25 fadd.ss f25, f12, f12 fmul.ss f9, f26, f27 fadd.ss f27, f11, f11 fmul.ss f9, f28, f29 fadd.ss f29, f10, f10 // lineno: 1325 .B1170: //.B0079 addu 48, r5, r5 .DB.B11701170: adds -3, r4, r0 bc .B1165 fld.l 16(r5), f16 fld.l 20(r5), f18 fld.l 24(r5), f21 fmul.ss f16, f13, f17 fmul.ss f18, f14, f19 fadd.ss f19, f17, f20 fmul.ss f21, f15, f22 fadd.ss f22, f20, f23 fmul.ss f23, f8, f9 pfle.ss f9, f0, f0 bnc .B1173 fld.l 4(r5), f24 fld.l 8(r5), f26 fld.l 12(r5), f28 fmul.ss f9, f24, f25 fadd.ss f25, f12, f12 fmul.ss f9, f26, f27 fadd.ss f27, f11, f11 fmul.ss f9, f28, f29 fadd.ss f29, f10, f10 // lineno: 1337 .B1173: //.B0081 addu 48, r5, r5 .DB.B11731173: adds -4, r4, r0 bc .B1165 fld.l 16(r5), f16 fld.l 20(r5), f18 fld.l 24(r5), f21 fmul.ss f16, f13, f17 fmul.ss f18, f14, f19 fadd.ss f19, f17, f20 fmul.ss f21, f15, f22 fadd.ss f22, f20, f23 fmul.ss f23, f8, f9 pfle.ss f9, f0, f0 bnc .B1176 fld.l 4(r5), f24 fld.l 8(r5), f26 fld.l 12(r5), f28 fmul.ss f9, f24, f25 fadd.ss f25, f12, f12 fmul.ss f9, f26, f27 fadd.ss f27, f11, f11 fmul.ss f9, f28, f29 fadd.ss f29, f10, f10 // lineno: 1349 .B1176: //.B0083 addu 48, r5, r5 .DB.B11761176: adds -5, r4, r0 bc .B1165 fld.l 16(r5), f16 fld.l 20(r5), f18 fld.l 24(r5), f21 fmul.ss f16, f13, f17 fmul.ss f18, f14, f19 fadd.ss f19, f17, f20 fmul.ss f21, f15, f22 fadd.ss f22, f20, f23 fmul.ss f23, f8, f9 pfle.ss f9, f0, f0 bnc .B1179 fld.l 4(r5), f24 fld.l 8(r5), f26 fld.l 12(r5), f28 fmul.ss f9, f24, f25 fadd.ss f25, f12, f12 fmul.ss f9, f26, f27 fadd.ss f27, f11, f11 fmul.ss f9, f28, f29 fadd.ss f29, f10, f10 // lineno: 1361 .B1179: //.B0085 addu 48, r5, r5 .DB.B11791179: adds -6, r4, r0 bc .B1165 fld.l 16(r5), f16 fld.l 20(r5), f18 fld.l 24(r5), f21 fmul.ss f16, f13, f17 fmul.ss f18, f14, f19 fadd.ss f19, f17, f20 fmul.ss f21, f15, f22 fadd.ss f22, f20, f23 fmul.ss f23, f8, f9 pfle.ss f9, f0, f0 bnc .B1182 fld.l 4(r5), f24 fld.l 8(r5), f26 fld.l 12(r5), f28 fmul.ss f9, f24, f25 fadd.ss f25, f12, f12 fmul.ss f9, f26, f27 fadd.ss f27, f11, f11 fmul.ss f9, f28, f29 fadd.ss f29, f10, f10 // lineno: 1373 .B1182: //.B0087 addu 48, r5, r5 .DB.B11821182: adds -7, r4, r0 bc .B1165 fld.l 16(r5), f16 fld.l 20(r5), f18 fld.l 24(r5), f21 fmul.ss f16, f13, f17 fmul.ss f18, f14, f19 fadd.ss f19, f17, f20 fmul.ss f21, f15, f22 fadd.ss f22, f20, f23 fmul.ss f23, f8, f9 pfle.ss f9, f0, f0 bnc .B1185 fld.l 4(r5), f24 fld.l 8(r5), f26 fld.l 12(r5), f28 fmul.ss f9, f24, f25 fadd.ss f25, f12, f12 fmul.ss f9, f26, f27 fadd.ss f27, f11, f11 fmul.ss f9, f28, f29 fadd.ss f29, f10, f10 // lineno: 1385 .B1185: //.B0089 // lineno: 1389 .B1165: //accums fmul.ss f12, f4, f16 .DB.B11651165: mov r16, r29 fst.l f16, r10(r29)++ fmul.ss f11, f3, f17 fst.l f17, 4(r29)++ fmul.ss f10, f2, f18 fst.l f18, 4(r29)++ addu 4, r29, r6 // lineno: 1396 .B1152: //.B0075 ld.l r16(r8), r16 .DB.B11521152: xor 0x0000, r16, r0 bnc.t .DB.B19371937 ld.l r16(r9), r29 // lineno: 0 // lineno: 0 .B1150: //.B0074 // lineno: 1397 fld.d -64(r28), f2 fld.d -56(r28), f4 fld.d -48(r28), f6 ld.l -40(r28), r4 ld.l -36(r28), r5 ld.l -32(r28), r6 ld.l -28(r28), r7 ld.l -24(r28), r8 ld.l -20(r28), r9 ld.l -16(r28), r10 ld.l -12(r28), r11 ld.l -8(r28), r12 bri r1 nop .align 8 _cookize_vertices: // lineno: 0 orh ha%.C01144, r0, r31 fld.l l%.C01144(r31), f8 orh ha%.C01082, r0, r31 fld.l l%.C01082(r31), f12 orh ha%.C00036, r0, r31 fld.l l%.C00036(r31), f14 adds -1, r0, r19 // lineno: 1405 subs 0, r17, r0 fld.l 12(r18), f13 bnc .B1202 adds -1, r17, r20 bla r19, r20,.B1953 pfmul.dd f0, f0, f0 // lineno: 1413 .B1953: //.M0011 ld.l 76(r16), r29 .DB.B19531953: bte 0x0000, r29, .B1204 fld.l 28(r16), f9 fld.l 16(r16), f19 fld.l 20(r16), f11 fmul.ss f13, f9, f16 fld.l 24(r16), f10 fsub.ss f14, f16, f17 fmul.ss f17, f12, f18 fst.l f18, 40(r16) fmul.ss f19, f8, f20 fst.l f20, 64(r16) fmul.ss f11, f8, f21 fst.l f21, 68(r16) fmul.ss f10, f8, f22 fst.l f22, 72(r16) // lineno: 1425 .B1204: //.B0092 bla r19, r20, .B1953 ld.l 44(r16), r16 // lineno: 0 // lineno: 0 .B1202: //.B0091 // lineno: 1426 bri r1 nop .align 8 _clear_vertices: // lineno: 0 // lineno: 1441 bte 0x0000, r16, .B1210 // lineno: 1443 .B1209: //.B0093 st.l r17, 84(r16) .DB.B12091209: st.l r17, 164(r16) st.l r17, 244(r16) st.l r17, 324(r16) st.l r17, 404(r16) st.l r17, 484(r16) st.l r17, 564(r16) st.l r17, 644(r16) ld.l r0(r16), r16 xor 0x0000, r16, r0 bnc.t .DB.B12091209 st.l r17, 84(r16) // lineno: 0 // lineno: 0 .B1210: //.B0094 // lineno: 1453 bri r1 nop .align 8 _clear_facets: // lineno: 0 // lineno: 1466 bte 0x0000, r16, .B1216 // lineno: 1468 .B1215: //.B0095 st.l r17, 68(r16) .DB.B12151215: st.l r17, 132(r16) st.l r17, 196(r16) st.l r17, 260(r16) st.l r17, 324(r16) st.l r17, 388(r16) st.l r17, 452(r16) st.l r17, 516(r16) ld.l r0(r16), r16 xor 0x0000, r16, r0 bnc.t .DB.B12151215 st.l r17, 68(r16) // lineno: 0 // lineno: 0 .B1216: //.B0096 // lineno: 1478 bri r1 nop .align 8 _solve: .a18 = 0 .f18 = 32 orh h%.STACK+.f18-16, r0, r28 or l%.STACK+.f18-16, r28, r28 st.l r4, -8(r28) // lineno: 0 adds 1, r0, r19 // lineno: 1506 fld.l r0(r17), f8 fld.l 4(r17), f9 fld.l 8(r17), f10 fld.l 12(r17), f11 addu 8, r16, r4 bte 0x0000, r4, .B1230 // lineno: 1514 .B2012: //.M0013 fld.l 32(r4), f16 .DB.B20122012: fld.l 36(r4), f18 fld.l 40(r4), f21 fmul.ss f8, f16, f17 fld.l 44(r4), f24 fmul.ss f9, f18, f19 fadd.ss f19, f17, f20 fmul.ss f10, f21, f22 fadd.ss f22, f20, f23 fmul.ss f11, f24, f25 fadd.ss f25, f23, f26 pfle.ss f26, f0, f0 bnc .B1232 st.l r19, 60(r4) adds 3, r0, r18 ld.l 8(r4), r29 addu 16, r4, r24 st.l r19, 76(r29) addu 4, r4, r25 ld.l 12(r4), r30 st.l r19, 76(r30) ld.l 16(r4), r22 st.l r19, 76(r22) ld.l 4(r4), r23 subs r18, r23, r0 bnc .B1235 mov r24, r20 mov r25, r21 // lineno: 1525 .B2011: //.M0012 ld.l 4(r20), r29 .DB.B20112011: addu 4, r20, r20 st.l r19, 76(r29) adds r19, r18, r18 ld.l r0(r21), r30 subs r18, r30, r0 bc.t .DB.B20112011 ld.l 4(r20), r29 // lineno: 0 // lineno: 1527 .B1235: //.B0101 br .B1237 nop // lineno: 1531 .B1232: //.B0099 st.l r0, 60(r4) .DB.B12321232: // lineno: 1533 .B1237: //.B0102 ld.l r0(r4), r4 .DB.B12371237: xor 0x0000, r4, r0 bnc.t .DB.B20122012 fld.l 32(r4), f16 // lineno: 0 // lineno: 0 .B1230: //.B0098 // lineno: 1534 ld.l -8(r28), r4 bri r1 nop .align 8 _clip_vertex_copy: .a19 = 0 .f19 = 32 orh h%.STACK+.f19-16, r0, r28 or l%.STACK+.f19-16, r28, r28 // lineno: 1598 mov r17, r29 mov r29, r30 fld.l 32(r29)++, f18 mov r16, r18 mov r18, r19 fst.l f18, 32(r18)++ mov r30, r20 fld.l 4(r29)++, f19 mov r19, r21 fst.l f19, 4(r18)++ fld.l 4(r29), f20 fst.l f20, 4(r18) fld.l 48(r30)++, f22 fst.l f22, 48(r19)++ fld.l 4(r30)++, f23 fst.l f23, 4(r19)++ fld.l 4(r30)++, f24 fst.l f24, 4(r19)++ fld.l 4(r30), f25 fst.l f25, 4(r19) fld.l 64(r20)++, f26 fst.l f26, 64(r21)++ fld.l 4(r20)++, f27 fst.l f27, 4(r21)++ fld.l 4(r20)++, f28 addu 4, r20, r23 st.l r23, -8(r28) fst.l f28, 4(r21)++ addu 4, r21, r22 bri r1 st.l r22, -4(r28) // lineno: 1614 bri r1 nop .align 8 _and_project: .a20 = 0 .f20 = 48 orh h%.STACK+.f20-16, r0, r28 or l%.STACK+.f20-16, r28, r28 fst.d f2, -16(r28) st.l r4, -8(r28) // lineno: 0 orh ha%.C00037, r0, r31 fld.l l%.C00037(r31), f9 adds -1, r0, r19 // lineno: 1627 orh ha%.C00036, r0, r31 fld.l l%.C00036(r31), f16 fld.l 172(r16), f17 fld.l 144(r16), f19 fld.l 176(r16), f21 fadd.ss f17, f16, f18 orh ha%_sub_pixel_correct, r0, r31 fld.l l%_sub_pixel_correct(r31), f10 fmul.ss f19, f18, f20 fld.l 152(r16), f23 fld.l 164(r16), f25 fadd.ss f10, f20, f2 fld.l 128(r16), f26 ld.l 4(r18), r4 fadd.ss f21, f16, f22 orh ha%_Czscale, r0, r31 fld.l l%_Czscale(r31), f28 fmul.ss f23, f22, f24 addu 8, r18, r21 fadd.ss f10, f24, f14 fmul.ss f26, f25, f27 fmul.ss f28, f27, f12 fmul.ss f26, f19, f15 subs 0, r4, r0 fmul.ss f26, f23, f13 bnc .B1266 adds -1, r4, r20 bla r19, r20,.B2040 pfmul.dd f0, f0, f0 // lineno: 1639 .B2040: //.M0014 .align 8 d.pfadd.dd f0, f0, f0 nop .PL2001: d.fnop fld.l 56(r21), f16 .DB.B20402040: d.fnop fld.l 48(r21), f20 d.fnop fld.l 52(r21), f11 d.frcp.ss f16, f17 nop d.pfmul.ss f16, f17, f0 nop d.pfmul.ss f15, f20, f0 nop d.pfmul.ss f13, f11, f0 nop d.mi2s1.ss f9, f0, f30 nop d.mm12msm.ss f0, f0, f21 nop d.mm12msm.ss f0, f0, f18 nop d.m12tpa.ss f17, f30, f30 nop d.pfmul.ss f0, f0, f0 nop d.pfmul.ss f0, f0, f0 nop d.pfmul.ss f16, f17, f17 nop d.pfmul.ss f0, f0, f0 nop d.pfmul.ss f0, f0, f0 nop d.mi2s1.ss f9, f0, f30 nop d.pfadd.ss f0, f0, f0 nop d.pfadd.ss f0, f0, f0 nop d.pfadd.ss f0, f0, f20 nop d.pfmul.ss f17, f20, f0 nop d.pfmul.ss f0, f0, f0 nop d.pfmul.ss f0, f0, f0 nop d.pfmul.ss f21, f16, f16 nop d.pfmul.ss f18, f16, f0 nop d.pfmul.ss f12, f16, f0 nop d.mi2p1.ss f2, f0, f30 nop d.mi2p1.ss f14, f0, f30 nop d.mm12msm.ss f0, f0, f30 fst.l f30, 56(r21) d.pfsub.ss f30, f10, f30 nop d.pfsub.ss f30, f10, f30 nop d.pfadd.ss f0, f0, f0 nop d.pfadd.ss f0, f0, f30 fst.l f30, 48(r21) d.pfadd.ss f0, f0, f30 fst.l f30, 52(r21) d.fiadd.ss f16, f0, f8 nop d.fnop ld.l 44(r21), r21 d.fnop bla r19, r20, .PL2001 d.fnop nop .align 8 fnop nop fnop nop // lineno: 0 // lineno: 0 .B1266: //.B0104 // lineno: 1648 fld.d -16(r28), f2 ld.l -8(r28), r4 bri r1 nop .align 8 _xform_and_project: .a21 = 0 .f21 = 96 orh h%.STACK+.f21-16, r0, r28 or l%.STACK+.f21-16, r28, r28 fst.d f2, -72(r28) fst.d f4, -64(r28) fst.d f6, -56(r28) st.l r4, -48(r28) // lineno: 0 orh ha%.C00037, r0, r31 fld.l l%.C00037(r31), f15 adds -1, r0, r19 // lineno: 1667 orh ha%.C00036, r0, r31 fld.l l%.C00036(r31), f16 fld.l 172(r16), f17 fld.l 144(r16), f19 fld.l 176(r16), f22 fadd.ss f17, f16, f18 orh ha%_sub_pixel_correct, r0, r31 fld.l l%_sub_pixel_correct(r31), f2 fmul.ss f19, f18, f20 fld.l 152(r16), f24 fld.l 164(r16), f26 fadd.ss f2, f20, f21 fld.l 128(r16), f27 fld.l 8(r17), f31 fst.l f21, -40(r28) fadd.ss f22, f16, f23 orh ha%_Czscale, r0, r31 fld.l l%_Czscale(r31), f29 fmul.ss f24, f23, f25 fld.l 12(r17), f17 fld.l 24(r17), f18 fadd.ss f2, f25, f7 fld.l 28(r17), f20 fld.l 40(r17), f21 fmul.ss f27, f26, f28 fld.l 44(r17), f16 fld.l 56(r17), f22 fmul.ss f29, f28, f5 fld.l 60(r17), f23 fld.l 16(r17), f11 fmul.ss f27, f19, f30 fld.l 32(r17), f12 fld.l 48(r17), f13 fst.l f30, -36(r28) fmul.ss f27, f24, f6 fld.l 64(r17), f14 ld.l 4(r18), r4 fst.l f31, -4(r28) fst.l f17, -8(r28) fst.l f18, -12(r28) fst.l f20, -16(r28) fst.l f21, -20(r28) fst.l f16, -24(r28) fst.l f22, -28(r28) fst.l f23, -32(r28) addu 8, r18, r21 subs 0, r4, r0 bnc .B1301 adds -1, r4, r20 bla r19, r20,.B2073 pfmul.dd f0, f0, f0 // lineno: 1693 .B2073: //.M0015 .align 8 d.pfadd.dd f0, f0, f0 nop .align 8 .PD0.B2073105: d.fnop fld.l r0(r21), f16 .DB.B20732073: d.fnop fld.l 4(r21), f9 d.fnop fld.l 8(r21), f20 d.pfmul.ss f16, f11, f0 fld.l -4(r28), f31 d.pfmul.ss f9, f12, f0 nop d.pfmul.ss f20, f13, f0 nop d.pfmul.ss f31, f16, f17 nop d.mi2p1.ss f17, f0, f18 fld.l -12(r28), f31 d.mm12msm.ss f0, f0, f21 nop d.mm12msm.ss f0, f0, f18 nop d.pfadd.ss f21, f19, f19 nop d.mm12msm.ss f31, f9, f0 fld.l -20(r28), f21 d.mm12msm.ss f0, f0, f0 nop d.ia1p2.ss f14, f22, f22 nop d.mm12msm.ss f0, f0, f17 nop d.pfadd.ss f0, f0, f0 nop d.pfadd.ss f0, f0, f23 nop d.frcp.ss f23, f24 nop d.pfmul.ss f23, f24, f0 nop d.ia1p2.ss f18, f17, f0 nop d.mm12msm.ss f21, f20, f0 fld.l -28(r28), f17 d.mi2s1.ss f15, f0, f25 fld.l -36(r28), f18 d.ia1p2.ss f0, f0, f19 nop d.mi2p1.ss f19, f0, f31 nop d.m12tpa.ss f24, f26, f26 fld.l -40(r28), f31 d.mm12msm.ss f0, f0, f0 fld.l -8(r28), f24 d.ia1p2.ss f17, f22, f22 nop d.mm12msm.ss f23, f27, f27 fld.l -16(r28), f17 d.mm12msm.ss f16, f24, f0 nop d.m12tpa.ss f18, f4, f4 nop d.mi2s1.ss f15, f0, f28 fld.l -24(r28), f18 d.mm12msm.ss f0, f0, f22 nop d.mm12msm.ss f9, f17, f21 nop d.m12tpa.ss f20, f18, f29 nop d.pfmul.ss f27, f29, f0 fld.l -32(r28), f18 d.mi2p1.ss f22, f0, f24 nop d.mm12msm.ss f0, f0, f28 nop d.mm12msm.ss f21, f30, f30 nop d.ia1p2.ss f28, f16, f16 nop d.mm12msm.ss f5, f30, f0 nop d.mi2p1.ss f31, f0, f25 nop d.ia1p2.ss f18, f17, f17 nop d.mm12msm.ss f0, f0, f24 fst.l f24, 56(r21) d.pfsub.ss f19, f2, f19 nop d.m12tpa.ss f6, f3, f3 nop d.mm12msm.ss f0, f0, f0 nop d.ia1p2.ss f0, f0, f26 fst.l f26, 48(r21) d.pfmul.ss f30, f20, f20 nop d.pfmul.ss f0, f0, f0 nop d.pfmul.ss f0, f0, f0 nop d.mi2p1.ss f7, f0, f29 nop d.pfadd.ss f0, f0, f0 nop d.pfadd.ss f0, f0, f0 nop d.pfsub.ss f27, f2, f27 nop d.pfadd.ss f0, f0, f0 nop d.pfadd.ss f0, f0, f0 nop d.pfadd.ss f0, f0, f23 fst.l f23, 52(r21) d.fiadd.ss f30, f0, f8 nop d.fnop ld.l 44(r21), r21 d.fnop bla r19, r20, .PD0.B2073105 d.fnop nop .align 8 fnop nop fnop nop // lineno: 0 // lineno: 0 .B1301: //.B0106 // lineno: 1707 fld.d -72(r28), f2 fld.d -64(r28), f4 fld.d -56(r28), f6 ld.l -48(r28), r4 bri r1 nop .align 8 _xform: .a22 = 0 .f22 = 64 orh h%.STACK+.f22-16, r0, r28 or l%.STACK+.f22-16, r28, r28 fst.d f2, -40(r28) fst.d f4, -32(r28) fst.d f6, -24(r28) st.l r4, -16(r28) st.l r5, -12(r28) // lineno: 0 adds -1, r0, r19 // lineno: 1716 fld.l 56(r17), f16 fld.l 8(r17), f5 fld.l 12(r17), f15 fst.l f16, -4(r28) addu 8, r18, r21 fld.l 16(r17), f11 fld.l 24(r17), f6 fld.l 28(r17), f2 fld.l 32(r17), f12 fld.l 40(r17), f7 fld.l 44(r17), f3 fld.l 48(r17), f13 fld.l 60(r17), f4 fld.l 64(r17), f14 ld.l 4(r18), r5 subs 0, r5, r0 bnc .B1329 adds -1, r5, r20 bla r19, r20,.B2098 pfmul.dd f0, f0, f0 // lineno: 1737 .B2098: //.M0016 ld.l 76(r21), r29 .DB.B20982098: bte 0x0000, r29, .B1331 fld.l r0(r21), f10 fld.l 4(r21), f9 fld.l 8(r21), f8 fmul.ss f5, f10, f16 fld.l -4(r28), f21 addu 48, r21, r30 fmul.ss f6, f9, f17 fadd.ss f17, f16, f18 fmul.ss f7, f8, f19 fadd.ss f19, f18, f20 fadd.ss f21, f20, f22 fst.l f22, r0(r30) fmul.ss f10, f15, f23 fmul.ss f9, f2, f24 fadd.ss f24, f23, f25 fmul.ss f8, f3, f26 fadd.ss f26, f25, f27 fadd.ss f4, f27, f28 fst.l f28, 4(r30) fmul.ss f10, f11, f29 fmul.ss f9, f12, f30 fadd.ss f30, f29, f31 fmul.ss f8, f13, f16 fadd.ss f16, f31, f17 fadd.ss f14, f17, f18 fst.l f18, 8(r30) // lineno: 1748 .B1331: //.B0109 bla r19, r20, .B2098 ld.l 44(r21), r21 // lineno: 0 // lineno: 0 .B1329: //.B0108 // lineno: 1749 fld.d -40(r28), f2 fld.d -32(r28), f4 fld.d -24(r28), f6 ld.l -16(r28), r4 ld.l -12(r28), r5 bri r1 nop .align 8 _do_clipping: .a23 = 0 .f23 = 112 orh h%.STACK+.f23-16, r0, r28 or l%.STACK+.f23-16, r28, r28 st.l r4, -80(r28) st.l r5, -76(r28) st.l r6, -72(r28) st.l r7, -68(r28) st.l r8, -64(r28) st.l r9, -60(r28) st.l r10, -56(r28) st.l r11, -52(r28) st.l r12, -48(r28) st.l r13, -44(r28) st.l r14, -40(r28) st.l r15, -36(r28) // lineno: 0 orh ha%.C00037, r0, r31 fld.l l%.C00037(r31), f13 adds -1, r0, r20 // lineno: 1761 ld.l r0(r17), r29 mov r0, r4 fld.l 56(r29), f11 mov r0, r4 addu 68, r16, r30 fsub.ss f11, f8, f14 st.l r30, -4(r28) addu 72, r16, r22 pfle.ss f0, f14, f0 shl r0, r0, r6 bc ..L1 adds 1, r0, r6 ..L1: st.l r22, -8(r28) addu 76, r16, r23 st.l r23, -12(r28) addu 36, r16, r24 st.l r24, -16(r28) addu 56, r16, r25 st.l r25, -20(r28) addu 48, r16, r26 st.l r26, -24(r28) addu 52, r16, r27 st.l r27, -28(r28) addu 40, r16, r29 st.l r29, -32(r28) adds 2, r0, r21 and 0x0003, r19, r7 and 0x0010, r19, r8 and 0x0008, r19, r9 addu 32, r16, r14 addu 64, r16, r15 bla r20, r21,.B2144 pfmul.dd f0, f0, f0 // lineno: 1771 .B2144: //.M0017 ld.l r0(r18), r29 .DB.B21442144: fld.l 56(r29), f9 fsub.ss f9, f8, f12 pfle.ss f0, f12, f0 shl r0, r0, r5 bc ..L2 adds 1, r0, r5 ..L2: bte 0x0000, r6, .B1346 bte 0x0000, r5, .B1346 fld.l 32(r29)++, f16 mov r14, r30 mov r30, r22 fst.l f16, r0(r14) mov r15, r27 fld.l 4(r29)++, f17 ld.l -24(r28), r24 addu 80, r22, r14 fst.l f17, 4(r30)++ mov r24, r25 fld.l 4(r29), f18 mov r27, r29 adds 1, r4, r4 fst.l f18, 4(r30) fiadd.ss f9, f0, f11 ld.l r0(r18), r23 ld.l -4(r28), r30 fld.l 48(r23)++, f19 addu 80, r30, r30 st.l r30, -4(r28) fst.l f19, r0(r24) fiadd.ss f12, f0, f14 fld.l 4(r23)++, f20 ld.l -8(r28), r30 mov r18, r17 fst.l f20, 4(r24)++ addu 80, r30, r30 fld.l 4(r23)++, f21 st.l r30, -8(r28) mov r5, r6 fst.l f21, 4(r24)++ fld.l 4(r23), f22 ld.l -12(r28), r30 ld.l -16(r28), r23 fst.l f22, 4(r24) addu 80, r30, r30 ld.l r0(r18), r26 addu 80, r23, r23 fld.l 64(r26)++, f23 st.l r30, -12(r28) st.l r23, -16(r28) fst.l f23, r0(r15) addu 80, r25, r30 fld.l 4(r26)++, f24 ld.l -20(r28), r24 st.l r30, -24(r28) fst.l f24, 4(r27)++ addu 80, r24, r24 fld.l 4(r26)++, f25 addu 4, r26, r12 st.l r24, -20(r28) fst.l f25, 4(r27)++ addu 4, r27, r13 ld.l -28(r28), r23 ld.l -32(r28), r25 addu 80, r23, r23 st.l r23, -28(r28) addu 80, r25, r25 st.l r25, -32(r28) addu 80, r29, r15 bla r20, r21, .B2144 addu 4, r18, r18 br .B2145 nop // lineno: 1801 .B1346: //.B0112 btne 0x0000, r5, .B1354 bte 0x0000, r6, .B1353 // lineno: 1805 .B1354: //.B0115 fsub.ss f9, f11, f16 .DB.B13541354: ld.l -20(r28), r29 ld.l -24(r28), r23 frcp.ss f16, f17 fmul.ss f16, f17, f18 ld.l -28(r28), r26 fsub.ss f13, f18, f19 fmul.ss f17, f19, f20 fmul.ss f16, f20, f21 fsub.ss f13, f21, f22 fmul.ss f22, f20, f23 fsub.ss f8, f11, f24 fmul.ss f24, f23, f10 fst.l f8, r0(r29) ld.l r0(r17), r30 ld.l r0(r18), r22 fld.l 48(r30), f25 fld.l 48(r22), f26 ld.l -32(r28), r30 fsub.ss f26, f25, f27 fmul.ss f27, f10, f28 fadd.ss f25, f28, f29 fst.l f29, r0(r23) ld.l r0(r17), r24 ld.l r0(r18), r25 fld.l 52(r24), f30 fld.l 52(r25), f31 fsub.ss f31, f30, f15 fmul.ss f10, f15, f18 fadd.ss f30, f18, f19 fst.l f19, r0(r26) ld.l r0(r17), r27 ld.l r0(r18), r29 fld.l 40(r27), f17 fld.l 40(r29), f21 fsub.ss f21, f17, f20 fmul.ss f10, f20, f22 fadd.ss f17, f22, f16 fst.l f16, r0(r30) bte 0x0000, r9, .B1357 ld.l r0(r17), r22 ld.l r0(r18), r23 fld.l 32(r22), f23 fld.l 32(r23), f24 ld.l -16(r28), r26 fsub.ss f24, f23, f26 fmul.ss f10, f26, f27 fadd.ss f23, f27, f28 fst.l f28, r0(r14) ld.l r0(r17), r24 ld.l r0(r18), r25 fld.l 36(r24), f25 fld.l 36(r25), f29 fsub.ss f29, f25, f31 fmul.ss f10, f31, f15 fadd.ss f25, f15, f18 br .B1359 fst.l f18, r0(r26) // lineno: 1819 .B1357: //.B0116 bte 0x0000, r8, .B1360 ld.l r0(r17), r29 ld.l r0(r18), r30 fld.l 32(r29), f16 fld.l 32(r30), f17 ld.l -16(r28), r24 fsub.ss f17, f16, f18 fmul.ss f10, f18, f19 fadd.ss f16, f19, f20 fst.l f20, r0(r14) ld.l r0(r17), r22 ld.l r0(r18), r23 fld.l 36(r22), f21 fld.l 36(r23), f22 fsub.ss f22, f21, f23 fmul.ss f10, f23, f24 fadd.ss f21, f24, f25 fst.l f25, r0(r24) // lineno: 0 .B1360: //.B0118 // lineno: 1823 .B1359: //.B0117 bte 0x0000, r7, .B1362 ld.l r0(r17), r29 ld.l r0(r18), r30 fld.l 64(r29), f16 fld.l 64(r30), f17 ld.l -4(r28), r24 ld.l -8(r28), r27 fsub.ss f17, f16, f18 fmul.ss f10, f18, f19 fadd.ss f16, f19, f20 fst.l f20, r0(r15) ld.l r0(r17), r22 ld.l r0(r18), r23 fld.l 68(r22), f21 fld.l 68(r23), f22 ld.l -12(r28), r22 fsub.ss f22, f21, f23 fmul.ss f10, f23, f24 fadd.ss f21, f24, f25 fst.l f25, r0(r24) ld.l r0(r17), r25 ld.l r0(r18), r26 fld.l 72(r25), f26 fld.l 72(r26), f27 fsub.ss f27, f26, f28 fmul.ss f10, f28, f29 fadd.ss f26, f29, f30 fst.l f30, r0(r27) ld.l r0(r17), r29 ld.l r0(r18), r30 fld.l 76(r29), f31 fld.l 76(r30), f15 fsub.ss f15, f31, f17 fmul.ss f10, f17, f18 fadd.ss f31, f18, f19 fst.l f19, r0(r22) // lineno: 1830 .B1362: //.B0119 ld.l -4(r28), r29 .DB.B13621362: ld.l -8(r28), r30 addu 80, r29, r29 st.l r29, -4(r28) addu 80, r30, r30 st.l r30, -8(r28) addu 80, r15, r15 ld.l -12(r28), r22 ld.l -16(r28), r23 addu 80, r22, r22 st.l r22, -12(r28) addu 80, r23, r23 st.l r23, -16(r28) addu 80, r14, r14 ld.l -20(r28), r24 ld.l -24(r28), r25 addu 80, r24, r24 st.l r24, -20(r28) addu 80, r25, r25 st.l r25, -24(r28) adds 1, r4, r4 ld.l -28(r28), r26 ld.l -32(r28), r27 addu 80, r26, r26 st.l r26, -28(r28) addu 80, r27, r27 st.l r27, -32(r28) // lineno: 1832 .B1353: //.B0114 bte 0x0000, r5, .B1364 ld.l r0(r18), r29 mov r14, r30 fld.l 32(r29)++, f16 mov r30, r22 ld.l -24(r28), r24 fst.l f16, r0(r14) mov r24, r25 fld.l 4(r29)++, f17 mov r15, r27 addu 80, r22, r14 fst.l f17, 4(r30)++ adds 1, r4, r4 fld.l 4(r29), f18 mov r27, r29 fst.l f18, 4(r30) ld.l r0(r18), r23 ld.l -4(r28), r30 fld.l 48(r23)++, f19 addu 80, r30, r30 st.l r30, -4(r28) fst.l f19, r0(r24) fld.l 4(r23)++, f20 ld.l -8(r28), r30 fst.l f20, 4(r24)++ addu 80, r30, r30 fld.l 4(r23)++, f21 st.l r30, -8(r28) fst.l f21, 4(r24)++ fld.l 4(r23), f22 ld.l -12(r28), r30 ld.l -16(r28), r23 fst.l f22, 4(r24) addu 80, r30, r30 ld.l r0(r18), r26 addu 80, r23, r23 fld.l 64(r26)++, f23 st.l r30, -12(r28) st.l r23, -16(r28) fst.l f23, r0(r15) addu 80, r25, r30 fld.l 4(r26)++, f24 ld.l -20(r28), r24 st.l r30, -24(r28) fst.l f24, 4(r27)++ addu 80, r24, r24 fld.l 4(r26)++, f25 addu 4, r26, r10 st.l r24, -20(r28) fst.l f25, 4(r27)++ addu 4, r27, r11 ld.l -28(r28), r23 ld.l -32(r28), r25 addu 80, r23, r23 st.l r23, -28(r28) addu 80, r25, r25 st.l r25, -32(r28) addu 80, r29, r15 // lineno: 0 .B1364: //.B0120 fiadd.ss f9, f0, f11 .DB.B13641364: mov r18, r17 fiadd.ss f12, f0, f14 mov r5, r6 bla r20, r21, .B2144 addu 4, r18, r18 // lineno: 0 .B2145: //.B0179 mov r4, r16 .DB.B21452145: // lineno: 0 // lineno: 1862 ld.l -80(r28), r4 ld.l -76(r28), r5 ld.l -72(r28), r6 ld.l -68(r28), r7 ld.l -64(r28), r8 ld.l -60(r28), r9 ld.l -56(r28), r10 ld.l -52(r28), r11 ld.l -48(r28), r12 ld.l -44(r28), r13 ld.l -40(r28), r14 ld.l -36(r28), r15 bri r1 nop .align 8 _clip_triangle: .a24 = 80 .f24 = 80 addu -(.a24+.f24), sp, sp st.l fp,(.f24-16)(sp) addu (.f24-16), sp, fp st.l r1, 4(fp) fst.d f2, -56(fp) st.l r4, -48(fp) st.l r5, -44(fp) st.l r6, -40(fp) st.l r7, -36(fp) st.l r8, -32(fp) fiadd.ss f8, f0, f2 st.l r20, 64(fp) st.l r21, 68(fp) st.l r23, 76(fp) mov r24, r5 mov r22, r6 // lineno: 0 orh h%_clip_vertices, r0, r31 or l%_clip_vertices, r31, r8 // lineno: 1877 fld.l 132(r20), f8 st.l r17, -16(fp) st.l r18, -12(fp) st.l r19, -8(fp) adds -8, fp, r17 fld.l 48(r16), f16 orh ha%_clip_connections, r0, r31 ld.l l%_clip_connections(r31), r28 ld.l 68(fp), r29 addu 8, r28, r7 fst.l f16, 48(r7) adds -16, fp, r18 fld.l 52(r16), f17 ld.l r0(r8), r30 fst.l f17, 52(r7) fld.l 56(r16), f18 addu 8, r30, r16 st.l r16, -4(fp) fst.l f18, 56(r7) call _do_clipping ld.l 172(r29), r19 mov r16, r28 subs 2, r16, r0 mov r16, r4 bnc .B1385 ld.l 64(fp), r16 ld.l 68(fp), r17 ld.l r0(r8), r18 call _and_project st.l r28, 4(r18) orh h%_coefficient_ptr, r0, r31 or l%_coefficient_ptr, r31, r16 adds 1, r0, r20 fiadd.ss f2, f0, f8 adds 3, r0, r28 mov r5, r17 mov r7, r18 mov r6, r19 st.l r28, 4(r7) ld.l 76(fp), r29 calli r29 nop btne 0x0004, r4, .B1387 orh h%_coefficient_ptr, r0, r31 or l%_coefficient_ptr, r31, r16 adds 1, r0, r20 fiadd.ss f2, f0, f8 ld.l 12(r7), r28 mov r5, r17 mov r7, r18 mov r6, r19 st.l r28, -20(fp) ld.l 16(r7), r29 ld.l 20(r7), r30 st.l r29, 12(r7) st.l r30, 16(r7) ld.l 76(fp), r21 calli r21 nop ld.l 12(r7), r28 ld.l -20(fp), r29 st.l r28, 16(r7) st.l r29, 12(r7) // lineno: 0 .B1387: //.B0122 // lineno: 0 .B1385: //.B0121 // lineno: 1916 fld.d -56(fp), f2 ld.l -48(fp), r4 ld.l -44(fp), r5 ld.l -40(fp), r6 ld.l -36(fp), r7 ld.l -32(fp), r8 adds .a24+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .align 8 _draw_unclipped_geometry: .a25 = 80 .f25 = 32 addu -(.a25+.f25), sp, sp st.l fp,(.f25-16)(sp) addu (.f25-16), sp, fp st.l r1, 4(fp) st.l r17, 52(fp) st.l r18, 56(fp) st.l r19, 60(fp) // lineno: 1937 mov r16, r28 orh h%_coefficient_ptr, r0, r31 or l%_coefficient_ptr, r31, r16 ld.l 60(fp), r17 ld.l 16(r28), r29 ld.l 52(fp), r19 addu 8, r29, r18 ld.l 4(r29), r20 st.l r18, -8(fp) st.l r20, -4(fp) ld.l 56(fp), r30 calli r30 nop // lineno: 1948 adds .a25+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .align 8 _draw_hither_clipped_geometry: .a26 = 80 .f26 = 128 addu -(.a26+.f26), sp, sp st.l fp,(.f26-16)(sp) addu (.f26-16), sp, fp st.l r1, 4(fp) fst.d f2, -96(fp) st.l r4, -88(fp) st.l r5, -84(fp) st.l r6, -80(fp) st.l r7, -76(fp) st.l r8, -72(fp) st.l r9, -68(fp) st.l r10, -64(fp) st.l r11, -60(fp) st.l r12, -56(fp) st.l r13, -52(fp) st.l r14, -48(fp) st.l r15, -44(fp) fiadd.ss f8, f0, f2 st.l r16, 48(fp) st.l r19, 60(fp) st.l r20, 64(fp) mov r18, r8 mov r21, r9 // lineno: 0 // lineno: 1962 ld.l 16(r17), r28 fld.l 132(r19), f3 ld.l 4(r28), r29 addu 8, r28, r12 st.l r29, -4(fp) orh ha%_clip_connections, r0, r31 ld.l l%_clip_connections(r31), r30 st.l r0, -12(fp) addu 8, r30, r30 subs 0, r29, r0 st.l r30, -8(fp) bnc .B1416 ld.l 60(fp), r13 addu 4, r30, r16 st.l r16, -16(fp) addu 56, r30, r22 st.l r22, -20(fp) addu 52, r30, r23 st.l r23, -24(fp) addu 48, r30, r24 st.l r24, -28(fp) // lineno: 1970 .B2226: //.M0021 ld.l 60(r12), r28 .DB.B22262226: bte 0x0000, r28, .B1418 addu 8, r12, r29 st.l r29, -32(fp) ld.l 4(r12), r15 st.l r0, -36(fp) bte 0x0000, r15, .B1425 fiadd.ss f3, f0, f8 mov r15, r18 mov r0, r20 mov r29, r21 // lineno: 1978 .B2203: //.M0018 ld.l r0(r21), r28 .DB.B22032203: addu 4, r21, r21 fld.l 56(r28), f16 adds -1, r18, r18 pfgt.ss f8, f16, f0 shl r0, r0, r29 bnc ..L3 adds 1, r0, r29 ..L3: adds r20, r29, r20 xor 0x0000, r18, r0 bnc.t .DB.B22032203 ld.l r0(r21), r28 // lineno: 0 mov r18, r15 st.l r20, -36(fp) st.l r21, -32(fp) // lineno: 1980 .B1425: //.B0127 ld.l -36(fp), r28 .DB.B14251425: btne 0x0000, r28, .B1427 orh ha%_clip_vertices, r0, r31 ld.l l%_clip_vertices(r31), r29 addu 8, r12, r30 addu 8, r29, r29 st.l r29, -40(fp) st.l r30, -32(fp) ld.l 4(r12), r15 bte 0x0000, r15, .B1430 mov r15, r4 mov r29, r5 mov r30, r6 // lineno: 1990 .B2204: //.M0019 ld.l r0(r6), r17 .DB.B22042204: call _clip_vertex_copy mov r5, r16 addu 4, r6, r6 addu 80, r5, r5 adds -1, r4, r4 xor 0x0000, r4, r0 bnc.t .DB.B22042204 ld.l r0(r6), r17 // lineno: 0 mov r4, r15 st.l r5, -40(fp) st.l r6, -32(fp) // lineno: 1993 .B1430: //.B0130 fld.l 48(r12), f16 .DB.B14301430: ld.l -28(fp), r28 ld.l -24(fp), r29 fst.l f16, r0(r28) fld.l 52(r12), f17 ld.l -20(fp), r30 ld.l -16(fp), r23 fst.l f17, r0(r29) fld.l 56(r12), f18 orh ha%_clip_vertices, r0, r31 ld.l l%_clip_vertices(r31), r18 fst.l f18, r0(r30) ld.l 4(r12), r16 ld.l 48(fp), r17 st.l r16, 4(r18) mov r13, r16 ld.l 4(r12), r22 call _and_project st.l r22, 0(r23) orh h%_coefficient_ptr, r0, r31 or l%_coefficient_ptr, r31, r16 ld.l -8(fp), r18 fiadd.ss f2, f0, f8 adds 1, r0, r20 mov r9, r17 mov r8, r19 ld.l 64(fp), r28 orh h%.B1432, r0, r1 bri r28 or l%.B1432, r1, r1 // lineno: 2017 .B1427: //.B0128 ld.l 4(r12), r28 .DB.B14271427: ld.l -36(fp), r29 addu 4, r12, r16 subs r29, r28, r0 bnc .B1433 mov r0, r7 adds -2, r28, r30 subs 0, r30, r0 bnc .B1436 ld.l 48(fp), r4 ld.l 64(fp), r5 mov r0, r7 addu 12, r12, r10 addu 16, r12, r11 mov r16, r6 addu 8, r12, r14 // lineno: 2025 .B2217: //.M0020 mov r12, r16 .DB.B22172217: ld.l r0(r14), r17 ld.l r0(r10), r18 ld.l r0(r11), r19 mov r13, r20 mov r4, r21 mov r8, r22 mov r5, r23 mov r9, r24 call _clip_triangle fiadd.ss f2, f0, f8 ld.l r0(r6), r28 adds 1, r7, r7 adds -2, r28, r29 addu 4, r10, r10 addu 4, r11, r11 subs r7, r29, r0 bc.t .DB.B22172217 mov r12, r16 // lineno: 0 // lineno: 2026 .B1436: //.B0134 // lineno: 0 .B1433: //.B0132 // lineno: 0 .B1432: //.B0131 // lineno: 2030 .B1418: //.B0125 ld.l -12(fp), r28 .DB.B14181418: ld.l r0(r12), r12 adds 1, r28, r29 st.l r29, -12(fp) ld.l -4(fp), r30 subs r29, r30, r0 bc.t .DB.B22262226 ld.l 60(r12), r28 // lineno: 0 // lineno: 0 .B1416: //.B0124 // lineno: 2031 fld.d -96(fp), f2 ld.l -88(fp), r4 ld.l -84(fp), r5 ld.l -80(fp), r6 ld.l -76(fp), r7 ld.l -72(fp), r8 ld.l -68(fp), r9 ld.l -64(fp), r10 ld.l -60(fp), r11 ld.l -56(fp), r12 ld.l -52(fp), r13 ld.l -48(fp), r14 ld.l -44(fp), r15 adds .a26+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .align 8 _draw_geogroup: .a27 = 80 .f27 = 160 addu -(.a27+.f27), sp, sp st.l fp,(.f27-16)(sp) addu (.f27-16), sp, fp st.l r1, 4(fp) fst.d f2, -128(fp) st.l r4, -120(fp) st.l r5, -116(fp) st.l r6, -112(fp) st.l r7, -108(fp) st.l r8, -104(fp) st.l r9, -100(fp) st.l r10, -96(fp) st.l r11, -92(fp) st.l r12, -88(fp) st.l r13, -84(fp) st.l r14, -80(fp) st.l r15, -76(fp) st.l r16, 48(fp) st.l r17, 52(fp) st.l r18, 56(fp) // lineno: 0 orh ha%.C00036, r0, r31 fld.l l%.C00036(r31), f2 orh ha%.C01491, r0, r31 fld.l l%.C01491(r31), f3 // lineno: 2099 ld.l 4(r17), r28 ld.l 172(r17), r29 st.l r28, -4(fp) st.l r29, -8(fp) ld.l 168(r17), r30 ld.l 100(r18), r16 st.l r30, -12(fp) btne 0x0000, r16, .B1454 call _eval_lmodel ld.l 56(fp), r16 // lineno: 2118 .B1454: //.B0135 ld.l -8(fp), r28 .DB.B14541454: and 0x0200, r28, r0 bc .B1456 adds -20, fp, r16 adds -16, fp, r17 ld.l 52(fp), r18 call _vpx_drawstuff addu 184, r18, r19 st.l r16, -24(fp) // lineno: 2121 .B1456: //.B0136 ld.l -8(fp), r28 .DB.B14561456: and 0x0400, r28, r0 bc .B1457 adds -32, fp, r16 adds -28, fp, r17 ld.l 52(fp), r18 call _vpx_drawstuff addu 228, r18, r19 st.l r16, -36(fp) // lineno: 2126 .B1457: //.B0137 ld.l 52(fp), r28 .DB.B14571457: ld.l -4(fp), r16 addu 184, r28, r29 st.l r29, -40(fp) addu 228, r28, r30 st.l r30, -44(fp) ld.l 56(r16), r13 bte 0x0000, r13, .B1459 ld.l -12(fp), r19 ld.l -8(fp), r20 and 0x0010, r19, r4 and 0x0002, r20, r5 and 0x0001, r20, r6 and 0x0003, r20, r7 and 0x0400, r20, r8 and 0x0200, r20, r9 ld.l 48(fp), r11 addu 136, r28, r21 st.l r21, -48(fp) addu 40, r29, r22 st.l r22, -52(fp) addu 36, r29, r23 st.l r23, -56(fp) addu 152, r28, r24 st.l r24, -60(fp) addu 40, r30, r25 st.l r25, -64(fp) addu 36, r30, r26 st.l r26, -68(fp) mov r28, r12 // lineno: 2130 .B2279: //.M0022 ld.l r0(r13), r10 .DB.B22792279: ld.l -24(fp), r14 ld.l 24(r10), r28 ld.l -36(fp), r15 bte 0x0000, r28, .B1464 orh h%_tri_zb_rgb, r0, r31 or l%_tri_zb_rgb, r31, r29 btne r29, r14, .B1466 br .B1467 mov r29, r14 // lineno: 2137 .B1466: //.B0141 orh h%_tri_zb_rgb_t, r0, r31 .DB.B14661466: or l%_tri_zb_rgb_t, r31, r28 ld.l -24(fp), r29 btne r28, r29, .B1468 orh h%_tri_zb_rgb_o_t, r0, r31 or l%_tri_zb_rgb_o_t, r31, r14 // lineno: 0 .B1468: //.B0143 // lineno: 2141 .B1467: //.B0142 orh h%_tri_zb_rgb, r0, r31 .DB.B14671467: or l%_tri_zb_rgb, r31, r28 ld.l -36(fp), r29 btne r28, r29, .B1469 br .B1470 mov r28, r15 // lineno: 2143 .B1469: //.B0144 orh h%_tri_zb_rgb_t, r0, r31 .DB.B14691469: or l%_tri_zb_rgb_t, r31, r28 ld.l -36(fp), r29 btne r28, r29, .B1471 orh h%_tri_zb_rgb_o_t, r0, r31 or l%_tri_zb_rgb_o_t, r31, r15 // lineno: 0 .B1471: //.B0146 // lineno: 0 .B1470: //.B0145 // lineno: 2148 .B1464: //.B0140 bte 0x0000, r9, .B1472 ld.l -56(fp), r28 ld.l -52(fp), r29 fld.l r0(r28), f16 orh ha%_Cdelta_u, r0, r31 fst.l f16, l%_Cdelta_u(r31) fld.l r0(r29), f17 orh ha%_Cdelta_v, r0, r31 fst.l f17, l%_Cdelta_v(r31) ld.l 20(r10), r16 call _clear_vertices mov r0, r17 ld.l 16(r10), r16 call _solve_fn ld.l -48(fp), r17 btne 0x0000, r7, .B1474 ld.l 16(r10), r28 ld.l 56(fp), r17 addu 8, r28, r16 ld.l -40(fp), r18 ld.l 4(r28), r19 adds 32, r0, r20 fiadd.ss f2, f0, f8 adds 48, r0, r22 adds 60, r0, r23 mov r0, r21 orh h%.B1477, r0, r1 br _light_structure or l%.B1477, r1, r1 // lineno: 2165 .B1474: //.B0148 bte 0x0000, r6, .B1478 ld.l 20(r10), r28 ld.l 56(fp), r17 addu 8, r28, r16 ld.l -40(fp), r18 ld.l 4(r28), r19 adds 16, r0, r20 fiadd.ss f2, f0, f8 adds 44, r0, r21 adds 64, r0, r22 adds 76, r0, r23 orh h%.B1481, r0, r1 br _light_structure or l%.B1481, r1, r1 // lineno: 2174 .B1478: //.B0150 bte 0x0000, r5, .B1482 ld.l 20(r10), r28 ld.l -40(fp), r18 addu 8, r28, r16 call _cookize_vertices ld.l 4(r28), r17 // lineno: 0 .B1482: //.B0152 // lineno: 0 .B1481: //.B0151 // lineno: 2179 .B1477: //.B0149 bte 0x0000, r4, .B1483 mov r11, r16 mov r12, r17 call _xform ld.l 20(r10), r18 mov r12, r16 mov r10, r17 mov r0, r18 mov r11, r19 mov r14, r20 ld.l -16(fp), r21 fld.l -20(fp), f8 orh h%.B1485, r0, r1 br _draw_hither_clipped_geometry or l%.B1485, r1, r1 // lineno: 2185 .B1483: //.B0153 mov r11, r16 .DB.B14831483: mov r12, r17 call _xform_and_project_fn ld.l 20(r10), r18 orh h%_coefficient_ptr, r0, r31 or l%_coefficient_ptr, r31, r16 fld.l -20(fp), f8 ld.l -16(fp), r17 ld.l 16(r10), r28 addu 8, r28, r18 ld.l 4(r28), r20 mov r0, r19 calli r14 nop // lineno: 0 .B1485: //.B0154 // lineno: 2204 .B1472: //.B0147 bte 0x0000, r8, .B1487 ld.l -68(fp), r28 ld.l -64(fp), r29 fld.l r0(r28), f16 orh ha%_Cdelta_u, r0, r31 fst.l f16, l%_Cdelta_u(r31) fld.l r0(r29), f17 orh ha%_Cdelta_v, r0, r31 fst.l f17, l%_Cdelta_v(r31) ld.l 20(r10), r16 call _clear_vertices mov r0, r17 ld.l 16(r10), r16 call _solve_fn ld.l -60(fp), r17 btne 0x0000, r7, .B1489 ld.l 16(r10), r28 ld.l 56(fp), r17 addu 8, r28, r16 ld.l -44(fp), r18 ld.l 4(r28), r19 adds 32, r0, r20 fiadd.ss f3, f0, f8 adds 48, r0, r22 adds 60, r0, r23 mov r0, r21 orh h%.B1492, r0, r1 br _light_structure or l%.B1492, r1, r1 // lineno: 2222 .B1489: //.B0156 bte 0x0000, r6, .B1493 ld.l 20(r10), r28 ld.l 56(fp), r17 addu 8, r28, r16 ld.l -44(fp), r18 ld.l 4(r28), r19 adds 16, r0, r20 fiadd.ss f3, f0, f8 adds 44, r0, r21 adds 64, r0, r22 adds 76, r0, r23 orh h%.B1495, r0, r1 br _light_structure or l%.B1495, r1, r1 // lineno: 2232 .B1493: //.B0158 bte 0x0000, r5, .B1496 ld.l 20(r10), r28 ld.l -44(fp), r18 addu 8, r28, r16 call _cookize_vertices ld.l 4(r28), r17 // lineno: 0 .B1496: //.B0160 // lineno: 0 .B1495: //.B0159 // lineno: 2238 .B1492: //.B0157 bte 0x0000, r4, .B1498 mov r11, r16 mov r12, r17 call _xform ld.l 20(r10), r18 mov r12, r16 mov r10, r17 adds 1, r0, r18 ld.l -28(fp), r21 mov r11, r19 mov r15, r20 fld.l -32(fp), f8 orh h%.B1500, r0, r1 br _draw_hither_clipped_geometry or l%.B1500, r1, r1 // lineno: 2244 .B1498: //.B0161 mov r11, r16 .DB.B14981498: mov r12, r17 call _xform_and_project_fn ld.l 20(r10), r18 orh h%_coefficient_ptr, r0, r31 or l%_coefficient_ptr, r31, r16 fld.l -32(fp), f8 ld.l -28(fp), r17 ld.l 16(r10), r28 adds 1, r0, r19 addu 8, r28, r18 ld.l 4(r28), r20 calli r15 nop // lineno: 0 .B1500: //.B0162 // lineno: 2260 .B1487: //.B0155 ld.l 8(r13), r13 .DB.B14871487: xor 0x0000, r13, r0 bnc.t .DB.B22792279 ld.l r0(r13), r10 // lineno: 0 // lineno: 0 .B1459: //.B0139 // lineno: 2261 fld.d -128(fp), f2 ld.l -120(fp), r4 ld.l -116(fp), r5 ld.l -112(fp), r6 ld.l -108(fp), r7 ld.l -104(fp), r8 ld.l -100(fp), r9 ld.l -96(fp), r10 ld.l -92(fp), r11 ld.l -88(fp), r12 ld.l -84(fp), r13 ld.l -80(fp), r14 ld.l -76(fp), r15 adds .a27+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .align 8 _veloci_draw: .a28 = 80 .f28 = 64 addu -(.a28+.f28), sp, sp st.l fp,(.f28-16)(sp) addu (.f28-16), sp, fp st.l r1, 4(fp) st.l r4, -32(fp) st.l r5, -28(fp) st.l r6, -24(fp) st.l r7, -20(fp) st.l r8, -16(fp) st.l r9, -12(fp) st.l r10, -8(fp) st.l r11, -4(fp) st.l r16, 48(fp) // lineno: 0 // lineno: 2277 mov r0, r7 ld.l 260(r16), r11 bte 0x0000, r11, .B1510 ld.l 48(fp), r9 mov r0, r7 // lineno: 2284 .B2294: //.M0024 ld.l 12(r11), r10 .DB.B22942294: ld.l 8(r11), r28 addu 16, r11, r5 addu 8, r11, r29 subs 0, r28, r0 mov r0, r4 bnc .B1515 mov r0, r4 mov r29, r8 // lineno: 2289 .B2292: //.M0023 ld.l r0(r5), r28 .DB.B22922292: mov r5, r6 btne 0x000a, r28, .B1518 mov r9, r16 mov r5, r17 call _draw_geogroup mov r7, r18 br .B1521 addu 272, r5, r5 // lineno: 2295 .B1518: //.B0167 ld.l r0(r6), r28 .DB.B15181518: btne 0x0006, r28, .B2293 mov r5, r7 br .B1525 addu 496, r5, r5 // lineno: 2300 .B1522: //.B0169 orh h%.S01526, r0, r31 .DB.B15221522: or l%.S01526, r31, r16 ld.l r0(r6), r17 orh h%.B2289, r0, r1 br _printf or l%.B2289, r1, r1 // lineno: 0 .B1525: //.B0170 // lineno: 2303 .B1521: //.B0168 adds 1, r4, r4 .DB.B15211521: ld.l r0(r8), r28 subs r4, r28, r0 bc.t .DB.B22922292 ld.l r0(r5), r28 // lineno: 0 br .B1515 nop // lineno: 0 .B2293: //.N0001 br .B2295 nop // lineno: 2304 .B1515: //.B0166 ld.l 4(r11), r11 .DB.B15151515: xor 0x0000, r10, r0 bc.t .DB.B22942294 ld.l 12(r11), r10 // lineno: 0 br .B1510 nop // lineno: 0 .B2295: //.N0002 br .DB.B15221522 orh h%.S01526, r0, r31 // lineno: 2307 .B1510: //.B0163 // lineno: 0 .B2289: //.R0007 // lineno: 0 ld.l -32(fp), r4 ld.l -28(fp), r5 ld.l -24(fp), r6 ld.l -20(fp), r7 ld.l -16(fp), r8 ld.l -12(fp), r9 ld.l -8(fp), r10 ld.l -4(fp), r11 adds .a28+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .align 8 _veloci_rasterize: // lineno: 2316 bri r1 nop .align 8 _veloci_swap_buffers: .a30 = 80 .f30 = 32 addu -(.a30+.f30), sp, sp st.l fp,(.f30-16)(sp) addu (.f30-16), sp, fp st.l r1, 4(fp) // lineno: 2326 adds 2, r0, r16 call _flip_screens mov r16, r17 // lineno: 2329 adds .a30+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .globl _vr_draw_scene .align 8 _vr_draw_scene: .a31 = 80 .f31 = 96 addu -(.a31+.f31), sp, sp st.l fp,(.f31-16)(sp) addu (.f31-16), sp, fp st.l r1, 4(fp) st.l r4, -72(fp) st.l r5, -68(fp) st.l r6, -64(fp) st.l r7, -60(fp) st.l r8, -56(fp) st.l r9, -52(fp) st.l r10, -48(fp) st.l r11, -44(fp) st.l r12, -40(fp) st.l r16, 48(fp) // lineno: 0 orh h%_clip_vertices, r0, r31 or l%_clip_vertices, r31, r9 orh h%_clip_connections, r0, r31 or l%_clip_connections, r31, r10 // lineno: 2350 ld.l r0(r9), r28 btne 0x0000, r28, .B1544 call _malloc adds 648, r0, r16 mov r16, r28 adds 520, r0, r16 call _malloc st.l r28, 0(r9) ld.l r0(r9), r28 adds 1, r0, r29 st.l r0, 0(r28) st.l r0, 0(r16) st.l r29, 4(r16) addu 8, r16, r11 st.l r29, 60(r11) addu 8, r28, r12 mov r12, r19 adds 7, r0, r18 addu 4, r11, r20 st.l r16, 0(r10) adds -1, r0, r17 bla r17, r18,.B2349 pfmul.dd f0, f0, f0 // lineno: 2368 .B2349: //.M0025 mov r20, r28 .DB.B23492349: addu 4, r20, r20 st.l r19, 4(r28) bla r17, r18, .B2349 addu 80, r19, r19 // lineno: 0 .B1554: //.B0174 adds 7, r0, r18 .DB.B15541554: mov r12, r21 adds -1, r0, r17 bla r17, r18,.B2350 pfmul.dd f0, f0, f0 // lineno: 2372 .B2350: //.M0026 mov r21, r28 .DB.B23502350: addu 80, r21, r21 bla r17, r18, .B2350 st.l r21, 44(r28) // lineno: 0 orh h%_animate_time_0, r0, r31 or l%_animate_time_0, r31, r16 call _dN_timer mov r21, r12 // lineno: 2379 .B1544: //.B0171 orh h%_animate_time, r0, r31 .DB.B15441544: call _dN_timer or l%_animate_time, r31, r16 orh ha%_animate_time_0, r0, r31 ld.l l%_animate_time_0(r31), r28 orh ha%_animate_time, r0, r31 ld.l l%_animate_time(r31), r29 fst.l f0, -16(fp) subs r29, r28, r30 xorh 0x8000, r30, r16 orh ha%.C01579, r0, r31 fld.d l%.C01579(r31), f16 fst.l f0, -12(fp) ixfr r16, f18 fiadd.ss f17, f0, f19 fsub.dd f18, f16, f20 orh ha%.C02311, r0, r31 fld.l l%.C02311(r31), f23 fmov.ds f20, f22 orh ha%.C00036, r0, r31 fld.l l%.C00036(r31), f25 fmul.ss f22, f23, f24 orh ha%_animate_elapsed_time, r0, r31 fst.l f24, l%_animate_elapsed_time(r31) fst.l f25, -4(fp) orh ha%_the_scene+32, r0, r31 ld.l l%_the_scene+32(r31), r5 fst.l f0, -8(fp) bte 0x0000, r5, .B1561 // lineno: 2389 .B2351: //.M0027 ld.l r0(r5), r6 .DB.B23512351: bte 0x0000, r6, .B1564 call _dN_timer adds -20, fp, r16 mov r6, r16 call _veloci_cull adds -16, fp, r17 mov r16, r28 adds -24, fp, r16 call _dN_timer mov r28, r8 call _veloci_draw mov r8, r16 call _veloci_rasterize mov r16, r7 call _dN_timer adds -28, fp, r16 // lineno: 2402 .B1564: //.B0178 ld.l 8(r5), r5 .DB.B15641564: xor 0x0000, r5, r0 bnc.t .DB.B23512351 ld.l r0(r5), r6 // lineno: 0 // lineno: 2404 .B1561: //.B0177 ld.l 48(fp), r16 .DB.B15611561: call _veloci_swap_buffers nop // lineno: 0 // lineno: 2405 ld.l -72(fp), r4 ld.l -68(fp), r5 ld.l -64(fp), r6 ld.l -60(fp), r7 ld.l -56(fp), r8 ld.l -52(fp), r9 ld.l -48(fp), r10 ld.l -44(fp), r11 ld.l -40(fp), r12 adds .a31+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .data .align 8 .C01580: // (0) .long 0x3c000000 // 7.81250000E-03 .align 8 .C01579: // (8) .long 0x80000000, 0x43300000 // 4.50360177485414400E+15 .C01007: // (16) .long 0x425f999a // 5.59000015E+01 .C00036: // (20) .long 0x3f800000 // 1.00000000E+00 .C01057: // (24) .long 0x3f666666 // 8.99999976E-01 .C01056: // (28) .long 0x3e99999a // 3.00000012E-01 .C00038: // (32) .long 0x3f000000 // 5.00000000E-01 .C01059: // (36) .long 0x3ecccccd // 4.00000006E-01 .C01076: // (40) .long 0x3c23d70a // 9.99999978E-03 .C01082: // (44) .long 0x41f80000 // 3.10000000E+01 .C01144: // (48) .long 0x437f0000 // 2.55000000E+02 .C00037: // (52) .long 0x40000000 // 2.00000000E+00 .C01491: // (56) .long 0xbf800000 // -1.00000000E+00 .C02311: // (60) .long 0x358637bd // 9.99999997E-07 .data .align 1 .S00980: // // "is this right - spintime=%d\n" .byte 0x69,0x73,0x20,0x74,0x68,0x69,0x73,0x20,0x72,0x69,0x67 .byte 0x68,0x74,0x20,0x2d,0x20,0x73,0x70,0x69,0x6e,0x74,0x69 .byte 0x6d,0x65,0x3d,0x25,0x64,0x0a,0x00 .S00990: // // "WHOAH - screenbins neither screen0 nor screen1 0x%x 0x%x 0x%x\n" .byte 0x57,0x48,0x4f,0x41,0x48,0x20,0x2d,0x20,0x73,0x63,0x72 .byte 0x65,0x65,0x6e,0x62,0x69,0x6e,0x73,0x20,0x6e,0x65,0x69 .byte 0x74,0x68,0x65,0x72,0x20,0x73,0x63,0x72,0x65,0x65,0x6e .byte 0x30,0x20,0x6e,0x6f,0x72,0x20,0x73,0x63,0x72,0x65,0x65 .byte 0x6e,0x31,0x20,0x30,0x78,0x25,0x78,0x20,0x30,0x78,0x25 .byte 0x78,0x20,0x30,0x78,0x25,0x78,0x0a,0x00 .S01526: // // "ERROR - bad displaylist tag 0x%x\n" .byte 0x45,0x52,0x52,0x4f,0x52,0x20,0x2d,0x20,0x62,0x61,0x64 .byte 0x20,0x64,0x69,0x73,0x70,0x6c,0x61,0x79,0x6c,0x69,0x73 .byte 0x74,0x20,0x74,0x61,0x67,0x20,0x30,0x78,0x25,0x78,0x0a .byte 0x00 .data .globl _back_colour .align 4 _back_colour: //back_colour .long 0 _display_tile_base: //display_tile_base .long 0 _very_first_frame: //very_first_frame .long 0 _first_framebuf_y: //first_framebuf_y .long 0 _framebuf_flip: //framebuf_flip .long 4 _prevBin: //prevBin .long 0 _unclipped_tris: //unclipped_tris .long 0 _farz_drawn_tris: //farz_drawn_tris .long 0 _farz_rejected_tris: //farz_rejected_tris .long 0 _clipped_tris: //clipped_tris .long 0 _clipped_patches: //clipped_patches .long 0 _unclipped_patches: //unclipped_patches .long 0 .globl _multisyncs _multisyncs: //multisyncs .long 0 .globl _recompute_end_of_frame _recompute_end_of_frame: //recompute_end_of_frame .long 1 .globl _random_x _random_x: //random_x .long 0x0 // 0.00000000E+00 .globl _random_y _random_y: //random_y .long 0x0 // 0.00000000E+00 _random_numbers: //random_numbers .long 0x3dd70a3d // 1.04999997E-01 .long 0x3ed9999a // 4.25000012E-01 .long 0x3f09fbe7 // 5.38999975E-01 .long 0x3f595810 // 8.48999977E-01 .long 0x3e96872b // 2.94000000E-01 .long 0x3e4ed917 // 2.02000007E-01 .long 0x3f7851ec // 9.70000029E-01 .long 0x3ea9fbe7 // 3.31999987E-01 .long 0x3f1ae148 // 6.05000019E-01 .long 0x3eef1aa0 // 4.67000008E-01 .long 0x3de147ae // 1.09999999E-01 .long 0x3f6c0831 // 9.21999991E-01 .long 0x3f620c4a // 8.83000016E-01 .long 0x3e75c28f // 2.39999995E-01 .long 0x3e87ae14 // 2.64999986E-01 .long 0x3ba3d70a // 4.99999989E-03 _casio_ix: //casio_ix .long 0 _render_inited: //render_inited .long 0 _clip_vertices: //clip_vertices .long 0 _clip_connections: //clip_connections .long 0 .globl _sub_pixel_correct _sub_pixel_correct: //sub_pixel_correct .long 0x0 // 0.00000000E+00 .globl _Czscale _Czscale: //Czscale .long 0x497ffffe // 1.04857588E+06 .globl _animate_elapsed_time _animate_elapsed_time: //animate_elapsed_time .long 0x0 // 0.00000000E+00 .lcomm .STACK,176 .lcomm .BSS,32 //prevX +0 //prevY +4 //y_display_tiles +8 //x_display_tiles +12 //DMA_copy +16 //transp_DMA_copy +20 .data .comm _vr_phong_table,4 .comm _random_offset,4 .comm _animate_time_0,4 .comm _animate_time,4 .extern _veloci_cull .extern _dN_timer .extern _xform_and_project_fn .extern _solve_fn .extern _tri_zb_rgb_o_t .extern _quick_renorm .extern _tri_zb_f .extern _tri_zb_rgb .extern _tri_zb_f_t .extern _tri_zb_rgb_t .extern _create_screenbins .extern _end_of_transframe_DMA .extern _end_of_transp_DMA .extern _newBytes .extern _setFsr .extern _getFsr .extern _texInit .extern _setRampEntry .extern _liberate_screenbins .extern _printf .extern _dN_pxpl5_dma .extern _end_of_textr_DMA .extern _short_end_of_frame_DMA .extern _memcpy .extern _next_binchunk .extern _malloc