#define	CHR_COL	15
#define	BAK_COL	8

#define	PAGE0	0x00000
#define	PAGE1	0x40000

typedef struct {
	char	    *ptn;
	short int   sel;
	short int   x1,y1;
	short int   x2,y2;
	char	    img[1];
} BLOCK;

extern int	page_ofs;
extern char	work[];
extern char	mwork[];
extern char	swork[];
extern int	col_cnv[];

void	DSP_writePage(int page);
void	DSP_mos(int no);
BLOCK	*DSP_push_vram(int x1,int y1,int x2,int y2);
void	DSP_pop_vram(BLOCK *para);
void	DSP_msg(char *str,int x,int y,int font,int forcol,int bakcol);
void	DSP_line(int x1,int y1,int x2,int y2,int col,int mod);
void	DSP_xline(int x1,int y1,int x2,int y2,int col,int mod);
void	DSP_box(int x1,int y1,int x2,int y2,int forcol,int boxcol);
void	DSP_rbox(int x1,int y1,int x2,int y2,int forcol,int bakcol,int boxcol);
void	DSP_putptn(char *ptn,int x,int y,int col,int md);
void	DSP_init(void);
void	DSP_reinit(void);
void	DSP_end(void);

void	ctblset(int chr,int bak);
void	putstr(int adr,char *str);
void	wrtstr(char *str,int page,int adr,int ccol,int bcol,int font);

#define	DSP_string(str,x,y,c,b)	wrtstr(str,page_ofs,(x)/2+(y)*512,col_cnv[c],col_cnv[b],8)

