spec
1.94 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
92
93
94
95
96
97
98
99
100
101
102
103
104
/*
* ROM spec file
*/
/*
* Include morphfaces.h to get definition for 'STACKSIZE' and
* for RSP segment numbers 'STATIC_SEG' and 'DYNAMIC_SEG'
*/
#include "morphfaces.h"
/*
* morphfaces.c relies on boot entry point being named "boot", and the boot
* stack named "bootStack" with size STACKSIZE
*/
beginseg
name "code"
flags BOOT OBJECT
entry boot
address 0x80200000
stack bootStack + STACKSIZE
include "codesegment.o"
include "$(ROOT)/usr/lib/PR/rspboot.o"
include "$(ROOT)/usr/lib/PR/gspF3DEX2.xbus.o"
endseg
/*
* Color Frame buffers
*
* Two 16-bit 320x240 CFB's take 0x4b000 bytes. Put them at very end of
* first 1 MB.
* Two 32-bit 320x240 CFB's take twice this much (0x96000 bytes).
* Again, put them at end.
*/
beginseg
name "cfb"
flags OBJECT
#ifdef FB32BIT
address 0x8006a000
#else
address 0x800b5000
#endif
include "cfb.o"
endseg
/*
* Z-Buffer
*
* Address is at 1Mbyte, thus putting it in the 2nd bank of DRAM.
* Performance is better if the CFB and ZBUF are in different
* 1MB banks of DRAM.
*/
beginseg
name "zbuf"
flags OBJECT
address 0x80100000
include "zbuf.o"
endseg
/*
* 'STATIC' segment
*
* This segment contains static display lists
* The addresses generated are RSP addresses.
* The data itself will have to be DMA'd to an (arbitrary) RDRAM location.
*
*/
beginseg
name "rsp_static"
flags OBJECT
number STATIC_SEG
include "static.o"
endseg
/*
* 'DYNAMIC' segment
*
* This segment is used to generated RSP addresses for the dynamic data.
* No ROM cartridge bits are generated by this segment. The actual RDRAM
* space will be reserved by declarations in the code segment which
* generate equivalent R4300 addresses.
*/
beginseg
name "rsp_dynamic"
flags OBJECT
number DYNAMIC_SEG
include "dynamic.o"
endseg
/*
* Combine all of the segments into a single wave
*/
beginwave
name "morphfaces"
include "code"
include "rsp_static"
include "rsp_dynamic"
include "cfb"
include "zbuf"
endwave