BASICODE

Computerprojekt der 1980er und 1990er Jahre
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 24. Mai 2005 um 01:03 Uhr durch UW (Diskussion | Beiträge). Sie kann sich erheblich von der aktuellen Version unterscheiden.
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

BASICODE war ein um 1980 von der niederländischen Rundfunkvereinigung NOS (Nederlandse Omroep Stichting) initiiertes Computerprojekt mit Ziel, einen einheitlichen Sprachstandard für die auf den damals populären Heimcomputern weit verbreitete, jedoch in unzählige zueinander inkompatibele Varianten zersplitterte Programmiersprache BASIC zu definieren. Dies wurde durch rechnerspezifische Zusatzprogramme erreicht, welche die Aufrufe der durch den BASICODE-Sprachstandard definierten Subroutinen für die Ein- und Ausgabe von Text, Grafik und Sound entsprechend den technischen Möglichkeiten des jeweiligen Rechners ausführten. Diese als Bascoder bezeichneten Programme ermöglichten darüber hinaus den Programm- und Datenaustausch zwischen verschiedenen Heimcomputerplattformen durch Definition eines einheitlichen Datenformats für die damals als Datenträger üblichen Kompaktkassetten. BASICODE wurde oft auch als "Esperanto für Computer" bezeichnet.

Der für BASICODE typische Datenträger:
Die Kompaktkassette

Die Ausgangssituation

 
Commodore 64
 
Atari 800 XL

Zum Ende der 1970er und dem Anfang der 1980er Jahre waren Heimcomputer auf der Basis von 8-Bit-Prozessoren unter Privatanwendern sehr populär. Zu den bekanntesten gehörten dabei der C64 bzw. C128 der Firma Commodore, die Atari 400/ 800 (XL/XE) Reihe, die Schneider/ Amstrad CPC-Modelle, die Computer der Firma Sinclair Research (ZX80, ZX81, ZX Spectrum) und in der DDR die Rechner der Baureihen Z9001, KC85/1 und KC87 sowie KC85/2 bis KC85/4. Gemeinsam war diesen Rechnern, daß sie mit einem 8-Bit-Prozessor der Typen MOS Technologies 6502 oder Zilog Z80, zwischen 16 und 64 KByte RAM-Speicher, einer Anschlussmöglichkeit für Kassettenrekorder zur Datenspeicherung auf Kompaktkassetten sowie einem Interpreter für die damals weit verbreitete Programmiersprache BASIC ausgestattet waren. Problematisch für den Austausch von Daten und insbesondere Programmen zwischen Computern verschiedener Hersteller war jedoch zum einen, daß die verwendeten BASIC-Varianten untereinander völlig inkompatibel waren. Sie verwendeten also für die gleiche Aktion (wie z.B. das Zeichnen eines Punktes auf den Bildschirm) verschiedene BASIC-Befehle, so daß z.B. ein auf einem C64 geschriebenes BASIC-Programm ohne manuelle Anpassung in der Regel nicht auf einem Atari XL funktionierte und umgekehrt. Zum zweiten unterschieden sich die Computer in ihren technischen Ausstattung, also z.B. der Bildschirmauflösung, der Anzahl der möglichen Farben oder den für die Soundausgabe verfügbaren Möglichkeiten. Drittens waren die auf den verschiedenen Rechnern verwendeten Datenformate zum Abspeichern von Daten und Programmen auf Kompaktkassetten ebenfalls inkompatibel zueinander.

Der erste Standard

 
Amstrad CPC 664
 
CPC 6128
 
Sinclair ZX Spectrum

Um 1980 begann die niederländische Rundfunkvereinigung NOS mit der Ausstrahlung von Computerprogrammen im Radio. Da Programme und Daten auf den Kompaktkassetten als hörbare Geräusche gespeichert wurden, war dies prinzipiell möglich. Aus den eingangs dargestellten Problemen ergab sich jedoch, daß ein Programm für alle populären Computertypen speziell angepasst werden musste und dann in entsprechenden Versionen auch mehrfach im Radio gesendet wurde. Die bei der Speicherung auf Kompaktkassetten sehr geringe Datendichte im Vergleich zu heutigen Datenträgern bedeutete, daß die Aufzeichnung und damit auch die Ausstrahlung im Radio entsprechend lange dauerte, und somit in einer Sendung nur eine sehr begrenzte Anzahl an Programmen gesendet werden konnte. Die Ausstrahlung des gleichen Programms in mehreren verschiedenen Versionen war also ein großer Nachteil.

Im Jahr 1982 kamen dann die Verantwortlichen bei NOS auf die Idee, ein einheitliches Datenformat zu entwickeln. Ein für jeden Computertyp spezifisches Programm, der sogenannte Bascoder, übernahm dabei das Einlesen dieses Formats von der Kassette bzw. das Abspeichern von Programmen und Daten in diesem einheitlichen Format auf die Kassette. Auch diese Programme wurden von NOS über Rundfunk verbreitet. Sie konnten darüber hinaus auf Kompaktkassetten von NOS erworben werden, und wurden auch zwischen Computerbenutzern im privaten Kreis weitergegeben. Die Datendichte dieses Formats lag bei 1.200 Bits pro Sekunde, also 150 Bytes pro Sekunde oder 9 KByte pro Minute. Die Aufzeichnung von Programmen erfolgte dabei genau wie die Aufzeichnung von Daten, und abweichend von der üblichen Speicherung der einzelnen BASIC-Befehle in Form von 1-Byte-Einheiten (Token), Zeichen für Zeichen in Form eines kurzen 1200Hz-Signals für ein 0-Bit und zwei 2400Hz-Signalen für ein 1-Bit, ergänzt um Start- und Stop-Signale und Prüfsummen. Dieses einfache, aber hinsichtlich Störungen bei der Übertragung sehr robuste Format konnte von allen damals verbreiteten Homecomputern am jeweiligen Datenein- und Ausgang gelesen und geschrieben werden. Die Robustheit dieses Standards ermöglichte auch die Ausstrahlung auf Mittelwelle-Frequenzen, was wiederum die Reichweite und damit die Zahl der möglichen Empfänger vergrößerte. Im niederländischen Rundfunk gesendete Programme konnten z.B. auch in weiten Teilen der DDR empfangen werden.

BASICODE 2

 
Sinclair ZX81
 
Robotron KC87
 
KC85/3

Der damit geschaffene Standard löste zwar eines der eingangs dargestellten Probleme, nämlich das der zueinander inkompatibelen Datenformate. Programme mussten jedoch weiterhin auf jedem einzelnen Rechnertyp an den jeweiligen BASIC-Dialekt und die spezifischen technischen Gegebenheiten angepasst werden. Eine mögliche Beschränkung auf diejenigen Elemente der Sprache BASIC, welche allen Dialekten gemeinsam war, bedeutete unbefriedigende Einschränkungen hinsichtlich der Funktionalität der Programme, z.B. den Verzicht auf Grafik und Sound und nur unkomfortable Möglichkeiten zur Dateneingabe über die Tastatur und zur Steuerung der Datenausgabe auf dem Bildschirm. Aus diesem Grund wurde 1984 der Standard BASICODE 2 geschaffen. Die auf diesem Standard basierenden Bascoder enthielten nicht nur die Routinen zur Ein- und Ausgabe von Programmen und Daten auf Kompaktkassetten. Zusätzlich zu einem Satz von ca. 50 BASIC-Befehlen, die in allen BASIC-Dialekten identisch waren, definierte der Sprachstandard von BASICODE 2 darüber hinaus erstmals auch eine Bibliothek an Subroutinen, deren Aufruf auf allen Computern die gleiche Funktionalität bereitstellte. Dazu wurde festgelegt, daß der Bereich der Programmzeilen unterhalb der Zeilennummer 1000 für den Bascoder reserviert war und in BASICODE geschriebene Programme somit erst ab der Zeilennummer 1000 beginnen durften. Die Subroutinen des Bascoders in den Zeilennummern unter 1000 wurden dann durch die GOSUB-Anweisung aufgerufen. Dabei notwendige Argumente wurden übergeben, indem vor dem Aufruf bestimmten, für den Bascoder reservierten Variablen die entsprechenden Werte zugewiesen wurden.

Die Bascoder wurden auf ihren jeweiligen Rechnern als normale Programme geladen und stellten anschließend die zusätzlichen Routinen für den gemeinsamen Sprachstandard und für die Ein- und Ausgabe auf Kassetten zur Verfügung, so daß die in BASICODE geschriebenen Programme erst nach dem Laden und Starten des Bascoders genutzt werden konnten. Auf einigen Rechnern war es dann aber möglich, das BASICODE-Programm zusammen mit dem Sprachteil des Bascoders im typspezifischen Datenformat abzuspeichern. Dadurch war es dann zwar nicht mehr möglich, diese Aufzeichnung auf anderen Rechnertypen zu verwenden. Allerdings hatten die typspezifischen Datenformate fast immer eine deutlich höhere Datendichte, so daß das gleiche Programm deutlich schneller als im BASICODE-Format geladen werden konnte. Darüber hinaus stand ohne die Notwendigkeit, vor der Ausführung des BASICODE-Programms den kompletten Bascoder laden zu müssen, deutlich mehr Arbeitsspeicher zur Programmlaufzeit zur Verfügung. Bascoder für den BASICODE 2 Standard existierten unter anderem für die Computertypen Exidy Sorcerer, DAI, Color Genie, Commodore PET, VIC-20, C64, Amiga, Sinclair ZX81, ZX-Spectrum, QL, Philips P2000T, Acorn Atom, BBC, Electron, Tandy TRS80, MSX, Oric Atmos, Newbrain, Amstrad CPC 464, IBM PC, Apple II, Texas Instruments TI-99/4A, Mattel Aquarius und andere. Erfahrene Computerbesitzer waren darüber hinaus auch in der Lage, einen eigenen Bascoder für ihr spezielles System zu entwickeln, da der Sprachstandard und das Datenformat offen gelegt und gut dokumentiert waren. Der durch BASICODE 2 definierte Sprachstandard ermöglichte bereits die Entwicklung von systemunabhängigen Programmen mit für die damalige Zeit relativ fortgeschrittenen Möglichkeiten. BASICODE wurde darüber hinaus auch genutzt, um in elektronischer Form Informationen wie z.B. Neuigkeiten aus der Computerszene im Radio zu senden und zwischen Computernutzern weiterzugeben.

BASICODE 3/ 3C

1986 wurde der neue Standard BASICODE 3 entwickelt. Dieser enthielt als wesentliche Neuerungen Routinen für einfache Grafikausgabe, das Lesen und Speichern von Daten aus Programmen heraus sowie für die Ausgabe von Sound. Mit BASICODE 3 wurde BASICODE insbesondere auch in der Computerszene der DDR bekannt, und BASICODE-Programme wurden auch im Rundfunk der DDR gesendet. In der DDR erschien auch ein Buch, dem eine kleine Schallplatte mit den Bascodern für alle in der DDR verbreiteten Computertypen beilag.

Ab ca. 1990 nahm die Popularität von BASICODE jedoch aufgrund der immer weiteren Verbreitung von 16- und 32-Bit-Computern und insbesondere des IBM-PCs sowie dazu kompatibeler Geräte sehr schnell ab. Auch wenn auch für diese Computer meist noch Bascoder entwickelt wurden, war BASICODE zu limitiert, um mit den technischen Möglichkeiten dieser Rechnergeneration mitzuhalten. Auch entfiel durch die weitesgehende Konzentration auf wenige Rechnerarchitekturen im 16- und 32-Bit-Bereich der Hauptgrund für die Entstehung und Nutzung von BASICODE. Der aus dem DDR-Rundfunk hervorgegangene Deutschlandsender Kultur, der später mit anderen Sendern zum Deutschlandradio fusionierte, strahlte noch bis ca. 1992 BASICODE-Programme aus. Die letzte überarbeitete BASICODE-Version, welche insbesondere die Bildschirmausgabe in Farbe als Neuerung enthielt, wurde als BASICODE 3C veröffentlicht. Ein noch geplanter Standard BASICODE 4 wurde nie offiziell realisiert. BASICODE wird heute noch von einigen Enthusiasten, insbesondere 8-Bit-Computer-Fans, vorwiegend aus nostalgischem Interesse weiterhin verwendet, besitzt jedoch keine praktische Bedeutung mehr.

Literatur

  • Michael Wiegand, Manfred Fillinger: BASICODE. Mit Programmkassette. Ravensburger Buchverlag, Ravensburg 1986, ISBN 3-47-344010-8
  • Horst Völz: Basicode mit Programmen auf Schallplatte für Heimcomputer. 1990, ISBN 3-34-100895-0