Files
TeslaRel410/sda4/DPL3/VRENDER/MATRIX.S
T
CydandClaude Fable 5 db7745fcd0 sda4: commit the Glaze developer hard-drive dump
Un-ignored: the dev drive is the ground truth the restoration and
emulator work constantly reference (DPL3/LIBDPL + VRENDER i860 renderer
source, BT/RP live+dev game trees, VGL_LABS pod boot, scene/audio
content). Kept in-repo for the pod-owner community.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 19:41:15 -05:00

1531 lines
28 KiB
ArmAsm

.file "matrix.c"
// PGC Rel 2.0a -opt 4
.text
.align 8
_sinCos:
.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)
fst.d f2, -8(fp)
st.l r16, 48(fp)
st.l r17, 52(fp)
// lineno: 0
// lineno: 34
orh ha%_dpl_DegAngles, r0, r31
ld.l l%_dpl_DegAngles(r31), r28
bte 0x0000, r28, .B459
orh ha%.C00461, r0, r31
fld.l l%.C00461(r31), f16
br .B462
fmul.ss f8, f16, f2
// lineno: 37
.B459: //.B0000
fiadd.ss f8, f0, f2
.DB.B459459:
// lineno: 39
.B462: //.B0001
fmov.sd f2, f8
.DB.B462462:
call _sin
nop
fiadd.dd f8, f0, f16
ld.l 48(fp), r28
fmov.sd f2, f8
fmov.ds f16, f18
call _cos
fst.l f18, r0(r28)
fmov.ds f8, f16
ld.l 52(fp), r28
fst.l f16, r0(r28)
// lineno: 0
// lineno: 41
fld.d -8(fp), f2
adds .a1+16, fp, r31
ld.l 4(fp), r1
ld.l 0(fp), fp
bri r1
mov r31, sp
.align 8
__concatenate:
.a2 = 80
.f2 = 208
addu -(.a2+.f2), sp, sp
st.l fp,(.f2-16)(sp)
addu (.f2-16), sp, fp
st.l r1, 4(fp)
st.l r4, -176(fp)
st.l r5, -172(fp)
st.l r6, -168(fp)
st.l r7, -164(fp)
st.l r8, -160(fp)
st.l r9, -156(fp)
st.l r10, -152(fp)
st.l r11, -148(fp)
st.l r12, -144(fp)
st.l r13, -140(fp)
st.l r14, -136(fp)
st.l r15, -132(fp)
st.l r16, 48(fp)
st.l r18, 56(fp)
// lineno: 0
// lineno: 59
ld.l 56(fp), r10
fld.l -76(fp), f8
addu 24, r10, r28
st.l r28, -92(fp)
addu 40, r10, r29
st.l r29, -96(fp)
addu 56, r10, r30
st.l r30, -100(fp)
addu 4, r10, r16
st.l r16, -104(fp)
addu 20, r10, r22
st.l r22, -108(fp)
addu 36, r10, r23
st.l r23, -112(fp)
addu 52, r10, r24
st.l r24, -116(fp)
addu 16, r10, r25
st.l r25, -120(fp)
addu 32, r10, r26
st.l r26, -124(fp)
addu 48, r10, r27
st.l r27, -128(fp)
addu 12, r10, r11
fld.l -80(fp), f9
fld.l -84(fp), f10
fld.l -88(fp), f11
addu 28, r10, r12
addu 44, r10, r13
addu 60, r10, r14
addu 8, r10, r15
adds -68, fp, r20
st.l r20, -72(fp)
adds 3, r0, r19
st.l r17, -4(fp)
adds -1, r0, r18
mov r17, r21
addu -12, r17, r4
addu -8, r17, r5
addu -4, r17, r6
adds -80, fp, r7
adds -76, fp, r8
adds -72, fp, r9
bla r18, r19,.B648
pfmul.dd f0, f0, f0
// lineno: 62
.B648: //.M0000
.align 8
d.pfadd.dd f0, f0, f0
nop
.PL1001:
d.fnop
ld.l -120(fp), r28
.DB.B648648:
d.fnop
fld.l 16(r4)++, f10
d.fnop
fld.l r0(r28), f16
d.fnop
fld.l r0(r21), f18
d.fnop
fld.l r0(r10), f19
d.pfmul.ss f16, f10, f0
ld.l -124(fp), r29
d.pfmul.ss f0, f0, f0
fld.l 16(r5)++, f9
d.pfmul.ss f19, f18, f0
fld.l r0(r29), f16
d.pfmul.ss f0, f0, f19
ld.l -128(fp), r30
d.pfmul.ss f0, f0, f0
fld.l 16(r6)++, f8
d.mi2p1.ss f19, f0, f30
fld.l r0(r30), f17
d.mm12msm.ss f16, f9, f0
ld.l -104(fp), r16
d.mm12msm.ss f0, f0, f0
ld.l -108(fp), r22
d.m12tpa.ss f17, f8, f21
ld.l -112(fp), r23
d.mi2p1.ss f21, f0, f30
ld.l -116(fp), r24
d.mm12msm.ss f0, f0, f0
ld.l -92(fp), r25
d.mm12msm.ss f0, f0, f17
ld.l -96(fp), r26
d.pfadd.ss f17, f30, f30
ld.l -100(fp), r27
d.pfadd.ss f0, f0, f0
addu 16, r21, r21
d.pfadd.ss f0, f0, f0
nop
d.pfadd.ss f0, f0, f30
fst.l f30, r0(r20)
d.fnop
addu 16, r20, r20
d.fnop
fld.l r0(r16), f21
d.fnop
fld.l r0(r22), f23
d.fnop
fld.l r0(r23), f22
d.pfmul.ss f18, f21, f0
fld.l r0(r24), f24
d.pfmul.ss f10, f23, f0
nop
d.pfmul.ss f9, f22, f0
nop
d.pfmul.ss f8, f24, f23
nop
d.mi2p1.ss f23, f0, f30
nop
d.mm12msm.ss f0, f0, f22
nop
d.mm12msm.ss f0, f0, f24
nop
d.pfadd.ss f22, f30, f30
nop
d.pfadd.ss f0, f0, f0
nop
d.pfadd.ss f0, f0, f0
nop
d.pfadd.ss f24, f30, f30
nop
d.pfadd.ss f0, f0, f0
nop
d.pfadd.ss f0, f0, f0
nop
d.pfadd.ss f0, f0, f30
fst.l f30, 16(r7)++
d.fnop
fld.l r0(r15), f26
d.fnop
fld.l r0(r25), f20
d.fnop
fld.l r0(r26), f27
d.pfmul.ss f18, f26, f0
fld.l r0(r27), f28
d.pfmul.ss f10, f20, f0
nop
d.pfmul.ss f9, f27, f0
nop
d.pfmul.ss f8, f28, f20
nop
d.mi2p1.ss f20, f0, f30
nop
d.mm12msm.ss f0, f0, f27
nop
d.mm12msm.ss f0, f0, f28
nop
d.pfadd.ss f27, f30, f30
nop
d.pfadd.ss f0, f0, f0
nop
d.pfadd.ss f0, f0, f0
nop
d.pfadd.ss f28, f30, f30
nop
d.pfadd.ss f0, f0, f0
nop
d.pfadd.ss f0, f0, f0
nop
d.pfadd.ss f0, f0, f30
fst.l f30, 16(r8)++
d.fnop
fld.l r0(r11), f26
d.fnop
fld.l r0(r12), f12
d.fnop
fld.l r0(r13), f25
d.pfmul.ss f18, f26, f0
fld.l r0(r14), f13
d.pfmul.ss f10, f12, f0
nop
d.pfmul.ss f9, f25, f0
nop
d.pfmul.ss f8, f13, f12
nop
d.mi2p1.ss f12, f0, f30
nop
d.mm12msm.ss f0, f0, f25
nop
d.mm12msm.ss f0, f0, f13
nop
d.pfadd.ss f25, f30, f30
nop
d.pfadd.ss f0, f0, f0
nop
d.pfadd.ss f0, f0, f0
nop
d.pfadd.ss f13, f30, f30
nop
d.pfadd.ss f0, f0, f0
nop
d.pfadd.ss f0, f0, f0
nop
d.pfadd.ss f0, f0, f30
fst.l f30, 16(r9)++
d.fnop
bla r18, r19, .PL1001
d.fnop
nop
.align 8
fnop
nop
fnop
nop
// lineno: 0
ld.l 48(fp), r16
adds -68, fp, r17
adds 64, r0, r18
fst.l f8, -76(fp)
fst.l f9, -80(fp)
fst.l f10, -84(fp)
fst.l f11, -88(fp)
st.l r20, -72(fp)
call _memcpy
st.l r21, -4(fp)
// lineno: 70
ld.l -176(fp), r4
ld.l -172(fp), r5
ld.l -168(fp), r6
ld.l -164(fp), r7
ld.l -160(fp), r8
ld.l -156(fp), r9
ld.l -152(fp), r10
ld.l -148(fp), r11
ld.l -144(fp), r12
ld.l -140(fp), r13
ld.l -136(fp), r14
ld.l -132(fp), r15
adds .a2+16, fp, r31
ld.l 4(fp), r1
ld.l 0(fp), fp
bri r1
mov r31, sp
.align 8
__rotX:
.a3 = 80
.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 r16, 48(fp)
// lineno: 108
adds -8, fp, r16
call _sinCos
adds -4, fp, r17
ld.l 48(fp), r28
adds -8, fp, r29
fld.l 8(r28), f16
fld.l r0(r29), f17
fld.l 4(r28), f19
adds -4, fp, r30
fmul.ss f17, f16, f18
fld.l r0(r30), f20
fld.l 24(r28), f29
fld.l 20(r28), f9
fmul.ss f20, f19, f21
fsub.ss f21, f18, f22
fld.l 40(r28), f18
fst.l f22, 4(r28)
fld.l r0(r29), f23
fld.l r0(r30), f25
fmul.ss f23, f19, f24
fld.l 36(r28), f19
fmul.ss f16, f25, f26
fadd.ss f26, f24, f27
fst.l f27, 8(r28)
fld.l r0(r29), f28
fld.l r0(r30), f31
fmul.ss f28, f29, f30
fmul.ss f31, f9, f10
fsub.ss f10, f30, f11
fld.l 56(r28), f30
fst.l f11, 20(r28)
fld.l r0(r29), f12
fld.l r0(r30), f14
fst.l f30, -16(fp)
fmul.ss f12, f9, f13
fld.l 52(r28), f9
fmul.ss f29, f14, f15
fadd.ss f15, f13, f17
fst.l f17, 24(r28)
fld.l r0(r29), f20
fld.l r0(r30), f22
fst.l f9, -12(fp)
fmul.ss f20, f18, f21
fmul.ss f22, f19, f23
fsub.ss f23, f21, f25
fst.l f25, 36(r28)
fld.l r0(r29), f16
fld.l r0(r30), f26
fmul.ss f16, f19, f24
fmul.ss f18, f26, f27
fadd.ss f27, f24, f28
fst.l f28, 40(r28)
fld.l r0(r29), f31
fld.l r0(r30), f11
fmul.ss f31, f30, f10
fmul.ss f11, f9, f12
fsub.ss f12, f10, f14
fst.l f14, 52(r28)
fld.l r0(r29), f29
fld.l r0(r30), f15
fmul.ss f29, f9, f13
fmul.ss f30, f15, f17
fadd.ss f17, f13, f20
fst.l f20, 56(r28)
// lineno: 138
adds .a3+16, fp, r31
ld.l 4(fp), r1
ld.l 0(fp), fp
bri r1
mov r31, sp
.align 8
__rotY:
.a4 = 80
.f4 = 48
addu -(.a4+.f4), sp, sp
st.l fp,(.f4-16)(sp)
addu (.f4-16), sp, fp
st.l r1, 4(fp)
st.l r16, 48(fp)
// lineno: 184
adds -8, fp, r16
call _sinCos
adds -4, fp, r17
ld.l 48(fp), r28
adds -4, fp, r29
fld.l r0(r28), f16
fld.l r0(r29), f17
fld.l 8(r28), f19
adds -8, fp, r30
fmul.ss f17, f16, f18
fld.l r0(r30), f20
fld.l 16(r28), f29
fld.l 24(r28), f9
fmul.ss f20, f19, f21
fadd.ss f21, f18, f22
fld.l 32(r28), f18
fst.l f22, r0(r28)
fld.l r0(r30), f23
fld.l r0(r29), f25
fmul.ss f23, f16, f24
fld.l 40(r28), f16
fmul.ss f19, f25, f26
fsub.ss f26, f24, f27
fst.l f27, 8(r28)
fld.l r0(r29), f28
fld.l r0(r30), f31
fmul.ss f28, f29, f30
fmul.ss f31, f9, f10
fadd.ss f10, f30, f11
fld.l 48(r28), f30
fst.l f11, 16(r28)
fld.l r0(r30), f12
fld.l r0(r29), f14
fst.l f30, -12(fp)
fmul.ss f12, f29, f13
fld.l 56(r28), f29
fmul.ss f9, f14, f15
fsub.ss f15, f13, f17
fst.l f17, 24(r28)
fld.l r0(r29), f20
fld.l r0(r30), f22
fst.l f29, -16(fp)
fmul.ss f20, f18, f21
fmul.ss f22, f16, f23
fadd.ss f23, f21, f25
fst.l f25, 32(r28)
fld.l r0(r30), f19
fld.l r0(r29), f26
fmul.ss f19, f18, f24
fmul.ss f16, f26, f27
fsub.ss f27, f24, f28
fst.l f28, 40(r28)
fld.l r0(r29), f31
fld.l r0(r30), f11
fmul.ss f31, f30, f10
fmul.ss f11, f29, f12
fadd.ss f12, f10, f14
fst.l f14, 48(r28)
fld.l r0(r30), f9
fld.l r0(r29), f15
fmul.ss f9, f30, f13
fmul.ss f29, f15, f17
fsub.ss f17, f13, f20
fst.l f20, 56(r28)
// lineno: 213
adds .a4+16, fp, r31
ld.l 4(fp), r1
ld.l 0(fp), fp
bri r1
mov r31, sp
.align 8
__rotZ:
.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 r16, 48(fp)
// lineno: 250
adds -8, fp, r16
call _sinCos
adds -4, fp, r17
ld.l 48(fp), r28
adds -8, fp, r29
fld.l 4(r28), f16
fld.l r0(r29), f17
fld.l r0(r28), f19
adds -4, fp, r30
fmul.ss f17, f16, f18
fld.l r0(r30), f20
fld.l 20(r28), f29
fld.l 16(r28), f9
fmul.ss f20, f19, f21
fsub.ss f21, f18, f22
fld.l 36(r28), f18
fst.l f22, r0(r28)
fld.l r0(r29), f23
fld.l r0(r30), f25
fmul.ss f23, f19, f24
fld.l 32(r28), f19
fmul.ss f16, f25, f26
fadd.ss f26, f24, f27
fst.l f27, 4(r28)
fld.l r0(r29), f28
fld.l r0(r30), f31
fmul.ss f28, f29, f30
fmul.ss f31, f9, f10
fsub.ss f10, f30, f11
fld.l 52(r28), f30
fst.l f11, 16(r28)
fld.l r0(r29), f12
fld.l r0(r30), f14
fst.l f30, -16(fp)
fmul.ss f12, f9, f13
fld.l 48(r28), f9
fmul.ss f29, f14, f15
fadd.ss f15, f13, f17
fst.l f17, 20(r28)
fld.l r0(r29), f20
fld.l r0(r30), f22
fst.l f9, -12(fp)
fmul.ss f20, f18, f21
fmul.ss f22, f19, f23
fsub.ss f23, f21, f25
fst.l f25, 32(r28)
fld.l r0(r29), f16
fld.l r0(r30), f26
fmul.ss f16, f19, f24
fmul.ss f18, f26, f27
fadd.ss f27, f24, f28
fst.l f28, 36(r28)
fld.l r0(r29), f31
fld.l r0(r30), f11
fmul.ss f31, f30, f10
fmul.ss f11, f9, f12
fsub.ss f12, f10, f14
fst.l f14, 48(r28)
fld.l r0(r29), f29
fld.l r0(r30), f15
fmul.ss f29, f9, f13
fmul.ss f30, f15, f17
fadd.ss f17, f13, f20
fst.l f20, 52(r28)
// lineno: 279
adds .a5+16, fp, r31
ld.l 4(fp), r1
ld.l 0(fp), fp
bri r1
mov r31, sp
.globl _dpl_SetAngleMode
.align 8
_dpl_SetAngleMode:
// lineno: 286
orh ha%_dpl_DegAngles, r0, r31
bri r1
st.l r16, l%_dpl_DegAngles(r31)
// lineno: 287
bri r1
nop
.globl _dpl_IdMatrix
.align 8
_dpl_IdMatrix:
// lineno: 294
orh ha%.C00036, r0, r31
fld.l l%.C00036(r31), f16
fst.l f0, 4(r16)
fst.l f0, 8(r16)
fst.l f16, r0(r16)
fst.l f16, 20(r16)
fst.l f16, 40(r16)
fst.l f16, 60(r16)
fst.l f0, 12(r16)
fst.l f0, 16(r16)
fst.l f0, 24(r16)
fst.l f0, 28(r16)
fst.l f0, 32(r16)
fst.l f0, 36(r16)
fst.l f0, 44(r16)
fst.l f0, 48(r16)
fst.l f0, 52(r16)
bri r1
fst.l f0, 56(r16)
// lineno: 295
bri r1
nop
.globl _dpl_Translate
.align 8
_dpl_Translate:
.a8 = 80
.f8 = 96
addu -(.a8+.f8), sp, sp
st.l fp,(.f8-16)(sp)
addu (.f8-16), sp, fp
st.l r1, 4(fp)
st.l r16, 48(fp)
// lineno: 302
orh ha%.C00036, r0, r31
fld.l l%.C00036(r31), f16
ld.l 48(fp), r17
adds -64, fp, r18
fst.l f16, -64(fp)
fst.l f16, -44(fp)
fst.l f16, -24(fp)
fst.l f16, -4(fp)
fst.l f8, -16(fp)
fst.l f9, -12(fp)
fst.l f10, -8(fp)
fst.l f0, -60(fp)
fst.l f0, -56(fp)
fst.l f0, -52(fp)
fst.l f0, -48(fp)
fst.l f0, -40(fp)
fst.l f0, -36(fp)
fst.l f0, -32(fp)
fst.l f0, -28(fp)
call __concatenate
fst.l f0, -20(fp)
// lineno: 309
adds .a8+16, fp, r31
ld.l 4(fp), r1
ld.l 0(fp), fp
bri r1
mov r31, sp
.globl _dpl_Rotate
.align 8
_dpl_Rotate:
.a9 = 80
.f9 = 32
addu -(.a9+.f9), sp, sp
st.l fp,(.f9-16)(sp)
addu (.f9-16), sp, fp
st.l r1, 4(fp)
// lineno: 0
// lineno: 314
btne 0x0000, r17, .B517
orh h%.B518, r0, r1
br __rotX
or l%.B518, r1, r1
// lineno: 315
.B517: //.B0004
btne 0x0001, r17, .B519
orh h%.B520, r0, r1
br __rotY
or l%.B520, r1, r1
// lineno: 316
.B519: //.B0006
call __rotZ
nop
// lineno: 0
.B520: //.B0007
// lineno: 0
.B518: //.B0005
// lineno: 317
adds .a9+16, fp, r31
ld.l 4(fp), r1
ld.l 0(fp), fp
bri r1
mov r31, sp
.globl _dpl_Scale
.align 8
_dpl_Scale:
.a10 = 80
.f10 = 96
addu -(.a10+.f10), sp, sp
st.l fp,(.f10-16)(sp)
addu (.f10-16), sp, fp
st.l r1, 4(fp)
st.l r16, 48(fp)
// lineno: 324
orh ha%.C00036, r0, r31
fld.l l%.C00036(r31), f16
adds -64, fp, r18
fst.l f8, -64(fp)
fst.l f9, -44(fp)
fst.l f10, -24(fp)
fst.l f16, -4(fp)
ld.l 48(fp), r17
fst.l f0, -60(fp)
fst.l f0, -56(fp)
fst.l f0, -52(fp)
fst.l f0, -48(fp)
fst.l f0, -40(fp)
fst.l f0, -36(fp)
fst.l f0, -32(fp)
fst.l f0, -28(fp)
fst.l f0, -20(fp)
fst.l f0, -16(fp)
fst.l f0, -12(fp)
call __concatenate
fst.l f0, -8(fp)
// lineno: 331
adds .a10+16, fp, r31
ld.l 4(fp), r1
ld.l 0(fp), fp
bri r1
mov r31, sp
.globl _dpl_Concat
.align 8
_dpl_Concat:
.a11 = 80
.f11 = 32
addu -(.a11+.f11), sp, sp
st.l fp,(.f11-16)(sp)
addu (.f11-16), sp, fp
st.l r1, 4(fp)
// lineno: 336
call __concatenate
nop
// lineno: 337
adds .a11+16, fp, r31
ld.l 4(fp), r1
ld.l 0(fp), fp
bri r1
mov r31, sp
.globl _dpl_Invert
.align 8
_dpl_Invert:
.a12 = 0
.f12 = 80
orh h%.STACK+.f12-16, r0, r28
or l%.STACK+.f12-16, r28, r28
// lineno: 362
orh ha%.C00036, r0, r31
fld.l l%.C00036(r31), f16
fst.l f0, 12(r16)
fst.l f0, 28(r16)
fst.l f16, 60(r16)
fst.l f0, 44(r16)
fld.l 32(r17), f17
fld.l 24(r17), f18
fld.l 16(r17), f20
fld.l 40(r17), f21
fmul.ss f18, f17, f19
fld.l 4(r17), f25
fld.l 36(r17), f27
fmul.ss f21, f20, f22
fld.l 20(r17), f29
fld.l r0(r17), f8
fsub.ss f22, f19, f23
fld.l 8(r17), f14
fsub.ss f0, f23, f24
fmul.ss f24, f25, f26
fmul.ss f18, f27, f28
fmul.ss f21, f29, f30
fsub.ss f30, f28, f31
orh ha%.C00037, r0, r31
fld.l l%.C00037(r31), f28
fmul.ss f31, f8, f9
fadd.ss f26, f9, f10
fmul.ss f29, f17, f11
fmul.ss f27, f20, f12
fsub.ss f12, f11, f13
fmul.ss f13, f14, f15
fadd.ss f15, f10, f19
frcp.ss f19, f22
fmul.ss f19, f22, f23
fsub.ss f28, f23, f30
fmul.ss f22, f30, f9
fmul.ss f19, f9, f26
fsub.ss f28, f26, f11
fld.l 48(r17), f26
fmul.ss f11, f9, f12
fmul.ss f27, f14, f10
fmul.ss f21, f25, f15
fsub.ss f15, f10, f23
fld.l 52(r17), f15
fmul.ss f12, f23, f30
fsub.ss f0, f30, f22
fmul.ss f22, f26, f28
fmul.ss f17, f14, f9
fmul.ss f21, f8, f11
fsub.ss f11, f9, f19
fmul.ss f12, f19, f10
fmul.ss f10, f15, f23
fadd.ss f23, f28, f30
fmul.ss f17, f25, f9
fmul.ss f27, f8, f11
fsub.ss f11, f9, f19
fld.l 56(r17), f9
fmul.ss f12, f19, f28
fsub.ss f0, f28, f23
fmul.ss f23, f9, f11
fadd.ss f11, f30, f19
fsub.ss f0, f19, f28
fst.l f0, 12(r17)
fst.l f0, 28(r17)
fst.l f0, 44(r17)
fst.l f16, 60(r17)
fst.l f28, 52(r16)
fmul.ss f20, f14, f30
fmul.ss f18, f8, f11
fsub.ss f11, f30, f19
fmul.ss f12, f19, f16
fsub.ss f0, f16, f28
fmul.ss f28, f15, f30
fmul.ss f29, f14, f11
fmul.ss f18, f25, f19
fsub.ss f19, f11, f16
fmul.ss f12, f16, f11
fmul.ss f11, f26, f19
fadd.ss f30, f19, f16
fmul.ss f20, f25, f19
fmul.ss f29, f8, f30
fsub.ss f30, f19, f8
fmul.ss f12, f8, f19
fmul.ss f19, f9, f30
fadd.ss f30, f16, f8
fsub.ss f0, f8, f16
fst.l f16, 56(r16)
fmul.ss f31, f12, f30
fmul.ss f30, f26, f8
fmul.ss f24, f12, f16
fmul.ss f16, f15, f31
fadd.ss f31, f8, f24
fmul.ss f13, f12, f8
fmul.ss f8, f9, f31
fadd.ss f31, f24, f13
fsub.ss f0, f13, f24
fst.l f24, 48(r16)
fst.l f11, -48(r28)
fst.l f19, -56(r28)
fst.l f22, 4(r16)
fst.l f23, 36(r16)
fst.l f28, -52(r28)
fst.l f28, 24(r16)
fst.l f30, r0(r16)
fst.l f16, 16(r16)
fst.l f8, 32(r16)
fst.l f10, 20(r16)
fst.l f11, 8(r16)
fst.l f19, 40(r16)
fst.l f12, -60(r28)
fst.l f25, -4(r28)
fst.l f14, -8(r28)
fst.l f20, -12(r28)
fst.l f29, -16(r28)
fst.l f18, -20(r28)
fst.l f17, -24(r28)
fst.l f27, -28(r28)
fst.l f21, -32(r28)
fst.l f26, -36(r28)
fst.l f15, -40(r28)
bri r1
fst.l f9, -44(r28)
// lineno: 427
bri r1
nop
.globl _dpl_XformPoint
.align 8
_dpl_XformPoint:
.a13 = 80
.f13 = 64
addu -(.a13+.f13), sp, sp
st.l fp,(.f13-16)(sp)
addu (.f13-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 r16, 48(fp)
st.l r17, 52(fp)
st.l r18, 56(fp)
// lineno: 0
// lineno: 0
.B556: //.B0008
ld.l 56(fp), r28
.DB.B556556:
ld.l 52(fp), r6
addu -4, r28, r20
addu 12, r28, r21
addu 28, r28, r4
addu 44, r28, r5
addu 4, r6, r7
addu 8, r6, r8
adds 3, r0, r18
adds -1, r0, r17
adds -20, fp, r19
bla r17, r18,.B784
pfmul.dd f0, f0, f0
// lineno: 439
.B784: //.M0001
.align 8
d.pfadd.dd f0, f0, f0
nop
.PL2001:
d.fnop
fld.l r0(r6), f16
.DB.B784784:
d.fnop
fld.l 4(r20)++, f17
d.fnop
fld.l 4(r21)++, f19
d.fnop
fld.l r0(r7), f20
d.pfmul.ss f17, f16, f0
fld.l 4(r4)++, f21
d.pfmul.ss f0, f0, f0
fld.l r0(r8), f16
d.pfmul.ss f19, f20, f0
fld.l 4(r5)++, f17
d.pfmul.ss f0, f0, f20
nop
d.pfmul.ss f21, f16, f0
nop
d.mi2p1.ss f20, f0, f30
nop
d.mm12msm.ss f0, f0, f0
nop
d.mm12msm.ss f0, f0, f21
nop
d.pfadd.ss f21, f30, f30
nop
d.pfadd.ss f0, f0, f0
nop
d.pfadd.ss f0, f0, f0
nop
d.pfadd.ss f17, f30, f30
nop
d.pfadd.ss f0, f0, f0
nop
d.pfadd.ss f0, f0, f0
nop
d.pfadd.ss f0, f0, f30
fst.l f30, 4(r19)++
d.fnop
bla r17, r18, .PL2001
d.fnop
nop
.align 8
fnop
nop
fnop
nop
// lineno: 440
.B557: //.B0009
ld.l 48(fp), r16
.DB.B557557:
adds -16, fp, r17
call _memcpy
adds 16, r0, r18
// lineno: 442
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
adds .a13+16, fp, r31
ld.l 4(fp), r1
ld.l 0(fp), fp
bri r1
mov r31, sp
.data
.align 8
.C00461: // (0)
.long 0x3c8efa35 // 1.74532924E-02
.C00036: // (4)
.long 0x3f800000 // 1.00000000E+00
.C00037: // (8)
.long 0x40000000 // 2.00000000E+00
.data
.align 4
_dpl_DegAngles: //dpl_DegAngles
.long 1
.lcomm .STACK,80
.extern _memcpy
.extern _cos
.extern _sin