PiSCSI and ICD Compatibility

ICD compatibility facilitates using all SCSI commands with the ACSI bus. Since release 22.02 the PiSCSI software is ICD compatible, based on extensions I contributed. This is in particular interesting for the internal host adapter of the MegaSTE, but also for other Ataris with a non-ICD compatible host adapter.

Benefits (not only) for the MegaSTE

The internal host adapter of the MegaSTE has several limitations. It only supports a single SCSI ID and can only access the first gigabyte of a drive because it lacks support for the full SCSI command set.
With PiSCSI these restrictions do not exist because any emulated device is ICD compatible. In addition, you can add up to 8 devices to the internal host adapter. This is possible because HDDRIVER supports devices with LUNs > 0 (SCSI sub-units), which can easily be created with PiSCSI. There is no capacity limit.
Except for a Raspberry Pi and the PiSCSI board no special hardware is required. When the board is connected to the internal SCSI connector it has to be terminated.

When launching piscsi LUNs are defined by appending the LUN number to the device ID, separated by a colon, e.g.:

>piscsi -id 0:0 IMAGE_FILE_FOR_LUN_0 -id 0:1 IMAGE_FILE_FOR_LUN_1 -id 0:2 -t schd RAW_DEVICE_FILE_FOR_LUN_2

RAW_DEVICE_FILE can be /dev/sda, for instance. This means that any USB drive connected to the Pi is usable by the Atari. It can be partitioned etc. with the Atari like any SCSI/ACSI drive.

A Raspberry Pi Zero WH or Zero 2 W with PiSCSI board can easily be placed inside the MegaSTE instead of a hard disk drive. At least the Raspberry Pi Zero WH can be powered by the MegaSTE. For the Zero 2 W this has not been tested.
The time a MegaSTE with TOS 2.06 waits before trying to boot is sufficient to launch the PiSCSI service on an internally mounted Raspberry Pi Zero WH.
Before switching off the MegaSTE the Raspberry Pi can be conveniently shut down with the PiSCSI Control app or with the PiSCSI client tools. These tools also allow to use PiSCSI as realtime clock with daylight saving time support.

The screenshot shows 6 devices emulated by a PiSCSI board, which is directly connected to the internal host adapter of a MegaSTE.

PiSCSI inside a MegaSTE