/*
	grpblk.c
*/

#include <ryosuke.h>
#include <msdos.cf>
#include <egb.h>

extern	char	*EGB_work;

void	grp_getblk(int x1, int y1, int xlen, int ylen, char *buf)
	{
	char	para[14];
	DWORD(para + 0) = (unsigned long) ( buf + 4 );
	WORD(para + 4) = getds();
	WORD(para + 6) = x1;
	WORD(para + 8) = y1;
	WORD(para + 10) = x1 + xlen - 1;
	WORD(para + 12) = y1 + ylen - 1;
	WORD(buf + 0) = xlen;
	WORD(buf + 2) = ylen;
	EGB_getBlock( EGB_work, para );
	}

void	grp_putblk(char *data, int x1, int y1)
	{
	char	para[14];
	DWORD(para + 0) = (unsigned long) ( data + 4 );
	WORD(para + 4) = getds();
	WORD(para + 6) = x1;
	WORD(para + 8) = y1;
	WORD(para + 10) = x1 + (*(int*)  data   ) - 1;
	WORD(para + 12) = y1 + (*(int*) (data+2)) - 1;
	EGB_putBlock( EGB_work, 0, para );
	}

/* end of grpblk.c */
