André's 8-bit Pages  Projects  Code  Resources  Tools  Forum

SCSI interface information

SCSI Standard

SCSI means "Small Computer System Interface". It is an interface that connectes computers with peripheral devices, like disks, scanners, CD-ROMs etc. As such it is very flexible.

The first SCSI interfaces were using asynchronous I/O mode. Each transfered byte was requested and acknowledged with a special handshake. Nowadays synchronous modes with up to 80 or more MByte/s are supported. Yet, all devices still know the asynchronous mode and can be used with this interface (at least I did not encounter one, but I also did not test that many).

The SCSI-II standard defines a number of command sets for a variety of devices. Disks are accessed as "direct access devices", and commands for CD-ROM devices, Printers, coprocessors etc are defined. The commands are transferred in a standard way, which makes the transport level flexible. And once you know how to send one command, you can easily send any other. To send a command you can have a look at the software from this site, that includes SCSI drivers for the 6502 in the GeckOS operating system.

The SCSI-II standard is refered to as ANSI X3.131-1990 Small Computer Systems Interface-2 (SCSI-II). The SCSI-I standard is X3.131-1986. The SCSI-III standard still specifies the asynchronous mode for parallel cable transfer, which is used in my current designs. In the resources section below are links to the standards and to a very good article on SCSI.

A good source (although a bit hard to read) is the linux kernel source code. Recommended reading are the comments at the beginning of drivers/scsi/aha152x.c, the defines in include/scsi/*, especially the SCSI command opcodes. greping for them in the code will give you an idea how to use them. One example is the function scan_scsis_single() in drivers/scsi/scsi.c. All code references relative to the main source directory, usually under /usr/src/linux/, of linux kernel version 2.0.36 (although the linux version should not matter that much here).

Resources

Disclaimer

All Copyrights are acknowledged. There is no warranty attached to the informatio n on these pages.


Contents last modified 2006-11-02.

Return to Homepage