gzregs.h
2.72 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/*---------------------------------------------------------------------
$Id: gzregs.h,v 1.1.1.1 2002/05/02 03:29:12 blythe Exp $
File : gzregs.h
Coded by Yoshitaka Yasumoto. Jun 17, 1997.
Copyright by Nintendo, Co., Ltd. 1997.
---------------------------------------------------------------------*/
#ifndef ASSERT_UNNAME
#define Assign(n, reg) .unname UNUSE##reg .name n, $##reg
#define EndAssign(n, reg) .unname n .name UNUSE##reg, $##reg
#define FixedAssign Assign
#define R(a) .name UNUSE##a, $##a
R(0) R(1) R(2) R(3) R(4) R(5) R(6) R(7)
R(8) R(9) R(10) R(11) R(12) R(13) R(14) R(15)
R(16) R(17) R(18) R(19) R(20) R(21) R(22) R(23)
R(24) R(25) R(26) R(27) R(28) R(29) R(30) R(31)
R(v0) R(v1) R(v2) R(v3) R(v4) R(v5) R(v6) R(v7)
R(v8) R(v9) R(v10) R(v11) R(v12) R(v13) R(v14) R(v15)
R(v16) R(v17) R(v18) R(v19) R(v20) R(v21) R(v22) R(v23)
R(v24) R(v25) R(v26) R(v27) R(v28) R(v29) R(v30) R(v31)
#undef R
Assign(zero, 0)
Assign(sys0, 11) /* DMA 系命令で tmp として使用 */
Assign(sys1, 12)
Assign(outp, 23) /* F3DEX と共通 */
Assign(gfx1, 24) /* F3DEX と共通 */
Assign(gfx0, 25) /* F3DEX と共通 */
Assign(inp, 26) /* F3DEX と共通 */
Assign(dinp, 27) /* F3DEX と共通 */
Assign(gfxdone, 28) /* Gfx 処理後 Jump 先 */
Assign(objp, 29) /* ZOBJ DMEM ポインタ */
Assign(vecptr, 30) /* V Reg アクセス用ポインタ */
Assign(return, 31)
Assign(vzero, v0) /* 全ての要素が 0 */
Assign(vone, v1) /* 全ての要素が 1 */
Assign(vconst1, v29)
Assign(vconst, v30)
Assign(vtmp, v31)
#else
EndAssign(zero, 0)
EndAssign(sys0, 11)
EndAssign(sys1, 12)
EndAssign(outp, 23)
EndAssign(gfx1, 24)
EndAssign(gfx0, 25)
EndAssign(inp, 26)
EndAssign(dinp, 27)
EndAssign(gfxdone, 28)
EndAssign(objp, 29)
EndAssign(vecptr, 30)
EndAssign(return, 31)
EndAssign(vzero, v0)
EndAssign(vone, v1)
EndAssign(vconst1, v29)
EndAssign(vconst, v30)
EndAssign(vtmp, v31)
#define R(a) .unname UNUSE##a .name UNUSE##a, $##a
R(0) R(1) R(2) R(3) R(4) R(5) R(6) R(7)
R(8) R(9) R(10) R(11) R(12) R(13) R(14) R(15)
R(16) R(17) R(18) R(19) R(20) R(21) R(22) R(23)
R(24) R(25) R(26) R(27) R(28) R(29) R(30) R(31)
R(v0) R(v1) R(v2) R(v3) R(v4) R(v5) R(v6) R(v7)
R(v8) R(v9) R(v10) R(v11) R(v12) R(v13) R(v14) R(v15)
R(v16) R(v17) R(v18) R(v19) R(v20) R(v21) R(v22) R(v23)
R(v24) R(v25) R(v26) R(v27) R(v28) R(v29) R(v30) R(v31)
#undef R
#endif
/*======== End of gz2regs.h ========*/