ASPI (Advanced SCSI Programming Interface, sinngemäß Erweiterte SCSI-Programmierschnittstelle) ist eine Programmierschnittstelle für die einheitliche Ansteuerung von CD-ROM- bzw. DVD-Laufwerken, insbesondere Brennern unter den Betriebssystemen MS-DOS, Windows, OS/2 und Netware. Anders als der Name vermuten lässt, wird ASPI nicht nur für tatsächliche SCSI-Geräte, sondern auch für Geräte mit ATAPI-, USB- und FireWire-Anschlüssen eingesetzt, da diese ebenfalls das SCSI-Kommunikationsprotokoll einsetzen.
Eine ASPI-Manager genannte Software stellt eine Schnittstelle zwischen sogenannten ASPI-Modulen (Gerätetreiber bzw. Anwendungen mit direkter SCSI-Unterstützung), einem SCSI-Hostadapter (ugs. SCSI-Controller), sowie daran angeschlossenen SCSI-Geräten zur Verfügung. Diese Software ist spezifisch für einen Hostadapter und ein Betriebssystem geschrieben; sein Hauptzweck ist dabei, die Eigenheiten des Hostadapters zu abstrahieren und eine einheitliche Zugriffsmethode zur Verfügung zu stellen.
Unter DOS wird diese Schnittstelle schließlich von einem ASPI-fähigen Laufwerkstreiber verwendet, der dem Betriebssystem den Laufwerksinhalt bereitstellt.
Unter Windows 9x und Windows NT ist der ASPI-Manager hingegen universell und stützt sich auf die bereits vom Betriebssystem bereitgestellten Gerätetreiber. Daher konzentrieren sich die Fähigkeiten des ASPI-Managers hier weniger auf eine ggf. bereits hergestellte SCSI-Verbindung, sondern auf das Senden von standardisierten SCSI-Kommandos an z. B. auch ATAPI-Geräte (SCSI-Pass-Through-Funktionalität), wie sie vor allem Brennprogramme benötigen, und das Erkennen dazu befähigter Geräte.
ASPI wurde etwa 1990 von Adaptec entwickelt, einem damals führenden Hersteller von SCSI-Hostadaptern. Vorbild war das im Jahr 1983 von Douglas Goodall erdachte Treibermodell für SCSI-Geräte an Ampro-Computern, das von einem eingeweihten Ampro-Mitarbeiter übernommen wurde, als er zu Adaptec wechselte.[1] Anfänglich wurden die Betriebssysteme DOS, Windows 3.x, OS/2 und Netware unterstützt. Ursprünglich konnten nur SCSI-Geräte angesprochen werden; mit der steigenden Verbreitung von CD-Brennern Mitte der 1990er-Jahre folgte Unterstützung für ATAPI-Geräte, da die bisher verwendete Schnittstelle noch keine Schreibzugriffe auf CDs vorsah. Die Hersteller von SCSI-Hostadaptern (zum Beispiel BusLogic, DPT, AMI, Future Domain, DTC) lieferten zusammen mit ihrer Hardware eigene ASPI-Manager aus,[2] womit sich ein softwareseitiger Standard etablierte.
Adaptec lieferte auch universelle DOS-Treiber für SCSI-Festplatten (ASPIDISK.SYS) und CD-ROM-Laufwerke (ASPICD.SYS). Für den Lesezugriff auf CD-/DVD-ROM-Laufwerke unter Windows 3.x reicht ein unter DOS installiertes Laufwerk aus, der Windows-3.x-Treiber (WNASPI.DLL) ist nur für Windows-Brennprogramme notwendig.
Unter DOS muss für SCSI Festplatten mit einer Kapazität von über 1 GiB das SCSI BIOS des Host Adapter eine Unterstützung für den Extended BIOS Translation Support bieten, dieses erlaubt dann Festplatten bis zu einer Größe von 8 GiB unter DOS zu verwenden. Alternativ zum SCSI BIOS kann auch der ASPIDISK.SYS Treiber geladen werden, der diese Unterstützung dann auch mitbringt.
Microsoft lizenzierte die ASPI-Treiber von Adaptec und lieferte sie zusammen mit seinen Windows 9x-Betriebssystemen aus. Währenddessen entwickelte Microsoft mit SPTI (SCSI Pass-Through Interface), einen hauseigenen Ersatz für ASPI zur Verwendung mit Windows NT. Daher wurde in 2000, XP und Windows Server 2003 zugunsten von SPTI auf einen eingebauten ASPI-Treiber verzichtet. Da der Standard jedoch schon weit verbreitet war, lieferten Hersteller von Hardware sowie von Brenner-Software weiterhin ASPI-Manager aus, um bestehende Kompatibilität beizubehalten. SPTI hingegen kann nicht auf anderen Systemen nachinstalliert werden.
Für die Unterstützung von USB-Laufwerken unter DOS entwickelte Panasonic einen universell verwendbaren ASPI-Treiber (USBASPI.SYS), der gleichzeitig das Fehlen von nativer USB-Unterstützung durch DOS umgeht.
Bei Adaptec endete im November 2003 mit der Versionsnummer 4.71.2 die Entwicklung der offiziellen ASPI-Treiber.
ASPI wird hauptsächlich durch die folgenden Treiber bereitgestellt.
Betriebssystem | Treiberdatei(en) | Mitgeliefert |
---|---|---|
DOS | Ein Host-Adapter SCSI-Controller spezifischer Treiber (z. B. ASPI2DOS.SYS , ASPI4DOS.SYS , ASPIEDOS.SYS , ASPI7DOS.SYS , ASPI8DOS.SYS , ASPI8U2.SYS oder diverse OEM Treiber) und ASPIDISK.SYS (für SCSI-Festplatten wenn das SCSI BIOS des Host Controllers nicht installiert ist oder dieses für Festplatten über 1 GiB Größe nicht über das Feature Extended BIOS Translation Support verfügt), ASPICD.SYS (für SCSI CD-ROM-Laufwerke), USBASPI.SYS (für USB-Laufwerke)[3][4]
|
Nein |
OS/2 1.1 | ASPI4OS2.SYS
|
Nein |
OS/2 2.1, Warp | OS2ASPI.DMD
|
Ja |
NetWare 2.15 | ASWNOVL.OBJ und ASWNOVL.DSK
|
Nein |
NetWare 3.x | ASPITRAN.DSK
|
Nein |
Windows 3.1x | WINASPI.DLL
|
Nein |
Windows 95, 98 und ME | WNASPI32.DLL , WINASPI.DLL , APIX.VXD , ASPIENUM.VXD
|
Ja |
Windows NT, 2000, XP und 2003 | WNASPI32.DLL , ASPI32.SYS
|
Nein |