425 lines
21 KiB
Plaintext
425 lines
21 KiB
Plaintext
|
|
|
|
--
|
|
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: |