app.h
2.47 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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
/**************************************************************************
* *
* Copyright (C) 1995, Silicon Graphics, Inc. *
* *
* These coded instructions, statements, and computer programs contain *
* unpublished proprietary information of Silicon Graphics, Inc., and *
* are protected by Federal copyright law. They may not be disclosed *
* to third parties or copied or duplicated in any form, in whole or *
* in part, without the prior written consent of Silicon Graphics, Inc. *
* *
*************************************************************************/
/*
* File: app.h
* Create Date: Mon Apr 17 11:45:47 PDT 1995
*
*/
#define STATIC_SEGMENT 1
#define CFB_SEGMENT 2
#define CZB_SEGMENT 3
#define TEXTURE_SEGMENT 4
#define DYNAMIC_SEGMENT 5
#define SCREEN_HT 240
#define SCREEN_WD 320
#define START_FRAME_BUFP 0x00100000
#define START_FRAME_BUFV 0x80100000
#define START_Z_BUFP 0x00180000
#define START_Z_BUFV 0x80180000
/* this stack size is in bytes, and is a lot larger
* than this program needs.
*/
#define STACKSIZE 0x2000
#define GLIST_LEN 7000
/*
* ifdef needed because this file is included by "spec"
*/
#ifdef _LANGUAGE_C
/*
* Layout of dynamic data.
*
* This structure holds the things which change per frame. It is advantageous
* to keep dynamic data together so that we may selectively write back dirty
* data cache lines to DRAM prior to processing by the RCP.
*
*/
typedef struct {
Mtx projection;
Mtx viewing;
Mtx identity;
Mtx move_x;
Mtx move_y;
Gfx glist[GLIST_LEN];
} Dynamic;
extern Dynamic dynamic;
/* these are the static display lists */
extern Gfx rspinit_dl[];
extern Gfx rdpinit_dl[];
extern Gfx clearcfb_dl[];
extern Gfx clearczb_dl[];
extern Gfx shadetri_dl[];
extern Gfx textri_dl[];
extern Gfx ci_load_4b[];
extern Gfx ci_face[];
extern Gfx ci_face_8b[];
extern Gfx mandrill_dl[];
extern Gfx mandrill_face_dl[];
extern Gfx mandrill32_dl[];
extern Gfx mandrill4_dl[];
extern Gfx mandrill32_face_dl[];
/* CPU addresses for the color frame buffer */
extern u16 cfb[][SCREEN_WD*SCREEN_HT];
extern u16 czb[SCREEN_WD*SCREEN_HT];
/* RSP address for the color frame buffer */
extern u16 rsp_cfb[];
extern u16 rsp_czb[];
#endif /* _LANGUAGE_C */