#define BIOS_INLINE
#include <stdio.h>
#include <sys/bios.h>

/*
*	簡単なアニメを表示する
*/
void disp_anime(int num)
{
		switch(num)
		{
		case 0:
			text_put_char(0, 1, 0x8162);	/* − */
			break;
		case 1:
			text_put_char(0, 1, 0x815e);	/* ／ */
			break;
		case 2:
			text_put_char(0, 1, 0x815c);	/* ｜ */
			break;
		case 3:
			text_put_char(0, 1, 0x815f);	/* ＼ */
			break;
		}
}

/*
*	入力されたキーを文字として表示する
*/
char disp_key_name(int x, int y, int key)
{
	switch(key)
	{
	case KEY_X1:	/* or KEY_UP1 */
		text_put_string(x, y, "X1");
		break;
	case KEY_X2:	/* or KEY_RIGHT1 */
		text_put_string(x, y, "X2");
		break;
	case KEY_X3:	/* or KEY_DOWN1 */
		text_put_string(x, y, "X3");
		break;
	case KEY_X4:	/* or KEY_LEFT1 */
		text_put_string(x, y, "X4");
		break;
	case KEY_Y1:	/* or KEY_UP2 */
		text_put_string(x, y, "Y1");
		break;
	case KEY_Y2:	/* or KEY_RIGHT2 */
		text_put_string(x, y, "Y2");
		break;
	case KEY_Y3:	/* or KEY_DOWN2 */
		text_put_string(x, y, "Y3");
		break;
	case KEY_Y4:	/* or KEY_LEFT2 */
		text_put_string(x, y, "Y4");
		break;
	case KEY_A:
		text_put_string(x, y, "A");
		break;
	case KEY_B:
		text_put_string(x, y, "B");
		break;
	}
}

void main()
{
	int key;		/* キー状況 */
	int i;

	/* テキスト画面初期化 */
	text_screen_init();

	/* key_wait() テスト */
	i = 0;
	while(1)
	{
		text_put_string(0, 0, "*** key_wait() テスト ***");
		/* アニメーションを表示 */
		disp_anime(i);
		if(i++>3)
		{
			i = 0;
		}

		/* キー入力を待つ */
		key = key_wait();
		if(key==KEY_START)
		{
			/* 抜ける */
			break;
		}
		else
		{
			disp_key_name(5, 5, key);
			text_put_string(8, 5, " が押されました");
		}
	}
}
