.file "texture.c" // PGC Rel 2.0a -opt 2 .text .align 8 _newCell: .a1 = 80 .f1 = 32 addu -(.a1+.f1), sp, sp st.l fp,(.f1-16)(sp) addu (.f1-16), sp, fp st.l r1, 4(fp) st.l r4, -8(fp) st.l r5, -4(fp) st.l r16, 48(fp) mov r17, r4 // lineno: 0 // lineno: 42 adds 20, r0, r16 call _malloc nop mov r16, r5 bte 0x0000, r16, .B577 ld.l 48(fp), r28 st.l r4, 8(r16) st.l r28, 4(r16) st.l r4, 16(r16) st.l r0, 0(r16) // lineno: 50 .B577: //.B0000 mov r5, r16 .DB.B577577: // lineno: 0 // lineno: 51 ld.l -8(fp), r4 ld.l -4(fp), r5 adds .a1+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .align 8 _cell_hwareSize: // lineno: 0 // lineno: 62 xor 0x0040, r16, r0 bnc .B582 bri r1 mov r0, r16 // lineno: 63 .B582: //.B0001 xor 0x0080, r16, r0 .DB.B582582: bnc .B584 bri r1 adds 1, r0, r16 // lineno: 64 .B584: //.B0002 xor 0x0100, r16, r0 .DB.B584584: bnc .B586 br .B697 adds 2, r0, r16 // lineno: 66 .B586: //.B0003 bri r1 adds 1, r0, r16 // lineno: 0 .B697: //.R0001 // lineno: 67 bri r1 nop .globl _texInit .align 8 _texInit: .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) st.l r4, -16(fp) st.l r5, -12(fp) st.l r6, -8(fp) // lineno: 0 orh h%.BSS, r0, r31 or l%.BSS, r31, r6 // lineno: 75 orh h%_texturesInited, r0, r31 or l%_texturesInited, r31, r28 ld.l 0(r28), r29 btne 0x0000, r29, .B700 adds 1, r0, r30 orh ha%_texturesInited, r0, r31 st.l r30, l%_texturesInited(r31) mov r0, r4 mov r0, r4 st.l r0, 0(r6) // lineno: 83 .B708: //.M0000 adds 64, r0, r16 .DB.B708708: call _newCell mov r0, r17 ld.l r0(r6), r28 st.l r16, 0(r6) st.l r28, 0(r16) mov r16, r5 adds 1, r4, r4 adds -64, r4, r0 bc.t .DB.B708708 adds 64, r0, r16 // lineno: 0 mov r5, r28 ld.l r0(r6), r5 mov r0, r4 orh ha%.BSS+4, r0, r31 st.l r28, l%.BSS+4(r31) bte 0x0000, r5, .B598 mov r0, r4 // lineno: 91 .B709: //.M0001 mov r5, r28 .DB.B709709: ld.l r0(r5), r5 st.l r4, 8(r28) st.l r4, 16(r28) adds 1, r4, r4 xor 0x0000, r5, r0 bnc.t .DB.B709709 mov r5, r28 // lineno: 0 // lineno: 93 .B598: //.B0008 // lineno: 0 .B700: //.R0002 // lineno: 94 ld.l -16(fp), r4 ld.l -12(fp), r5 ld.l -8(fp), r6 adds .a3+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .globl _allocateHSPtexture .align 8 _allocateHSPtexture: .a4 = 80 .f4 = 80 addu -(.a4+.f4), sp, sp st.l fp,(.f4-16)(sp) addu (.f4-16), sp, fp st.l r1, 4(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) st.l r9, -28(fp) st.l r10, -24(fp) st.l r11, -20(fp) st.l r12, -16(fp) st.l r13, -12(fp) st.l r14, -8(fp) st.l r15, -4(fp) mov r16, r12 // lineno: 0 orh h%.BSS+4, r0, r31 or l%.BSS+4, r31, r15 // lineno: 106 bte r17, r16, .B608 br .B712 mov r0, r16 // lineno: 108 .B608: //.B0009 xor 0x0100, r16, r0 .DB.B608608: bc .B610 xor 0x0080, r16, r0 bc .B610 xor 0x0040, r16, r0 bc .B610 br .B712 mov r0, r16 // lineno: 111 .B610: //.B0011 ld.l r0(r15), r9 .DB.B610610: mov r0, r10 xor 0x0100, r12, r0 bnc .B615 br .B617 adds 16, r0, r7 // lineno: 114 .B615: //.B0013 xor 0x0080, r12, r0 .DB.B615615: bnc .B618 br .B620 adds 4, r0, r7 // lineno: 115 .B618: //.B0015 xor 0x0040, r12, r0 .DB.B618618: bnc .B621 adds 1, r0, r7 // lineno: 0 .B621: //.B0017 // lineno: 0 .B620: //.B0016 // lineno: 117 .B617: //.B0014 btne 0x0001, r7, .B622 bte 0x0000, r9, .B624 mov r12, r16 call _cell_hwareSize mov r9, r13 ld.l r0(r13), r28 st.l r0, 0(r13) st.l r28, 0(r15) st.l r16, 12(r13) br .B712 mov r13, r16 // lineno: 146 .B624: //.B0019 br .B712 mov r0, r16 // lineno: 156 .B622: //.B0018 bte 0x0000, r9, .B632 // lineno: 157 .B728: //.M0003 ld.l 8(r9), r28 .DB.B728728: ld.l r0(r9), r8 adds 1, r28, r4 adds 1, r0, r6 mov r6, r5 mov r6, r5 mov r9, r11 // lineno: 170 .B727: //.M0002 btne 0x0000, r8, .B642 // lineno: 0 // lineno: 0 br .B712 mov r0, r16 // lineno: 178 .B642: //.B0026 ld.l 8(r8), r28 .DB.B642642: btne r4, r28, .B644 adds 1, r5, r5 adds 1, r4, r4 btne r7, r5, .B646 // lineno: 0 // lineno: 0 ld.l r0(r8), r14 st.l r0, 0(r8) mov r11, r8 btne 0x0000, r10, .B649 br .B650 st.l r14, 0(r15) // lineno: 198 .B649: //.B0029 st.l r14, 0(r10) .DB.B649649: // lineno: 200 .B650: //.B0030 call _cell_hwareSize mov r12, r16 st.l r16, 12(r8) br .B712 mov r11, r16 // lineno: 213 .B646: //.B0028 br .B651 ld.l r0(r8), r8 // lineno: 217 .B644: //.B0027 orh h%.S00652, r0, r31 .DB.B644644: call _printf or l%.S00652, r31, r16 mov r0, r6 // lineno: 221 .B651: //.B0031 btne 0x0000, r6, .B727 // lineno: 0 mov r9, r28 ld.l r0(r9), r9 mov r28, r10 xor 0x0000, r9, r0 bnc.t .DB.B728728 ld.l 8(r9), r28 // lineno: 0 // lineno: 224 .B632: //.B0023 mov r0, r16 .DB.B632632: // lineno: 0 .B712: //.R0003 // lineno: 228 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 ld.l -28(fp), r9 ld.l -24(fp), r10 ld.l -20(fp), r11 ld.l -16(fp), r12 ld.l -12(fp), r13 ld.l -8(fp), r14 ld.l -4(fp), r15 adds .a4+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .align 8 _paletfix: // lineno: 0 // lineno: 233 adds 0, r16, r0 bnc .B657 mov r0, r16 // lineno: 234 .B657: //.B0032 subs 255, r16, r0 .DB.B657657: bnc .B659 adds 255, r0, r29 mov r29, r16 // lineno: 236 .B659: //.B0033 shra 4, r16, r16 .DB.B659659: // lineno: 0 // lineno: 237 bri r1 nop .globl _codeWordFromRamp .align 8 _codeWordFromRamp: .a6 = 80 .f6 = 48 addu -(.a6+.f6), sp, sp st.l fp,(.f6-16)(sp) addu (.f6-16), sp, fp st.l r1, 4(fp) st.l r16, 48(fp) st.l r17, 52(fp) // lineno: 0 // lineno: 244 adds 0, r17, r0 bc .B672 adds -4, r17, r0 bc .B671 // lineno: 246 .B672: //.B0035 br .B734 nop // lineno: 248 .B671: //.B0034 ld.l 48(fp), r28 .DB.B671671: fld.l r0(r28), f16 orh ha%.C00670, r0, r31 fld.l l%.C00670(r31), f17 fmul.ss f16, f17, f18 ftrunc.sd f18, f20 call _paletfix fxfr f20, r16 ld.l 48(fp), r28 mov r16, r29 fld.l 4(r28), f16 orh ha%.C00670, r0, r31 fld.l l%.C00670(r31), f17 st.l r29, -4(fp) fmul.ss f16, f17, f18 ftrunc.sd f18, f20 call _paletfix fxfr f20, r16 ld.l 48(fp), r28 mov r16, r29 fld.l 8(r28), f16 orh ha%.C00670, r0, r31 fld.l l%.C00670(r31), f17 st.l r29, -8(fp) fmul.ss f16, f17, f18 ftrunc.sd f18, f20 call _paletfix fxfr f20, r16 ld.l 48(fp), r28 mov r16, r29 fld.l 12(r28), f16 orh ha%.C00670, r0, r31 fld.l l%.C00670(r31), f17 st.l r29, -12(fp) fmul.ss f16, f17, f18 ftrunc.sd f18, f20 call _paletfix fxfr f20, r16 ld.l 48(fp), r28 mov r16, r29 fld.l 16(r28), f16 orh ha%.C00670, r0, r31 fld.l l%.C00670(r31), f17 st.l r29, -16(fp) fmul.ss f16, f17, f18 ftrunc.sd f18, f20 call _paletfix fxfr f20, r16 ld.l 48(fp), r28 mov r16, r29 fld.l 20(r28), f16 orh ha%.C00670, r0, r31 fld.l l%.C00670(r31), f17 st.l r29, -20(fp) fmul.ss f16, f17, f18 ftrunc.sd f18, f20 call _paletfix fxfr f20, r16 ld.l -16(fp), r28 ld.l -4(fp), r30 shl 4, r28, r29 or r30, r29, r18 ld.l -8(fp), r19 ld.l -20(fp), r22 shl 8, r19, r20 or r18, r20, r21 shl 12, r22, r23 or r21, r23, r24 ld.l -12(fp), r25 shl 20, r16, r28 shl 16, r25, r26 or r24, r26, r27 or r27, r28, r29 shl 3, r29, r30 ld.l 52(fp), r19 ld.l 48(fp), r18 or r30, r19, r20 st.l r20, 24(r18) st.l r16, -24(fp) // lineno: 0 .B734: //.R0005 // lineno: 259 adds .a6+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .globl _setRampEntry .align 8 _setRampEntry: .a7 = 80 .f7 = 32 addu -(.a7+.f7), sp, sp st.l fp,(.f7-16)(sp) addu (.f7-16), sp, fp st.l r1, 4(fp) // lineno: 0 // lineno: 266 adds 0, r17, r0 bc .B686 adds -4, r17, r0 bc .B685 // lineno: 266 .B686: //.B0037 br .B747 nop // lineno: 268 .B685: //.B0036 fst.l f8, r0(r16) .DB.B685685: fst.l f9, 4(r16) fst.l f10, 8(r16) fst.l f11, 12(r16) fst.l f12, 16(r16) call _codeWordFromRamp fst.l f13, 20(r16) // lineno: 0 .B747: //.R0006 // lineno: 283 adds .a7+16, fp, r31 ld.l 4(fp), r1 ld.l 0(fp), fp bri r1 mov r31, sp .data .align 8 .C00670: // (0) .long 0x437fe666 // 2.55899994E+02 .data .align 1 .S00652: // // "no contiguous, restarting search\n" .byte 0x6e,0x6f,0x20,0x63,0x6f,0x6e,0x74,0x69,0x67,0x75,0x6f .byte 0x75,0x73,0x2c,0x20,0x72,0x65,0x73,0x74,0x61,0x72,0x74 .byte 0x69,0x6e,0x67,0x20,0x73,0x65,0x61,0x72,0x63,0x68,0x0a .byte 0x00 .data .align 4 _texturesInited: //texturesInited .long 0 .lcomm .BSS,16 //freeCell +0 //list_head +4 .extern _printf .extern _malloc