#include <iocslib.h>
#include "amacro.h"

int disk_insert(int drive,int mode)
/* フロッピーディスクの挿入チェック */
/* drive : 0〜3 */
{
int drv,ky,ret;
	drv=(0x90+drive)<<8;
	
	B_DRVCHK(drv,3); /* ドライブ　ＥＪＥＣＴ可能 */
	B_DRVCHK(drv,1); /* ドライブ　ＥＪＥＣＴ */
	B_DRVCHK(drv,4); /* ドライブ　ＬＥＤ点滅 */
	
	/* 入れ替えメッセージ表示 */
	prints("フロッピー\x82");
	printc(0x4f+drive);
	prints("のディスクを入れ換えてください...");
	
	/* ディスクが入れられるのを待つ */
	while (B_DRVCHK(drv,0)&BIT2) {
		ky=inkey(0);
		if (ky==ESC) break;
	}
	
	/* メッセージを消す */
	prints("\r\x1b[0K");
	
	/* ドライブ設定 */
	if (mode) {
		if (get_2hd(drive,1)) { /* 入っているかいないか */
			/* 入っていたら・・・ */
			B_DRVCHK(drv,2); /* ドライブ　ＥＪＥＣＴ不可 */
		}
	}
	B_DRVCHK(drv,5); /* ドライブ　ＬＥＤ消灯 */
	
	/* ESCのときはディスクは入っていないはずである */
	/*（入れたら自動的に次の処理に行くはずだから）*/
	/* ということは、ESCするとそのドライブ内容は無視しなくてはならない */
	
	return(ky==ESC);
}
