SCSI2Pi and the ACSI Bus

SCSI2Pi supports using all SCSI commands with the ACSI bus, because code I contributed makes SCSI2Pi 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 usually has several limitations: It only supports a single ID and can only access the first gigabyte of a drive.
For HDDRIVER setups with SCSI2Pi, PiSCSI or 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 SCSI2Pi. Except for a Raspberry Pi and the PiSCSI board or BlueSCSI, resp., no special hardware is required.

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

>sudo s2p -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 SCSI2Pi service on an internally mounted Raspberry Pi Zero WH.
Before switching off the MegaSTE the Raspberry Pi can be shut down with the SCSI Control app or with the SCSI2Pi client tools. These tools also allow to use SCSI2Pi 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 SCSI2Pi board, which is directly connected to the internal MegaSTE host adapter.

SCSI2Pi with 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.