/*************************************************************************
*	"dspmsg.c"
*************************************************************************/

#include	"../../CCI/ccilib.h"

int		mode_setfd(int drv);
int		mode_diskinit(int drv);
int		init();
int		term();

/*	パレットデータ（HEwin 配色）	*/
char	PltDat[3][16] =
{
	/* G R  B								*/
	{ 0, 0, 0},	/* C_BALCK, C_THROUGH		*/
	{ 0, 0, 0},	/* C_BLUE , C_MBLACK 		*/
	{ 7, 7, 8},	/* C_RED					*/
	{12,12,13},	/* C_MAGENTA				*/
	{ 6, 5, 7},	/* C_GREEN					*/
	{ 8, 7, 9},	/* C_CYAN					*/
	{10, 9,11},	/* C_YELLOW					*/
	{11,11,12},	/* C_WHITE					*/

	{ 5, 5, 6},	/* C_HBALCK					*/
	{ 0, 0,11},	/* C_HBLUE					*/
	{ 0,11, 0},	/* C_HRED					*/
	{ 0,11,11},	/* C_HMAGENTA				*/
	{11, 0, 0},	/* C_HGEEN					*/
	{11, 0,11},	/* C_HCYAN					*/
	{11,11, 0},	/* C_HYELLOW				*/
	{14,14,15}	/* C_HWHITE					*/
};

/*************************************************************************
*	MAIN
*************************************************************************/

int		main( int argc, char **argv )
{
	int			ret, drv;

	init();
	ret = 0;
	drv  = toupper( argv[2][0] ) - 'A';
	switch ( atoi(argv[1]) )
	{
		case 0:
			mode_setfd(drv);
			break;

		case 1:
			ret = mode_diskinit(drv);
			break;
	}

	term();
	return (ret);
}

int		mode_setfd(int drv)
{
	char	   *msg;
	char	   *btn;

	msg =
"\
    %c:ドライブにフォーマット済のフロッピィディスクをセットして   \n\
    もういちど実行してください。                                    \
";

	btn = MNU_allocBtn(1);
	MNU_setBtn( btn, 0, '\r', KA_EXEC  , 1, "OK : [実行]" );
	MNU_selectBtn( DLGPOS_CENTER_OF_SCN, DLGPOS_CENTER_OF_SCN, 
    C_MBLACK, C_DLGBASE, COLMIX(C_INFO,C_GRAY), SELBTN_ATT_LEFT, 1, btn,
	    msg, drv + 'A' );
	MNU_freeBtn( btn );

	return (0);
}

int		mode_diskinit(int drv)
{
	int			ret;
	char	   *msg;
	char	   *btn;

	msg =
"\
    %c:ドライブにHEwin の作業ファイルを転送します。    \n\
\n\
";

	btn = MNU_allocBtn(2);
	MNU_setBtn( btn, 0, '\r'  , KA_EXEC  , 1, "転送する : [実行]" );
	MNU_setBtn( btn, 1, '\x1B', KA_CANCEL, 2, "しない : [取消]"  );
	ret = MNU_selectBtn( DLGPOS_CENTER_OF_SCN, DLGPOS_CENTER_OF_SCN, 
	    C_MBLACK, C_DLGBASE, COLMIX(C_INFO,C_GRAY), SELBTN_ATT_CENTER, 2, btn,
	    msg, drv + 'A' );
	MNU_freeBtn( btn );
	if ( ret != 1 )
		return (1);

	return (0);
}

/*************************************************************************
*	初期化
*************************************************************************/

int		init()
{
	int		col, y;

	DSP_sysInit(0);			/* 表示システム初期化		*/
	KBF_sysInit();			/* キーボードシステム初期化	*/
	KBF_kan_off();
	FDL_sysInit();			/* ファイルダイアログ初期化	*/

	sdk_control(0);			/* サイドワーク起動禁止		*/

	DSP_writePage(0);		/* 書き込みページ			*/
	DSP_setPlt( PltDat );	/* パレット設定				*/
#if	0
	DSP_boxf(0,24,639,463,PSET,COLMIX(5,6));
#else
	col = 0;
	for ( y = 24; y < 464; y += 12 )
	{
		switch ( ((y - 24)/12) & 1 )
		{
			case 0:	col = COLMIX(5,6);	break;
			case 1:	col = COLMIX(7,6);	break;
		}
		DSP_boxf(0,y,639,y+11,PSET,col);
	}
#endif

	DSP_writePage(1);		/* 書き込みページ			*/
	DSP_setPlt( PltDat );	/* パレット設定				*/
	DSP_title("MESSAGE","0.99",15,7,0,0);
	evt_setDspTime( 1, 432, 4, 7, 0 );	/* 時刻表示アイドリング処理設定	*/
	SYL_clear();
}

/*************************************************************************
*	終了
*************************************************************************/

int		term()
{
	FDL_sysEnd();
	KBF_sysEnd();
	DSP_sysEnd();
}
