#include	"compiler.h"
#include	"vram.h"
#include	"makescrn.h"
#include	"makesub.h"
void maketxt8_make(UINT8 *dst, UINT8 *term, const UINT8 *src,
													REG8 func, REG8 attr) {
	(*maketxtlfn[func])(dst, term, src);
	(*makeatr8[attr & 15])(dst, term);
}
static void cls8(UINT8 *dst, UINT8 *term) {
	do {
		*(UINT32 *)dst = 0;
		dst += 4;
	} while(dst < term);
}
void makepcg8_make(UINT8 *dst, UINT8 *term, const UINT8 *src,
													REG8 func, REG8 attr) {
	MAKETXTFN	fn;
	fn = maketxtlfn[func];
	if (attr & 1) {
		(*fn)(dst, term, src);
	}
	else {
		cls8(dst, term);
	}
	dst += MAKETEXT_ROW;
	term += MAKETEXT_ROW;
	if (attr & 2) {
		(*fn)(dst, term, src + 0x800);
	}
	else {
		cls8(dst, term);
	}
	dst += MAKETEXT_ROW;
	term += MAKETEXT_ROW;
	if (attr & 4) {
		(*fn)(dst, term, src + 0x1000);
	}
	else {
		cls8(dst, term);
	}
	if (attr & TRAMATR_REVERSE) {
		do {
			*(UINT32 *)(dst - (MAKETEXT_ROW * 2)) ^= (UINT32)-1;
			*(UINT32 *)(dst - (MAKETEXT_ROW * 1)) ^= (UINT32)-1;
			*(UINT32 *)(dst - (MAKETEXT_ROW * 0)) ^= (UINT32)-1;
			dst += 4;
		} while(dst < term);
	}
}
RetroPC.NET-CVS <cvs@retropc.net>