PiSCSI and the ACSI Bus

PiSCSI supports using all SCSI commands with the ACSI bus, because code I contributed makes PiSCSI ICD compatible. This is in particular interesting for the internal host adapter of the MegaSTE, but also for other Ataris with internal or external host adapter.

Benefits (not only) for the MegaSTE

The internal host adapter of the MegaSTE has several limitations: It only supports a single ID and can only access the first gigabyte of a drive because it lacks support for the full SCSI command set.
For HDDRIVER setups with PiSCSI (and BlueSCSI) these limitations are a thing of the past. You can add up to 8 devices to the MegaSTE's host adapter. Hard drives, CD-ROM drives and a real-time clock with daylight saving time support, for instance. This is possible because for ACSI HDDRIVER supports 8 LUNs (SCSI sub-units), which can easily be created with PiSCSI.
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 BOOT_IMAGE_FILE_FOR_LUN_0.hds -id 0:1 CD_ROM.iso -id 0:2 -t scrm RAW_DEVICE_FILE_FOR_LUN_2 -id 0:6 services

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 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 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. This is useful, for instance, when the battery of the MegaSTE's clock is empty, or just to have daylight saving time support.

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

PiSCSI inside a MegaSTE

Important to know: The DaynaPort drivers for STiNG and MiNT unfortunately only supports LUN 0. This means that the DaynaPort emulation cannot be used with the internal host adapter of the MegaSTE in case LUN 0 is already being used by an emulated hard drive. (TOS kann nur von LUN 0 booten.)
It should not be a big deal to extend the DaynaPort drivers with LUN support. On GitHub there is suitable code for the SCSI Driver, which automatically detects a device independent of its SCSI ID or LUN.
A definitely less clean solution is a patch for HDDRIVER.