SCSI2Pi is the advanced and more performant alternative to the PiSCSI software for the PiSCSI/RaSCSI board. SCSI2Pi provides an improved device emulation, higher transfer rates, new SCSI initiator mode tools and numerous new features. SCSI2Pi is compatible with the PiSCSI web UI and the SCSI Control app for Android. With SCSI2Pi the app offers an extended set of features.
SCSI2Pi emulates several SCSI or SASI devices like hard drives, CD-ROM drives, printers or network adapters at the same time. You can easily add a range of devices to computers like 68k Macs, Atari ST/TT/Falcon030, Amiga, Unix workstations, samplers or other computers with SCSI port.
You can run SCSI2Pi stand-alone or eswitch from PiSCSI to SCSI2Pi in seconds, simply by installing a package with highly optimized SCSI2Pi binaries. No time-consuming compilation is required.
The SCSI2Pi website addresses regular users and developers, whereas the information on GitHub is rather developer-centric.
Until release 24.04.01 I was the main contributor to the PiSCSI SCSI emulation. I revised the backend architecture, added a remote interface and re-engineered most of the legacy code so that it uses modern C++. This resulted in more modular code and drastically improved SonarQube code metrics. Besides adding numerous new features and improving the compatibility with many platforms, I also fixed a range of bugs and added an extensive set of unit tests.
I am also the author of the HDDRIVER driver software for Atari computers and the SCSI Control app for Android, which is the remote control for your PiSCSI/RaSCSI boards. SCSI Control supports both SCSI2Pi and PiSCSI. The full range of app features requires SCSI2Pi, though.
In the PiSCSI project there was not much interest in replacing old, often buggy or unnecessary code, or to improve the data transfer rates. Long promised features on the roadmap and user requests in tickets were not addressed, and it took long for features or bug fixes to make it into a release. This is why I started to work on the emulation in a separate project, while staying compatible with the PiSCSI web interface. The major part of the PiSCSI C++ codebase has been contributed by me anyway. SCSI2Pi is not meant to fully replace/extend the PiSCSI software, but only the device emulation and the tools.
With PiSCSI there was also not much interest in further developing the SCSI emulation and exploiting the initiator mode feature of the FULLSPEC board. This mode, together with new SCSI2Pi command line tools, offers solutions for use cases that have never been addressed before. These tools also help with advanced testing, making the emulation more robust and reliable.
The SCSI2Pi website offers an overview on differences between SCSI2Pi and PiSCSI.