# CBBS

Das CBBS (Computerized Bulletin Board System; englisch für rechnergestütztes Schwarzes-Brett-System) war ein Computerprogramm von Ward Christensen, das ihm und anderen Computerbastlern erlaubte, digitale Textnachrichten füreinander auf einem über Telefon und Modem erreichbaren Computer zu hinterlassen und zu lesen.
Die damit von Ward Christensen (1945–2024) und Randy Suess (1945–2019) seit 1978 betriebene CBBS/Chicago gilt neben dem Community Memory als eine der ersten Mailboxen der Welt. Sie bildeten einen Grundstein einer Subkultur von DFÜ-Bastlern, Hackern und Computerclubs, die weltweit vielfältige Kommunikationsplattformen und elektronische Treffpunkte schufen.
Bis Mitte der 1990er Jahre bildeten sich aus der Mailbox-Szene die Vorläufer für freie Internet-Dienste im nicht-akademischen Bereich (u. a. FidoNet, UUCP-Netze, Individual Network), bevor kommerzielle ISPs Dialup-Internet und später DSL einem Massenpublikum anbieten konnten.

## Geschichte
### XMODEM als Grundlage

Ward Christensen und Randy Suess hatten sich 1975 als Mitglieder von CACHE, einem lokalen Computerclub in Chicago, kennengelernt. Wie damals üblich nutzten sie Kompaktkassetten zur Datenspeicherung. Eine Variante, die Daten darauf zu transferieren, war es, einen 300 Baud Akustikkoppler für die Audioübertragung zum Kassettenspieler zu nutzen. Hierzu schrieb Ward Christensen im Januar 1977 ein einfaches Programm, um die Daten von der Floppy zur Kassette zu piepsen. Das Programm bildete Blöcke von 128 Byte und eine einfache Prüfsumme. Er veröffentlichte es unter dem Namen MODEM.ASM.
Später schrieb Dave Jaffe ein Programm namens BYE um entfernte Nutzer auf ein CP/M-System zugreifen zu lassen und es von dort bedienen zu können. Um dabei auch Dateien zwischen den Systemen übertragen zu können, wurde MODEM so angepasst, dass es keine Statusausgaben auf der Konsole ausgab. Somit wurde für den Zeitraum des Down- oder Uploads die Telefonverbindung rein für die Dateiübertragung genutzt und nicht gleichzeitig mit den Konsolenausgaben von MODEM gestört. Diese kleine Änderung führte zum neuen Namen XMODEM und war der Startschuss für eines der damals wohl am weitesten portierten Dateiübertragungsprotokolle, da es auf fast jede Hardware-Umgebung angepasst wurde und die systemübergreifende Übertragung von binären Computerdateien ermöglichte. Letzteres löste ein großes Problem, da die Systeme sonst keinen gemeinsamen Datenaustausch ermöglichten.

### Erste Modems für Bastler

Etwa zur gleichen Zeit, April 1977, taten sich Dale Heatherington und Dennis Hayes zusammen und brachten mit dem DCHayes 80-103A ein erstes 300-Baud-Modem für S-100-Systeme zum Preis von $299 auf den Markt. Es machte Modem-Technologie den Computerbastlern zugänglich und war der Urvater von Hayes Microcomputer Products' Smartmodem, welches 1981 den Industriestandard für alle folgenden Modems setzen sollte. Bis dahin waren die Akustikkoppler verbreitet. Mussten hierbei die Anrufe noch manuell angenommen werden, ermöglichten erst die Modems automatisches Annehmen und so die Idee eines computerized BBS (Mailbox).

### Entstehung der CBBS

Im Januar 1978 wurde Chicago vom Great Blizzard getroffen, der Rekordmengen an Schnee im Mittleren Westen der USA abwarf. Unter denen, die vom Sturm betroffen waren, befanden sich auch Ward Christensen und Randy Suess. Der Erfolg von XMODEM ermutigte zu weiteren Experimenten. Sie waren von der Idee begeistert, einen computerbasierten Anrufbeantworter und ein Nachrichtenzentrum zu schaffen, die es den Mitgliedern ermöglichen würden, sich mit ihren neuen Modems anzumelden und Ankündigungen in Form von digitalen Texten für anstehende Treffen zu hinterlassen.
Durch den Schneesturm hatten sie die für die Umsetzung eines solchen Projektes erforderliche Ruhe. Christensen arbeitete an der Software und Suess baute einen S-100-Computer zusammen, um das Programm zu betreiben. Innerhalb von zwei Wochen hatten sie ein funktionierendes System; Anfang Februar begannen die entsprechenden Tests.
Randy Suess stellte das System aus Einzelkomponenten selbst zusammen. Es bestand aus der S-100-Platine, die er selbst mit den Steckverbindern wie auch die Speicherkarte mit 8 Kilobyte RAM bestücken musste. Weiterhin verwendete er acht 1702 EEPROMS für das CP/M BIOS und ein 8-Zoll-Disketten-Laufwerk mit 117 Volt Versorgungsspannung. Da dessen Motor nicht für den Dauerbetrieb gemacht war, entwickelte er eine Schaltung, die das System erst mit dem Klingeln des Telefons anschaltete und nach dem Auflegen noch genug Zeit ließ, die letzten Schreiboperationen zu beenden, bevor der Strom wieder gekappt wurde. An die Floppy montierte er einen alten Temperaturschreiber, der für zwei Tage je Karte ausgelegt war und die Spannungsversorgung notierte. Damit konnte er später auf dem aufgezeichneten Graph die Mailbox-Aktivität ablesen.
Am 16. Februar 1978 nahmen sie die CBBS in Betrieb. Christensen und Suess beschrieben ihre Innovation 1978 in dem Artikel Hobbyist Computerized Bulletin Board in der November-Ausgabe des Byte Magazine.
Da das Internet immer noch klein und für die meisten Computernutzer nicht verfügbar war, mussten Nutzer die CBBS direkt über ein Modem anwählen. Die Nutzer mussten abwechselnd auf das System zugreifen, weil die CBBS-Hardware und -Software für den größten Teil ihres Bestehens nur ein einziges Modem unterstützten. Beide beobachteten oft die Nutzer, während sie online waren, und kommentierten oder gingen in den Chat, wenn es gerechtfertigt war.

### Die CBBS-Nachfolger

Nach dem Start der CBBS/Chicago mit einem 173 Kilobyte Single-Density/Single-Side Laufwerk erweiterten sie es später um ein weiteres, dann wechselten sie auf Double-Density/Double-Sided Laufwerke und nach einem Jahr auf eine 10 Megabyte Seagate Festplatte. Später wurde die Hardware gegen einen PC-Clone mit V20-CPU ausgetauscht. Auf ihm lief eine leicht angepasste CP/M-Version auf Basis des 8080-Assembler für mehr als 15 Jahre. Sie inspirierte die Schaffung vieler anderer Mailboxen. Noch etwa zehn weitere Mailboxen wurden 1981 mit dieser Mailbox-Software betrieben.
Das Programm hatte viele Ideen, die sich bis heute in Onlineforen wiederfinden.
Als Christensen und Suess getrennte Wege gingen, betrieb Ward Christensens Ward’s Board bis Anfang der 1990er Jahre.
Randy Suess gründete 1982 mit wlcrjs die erste öffentlich zugängliche Unix-Mailbox, welche via UUCP Nachrichten und Daten mit anderen Systemen austauschte und sich somit mit anderen Mailboxen vernetzte. Diese Systeme waren damit mittelbar ans Internet angeschlossen und wurden später teils zu Points of Presence oder Websites. Sie wechselte 1984 ihren Namen in Chinet. Randy’s Hobby Chinet bot später seinen 600 Nutzern zwölf Einwahlleitungen. Mit der zunehmenden Einwahl ins Internet über ISPs wurde die direkte Modem-Einwahl unwichtig, und nach der Zerstörung der Hardware bei einem Brand 1996 existiert die CBBS heute nur noch als webbasiertes Forum auf der Suess-Website chinet.com.
In ihrem Artikel in der Byte malten sich Christensen und Suess bereits 1978 eine Zukunft von Mailboxen als „Nodes“ in einem automatisierten Nachrichten- und Programmeaustausch aus, wie sie mit dem FidoNet und UUCP 1984 Realität wurde.
Am 16. Februar 2003 erklärte der Bürgermeister von Chicago, Richard M. Daley, zu Ehren der ersten Mailbox der Welt, die an diesem Tag vor 25 Jahren gegründet wurde, diesen Tag zum BBS-Tag (Mailbox-Tag). Ein Artikel mit einem Foto von Ward und der CBBS-Hardware erschien kurz darauf in der Chicago Tribune.

## Technisches System

Die CBBS/Chicago wurde mit der Zeit auf unterschiedlicher Hardware betrieben. Das erste war ein S-100-Bus-System (Altair 8800) mit 8 Kilobyte (1k×1 Chips) RAM, acht 1702 EEPROMs für das CP/M-BIOS, einer 8080 CPU und einer Hayes 300-Baud-Modem-Karte. Zur Speicherung der Daten wurde ein Single-Density/Single-Sided 8″-Floppy-Laufwerk mit 173 Kilobyte verwendet.
Wie viele der damaligen Computer hatte auch die CBBS keinen Bildschirm. Die Ein- und Ausgabe erfolgte rein über Serielle Terminals. Ein Nutzer hatte häufig auch nur eine Terminal-Tastatur und möglicherweise einen Drucker für die Ausgabe der Kommunikation mit der CBBS.

### Das CBBS Programm

Das Programm bestand aus circa 8300 Zeilen Assembler-Code. Es war für ein CP/M-System mit 8080- oder Z80-CPU geschrieben und benötigte eine S-100-Modem-Karte und ein bis zwei Laufwerke.
Zusätzlich zum Programm entstand auch ein angepasstes CP/M BIOS, das nach dem Systemstart unmittelbar die CBBS und nicht erst den Kommandozeileninterpreter von CP/M startete.

#### Hauptschleife

Nachdem durch die Anrufsignalisierung (Klingeln) der Telefonleitung der Rechner gestartet wurde, lud das modifizierte BIOS die Mailbox-Software. Damit war sichergestellt, dass das System grundsätzlich funktionierte, bevor es selbst
* den Anruf annahm,
* die Übertragungsrate (110 oder 300 Baud) bestimmte,
* die Anfragen des Anrufers bediente
* und schließlich auflegte.

#### Funktionen

Während des Anrufs standen dem Nutzer folgende Funktionen zur Verfügung:
* S: Anzeigen des Nachrichtenüberblicks
* R: Anzeigen einer Nachricht
* B: Anzeigen der Systemnachricht (Bulletin)
* E: Schreiben einer neuen Nachricht
* K: Löschen einer Nachricht
* W: Anzeigen der Begrüßungsnachricht
* H: Anzeigen des Hilfetexts
* C: Wechsel zwischen Klein- und Großbuchstaben
* D: Duplexmoduswechsel (Rücksendung der Eingabe)
* N: Sende NUL-Zeichen (um einigen Terminals den Wagenrücklauf ohne Datenverlust zu ermöglichen)
* P: An–/Abschalten des Glockensignals (Bell) bei jeder Eingabeaufforderung
* X: Wechseln in den Expertenmodus, mit weniger Erklärungstexten
* G: Beenden des Anrufs

#### Datenspeicherung

Das Ziel war eine Speicherung von 200 bis 300 Nachrichten. Diese wurden zu maximal 10 Nachrichten pro Datei auf einer Diskette gespeichert, da CP/M die Anzahl der Dateien auf 64 und das Gesamtspeichervolumen einer Diskette auf 280 Kilobyte beschränkte. Aus der Nachrichtennummer leitete sich automatisch die Datei ab. Eine Nachricht bestand aus:
* Nachrichtennummer
* Anzahl der Zeilen
* Datum
* Absender / Autor
* Empfänger
* Titel
* Passwort (ermöglichte die Löschung der Nachricht)
* Nachrichtentext
Weitere Dateien beinhalteten die Zusammenfassung („Summary“) von jeweils 100 Nachrichten und die Systemtexte und Dialoge („Question files“).

## Lizenz und Distribution

Die Software konnte für 50 US-Dollar bei Randy Suess bestellt werden. Sie wurde im Quellcode mit einer einfachen Nutzungslizenz verbreitet.
Durch die Distribution der Software in Form von Assembler-Quellcode für CP/M war es üblich und notwendig, das System in Assembler für die Ziel-Hardware anzupassen. Dadurch stand es einer breiten Plattform von S-100-Systemen offen. So wurde es unter anderem auf 28k NorthStar, zwei-CPU NorthStar und Thinker Toys portiert.
Unter dem Namen MINICBBS verbreitete Keith Peterson eine etwas einfachere und assemblierte COM-Datei für CP/M, die allerdings eine „Lizenz“ von Suess voraussetzte. Es markiert einen ersten Bruch im Selbstverständnis der Generation von „Computer-Bastlern“, die es gewohnt waren, ein System komplett selbst zu bauen, und der folgenden Generation von frühen „Heimcomputer-Besitzern“ die sich als Mailbox-Betreiber dann fertiger Mailbox-Programme bedienten und sich häufig „SysOp“ nannten.