On this page you find information about the software standards supported by HDDRIVER, and about a set of free tools making use of these standards. The sources for some of this software are available on GitHub: https://github.com/uweseimet/atari_public.
DISKUS (German only) is a versatile tool for maintaining FAT16 file systems and mass storage devices (error analysis, data recovery, sector editor, sending of SCSI commands and much more). The archive contains the detailed German manual as a PDF.
Just like HDDRUTIL and HDDRIVER's SCSI Driver, DISKUS supports 64 bit sector numbers and thus can access all sectors on media with a capacity of more than 2 TiB. Physical sector sizes up to 4096 bytes are supported.
The SCSI Driver was initiated by Steffen Engel and is an open software interface for accessing arbitrary peripherals, not only SCSI devices. Also optical SATA drives use the commands introduced by the SCSI standard. For other devices a SCSI Driver can emulate SCSI commands, just like HDDRIVER does it for IDE and SATA drives.
HDDRIVER fully supports the latest version 1.01 of the SCSI Driver interface. Via SCSI Drivers HDDRIVER and HDDRUTIL can access peripherals connected to any interface, provided HDDRIVER or HDDRUTIL were started after the respective SCSI Driver.
Complete SCSI Driver implementations are available for the following hardware interfaces and software emulators:
Claus Brod, Steffen Engel
|Atari ATAPI/SATA||HDDRIVER||Uwe Seimet|
|Milan IDE/ATAPI/SATA||HDDRIVER||Uwe Seimet|
|Milan SCSI||Milan PCI SCSI Driver||Michael Schwingen|
|MagiCMac||SCSIDRV for MagiCMac||Steffen Engel|
|MagiCPC||SCSIDRV for MagiCPC||Steffen Engel|
|Hatari 2.0 (Linux SCSI/IDE/ATAPI/SATA/USB)||NF_SCSI, see below||Uwe Seimet|
|ARAnyM 1.1.0 (Linux SCSI/IDE/ATAPI/SATA/USB)||NF_SCSI, see below||Uwe Seimet, Thorsten Otto|
There are also other, apparently incomplete implementations with unknown status, which are therefore not listed above.
When implementing a new SCSI Driver it is recommended to not only study the SCSI Driver specification but also the command standards documents, in particular for SPC, SBC and MMC.
Information on the SCSI Driver is also provided by some of my articles for the ST-Computer magazine (German only).
The TOS component of the SCSI Driver for Hatari and ARAnyM, based on the NatFeats interface of these emulators. With this driver module Atari software (e.g. HDDRIVER, HDDRUTIL, DISKUS, EXTENDOS, GEMAR) has access to all devices managed by the Linux SG driver, e.g. hard disk drives, memory cards and CD/DVD writers. (NVMe SSDs are not supported by the Linux SG driver.)
The archive contains the executable binary and the sources. Please thoroughly read the README file. The native SCSI Driver component for Linux is included in the current versions of Hatari and ARAnyM. With Hatari the NatFeats support has to be explicitly enabled in the Hatari configuration file or on the command line.
SCSI_MON logs SCSI Driver calls, which helps with analyzing errors or when implementing a new SCSI Driver. SCSI_MON also helps to understand the SCSI and SATA software protocols.
SDRVTEST is a simple tool for testing certain SCSI Driver functions, in particular (but not only) for SCSI Drivers that support IDE/SATA drives or USB devices.
The open XHDI standard supports applications with accessing mass storage devices. HDDRIVER fully supports the latest version XHDI 1.30. The XHDI specification is also available online as a hypertext.
XHDI_MON logs XHDI calls.