/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
		●ヘッダファイル
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/

#include <egb.h>
#include <mos.h>

/*	以下のヘッダファイルに定義された関数は、ライブラリファイルの公開関数
	ですので、自作プログラムで同じ名前の関数を定義することはできません。
	関数の使い方については取扱説明書を参照して下さい。
*/

#include "h_egb.h"
#include "file_sel.h"


/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
		●定数
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/

#define PATH_MAX 67			//	パス名の最大長
enum	{NONAME,CHDIR,FILE_HIT};	//	ファイルセレクタの返す値
#define CRT_MODE 3			//	32K色の画面モードは不可

/*━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
		●メイン
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━*/

void main()
	{

	//	ＢＩＯＳ作業領域の確保
	char egb_work[EgbWorkSize];
	char mos_work[MosWorkSize];
	char pat_work[258];

	//	ＥＧＢ初期化
	EGB_init(egb_work,EgbWorkSize);
	EGB_resolution( egb_work, 0, CRT_MODE ) ;
	EGB_resolution( egb_work, 1, CRT_MODE ) ;
	EGB_displayPage( egb_work, 0, 1) ;
	EGB_writePage(egb_work,0);
	EGB_tmenuPalette(egb_work);		
	EGB_color(egb_work,1,6);
	EGB_clearScreen(egb_work);

	/*	この他にＥＧＢの設定を行う場合、ファイルセレクタ関数を呼ぶ前
		に、デフォルト値即ち"EGB_resolution"の設定値に再設定する必要
		があります。
	*/

	//	マウス初期化
	MOS_start( mos_work, MosWorkSize ) ;
	MOS_resolution( 0, CRT_MODE ) ;
	MOS_writePage(0);
	MOS_horizon(0,637);
	MOS_vertical(0,477);
	MOS_color(0,15);
	MOS_typeRom(81,0,0,pat_work);
	MOS_disp(1);

	//	ワークエリアを通知
	H_EGB_work_set(egb_work);

	//	ファイル名獲得用
	char name[PATH_MAX+13];

	//	ファイルセレクタの表示
	if (H_file_selecter(60,60,name)!=NONAME)
		{
		//	選択されたファイル名の表示
		MOS_disp(0);
		H_EGB_sjisString(40,300,0,name);
		MOS_disp(1);
		}

	//	マウスクリックされるまで待つ
	H_click_waiting();

	//	終了処理
	MOS_end();

	}
