/unix-cb

Unix-CB, a chat system that was part of Skynet BBS back in the 80s

Primary LanguageCApache License 2.0Apache-2.0

unix-cb Build Status

Unix-CB, a chat system from the olden days

Unix-CB (or CB for short) was an attempt to bring CB (Citizen's Band radio) to the computer. You could hang out on a channel and talk with your friends. If someone was annoying you could squelch them.

CB was originally written in Fortran for an IBM/370 mainframe running MUSIC. It was then ported to Unix and C, first running on a Convergent Technologies Miniframe and then on SCO Xenix, an early System V-on-386.

CB was part of Skynet, a multi-line BBS package. Morrison Hotel. Morrison Hotel was the first (and regrettably, only) Skynet BBS, based in Orange County, CA in the mid-late 80s

A number of chat systems based on the CB user interface were developed in the 90s, including Unix-CB by Gary Grossman (which was used by the hugely popular Vrave).

Unix-CB uses System V IPC for communication, shared memory and synchonization. It splits into two processes, one for input and one for output (there were no threads back in those days, and no BSD select() on our Unixen).

I put the code up on GitHub for sentimental reasons. I would have put up all of the code for Skynet but unfortunately it appears to be lost forever... If you want to see what CB was like, telnet sourcedelica.com 8888. It is running this code.

Contributors

  • Gary Grossman got the code in shape so it would compile cleanly with modern compilers and lexers. He also got the build system whipped into shape with Autoconf and Travis, got Dorky chat working, put a Node.js telnet/login server in front of CB, and added multiple user record storage options. Thanks Gary!

Installation

Make sure you have the flex library installed. For example, yum install flex. You will also need Autoconf and Automake. If you want to run the telnet server, check out the requirements in cb_server/cb_server.js.

Compiling

./autogen.sh
./configure
make

Running the first time

cb/cbinit

To run CB

export PAID=T
cb/CB

Enjoy!