SCSI2Pi bietet eine umfangreiche Unterstützung von Bandlaufwerken, wie sie keine andere SCSI-Emulation bietet. Es werden zwei Betriebsarten unterstützt: Ein tar-kompatibler Modus für die Nutzung von tar-Dateien als Image-Dateien, und ein SIMH/Open SIMH-kompatibler Modus mit dem vollem Funktionsumfang der Emulation.
Im tar-kompatiblen Modus lassen sich normale tar-Dateien als Image-Dateien verwenden. Beim Verwenden von Dateien mit der Extension .tar schaltet s2p automatisch in diesen Modus.
>s2p -i 3 IMAGE_FILE.tar
Im tar-Modus stellt s2p durch eine eingeschränkte Funktionalität sicher, dass beim Schreiben von Dateien nur tar-kompatible Daten erzeugt werden. Insbesondere werden keine Filemarks unterstützt.
Mit der Gemar-Software für den Atari oder dem tar-Tool, z. B. unter Linux, lassen sich tar-Image-Dateien lesen und Schreiben:
>tar cvf /dev/st0 IMAGE_FILE.tar >tar tf /dev/st0 IMAGE_FILE.tar
Dies läuft ähnlich ab wie bei der Nutzung von tar auf einem lokalen Dateisystem, aber die tar-Datei befindet sich auf dem Raspberry Pi und Linux greift über den SCSI-Bandlaufwerk/Streamer-Treiber des Linux-Kernels darauf zu.
In diesem Modus steht die gesamte Funktionalität der Emulation zur Verfügung, also auch Filemarks, Navigation oder variable Blockgrößen. Dieser Modus wird für Anwendungen benötigt, die über die Anforderungen von tar hinausgehen, beispielsweise professionelle Streamer-Software oder Booten vom Betriebssystemen von einem Bandlaufwerk.
s2p schaltet in den Modus mit allen Features wenn Image-Dateien mit einer anderen Extension als .tar verwendet werden. SIMH-kompatible Dateien enthalten Metadaten, mit denen s2p navigieren und variable Blockgrößen unterstützen kann.
>s2p -i 3 IMAGE_FILE.tap
Auch das tar-Tool kann mit SIMH-kompatiblen Image-Dateien genutzt werden. In diesem Fall ist das resultierende Dateiformat aber nicht tar-kompatibel sonder SIMH-kompatibel.
Mit den Standard-Einstellungen behält s2p die Größe einer Tape-Image-Datei bei, wie man es von Images für Festplatten her kennt. Es ist oft nützlich, Daten an eine Tape-Image-Datein anhängen zu können. Daher unterstützt s2p das append-Property. Mit diesem Property, z. B. in /etc/s2p.conf, lässt sich die maximale Dateigröße für eine Tape-Image-Datei festlegen. s2p hängt bei Bedarf Daten an, bis diese Größe erreicht ist.
Mit dem s2psimh-Tool können die Inhalte SIMH-kompatible Dateien aufgelistet werden. Außerdem lassen sich SIMH-Dateien erzeugen.
>s2psimh test.tap Offset 0/$0: Class 0, good data record, record length 80 ($50) Offset 88/$58: Class 0, good data record, record length 80 ($50) Offset 176/$b0: Class 0, good data record, record length 80 ($50) Offset 264/$108: Class 0, tape mark Offset 268/$10c: Class 0, tape mark Offset 272/$110: Class 0, good data record, record length 80 ($50) Offset 360/$168: Class 0, good data record, record length 80 ($50) Offset 448/$1c0: Class 0, tape mark Offset 452/$1c4: Class 0, tape mark
Mit der -d-Option zeigt s2psimh auch die Inhalte von Datenblöcken an. s2psimh erfordert keinen Pi. Es compiliert und läuft auf beliebigen Linux/BSD-Plattformen und auch auf macOS.
Komplette Bänder lassen sich mit s2pdump auslesen und in SIMH-Dateien sichern und umgekehrt. s2pdump unterstützt beliebige Bandformate, auch Bänder mit variablen Blockgrößen.