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

/* gcd -os rdgram1 : SUPER()を使っているから */

void read_gram1(int sx,int sy,int ex,int ey,unchar *buff)
/* １６／２５６色モード時読み取り（１ドット１バイト）*/
{
unsint *gr,*gram=(unsint *)GRAM;
int x,y,crt,size,ssp;
	crt=CRTMOD(-1); /* 現在の画面モード取得 */
	size=(crt<=3||crt==16? 1024:512); /* line size */
	gram+=(sx+sy*size); /* top address */
	ssp=SUPER(0);
	for (y=sy;y<=ey;y++) {
		gr=gram;
		for (x=sx;x<=ex;x++) *buff++=*gr++;
		gram+=size; /* to next line top */
	}
	if (ssp>=0) SUPER(ssp);
}
