#include "defines.h"
#include <iocslib.h>
#include <doslibm.h>
#include <time.h>

/* SHIFT,CTRLキーを押しているとウエイトをかけるルーチン */
/* SHIFT=0.1sec , CTRL=0.2sec , SHIFT+CTRL=0.3sec */
/* '92/04/24 : CTRL-S stop 機能追加 */
/* '94/09/10 : Ｃ関数化 */

int kslow()
{
time_t t;
int k,kt=0;
	k=BITSNS(0x0e);	/* SHIFT/CTRL */
	if (k&BIT0) {
		t=clock();
		while (clock()-t<10) kt++; /* SHIFT */
	}
	if (k&BIT1) { /* CTRL */
		k=BITSNS(0x03);	/* 'S' */
		if (k&BIT7) { /* CTRL-S : 一時停止 */
			while (KFLUSHIN()==0x13); /* CTRL-S以外が押されるまで待つ */
		} else {
			/* (SHIFT+CTRL=super slow mode) */
			t=clock();
			while (clock()-t<20) kt++;
		}
	}
	return(kt);
}

/* 実験の結果、実はkslow.sではSHIFT/CTRL=0.2/0.4secではなく0.1/0.2secだった */
/* しかし、本当に0.2/0.4secにすると結構遅いので、実測ウエイトに合わせて直した */
