0
|
1 /*
|
|
2 * MPG(Micro Program) for VU1
|
|
3 * MPG is added to packet's head in chain mode DMA
|
|
4 */
|
|
5
|
|
6 .data
|
|
7 .DmaPackVif 0
|
|
8
|
|
9 .include "vumacros.h"
|
|
10
|
|
11 .global Mpg_start
|
|
12 .global Dma_start
|
|
13 .global Screen_matrix
|
|
14 .global Rot_trans_matrix
|
|
15 .global Light_color_matrix
|
|
16 .global Light_matrix
|
|
17
|
|
18 Mpg_start:
|
|
19 .align 0
|
|
20 DMAcnt *
|
|
21 MPG 0, *
|
|
22 .include "basic.vsm"
|
|
23 .EndMPG
|
|
24 .EndDmaData
|
|
25
|
|
26 Dma_start:
|
|
27 DMAnext *, Mpg_start
|
|
28 unpack 4, 4, V4_32, 0, *; Screen Matrix
|
|
29 Screen_matrix:
|
|
30 fwzyx 0.000000, 0.000000, 0.000000, 35.752483
|
|
31 fwzyx 0.000000, 0.000000, -14.765776, 0.000000
|
|
32 fwzyx 0.050000, 4995000.000000, 102.400002, 102.400002
|
|
33 fwzyx 1.000000, 100000000.000000, 2048.000000, 2048.000000
|
|
34 .EndUnpack
|
|
35
|
|
36 unpack 4, 4, V4_32, 4, * ; ROTATION & TRANSLATION MATRIX
|
|
37 Rot_trans_matrix:
|
|
38 fwzyx 0.0, -0.000000, -0.000000, 1.000000
|
|
39 fwzyx 0.0, -0.000000, 1.000000, 0.000000
|
|
40 fwzyx 0.0, 1.000000, 0.000000, 0.000000
|
|
41 fwzyx 1.0, 0.000000, 0.000000, 0.000000
|
|
42 .EndUnpack
|
|
43
|
|
44 unpack 4, 4, V4_32, 8, * ; LIGHT COLOR MATRIX
|
|
45 Light_color_matrix:
|
|
46 fxyzw 0.2, 0.7, 0.0, 0.0
|
|
47 fxyzw 0.0, 0.0, 0.0, 0.0
|
|
48 fxyzw 0.0, 0.0, 0.0, 0.0
|
|
49 fxyzw 1.0, 1.0, 1.0, 1.0
|
|
50 .EndUnpack
|
|
51
|
|
52 unpack 4, 4, V4_32, 12, * ; LIGHT VECTOR MATRIX
|
|
53 Light_matrix:
|
|
54 fxyzw 0.0, 0.0, 0.0, 0.000000
|
|
55 fxyzw 1.0, 0.0, 1.0, 0.000000
|
|
56 fxyzw 0.0, 1.0, 0.0, 0.000000
|
|
57 fxyzw 0.0, 0.0, 0.0, 1.000000
|
|
58 .EndUnpack
|
|
59
|
|
60 MSCAL 0 ;
|
|
61 BASE 0 ; sets the vif1 base register
|
|
62 OFFSET 512 ; sets the vif1 offset register
|
|
63 .EndDmaData
|
|
64
|