Revolution in the Valley: The Insanely Great Story of How the Mac Was Made (3 page)

Read Revolution in the Valley: The Insanely Great Story of How the Mac Was Made Online

Authors: Andy Hertzfeld

Tags: #Business & Economics, #General, #Industries, #Computers & Information Technology, #Workplace Culture, #Research & Development, #Computers, #Operating Systems, #Macintosh, #Hardware

Burell and I liked to have lunch at Cicero's Pizza, which was an old Cupertino restaurant that was just across the street. They had a Defender video game, which we'd play while waiting for our order. We'd also go to Cicero's around 4pm almost every day for another round of Defender playing; Burrell was getting so good he would play for the entire time on a single quarter (see
make a mess, clean it up!
).

In May of 1981, Steve complained that our offices didn't seem lively enough, and gave me permission to buy a portable stereo system for the office at Apple's expense. Burrell and I ran out and bought a silver, cassette-based boom box right away, before he could change his mind. After that we usually played cassette tapes at night or on the weekends when there was nobody around that it would bother.

By early 1982, the Mac team was overflowing Texaco Towers and it was obvious that we'd have to move to larger quarters soon. Steve decided to move the team back to the main Apple campus, into Bandley 4, which had enough space for more than 50 people. The 68000 based Macintosh was born in the Good Earth building, but I still think of Texaco Towers as the place where it came of age, transitioning from a promising research project into a real, world-changing commercial product.

Reality Distortion Field

by Andy Hertzfeld in February 1981

I officially started on the Mac project on a Thursday afternoon, and Bud Tribble, my new manager and the only other software person on the project, was out of town. Bud was on leave of absence from an M.D.-Ph.D. program and he had to occasionally return to Seattle to keep up his standing in the program.

Bud usually didn't come into work until after lunch, so I met with him for the first time the following Monday afternoon. We started talking about all the work that had to be done, which was pretty overwhelming. He showed me the official schedule for developing the software that had us shipping in about ten months, in early January 1982.

"Bud, that's crazy!", I told him. "We've hardly even started yet. There's no way we can get it done by then."

"I know," he responded, in a low voice, almost a whisper.

"You know? If you know the schedule is off-base, why don't you correct it?"

"Well, it's Steve. Steve insists that we're shipping in early 1982, and won't accept answers to the contrary. The best way to describe the situation is a term from Star Trek. Steve has a reality distortion field."

"A what?"

"A reality distortion field. In his presence, reality is malleable. He can convince anyone of practically anything. It wears off when he's not around, but it makes it hard to have realistic schedules. And there's a couple of other things you should know about working with Steve."

"What else?"

"Well, just because he tells you that something is awful or great, it doesn't necessarily mean he'll feel that way tomorrow. You have to low-pass filter his input. And then, he's really funny about ideas. If you tell him a new idea, he'll usually tell you that he thinks it's stupid. But then, if he actually likes it, exactly one week later, he'll come back to you and propose your idea to you, as if he thought of it."

I thought Bud was surely exaggerating, until I observed Steve in action over the next few weeks. The reality distortion field was a confounding melange of a charismatic rhetorical style, an indomitable will, and an eagerness to bend any fact to fit the purpose at hand. If one line of argument failed to persuade, he would deftly switch to another. Sometimes, he would throw you off balance by suddenly adopting your position as his own, without acknowledging that he ever thought differently.

Amazingly, the reality distortion field seemed to be effective even if you were acutely aware of it, although the effects would fade after Steve departed. We would often discuss potential techniques for grounding it (see
are you gonna do it?
), but after a while most of us gave up, accepting it as a force of nature.

Nybbles

by Andy Hertzfeld in February 1981

An Apple II Disk Drive

My very first job on the Mac project was to help Burrell Smith and Brian Howard verify that the disk controller was working properly. They had just wired up a Woz-style disk controller to the Macintosh prototype, but they had no way to test if it was working properly without writing a fairly complicated program.

When I arrived on the scene, they were trying to debug a small 68000 routine that they had written together. They had written a simple loop to access the disk controller and were watching it execute with a logic analyzer. But neither of them were much of a programmer, so I was able to help right away, even though I had never programmed the 68000 before.

The Apple II disk controller, designed six months after the Apple II itself was complete, was Steve Wozniak's crowning achievement. His five chip disk controller card out-performed competitive controllers that were four times as expensive by shifting most of the responsibilities from hardware to software. In Woz's approach, the software was responsible for doing all of the encoding and decoding, head stepping, etc. This allowed Woz to improve the capacity and performance over standard techniques.

In those days, most floppy disks used a recording technique called FM encoding, where one clock bit would precede each data bit to improve reliability. But that was overkill, it was possible to get more data on a disk if you used some of the clocks for data. So Woz used a technique called "group encoding" (although Woz called it "nybblizing") to get five bits out of every eight transitions instead of four. He later figured out how to use six bits out of eight (the "16 sector" format vs. the earlier "13 sector" - non-Wozian drives used 10 sectors) improving the density further.

The software stored eight transitions at a time into the disk controller's shift register. Since each transition was 4 microseconds long, each "nybble" of data had to be provided every 32 microseconds. Eventually, Woz figured out how to decode the data on the fly, in between fetching nybbles, so he could achieve the ultimate in performance, one to one interleave. But he never could figure out how to encode on the fly, since the Apple II's microprocessor just wasn't fast enough, and the timing had to be more precise for writing.

But the Macintosh's microprocessor was at least four times faster than the Apple II, more like 10 times if you were manipulating 32 bit values, so writing one-to-one interleave disk routines was simple on the Macintosh. It was fun for me to achieve the holy grail of disk performance without breaking into a sweat. But first there was a big problem to solve.

Woz's disk technology required that the software feed it new data every 32 microseconds exactly. If we were even a single microsecond early or late, it would cause a glitch in the data and ruin it. In order to write the routines, I needed to know how fast the Macintosh executed each instruction. The manual gave the number of clocks for each instruction, but I wasn't sure how long it took to fetch from memory. So of course, I asked Burrell what the timings were, but I was surprised at his response.

"I don't know. The Mac is synchronous, just like the Apple II, so each instruction has the same timing, every time you execute it, so you will be able to write disk routines that have exact timing. I don't know what it is, so we'll just measure it. Why don't you write your routine and we'll measure it with the logic analyzer."

So I spent a couple of days writing the basic routines, and then sat down with Burrell and Brian in front of the logic analyzer and we watched each instruction execute, writing down how long each instruction took. They usually worked like we expected, but occasionally some things were surprising and I had to adjust the code. After a few fixes, I had the raw disk routines both reading and writing, doing the encoding and the decoding on the fly, achieving Woz's long sought after one-to-one interleave.

I expected to feel elated when I finally got the disk reading and writing, but it didn't feel that satisfying, because you couldn't really see it in action. The previous year, soon after Woz wrote his one-to-one interleave read routines, I made some fast slideshow disks for the Apple II, where the screen was filled with a new image in less than a second, twice as fast as previously possible. I thought it would be fun to use the new disk routines to read the slideshow disks on the Mac.

By this time, it was around 7pm and everyone else was going out to dinner. I was invited to come, but I was so close to getting the slideshow working, that I didn't think that I could concentrate on eating until I got it done. I was alone in the office when I finally got it working, the embryonic Mac reading and displaying images from an Apple II disc as fast as possible. It was far and away the coolest thing a Mac could do so far. It was fun to show it to everyone when they came back from dinner.

Black Wednesday

by Andy Hertzfeld in February 1981

I could tell there was something wrong from the moment I stepped into the building, on the morning of Wednesday, February 25th, 1981. Instead of the normal office buzz, there was a muted sadness hanging in the air. People were standing around, huddled in small groups. I ran into Donn Denman, who had a cubicle near mine, and asked him what was going on.

"Didn't you hear? Scotty fired almost half of the Apple II engineering team this morning. He started calling people into his office since around 9am, one at a time, and telling them that they were being fired. I think over thirty people have been fired so far. No one knows why, or who's going to be next. There's going to be a meeting out back around noon when he's supposed to tell us what's going on."

Apple had just gone public a couple of months ago, and it was still growing at a frenzied pace. Sales were booming and there was no financial reason to pare back. I wondered what was going on.

"Do you know who they fired?", I asked Donn.

"Yeah, it's amazing. Scotty fired three out of the four managers, so almost everyone's boss is gone. And believe it or not, they fired Rick Aurrichio."

I thought that the managers were more or less incompetent, so that didn't bother me, but the Rick Aurrichio part was shocking, since Rick was clearly one of the most talented programmers in the Apple II division. He would usually do a week's worth of work in a day or two, and then spend the rest of the week messing around with whatever caught his fancy, usually one of the latest games. I understood how he could be a management challenge, but it made no sense to fire him. He was my partner on the new DOS 4.0 project, which was just getting underway, and the only other programmer besides me that was working on it, so it was especially distressing that they would fire him so abruptly.

So I joined the ranks of the shell-shocked, and listened numbly to the basement meeting where Scotty explained his rationale. He said that the company had grown much too fast over the last year or so, and had made a few key bad hires, who themselves had hired even worse people. He thought the Apple II division had become too complacent, and that we had lost the start-up hustle that was the basis of our success. He wanted to shake us out of our complacency and prune out the bad hires, so we could start growing again in the right direction.

Scotty himself seemed a little shaken and unsure. Some of the other senior executives were standing off to the side, but they didn't participate in the meeting. There was a Q&A session at the end of the meeting where a couple employees told Scotty how horribly he handled the situation, but in general everyone seemed listless, as if we didn't know how we should react. Within a few days, everyone was referring to the incident as "Black Wednesday".

Later in the day, I talked to Dick Huston about what had happened. Dick was an early Apple programmer who had written the boot ROM for the disk controller card, who was an astute observer of Apple politics and was friendly with Scotty. He told me that he knew that the purge was going to happen and had even met with Scotty a couple of times in the last week to help him draw up the list of dead weight. He also told me that Scotty had asked for the approval of Mike Markkula and the board of directors, and hadn't received it yet, but decided to go and do it anyway.

Other books

Falling For The Boss by C.M. Steele
StoneDust by Justin Scott
As Luck Would Have It by Goldstein, Mark
Broken Quill [2] by Joe Ducie
True by Michael Cordy
Predator's Serenade by Rosanna Leo