/*
**	Standard data types and constants to aid in portability.
*/

typedef	unsigned char	BYTE;
typedef	unsigned short	WORD;
typedef unsigned long	LONG;

#define BITS_PER_BYTE	8
#define BITS_PER_WORD	16
#define BITS_PER_LONG	32


typedef short		COORD;
typedef unsigned short	COLOR;

typedef	WORD		*SCREEN;

typedef	enum	{low_res, med_res, hi_res}	RESOLUTION;

#define	HI_PLANES	1
#define	HI_X_MIN	0
#define	HI_X_MAX	639
#define HI_Y_MIN	0
#define	HI_Y_MAX	399
#define HI_X_WIDTH	(HI_X_MAX - HI_X_MIN + 1)
#define HI_Y_HEIGTH	(HI_Y_MAX - HI_Y_MIN + 1)
#define HI_WORDS_PER_LINE	\
	(HI_PLANES * HI_X_WIDTH / BITS_PER_WORD)
#define	HI_COLORS	(1 << HI_PLANES)

#define	MED_PLANES	2
#define	MED_X_MIN	0
#define	MED_X_MAX	639
#define	MED_Y_MIN	0
#define	MED_Y_MAX	199
#define MED_X_WIDTH	(MED_X_MAX - MED_X_MIN + 1)
#define MED_Y_HEIGTH	(MED_Y_MAX - MED_Y_MIN + 1)
#define MED_WORDS_PER_LINE	\
	(MED_PLANES * MED_X_WIDTH / BITS_PER_WORD)
#define	MED_COLORS	(1 << MED_PLANES)

#define LOW_PLANES	4
#define	LOW_X_MIN	0
#define	LOW_X_MAX	319
#define	LOW_Y_MIN	0
#define	LOW_Y_MAX	199
#define	LOW_X_WIDTH	(LOW_X_MAX - LOW_X_MIN + 1)
#define LOW_Y_HEIGTH	(LOW_Y_MAX - LOW_Y_MIN + 1)
#define LOW_WORDS_PER_LINE	\
	(LOW_PLANES * LOW_X_WIDTH / BITS_PER_WORD)
#define LOW_COLORS	(1 << LOW_PLANES)

