Important: The information in this document is obsolete and should not be used for new development.
Chapter 4 - SCSI Manager 4.3
SCSI Manager 4.3 is an enhanced version of the SCSI Manager that provides new features as well as compatibility with the original version. SCSI Manager 4.3 is contained in the ROM of high-performance computers such as the Macintosh Quadra 840AV and the Power Macintosh 8100/80. Beginning with system software version 7.5, SCSI Manager 4.3 is also available as a system extension that can be installed in any Macintosh computer that uses the NCR 53C96 SCSI controller chip.In addition to the capabilities of the original SCSI Manager, SCSI Manager 4.3 provides
You should read this chapter if you are writing a SCSI device driver or other software for Macintosh computers that use SCSI Manager 4.3. To make best use of this chapter, you should understand the Device Manager and the implementation of device drivers in Macintosh computers. If you are designing a SCSI peripheral device for the Macintosh, you should read Designing Cards and Drivers for the Macintosh Family, third edition, and Guide to the Macintosh Family Hardware, second edition.
- support for asynchronous SCSI I/O
- support for optional SCSI features such as disconnect/reconnect
- a hardware-independent programming interface that minimizes the SCSI-specific tasks a device driver must perform
This chapter assumes you are familiar with the following SCSI specifications established by the American National Standards Institute (ANSI):
If you are writing a device driver for a block-structured storage device such as hard disk, you should also read the chapter "SCSI Manager" in this book for information about the structure of block devices used by the Macintosh Operating System. Because many Macintosh models continue to use the original SCSI Manager, you may want to design your software to operate with both SCSI Manager 4.3 and the original SCSI Manager.
- X3.131-1986, Small Computer System Interface
- X3.131-1994, Small Computer System Interface-2
- X3.232 (draft), SCSI-2 Common Access Method
Chapter Contents
- About SCSI Manager 4.3
- Transport
- SCSI Interface Modules
- System Performance
- Compatibility
- Using SCSI Manager 4.3
- Locating SCSI Devices
- Describing Data Buffers
- Handshaking Instructions
- Error Recovery Techniques
- Optional Features
- Writing a SCSI Device Driver
- Loading and Initializing a Driver
- Selecting a Startup Device
- Transitions Between SCSI Environments
- Handling Asynchronous Requests
- Handling Immediate Requests
- Virtual Memory Compatibility
- Writing a SCSI Interface Module
- SIM Initialization and Operation
- Supporting the Original SCSI Manager
- Handshaking of Blind Transfers
- Supporting DMA
- Loading Drivers
- SCSI Manager 4.3 Reference
- Data Structures
- Simple Data Types
- Device Identification Record
- Command Descriptor Block Record
- Scatter/Gather List Element
- SCSI Manager Parameter Block Header
- SCSI I/O Parameter Block
- SCSI Bus Inquiry Parameter Block
- SCSI Abort Command Parameter Block
- SCSI Terminate I/O Parameter Block
- SCSI Virtual ID Information Parameter Block
- SCSI Load Driver Parameter Block
- SCSI Driver Identification Parameter Block
- SIM Initialization Record
- SCSI Manager 4.3 Functions
- Client Functions
- SIM Support Functions
- SIM Internal Functions
- Summary of SCSI Manager 4.3
- C Summary
- Constants
- Data Types
- Functions
- Pascal Summary
- Constants
- Data Types
- Routines
- Assembly-Language Summary
- Data Structures
- Trap Macros
- Result Codes