Jump to content

Advanced SCSI Programming Interface: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Remove external links because none of them seem appropriate here
Line 52: Line 52:
== References ==
== References ==
{{Reflist}}
{{Reflist}}

== External links ==

=== ASPI drivers for DOS ===
*[https://storage.microsemi.com/en-us/speed/scsi/dos/dosdrvr_exe.php Adaptec ASPI drivers]
*[http://hddguru.com/software/2006.02.09-USBASPI-MS-DOS-Driver/ Panasonic USB ASPI driver]

=== ASPI drivers for Windows ===
*[https://adaptec.com/en-us/speed/software_pc/aspi/aspi_471a2_exe.php Adaptec ASPI driver]
*[https://adaptec.com/en-us/speed/software_pc/aspi/aspi32_exe.php Adaptec ASPI driver (older)]
*[https://ftp6.nero.com/wnaspi32.dll Nero ASPI driver]
*[https://web.archive.org/web/20100223201424/ftp://ftp6.nero.com/NeroAspiEn.exe Nero ASPI driver (older)]
*[http://www.frogaspi.org/download.htm Frog ASPI driver]
*[https://web.archive.org/web/20210322175320/http://users.skynet.be/t_chan/MekugiAspi/MekugiAspi.htm Mekugi ASPI driver for Windows 7 64-bit]
*[https://web.archive.org/web/20030312020427/http://www.vobsupport.de/Update/ASAPI.exe VOB Computersysteme GmbH ASAPI driver]

=== Technical information===
*[http://www.zianet.com/jgray/dat/files/ASPI32.pdf Technical reference (ASPI for Win32)]
*[http://foro.doom9.org/index.html?/aspi.htm ASPI Layer Setup]

=== Tips ===
* [https://web.archive.org/web/20151124004146/http://www.nu2.nu/aspi/ Bart's page about ASPI]


[[Category:Application programming interfaces]]
[[Category:Application programming interfaces]]

Revision as of 21:54, 24 November 2022

In computing, ASPI (Advanced SCSI Programming Interface) is an Adaptec-developed programming interface which standardizes communication on a computer bus between a SCSI driver module on the one hand and SCSI (and ATAPI) peripherals on the other.[1]

ASPI structure

The ASPI manager software provides an interface between ASPI modules (device drivers or applications with direct SCSI support), a SCSI host adapter, and SCSI devices connected to the host adapter. The ASPI manager is specific to the host adapter and operating system; its primary role is to abstract the host adapter specifics and provide a generic software interface to SCSI devices.

On Windows 9x and Windows NT, the ASPI manager is generic and relies on the services of SCSI miniport drivers. On those systems, the ASPI interface is designed for applications which require SCSI pass-through functionality (such as CD-ROM burning software).

The primary operations supported by ASPI are discovery of host adapters and attached devices, and submitting SCSI commands to devices via SRBs (SCSI Request Blocks). ASPI supports concurrent execution of SCSI commands.

History

Originally inspired by a driver architecture developed by Douglas W. Goodall for Ampro Computers in 1983,[2] ASPI was developed by Adaptec around 1990. It was initially designed to support DOS, OS/2, Windows 3.x, and Novell NetWare. It was originally written to support SCSI devices; support for ATAPI devices was added later. Most other SCSI host adapter vendors (for example BusLogic, DPT, AMI, Future Domain, DTC) shipped their own ASPI managers with their hardware.[3]

Adaptec also developed generic SCSI disk and CD-ROM drivers for DOS (ASPICD.SYS and ASPIDISK.SYS).

Microsoft licensed the interface for use with Windows 9x series. At the same time Microsoft developed SCSI Pass Through Interface (SPTI), an in-house substitute that worked on the NT platform. Microsoft did not include ASPI in Windows 2000/XP, in favor of its own SPTI. Users may still download ASPI from Adaptec. A number of CD/DVD applications also continue to offer their own implementations of ASPI layer.

To support USB drives under DOS, Panasonic developed a universal ASPI driver (USBASPI.SYS) that bypasses the lack of native USB support by DOS.

Driver

ASPI was provided by the following drivers.

Operating System Driver Filename Bundled
DOS ASPI4DOS.SYS or USBASPI.SYS (USB drives only) No
Windows 3.1x WINASPI.DLL No
Windows 95, 98 and ME WNASPI32.DLL, WINASPI.DLL, APIX.VXD and ASPIENUM.VXD Yes
Windows NT, 2000, XP WNASPI32.DLL, ASPI32.SYS No

See also

References

  1. ^ Sawert, Brian (March 1994). "The Advanced SCSI Programming Interface". Dr. Dobb's Journal.
  2. ^ "Douglas W. Goodall - Ampro Computers". Retrieved 2017-01-28. I worked briefly at Ampro in order to modify the CP/M-80 BIOS for the Little Board Z80 to support SCSI hard disk operations. […] I suggested my skills would be better used working with a 16-bit card such as an 80186. […] I wrote the SCSI support for that board as well. […] I taught a staff employee the principles of my driver architecture. He then left Ampro and went to work for Adaptec, where he reproduced my driver architecture and it ended up being called ASPI.
  3. ^ Myers, Ben. "More on ASPI".