/************************************************************************/
/* This Pal multiplexes two scsi controllers with only one set of	*/
/* control signals. The software selects the scsi controller that is	*/
/* connected to the 32532 via the SELECT signal from the ICU.		*/
/************************************************************************/
/*  Allowable Target Device Types:	PAL16L8B, GAL16V8A-15		*/
/************************************************************************/

#define DESIGNER George Scolaro	(C) 1988,89,90
#define REVISION 01 	07/25/88;
#define PARTNUM U40;

scsi(	in	!scsii0,	/* scsi channel 0 interrupt */
		scsii1,		/* scsi channel 1 interrupt */
		drqs0,		/* drq channel 0 */
		drqs1,		/* drq channel 1 */
		select,		/* select = 0 => channel 0 */
		!dack,		/* dma acknowledge*/
		!scsi,		/* scsi chip select */
		a27,		/* cpu address 27 */
		!conf;		/* bus cycle confirmed */
	out
		!scsi1,		/* select scsi channel 0 */
		scsi0,		/* select scsi channel 1 */
		!dack1,		/* dack channel 1 */
		!dack0,		/* dack channel 0 */
		drqs,		/* drq */
		scsii;		/* scsi interrupt */
)
{
#define scssel	scsi & !a27
#define ch0sel	select & conf
#define ch1sel	!select & conf

drqs.oe	= 1;
scsii.oe = 1;
scsi0.oe = 1;
scsi1.oe = 1;
dack0.oe = 1;
dack1.oe = 1;

drqs	= drqs0 &  select	/* channel 0 */
	| drqs1 & !select; 	/* channel 1 */

scsii	= scsii0 &  select	/* channel 0 */
	| scsii1 & !select; 	/* channel 1 */

scsi0	= scssel & ch0sel; 	/* channel 0 device select */

scsi1	= scssel & ch1sel; 	/* channel 1 device select */

dack0	= dack &  select; 	/* channel 0 */

dack1	= dack & !select; 	/* channel 1 */

putpart("p16l8", "scsi",
	scsii0, scsii1, drqs0, drqs1, select, dack, _, scsi, a27, GND,
	conf, scsi1, scsi0, _, _, dack1, dack0, drqs, scsii, VCC);
}
