BASIC

A&E's top 100

in
Comment from E-mail

I just wanted to write this to tell how grateful I am that Apple Computer was developed. Mainly because there would be no such as the personal computer and many advances never would've happened if it wasn't for Apple. I also wanted to write because recently I was watching A&E's top 100 hundred and was disappointed to see that you where not named and Bill Gates was. I sat there and said to myself what did he do to deserve that besides make a lot of money nothing. I would've at least to of like to of seen at least Steve Jobs or at least a mention of Apple but when they rounded out the top five I knew it wouldn't happen and was deeply disappointed that the two people or even the person who changed the daily lives of everyone was not even mentioned at all during that.

Well, I just wanted to thank you for helping change my life and the way I live it everyday. If it was not for the Apple Macintosh computer I would not have a job or hobby anymore and am grateful for having it around. I am always exited about the new developments coming out of Apple and just have one question for you. As an original developer of the MacOs and with the new version of it coming out next year MacOs X I was just wondering what your comments on it and how it will change it from where it started and how you feel about it? Thanks again, Spencer Parker

Woz

I'm glad that you see things this way. It is fair to say that Bill and Microsoft did a bit of engineering (writing BASIC for the Altair computer) at the start and did take risks in setting up and running a business. But we at Apple did much more to bring computing to people and we took much greater risks and we did our own designs and used our own money and time a lot more. We worked to create the hardware and the software that would do new things. We didn't merely buy others' programs and find a way to sell them at a profit. Apple even popularized (and largely created) the technology that Microsoft makes it's money off of.

I think that MacOS X will be very very great but will, at first, only reach loyal Macintosh owners. I think that it will be well accepted by the Macintosh users by the time it comes out and that the grumbling about differences will be short lived. I think that differences like fast graphics and more game software will be even more important than a more stable OS though.

I don't like Mac programing

in
Comment from E-mail

Well i've been interested in computers since my dad first bought a 386 and at the time it was the most up to date thing available. I never knew much of the history of computers (well not the time of the movie was based). I mastered the BASIC language (seems like ages ago) and have moved on to much more advanced languages.I'm sorry i do tend to drag on. But i just want to say i don't like mac programing but i love the hardware and from what i understand your the man behind it and i just want to say that I can't express in words what i think you've done for the world and inderectly for me. So thank you for your genius. I just want to ask you if you've had an active part in the designing of the new macs. and if you ever had any idea that computers, software, and the internet would ever amount to what it is now.Thank you on behalf of me and everyone at www.archaic.net (still getting out the kinks) :)

Woz

I'm glad that you appreciate the Macintosh hardware, but you're wrong to credit me in any way for it. My hardware design talents were applied to the Apple I and Apple ][ computers and related peripherals. This occured long ago. It was the basis for Apple's start and fame. The Apple ][ kicked off the personal computer recognition, and legitimazed the market. Although I was the sole logic designer and programmer and 'inventor' in this sense, the contributions of others, primarily Steve Jobs, were critical to how this computer struck the world. Without a nicely packaged product in an attractive, acceptable plastic case that said "I'm OK in your home" this product would have died like the other hobby computers for Nerds. Apple was successful not just because of a great piece of hardware but because of the right communications and the complete product (including manuals and ads and our employees and priorities) the world got the message that it was time to change a lot of things in our lives. Steve Jobs truly deserves the visionary credit here. The Macintosh came about in later years and it was truly Steve's project. There were actual hardware and software engineers that did the equivalent of what I'd done on the Apple ][ but I was not among them. At that time I'd returned to college and sponsored some huge rock concerts. (Just to set the record straight for you)

Thank you

in
Comment from E-mail

I want to thank you for your contributions and for the US Fest. I would do just about aything to get the complete footage from the show BTW!! ; ) I also still have my Apple IIe that my dad got for me. I have every slot filled except for slot 3! I did tons of BASIC on that!

Woz

Serious Apple Computer!

I get paid in karma

in
Comment from E-mail

I hate to make the unfair comparison, but I like to fancy myself a man along the same lines. I write code and post it (it's not all that great, but it's getting better) in hopes that others will pick it up and run with it. I figure things out and write articles (served freely - without even banner ads) discussing what I did and what pitfalls need to be avoided. Etc. I'm employed to do a job, and I do it. But what I contribute to the world around me I don't get paid for, except maybe in karma.

It's late, and me thinks I've babbled. In any case, I would love to converse with you in greater detail, and with a higher level of coherence. (You've been something of an idol of mine since I was a prepubescent brat hacking away at AppleSoft BASIC and 6502 mini-assembler code into the wee hours on schoolnights.)

Woz

Good for you (sharing code). There's nothing better and the reward stays with you until you die. Please don't start conversing. I'm exhausted and in pain from 22 hours a day of email answering and I have hundreds stacked up still. Short comments I WILL READ, it only takes me a while if there are questions to answer.

Thanks, and best wishes.

It was 1975-1977..

in
Question from E-mail

Thanks for creating the Apple Computer. I spent most of the late 1970's waiting in line to use machines like the Wang 2200, IBM 5100, and Univac 90/60. The Apple ][ made a real difference -- the lines got shorter and the programs got better! Now I had time to kill, so I got a chance to really explore the hardware and software you designed. That Apple ][ was a neat machine with all kinds of "goodies" hidden inside. Students didn't get much documentation beyond a simple "How to..." and a guide to Integer BASIC. Finding your Monitor, Mini-Assembler, and "Sweet 16" hidden inside the ROM's was a real discovery -- More fun than "Adventure" or "Star Trek." Later on I realized that the REAL value of the Apple ][ was the potential for discovery within the machine itself. As I learned more about computer hardware and software, I started to understand some of the real "Hacks" inside that box: how to generate the video signal; how the video access refreshed the DRAMs; how the disk drives worked; even "mundane" parts like the power supply and peripheral slots revealed genious after careful study.

The Apple ][ was somewhere between a parable and a joke -- when you finally understood it, you smiled in the knowledge you knew something special. The Apple ][ was the only machine that made me smile.

Woz

I'm baffled by the amount of email saying the same things you say. Also, in my travels I continually run into individuals that learned so much about the guts of the hardware and software. I had learned about hardware and software very much the same way, finding manuals and schematics and listings for minicomputers and studying them and dissecting them and eventually looking for better ways. So I very much wanted the Apple ][ to include enough documentation for people to learn this way, as had I. It was very lucky that we were so small at first that we did this. It was an 'open' approach. Now, you could never imagine even Apple being this open about what's inside the box.

A lot of other things changed in this way too. When I developed the Apple computers, TV's came with schematics. Many radios did too. Now, everything is inside a chip. There was only a short period in history that such openness could have overlapped hugely successful computers, the same short window where only a few people could develop such products. It was 1975-1977. Then the window closed.

I don't find the hardware as reliable as it used to be

in
Question from E-mail

My first computer was an Apple III although I learned to program basic on my best friends TRS-80. I was just a little curious on your thought on this old machine. It still works and has never required maintenance. Actually I have a IIe, a IIgs and a 128 mac that still work and have never required maintenance. I work in an Apple Authorized service center and own more current machines. I just don't find the hardware as reliable as it used to be. Is it just my imagination? PS. I have enjoyed reading through your website.

Woz

Hey, thanks for contributing to the website too. I always have a problem getting bio materials to people. Now I can refer them to the website.

I hope that we meet some day. I admire people that had much the same computers as you did, that these little machines meant that much to them.

I'm sorry if this note is too egotistical. I'm trying to be polite and complete and have something meaningful to say.

What did math nerds do before computers?

in
Question from E-mail

Dear Mr. Wozniak, My father bought an Apple ][ with an AppleSoft card when I was 15 or so. It had 48k and a floppy drive. It was just amazing what you could do with 48k in those days - we had a word processor (AppleWrite, I think), VisiCalc, and plenty of games. I started programming shortly thereafter, using Apple BASIC. I later moved to Pascal on the Apple. I'm 31 now and making a good living as a Java programmer. I don't know what I'd be doing if it wasn't for the Apple. What did math nerds do before computers?

Woz

Believe it or not, such stories of people getting interested in computers at an early age and making a life out of it bring tears to my eyes. I don't need any credit, you all merely need symbols like myself. Yes, what would we math nerds have done? (except for those of us who knew electronics and lived in Santa Clara, I mean 'Silicon', Valley)

Apple BASIC

in
Question from E-mail

Recently I've heard that Apple licensed floating point BASIC from Microsoft. As I had programmed in microsoft BASIC on the IBM PC-XT as well I saw no simularities to the Applesoft BASIC on my ][e so which is the truth? Can you elaborate on how much Microsoft provided to AppleBASIC?

Woz

I wrote the original Apple Integer BASIC. I had wanted it to be the very first BASIC for the 6502 microprocessor. I might then have something to be recognized for. I decided that it had to play games and let me solve engineering problems. I first wrote out a syntax with floating point but then figured that it might be done a few weeks sooner with just integers. I had to write it in the evenings as I worked at Hewlett Packard then. So I cut back to an integer BASIC that I called "Game BASIC".

I'd never programmed in BASIC. My college had encountered Fortran, several machine languages, Algol, and a couple of special languages. But you could buy a book called "101 BASIC Games". Plus, the Gates/Allen BASIC was becoming the standard thing to get for your Altair computer, although very few people had these computers yet.

I'd never writting a computer language or taken a course in it, although I'd studied books on my own touching on the topic. I have no idea to this day if I wrote it as anyone else would. I broke the entire language down into a syntax table that was stored in memory, in modified text form. A word like "PRINT" was stored as the 5 letters. If you were allowed an unsigned expression after some word, I stored a pointer to the syntax of that type of expression, which specified what it could be made of. Each line was compared, letter by letter, through this syntax table to see if there was any valid BASIC statement.

I gave each symbol in the syntax table a particular code as on operator. The word "PRINT" might be operator number 5 and "FOR" might be operator number 13, etc. A plus sign had it's code too. A symbol like a minus sign might have two different codes depending on whether it was prefix (like -5) or infix (like 9-6). A variable or a number was an operand. I pushed the operand references onto one stack and operator codes onto another. But the operator codes each had 2 different priorities telling my BASIC whether to push them on top of the topmost operator already on the stack, or to pop that one off and generate the output program from it. Each operator had a value for it's tendency to push others off, and a value for it's resistance to being pushed off. For example, plus tends to push divide off, causing the division to happen first. Strangely all this works.

Then I had to write one short routine for each of perhaps 100 operators. These included keywords like "PRINT", mathematical operators like 'plus', parenthesis, and other grammar symbols of BASIC.

It took a couple of months to get the BASIC to this shape, with an engine that ran the whole thing. Then I would define a Syntax sentence in the syntax table, along with any routines for any new operator symbols. I would test it, get it working, and move on to the next syntax sentence for the next BASIC statement. From this point on, things were very modular and I was only writing very short programs.

Well, the BASIC was a very big success. Especially when I was able to easily add statements and corresponding routines for color graphics and game commands in the Apple ][.

We shipped some apps with our early Apple ]['s. Apps like ColorMath (a flashcard program) and Breakout (a game I'd designed the hardware version of for Atari). These apps were on casette tapes in 1976, before floppy disks. Mike Markkula, who was our third and equal partner, was running marketing for us (and much more!). He, and some young programmers, and anyone else he could find, wrote our first checkbook program. It led to two items heading our 'projects to do' list at a staff meeting. This sort of program wanted floating point numbers (or a programmer like myself who would have preferred integers) and also a floppy disk for speed. These became my top two projects.

I rushed and got one of my favorite and most famous designs ever done in 2 weeks, working every day of Christmas vacation, 1977, including Christmas and New Years day. I'd never designed a floppy disk interface nor worked with one. Nor did I have a clue what was in them. I set out this blind and started designing stuff that would efficiently read and write floppy disks with the new Shugart 5" mechanism. I wound up with 5 chips one day doing the job, along with some low level 6502 software of my own. Randy Wigginton helped me with this project. My motivation was that Mike Markkula said that if we had the floppy ready to demo at the first CES show that was to permit personal computers to be a part, in Las Vegas, in January. I'd never been to Las Vegas, only dreamed of it. Well, I made the trip and the floppy was a success for Apple.

I next started working on a new floating point BASIC. My design style is to spend quite a bit of time thinking out every angle in my head and in rough sketches, and then to start coding. The first results aren't visible right away, but at the end they come up very quickly. Steve Jobs got concerned that I wasn't making enough progress. He even accused me of slacking and coming in at 10 AM in one staff meeting, but I pointed out that I'd been laying out our floppy PC Card (of which I'm extremely proud as I relayed it with one shift register shifting in the opposite direction of my first design after I discovered that would cut the PC board crossovers from 8 to 5, something nobody would ever see but that's the drive for perfection) and that I'd been leaving at 4 AM every morning, long after even the Houston brothers, Dick and Cliff, had left.

Somehow, we wound up with a Microsoft 6502 floating point BASIC one day. I installed it (which involved a lot back then) and tested it. Since it was already near completion, and only needed some graphics commands added for our Apple, our own effort was best dropped. Mine might turn out better in some regards, but wasn't worth the risk or effort. I have no idea if this BASIC was written by Microsoft or just found by them. My biggest disappointment was going to the awful string functions like LEFT$ (VAR, 5) and MID$ (VAR2,5,3) instead of my own, which were written VAR (1:5) and VAR2 (5;8) for the first 5 characters and characters 5 through 8 of a variable.

I forget how much we paid Microsoft for this BASIC.

I've been writing Woz-influenced code..

in
Question from E-mail

Hi, Woz. My dad got me an Apple ][ back in 1979, and I found it so clean and crisp and cool that within days I did a CALL -151, and I've been writing Woz-influenced code ever since. Thanks for Wozifying the world!

Ok, I've just got to know. Which HP calc was it that most influenced the Apple 1 and ][, the HP 9830 (1972) or the HP 9825 (1976)? The Apple ][ looks a lot like the 9825, but given your tenure at HP, I'd have to guess it was the very cool 9830 with built-in BASIC that had the most influence on you.

Woz

I'm glad to find so many people that still remembering being inspired in the CALL -151 days!

All the small HP Calculators, the HP 35, 45, 55, 65, and 67 influenced the Apple II. They did it in the sense that each key had a worthwhile function meaningful to humans. Each key merely activated it's own program. A calculator was complete. It didn't need accessories and peripherals and programs just to have a keyboard you could use.

Remember the ZX80

in
Comment from E-mail

I do have a question for you...Do you remember a Brit by the name of Sir Clive Sinclair. If so, what is your take on Sinclair computers. I always thought of "Uncle Clive" as a British version of you. Unfortunately, he didn't have a Steve Jobs to brilliantly market his products. (Just to spur memories, the ZX80 (a Z80A microprocessor-based, membrane-keyboard, 1K RAM computer, black, about 5" by 5" by 1") and the QL (released about 6 mos. after the Mac (had a Motorola 68008 processor, 128K RAM and to microcassette drives built in). As I remember it, it was the first computer to significantly improve upon your BASIC, only 10 years later...

Woz

Sinclaire kept coming out with very inexpensive, great, products. Many of them I bought. I think that he did have some marketing, if not the longest life products. I even bought a ZX80, and later the Timex version.

My own BASIC was the hardest task of developing the Apple I and ][ computers. I'd never studied compiler/interpreter writing and had only practiced my ideas on paper before. I'd read some good books on the subject. I'd never programmed in BASIC before the Apple I. I just sniffed the air and decided that the games that would drive personal computers were written in BASIC. I picked up a manual at Hewlett Packard and used their variant of BASIC as my model. Either they had good substring syntax or I evolved my own based on theirs, but I much preferred it to the DEC style that Microsoft went with, using LEFT$ and MID$ and RIGHT$ functions. I laid out my syntax charts and made a decision to take floating point out so that I could finish slightly sooner and have the first BASIC for the 6502 processor ever. I mainly wanted it to be able to play games. Then I knew it was good enough for whatever else. I also wanted to program solutions to my Hewlett Packard engineering problems. That's where I worked as an engineer designing calculators.

I could go on. The BASIC turned out extremely modular, so I could easily add something by adding some syntax descriptions in near-text form, and write routines for the new functions or ops that were needed. The language didn't have to be rewritten.