spec 1.42 KB
#include "overlay.h"

/*
 * ROM spec file
 */
beginseg
	name "kernel"
	flags BOOT OBJECT
	entry boot
	address 0x80200000
	stack bootStack + STACKSIZE
	include "kernel.o"
	include "$(ROOT)/usr/lib/PR/rspboot.o"
	include "$(ROOT)/usr/lib/PR/gspF3DEX2.xbus.o"
endseg

beginseg
	name "cfb"
	flags OBJECT
	address 0x80000400
	include "cfb.o"
endseg

/*
 * Note that the "plain" and "texture" overlays are both given
 * the same virtual (direct mapped) address, and thus will occupy
 * the same physical memory locations.
 */

beginseg
	name "plain"
	flags OBJECT
	after "cfb"
	include "plain.o"
endseg

beginseg
	name "texture"
	flags OBJECT
	after "cfb"
	include "texture.o"
endseg

beginseg
	name "rsp_cfb"
	flags OBJECT
	number CFB_SEGMENT
	include "rsp_cfb.o"
endseg

/*
 * Use two "waves" to create ELF binaries with distinct symbol tables.
 * This will allow "plain" and "texture" to use the same procedure or
 * data names without a conflict.
 *
 * Although "drawSquare" is exported by both overlay, it has the same
 * virtual address since it is the first procedure in each segment.
 * Thus the "kernel" segment is identical in either wave.  This is important
 * since makerom only includes the first reference of any segment into
 * the rom.
 */

beginwave
	name "plain"
	include "kernel"
	include "cfb"
	include "plain"
	include "rsp_cfb"
endwave

beginwave
	name "texture"
	include "kernel"
	include "cfb"
	include "texture"
	include "rsp_cfb"
endwave