This is the second of a two-part interview BYTE Magazine conducted with Steve Wozniak in 1984. The article is reprinted courtesy of Byte.com:
Conducted by Gregg Williams and Rob Moore
An Interview with Steve Wozniak
Gregg Williams is a senior technical editor at BYTE. Rob Moore is a hardware designer and frequent contributor to BYTE. They can be contacted at POB 372, Hancock, NH 03449.
Last month. Steve talked about his background, the evolution of the Apple I and II, and the early days of the company. In this part, the conversation switches to various aspects of the Apple II design, later personal history, and Steve’s thoughts about the personal computing industry.
Contents
Sweet-16 The Disk drive The IWM Personal Details Current Work Speculations Apple vs. IBM The Apple II and The Apple III
Sweet-16
BYTE: One of the more interesting things in the Apple II ROM was your 16-bit pseudomachine called “Sweet-16.” How did you come up with that?
WOZNIAK: While I was writing my BASIC. I had been thinking about ways to save code. There were several places where I had to handle 16-bit pointers with an 8-bit processor. and that was pretty awkward.
So I decided to write a little emulator and implement a 16-bit machine that could interpret pseudocodes and implement registers 0 to 15 in the 6502 base page. It ran about 30 times as slow as 6502 assembly language, but it saved tons of code every time I used it in a program.
BYTE: Did you actually use it in your Integer BASIC?
WOZNIAK: No, I never had the time to reimplement the BASIC to use it. But I did use it in later years to write things like BASIC renumbering routines totally in Sweet-16. It was easy to mix Sweet-16 code with assembly language.
BYTE: Isn’t Sweet-16 still used in Apple DOS and ProDOS editor/assemblers?
WOZNIAK: Yes, it’s used in EDASM , mostly in the editor portion. Randy Wigginton wrote EDASM. He’s worked here since before we even had a company. Lately he’s written the Macintosh word processor – MacWrite. He’s done a lot for the company. and he’s used Sweet-16 in several things he’s done.
The Disk Drive
BYTE: Can you tell us a little about how you came up with the Apple II disk drive and how you ended up picking your form of group-coded recording?
WOZNIAK: The disk design was my most incredible experience at Apple and the finest job I did. I never really knew what a disk controller was or what it had to do. But at Hewlett-Packard I had looked through a Shugart manual to see what signals were used and what they did. There were signals to make the head step in and out and signals to cause magnetic flux changes. It was similar to audio recording, and I knew about that. It was like a signal on a tape where you write it and then you read it back. So I figured out a simple little circuit to write signals at changing rates and read them back. I didn’t know how disk controllers worked, so I assumed that I was doing something totally different. Maybe it wasn’t as efficient, but at least I cou1d write some data and read it back.
Well, Mike Markkula was annoyed because the cassette tape was too slow. He had a favorite checkbook program, and it took two minutes to read in the program and another two minutes to read in his check files. He was complaining about this at a staff meeting, and I mentioned that I had this clever little five-chip circuit that could read and write a floppy disk. At the time, all the existing floppy-disk controllers were 40 or 50 chips, so I knew there must be something important that I wasn’t doing.
I went off and tried to figure out what it was that I wasn’t doing. One of our technicians had a North Star system, so I looked through their manuals. I read their schematics and figured out what every chip did. And I looked through their listings until I understood exactly what they were doing.
I was doing a lot more. I didn’t even have to look at the sector holes, so I could use any disk drive, any floppy disk in the world. It was then that I new I had a really clever design.
The next week was Christmas vacation. Randy Wigginton and I spent the entire week, including the holidays, trying to get this disk reading and writing with a very simple operating system. We did the bottom levels of an operating system in that week. You could type R (for “read”) followed by a program name like STARTREK, and it would load STARTREK into memory.
We were highly motivated because, at the end of the week, a show called the CES was starting in Las Vegas, and we wanted to go.
We worked all night the day before we had to show it at CES. At about six in the morning it was ready to demonstrate. Randy thought we ought to back it up, so we copied the disk, track by track. When we were all done, he looked down at them in his hands and said, “Oh, no! I wrote on the wrong one!” We managed to recover it and actually demonstrated it at CES.
BYTE: Had you been exposed to group-code recording before or did you invent yours independently?
WOZNIAK: The first version of the floppy-disk routines did not have group coding, I had followed the Shugart manual, which showed that you had alternate to clock bits and data bits, so every other bit was wasted. I couldn’t understand why it was necessary, but I started that way.
Then I came up with this idea to use coded recording. I knew the technical rule was that you could only have one or two zeros in a row. You could have either 4 or 8 microseconds between flux transitions. I didn’t really know what group-coded recording was; I just knew that I could fit 13 sectors on a disk instead of 10. I had to write a program to take bytes off the disk, convert them to 5-bit chunks, and reassemble them into 8-bit data bytes.
It was a difficult routine to write. It was about a 20-hour job, and I’d work through the day for 10 or 12 hours and I wouldn’t quite get there. The next day I’d come back and find out that I was starting exactly where I had the day before. This went on for almost a month. I was not quite getting the routines, and we were getting within a month of shipping the disk drives. Finally I stayed up all night until I got all five routines that had to work together done. So we were able to ship it the first time with the group coded recording in place. Later. we changed the encoding method and stepped up to 16 sectors. That was DOS 3.3.
The IWM
BYTE: The Macintosh uses a custom chip called the IWM – Integrated Woz Machine – that does the same sort of recording. Can you tell us anything about that?
WOZNIAK: My design was basically a little sequencer, or state machine. It used a PROM and a latch and cycled through various states depending on the input data coming off the floppy disk. The IWM takes that design and adds other features like the ability to go twice as fast – it can also do IBM format, double-density recordings.
BYTE: It sounds like a fascinating part. Do you think well see Apple II owners benefit from it in any way?
WOZNIAK: Well, it’s our standard disk controller now, and it’s cheaper than the older design. It’s used in the Apple IIc.
BYTE: Could you use it to get higher-density recording on an Apple II 5/4-inch disk?
WOZNIAK: No, because the disk drives themselves aren’t certified for double-density recording. You need heads with the proper gap, and they’re more expensive.
BYTE: You’re a former hobbyist. Could a hobbyist guy one of these chips and a spec sheet and start playing with it?
WOZNIAK: I don’t think Apple would give out the spec sheet. I totally disagree with that policy because I’m very respectful to the hobbyists. They’re a tiny part of our market, but they’re loyal supporters and faithful people to the company. If they had a spec sheet, they could start playing with it and figure out a lot more incredible things that we never planned it to be used for-even using it as a communications channel from Apple to Apple, Macintosh to Macintosh. There are a lot of great tricks you could do with that little part. It’s a beautiful random I/O device that has too many things that have not been taken anywhere.
Personal Details
BYTE: In 1981 you were in a plane crash and you left Apple for a while shortly after that. How long did it take you to recover from the accident?
WOZNIAK: That was in February 1981. For about five weeks I had a type of amnesia that prevents you from forming any new long-term memories. After I recovered, people would show me pictures of myself in the hospital, playing games with my computer with my face all battered up. They would tell me stories of how I tried to sneak out of the hospital to visit my wife, Candy, or how I went to parties and rode my motorcycle. I didn’t remember any of that. I had all of my old memories, but I’d forget new things from one day to the next. Finally, I came out of it one night, but I never got those memories back.
BYTE: Why did you leave Apple?
WOZNIAK: We had a hundred engineers at that point, and I was no longer really important to the company. I didn’t want to be a manager: I was just an engineer, and I wasn’t really needed there. But I didn’t feel comfortable going to Steve Jobs or Mike Markkula and saying I wanted to take off. The plane crash was a good excuse. After five weeks of amnesia, I simply didn’t go back. I decided that if I was going to take a year off I might as well finish college. It was the hardest year of my life.
BYTE: We ve heard that you went to UC-Berkeley and had some run-ins with your instructors. Could you tell us about that?
WOZNIAK: I was going under an assumed name – Rocky Clark – so they didn’t know who I was. I took computer science courses, economics, statistics, and a few other courses.
My computer science courses were interesting, but I have to criticize them a little because they taught only specific problems with specific solutions. You spent your time memorizing standard problems and solutions and then tried to recognize variations of them in the tests. You weren’t supposed to explore new avenues or try things that nobody else was doing. You were only supposed to learn the proper answer. They thought that you could be trained to know all the problems and the standard solutions. Once you learned them all, you could solve them. It was wrong because they weren’t really teaching you to solve problems – they taught you to identify them.
My economics course was interesting also. We had a socialist TA who taught us that companies made money by cheating the consumer. All the kids in the class thought that companies would make a lot of profit if they could figure out a way to cut the costs of a product down, to make it cheap and screw the consumer.
I contrast that with the way we did things at Apple. Every product design decision was based on what consumers wanted, what would compete the best, what they would buy. We tried to do what customers wanted, in our best judgment, and give them high-quality products.
So I would stand up in class and argue about what the TA was saying. After a while he started telling me to shut up. or that he would kick me out if I interrupted him again. Apple was the greatest business success in history, but I couldn’t tell him who I was.
BYTE: So you came back to Apple after about a year. What would you say is the most important thing that you ve worked on since you came back?
WOZNIAK: There isn’t too much. When I came back I started getting a little bit involved with this division’s management, but it was unofficial. OfficialIy I took the title of Engineer. Mostly, I’ve stayed involved with the Apple II because that’s where I’ve got the most to offer.
Because I’m a founder at Apple, I could take almost any role I want, but I’ve tried to avoid the newest, most far-reaching projects because there are other capable people to do them. I try to stick to small projects where I can sit down and handle them myself.
Current Work
BYTE: Do you have anything interesting going on now?
WOZNIAK: There are not many individual projects in this whole business. The floppy disk may have been the last one for Apple. I have got a few projects that I’m working on now, but they’re not all going at once.
The language Fifth is one of them, but I haven’t written it yet. I’d like to combine the best features of BASIC. FORTH, and Pascal, and leave out the worst ones. You could have the formal structures of Pascal, the immediateness of BASIC, and the extensibility of FORTH. In FORTH or Logo, new words become part of the language. and you can use them immediately. It’s really helpful for debugging. In Macintosh Pascal, you can define a procedure and run it immediately. I also want some level of globalness, like BASIC. I don’t want to always have to declare a variable before I can use it. I like variables with scope. but I’d like undeclared variables to be totally global.
Another project is an operating system, like the one on the Macintosh, only a bit different and a lot more relational.
I also have a hardware project that I’d like to do, a personal computer based around consumer video sources like TVs, videotapes. and videodiscs. It would switch them around. synchronize them, and mix them, sort of like a little home editing studio. I think it’s possible because memories are getting so cheap. You could hold a frame from each of your video sources in memory and let the software accommodate the sync variations. There are a lot of new chips available that do NTSC modulation and demodulation, so there ought to be a minimal chip solution.
My main interest is still the Apple II – the home computer we started with. I’d like to see Apple do more with speech. There are some really inexpensive speech chips now, and that’s the way the rest of the personal computer world is heading. I think we’ve been deficient in that area.
Speculations
BYTE: Are you thinking about using the new 65816 processor for anything?
WOZNIAK: We’re thinking about it and doing some R&D with it, but I don’t know if we’ll use it. Anything we do has to be compatible with the Apple II. If we found out that the 65816 wasn’t, it would be a serious question. It’s too new a part right now.
BYTE: How is its performance compared to the 68000?
WOZNIAK: It should be available soon in an 8-MHz version that will beat the pants off a 68000 in most applications, and in graphics applications it comes pretty close. Some of the Macintosh people might disagree with me, but there are ways around most of the problems they see. An 8-MHz 65816 is about equivalent to a 16-MHz 68000 in speed, and a 16-MHz 68000 doesn’t exist.
BYTE: The Apple II family has been a great success. and many innovations have come along to extend its life. What things do you think were responsib1e for its success?
WOZNIAK: For three years we were one of the biggest business successes in history. We had three years of fantastic business success. and lately we’ve had three years of sort of dismal business. We’ve grown, but any additional revenues have just replaced the stock dilution, and the price remains about the same.
During that three years there were two main factors that led to our success – our floppy disk and VisiCalc. Out of the original home computers, which included the TRS-80 and the Commodore PET, ours was the only one that had enough memory to run VisiCalc. VisiCalc and the floppy disk sent this company into the number-one position.
We were also very faithful to our users – we tried to support everybody. When we changed over to floppy disks, we still supported cassettes heavily. When we moved up to the Apple II+ with floating-point BASIC built in, we still supported the original Apple II.
Lately our strategies seem to be changing. When we come up with a new enhancement, we start moving away from the prior version much more quickly. This could be harmful to our good relationships with a lot of our faithful users.
The Apple IIe is a good example. Most new software that really uses the features of the Apple IIe won’t run properly on an Apple II or II+. A lot of good software for the Apple II+ won’t run on the Apple IIe. It’s an incompatible world.
BYTE: How do you think the Apple II family will be extended and improved in the future?
WOZNIAK: There are obvious areas. We’re always trying to come up with better combinations of features and still reduce the cost. We’re looking into improved processors like the 65816 we discussed before. Video resolution is always improving. We’re trying to increase speed and the amount of memory in the machine because it’s critical to certain applications.
The IBM PC is very successful, and it had no competition from Apple for the last three years because we made sure that it didn’t. We would not allow the Apple II to compete in that market for three years.
PCSD is the most difficult division in the company. We’re hamstrung by the need to be compatible; Macintosh isn’t.
So we will continue to make improvements and produce new machines, but they’ll always be compatible. With the Apple IIe we went to 128K, 80-column display, and double-resolution graphics. We came out with the IIc portable.
Apple vs. IBM
BYTE: What did you mean when you said that the Apple II was not allowed to compete in the IBM market?
WOZNIAK: Apple has never really supported the Apple II in the business market. If you walk around a trade show and look at the software running on the IBM PC, you’ll see that most of it is a step above what’s possible on today’s Apple II. They have more RAM that’s easily addressed and better access to hard-disk drives. Programs like 1-2-3 cannot be easily implemented on a 128K Apple II, but IBM has a capable machine for that level of software. Our machine has to be able to address more memory and handle larger disk drives before we can really start to compete with equivalent software because IBM beats us in capability today. We need better screen resolution, more memory, and better speed. A 16-bit processor would help, although “16-bit” really doesn’t mean that much.
Whatever we do will be compatible, because we don’t want to alienate our existing customer base. If we can come up with the right machine, then we can start to talk about some really good software and compete well with IBM. Even if we do, the new features won’t really be used right away.
BYTE: Have you said all that you meant to say about where Apple is vis-a vis IBM and where you personally feel that Apple has made its mistakes?
WOZNIAK: I have both positive and negative feelings about things Apple has done, but I’m always honest. There is one real mistake that Apple made, in my opinion, and this is very subjective. It is symbolic of what could happen to IBM with its PCjr.
We had become a huge business success in 1979. We had really made it with our floppy disks and VisiCalc, and it looked like we were going a long way. So we decided it was time to start putting together a real company, a big company. We needed to start staffing up and hire a lot more engineers. So we set the Apple III project in motion.
The executive staff felt it understood the Apple II market. After VisiCalc, it was perceived that 90 percent of all Apple II’s sold were going to small businesses. Only 10 percent were going into this home hobby market that we originally thought was going to grow to be billions. Originally we were a home hobby computer. Now, suddenly, small businesses were buying Apple II’s, and they wanted more features – an 80-column display, lowercase characters, maybe more graphics modes and colors, and more memory. These were all the things that one product, VisiCalc, led to.
According to any research we could dig up, many people were buying the Apple II for small business because it had a disk drive and it could run VisiCalc. These weren’t the people I was closest to, so I kept my mouth shut because I was only one out of the staff of 15. So we started staffing up and building an organization and a management structure based around doing this new product – the Apple III.
The Apple III
We had some problems getting things done on time with the Apple III because of (a) our lack of experience as a group working together, and (b) not being able to predict project lengths well enough.
We started hiring intermediate levels of managers. Sometimes the managers were getting hired at a rate that added a completion date to the project faster than it was getting completed.
Around this time we started developing a perception of market separations – good strong separations between products so they don’t overlap. You don’t want to design a product that competes heavily with your own existing product. I claim that’s untrue. What you really don’t want to do is design a product that doesn’t offer any more than your existing product.
So we started setting up strong boundaries. The Apple III would be our 80-column business machine and have 90 percent of our market. The Apple II would be our 40 column home/school machine and have 10 percent of our market. The entire executive staff was sure that once the Apple III was out, the Apple II would stop selling in six months. I felt really down, because this 10 percent were my friends – the hobbyists and home users.
The Apple III hurt Apple in many ways, but it was a very well conceived product. And because we were so successful with the Apple II, we decided to build in an Apple II emulation mode to take advantage of all the software that was out there. The emulation mode did get built in, but, because of our concept of market separations, it was a very limited emulation. While our Apple II customers were adding 80-column cards and 16K RAM cards to their machines, we actually added chips to the Apple III to prevent access to many of its features during emulation mode. In emulation mode you only had access to 48K of memory – you couldn’t use the 80-column display, the extra graphics modes, or the extra memory. The emulation mode wouldn’t even run much of the existing Apple II business software, and there wasn’t much Apple III software available.
Originally, we planned to deliver four applications with the Apple III – word processing, a spreadsheet, business graphics, and a database program. Steve Jobs’s thinking at the time was, “People don’t really want to buy a computer. They don’t want to know about microprocessors or cards or buses. They want to buy VisiCalc – they want to buy a solution.” So we were going to provide the four major solutions. But because we were having problems managing the Apple III project while we were building our management structure, we were only able to deliver our operating system – SOS – and VisiCalc, which was done by Personal Software .
The Apple III shipped very late and had 100 percent hardware failures. This is very subjective, and some people might disagree with me. but I think we were trying to be too pure. We wanted to do it on one PC board, not two, and it didn’t fit on one PC board. So we got a company that could put three traces between two IC pins, had them do the PC board, and 100 percent of the Apple III’s failed.
The Apple III is really very good, but we spent three solid years keeping the Apple II down. and now it’s finally being allowed to grow in that direction. We’ve come out with ProDOS, which is a major improvement, and the ProFile is available for the Apple II now. It’s a good start. I think they are going to find out that allowing the Apple II to get there will improve the whole Apple image.
The III will do very well in its established vertical markets forever, but it really won’t make the huge success we thought it would. It may have the best chance it’s ever had. ProDOS is the best way to get someone closer to SOS. We did SOS three years ago, and the rest of the world hasn’t caught up or come close to it. Macintosh went in a different direction, so I can’t compare the two systems.
BYTE: Is SOS really that good?
WOZNIAK: I think it’s the finest operating system on any microcomputer ever. It’s the greatest thing in the world, but I wish we gave out listings of it.
BYTE: Wasn’t it the first commercial system that actually had installab1e device drivers?
WOZNIAK: Yes, the Apple II uses device drivers in ROM, on the I/O cards, but they won’t work on the III because they depend on specific memory locations. On the III, you load a device driver into RAM for any device you add to a system, so it’s infinitely flexible. You can always change it, correct bugs. and it’s clean. But it’s more difficult for outside manufacturers, because they have to supply a disk and instructions on how to update your system. It would have been the best of both worlds if you could plug in a card with a ROM on it and if the first byte in the ROM were a 12, for example, the system would recognize that the ROM holds a device driver and link to it automatically. That would have made it much easier for the card manufacturer. It would have been really easy to allow both techniques, but the Apple III engineering group didn’t want to do anything the way it was done on the II. Marketing just didn’t have enough leadership and control.
Anyway, having the Apple III as a failure didn’t really hurt the company much. The Apple II was still very healthy. but for the next three years the Apple III hurt the company tremendously because everyone in Apple knows how great a machine the Apple III really is. It’s a very clean machine, it’s easy to use, and it’s really been organized right with the operating system.
Unfortunately. we made it very difficult for anyone to get access to the insides of the machine. We had hired some very bright people who figured, “This is the right way it should be done. So we’ll give out enough information to do this and we won’t give them any more, because they might try to do something they’re not supposed to do.” The right way for one person is not the right way for another. We closed that machine up to where somebody could have a very difficult time finding out how to add their own I/O drivers. We did not make it easy for the outside world. We thought we wanted all of the markets for ourselves.
You have to let the end users develop their own standards. You’ve got to give them the freedom to discover how they’re going to use an operating system, what sort of things they’re going to buy. And if you’re really right and have provided a good solution, that’s where they’re going to settle. The thinking on the III was very much like a religion in that it could only be done one way – our way. We made it very difficult for outside developers, instead of providing all the information as we did with the Apple II.
BYTE: Has that attitude changed now?
WOZNIAK: No. It’s still the most negative thing in our whole company. and it will be for years.
I think that when a new market evolves, Iike personal computers did, there’s a period of time when you’ve got to let the world go in all random directions, and eventually it will subside because it wants standardization. Then, once it’s obvious what the standards are, they should be heavily supported by the manufacturer. You can’t try to dictate a standard.
The Apple II and The Apple III
When we came out with the Apple III, the engineering staff canceled every Apple II engineering program that was ongoing, in expectation of the Apple IlI’s success. Every single one was canceled. We really perceived that the Apple II would not last six months. So the company was almost all Apple III people, and we worked for years after that to try and tell the world how good the Apple III was, because we knew.
There is a lot to somebody’s perception or image of a machine and how good it is. How many of my friends have them? How many people in the world have them? The Apple III was a failure the first year as a product – it had a bad image. When you give a bad first impression, you can go for five years trying to overcome it.
If you looked at our advertising and R&D dollars, everything we did here was done first on the III, if it was business related. Then maybe we’d consider doing a sub-version on the II. To make sure there was a good boundary between the two machines, anything done on the II had to be done on a lower level than on the III. Only now are we discovering that good solutions can be implemented on the II.
The Apple II was kept out of the business market to keep the III going, to give our users only one choice. We wanted to make the III the success it hadn’t become and that it deserved.
Unfortunately, we made sure that the Apple II was nowhere close to the market that the PC took. We made sure the Apple II was not allowed to have a hard disk or more than 128K of memory. At a time when outside companies had very usable schemes for adding up to a megabyte of memory, we came up with a method of adding 64K to an Apple IIe, which was more difficult to use and somewhat limited. We refused to acknowledge any of the good 80-column cards that were in the outside world – only ours, which had a lot of problems.
At one point during the Apple III development, I wrote some fast disk routines for our Pascal system on the II. And I got a lot of flak from Apple III engineers who felt that they shouldn’t go on the Apple II. Nothing on the II should be allowed to run as fast or faster than the Apple III. That was the thinking that stuck with the company for three solid years.
It was unfortunate the way things worked out, because we probably put $100 million in advertising, promotion, and research and development into a product that was 3 percent of our revenues. In that same time frame, think what we could have done to improve the Apple II, or how much could have been done by Apple to give us products in IBM’s market.
BYTE: Are you putting more resources to work in that direction now?
WOZNIAK: Yes, but things don’t change in six months. In the Apple III we had a beautiful machine, and we spent a lot of money to try and emphasize that. We were trying to force the world to finally accept the machine because we knew just how good it was.
The PCjr had a poor initial reception like the Apple III did. It came out in the wrong month – the month when Macintosh was going to be perceived as the leader. The PCjr was perceived as an uninteresting product.
They may try for three years to overcome its bad first impression. They may put a lot of their corporate resources into trying to promote the PCjr and lose sight of the PC. The PC will keep selling because it’s been accepted and there are a lot of aftermarket companies out there selling software and hardware for it. But if IBM neglects it enough, we may have a chance to turn it over on them in the next few years if we have a better product.
(Reprinted with permission, Byte Magazine, BYTE.com, CMP Media LLC. Manhasset NY. All rights reserved. No part of this material may be reproduced, republished, or redistributed without the express written consent of CMP Media LLC. CMP Media LLC makes no representation or warrenties, express or implied, with respect to this website, the information contained herein or the results to be obtained by the use thereof. CMP Media LLC shall not be liable for any inaccuracies or errors in this republication or the information contained herein.)
Pingback: Too Young to Know It Can’t be Done « Steve Blank
Pingback: The Greatest Software Stories Ever Told « More Than Coding
Pingback: Karl Guttag on Technology » First, Be Useful (Home computers and Pico Projectors)