

 --
Item 20: To Ward & Randy: History of CBBS???
 by John J. Welch [jjw] at Sun, Nov  9, 1986 (18:35) {7 10}

 I'm kind of curious to find out some history from the people who made it
 happen in the first place, and here we have a real good opportunity to do so.
 Ward and Randy 'invented' the idea of CBBS, and spawned the whole gaggle of
 bbs's we enjoy today. Ward, Randy, what gave you the idea that this might work
 in the first place? Did you ever hope (or suspect) that it would catch on so
 wildly? Were you really visionaries with a date with destiny, or just a couple
 of (old usage of the word) hackers having fun?

10 responses total.


-> 1 Ward Christensen [ward] (3) on Tue Nov 11 22:29:00 1986
 Have you seen the Nov '78 BYTE article, that spelled out the beginnings.
 I have told it so many times I'm burned out - but I don't think I ever put
 it down, such as to where I could upload it here.

-> 2 Tim Allman [aztinc] (3) on Wed Nov 12 19:10:55 1986
 Might not be such a bad idea to tell it one more time - just to get the
 recordd straight and to provide an original story not filtered through a
 journalist.  

-> 3 John J. Welch [jjw] (4) on Wed Nov 12 19:34:25 1986
 I just thought it would be rather appropriate here, since both Ward and Randy
 are available to let people know. Also, I have this image of Ward having a
 hard time walking when it rains - he keeps walking *up* the
 raindrops...

-> 4 Ward Christensen [ward] (42) on Thu Nov 13 01:54:01 1986
 OK, here's the "brief" (read: 1:40 AM on a weekday night) version:
   Randy and I were both 'snowbound' on the 16th of January '78.  I had
 the CACHE (Chicago Area Computer Hobbyist's Exchange) "hotline" in my
 basement.  I was concerned that we weren't getting enough newsletter
 material for the club, and thought about the idea of putting a system
 on that line for people to call into, and MODEM in articles.  SO, I called
 Randy, and he replied:
   (1) "We'll do it at MY house since I'm in Chicago and it wouldn't be a toll
 call to most people;
   (2) "Just the two of us will do it, becuase if its a club project, it will
 take forever and/or never get done.  {Gross paraphrase}
   (3) "I'll do the hardware, you do the software.  When will it be ready?"
   So, I started doing the software hacking, and he the hardware hacking.
   Let me back up a bit to say "why" it happened: 
   (1) "hobbyist" modems had come of age - the Hayes internal S-100 modem
   (2) there was a standard hardware bus (S-100) from which you could build
 a reasonably economical "kludge" system - i.e. so-and-so's memory board,
 so-and-so's disk controller (Tarbell Single density, 241K/8" drive), 
 such-and-such a serial board (Processor Technology's 3P+S), drives (Innovex
 single sided 8"), video display ("       " VDM-1, 64 x 16), and a kludge
 keyboard going into the parallel port of the 3P+S.
   (3) there was a standard "software bus" - CP/M-80.
   ---
   So, I cranked out about 3 pages of MBASIC code that would "vaguely simulate"
 the CBBS system, i.e. accept your name, display a message, etc (all from
 faked-up msgs in memory).
   As Randy got the hardware together, I cranked out the 8080 assembler for
 the software.  Hardware/software wise, it eventually (to date) grew to a
 hard disk based S-100 box with 2400 baud modem, and about 20,000 lines of
 8080 assembler.
   That's really it in a nutshell - we don't think anyone else had come up
 with a system anything like it before - and certainly no one had the 
 longevity we did - (thanks, Randy).  We are now looking to have it 'survive'
 by being moved to a PC.  I have "just barely" gotten it runnin on a PC with
 a V-80 8080 emulator chip, but am not happy with the function, etc - the
 hassles of not really having the modem and console parallel I/O like I did
 for the CP/M machine.  Don't know what is best.  For example, can't drop out
 of CBBS into PC-DOS and run remotely - it just isn't there.  I need to perhaps
 hack up a character device driver which will parallel the modem with the
 local output, to make remote operation of it more practical.  
   Well, that wasn't as brief as I had expected, . . any questions?
 

-> 5 Art Clemons [ac] (5) on Thu Nov 13 10:06:48 1986
 You have a way of making years of labor, frustration, caller idiocy and expense
 so short and simple that anyone could have done it.  Show some more pride, you
 did something that no one else had done as cheaply or efficiently and inspired
 enough imitators to fill a small town phone book as well as at least 20 large
 for pay imitators like Compuserve etc.

-> 6 Ward Christensen [ward] (5) on Fri Nov 14 23:23:49 1986
 Right, "anyone could have done it".  I feel even more strongly that way about
 XMODEM - It was no big deal, I just happened to be first.  It wasn't great,
 or even very good - but it was first.
   Yes, the "user frustrations" were significant.
 

-> 7 Bill Wisner [bdw] (2) on Sun Nov 23 19:27:33 1986
 CompuServe came before CBBS.. as a business-type system. It didn't get into
 consumer territory until after CBBS came along.

-> 8 Randy Suess [randy] (2) on Mon Nov 24 09:18:59 1986
 Don't believe so.  I seem to recall Cser{_ve being discussed long
 after CBBS>

-> 9 Bill Wisner [bdw] (1) on Mon Nov 24 17:21:34 1986
 No; it was around.. but not nearly so big. And much more primitive.

-> 10 Art Clemons [ac] (3) on Mon Nov 24 23:20:30 1986
 You mean when I lived in Columbus OH, the employees of compserve lied to me!
 I'm shocked, I thought they only lied about how hard it was to steal a pass-
 word!

Respond or pass? 

Ok: r 32

 --
Item 32: History: Me, Micros, Randy, Xmodem, CBBS (LONG)
 by Ward Christensen [ward] at Sat, Mar 18, 1989 (00:38) {163 24}

 
 Overly-long item of my personal history, meeting Randy, the history of the
 XMODEM file transfer protocol, CBBS, and the reason you unscrew Oreo
 cookies.
 
 Graduated form College (1968) and went to work for IBM.  Asked "Where are
 the computers".  "We don't have any".  Hmmm.  Guess all the "iron" is out
 in the customers. 
 
 Early 70's: got interested in having my "own" machine to program.  Had
 "pinups" of 16-bitters on my walls.  TI had a 980-A, which was a 16K (32K
 bytes I think) 16-bit machine with - gee golly - two 300 baud cassettes and
 a thermal printer, and a control panel right out of the Enterprise.  $10K.
 
 Jan '74 went to couple hour class in NYC on "Large Scale Integration". 
 Teacher held up 8008.  Greedy Ward asked "Can you make a real computer out
 of one?".  "Yep".  "What do I need to know to understand it?"  "TTL". 
 "Huh?".
 
 Summer '74: bought TTL (Transistor-Transistor-Logic) books, old boards,
 started blowtorching chips off of boards, and hacking with them. 
 Subscribed to "Experimenters Computer Systems" a mimeo-ed typewriter sheet
 type of newsletter.  By Carl Helmers.  Later turned into BYTE subscription.
 
 Got plans for a cassette interface (to nothing special) from Don Tarbell.
 
 Began designing my own computer, and breadboarding pieces.  Hardware random
 number generators and all that stuff - home-brew D-A converters so I could
 put my random numbers on the oscilloscope - x vs y - if I got "snow", it
 was a good random number generator.  (Things were easier in those days!)
 
 (Why design my own?  Because I became convinced the 8008 wasn't powerful
 enough to be the basis for a serious computer).
 
 '74: wrote letter to HeathKit.  Told 'em they could start something big if
 they came out with a home computer kit - and I KNEW all the pieces were in
 place to make it happen.  Answer came back "we have a computer - the Analog
 computer".  They didn't catch on, didn't have a 'bit' (haha) of foresight.
 
 Finally was able to stop pretending I could actually design and get my own
 scratch-built computer working - fortunately, the Jan '75 issue of Pop.
 Electronics had the famous Altair 8080 on the cover, and I was hooked. 
 Hesitated, then found ONE other guy - an IBMer in NYC, who had ordered one,
 so did so also ("oh well, at least there will be two of us).
 
 Bought a 16K machine; hacked a selectric terminal/typewriter interface (hit
 a key, see what comes out the wire by looking at the oscilloscope; program
 the micro in hand-assembled machine language, toggled in via the front
 panel, to generate a signal - hack until the computer generated signal
 matches the one that came out of the selectric - then hook 'em together. 
 (A software UART for those of you who know what I mean - though I had no
 idea that was what I was doing).
 
 Hack a floppy disk interface together, too (I had found a strange but not
 too hard to interface "flying head floppy" in ComputerWorld).
 
 Met Randy prolly late '75 at Cache - I went to most meetings starting with
 the 2nd which was Sept '75.  He and I worked with Tarbell cassette
 exchanges for a while - built-in assembler, editor, etc.
 
 Saved stuff to cassette by a speaker and microphone on a 300 baud acoustic
 coupler.
 
 Met Rob't Swartz - now of Mark Williams company fame - he had CP/M in '76. 
 I bought a license in Jan '77 and took my diskette to his house.  He showed
 me the CP/M editor and assembler and I wrote a program to "beep" the
 contents of my floppy to cassette via a modem.  (the modem wouldn't
 generate the carrier without hearing another, and Bob happened to have a
 cassette of modem "stuff" around, so we played it into the modem to get it
 to generate the tone).  Used 128 byte blocks and a checksum - the bare
 essentials for XMODEM though I didn't think of it as a protocol at the
 time.
 
 Sometime around there Randy also got CP/M, but HE got the "real thing" -
 IBM format 8" diskettes.
 
 I needed a way to swap stuff with Randy and others - so on late summer '77
 wrote MODEM.ASM and tossed it into the CP/M users group.
 
 That program became the singly most modified program in computing history
 due to the many hardware environments in which it had to operate (no
 standards - no "IBM" to say where serial ports should be addressed, etc).
 
 Dave Jaffe wrote a routine "BYE" to allow remote users to call in to your
 CP/M system and operate it.  I put up a 70K/diskette Northstar system with
 BYE and my modem program.  Keith Peterson would call from Michigan and fill
 the diskette in one night or so.  I got tired of that and took it down. 
 Turns out that was - as others say - the first "remote CP/M system" since
 apparently Dave never put up a system for any length of time.
 
 Keith thought there should be an easier way to run MODEM than having to
 remember to use a "Q" option (Quiet - i.e. don't chatter about block
 numbers to the console) so he stripped MODEM down and called it XMODEM. 
 Since that was a more "recognizable" name, that stuck as the protocol name.
 
 Others hacked MODEM/XMODEM to add CRC, multi-file transfer, etc.  Chuck
 Forsberg wrote it in C, and for Unix -became RB and SB, YAM, etc.
 
 Chuck's 1K protocol as implemented in rb/sb needed a name, so I suggested
 he call it "Ymodem" which he did.  He later wrote Zmodem, a protocol to
 send continuous blocks with asynch ACKs to allow max transfer throughput.
 
 ================
 
 There was a group called PCNET mostly out of California who were doing a
 lot of talk on ARPANET about building a network of microcomputers.  They
 were great at planning - something I've always been terrible at - but they
 weren't putting any HARDWARE/SOFTWARE together.  I was frustrated by the
 lack of DOERS and lost interest.  
 
 January 16, 1978 was a very snowy day.  Couldn't get dug out, so called
 Randy.  I had the CACHE message recorder phone line in my house, and Hayes
 had "invented" the hobbyist modem.
 
 I called Randy and talked about putting up my Vector machine (a 2nd S-100
 box I'd bought to take around when asked to give talks on microcomputers)
 on the CACHE line as a way for people to call in with newsletter articles.
 
 Randy said "no" - "you're in the burbs, I'm in the city - we'll put it in
 my house - and forget the club, a committee project will never be done -
 just the two of us - you do the software I'll do the hardware.  When will
 the software be ready?"  heh heh.
 
 Without Randy's drive and ambition, it would never have seen the light of
 day.
 
 I prototyped a bit of a dialog in Basic, patterned after (1) the cork board
 bulletin board at CACHE meetings, and (2) the kind of BB you see at the
 Jewel - you know, garage for rent, dog grooming, etc.
 
 Began writing the real bulletin board program (Called CE.C by Randy -
 egotistically, the "Computer Elite's project C - Communications").  Randy
 put together the hardware.
 
 Very early in Feb, started testing.  No one believed it could be written in
 2 weeks of spare time so we called it "one month" and to this day declare
 Feb 16 as the birthday.
 
 ================
 
 The PCNET people became very interested in CBBS - and they wanted a copy so
 they could start talking about PCNET by using CBBS (heh heh).  Conversation
 with Dave Caulkins went like this:  "I guess I'll charge $25 for CBBS - to
 keep people from bugging me (if it were free), yet making it cheap enough
 for anyone to buy".  "No, that's crazy - charge at least $50".  OK, so $50
 it was.  I was concerned about "conflict of interest", so let Randy get all
 the money (what, 200 sales or so, Randy?)  He had after all put up all the
 money - all I'd put up was time.  (Uh, I seem to recall from the Nov '78
 BYTE article that I did buy a bit of the hardware also).
 
 That's about it.  XMODEM was born of the necessity of transferring files
 mostly between Randy and myself, at some means faster than mailing
 cassettes (if we'd lived less than the 30 miles apart we did, XMODEM might
 not have been born).  CBBS was born of the conditions "all the pieces are
 there, it is snowing like @#$%, lets hack".
 
 Hope you don't mind this long monologue. (I thought it was monolog, but
 my Word Finder Plus screen checker said monologue).
 
 ================
 
 Unscrew Oreo Cookies because  - well if you don't know then you haven't
 done it.

24 responses total.


-> 1 Meg Geddes [meg] (1) on Sat Mar 18 03:02:38 1989
 That was interesting!  Thanks for posting it.

-> 2 Michael P. Andrews [mikea] (2) on Sat Mar 18 10:20:02 1989
 Great!   Have you noticed that there's a lot of new interest in you two pioneers?
 We don't have a Mt. Rushmore in the midwest!

-> 3 Ward Christensen [ward] (11) on Sat Mar 18 11:47:11 1989
 Waitaminit.  There's nothing to it.  I keep being amazed that people 
 actually think there's something good or useful about xmodem!  It
 is scary.  It is as if you sneezed and threw off the aim of an assassin,
 and they made you a hero or something.  A typical weekend programming just 
 HAPPENS to be something apparently not done before, and suddenly fame. 
   People keep asking me if I don't regret marketing XMODEM.  Ya, like
 the guy marketing his sneeze.  Real bucks in that!
   CBBS on the other hand, WAS a significant effort by Randy and me - we
 really did set out to 'invent' something - planned, strategized, etc.
     Q: How can you tell if you set out to invent something?
     A: If you're driven to giving it a name!

-> 4 Richard Todd [rmtodd] (8) on Sat Mar 18 13:17:55 1989
 Very interesting.  I always liked reading this kind of article, on the
 history of computing.   
   And yes, Ward, there is something good and useful about XMODEM.  Like it
 or not, it's the closest thing to a universal protocol standard we've got
 (mostly by virtue of being the first to be freely distributed).  In lots
 of cases there are *better* protocols to use, but it's a rare case these
 days when you don't have XMODEM to fall back on when two systems don't have
 any other protocol to fall back on. 

-> 5 Marty Dippel [marty] (3) on Sat Mar 18 13:39:51 1989
 Thanks for the posting, Ward.  I know I've been bugging you and Randy for 
 days now asking about this, and this really satisfies my curiosity.  Plus,
 now that it's posted, you can refer all subsequent inquiries here!

-> 6 dawn [dawn] (1) on Sat Mar 18 18:45:30 1989
 We're proud of you, Ward...and of Randy, too.

-> 7 John C. Sucilla,Party God [jcs] (1) on Sat Mar 18 20:29:17 1989
 Yep, we are.

-> 8 David Tamkin [dwtamkin] (1) on Sun Mar 19 00:58:39 1989
 proud of you and grateful to you

-> 9 Ward Christensen [ward] (1) on Sun Mar 19 23:18:58 1989
 {blush}

-> 10 Mr. X [ward] (32) on Sun Mar 19 23:29:36 1989
 Well, I DO wish I'd thought of wrapping the carry around when I computed
 the checksum!
   For those of you who don't understand what I mean - the XMODEM
 checksum was done by simply "adding the bytes".  The sum, as a
 1-byte number, was then sent and the receiving program compared the one
 IT computed with the sent one.  Trouble is, 8-bits soon overflows when
 adding 8-bit values.  One day I found a file that was hosed, yet had
 come across with no errors.  What had happenes was that one 'high bit'
 (hex 80) got zapped, and TWO hex-40 bits - the sum of 80 + 40 + 40 is
 100 hex, but only 2 hex digits being stored in a byte meant the 1 was
 'tossed' or 'ignored'.
   (the solution to this problem was the addition of a full 16-bit CRC to
 the protocol, by John Mahr and others)
   Every now and then I get a kick out of reading "rewritten history".
 Often, technical descriptions are strange, also!
   My description of the XMODEM protocol briefly goes like this: 
   - send an 01 (SOH = Start of Header)
   - send a sector number (starts out 01)
   - send the ones complement of the sector # (FE hex for sector 1)
   - send 128 bytes of data
   - send the 8-bit checksum of the 128 data bytes
   What I found, was people saying that the checksum was computed on the
 ENTIRE block!  I was just blown away that someone could MAKE UP things
 as technically detailed as "how to compute the checksum".
   But GET THIS: it WORKED!  heh heh.  The sector # and sector number
 ones complement always add up to FF hex - by the definition of ones
 complement, and since an SOH is always a 1, the 3 header bytes always
 add up to 100 hex - i.e. being kept in an 8-bit byte, then "disappear"
 (i.e. are 00)  (grin).
   Others have said how to do it in basic, and they say thing like
 subtracting things, and so on - way off base.  Frustrating.
 

-> 11 Mr. X [ward] (1) on Sun Mar 19 23:32:22 1989
 Gee, I'm wasting space!  The CBBS history was already in item 20!  Sorry!

-> 12 Tor M. Kingdon [tkingdon] (4) on Sun Mar 26 21:49:03 1989
 Wow.  I'm new in this whole bbs thing, and I'm just overwhelmed that I am
 actually communicating with someone who could sneeze as well as Ward.  But
 I'm curious, I've unscrewed Oreo's before and I've never known why, could you
 help me out on this one?

-> 13 Mr. X [ward] (2) on Mon Mar 27 22:11:01 1989
 (drift) Why did my append #10 show up as new today, 8 days later?
   Why unscrew Oreos?  Why not put Ketchup on Hotdogs!  Tradition.

-> 14 Meg Geddes [meg] (3) on Mon Mar 27 23:48:52 1989
 Because you don't see your own response till someone responds to it.
 Try doing "help set meto" and "help set nometo", to set it the way you
 want.

-> 15 Randy Suess [randy] (3) on Tue Mar 28 08:05:09 1989
 Huh?  It is a federal law that hotdogs have to have ketchup on them.
 Local laws cover oreo twisting.  Lot more of that being done on
 North Broadway, however...

-> 16 John C. Sucilla,Party God [jcs] (2) on Tue Mar 28 08:58:20 1989
 Does the law say anything about cheese on hot dogs?  I like cheese,
 hate ketchup.  

-> 17 Michael P. Andrews [mikea] (6) on Tue Mar 28 10:00:29 1989
 See the Clint Eastwood/Dirty Harry movie "Sudden Impact":
 .... nobody, but nobody, puts KETCHUP on a hotdog!"
  
 At Be Be's on Milwaukee if you ask you ketchup on the hotdog they won't do it-
 they make you come up and put it on yourself "what you're doing is a sin!".
  

-> 18 Meg Geddes [meg] (1) on Tue Mar 28 17:17:24 1989
 wait, I'm confused, which conference is this again?

-> 19 Tor M. Kingdon [tkingdon] (2) on Tue Mar 28 18:52:40 1989
 I thought it was CBBS, for Catsup, Buns, But what about twisting the oreo 
 double Stuffed?

-> 20 Video Warrior [crazyted] (1) on Thu Mar 30 17:22:44 1989
  Nobody that's over six years old puts ketchup on hot dogs.

-> 21 Randy Suess [randy] (1) on Thu Mar 30 18:21:54 1989
 Ok, drift off.

-> 22 BBS man [phil] (3) on Wed Apr  5 23:01:39 1989
 I think that was an interresting history.  Heck, if there were no BBS's, 
 then we would be buying the ol' Radio Shack modem II (300 baud autodial
 $249.00) just cto call CompuServe and pay even more money.

-> 23 John C. Sucilla,Party God [jcs] (1) on Thu Apr  6 20:29:59 1989
 Would somebody please wake phil up?

-> 24 dawn [dawn] (1) on Thu Apr  6 21:39:48 1989
 Ha ha ha ha ha

Respond or pass? 

Ok: 