1//
2//------------------------------------------------------------
3// Copyright(c) 2009-2010 by Digital Media Professionals Inc.
4// All rights reserved.
5//------------------------------------------------------------
6// This source code is the confidential and proprietary
7// of Digital Media Professionals Inc.
8//------------------------------------------------------------
9//
10
11//------------------------------------------
12//  related cmp
13//------------------------------------------
14#define CMP_MODE_EQ         0
15#define CMP_MODE_NE         1
16#define CMP_MODE_LT         2
17#define CMP_MODE_LE         3
18#define CMP_MODE_GT         4
19#define CMP_MODE_GE         5
20
21//------------------------------------------
22//  related condition
23//------------------------------------------
24#define COND_MODE_OR        0
25#define COND_MODE_AND       1
26#define COND_MODE_STA0      2
27#define COND_MODE_STA1      3
28
29//------------------------------------------
30//  related status reg
31//------------------------------------------
32#define STAT0_0             0
33#define STAT0_1             1
34#define STAT1_0             0
35#define STAT1_1             1
36
37// Input registers map
38#define aPosition       v0
39#define aColor          v1
40
41// Output registers map
42#define vPosition       o0
43#define vQuaternion     o1
44#define vView           o2
45#define vTexCoord       o3
46
47// Constant registers map
48#define MATRIX_Proj         c0
49#define MATRIX_ModelView    c4
50
51#define CONST               c95     // 0.0 0.5 1.0 3.0
52
53#define EQ                  0
54#define NEQ                 1
55#define LESS                2
56#define LEQ                 3
57#define GT                  4
58#define GEQ                 5
59
60// Temporary registers map
61#define TEMP0               r0
62#define TEMP1               r1
63#define TEMP2               r2
64#define TEMP3               r3
65#define TEMP4               r4
66
67#define TEMP_TEX0           r10
68#define TEMP_TEX1           r11
69#define TEMP_TEX2           r12
70#define TEMP_TEX3           r13
71#define TEMP_TANG           r13
72#define TEMP_NORM           r14
73#define TEMP_VIEW           r15
74#define TEMP_POS            r12
75
76// Constant registers
77def     CONST,              0.0, 0.5, 1.0, 3.0
78
79#pragma bind_symbol(aPosition.xyzw,v0,v0)
80#pragma bind_symbol(aColor.xyz,v1,v1)
81
82#pragma output_map (position, o0)
83#pragma output_map (color,    o1)
84
85#pragma bind_symbol(uProjection,c0,c3)
86#pragma bind_symbol(uModelView,c4,c7)
87
88l_position:
89    m4x4    TEMP_VIEW,        aPosition,       MATRIX_ModelView
90	m4x4    vPosition,      TEMP_VIEW,       MATRIX_Proj
91    ret
92    nop
93
94main:
95    call    l_position
96    mov     o1, aColor
97    end
98endmain:
99