/* Page Point Buffer : int版 : X68000ではlongも兼ねる */

int intbuff(buffer,limit,page,point)
int buffer[],limit,page,point;
{
int wp,i;
	wp=((page-1)%limit); /* write point : page=1〜 -> 0〜 */
	
	if (point==-1) { /* read data */
		/*printf2("[read -> rp:%d,point:%d]",wp,buffer[wp]);*/
		return(buffer[wp]);
	}
	
	if (page==1) { /* 最初のページ */
		/* バッファーを初期化してからデータを書き込む */
		for(i=0;i<limit;i++) buffer[i]=-1;
	}
	
	/* data write */
	/*printf2("[write <- wp:%d,point:%d]",wp,point);*/
	buffer[wp]=point;
	buffer[(page%limit)]=-1; /* 次のところを消す */
	return(0);
}
