/* START LIBRARY DESCRIPTION *********************************************
default.h
	Copyright (c) 2000, Z-World.

DESCRIPTION:    Default libraries to be used for the boards. The use
					statements do not necessarily compile anything, it is just
					an indication that functions in the used libraries may be
					called and linked.

END DESCRIPTION **********************************************************/

/*** BeginHeader */

// product codes
#define	BL1810	0x0100		// 14MHz Jackrabbit
#define	BL1800	0x0101		// 29MHz Jackrabbit
#define	BL1820	0x0102		// 14MHz Jackrabbit, 32k SRAM
#define	RCM2020	0x0200		// 18MHz Core Module
#define	RCM2010	0x0201		// 25MHz Core Module, 128k SRAM
#define	RCM2000	0x0202		// 25MHz Core Module, 512k SRAM
#define	OP6600	0x0300		// 18MHz Serial Display, no Ethernet
#define	RTDK		0x0301		// 18MHz TCP/IP Toolkit
#define	OP6700	0x0302		// 18MHz Serial Display + Ethernet
#define  SR9110   0x0501		// 18MHz Smart Star
#define  SR9100   0x0502		// 25Mhz Smart Star
#define	EG2000	0x0600		// 22MHz Ether Gate, two ethernet ports
#define	RABLINK	0x0601		// 22MHz RabbitLink
#define	EG2100	0x0601		// 22MHz RabbitLink
#define	EG2020	0x0602		// 22MHz Ether Gate, one ethernet port
#define 	RCM2100  0x0700		// 22MHz Ethernet Core Module, ethernet, 512K Flash, 512K SRAM
#define 	RCM2110  0x0701		// 22MHz Ethernet Core Module, ethernet, 256K Flash, 128K SRAM
#define 	RCM2120  0x0702		// 22MHz Advanced Core Module, 512K Flash, 512K SRAM
#define 	RCM2130  0x0703		// 22MHz Advanced Core Module, 256K Flash, 128K SRAM
#define 	RCM2115  0x0704		// 22MHz Ethernet Core Module, ethernet, 256K Flash, 128K SRAM
#define	BL2000	0x0800		// 22MHz 12 bit A/D, DAC,    Digital I/O, Ethernet
#define	BL2010	0x0801		// 22MHz 10 bit A/D, no DAC, Digital I/O, Ethernet
#define	BL2020	0x0802		// 22MHz 12 bit A/D, DAC,    Digital I/O, no Ethernet
#define	BL2030	0x0803		// 22MHz 10 bit A/D, no DAC, Digital I/O, no Ethernet
#define 	BL2040   0x0804		// 22MHz Digital I/O, no analog, no Ethernet
#define	RCM2200	0x0900		// 22MHz Micro Ethernet Core
#define	RCM2300	0x0A00		// 22MHz Micro Core

#define 	BL2100	0x0B00		// 22MHz Mini-E, RCM2200 ethernet, analog I/O
#define 	BL2110	0x0B01		// 22MHz Mini-E, RCM2200 ethernet, no analog I/O
#define 	BL2120	0x0B02		// 22MHz Mini-E, RCM2300 no ethernet, analog I/O
#define 	BL2130	0x0B03		// 22MHz Mini-E, RCM2300 no ethernet, no analog I/O
#define  BL2105	0x0B04		// 22MHz Mini-E, RCM2250 ethernet, analog I/O
#define  BL2115	0x0B05		// 22MHz Mini-E, RCM2250 ethernet, no analog I/O
#define 	BL2101	0x0B06		// 22MHz Mini-E, RCM2200 ethernet, 0-10V analog I/O
#define 	BL2121	0x0B07		// 22MHz Mini-E, RCM2300 no ethernet, 0-10V analog I/O

#define 	SR9150 	0x0C00		// 22MHz SmartStar CPU, ethernet
#define 	SR9160 	0x0C01		// 22MHz SmartStar CPU, no ethernet
#define  OP6800	0x0D00		// 22MHz MiniCom, RCM2200 ethernet
#define  OP6810	0x0D01		// 22MHz MiniCom, RCM2300 no ethernet
#define  OP6805	0x0D02		// 22MHz MiniCom, RCM2250 ethernet
#define	RCM2250	0x0E00		// 22MHz Micro Ethernet Core, 512KB RAM, 2x256KB flash
#define	RCM3000	0x0F00		// 29MHz R3000 Ethernet Core, 512K Flash and SRAM
#define	RCM3010	0x0F01		// 29MHz R3000 Ethernet Core, 256K Flash, 128K SRAM
#define	RCM3100	0x1000		// 29MHz R3000 Core, 512K Flash and SRAM
#define	RCM3110	0x1001		// 29MHz R3000 Core, 256K Flash, 128K SRAM

#ifndef BIOSCODE
#makechain _GLOBAL_INIT

#class static

// if board type is undefined, assume it's a Jackrabbit
#if (_BOARD_TYPE_ == 0x0000)
#undef	_BOARD_TYPE_
#define	_BOARD_TYPE_	BL1810
#endif

// Jackrabbit-specific libraries
#if ((_BOARD_TYPE_ == BL1800) || (_BOARD_TYPE_ == BL1810) || (_BOARD_TYPE_ == BL1820))
#use "jrio.lib"
#use "jr485.lib"
#endif

// Intellicom-specific libraries and TCP/IP-specific libraries
#if ((_BOARD_TYPE_ == OP6600) || (_BOARD_TYPE_ == OP6700) || (_BOARD_TYPE_ == RTDK))
#use "icom.lib"
#endif

// Ethernet Gateway-specific libraries
// RABLINK and EG2100 do not require board library
//#if ((_BOARD_TYPE_ == EG2000) || (_BOARD_TYPE_ == EG2020))
//#use "egate.lib"
//#endif

// SmartStar series controller-specific libraries
#if ((_BOARD_TYPE_==SR9100) || (_BOARD_TYPE_==SR9110) \
	|| (_BOARD_TYPE_==SR9150) || (_BOARD_TYPE_==SR9160))
#use "smrtstar.lib"
// for 122x32 LCD and 1x7 keypad assembly option
#use "keypad7.lib"
#use "mscg12232.lib"
#use "graphic.lib"
#use "6x8l.lib"
#use "8x10l.lib"
#use "12x16l.lib"
#use "courier12.lib"
#endif

// BL2000 series controllers-specific libraries
#if ((_BOARD_TYPE_ >= BL2000) && (_BOARD_TYPE_ <= BL2040))
#use "bl20xx.lib"
#endif

// BL2100 series controllers-specific libraries
#if ((_BOARD_TYPE_ >= BL2100) && (_BOARD_TYPE_ <= BL2121))
#use "bl21xx.lib"
// for 122x32 LCD and 1x7 keypad assembly option
#use "keypad7.lib"
#use "mscg12232.lib"
#use "graphic.lib"
#use "6x8l.lib"
#use "8x10l.lib"
#use "12x16l.lib"
#use "courier12.lib"
#endif

// OP6800 series controllers-specific libraries
#if ((_BOARD_TYPE_ >= OP6800) && (_BOARD_TYPE_ <= OP6805))
#use "op68xx.lib"
// for 122x32 LCD and 1x7 keypad assembly option
#use "keypad7.lib"
#use "mscg12232.lib"
#use "graphic.lib"
#use "6x8l.lib"
#use "8x10l.lib"
#use "12x16l.lib"
#use "courier12.lib"
#endif

// CPU-specific libraries
#if (_CPU_ID_ == R3000)
#use "r3000.lib"
#endif

// libraries to compile for user programs
// program.lib contains premain, and so must appear here
#use "program.lib"
#else
// libraries to parse during the BIOS compile
// (i.e., functions in these libraries may be precompiled)
#use "cbuf.lib"
#use "dc.hh"
#use "util.lib"
#use "mutil.lib"
#use "mutilfp.lib"
#use "math.lib"
#use "string.lib"
#use "stdio.lib"
#use "sys.lib"
#use "cofunc.lib"
#use "costate.lib"
#use "slice.lib"
#use "rs232.lib"
#use "rtclock.lib"
#use "vdriver.lib"
#use "xmem.lib"

#undef BIOSCODE
#endif

/*** EndHeader */
