SRI-NOSC/dmr/oldstuff/mpioc.c

#
/*
 * DC11 implementation
 * of character handler.
 */
struct
{
	int	rcsr;
	int	rbuf;
	int	xcsr;
	int	xbuf;
};
#define	ADDR	0174140
#define	DONE	0200

mpxintr()
{
	register d;

	if((ADDR->xcsr & DONE) == 0)
		return;
	d = mpx();
	if(d < 0)
		return;
	ADDR->xbuf = d;
}

mprintr()
{
	register d;

	d = ADDR->rcsr;
	if(d < 0)
		printf("mpxer %o\n", d);
	if((d&DONE) == 0)
		return;
	d = ADDR->rbuf & 0377;
	mpr(d);
}

mpinit()
{

	ADDR->rcsr = 0131;
	ADDR->xcsr = 0131;
}