The Apple II SCSI card from 1986 was one of the first interface cards to attach a Hard Disk Drive to the Apple II line of computers. A2SCSI is a clone of the last revision (rev.C) of the card with a few enhancements to improve compatibility with modern SCSI drives.
The schematics has been reverse engineered from our original Apple II SCSI card revision C. Some of the schematics documentation is still incomplete as our understanding of the hardware is not complete. We also started disassembling the on-board ROM to help the reverse engineering effort.
The card maps the 5380 registers in the first 8 bytes of the slot I/O range ($C0x0-$C0xF where x=slot#+9). The remaining 8 addresses are used for the card control.
|$C0x0||R||Current SCSI Data Register|
|$C0x0||R||Output Data Register|
|$C0x1||R/W||Initiator Command Register|
|$C0x2||R/W||Mode Select Register|
|$C0x3||R/W||Target Command Register|
|$C0x4||R||SCSI Bus Status|
|$C0x4||W||Select Enable Register|
|$C0x5||R||Bus and Status Register|
|$C0x6||R||Input Data Register|
|$C0x9||R||SCSI Device ID|
|$C0xA||W||Memory Bank Select Register|
|$C0xB||W||Reset 5380 SCSI Chip|
|$C0xD||W||PDMA Mode Enable|
|$C0xE||R||Read DRQ Status through bit 7|
The card is also equipped with 16K of ROM and 8K of RAM. These are mapped in the $C800-$CFFF card memory using a banking scheme. The $C0xA bank register selects the which bank of RAM and ROM are mapped. RAM is always at $C800-$CBFF and ROM is at $CC00-$CFFF. The boot code in the first 256 bytes of ROM bank 0 is also mapped in the IOSEL space ($Cn00-$CnFF).
The only modification from the previous A2SCSI-A01 is the use of a PLCC-44 53C80 SCSI chip instead as the older DIP-40 5380 proved difficult to source.