Cdrtools Homepage

Cdrtools with SPTI for Windows NT/2000/XP

Diese Seite auf Deutsch

What is it?

Running Cdrtools under Microsoft Windows requires a working ASPI-Driver. Windows NT/2000/XP comes without installed ASPI, so it must be installed individually (recommended: Adaptec ASPI). But under this OS, there is another access-method, SPTI (SCSI Pass-Through Interface). In meantime this is used by many burning applications and preferred by Microsoft. I have extracted the required code from AKRip CD-DA Audio Extraction Library for SPTI Support and integrated it into libscg (scsi-wnt.c). AKRip here essentially emulates the ASPI functionality.




SPTI is running under Windows NT/2000/XP, not 95/98/ME. If working ASPI is detected (wnaspi32.dll operational), it will be used, cdrtools run as usual. Otherwise SPTI is used automatically. SPTI can be forced by preceding the string "SPTI:" to target, e.g. dev=SPTI:1,0,0. With #define PREFER_SPTI this can be inveresed (now set in patch for better testing SPTI), ASPI is then forced with dev=ASPI:x,y,z.


From cdrtools-2.01a24 this patch is integrated into cdrtools.
cdrtools-spti-0.13.tar.gz    from cdrtools-2.01a20 to 2.01a23, Changelog
cdrtools-spti-0.12.tar.gz    for cdrtools-2.01a19 and below
cdrtools-spti-0.10.tar.gz    (first version)


This extension for the Cdrtools is offered only as SOURCE Patch at this time here. Get the Cdrtools source code, use the patch and then compile. The patch modifies libscg/scsi-wnt.c and adds libscg/scg/scsipt.h . All versions of cdrtools-2.0 to 2.01a23 should work, please select patch appropriately.

New: From cdrtools-2.01a24 this patch is integrated into cdrtools and cannot be applied any more, following instructions are mainly for historical reasons.

Get Cdrtools from here: or
Download patch and unpack, then apply (in current directory you see cdrtools directory) with:
>patch -p0 --binary <cdrtools-spti-x.xx.diff
Adjust defines PREFER_SPTI and CREATE_NONSHARED in scsi-wnt.c according to your needs.
Compile cdrtools as usual.

Addendum: Thomas Plank is kindly offering Cdrtools-Binaries with SPTI-patch here:


Since it is an early version of this extension, there may be errors. Therefore it should be tested first on computers, where also a functioning ASPI is present. To be very careful you can also compare with Cdrtools without this extension, finally there could be an error in ASPI code, although the changes are minimal here. If malfunctions occur, the two access options should be compared. If you see the errors with ASPI and SPTI, then it is probably not because of SPTI. If errors occur only with SPTI, re-run under both access methods and create a log file with program option "- V", the error should then actually arise in a place, where the noted data differ, this would be very helpful for error tracing.

Further references:

My tests are mainly done with Windows 2000 and XP, only one Computer with NT 4.0 (SP5) was tested. Further on, independently from my extension, I recommend to apply a patch to cdda2wav.c and cdrecord.c, witch does without REALTIME_PRIORITY_CLASS, see here:
news:// or Google Groups.
Addendum: With Cygwin 1.5.3 this should not be necessary any more, see news:// or Google Groups.

Richard Stemmer Last Change: 07.01.2004