Commentary before posting the article, I was a SysOp of a couple boards, I started a decade earlier than Lee, I started in the late 70's and, I recall when life upgraded to 300 bits per second (bps) from 110 bps and boy that was fast, not a dream of the speeds we suffer with today, I am right now connected at 16,150,000 bps and yesterday was announced speeds achieved 2,110,999,101,440,000,000 bps in the United Kingdom. To give you an idea, 8 bits in a character, so 110 bps would mean text would fill the screen at a rate of about 14 characters per second. My first was running on an Apple //e with a green screen monitor, the second was on PC and appeared in color like the screens below. Above is a photo with my Apple.
Modems, wArEz, and ANSI art: Remembering BBS life at 2400bps
Here's how we geeked out in the era before the World Wide Web came to be.
You've almost certainly never seen the place where I grew up, and you never will because it's long gone, buried by progress and made unreachable by technological erosion and the fine grind of time. What I did and learned there shaped me, but that knowledge is archaic and useless—who today needs to know the Hayes AT command set, the true baud rates of most common connection speeds, or the inner secrets of TheDraw? I am a wizard whose time has passed—a brilliant steam engine mechanic standing agape in the engine room of the starship Enterprise.
I am a child of the BBS era. BBSs—that's "Bulletin Board Systems"—were sort of the precursors to the modern Internet, though that's not quite accurate, since the Internet evolved separately and in parallel. It would be more accurate to say that many people in their 30s and older today were introduced to the world of the Internet either through or because of the interlinked telephone universe of BBSs. That one experience begat the other.
BBSs existed in a world that had yet to be soiled by smartphones and Facebook and Instagram; there was no Google, and indeed no World Wide Web at all. Up until 1992, the Internet was a thing primarily of text, and BBSs in many ways mimicked that. To get "online" was to sit down at your computer, open up an application called a "terminal program" (or just "term program" for short), pull up your carefully hoarded list of BBS phone numbers, and start dialing. Inevitably, most would be busy and you'd have to wait, but eventually you'd be treated to the sweet sound of ringing through your modem's speaker, followed by the electronic beeping and scratching of a modem handshake.
Oh, there were multi-line BBSs which could host more than one user at a time, but I didn't spend much time at those—the truly popular ones almost invariably required membership fees to support the cost of so many phone lines. No, most BBSs consisted of a single computer at someone's house, connected to a single phone line, which users dialed into one at a time. That remote computer was typically dedicated to the BBS because in the 1980s and early 1990s, multitasking operating systems like we have today were less common and much more temperamental. So, one at a time, users would dial into the BBS, check their private messages, perhaps leave a message on the BBS' "wall" for later callers, read and leave public messages in the message boards (called "subboards" or just "subs"), download and upload files, and then log off. If a modern Web-based forum is a crowded dinner party full of guests all yammering at the same time, a BBS was an entire house that you had all to yourself—one where you could enter, spend some time relaxing and reading books in solitude, write some letters, and maybe rearrange the furniture a bit.
The one who was
I was 12 years old in the fall of 1990, full of bespectacled junior high awkwardness and hunting, as all preteens are, for identity. At the time, my father worked for a big savings and loan firm, and in order to be able to occasionally do some work from our home PC, he was loaned a Hayes Smartmodem—a heavy external box that connected to our Acer 286/12 desktop via a thick RS-232 cable. I truly don't know if my dad ever used the device for work, but once the thing was plugged in, my world changed.
It came with some janky business-oriented communications application—likely Bitcom, but it was a long, long time ago and I don't remember the exact name—which was preprogrammed with a big list of (useless, to me) access numbers for business services. Seeing how interested I was in the device, my dad got the IT folks at his job to write down a few local BBS numbers for me to dial into.
The first BBSs I called, courtesy of that list, were hosted on Commodore computers running theSpiceWare BBS hosting software. If you happened to be using a Commodore computer with asemigraphical term program, it was a colorful and sound-filled experience (there's a video on the linked blog post of what a SpiceWare BBS looked like). For me on my IBM-compatible PC without even ANSI graphics, all I remember is a lot of red text.
I didn't care. It was absolutely incredible. It was like the computer in front of me had gained another dimension—it had become TARDIS-like, suddenly containing far more than its physical dimensions seemed to be able to allow. My computer could talk to other computers, and it felt like the boundaries of the world had just been blown out, like a cardboard box stuffed with dynamite. After I registered for an account on that first BBS, the remote system's menu showed me cryptic but exciting things I could do. Post messages? Download files? Play door games? Chat with the sysop? What's a sysop?
Learning the lingo
When it came down to it, there were three major activities one could do on a BBS: read and post messages, upload and download files, and play games. I quickly came to realize that me being on an IBM-compatible system meant that the files on these Commodore-hosted BBSs were useless to me, but I immediately fell in love with the message subboards. People were talking to each other! Inside the computer! And I could talk to them! And they would sometimes talk back!
These weren't multi-line BBSs, though, so the communication was very much serial. You'd call in, check your private messages to see if anyone had left you any, maybe take a peek at the public "wall" to see if anyone had scrawled anything funny, then flip over to the subboard of your choice and check for new posts there. For me, this was all done in text, though for Commodore users there were colors, semigraphics, and even sounds.
A "sysop," I quickly found out, was short for "system operator"—the person who ran the BBS. The sysop had administrative power and could do anything. On some BBSs they were jovial benefactors; on others, they were message-editing, power-abusing tyrants.
"Door games" were games that could be played through the BBS's text interface. They ranged from simple things (like maybe a Blackjack game) to deep, rich, complex simulations like Tradewars 2002. They were called "door" games because they were usually self-contained external applications, and the BBS application accessed them through an interface colloquially called a "door."
For most BBSs, the message subboards were the main reason people called in, and many BBSs tried to keep users active in those boards by enforcing a "PCR"—that is, a "post/call ratio." Users who wanted to download files had to post a certain number of messages in the subboards to keep their PCR up in order to be given access to the files areas. This often backfired, with some people posting useless "Post to get my PCR up!" type messages. On the other hand, you didn't want people hogging the board up, so users could only call in for a limited amount of time each day—often an hour. You could also bank your extra, unused time, sort of like rollover minutes. If you were done with a board for the day after only 20 minutes, you could stuff the other 40 into your time bank and use it later.
And the files—oh, the files. Once I started calling IBM-PC boards instead of Commodore-hosted boards, the files sections started to get more and more interesting. BBSs had different kinds of files depending on what the sysop wanted to do with his or her BBS; some boards had lots of programs to download and run, like screensavers or graphical demos, while some focused on amassing and distributing tremendous libraries of text files. It was rare to find a board without an ASCII copy of The Anarchist's Cookbook; the Cult of the Dead Cow or SubGenius texts were also heavily traded.
There were three other things you might see in a BBS's file area as well, and they were all weirdly linked together—ANSI art, MOD files, and warez. But before I could find out about any of those things, I had to escape from Commodore BBSs and start dialing into PC-run boards.
Speed—or lack thereof
But before that, we need to take a moment and put all of this modem stuff in perspective because you can't understand what it was like back then without understanding exactly how slow 2400bps is. We are accustomed these days to rich webpages and files delivered to us over always-on multi-megabit-per-second Internet connections, but that was the stuff of universities and governments back then. To put 2400bps in some perspective, that's 2.4Kbps, meaning that the last generation of 56Kbps modems were about 23x faster than poor old 2400bps. And everyone knows how "slow" 56K was.
At 2400bps and typical encoding, a single character took 10 bits of transmission (a start bit, a stop bit, and eight bits for the character itself, though other encodings were also used), and so the character rate maxed out at 240 characters per second. This was slow enough that you could actually see the screen fill with text, line by line. At 1200bps, fast readers could find themselves waiting on the remote computer; at 300bps (rare but not unheard of in the early 90s), fast typists could at times out-type their connection speed.
For text, 2400bps was perfectly adequate, but downloading binary files—images, large text files, compressed binary files, whole applications spread across floppy-sized disk images—took a long time. Exactly how long? The general rules of thumb to quickly estimate how long your download would take at 2400bps were that 1KB took about five seconds; 100KB took about eight minutes; and 1MB took about an hour and a half.
For someone who's never used a BBS—or for someone who's never had anything other than a broadband connection—it's hard to really explain just how different that is from today. Even downloading a single 256-color GIF usually meant several minutes of waiting, and a large multi-megabyte download was almost always an overnight commitment. There were a few ways to eke out more speed from your download—some download protocols like Puma and Lynx played games with the packets and sent them in batches rather than waiting for acknowledgments, and a few even used compression—but for the most part, you simply put up with it. Or you shelled out hundreds of dollars for a faster modem—not an option for my broke junior high self.
How bad was it then compared to how fast things are now? About this bad:
DOWNLOAD SIZE & SPEED | 2400BPS | 9600BPS | 10MBPS CABLE |
---|---|---|---|
1KB: | 5 seconds | 1 second | Instant |
10KB (a text file): | About a minute | About 10 seconds | Instant |
50KB (a single .gif): | About 4 minutes | About a minute | Instant |
200KB (a large .gif): | About 15 minutes | About 3 minutes | Instant |
836KB (Wolfenstein 3D shareware): | About an hour | About 15 minutes | Instant |
2393KB (Doom shareware): | About 3 hours | About 80 minutes | About 1 second |
100MB (your whole hard drive): | About a week | About a day | About 80 seconds |
The comparison is so unbalanced it's almost meaningless, and it's the last line that puts it over the cliff of ludicrousness—a modern broadband connection matches and in some cases exceeds the bandwidth available to an early 1990s hard disk drive (the comparison becomes even more insane at 50 or 100 Mbps).
How could we possibly stand it without rioting? The answer is simple: you can't miss what you've never had before. 2400bps was as fast as most of us had—most of us who weren't rich or actively distributing warez, anyway—so 2400bps was what we used. It was slow, but it was simply the way things were.
Term programs, World War IV, and the golden age
I acquired more BBS numbers from each board's public phone list, and I quickly found out that when calling into PC BBS systems, I needed something far more powerful than the default terminal program. There were many choices, but everyone I talked to recommended something called ProComm Plus, which massively improved on my default program by offering things like an extensible phone book and the ability to display ANSI "graphics"—colored text and extended characters that could be strung together to make rudimentary images.
However, the term program I used more than anything else was the venerable Telemate, by White River Software. Telemate had it all: it was a multi-threaded application and could actually do a lot of neat things simultaneously. It had a configurable "back buffer" so that you could go back and look at things that had scrolled off your screen (remember, this was MS-DOS—cut-and-paste and scrolling were both a big, big deal), a text edit window you could open and close, functional cutting and pasting, and a rich macro language that could be used to do things like automatically enter your username and password on certain BBSs. It also had a powerful, extensible dialing list—great for automatically finding that one BBS without a busy signal on a Sunday afternoon.
Just as there were different terminal programs for users, there also was a plethora of BBS host applications, too. Different areas of the country tended to have different BBS applications that dominated; here in the Houston area, most of the boards I ended up frequenting for many years used a program called TAG (properly styled "TAG!"), which shared many similarities with the vastly popular WWIV BBS application (which in turn had spawned other similar-looking BBS applications likeTelegard and Renegade).
Although TAG was by no means the only BBS application in general use around Houston, the majority of the BBSs I called into in the 1990s used it. When I think of furtively downloading a pirated version of DOOM, in my head I see the TAG download interface. When I think of those very first arguments I ever had about Macs versus PCs or who the superior captain of the Enterprise was, it's in the ANSI colors of the TAG message board composition window.
That was truly the prime draw of it all—all that talking and arguing with fellow geeks. Through the computer, we were all democratized—we transcended social stigmas and the crushing weight of the high school popularity pecking order. Our voices mattered—to each other anyway. On the whole, no one really cares about a bunch of geeks talking about geek things, but to us, the reality of owning a medium was profoundly empowering. No one was going to make fun of anyone for arguing over whether attack matrices were a superior system to THAC0. Your viewpoint might be mocked, but not the fact that you were having the conversation. Not as long as you were posting in the appropriate sub.
Each BBS was an island (relay mail between BBSs was a thing, but I rarely used it), and each board included its own cliques and pecking order. A sysop on one board might be a "co-sysop" on another (effectively an assistant system administrator with most of the sysop's powers—banning users, reading other users' private messages, and so on). Or he might not be—just because you had your own BBS didn't automatically give you any rights on someone else's board. Particularly trusted users might be made "subops" of particular discussion subboards, granted powers much like a forum moderator of today. To be a subop or a co-sysop was a mark of high status, and it was pretty common for folks to try to beg and wheedle their way into those roles merely to hold it over other users.
Long distance fees kept most BBS users confined to their local area codes; I stayed local for fear of invoking my parents' wrath (and, later, when I started paying for my own phone line, I was even less inclined to call a board outside my area code). You'd see the same nicknames pop up over and over again on different boards—it was common for a user you knew on one board to appear on another, too, since there were at most a hundred or so really popular local BBSs at any given time. In-jokes flourished in our semi-closed ecosystem, and things felt downright cozy.
Of course, there was a whole world outside of the 713 area code. Game manufacturers in particular had BBSs that glittered like jewels, just outside of my reach, promising hints and mysterious fixes—"patches," they called them. Once, after begging and begging, I was given permission by my parents to dial into Sierra's BBS so that I could download a patch to fix a game-breaking bug in Quest for Glory 4. Calling that faraway BBS felt a little bit like making a holy pilgrimage—after playing Sierra's games for so many years, I was going to actually talk to their computers! (The patch ended up fixing the issue but also made it impossible to reload any of my saved games. I never finishedQFG4.)
I learned things in this world, things that teenagers these days have to pick up from the infinite multitude of Web-based discussion boards and social media. Back then we didn't have to worry so much about our parents finding our smartphones and our snapchats and our Facebook posts, though, because barriers to entry were higher. Our world was cloaked not just in passwords, but in incantations and ASCII arcana. Even dialing into a BBS required a bit of understanding of how the term program you were using worked. Without some idea of what you wanted to accomplish, it would have been difficult to puzzle out how to do it.
Xmodem! Ymodem! Zmodem!
Even downloading files—something that today is done almost without thought by clicking links on a webpage—took some thought and know-how. You didn't just "download" something from a BBS, you had to actually tell your terminal program that the data it was about to receive was a file and not text to display. This meant configuring and using a download protocol. The three most common protocolswere Xmodem, Ymodem, and the sophisticated and widely used Zmodem; each of them let you download files, but Zmodem was far and away the easiest to use.
Poor old Xmodem didn't know anything about what you were downloading. You'd pick a file from the remote BBS to download, but then you had to hit the "download" key in your term program, select the Xmodem protocol, supply a file name to save the download as, and wait. The remote computer didn't transmit anything except data—no error correction, no size, no time remaining, nothing. Ymodem introduced a bit of error correction, but it wasn't much better.
Zmodem, on the other hand, was the protocol of kings. It was fast—it streamed rather than requiring an acknowledgment after each packet. It was smart, too—it even let you restart aborted downloads, which was a huge bonus when each megabyte downloaded represented almost 90 minutes of real time, and a large interrupted download could mean a whole day wasted.
Other more exotic protocols were around too if you wanted to download their binaries to set them up (and if the BBS you were calling supported them). Of particular note was Hilgraeve Software'sHyperProtocol, a streaming protocol which included a bit of compression. You might not ever have used it, but anyone who worked in IT has almost certainly used the terminal emulator Hilgraeve produced a few years later: HyperTerminal.
No comments:
Post a Comment