<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sarg.dev/index.php?action=history&amp;feed=atom&amp;title=Advanced_SCSI_Programming_Interface</id>
	<title>Advanced SCSI Programming Interface - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sarg.dev/index.php?action=history&amp;feed=atom&amp;title=Advanced_SCSI_Programming_Interface"/>
	<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=Advanced_SCSI_Programming_Interface&amp;action=history"/>
	<updated>2026-10-03T00:29:05Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.sarg.dev/index.php?title=Advanced_SCSI_Programming_Interface&amp;diff=163313&amp;oldid=prev</id>
		<title>imported&gt;ValykrineERZ at 03:15, 9 November 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=Advanced_SCSI_Programming_Interface&amp;diff=163313&amp;oldid=prev"/>
		<updated>2025-11-09T03:15:22Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|Computer software for connecting SCSI devices}}&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Advanced SCSI Programming Interface&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;ASPI&amp;#039;&amp;#039;&amp;#039;) is a programming interface developed by [[Adaptec]] which standardizes communication on a [[computer bus]] between a [[SCSI]] [[device driver|driver]] module and SCSI (and [[ATAPI]]) [[peripheral]]s.&amp;lt;ref name=guide&amp;gt;{{cite book | last=Sawert | first=Brian | date=1998 | url=https://archive.org/details/programmersguide0000sawe/page/55/ | title=The Programmer&amp;#039;s Guide to SCSI | publisher=Addison-Wesley | pages=55–102, 233 | isbn=0201185385 | via=Google Books}}&amp;lt;/ref&amp;gt;{{rp|55–56}}&amp;lt;ref&amp;gt;{{cite journal | last=White | first=Myles | date=May 25, 1995 | url=https://www.newspapers.com/article/the-toronto-star-getting-your-components/159678613/ | title=Getting your components to work together, part II | journal=The Toronto Star | page=H3 | via=Newspapers.com}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Structure ==&lt;br /&gt;
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.&amp;lt;ref name=guide /&amp;gt;{{rp|56}}&lt;br /&gt;
&lt;br /&gt;
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).&amp;lt;ref name=guide /&amp;gt;{{rp|57}}&lt;br /&gt;
&lt;br /&gt;
The primary operations supported by ASPI are discovery of host adapters and attached devices, and submitting [[SCSI command]]s to devices via SRBs (SCSI Request Blocks).&amp;lt;ref name=guide /&amp;gt;{{rp|233}} ASPI supports concurrent execution of SCSI commands.&amp;lt;ref name=bookofscsi /&amp;gt;{{rp|231}}&lt;br /&gt;
&lt;br /&gt;
== History ==&lt;br /&gt;
&lt;br /&gt;
ASPI was developed by [[Adaptec]] around 1989&amp;lt;ref name=&amp;quot;hoovers&amp;quot;&amp;gt;{{cite book |url=https://archive.org/details/hoovershandbooko0000unse_j4c4/page/118/ |title=Hoover&amp;#039;s Handbook of Emerging Compa[n]ies 1995: Profiles of America&amp;#039;s Most Exciting Growth Enterprises |date=1995 |publisher=The Reference Press |isbn=9781878753755 |editor-last=Spain |editor-first=Patrick J. |page=118 |editor2=James R. Talbot |via=Google Books}}&amp;lt;/ref&amp;gt; and was formally introduced in January 1990. Originally supporting only [[MS-DOS]],&amp;lt;ref name=brownstein&amp;gt;{{cite journal | last=Brownstein | first=Mark | date=January 15, 1990 | url=https://books.google.com/books?id=eTAEAAAAMBAJ&amp;amp;pg=PA409 | title=Adaptec Unveils SCSI Interface Standard | journal=InfoWorld | publisher=IDG Publications | volume=12 | issue=3 | page=23 | via=Google Books}}&amp;lt;/ref&amp;gt; support for [[NetWare]] was added in 1991, while support for [[OS/2]] and [[Windows 3.x]] was added in 1992.&amp;lt;ref name=hoovers /&amp;gt;&amp;lt;ref name=redefines&amp;gt;{{cite journal | last=Guzman | first=Ed | date=June 1992 | url=https://www.proquest.com/docview/220619290 | title=ASPI Refines SCSI I/O Routing | journal=Computer Technology Review | publisher=West World Publications | volume=12 | issue=7 | page=22 | id={{ProQuest|220619290}} }}&amp;lt;/ref&amp;gt; Originally developed only for SCSI devices, support for [[ATAPI]] devices was added later.&amp;lt;ref&amp;gt;{{cite book | last=Mueller | first=Scott | date=2003 | edition=14th | url=https://books.google.com/books?id=eV1_LjW3pTkC | title=Upgrading and Repairing PCs | publisher=Que | pages=563–564, 771–772 | isbn=9780789727459 | via=Google Books}}&amp;lt;/ref&amp;gt;{{rp|772}} Most other SCSI host adapter vendors (for example [[BusLogic]], DPT, AMI, [[Future Domain]], DTC) shipped their own ASPI managers with their hardware.&amp;lt;ref&amp;gt;{{cite journal|last=Myers|first=Ben|title=More on ASPI|url=https://www.drdobbs.com/letters/184409247|page=10|volume=19|issue=5|date=May 1994|journal=Dr. Dobb&amp;#039;s Journal|publisher=UBM LLC|archiveurl=https://web.archive.org/web/20241125034059/https://www.drdobbs.com/letters/184409247|archivedate=November 25, 2024|url-status=live}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Adaptec also developed generic SCSI disk and CD-ROM drivers for DOS ({{mono|ASPICD.SYS}} and {{mono|ASPIDISK.SYS}}).&amp;lt;ref name=bookofscsi&amp;gt;{{cite book | last=Ridge | first=Peter M. | date=1995 | url=https://books.google.com/books?id=etcmAQAAMAAJ&amp;amp;q=%22ASPIDISK.SYS%22+%22ASPICD.SYS%22 | title=The Book of SCSI: A Guide for Adventurers | publisher=No Starch Press | isbn=9781886411029 | via=Google Books}}&amp;lt;/ref&amp;gt;{{rp|60–61}}&lt;br /&gt;
&lt;br /&gt;
At least a couple of other programming interfaces for SCSI device drivers competed with ASPI in the early 1990s, including CAM (Common Access Method), developed by Apple; and Layered Device Driver Architecture, developed by [[Microsoft]]. However, ASPI was far and away more common than any of its competitors in this space, with &amp;#039;&amp;#039;PC Magazine&amp;#039;&amp;#039; declaring it a &amp;#039;&amp;#039;de facto&amp;#039;&amp;#039; standard for developing SCSI device drivers only two years after its introduction.&amp;lt;ref&amp;gt;{{cite journal | last=Thomas | first=Susan G. | date=April 28, 1992 | url=https://books.google.com/books?id=HERlo0BgpGYC&amp;amp;pg=PT32 | title=SCSI Protocol Wars: ASPI, CAM, LADDR | journal=PC Magazine | publisher=Ziff-Davis | volume=11 | issue=8 | page=31 | via=Google Books}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Starting in 1995, Microsoft licensed the interface for use with their [[Windows 9x]] operating systems. 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]]/[[Windows XP|XP]], in favor of its own SPTI.&amp;lt;ref&amp;gt;{{cite journal | last=Tewell | first=Thomas | date=December 1997 | url=https://www.drdobbs.com/windows/writing-portable-win32-scsi-applications/184410340 | title=Writing Portable Win32 SCSI Applications | journal=Dr. Dobb&amp;#039;s Journal | publisher=UBM LLC | volume=22 | issue=12 | pages=56–57 | archiveurl=https://web.archive.org/web/20141218172923/https://www.drdobbs.com/windows/writing-portable-win32-scsi-applications/184410340 | archivedate=December 18, 2014}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To support [[Universal Serial Bus|USB]] drives under DOS, [[Panasonic]] developed a universal ASPI driver ({{mono|USBASPI.SYS}}) that bypasses the lack of native USB support by DOS.&amp;lt;ref&amp;gt;{{cite book | date=2006 | url=https://books.google.com/books?id=bf6LjPgbE9QC&amp;amp;dq=%22USBASPI.SYS%22&amp;amp;pg=PA130 | title=软件安装完全手册 | trans-title=Complete Software Installation Manual | lang=Chinese | publisher=Science Press | page=130 | isbn=978-7-03-018123-7 | via=Google Books}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Drivers ==&lt;br /&gt;
Examples of ASPI drivers:&lt;br /&gt;
:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; border=&amp;quot;1&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Operating system&lt;br /&gt;
! Driver filename&lt;br /&gt;
! Bundled&lt;br /&gt;
|-&lt;br /&gt;
| MS-DOS&lt;br /&gt;
| {{mono|ASPI4DOS.SYS}} or {{mono|USBASPI.SYS}} (USB drives only)&lt;br /&gt;
| {{no}}&lt;br /&gt;
|-&lt;br /&gt;
| Windows 3.1x&lt;br /&gt;
| {{mono|WINASPI.DLL}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|-&lt;br /&gt;
| [[Windows 95]], [[Windows 98|98]] and [[Windows ME|ME]]&lt;br /&gt;
| {{mono|WNASPI32.DLL}}, {{mono|WINASPI.DLL}}, {{mono|APIX.VXD}} and {{mono|ASPIENUM.VXD}}&lt;br /&gt;
| {{yes}}&lt;br /&gt;
|-&lt;br /&gt;
| Windows NT, 2000, XP&lt;br /&gt;
| {{mono|WNASPI32.DLL}}, {{mono|ASPI32.SYS}}&lt;br /&gt;
| {{no}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[SCSI Pass-Through Direct]] (SPTD)&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Application programming interfaces]]&lt;br /&gt;
[[Category:SCSI]]&lt;br /&gt;
[[Category:AT Attachment]]&lt;br /&gt;
[[Category:Device drivers]]&lt;/div&gt;</summary>
		<author><name>imported&gt;ValykrineERZ</name></author>
	</entry>
</feed>