Hacker News new | comments | show | ask | jobs | submit login
Steve Wozniak Recounts His Efforts to Engineer the Apple II Floppy Disk System (paleotronic.com)
336 points by empressplay 65 days ago | hide | past | web | favorite | 70 comments

If I recall correctly, Steven Levy's book "Hackers: Heroes of the Computer Revolution" also covered some of this story.

Woz was intimidated by disk controllers because he didn't know much about them, other than they were big complicated things. So starting with his own ignorance as a fresh slate, he ended up with something better than his former employer HP had in their products.

Sometimes (Sometimes! Not always!) not knowing better can be helpful.

> he ended up with something better than his former employer HP had in their products.

That's actually severely understating the accomplishment. The Disk ][ controller was implemented with like 8 chips, all of them off the shelf TTL things you could get at Radio Shack (OK, two were small ROMs). It talked directly to the drive which needed almost no electronics on it at all. And it was both faster and higher density than all the custom ASICs being sold at the time. It could read bits off the drive at full rotation speed, filling all of RAM within seconds.

For comparison, the Atari 810 drive was designed contemporaneously (though it arrived later to market). It paired a 6507 (6502 with some address lines clipped off), 4k of RAM and a WDC controller chip inside the drive, which then spoke to the main computer over a semicustom UART (or UART-like) chip on the motherboard. And with all that hardware, it managed to deliver the data at 19.2kbps.

This thing was an absolute masterpiece of the era.

We can say that there was 3 kinds of floppy drives :

- Drive by a floppy controller chip : Controlled by a WDC, Intel or custom ASIC. For example Amstrad, Sinclair +3 or Amiga floppy drives. - Full intelligent : Like Commodore or Atari 8 bit floppy, that carries a computer inside. - Dumb : Like Apple II and I think that IBM PCs.

Full intelligent not was a bad idea when the home computers had these low speeds, as could (on theory), read/write the floppy and at same time do other stuff on the computer. Also, allowed to move the file system implementation and part of the I/O firmware to these embed computer to the floppy drive. But to work nice, need a fast and good connection to the computer. Having a serial communication via bit-bagging as did Commodore, killed it.

> Full intelligent not was a bad idea when the home computers had these low speeds

That's the excuse, but no. In practice the actual software run on those machines was synchronous. You'd load the game/document, work/play, then save. There wasn't enough space in a 48k world for software complex enough to have background tasks. Honestly the only example I can think of where anyone did anything like this was the animated splash screens during load that some of the later Lucasfilm games on Atari had. And they never would have bothered if the disk was as fast as Apple's.

Also, FWIW: the PC had a "dumb" drive enclosure, but the controller was an ASIC on the motherboard. And it was drivable via a separate DMA chip, allowing true background operation. With 10x the memory of the 8 bit systems, it was not uncommon to find DOS tricks to do background I/O (e.g. RAMdisks were very popular).

I think Wozniak's own modesty obfuscates the story a little. Yes, he didn't know the ins and outs of contemporary disk controllers but he was an experienced designer and programmer. One of the reasons he could ditch a lot of the complexity and expense of the Shugart (not HP) controller he was looking at is because he could leverage the flexibility and extensibility of the host, which he also designed.

He mentions that toward the end.

Definitely, it pops up throughout but a casual read (and popular retellings of this story) might leave you with the impression that he almost accidentally stumbled his way, savant-like, into a superior and cheaper design. That unintentionally sells the work a little short.

Not directly related but fun to think about: the word 'interrupt' does not appear at all.

Wozniak apparently didn't like interrupts that much. They are almost unused on the Apple II -- for instance, the keyboard doesn't use them --, and grokking interrupts was the single hardest thing for me when I migrated from the Apple II to the IBM PC.

Steven Levy's book is a great read, it covers fastening topics from the very early history of computing forward closer to modern day. Really really interesting to learn.

Being genius helps with that.

I feel like "genius" is almost always an ex post facto label that's doled out to make us feel better about our own lack of ambition. That person did something really wild and interesting? Clearly they're a genius, so why even bother striving for anything quite so good?

Same with the recent Steve Jobs threads. Or any thread featuring prominent programmers or founders.

I think immediately reaching for the "genius defense" (whether deserved or not) does far more harm than good.

You're right.

Exceptional labels are often used to abdicate responsibility of the mediocre for their own mediocrity.

It's easier to label someone as special than it is to admit you didn't put in the time they did, or that your fear of failure prevents you from trying.

This particular Woz story doesn't scream of "genius" to me.

It screams of curiosity and confidence, a fearlessness, of a young and foolhardy geek swimming in opportunity and it enabled him to discover some interesting, innovative things.

The part where his (probably senior) hardware dept. colleague trolled him into completely ripping apart his work and redoing it all for cosmetic reasons with a single sentence saying "Steve, you mean you’re going to go with less than perfect?" had me laughing heartily, and caused me to reflect on the times similar things had been done to me early in my career.

And limitations.

Woz did his thing under much the same constraints as Tramiel held the Commodore engineers to, keep the chip count, and thus the price, down.

Every time Woz added a chip, he carefully looked for very way he could use that chip for different tasks.

He had spent a good chunk of his life taking designs and simplifying them and was a genius in that aspect, seeing things that other people couldn’t do when it came to circuit design.

This is explained in detail in woz's autobiography. I read it all in one sitting. Great book all around, and as an added bonus, I got to meet woz the next day after reading his bio, completely by chance. Weird.

Note to self: read Scarlett Johanssen’s autobiography all in one day

Cargo cult at its finest :-)

I remember feeling quite giddy a couple years ago when I got a personal response from Woz on a comment on a blog posting (about the 65816 and the IIgs I think). For some reason I never saved the URL or screenshot tho.

I never idolized Woz as a kid back in the 80s, but now I think he's a damn awesome guy.

Similar thing happened to me: I wrote a blog post circa 2005 about Woz and threw in that he wasn't much of an athlete, just figuring he didn't look like one. The very next day he posted a comment on my blog post pointing out that he had been a varsity pole vaulter at Homestead High. Woz U ROOL!

People implemented some pretty crazy disk read/write routines on top of this for copy protection... I find it super interesting. https://www.bigmessowires.com/2015/08/27/apple-ii-copy-prote...

It is always great to read stories about obsolete technologies and how people put lot of effort, thinking and energy into solving the roadblocks. This provides a great prospective of history and how things evolved over time which kids these days might have zero idea about.

It's not only historical. Stories like this show how good engineers work through a problem. There is a lot to learn there.

Well, it's interesting on the human and historical side, especially the part that it was all self-taught, but on the technical side, it's not clear from this interview that he's using GCR and how (https://en.wikipedia.org/wiki/Group_coded_recording#Apple) and that e.g. Commodore had a more efficient scheme that allowed a whole 170KB per side, at the same density.

Every technology you use today is obsolete; time just hasn't quite caught up quite yet. Seconding the other commenter about how much there is to learn from these stories.

We're all dead. There is just a slight delay in implementation.

Since it has not been posted yet, the open sourced Apple ][ source code (the 16-bit read/write) from Paul Laughton and Steve Wozniak and Randy Wigginton and some technical design docs can be viewed.


Coincidentally, I've been looking into ways to transfer a bunch of data off of Apple IIe old floppies (assuming there's still data to be transferred on the media) and I came across this:


Woz is always interesting to listen to. He seems really humble and yet not afraid to try anything. Really inspiring.

Am I missing the "play audio" link or did people read this and found it easy to understand. To me, the transcribed rambling makes it a terrible read...

I couldn't disagree more. The raw transcribed text made me feel immersed in the storytelling.

I kinda agree the "transcribed" technique can be a bit difficult to read, but at the same time, applying Woz's voice to it, it felt like he was telling the story to me directly.

I agree, a little of editing would have helped the (very interesting) narrative.

I love stories like this. True engineering porn.

And if you haven't read jwz's classic, you are in for a treat (text formatting, possible HN custom diatribe aside)


JWZ hates HN. Here’s a derefered link:


That rules.

This (redirect) still sends referrer to www.dereferer.org. The user also has to lookup and visit two sites instead of one.

Do browsers today not allow users to set the referrer?

Google and countless web businesses prefix urls and act as "dereferers" so they can collect referers instead of the target websites. There is no shortage of "derefered" links on the www.

A "dereferer" may be useful for a website owner, but is it useful to a user? The "defererer" can track the external sites its users visit, creating a log of users' www browsing, but how does that benefit the user?

For the user, this is sharing far more information with the "dereferer" than with any individual target site.

Is the "Referer" header truly necessary for the user? It is not even spelled correctly.

I have been using the www with target url set as referer instead of referring url for decades with almost zero problems.

The times when a site demands a certain referer are so few and far between that I cannot remember the last time it happened.

The link was only to hide the referer header from JWZ because he chooses to show a very crude image to HN readers. That's all.


about:config network.http.referer.spoofSource

Be careful clicking that link at work!

You might get an image of a testicle in an egg cup along with a caption claiming we're all money obsessed man children.

Of course he made his millions in the first dot so he's a bit of a hypocrite...

Also, the redirect + image doesn't exactly give the impression of maturity.

The farther you get into that article, the more it makes me think about the turbo-encabulator.

SFW: https://www.youtube.com/watch?v=Ac7G7xOG2Ag

There should be much more like this. They show how good engineers really think and solve problems. Instead we have all this hero worship about geniuses and their magic where we can learn nothing from.

Warning, NSFW!

If you haven't read folklore.org, you're in for a treat. (if you like early startup life type stuff sprinkled in with the tech)

> The important things in life are the ones you remember with emotion and fun smiles.

Woz is really special guy.

> I opened up the little box with a screwdriver, and there were some dip switches, and I switched them to another position, and didn’t get billed for the movie.

But that was still kind of a dick move, Woz.

He's the Woz so we can guess two things:

1) He was so absorbed in the puzzle, it never crossed his mind that someone else might get a bill instead.

2) He would have been horrified that he had caused someone that inconvenience if he found out.

Well if the new setting pointed at an empty room instead of an occupied room... No way to know now, I guess. I like to think he pointed it at an empty or non-existent room.

At a conference, probably no empty rooms.

remember the thread about silent computers ? https://news.ycombinator.com/item?id=17075489

very timely with the chapter on floppy tracks and heads.

I never read anything so detailed about woz work. Usually it's all average apple fan or journalist reverence. But I really love the way he makes that extra step to use the hardware almost fully.

Does anyone have audio of the different sounds of drives he describes? Such a fascinating article.

I don't have audio recordings but 30 years later I can still hear the sound of my Apple ][ floppy drive re-homing itself, which was a scary sound.

The track-to-track sound he's describing was very pleasant though.

Instead of having some kind of switch or sensor to know when the read head was at track 0, the stepper motor just banged the head repeatedly against the metal stop until it was sure things were in alignment. This was that "chukchukchukchuk" sound you heard.

I remember playing around with the delays in that routine to make the head move at different frequencies. With a little bit of playing around you could make the drive play music.

That scared the hell out of me when I was in 6th grade and first tried to format a disk. I thought I broke my computer.

With a little bit of playing around you could make the drive play music.

That's basically the same thing you had to do to make the Apple play music anyway -- do a LDA to a certain address with various timings to toggle the 1 bit speaker. Amazingly enough, you could do legible text to speech with it -- https://en.wikipedia.org/wiki/Software_Automatic_Mouth

Absolutely true....although I'm not sure the Disk ][ head was meant to be vibrated at 400 Hz like a paper cone speaker was. =)

Also, you could find the sweet spot in step interval, making seeking super smooth and quiet. Oh, this was with a PC, Apple drives must have been optimally adjusted by default ;)

This was more about homing the head, not the stepper motor noise between tracks.

I remember that "grinding" sound, decades later! I haven't boot an Apple II since 1990...

There was a "Beagle Bros" software program that would alternatively turn left/right floppy drives on and it would sound like a train.. It would go faster and faster.

I remember running it and worrying I borked my mom's floppy drives. But thankfully it didn't.

I thought it was on "silicon salad" but I don't see it. Unless its "text train". Maybe it was online from Nibble magazine. https://archive.org/stream/Beagle_Bros-Silicon_Salad#page/n0...

Especially the sound it makes as it tries to read a disk with bad sectors. I can still hear that in my mind.

That was always a sad day, especially if you saved up two week of pocket money to buy that floppy.

Yup, I still vividly recall the unnerving "RAT-tat-tat" of my Apple //c floppy drive though it has been over 25 years (gah!) since I last heard it.

This great video from 8-bit guy has sounds from Apple II drives and some other examples, together with various technical details and views of the drives insides:



There are probably better ones but that should get you started and give you search terms.

Another must read is jl's interview of Wozniak for Founders at Work.


"I had never studied nor been near hardware or software."

I don't understand this sentence. Steve Wozniak is saying that he's never been near hardware or software??

I think he's referring to hardware and software specific to disk drives.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact