; ; Altos SCSI Channel Adapter ; ; Board Identification Block ; BOARD ID = "ACS0F02" NAME = "Altos SCSI Channel Adapter" MFR = "Altos Computer Systems" CATEGORY = "MSD" SLOT = EISA LENGTH = 330 AMPERAGE = 3800 SKIRT = NO READID = YES BUSMASTER = 60 IOCHECK = VALID DISABLE = SUPPORTED COMMENTS = "This board supports up to two SCSI channels with up to 7 SCSI devices per channel. The controller on each channel is configured as SCSI ID 7. This board terminates one end of the SCSI bus and supplies termination power for the other end. This board also holds an Extension BIOS to allow booting from a disk device connected to this adapter." HELP = "If either LED CR2 or CR5 (both located along the top edge of the board) is illuminated then the SCSI bus is not receiving termination power for channel 1 or 0, respectively, and fuse F1 or F2, respectively, is blown. Verify that bus terminators are installed only at the end of the bus and not on any devices along the bus. LED CR6 (viewable from the rear edge of the board) is the 'EISA Board Enabled' indicator and must be lite for this board to function. LED CR7 (viewable from the rear below CR6) is the activity or 'heartbeat' indicator; it should be blinking under normal operation." ; ; Initialization Information Block ; JUMPER(1) = 1 NAME = "JP25" JTYPE = INLINE VERTICAL = NO REVERSE = YES LABEL = LOC(1 2) "1" "2" FACTORY = LOC(1^2) 0 INITVAL = LOC(1^2) 0 COMMENTS = "The temporary installation of this jumper causes a hardware reset (identical to the RESDRV signal from the EISA bus) to occur locally on the SCA board. The EISA 'Board Enable' signal will be negated. This jumper is to be used for debug purposes by a qualified technician only." HELP = "Permanently installing this jumper will hold the SCA board in a hardware 'reset' condition and not allow it to function." ; ; I/O Port Initialization Statement Block ; IOPORT(1) = 0ZC85h ;IRQ & BIOS select SIZE = BYTE INITVAL = 0xxxxxxx ;I/O addresses 0zc88 thru 0zc9f access the SCA 82355 BMIC chip ;For information about the BMIC see the Intel 1990 Peripheral handbook IOPORT(2) = 0ZC89h ;System INT Enable/Control SIZE = BYTE INITVAL = 00000000 ;Disable EINT (all Doorbell INTs) from SCA IOPORT(3) = 0ZC8eh ;Host Doorbell INT Enable SIZE = BYTE INITVAL = 00000000 ;Disable all Doorbell INTs from SCA to Host IOPORT(4) = 0ZC8fh ;Host Doorbell INT Status SIZE = BYTE INITVAL = 11111111 ;Clear all pending Doorbell INTs from SCA IOPORT(5) = 0ZC90h ;Command port (BMIC MailBox0) SIZE = BYTE INITVAL = 00000000 ;'Assign SCSI drives to ISA interface' cmd IOPORT(6) = 0ZC9dh ;Host IRQ & BIOS address (BMIC MailBox13) SIZE = BYTE INITVAL = 0xxxxxxx IOPORT(7) = 0ZC9eh ;Primary Drive assignment (BMIC MailBox14) SIZE = BYTE INITVAL = 0000xxxx IOPORT(8) = 0ZC9fh ;Secondary Drive assignment (BMIC MailBox15) SIZE = BYTE INITVAL = 0000xxxx ;NOTE- This port is used to signal the SCA local processor that all ; configuration values have been programmed, thus this Port must be ; initialized LAST! ; IOPORT(9) = 0ZC8dh ;Local Doorbell INT/Status ; SIZE = BYTE ; INITVAL = 0000000x ;Tell SCA if & when Setup is done ; ; Function Statement Block ; FUNCTION = "SCSI Channel Adapter" TYPE = "MSD,SCSI,BMIC" COMMENTS = "This board does not need an IRQ assigned for the Extension BIOS to function and allow booting from a disk device connected to the adapter." CHOICE = "IRQ Assignment" LINK IRQ = 14|15|7|12|11|5|10|6|9|{} SHARE = "msd" TRIGGER = LEVEL INIT = IOPORT(1)LOC(3-0) 1110 | 1111 | 0111 | 1100 | 1011 | 0101 | 1010 | 0110 | 1001 | 0000 INIT = IOPORT(6)LOC(3-0) 1110 | 1111 | 0111 | 1100 | 1011 | 0101 | 1010 | 0110 | 1001 | 0000 FREE PORT = 0zc80h-0zcafh GROUP = "SCA 'Boot' Configuration" TYPE = "MSD,SCSI,BIOS" FUNCTION = "SCA Extension BIOS" COMMENTS = "The BIOS extension ROM on this card allows booting from a disk device connected to this adapter. A maximum of one SCA adapter per system can have its Extension BIOS enabled." CONNECTION = "The ALTOS SCSI Channel Adapter Board has two connectors. The internal connector (along the top edge of the board) is channel 0 and the external connector (along the rear edge of the board) is channel 1." HELP = "If either LED CR2 or CR5 (both located along the top edge of the board) is illuminated then the SCSI bus is not receiving termination power for channel 1 or 0, respectively, and fuse F1 or F2, respectively, is blown. Verify that bus terminators are installed only at the end of the bus and not on any devices along the bus." CHOICE = "Enabled" LINK MEMORY = 4K ADDRESS = 0d0000h|0d4000h|0d8000h|0dc000h|0C8000h|0cc000h|0E0000h MEMTYPE = OTH WRITABLE = NO SIZE = BYTE CACHE = YES SHARE = NO INIT = IOPORT(1)LOC(6-4) 011|100|101|110|001|010|111 INIT = IOPORT(6)LOC(6-4) 011|100|101|110|001|010|111 FREE INIT = PORTADR(0ZC89h) 00000000 ;Disable EINT INIT = PORTADR(0ZC8eh) 00000000 ;Disable all Doorbell INTs INIT = PORTADR(0ZC8fh) 11111111 ;Clear all pending INTs INIT = PORTADR(0ZC90h) 00000000 ;'Assign SCSI drives' cmd INIT = PORTADR(0ZC8dh) 00000001 ;Doorbell INT to 'map drives' PORT = 0z007h ;Don't allow 'None' for Boot Drive ;The following set of ports are not decoded by the SCA adapter ;but are used here to allow ONLY one adapter to be the Boot Device. ;If multiple SCA disk controllers are present ;in the system, only one adapter will be allowed to use these ports. ;The remaining SCA adpaters will have their BIOS disabled. PORT = 0170h-0177h ;Secondary AT Task File Ports SIZE = BYTE CHOICE = "Disabled" DISABLE = yes FREE INIT = IOPORT(1)LOC(6-4) 000 ;No BIOS extension INIT = IOPORT(6)LOC(6-4) 000 ;No BIOS extension ;Force 'none' for drive assignments PORT = 0z000h-0z006h ;Flag 'channel 0,ID 0-6' used PORT = 0z010h-0z016h ;Flag 'channel 1,ID 0-6' used FUNCTION = "SCA Primary (Boot) Drive assignment" COMMENTS = "Be sure a Random Access Device is connected to the Channel selected and addressed for the SCSI ID selected." SUBFUNCTION = "SCSI Channel" CHOICE = "0" FREE PORT = 0z00fh ;Flag 'channel 0' selected INIT = IOPORT(7)LOC(3) 0 CHOICE = "1" FREE PORT = 0z01fh ;Flag 'channel 1' selected INIT = IOPORT(7)LOC(3) 1 SUBFUNCTION = "SCSI ID" CHOICE = "0" SUBCHOICE FREE PORT = 0z01fh PORT = 0z000h ;Flag 'channel 0,ID 0' used INIT = IOPORT(7)LOC(2-0) 000 SUBCHOICE FREE PORT = 0z00fh PORT = 0z010h ;Flag 'channel 1,ID 0' used INIT = IOPORT(7)LOC(2-0) 000 CHOICE = "1" SUBCHOICE FREE PORT = 0z01fh PORT = 0z001h ;Flag 'channel 0,ID 1' used INIT = IOPORT(7)LOC(2-0) 001 SUBCHOICE FREE PORT = 0z00fh PORT = 0z011h ;Flag 'channel 1,ID 1' used INIT = IOPORT(7)LOC(2-0) 001 CHOICE = "2" SUBCHOICE FREE PORT = 0z01fh PORT = 0z002h ;Flag 'channel 0,ID 2' used INIT = IOPORT(7)LOC(2-0) 010 SUBCHOICE FREE PORT = 0z00fh PORT = 0z012h ;Flag 'channel 1,ID 2' used INIT = IOPORT(7)LOC(2-0) 010 CHOICE = "3" SUBCHOICE FREE PORT = 0z01fh PORT = 0z003h ;Flag 'channel 0,ID 3' used INIT = IOPORT(7)LOC(2-0) 011 SUBCHOICE FREE PORT = 0z00fh PORT = 0z013h ;Flag 'channel 1,ID 3' used INIT = IOPORT(7)LOC(2-0) 011 CHOICE = "4" SUBCHOICE FREE PORT = 0z01fh PORT = 0z004h ;Flag 'channel 0,ID 4' used INIT = IOPORT(7)LOC(2-0) 100 SUBCHOICE FREE PORT = 0z00fh PORT = 0z014h ;Flag 'channel 1,ID 4' used INIT = IOPORT(7)LOC(2-0) 100 CHOICE = "5" SUBCHOICE FREE PORT = 0z01fh PORT = 0z005h ;Flag 'channel 0,ID 5' used INIT = IOPORT(7)LOC(2-0) 101 SUBCHOICE FREE PORT = 0z00fh PORT = 0z015h ;Flag 'channel 1,ID 5' used INIT = IOPORT(7)LOC(2-0) 101 CHOICE = "6" SUBCHOICE FREE PORT = 0z01fh PORT = 0z006h ;Flag 'channel 0,ID 6' used INIT = IOPORT(7)LOC(2-0) 110 SUBCHOICE FREE PORT = 0z00fh PORT = 0z016h ;Flag 'channel 1,ID 6' used INIT = IOPORT(7)LOC(2-0) 110 CHOICE = "none" DISABLE = yes FREE PORT = 0z007h INIT = IOPORT(7)LOC(2-0) 111 FUNCTION = "SCA Secondary Drive assignment" SUBFUNCTION = "SCSI Channel" CHOICE = "0" FREE PORT = 0z02fh ;Flag 'channel 0' selected INIT = IOPORT(8)LOC(3) 0 CHOICE = "1" FREE PORT = 0z03fh ;Flag 'channel 1' selected INIT = IOPORT(8)LOC(3) 1 SUBFUNCTION = "SCSI ID" CHOICE = "0" SUBCHOICE FREE PORT = 0z03fh PORT = 0z000h ;Flag 'channel 0,ID 0' used INIT = IOPORT(8)LOC(2-0) 000 SUBCHOICE FREE PORT = 0z02fh PORT = 0z010h ;Flag 'channel 1,ID 0' used INIT = IOPORT(8)LOC(2-0) 000 CHOICE = "1" SUBCHOICE FREE PORT = 0z03fh PORT = 0z001h ;Flag 'channel 0,ID 1' used INIT = IOPORT(8)LOC(2-0) 001 SUBCHOICE FREE PORT = 0z02fh PORT = 0z011h ;Flag 'channel 1,ID 1' used INIT = IOPORT(8)LOC(2-0) 001 CHOICE = "2" SUBCHOICE FREE PORT = 0z03fh PORT = 0z002h ;Flag 'channel 0,ID 2' used INIT = IOPORT(8)LOC(2-0) 010 SUBCHOICE FREE PORT = 0z02fh PORT = 0z012h ;Flag 'channel 1,ID 2' used INIT = IOPORT(8)LOC(2-0) 010 CHOICE = "3" SUBCHOICE FREE PORT = 0z03fh PORT = 0z003h ;Flag 'channel 0,ID 3' used INIT = IOPORT(8)LOC(2-0) 011 SUBCHOICE FREE PORT = 0z02fh PORT = 0z013h ;Flag 'channel 1,ID 3' used INIT = IOPORT(8)LOC(2-0) 011 CHOICE = "4" SUBCHOICE FREE PORT = 0z03fh PORT = 0z004h ;Flag 'channel 0,ID 4' used INIT = IOPORT(8)LOC(2-0) 100 SUBCHOICE FREE PORT = 0z02fh PORT = 0z014h ;Flag 'channel 1,ID 4' used INIT = IOPORT(8)LOC(2-0) 100 CHOICE = "5" SUBCHOICE FREE PORT = 0z03fh PORT = 0z005h ;Flag 'channel 0,ID 5' used INIT = IOPORT(8)LOC(2-0) 101 SUBCHOICE FREE PORT = 0z02fh PORT = 0z015h ;Flag 'channel 1,ID 5' used INIT = IOPORT(8)LOC(2-0) 101 CHOICE = "6" SUBCHOICE FREE PORT = 0z03fh PORT = 0z006h ;Flag 'channel 0,ID 6' used INIT = IOPORT(8)LOC(2-0) 110 SUBCHOICE FREE PORT = 0z02fh PORT = 0z016h ;Flag 'channel 1,ID 6' used INIT = IOPORT(8)LOC(2-0) 110 CHOICE = "none" FREE INIT = IOPORT(8)LOC(2-0) 111 ENDGROUP