Yellowstone 3.5 Inch Drive Support!
Success! My Yellowstone disk controller card for the Apple II now works with 3.5 inch floppy drives! Along with the previously-implemented 5.25 inch floppy and Smartport HD support, this completes the triumvirate of Apple II disk drives. While it’s still very rough around the edges, I now have a working universal disk controller for Apple II that can handle any type of disk drive. This is exciting, because existing disk controllers for two of the three drive types are rare, expensive, or both. After a very long period of slow progress, I feel that everything’s finally starting to come together.
I’m especially pleased to see 3.5 inch floppies working, because 1 MHz Apple II machines like my Apple IIe theoretically aren’t fast enough to keep up with the higher bit rate of 3.5 inch disks. There’s not enough time for the CPU to poll for a new byte, store it, and get ready for the next byte before it’s already passed by. The official 3.5 inch disk controller card from Apple solves this problem by placing an entire second computer on the disk controller, with its own 2 MHz 6502 CPU, RAM, and ROM. But Yellowstone uses some Very Special Tricks in hardware to achieve 3.5 inch floppy support on the 1 MHz CPU. It borrows a technique from the UDC disk controller, and forces the computer’s READY signal low to halt the CPU until a new disk byte is ready. This eliminates the need for software polling, and shaves just enough cycles to make everything work.
So now what? This is just the beginning; a proof of concept more than a finished project. I’ve only done the most cursory testing, and I’m sure there are many compatibility problems still to address, and devilish bugs to find and fix. I know about a few of them already. Here’s some of my planned testing:
- Test all disk types with more thorough read and write tests
- Try all the copy-protected 5.25 inch disks that rely on weird behaviors
- Test formatting disks
- Test with other cards installed in every slot
- Test with an NMOS 6502 CPU
- Boot from another disk controller and access Yellowstone as a secondary
- Use with Apple IIGS at fast speed
- Boot GSOS from 3.5 inch floppy and Smartport HD
Yay for testing. It’s important, but not very fun, and I may enlist some beta testers to help. The other big task still ahead is to design the second hardware version of the Yellowstone card. The current prototype has sprouted extra patch wires and even an extra chip glued to the board, but it’s still missing some key features. Here are some of the items on my to-do list:
- Remove SPI ROM
- Add external SRAM
- Add a second disk connector
- Add a switch to select between 2-port operation or daisy-chain 1-port
- Buffer to isolate FPGA from disk signals
- Connect Q3 and IOSTROBE to FPGA clock pins
- Connect the upper 4 address lines
- Connect RDY and PHI1
- Add output buffer for RDY
- Make better / wider GND connections
- Improve the bypass capacitors
- Allowance for in-circuit JTAG / SPI reprogramming
- Allowance for self-test or external test
- Add open-drain buffers or inline resistors for disk signals with multiple drivers
- Label all the unlabeled pins and ports on the card
- Switch to a bigger LDO voltage regulator
- Add more power and ground test points
- Round the corners on PCB
That ought to keep me busy for a while.
Read 11 comments and join the conversation11 Comments so far
Leave a reply. For customer support issues, please use the Customer Support link instead of writing comments.
Any chance this will support the dream of mounting a 32mb DOS 3.3 image as s6,d1 (with whatever DOS you format it with), another DOS 3.3 32mb image as another s,d like you did with old HDs of the past so we can copy all our DOS 3.3 files onto ONE HUGE VOLUME?
All-in-one is very attractive, especially the compatibility of the protected disc. If it have self-test and maybe even latest SSD media support in coming days.
Enjoy reading about your successes! With this card, what would the maximum number of drives and/or combinations that are achievable?
It would be very interesting to work with 1.44mb drives as well. Will It make it?
Fantastic work.
I wonder if the use of the RDY signal would cause failures for some/any protected software titles.
Might be a good idea to have someone with a (non-modified, so not me) Franklin ACE beta test it π
Beta testing? Count me in, sir.
Great work!
I can help with beta-testing – on an Apple IIe Enhanced, and IIGS ROM 3. I got a Logic Analyzer and Oscilloscope to send some data back as well.
Good morning, and thanks for the questions!
I’m not familiar with the 32mb DOS 3.3 concept, but it sounds like a filesystem issue rather than a disk controller issue.
The card should support two drives of the same or different types. I discussed some of the potential issues with larger daisy chains in my earlier posts. The hardware could theoretically handle it, but the software would be a challenge. Maybe in version 3. π
1.44 MB disks are not supported. Their bit rate is twice the rate of 800K 3.5 disks, which is twice the rate of 5.25 inch disks, and the READY gating trick won’t stretch that far on a 1 MHz Apple II.
I haven’t tested this yet, but standard 3.5 inch Macintosh drives should work. Both the 800K Macintosh drives, and the 1.44 MB Macintosh drives when using 800K media.
The READY gating shouldn’t (I hope?) cause problems for copy-protected games on 5.25 inch disks, because those games have their own disk I/O routines that don’t know about READY gating and won’t use it. READY is only needed for 3.5 inch disks. I’ve tested a few copy-protected 5.25 inch WOZ disk images and they loaded fine, but need to try more.
I have some doubts about the READY mechanism on the oldest 1 MHz NMOS 6502. These would only be found in the original Apple II and some Apple II+ computers, I think. The signal timing may not meet the CPU requirements – I’m not sure. The datasheets seem unclear, even contradictory. The CMOS 65c02 is fine, and I’ve also tested with a Synertek S10891, which I think is an NMOS 6502B rated for 3 MHz operation even though it’s only running at 1 MHz. There were several different manufacturers of 6502, so that will complicate testing.
Thanks for the beta test offers. It will be several more months minimum before I have something close enough to finished to be worth beta testing. If there’s a lot of interest, I’ll probably prioritize people who have many different Apple II models and especially many different types of disk drives, and whose idea of “fun” includes trying every possible permutation of those. π
The real test on a IIgs would be seeing if it plays nice with the I/O slowdown logic, particularly in accelerated machines. I ran into problems trying to overclock my Transwarp GS and accessing 3.5″ disks with the onboard IWM because the slowdown logic…… wasn’t fast enough!
Not surprised that it doesn’t support 1.44MB MFM disks, Apple’s own card for that has the 2Mhz 65c02 and RAM. It really makes me wonder what the problem was on the IIc+ that Apple needed to develop a special chip to allow for 3.5″ drives. They later added a built-in accelerator rending it moot, but the special controller for 1Mhz operation remains on the board.
I can help with beta testing. I have IIe, ii+, and IIGS. Does it work with the 3.5 unidisk? I use one on my ii+ and would love to test out a replacement card. Otherwise, if you you donβt need me at testing. Count me in for purchase when done. Good going and getting this done!