#include <stdio.h>
#include <iocslib.h>
#include "defines.h"
#include "ascreen.h"

int ms_set(int *mcx,int *mcy,int cx,int cy,int finit)
{
int msc,m;
int tx,ty;
	/* マウス表示モード退避 */
	msc=MS_STAT();
	
	/* マウスカーソル位置退避 */
	m=MS_CURGT();
	*mcx=m>>16;
	*mcy=m&0xffff;
	
	if (finit) { /* マウス初期化 */
		MS_INIT();
		ty=gxy(&tx); /* 画面幅取得 */
		MS_LIMIT(0,0,tx-1,ty-1); /* マウス移動可能範囲は画面いっぱい */
		SKEY_MOD(0,0,0); /* ソフトウエアキーボード消去 */
	}
	
	/* マウスカーソル初期位置セット */
	if (cx==-1||cy==-1) {
		cursor(&cx,&cy);
		cx=cx*8+4;
		cy=cy*16+8;
	}
	MS_CURST(cx,cy);
	
	/* マウスカーソル表示 */
	MS_CURON();
	
	return(msc); /* 元のマウス表示モード */
}
