When I got my Apple ][plus back in 2017, it came with two all-important cards: the Microsoft 64kiB expansion card, and an Apple 5.25” Floppy Interface card. Since then, we’ve added some more: the Microsoft Z80 SoftCard and a Mockingboard sound card. And now I replace one of the original cards. The Apple’s floppy disk controller is a feat of engineering history: why would I replace it? Let’s find out!

The Disk ][

The Apple II logo

The Apple ][ is the master work of engineer Steve Wozniak. But just as important as the Apple ][ was its disk drive system: the Disk ][. The genius of the Disk ][ comes from its decision to break with industry standards. At the time, most floppy disk drives were their own computer, and communicated with the PC over a standard bus like the parallel IEEE-488. But Wozniak reasoned that the Apple ][ had a perfectly good CPU right there, and if it controlled the floppy drive directly, it wouldn’t need to transfer the data over at all.

The resulting Disk ][ was renowned for its affordability, engineering simplicity, and its performance. When Commodore’s low-cost VIC-20 came out with the slow bit-banged serial 1540 floppy drive, Wozniak’s decision was even more validated. And pretty much all 5.25” controllers for the Apple ][ followed Woz’s model.

The Apple 5.25 Drive Controller Card, two rows of small black ICs and a rainbow cable

This is an Apple 5.25” Drive Controller Card. Despite the 1986-7 copyright silkscreen, it’s almost exactly like the 1978 copyright Disk ][ Interface Card, featuring just one notable difference: the use of a single DB-19 port rather than dual 20-pin connectors. (Apple even had a tech info document noting that the older drives could easily be modified to support the new style port) And this card still supports two drives, just via daisy-chaining instead. It’s still just a few PROMs containing a small program to read and boot sector 0 of a disk, and some discrete logic to control the drive directly, using the computer’s 12V to power the drive motors.

An Apple II disk drive on top of the computer

The Apple ][ drive story is often written to end there. You can get a long way with just a Disk ][, almost all commercial Apple 8-bit software was on 5.25” disks, so even a modern drive emulator like the Floppy Emu can go a long way hooked up to a card like this.

But what if I told you, that wasn’t actually the end of the story?

3.5” and beyond

The Disk ][ was a masterwork. But there was a problem: the Apple had a slow 1.0MHz CPU, with a variable clock due to the video circuit (also a masterwork of engineering limitations made by Steve Wozniak). This was fine to control the 5.25” floppy, but what about faster drives with higher storage capacity? Say, the 3.5” disk Apple themselves were popularizing with the Macintosh?

Apple’s solution to that was the UniDisk 3.5”. Which I don’t have, so enjoy this highly-dithered picture from the Owner’s Manual. Well, the dithering might be from the scanner.

A picture of the Apple II UniDisk 3.5

The UniDisk 3.5” didn’t follow the Disk ][ model. No longer did the Apple’s 6502 CPU run the show– instead, it sent commands to an intelligent computer on the drive. That’s right– just like the Commodore, Atari, and most other 8-bit PC drives. Apple’s term for this was “SmartPort”.

SmartPort had the benefit that it could control more types of disk drives, not only faster disk drives but also hard drives, without having to know the details. The downside was… it was slow. Not as slow as a Commodore 1541, which had its own problems, but slower than direct CPU control on a faster CPU could do. And that’s why the Macintosh used the Disk ][ approach (using an “Integrated Woz Machine” circuit, essentially a Disk ][ interface on a chip) throughout its entire life as a floppy-based machine, though it also had SmartPort support. The Apple IIgs and Apple IIc Plus also used faster directly-controlled 3.5” drives, the IIgs with its faster 65C816 and the IIc Plus.

The 3.5 Floppy Controller Card. Note the onbopard 65C02 CPU
Image from Wikimedia Commons, taken by Blake Patterson. Used under the Creative Commons Attribution 2.0 Generic license, scaled and cropped but not otherwise altered.

The SmartPort experiment came to an end in 1993, when the Apple 3.5” Disk Controller Card was released; essentially, the drive controller from the UniDisk, complete with its own 65C02 CPU, to allow people to use a 3.5” floppy drive on the Apple II without requiring the extra hardware in a UniDisk 3.5” drive. It wasn’t long-lived; the Apple IIe, the last computer that had both a reason to use it and slots to put the card in, was discontinued the same year.

Okay, that’s enough background, and definitely enough asides. Let’s jump back to 2022.

Just get to the point

I got a bit carried away with all that. Who knew floppy controllers could be so interesting? Well, one person who might is Steve from Big Mess O’ Wires. That’s right, this is actually a look at a product being sold at the time of this writing, the Yellowstone controller card:

An apple II interface card in blue

This post was not sponsored. All items were paid for in full without any communication with Big Mess O’ Wires about this card, and all opinions are my own.

The Yellowstone’s development is aggressively detailed in Steve’s blog, and I recommend reading literally everything in the Yellowstone category, it’s all a good read. The Yellowstone is an improved and expanded clone of the Laser Universal Disk Controller, so it supports not only SmartPort, but pretty much every drive. It’s powered by a Lattice FPGA. In fact, according to BMOW’s posts, most of the chips only serve to translate between the Apple II’s 5V logic and the FPGA’s 3.3V.

A Lattice FPGA, the above board zoomed in

Along with the card, I got some adapters. The 20-pin connector on the Yellowstone card is identical to the original Disk ][ (with the benefit of being boxed in and keyed, so it can’t be inserted wrong as was a constant problem with the original), but my Apple and clone devices use DB-19 pins. This is actually a pretty hard part to find these days, as 19-pin isn’t part of the standard.

An adapter from 19-pin DB shell to 20-pin

I’m a bit curious about using this on my particular Apple. See, much of the enthusiast Apple II software these days is coded for the 128kiB “Enhanced” Apple IIe, which had become the standard configuration by around 1985 or so. That means:

  • Double the RAM at 128kiB
  • Double-high resolution graphics modes (and double-lores, if you’re into that)
  • 80-columns text mode
  • The updated CMOS 65C02 rather than the NMOS 6502
  • Lowercase letters (unimaginable luxury!)

For me on my lowly 1979-spec ][plus, a lot of Apple II software boots right up to a disappointing screen like this:

A heavily garbled screen noting REQUIRES ENHANCED APPLE IIE OR LATER

The Yellowstone promises support for my model, though, so let’s give it a whirl!

Standard disks

The first NMOS hiccup comes when I boot the Apple II using the Yellowstone in place of my 5.25” controller card, with the standard 5.25” drive attached.

The text APPLE ][, with a prompt below

This is the standard Applesoft BASIC prompt. But along with Applesoft, the Apple ][plus is supposed to feature the “Autostart” ROM. If a disk controller card is present, it will try to boot from the disk, and only drops to BASIC as a last resort. Unfortunately, the early logic here can’t detect the Yellowstone as a disk controller; I’m told this feature does work fine on the Enhanced Apple IIe.

The board does feature a compatibility mode, controlled by a dip switch or a keyboard combination, which should be detectable by the Autostart ROM. But at that point, it disables all the other features of the card and doesn’t actually do anything that my older card can’t do. It’s necessary to support some particularly tricky disks, though.

That being said, autostart is just a convenience feature, and wasn’t even available on the original Integer BASIC ROMs. We can activate the card with the BASIC command PR#6 ; the 6 is the slot in which we installed the card. In fact, surprise! The shot of the garbled ProDOS error screen above was taken with this very card. Then I went and played the Sierra game Mission: Asteroid, which worked fine.

A secretary sits at a desk. The game is a text adventure with a prompt at the bottom of the screen.

So, as a 5.25” drive card, the Yellowstone so far ranks as slightly less convenient than the Apple 5.25” Drive Controller Card, but both work. But that’s not what I got this for.

Smartport Hard Drive

It may seem laughable today, but using a hard drive on the 8-bit Apple II was not very common; hard drives were very expensive and failure prone, and most software was based around disks as a result. This is a big reason why multiple disk drive support, either using the DuoDisk or daisy chaining, was so important– one disk would be taken up by your software and another one to save your data. Even multi-disk games like Sierra’s six-disk Time Zone expected users to constantly switch between them while playing.

But in 2022, we want hard drives, and we want more space. This is in fact the biggest reason I wanted the Yellowstone: combined with the Floppy Emu I already have, it could act as a Smartport controller. 3.5” drive support is nice too, but use of those is super-rare in original Apple II or IIplus world anyways.

In 2019, Apple II hacker idol 4am released a hard drive image worth craving; Total Replay, a 32MiB ProDOS image designed specifically focusing on the 8-bit Apple ][, which combines hundreds of games, integrated menus, a screensaver mode, and many other features. And it includes support for 64kiB NMOS Apple IIs like mine; I really want to try it out. Now I can!

Booting as a Smartport device on the Floppy Emu is a little less intuitive than booting a disk. If you select Smartport mode, you won’t get a file browser; you’ll need to make sure your disk image is named something like “smart0.po” (the number can increase to allow switching between up to 4 images) in the root directory of your microSD card. But with that all set, it’s PR#6 time!

TOTAL REPLAY 64K V5.0-BETA.2 MOCKINGBOARD IN SLOT 4

Sweet, it even recognized my Mockingboard. I guess I just need to wait to let it boot up a bit?

TOTAL REPLAY 64K V5.0-BETA.2 MOCKINGBOARD IN SLOT 4, the same image as above

Yeah, um, this isn’t proceeding. I did manage to get it to crash by jiggling cables, though. So that’s nice.

The screen above, but covered in garbage

NMOS woes and Firmware updates

I bought the Yellowstone at the beginning of the month, but proceeded to do nothing with it until the end. As usual, my laziness has caused me to prosper. Because Big Mess o’ Wires already found and fixed the bug. It’s an interesting read, turning out to be caused by an edge case that gets hit by the seemingly minor differences between the NMOS and CMOS 6502s. With its slower timing on the STA (indirect), Y operation, the NMOS 6502 does a spurious read from a card address that happens to be a special control port.

But the part that’s relevant for the post is that it’s fixed, with a firmware update. But how do you update the firmware? I don’t see any USB port! And yet, the Apple II is still a computer, after all. The firmware update is a disk or disk image you can boot from the Yellowstone itself, that runs a program on the Apple II’s 6502 to update the firmware.

LOADING DATA

The loading data takes a little while. But that makes sense when you think about it; once it starts updating the firmware, it’ll lose access to the ability to load any more from disk. So I’m quite happy that this firmware and its update program are small enough to fit in the 64kiB RAM of my Apple ][.

Once that’s done, you just need to note the card slot where the Yellowstone is present.

the firmware tool going through its steps

And that’s literally all that was required to boot up Total Replay and learn the screen I got stuck on was actually only supposed to be momentary. In any case, see you all, suckers, I’ve got games to play!

Total Replay boot screen in monochrome