Der Kassettenrekorder und die Heimcomputer
Was den typischen „Heimcomputer“ der Achtziger Jahre auszeichnet, war das er ohne viel Peripherie auskam. Sicher, man konnte die meisten um einen Drucker, Monitor und ein Diskettenlaufwerk erweitern, aber anders als ein echter PC kam er auch ohne aus. Er wurde an einen Fernseher angeschlossen, weshalb die Auflösung der meisten Modelle klein war, typisch 256 × 192 bis 320 × 200 Pixel – mit etlichen Formaten dazwischen. Als Massenspeicher fungierte der Kassettenrekorder. Die Datenraten waren klein. Hier mal einige Datenraten, die ich bei der Recherche zu meinen Artikeln fand:
Gerät | Standarddatenrate (Baud) | Hohe Datenrate (Baud) | Mit Tricks |
---|---|---|---|
Sinclair ZX81 | 300 | ||
Sinclair ZX Spectrum | 300 | 1500 | |
C64 | 384 | 1157 | |
Acorn | 300 | 1200 | |
Alphatronic PC | 300 | ||
Atari 400/800 | 600 | 1200 | |
MSX | 1200 | 2400 | |
Amstrad CPC 464 | 1000 | 2000 | 3900 |
Apple I | 1200 |
Falls ihr noch weitere Datenraten kennt, insbesondere die mit Tricks, bitten in den Kommentaren posten, ich ergänze dann die Tabelle.
Bei durchschnittlich 11 Bits pro Byte (mit Start/Stop und Prüfbit) liegt die Datenrate in Byte bei weniger als einem Zehntel der Baudrate (1 Baud = 1 Bit/s). Als ich mich mit den Microdrives des Spectrum und QL beschäftigte, die ja auf einem Magnetband viel höhere Datenraten erreichten habe ich mich gefragt, ob man nicht mit dem Kassettenrekorder deutlich höhere Datenraten erreichen konnte.
Speicherformat
Um zu wissen wie die Daten auf einer Kassette gespeichert wurden sollte man das Format kennen. Die meisten Rechner nutzen das Kanas City Standardformat, das schon 1975 verabschiedet wurde. Es sah zwei Frequenzen vor, nämlich 1.200 und 2.400 Hz. Eine „0“ wurde durch einen Ton mit einer 1200 Hz Frequenz gespeichert, eine „1“ durch einen Ton mit 2400 Hz. Zuerst waren es vier bzw. acht Wellen pro Bit (300 Baud) dann eine bzw. zwei (1200 Baud). Logischerweise konnte man mit der Vorgehensweise nicht mehr als 1200 Baud erreichen, den weniger als eine vollständige Welle pro Bit geht nicht.
Höhere Datenraten setzten daher andere Verfahren ein. Gemeinsam war aber das man von dem gesamten Frequenzumfang und Lautstärkeumfang den eine Kassette wiedergeben kann nur einen Teil der Frequenzen und meist auch nur eine Lautstärke nutzte.
Datenrate bei Musik
Nun speichern Kompaktkassetten aber normalerweise Musik. Selbst billige konnten Töne bis 12 KHz Frequenz abspeichern und das in variabler Lautstärke. Rein technisch kann man alle Töne als Frequenzen mit unterschiedlicher Lautstärke ansehen, die wenn man sie aufsummiert eine gemeinsame Frequenz bilden. Unser Gehör reicht bis 20 KHz, nimmt aber im Alter ab, sodass selbst teure Kopfhörer meist nicht mehr als 16 KHz wiedergeben, weil kein Erwachsener die ganz hohen Frequenzen noch hören kann.
Gemäß dem Shannonschen Theorem muss man für eine Frequenz von n Hz pro Sekunde 2 n Abtastpunkte anfertigen, um diese digital ohne Verlust zu konvertieren. Jeder Abtastpunkt hat dann eine Lautstärke für die man dann auch m Bits für die Digitalisierung benötigt. Für CD-Qualität wird mit einer maximalen Frequenz von 22 Khz und 16 Bits für die Lautstärke digitalisiert. Es sind es so 2 x 22.000 x 16 = 704 KBit/s, bei zwei Kanälen (Stereo) sind es dann sogar 1408 KBit/s. Diese Datenrate liegt also um den Faktor 1000 über dem, was die Hauptcomputer nutzten.
Nun ist es utopisch diese Datenrate auch einsetzen zu können, denn zum einen gibt es ja auch Störungen wie Rauschen, zum anderen waren die verwendeten Kassetten nicht unbedingt die mit den besten Klangeigenschaften.
Telefon als Vergleich
Ein besseres Analogon finde ich ist die Datenübertragung über das Telefon. Auch hier überträgt man digitale Inhalte, indem man sie analog als Töne überträgt. Beim Telefon gibt es kein Stereo und der Frequenzbereich der übertragen wird, liegt beim analogen Telefon zwischen 300 und 3400 Hz, also bei 3100 Hz. Ohne Kompression, die es damals auch noch nicht gab, kann man mit einem Modem maximal 33.600 Baud übertragen werden. (Die 56 kbaud, die analoge Modems zuletzt erreichten, der V90 Standard, kamen mit einem auf 4 KHz erweiterten Band zustande und waren theoretisch – ich habe meist um die 39 bis 42 Kbit/s gehabt). Nach dem Shannonschen Theorem entsprechen 40 Kbit/s bei 4 KHz Bandbreite rund 5 Bit für die Lautstärke, also 32 Abstufungen – es ist utopisch zu glauben, dass man über dem Grundrauschen die 65536 Abstufungen die die Abtastung für die CDs vorsieht auch noch heraushören kann. Das Weglassen leiser Töne, die man sowieso nicht hören kann, ist denn auch Grundlage des MP3 Standards.
Digital wurden bei ISDN auf dem gleichen Medium 64 Kbit, bei Kanalbündelung 128 kbit erreicht – bei Kanalbündelung erfolgt die Übertragung nur in eine Richtung, die Gegenstelle ist also „stumm“, das ist aber beim Einlesen oder Schreiben von Computern immer der Fall.
Gehe ich davon aus, das ein Magnetband eine bessere Qualität, als das Telefon aufweist, so sollte ich also bei der analogen Speicherung mindestens 31 Kbaud erreichen, bei digitaler Speicherung 64 Kbaud, berücksichtigt man das die Kassetten Stereosignale speichern, also zwei Spuren so wären es bei der Übertragung dieses Analogons auf die Kompaktkassette sogar 62 / 128 Kbaud.
Speicherkapazität von Magnetbändern
Das obige Beispiel macht klar, das man, wenn man nur die Möglichkeiten der Ausnutzung des ganzen Frequenzspektrums und der Lautstärke ansieht, man viel höhere Datenraten erreichen kann, als die Aufzeichnung von Kassette damals hatte. Allerdings ist eine Kassette ein anderes Medium als die Telefonleitung. Nun werden aber Magnetbänder schon lange in der Informationstechnik eingesetzt und ich habe mir mal die Mühe gemacht zwei Standards der damaligen Zeit, in denen die Information digital und nicht analog gespeichert wurde umzurechnen. Ich habe zuerst die Bitdichte pro Quadratmillimeter berechnet und dann daraus abgeleitet die Datenrate bei der Kompaktkassette mit ihrer Breite von 3,81 mm und der Standardgeschwindigkeit von 47,6 mm/s.
Gerät | Datendichte | Datenrate |
---|---|---|
Microdrive | 11 Byte/mm² | 15.000 Byte/s |
QIC-11 | 23 Byte/mm² | 4.000 Byte/s |
Der Quarter Inch Standard ist für mich am vergleichbarsten. Ich habe selber einen Streamer mit diesen Bändern gehabt und die Bänder sehen auch aus wie robuste Kompaktkassetten. Sie haben, da sie sehr schnell gespult werden, eine Basisplatte aus Aluminium, auch das Band ist dicker, Aber ich denke die Technologie ist am vergleichbarsten. Das Microdrive ist dagegen ein Endlosband, das relativ kurz ist. Der QIC-11 Standard mit 20 MB auf einem 450 Fuss langen Band erschien 1983, also gerade zur richtigen Zeit. Hier wurde nicht so schnell gespult wie beim Mikrodrive, sodass die Datenrate kleiner war.
Ein QIC-11 Band hatte vier Spuren, war 137,2 m lang bei 6,35 mm Breite, eine Kompaktkassette dagegen 3,81 mm breit und bei 30 Minuten Spieldauer 42,84 m lang. Da bei der Kompaktkassette die Bandstärke mit steigender Kapazität abnimmt und wohl kaum ein Benutzer lange auf seine Programme warten will, gehe ich im Folgenden von 30 Minuten = 2 x 15 Minuten aus.
Eine Kompaktkassette hat zwei Seiten, die entsprechen, da das Band genau halb so breit ist wie ein QIC-Band dann auch genau zwei Spuren. Man würde also wie bei der Tonaufzeichnung pro Seite nur eine Spur haben und nicht am Bandende umspulen, um die nächste Spur zu lesen. Nimmt man die geringere Datendichte der Microdrives, die anders als die ersten QIC Tape Streamer bezahlbar waren, so entsprechen die 4,76 cm Geschwindigkeit pro Sekunde beim normalen Lauf rund 1000 Byte/s, mit Prüfinformationen also 11 kBaud. Nach dem Kansas City Standard wäre dies gleichbedeutend mit einer Frequenz von 11 / 22 Khz.
Voraussetzung wäre nur, dass der Kopf die Daten gleich digital speichert und die umständliche Wandlung, die beim Kassettenrekorder, aber auch den Datasetten die nicht schneller als normale Rekorder, nur teurer waren, wegfällt. Bei dem im CPC 464 verbauten Rekorder konnte man ohne Problem ja schon 3900 Baud erreichen. Die Frage ist dann eher, wie schnell der Computer die Daten verarbeiten kann. Wenn es keine eigene Schaltung dafür gibt, dann hat man in jedem Falle folgende drei Schritte:
- Bit vom Rekorder einlesen.
- Bit mit Prüfbit in einem Register XOR verknüpfen.
- Bit in ein Ergebnisregister schieben.
Die drei Instruktionen benötigen in jedem Falle bei einem Z80 23 Taktzyklen, an den Byteenden kämen noch weitere Instruktionen hinzu, um ein Byte zu speichern und Zähler / Adressen zu dekrementieren/inkrementieren, doch diese auch beim Schreiben auftreten, würde es auf dem Tape einfach eine kurze Pause geben, in der die CPU beschäftigt ist. Bei 4 MHz Takt einer Z80 wären so problemlos 170 Kbaud möglich. Der Computer bremst also nicht das Auslesen aus.
Ein weiterer Vergleich wäre mit der Datendichte von Disketten. Hier eine kleine Tabelle:
Standard | Unformatierte Kapazität | Spurbreite | Datendichte |
---|---|---|---|
8 Zoll, SD und DD | 760 | 0,33 mm | 5.760 Bpi |
5,25 Zoll SD und DD | 500 | 0,33 mm | 5.922 Bpi |
5,25 Zoll QD | 1000 | 0,16 mm | 5.922 bpi |
5,25 Zoll HD | 1600 | 0,16 mm | 9.946 bpi |
3,5 Zoll SD | 500 | 0,19 mm | 8.717 bpi |
3,5 Zoll DD | 1000 | 0,095 mm | 8.717 bpi |
3,5 Zoll HD | 2000 | 0,095 mm | 17.434 bpi |
Eine Kassette hätte bei 3,81 mm Breite genug Platz für 7 Spuren in der niedrigsten Datendichte, das würde aber dann das Umspulen der Kassette am Ende mit weiteren Verzögerungen bedeuten. Beschränkt man sich nur auf eine Spur, so ist die Angabe der Datendichte pro Spur (bpi = Bit per Inch) relevant. Berücksichtigt man die Bewegung um 4,76 cm/s also 1,87 Zoll/s, so läge die Datenrate bei 10.794 bis 16.335 Baud, wenn man sich auf die Standards bis 3,5 Zoll DD, der in den frühen 80-ern erreicht war, beschränkt. Also auch hier eine Datenrate, die mit obigem Wert von 11.000 Baud vergleichbar ist.
Schnelles Spulen
Ein digitaler Kassettenrekorder muss ja nicht auf das normale Spulen angewiesen sein. Würde man pro Kassette nur pro Seite ein Programm speichern, dann wären selbst C30 Kassetten überdimensioniert – selbst bei den erreichten 1200 Baud sind dies 108 KByte pro Seite, bei 11 kBaud dann 900 KByte. Nun kann jeder Kassettenrekorder schneller spulen und der Schreiblesekopf kann immer noch aktiv sein – Kassettendecks nutzen das, um eine Pause zwischen zwei Songs zu erkennen und dann anzuhalten. Für das schnelle Kopieren gab es bei besseren Geräten auch die Funktion des High Speed Dubbings mit doppelter Geschwindigkeit. (9,5 cm/s). Schon alleine diese würde die Datenrate auf 2 KByte/s verdoppeln.
Sektorverwaltung
Im Prinzip kann man ein Band wie eine Diskette in Sektoren aufteilen und verwalten. Es gibt aber durch das Spulen immer eine Wartezeit bis ein Sektor erreicht ist. Da das Band auch nicht sofort stoppen kann, und anders, als bei einer Diskette beim Verpassen des Anfangs des Sektors nach einer Umdrehung der Scheibe automatisch der Sektor wieder am Schreibelesekopf vorbeizieht, wird man in diesem Falle aber nur einen Bruchteil der Kapazität nutzen, weil man hinter jedem Sektor dann eine ausreichend lange Lücke lassen muss, um dem Motor Zeit zu geben das Band zu stoppen. Ich denke die nutzbare Kapazität würde sich durch den Puffer nach jedem Sektor für das Abbremsen so halbieren. Sektoren wären wahrscheinlich groß, wenn ich 1 s als Pause zwischen zwei Sektoren ansetze, mindestens 1 KByte. Je größer der Sektor desto weniger fällt der Puffer ins Gewicht. Bei 2 KByte pro Block wären so 600 von 900 kb Brutto nutzbar und bei 4 KByte sind es schon 720 von 900 KByte. Trotzdem wäre eine Kassette so nicht geeignet, für den wahlfreien Zugriff und das Einlesen eines Programmes, das fragmentiert über die Bandlänge verteilt ist, würde lange dauern und das Band durch das Spulen und Stoppen stark beanspruchen.
Ich würde, wenn man so einen digitalen Rekorder baut, ein anderes Verfahren einsetzen: wenn ich davon ausgehe, dass ein Heimcomputer nur Programme oder Daten als jeweils ein Block speichert und jeder Block nie größer als der Hauptspeicher sein kann, dann wäre es sinnvoll, das Band in gleich große Blöcke zu unterteilen. Die 900 KByte einer Seite z.b. in 20 Blöcke von 45 KByte brutto. Keiner der 8 Bit Heimcomputer hatte eine nutzbare Arbeitsspeicherkapazität die 45 KByte überschritt. (38,9 KB beim C64, 41,5 beim ZX Spectrum 43,9 beim Amstrad CPC). Ein solcher Block würde ausreichen, um 43-44 Kbytes zu speichern und einen Abstandsblock von 1-2 KByte zum Stoppen des Motors beim Vorspulen einzuschließen. Der Benutzer würde dann nur angeben, welchen der 20 Blöcke er lesen oder schreiben will. Zu jedem Block kann man schnell spulen und es gäbe keine Fragmentierung. Wahlfreier Zugriff wie bei einer Diskette wäre so nicht möglich, aber ich denke mit dem Nachteil könnte man leben. Speziell für Commodore Besitzer wäre interessant das die Kassette so schneller als die VC 1541 Floppy mit ihren 400 Byte/s ist (okay, das erreichte man mit Turbo aber schon auf dem eingebauten Kassettenrekorder des CPC 464).
Kosten
Von der Technik her ist es immer noch ein normaler Kassettenrekorder, nur ohne Lautsprecher, dafür mit digitaler anstatt analoger Speicherung, was nicht viel ausmacht. Im Prinzip wäre er also in etwa genauso teuer wie ein einfacher Kassettenrekorder, der damals etwa 80 bis 100 Mark kostete. Ein Microdrive mit weitaus anspruchsvoller Technik kostete anfangs 250 DM. Ich glaube das ein Rekorder mit einer Kapazität von 900 KByte, 20 Speicherplätzen und rund 1 KByte/s Datenrate den Leuten sicher auch 250 Mark wert gewesen wäre, denn er hätte in den meisten Anwendungen (die meisten luden ja nur Spiele von Kassetten) ein Diskettenlaufwerk ersetzt.
[Edit]
Ich habe erst nach dem Erstellen des Artikels gesehen, das die ct in den Ausgaben 4 und 6/84 schon eine Lösung vorgestellt hat die auf einem normalen Kassetten Rekorder (also analoge Speicherung) 7.200 Baud erreichte. Kritischer ist dabei weniger der Rekkorder sld vielmehr das der Rechner reproduzierbare Zeiten für das Lesen eines Bits hat, wofür sie unter anderem die Interrupts ausschalten.Ich glaube mit 7200 Baud wären schon viele zufrieden gewesen …
Werden Magnetbänder nicht immer noch in Datenbanken in großem Stil eingesetzt?
Ich kenne Bänder heute nur noch zu Backupzwecken – da sind diese häufig die günstigste Alternative.
Da die meisten Bänder allerdings nur nur sequentiell gelesen / geschrieben werden können, gibt es für die meisten Anwendungen bessere Alternativen.
Mir sind jedoch auch Anwendungen aus den bekannt, die aus Kostengründen alles auf Band speichern – ein Bandrobotor wählte aus der Tapelibrary das korrekte aus, häufig genutzte Daten wurden auf Festplatten zwischengespeichert. Heutzutage lohnt sich das meistens jedoch nicht mehr.
Irgendwie eine interessante Entwicklung, heute wird Flashspeicher als Zwuschenspeicher zu Festplatten verwendet.
IBM hatte in der Vergangenheit (bevor Festplatten vorhanden waren, 1950-70) auch schnell spulbare Bänder (z.B. IBM 727 und 729).
Magnetbänder gab es wie im Artikel erwähnt schon vorher und gibt es sie noch heute. Überall dort wo es große Datenmengen gibt werden sie eingesetzt, dann meistens in Regalen geordnet von von kleinen Robotern in die Laufwerke geschoben. Es ging mir im artikel mehr darum das man die Chance verpasst hat die Daten gleich digital zu speichern und ich wollte wissen wie hoch die Datenrate dann bei den Kompaktkasetten mit ihren fixen Parametern gewesen wäre.
Die Kanalbündelung bei ISDN wurde nicht dadurch erreicht das Daten
in nur in eine Richtung übertragen wurden.
Ein B-Kanal hatte immer 64KBit in beide Richtungen.
Bei Channelbundling wurde einfach der zweite B-Kanal hinzugenommen so
das sehr wohl 128KBit in beide Richtungen ging.
Nur, bei einem B-Kanal konnte man auf dem anderen noch telefonieren, das
ging dann nicht mehr !
Ulli