-- 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: