[ VC&G Anthology ] Origins of the ASCII Smiley Character: An Email Exchange With Dr. David Bradley (2011)November 6th, 2015 by Benj Edwards
10 DAYS OF VINTAGE: Day 5
The famous IBM PC 5150 turned 30 in 2011, and I spent quite some time preparing for that important anniversary. During my brainstorming process, I thought it would be fun to celebrate the 30th anniversary of another famous cultural icon — the "smiley" ASCII character, which originated with that seminal IBM machine.
To me, the the smiley character (seen above in its original and inverse forms) is best known as the protagonist of pseudo-graphical text-based games like ZZT.
To find out the origins of this whimsical denizen of Code Page 437, I sent an email to Dr. David J. Bradley, one of the creators of the IBM PC, whom I had corresponded with before. In fact, Dr. Bradley is best known as the inventor of "CTRL-ALT-DELETE" keyboard combination that once reset almost every IBM PC-compatible computer.
I never did get around to writing that Smiley celebration as I planned, but I just ran across my conversation with Dr. Bradley recently, and I still find it interesting. With Dr. Bradley's permission, I am reproducing a transcript of our email conversation below, which I hope will aid future IBM Smiley researchers in their quest for information.
You may remember talking to me some years back about the IBM keyboard layout, which I heartily appreciate.
Do you know the origin of the IBM extended ASCII smiley face character? Who though of it, who designed it, and what was its intended purpose? Did IBM forsee it being used for games?
If you look at the first 32 characters in the IBM PC character set you'll see lots of whimsical characters — smiley face, musical notes, playing card suits and others. These were intended for character based games — see "Snipes" if you can still find a copy.
The IBM PC used the ASCII character set, a radical change for an IBM product. Everything before that had used the EBCDIC (Extended Binary Coded Decimal Interchange Code — pronounced eb-see-dik). ASCII was defined for a 7-bit character. Since we were using 8-bit characters we had 128 new spots to fill. We put serious characters there — three columns of foreign characters, based on our Datamaster experience. Three columns of block graphic characters — remember that the original PC had very limited graphics and many customers with Monochrome Display Adapter would have no graphics at all. The remaining two columns had math symbols, greek letters (for math) and others.
Now, what to do about the first 32 characters (x00-x1F)? ASCII defines them as control codes, carriage return, line feed, tab… These characters originated with teletype transmission. But we could display them on the character based screens. So we added a set of "not serious" characters. They were intended as display only characters, not for transmission or storage. Their most probable use would be in character based games.
Interestingly, the characters bled into serious applications. EasyWriter was the word processing program announced in Aug 1981 for the PC. When you hit the enter key to move to a new line, the character portrayed on the screen was a musical note — which matched the ASCII control code for CR. That was the internal representation of the new line in EasyWriter and that's what they displayed.
As in most things for the IBM PC, the one year development schedule left little time for contemplation and revision. I like to say that the character set was developed in a three person 4-hour meeting, and I was one of those on that plane from Seattle to Atlanta. There was some minor revision after that meeting, but there were many other things to design/fix/decide so that was about it.
I wrote him back:
Regarding the smiley face character, do you recall a specific reason for including it? Did you foresee it being used as a protagonist or controllable character in a game, or was it just a whimsical symbol you thought would be nice to add?
Also, do you remember the names of the three people in that meeting that designed the IBM PC character set?
Thanks so much for your time and your help. I thought it might be fun to do a semi-serious "biography of the IBM smiley."
You have put more thought and symbolism into the smiley face character than we did. Everything was done pretty rapidly. And remember, this was 1981 — the smiley face came into popular culture in the 70s, as I recall.
The 3 people, 4 hour meeting is more of a joke than the absolute reality. There were many others involved, both before and after, but the joke version does give an indication of the rapidity in which many significant decisions were undertaken.
A one year development time really means that the designers have 4-6 months to have 99% completion. The remaining time is testing and setting up the manufacturing process. For me personally, the ROM BIOS went into production in March, with an April release of some fixes. This was for a design that began in September. And then I started playing Adventure as a beta tester (or at least that's what I claimed) while working with the people writing the publications, particularly the Technical Reference Manual.
For the record, the other participants in that plane trip were Andy Saenz — responsible for the video card, and Lew Eggebrecht — the chief engineer for the PC.
Any biography you write of the IBM smiley would have to be "non serious".
So there you have it: IBM did include the smiley character with the knowledge that it could be used for text-mode PC games. And they put it in there — corresponding to normally invisible control codes — because they had extra display space to spare when all the "serious" characters had been placed and accounted-for.
Thanks again to Dr. Bradley for taking the time to shed some light onto the smiley character's origins.