Mehrere offene Dokumente spezifizieren im Detail, wie die Entwicklung von Gerätetreibern für den Atari zu erfolgen hat. Abweichungen von diesen Spezifikationen führen zu Fehlfunktionen bis hin zu Datenverlusten. Tests für Treiber- und Geräte-Implementierungen unterstützen bei der Entwicklung fehlerfreier Treiber und fehlerfreier Geräte-Firmwares.
SCSI-Treiber- und Firmware-Testsuite 4.05 (8. April 2026)
Die Testsuite ist einem Sammlung von Open Source-Tools zum Testen von SCSI-Firmware/Emulationen (insbesondere SCSI-2 und neuer) und einiger SCSI-Treiber-Funktionen, auch für SCSI-Treiber für IDE/SATA oder USB. Getestet wird die Kompatibilität zu SCSI-2 und neuer, nicht die Kompatibilität zu HDDRIVER. Letztere folgt aus der SCSI-Kompatibilität.
Ataris mit einem echten SCSI-Bus oder einem ICD-kompatiblen Hostadapter unterstützen jedes SCSI-Kommando, auch solche neuer als SCSI-2. Für andere Busse können beliebige Kommandos durch den jeweiligen Treiber emuliert werden.
HDDRIVER wird für die Tests nicht vorausgesetzt, sondern lediglich ein SCSI-Treiber für die zu testenden Busse/Geräte.
Die Testsuite umfasst 4 Programme:
Daten werden von den Tests keine verändert. SERRTEST, ERRTEST und MCHGTEST listen die verfügbaren Busse auf und erwarten die Eingabe von Bus- und Geräte-IDs. SDRVTEST testet alle vorhandenen Geräte.
Bitte melden Sie sich, falls Sie einen Test finden, bei dem das erwartete Ergebnis nicht der SCSI-Treiber-Spezifikation oder dem SCSI-Standard entspricht. Die Quelltexte aller Programme sind auf GitHub verfügbar, so dass man genau sehen kann, was wie getestet wird.
Einige SD-Karten-Leser für ACSI bestehen den Medienwechsel-Test MCHGTEST nicht. Bei dieser Hardware kann Hot-Swapping von SD-Karten zum Datenverlust führen. Dieser Fehler existiert nicht mit echten physikalischen Wechselplatten (SqQuest, ZIP, JAZ, ...) und auch nicht mit UltraSatan und GigaFile. Hot-Swap wird von korrekt arbeitenden Platten und Treibern übrigens schon seit Jahrzehnten unterstützt, selbst von AHDI 3.00.
Es gibt Treiber-Bugs, die nicht durch die Testsuite gefunden werden, aber ebenfalls zu Fehlern nach Medienwechseln führen können. Bei HDDRIVER, ICDBOOT, CBHD, HuSHI und AHDI sind keine solchen Fehler bekannt, aber leider bei anderer Treiber-Software. Kontaktieren Sie mich für Informationen dazu, wo auf GitHub man Details findet. Die betroffenen Projekte wissen über Bugs in verschiedenen Treiber-Komponenten (insbesondere SCSI-Treiber und XHDI) Bescheid und würden sich vermutlich über Hilfe freuen.
Das Beispiel-Logfile von SDRVTEST zeigt die Testergebnisse von HDDRIVER mit Geräten, die alle Tests bestehen: Eine IBM DDRS-39130-Festplatte, eine von SCSI2Pi emulierte Wechselplatte, ein von SCSI2Pi emulierter Streamer und das SCSI-Treiber-Target-Interface von HDDRIVER.
Mit der Testsuite kann man mit Hatari oder ARAnyM und dem SCSI-Treiber für Linux auch native Linux-Geräte testen. Das folgende Logfile testet eine emulierte IDE-Platte und eine echte NVMe-SSD an einem USB-nach-NVMe-Adapter.
In einem Logfile wird jeder Fehler mit "ERROR" markiert. SDRVTEST versucht so gut wie möglich, zwischen Fehlern im SCSI-Treiber und Fehlern in der Geräte-Firmware zu unterscheiden.