Das externe IBM 5106 Bandlaufwerk ist baugleich mit dem in der IBM 5100 und 5110
Modell 1 eingebauten Laufwerk und kann (theoretisch) auch nur an dieses angeschlossen
werden, da dem Modell 2 und der 5120 die ROS-Routinen zur Ansteuerung anscheinend
fehlen. Als Datenträger werden 3M DC-300
QIC Kassetten benutzt, die mechanisch baugleich zu DC-600, DC-6150 und DC-6525
Kassetten sind.
Statt der DC-300 Kassetten kann man problemlos auch DC-600 Kassetten einsetzen.
Diese besitzen ein längeres Band und weisen daher auch eine größere Kapazität
auf, sind von den magnetischen Eigenschaften her aber sehr ähnlich, so daß sie in
den IBM-Laufwerken ohne Probleme eingesetzt werden können.
Der Adapter des Bandlaufwerks ist in der Lage, die vom Band gelesenen Bits einzeln zum
Rechner zu schicken (per Interrupt), oder zuerst 8 Bits zusammenzufügen und dann als
Byte zu übergeben. Je nachdem, ob sich der Adapter im Bitmodus oder Bytemodus
befindet, wird beim Lesen nach jedem Bit oder alle 8 Bits ein Interrupt
erzeugt. Das Schreiben erfolgt immer bitweise; der Rechner muß die Bytes bitweise
zum Adapter übertragen.
Das Laufwerk ist zudem in der Lage, sowohl vor- als auch rückwärts zu lesen. Dies
wird z.B. zum Auffinden des Anfangs einer Datei benutzt.
Der Adapter für das interne Bandlaufwerk sitzt auf der Base I/O-Karte H2 (siehe Steckkarten). Ein evtl. extern angeschlossenes Laufwerk besitzt einen eigenen Adapter, da die Steuersignale nicht am externen Bus anliegen.
Das Bandlaufwerk zeichnet insgesamt zwei Spuren auf und vefügt über einen Zweispurkopf. Im Gegensatz zu heutigen QIC-Streamern kann nicht in Serpentinen aufgezeichnet werden, zumal die zwei Spuren bereits die Bandbreite voll ausnutzen. Die obere Spur enthält Formatsätze, die untere Kopf- oder Datensätze.
Eine Datei auf dem Band besteht aus einem Kopfsatz mit Informationen über die Datei sowie den Datensätzen, in denen die Nutzdaten untergebracht sind. Dabei muß die Anzahl der Datensätze gerade sein, die minimale Anzahl sind zwei Sätze, d.h. 1 kB, da das MARK-Kommando nur Vielfaches von 1 kB markiert. Zwischen jedem Satz befindet sich ein Formatsatz auf der oberen Spur.
Formatsätze, die in der oberen Spur aufgezeichnet werden, geben an, ob der folgende Satz in der unteren Spur einen Kopfsatz oder einen Datensatz (s.u.) enthält. Außerdem dienen sie als Start-/Stopzone (ähnlich den GAPs bei Disketten) und zur Synchronisation.
Die ersten 251 Bytes enhalten den Wert $55 und dienen als Start-/Stopzone. In diesem Bereich
wird das Band gestartet oder gestoppt und läuft demnach nicht mit konstanter
Geschwindigkeit.
Im Anschluß folgen drei Bytes $00, $00 und $E7.
Beim Lesen werden die Bytes bitweise verarbeitet bis die I/O-Routine einmal $00 und
anschließend $E7 sieht. Die I/O-Routine hat sich auf diese Weise mit den Daten vom Band
synchronisiert. Danach wird der Adapter in den Bytemodus umgeschaltet.
Es folgt das Kennbyte für die untere Spur ($81 für Kopfsatz, $18 für
Datensatz) und zwei Bytes, die die Satznummer angeben.
Nach 29 Nullbytes kommen wieder das Kennbyte und die drei Bytes $E7, $00 und $00, diesmal
aber in umgekehrter Reihenfolge, damit sie beim Rückwärtslesen erkannt werden.
Der Kopfsatz kennzeichnet den Beginn einer Banddatei. Das erste Byte gibt den Dateityp an, wie er auch im Inhaltsverzeichnis aufgelistet wird. Dann folgen zwei Bytes mit der Dateinummer und zwei Bytes mit der Dateigröße in Bytes (nicht die bei der Markierung angegebene maximale Größe!). Der Rest des Satzes ist sprachabhängig, enthält aber u.a. den optionalen Dateinamen.
Im Datensatz stehen die eigentlichen Daten. Nach den drei Synchronisationsbytes (s.o) folgt ein Satzkennbyte ($81=Kopfsatz, $42=End of Data, $24=Bad Record, $18=Data Record) und 512 Bytes mit den Daten. Anschließend folgen zwei CRC-Bytes (ähnlich wie bei der Diskettenaufzeichnung) und zwei Nullbytes.