/*
 * std.h
 *	author: nak@pluto.dti.ne.jp
 *  date:   2001/01/10
 */

#ifndef _STD_H_
#define _STD_H_


#ifdef LSI_C
#define _CS _asm_inline("\tmov\tax,cs");
#define _DS _asm_inline("\tmov\tax,ds");
#endif

#define HBLANK_1s	12048		/* HBLANKタイマ割り込みでの1secカウント値(実測) */
#define VBLANK_1s	75			/* VBLANKタイマ割り込みでの1secカウント値 */

#define CLR_MESSAGE		2	/* 灰色 */
#define	CLR_NORMAL		3	/* 黒 */
#define	CLR_STATUS		7
#define	CLR_SELECT		8
/* WWC */
#define	CLR_WHITE		0
#define	CLR_BLUE		1
#define	CLR_HAIIRO		2
#define	CLR_BLACK		3
#define	CLR_STATUS_WWC	4	/* 反転青 白抜き文字 */
#define	CLR_SELECT_WWC	1	/* 青 */

#define CHAR_MARK		0x10
#define	CHAR_SPACE		0x20

/* filer.h */
void disp_status(char far *, int);
BOOL select_file(char far *);
size_t read_file(char far *, void *);

/* rxdint.h */
void comm_enable(void);
void comm_disable(void);

#define	RXD_BUFF_SIZE	128

enum {
	COMM_STATE_NONE,
	COMM_STATE_READY,
	COMM_STATE_BUSY,
	COMM_STATE_BUSY_ETX,
	COMM_STATE_WAIT
};

/* garmin.h */
BOOL is_colorswan(void);

typedef struct {
	BYTE	al;
	BYTE	ah;
} BYTEREG;

typedef union {
	WORD	wd;
	BYTEREG	bt;
} WORDREG;

#endif _STD_H_
