
#define		TRUE			1
#define		FALSE			0

#define		FMB_FILE		"FM_1.FMB"

#define		KYB_UPPER		2
#define		KYB_LOWER		1
#define		KYB_DUMMY		0

extern		INT23_init() ;
extern		INT23_end() ;
extern		SOFT_timer() ;

#define		KEY_wait	20000	/*  KEY wait count : 200ms			*/
#define		KEY_repeat	2000	/*  KEY repeat     : 20ms			*/

/*
**	KEY ｱﾄﾞﾚｽ
*/

enum Values_for_keyadrs {
	KEY_DMY00,	KEY_ESC,	KEY_1,		KEY_2,				/*  00 - 03		*/
	KEY_3,		KEY_4,		KEY_5,		KEY_6,				/*  04 - 07		*/
	KEY_7,		KEY_8,		KEY_9,		KEY_0,				/*  08 - 0B		*/
	KEY_SUB,	KEY_TOPBER,	KEY_OR,		KEY_BACK,			/*  0C - 0F		*/
	KEY_TAB,	KEY_Q,		KEY_W,		KEY_E,				/*  10 - 13		*/
	KEY_R,		KEY_T,		KEY_Y,		KEY_U,				/*  14 - 17		*/
	KEY_I,		KEY_O,		KEY_P,		KEY_DMY1B,			/*  18 - 1B		*/
	KEY_LKAKKO,	KEY_CR,		KEY_A,		KEY_S,				/*  1C - 1F		*/
	KEY_D,		KEY_F,		KEY_G,		KEY_H,				/*  20 - 23		*/
	KEY_J,		KEY_K,		KEY_L,		KEY_ADD,			/*  24 - 27		*/
	KEY_ASTER,	KEY_RKAKKO,	KEY_Z,		KEY_X,				/*  28 - 2B		*/
	KEY_C,		KEY_V,		KEY_B,		KEY_N,				/*  2C - 2F		*/
	KEY_M,		KEY_LT,		KEY_GT,		KEY_QUEST,			/*  30 - 33		*/
	KEY_UNDERBER,	KEY_SPACE,	TKEY_ASTER,	TKEY_SLASH,		/*  34 - 37		*/
	TKEY_ADD,	TKEY_SUB,	TKEY_7,		TKEY_8,				/*  38 - 3B		*/
	TKEY_9,		TKEY_EQU,	TKEY_4,		TKEY_5,				/*  3A - 3F		*/
	TKEY_6,		KEY_DMY41,	TKEY_1,		TKEY_2,				/*  40 - 43		*/
	TKEY_3,		TKEY_CR,	TKEY_0,		TKEY_PIRIOD,		/*  44 - 47		*/
	KEY_INS,	KEY_DMY49,	TKEY_000,	KEY_DEL,			/*  48 - 4B		*/
	KEY_DMY4C,	KEY_UP,		KEY_HOME,	KEY_LEFT,			/*  4C - 4F		*/
	KEY_DOWN,	KEY_RIGHT,	KEY_CTRL,	KEY_SHIFT,			/*  50 - 53		*/
	KEY_DMY54,	KEY_DMY55,	KEY_DMY56,	KEY_DMY57,			/*  54 - 57		*/
	KEY_DMY58,	KEY_DIC,	KEY_DMY5A,	KEY_PF12,			/*  58 - 5B		*/
	KEY_DMY5C,	KEY_PF1,	KEY_PF2,	KEY_PF3,			/*  5C - 5F		*/
	KEY_PF4,	KEY_PF5,	KEY_PF6,	KEY_PF7,			/*  60 - 63		*/
	KEY_PF8,	KEY_PF9,	KEY_PF10,	KEY_DMY67,			/*  64 - 67		*/
	KEY_DMY68,	KEY_PF11,	KEY_ALP,	KEY_DIC_SER,		/*  68 - 6B		*/
	KEY_DIC_DEL,KEY_DIC_ADD,KEY_BEFORE,	KEY_alp,			/*  6C - 6F		*/
	KEY_NEXT,	KEY_HALF,	KEY_UNDO,	KEY_EXEC,			/*  70 - 73		*/
	KEY_PF13,	KEY_PF14,	KEY_PF15,	KEY_PF16,			/*  74 - 77		*/
	KEY_PF17,	KEY_PF18,	KEY_PF19,	KEY_PF20,			/*  78 - 7B		*/
	KEY_BREAK,	KEY_COPY,	KEY_DMY7E,	KEY_DMY7F			/*  7C - 7F		*/
} ;

/*
**	ｷｰﾎﾞｰﾄﾞ上/下段 ﾌﾗｸﾞ
*/
#define		NKYBINF			0x35		/*  ﾁｪｯｸすればいい数字				*/
char	Key_inf[] = {
	KYB_DUMMY,	KYB_UPPER,	KYB_UPPER,	KYB_DUMMY,			/*  00 - 03		*/
	KYB_UPPER,	KYB_UPPER,	KYB_DUMMY,	KYB_UPPER,			/*  04 - 07		*/
	KYB_UPPER,	KYB_UPPER,	KYB_DUMMY,	KYB_UPPER,			/*  08 - 0B		*/
	KYB_UPPER,	KYB_DUMMY,	KYB_UPPER,	KYB_LOWER,			/*  0C - 0F		*/
	KYB_DUMMY,	KYB_UPPER,	KYB_UPPER,	KYB_UPPER,			/*  10 - 13		*/
	KYB_UPPER,	KYB_UPPER,	KYB_UPPER,	KYB_UPPER,			/*  14 - 17		*/
	KYB_UPPER,	KYB_UPPER,	KYB_UPPER,	KYB_DUMMY,			/*  18 - 1B		*/
	KYB_UPPER,	KYB_DUMMY,	KYB_LOWER,	KYB_DUMMY,			/*  1C - 1F		*/
	KYB_LOWER,	KYB_LOWER,	KYB_DUMMY,	KYB_LOWER,			/*  20 - 23		*/
	KYB_LOWER,	KYB_LOWER,	KYB_DUMMY,	KYB_LOWER,			/*  24 - 27		*/
	KYB_UPPER,	KYB_UPPER,	KYB_LOWER,	KYB_LOWER,			/*  28 - 2B		*/
	KYB_LOWER,	KYB_LOWER,	KYB_LOWER,	KYB_LOWER,			/*  2C - 2F		*/
	KYB_LOWER,	KYB_LOWER,	KYB_LOWER,	KYB_LOWER,			/*  30 - 33		*/
	KYB_LOWER,	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,			/*  34 - 37		*/
	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,			/*  38 - 3B		*/
	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,			/*  3A - 3F		*/
	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,			/*  40 - 43		*/
	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,			/*  44 - 47		*/
	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,			/*  48 - 4B		*/
	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,			/*  4C - 4F		*/
	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,			/*  50 - 53		*/
	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,			/*  54 - 57		*/
	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,			/*  58 - 5B		*/
	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,			/*  5C - 5F		*/
	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,			/*  60 - 63		*/
	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,			/*  64 - 67		*/
	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,			/*  68 - 6B		*/
	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,			/*  6C - 6F		*/
	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,			/*  70 - 73		*/
	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,			/*  74 - 77		*/
	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,			/*  78 - 7B		*/
	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY,	KYB_DUMMY			/*  7C - 7F		*/
} ;

/*
**	ｷｰ が押された時のNOTE(音)
*/
int		Key_note[] = {
	0,			56,			58,			0,					/*  00 - 03		*/
	61,			63,			0,			66,					/*  04 - 07		*/
	68,			70,			0,			73,					/*  08 - 0B		*/
	75,			0,			78,			63,					/*  0C - 0F		*/
	0,			59,			60,			62,					/*  10 - 13		*/
	64,			65,			67,			69,					/*  14 - 17		*/
	71,			72,			74,			0,					/*  18 - 1B		*/
	77,			0,			46,			0,					/*  1C - 1F		*/
	49,			51,			0,			54,					/*  20 - 23		*/
	56,			58,			0,			61,					/*  24 - 27		*/
	76,			80,			47,			48,					/*  28 - 2B		*/
	50,			52,			53,			55,					/*  2C - 2F		*/
	57,			59,			60,			62,					/*  30 - 33		*/
	64,			0,			0,			0,					/*  34 - 37		*/
	0,			0,			0,			0,					/*  38 - 3B		*/
	0,			0,			0,			0,					/*  3A - 3F		*/
	0,			0,			0,			0,					/*  40 - 43		*/
	0,			0,			0,			0,					/*  44 - 47		*/
	0,			0,			0,			0,					/*  48 - 4B		*/
	0,			0,			0,			0,					/*  4C - 4F		*/
	0,			0,			0,			0,					/*  50 - 53		*/
	0,			0,			0,			0,					/*  54 - 57		*/
	0,			0,			0,			0,					/*  58 - 5B		*/
	0,			0,			0,			0,					/*  5C - 5F		*/
	0,			0,			0,			0,					/*  60 - 63		*/
	0,			0,			0,			0,					/*  64 - 67		*/
	0,			0,			0,			0,					/*  68 - 6B		*/
	0,			0,			0,			0,					/*  6C - 6F		*/
	0,			0,			0,			0,					/*  70 - 73		*/
	0,			0,			0,			0,					/*  74 - 77		*/
	0,			0,			0,			0,					/*  78 - 7B		*/
	0,			0,			0,			0					/*  7C - 7F		*/
} ;

