PARTNO U305 ; NAME U305 ; DATE November 2, 1992 ; REV 2 ; DESIGNER Dave Haynie ; COMPANY Commodore ; ASSEMBLY A3090 ; LOCATION West Chester ; DEVICE g22v10 ; /************************************************************************/ /* */ /* A3090 SCSI Master Interface */ /* */ /* This device provides most of the Zorro III bus master interface */ /* to the NCR 53C710. */ /* */ /************************************************************************/ /* */ /* DEVICE DATA: */ /* */ /* Device: 22V10-10 */ /* Clock: CLK (33MHz) */ /* Unused: 17(I/O) */ /* */ /************************************************************************/ /* */ /* REVISION HISTORY: */ /* */ /* DBH Jul 9: Original version. */ /* DBH Oct 26: Changes made to speed up Zorro III version of */ /* the FCS signal. */ /* DBH Nov 2: Hold onto BFCS until AS goes away for slaves. */ /* COMPILE -M3 */ /************************************************************************/ /** INPUTS: **/ PIN 1 = CLK ; /* 33MHz system clock. */ PIN 2 = !MYBUS ; /* A3090 has the Zorro III bus. */ PIN 3 = !AS ; /* SCSI address strobe. */ PIN 4 = READ ; /* The Zorro III read cycle. */ PIN 5 = SIZ1 ; /* SCSI transfer size. */ PIN 6 = SIZ0 ; PIN 7 = !BURST ; /* This cycle will be a burst cycle. */ PIN 8 = !MTCR ; /* Zorro III multiple transfer strobe. */ PIN 9 = BA3 ; /* SCSI burst addresses. */ PIN 10 = BA2 ; PIN 11 = A1 ; /* SCSI sizing addresses. */ PIN 13 = A0 ; PIN 18 = !EFCS ; /* Zorro III cycle strobe. */ PIN 23 = DOE ; /* Zorro III data ouput enable. */ /** OUTPUTS: **/ PIN 14 = A2 ; /* Zorro III addresses. */ PIN 15 = A3 ; PIN 16 = BFCS ; /* Buffered cycle strobe. */ PIN 17 = !ASQ ; /* Qualified version of the SCSI AS* */ PIN 19 = !DS0 ; /* Zorro III data strobes. */ PIN 20 = !DS1 ; PIN 21 = !DS2 ; PIN 22 = !DS3 ; /** BIDIRECTIONALS: **/ /** OUTPUT TERMS: **/ /* The buffered FCS depends on the mode. In non-DMA modes, it's simply based on the expansion FCS. In DMA, the expansion FCS can go away before the A3090 SCSI chip cycle is complete, so a latching term is added. */ BFCS = EFCS # BFCS & AS & ASQ & MYBUS # BFCS & AS & !MYBUS; /* A Zorro III cycle is started based on the start of a SCSI cycle and the A3090's ownership of the Zorro III bus. This is a qualifier for that start. */ ASQ.D = AS & MYBUS; ASQ.AR = !MYBUS; /* The data strobes are based on the low order address and size input from the SCSI chip. We don't turn these on until the A3090 is bus master and it's data time. The conversions are standard '030 style conversions. */ DS3 = READ # !A1 & !A0; DS2 = READ # !A1 & !SIZ0 # !A1 & A0 # !A1 & SIZ1; DS1 = READ # !A1 & !SIZ1 & !SIZ0 # !A1 & SIZ1 & SIZ0 # !A1 & A0 & !SIZ0 # A1 & !A0; DS0 = READ # A0 & SIZ1 & SIZ0 # !SIZ1 & !SIZ0 # A1 & A0 # A1 & SIZ1; [DS3..0].OE = MYBUS & DOE; /* The burst addresses are done here. When a cycle starts, BA2 and BA3 are directly routed to A2 and A3. On successive burst cycles, these two are incremented to provide the proper Zorro III address. */ A2.D = BA2 & !DOE # A2 & !BURST & DOE # A2 & BURST & DOE & MTCR # !A2 & BURST & DOE & !MTCR; A3.D = BA3 & !DOE # A3 & !BURST & DOE # A3 & BURST & DOE & MTCR # (A2 $ A3) & BURST & DOE & !MTCR; [A3,A2].OE = MYBUS;