folklore.org
The Original Macintosh:    27 of 127 
Donkey
Author: Andy Hertzfeld
Date: August 1981
Characters: Bill Gates, Neil Konzen, Steve Jobs, Charles Simonyi
Topics: Microsoft
Summary: We discover who wrote an awkward game for the PC
the original IBM PC

The first version of the IBM PC was introduced in August 1981. Apple responded by running an ad in the Wall Street Journal with the headline "Welcome, IBM. Seriously." Even though he was usually tight with money, Steve Jobs allowed the Mac team to buy an early unit to dissect and evaluate. The day it became available, we ran to the store and purchased one to take back to the lab.



Needless to say, we were not very impressed with it. From the perspective of the Macintosh that we were already in the midst of bringing to life, it seemed like ancient history the day it came out. There was little, if any, Woz-like cleverness in the hardware design, using dozens of extraneous chips without having any cool features. The 8088 was a decent processor compared to the 6502, but it paled next to the 68000 we were using in the Mac.

But the most clunky part of the system was the software. MS-DOS seemed like a clone of an earlier system, CP/M, and even the demo programs lacked flair. It came with some games written in BASIC that were especially embarrassing.

The most embarrassing game was a lo-res graphics driving game called "Donkey". The player was supposed to be driving a car down a slowly scrolling, poorly rendered "road", and could hit the space bar to toggle the jerky motion. Every once in a while, a brown blob would fill the screen, which was supposed to be a donkey manifesting in the middle of the road. If you didn't hit the space bar in time, you would crash into the donkey and lose the game.

We thought the concept of the game was as bad the crude graphics that it used. Since the game was written in BASIC, you could list it out and see how it was written. We were surprised to see that the comments at the top of the game proudly proclaimed the authors: Bill Gates and Neil Konzen. Neil was a bright teenage hacker who I knew from his work on the Apple II (who would later become Microsoft's technical lead on the Mac project) but we were amazed that such a thoroughly bad game could be co-authored by Microsoft's co-founder, and that he would actually want to take credit for it in the comments.

First day with the Macintosh team
Back to The Original Macintosh
Joining the Mac Group

Login
Account Name:

Password:

Create new account
Rating
Overall Rating: 4.35
(good)

Your rating:

  1

  2

  3

  4

  5
13 Comments     
One of the things I remember about the PC and the Mac at this time was that someone (Chris Espinosa?) counted the chips on the video card of the PC and found out that it had far more chips than the entire Mac motherboard!
I am still amazed at the genious implementation of hardware design in low cost macs, even those later models. It amazes me to turn an old LC board or the Mac Classic postcard in my finger thinking "this is a full computer" :-) Like a nice saying by Antoine de Saint-Exupery , the creator of the famous(?) story about "The little prince": La perfection est atteinte non quand il ne reste rien à ajouter, mais quand il ne reste rien à enlever. (Perfection is not attaint when you can't add anything but when there is nothing more to remove)
I found another account of Donkey in a conversation between Bill Gates and Bixhorn... for those who might want a little more history about "Donkey.bas": ARI BIXHORN: Now, to help set the context for just how far Visual Basic has come and really how far the Basic language has come, I'd like to take a step back just a few years and look at an application that was written in Basic. This application, called Donkey.bas was actually written by none other than the gentleman standing to the left of me. Bill, how long ago was it that you wrote Donkey.bas? BILL GATES: Actually, it was myself and Neil Thompson at four in the morning with this prototype IBM PC sitting in this small room. IBM insisted that we had to have a lock on the door and we only had this closet that had a lock on it, so we had to do all our development in there and it was always over 100 degrees, but we wrote late at night a little application to show what the Basic built into the IBM PC could do. And so that was Donkey.bas. It was at the time very thrilling. So go ahead and show them what that looks like. ARI BIXHORN: Let's go ahead and take a look at Donkey.bas. This is back in the day where the Basic language still had line numbers. We still had great constructs like "gotos" and I think that the development environment speaks for itself. But to really see how cutting edge Donkey.bas was, let's go ahead and run it. (Laughter.) And as we can see, the goal of Donkey.bas is quite simply -- or not so simply to avoid the Donkeys. (Laughter.) Okay, well as we can see Donkey.bas is a minute to learn and a lifetime to master. (Laughter, applause.) The full interview is at http://www.microsoft.com/billgates/speeches/2001/06-19teched.asp
The description of the original IBM PC and commentary about it is correct, but it should be noted that this whole system was really a congruence of accidents, not a well-planned system. Intel's 8088/8086 chip was a stopgap solution, rushed to market in about 10 weeks, in order to get a 16-bit toehold in the market while their proper 16-bit chip was developed. Similarly, the IBM PC was developed in a year's time as a proof of concept (IBM typically took 5 years to bring a product from concept to market.) It was released as a stopgap to get a toehold in the market while the "real" personal computer was developed for later release. And finally, MS-DOS was an act of desperation by Microsoft. They promised IBM an OS when they had none. They bought QD-DOS from Seattle Computer Products, changed just enough to make it run on the IBM machine and shipped the results. It was just dumb luck (bad luck for the consumer, IMO) that this kluged-together system took off and became so popular that the real devices these were meant to be stopgaps for could never come to market. (The Intel chip that the 8088 was a stopgap for was the iAPX 432, originally to be named the 8800, was released, but it was a commercial failure. I don't think the intended successors to the PC or DOS ever materialized.)
Here it is! (A PC executable, running with QuickBasic.) http://drivey.com/DONKEYQB.EXE Courtesy http://drivey.com/ - a minimalist driving simulator.
>It amazes me to turn an old LC board or the Mac Classic postcard Look at the motherboard for the new Apple TV.. Basically a full computer, running a OS that is at least 10 times bigger and more complicated than System 1-9. And having the power "brick" on another itty bitty board, and video out in a single chip. How times change..
I recorded a quick video of this horrible game a few years ago, you can view it here: http://www.youtube.com/watch?v=6fsizWFVpFY#t=6m51s
In short the IBM hardware and that MS-Dos software were a perfect match that would set te mark on everything that followed in its path: Unvisionary Compartmentalized Brute Force design methodology.
"The 8088 was a decent processor compared to the 6502, but it paled next to the 68000 we were using in the Mac." PC came out in 1981, first Mac came out in 1984.
Floyd, I think Andy probably meant the 68000 they were using in 1981 during the development of the Mac. The project didn't start in 1984 (as you might be able to tell by reading the articles on this site), it took years to develop.
@Phoebus66: > In short the IBM hardware and that MS-Dos software were a > perfect match that would set te mark on everything that followed > in its path: Unvisionary Compartmentalized Brute Force design > methodology. The PC is the exact opposite of compartmentalized. The Project Chess team was deliberately organized to be completely open internally, but completely separated from the usual IBM vertical integration. And that's why they designed an open-architecture computer with off-the-shelf parts. And that's why it succeeded. For the rest, sure; as Don Estridge himself put it, "Many… said that there was nothing technologically new in this machine. That was the best news we could have had; we actually had done what we had set out to do." IBM's own marketing acknowledged that it was less powerful than or more expensive than most of its established competitors, but it was "The IBM of personal computers", with all that entails. @David Charlap: > … the IBM PC was developed in a year's time as a proof of > concept (IBM typically took 5 years to bring a product from > concept to market.) It was released as a stopgap to get a > toehold in the market while the "real" personal computer was > developed for later release. The PC was not intended as a stopgap to get a toehold in the market. IBM had decided that it was too late to get into the PC market, and it probably wasn't worth it anyway, until Bill Lowe convinced John Opel to give him a chance. It wasn't a proof of concept; Lowe claimed that they really could get to market in a year—and they actually did so. There was no "real" PC planned to be released later; it was Project Chess or nothing. And the PC ended up being pretty much what Lowe envisioned from the start (well, from the point where they rejected his idea of buying Atari and selling a slightly spiffed-up Atari 800 as an IBM). > And finally, MS-DOS was an act of desperation by Microsoft. > They promised IBM an OS when they had none. They bought > QD-DOS from Seattle Computer Products, changed just enough > to make it run on the IBM machine and shipped the results. Buying 86-DOS (not QD-DOS; that's an entirely different thing—you may be thinking QDOS, the original name for 86-DOS?) wasn't an act of desperation, it was the plan from the start. Bill Gates told IBM about 86-DOS in their contract meeting, suggesting that he could license and port it as a stripped-down CP/M clone that IBM could sell for a lot less than CP/M. And that's exactly what he did. And it wasn't a stopgap for a "real" OS that Microsoft had planned but couldn't get done in time. The real OS already existed—CP/M-86—and it was an option from the day the PC was released, and it had nothing to do with Microsoft.
Guess what they just showed onstage at the Microsoft Build 2019 conference? https://twitter.com/umbshow/status/1125447596258910208
One reason the PC board was very ugly had to do with industry standards at the time. The industry had somehow settled on 40 pins max for a chip. Pins are metal wires which stick out from the chip, and connect the silicon to the rest of the board. The 8088 adhered to this standard. This created an issue, because when you add 20 pins for address and 8 pins for data and then various other control pins, you quickly get more than 40 pins. The Intel engineers solved this problem by "overlapping" 8 data pins with the 20 address pins. This was clever, but immediately caused board designers to include complicated glue chips to handle this dual pin use. The processor would send the 20 bit address on the 20 pins. The board designer would then have to "capture" this address externally, because the address would then disappear as the pins switched to either receiving or sending data. The 68000 solved this a different way. They realized the 40 pin limit would eventually have to be broken because Moore's law would require it, as processors got wider. This is why they chose to use 64 pins for the 68000. It added to the cost of board design, but because you needed far fewer glue chips it probably saved money overall. Today it is funny to think about this, as chips have 100's and 100's of "pins". Since most chips are surface mounted now, they actually have pads and not pins. Here is the pinout for the 8088: https://www.cpu-world.com/info/Pinouts/8088.html Here is the pinout for the 68000: https://www.cpu-world.com/info/Pinouts/68000.html Notice the 68000 has 24 pins for address and 16 separate pins for data. While the 8088 has 20 pins for address where the first 8 can also be used for data (ad0 - ad7)