Daisy Chainer Update
Picking up after a month hiatus, I’ve assembled one unit of the Daisy Chainer for the Floppy Emu disk emulator, and it seems to be working. I’ve only had time to do brief testing, but so far so good, and the power/ground weirdness observed in the breadboard prototype appears to be gone. Some parts that I planned for proved to be unnecessary, so you can see a few unpopulated footprints on the board. To be removed in a version 2 PCB, maybe.
The Daisy Chainer board makes it possible to insert a Floppy Emu anywhere into your daisy chain of Apple II drives, with other floppy drives before and/or after it in the chain. It provides a nice improvement in flexibility for Apple IIGS owners and other Apple II users with complex drive setups.
As seen in the photos, I ultimately went with the “smart” design that I discussed earlier, with an ATMEGA48 microcontroller in charge of the show. But the firmware couldn’t be simpler: it’s just a 12-instruction loop that reads some inputs, updates three bits of state, and uses a lookup table to determine some output values. I’m still not convinced this was the best approach, since I could have performed the same function with just 2 or 3 basic logic ICs. But the microcontroller is no more expensive, and it’s more compact, and more flexible, so maybe it’s OK even if it does feel like overkill.
Usage is simple: just plug it in and turn it on. The male DB19 (at left in the photo) connects to the upstream drive in the daisy chain, or directly to the computer if there’s no upstream drive. The female DB19 (at right) connects to the downstream drive, and the Floppy Emu connects to the 2×10 header with its ribbon cable. There are no user controls and nothing to configure. The only nod to “human interface” is a set of three LEDs that might be useful for debugging, or for curious nerds. They show the status signals used for detecting the drive type of the Floppy Emu and the downstream drive.
Read 12 comments and join the conversation12 Comments so far
Leave a reply. For customer support issues, please use the Customer Support link instead of writing comments.
Where are you finding female DBs? Last I heard, JKM was searching for them for Applesauce and failing.
Good job Steve, it looks good. I will have one when available, as it seems to work for me. I have a
Apple Duo Drive that would plug into the right hand side as shown in the above photo, and one of my Floppy emu’s directly into the Daisy Chain. Have you tested the unit with a Duo Drive?
Awesome! I’m glad this project turned out to be relatively straightforward. I’m looking forward to getting my hands on one.
I spoke too soon – there’s some strange problem appearing on my Apple IIc, and I’m falling down a rabbit hole while trying to understand it. The problem actually seems to be with the Floppy Emu rather than the Daisy Chain board, but it makes it so the D.C. board can’t correctly detect the Emu’s disk type. It looks like the Emu’s CPLD chip maybe isn’t initializing to its correct power-on reset state. Some registers that are supposed to initialize to zero appear to initialize to one when running from the IIc. It’s weird. I’m not sure why it only happens on my IIc, but it may be something about how quickly the 5V supply ramps up from a cold boot. If that’s the case, other people’s computers may behave differently than mine, depending on the PSU. So… ugh.
@Keith doesn’t the Duo Disk have some type of non-standard 25-pin disk connector? This board should work for any 3.5 or 5.25 inch drive that has a 19-pin connector with the standard pin assignments. If the Duo Disk is really just two 5.25 inch drives that are internally daisy chained, then it should work too provided that it has the right connector.
Yes, the DuoDisk had a DB-25 (like the one used on the Apple III Plus) but the cable had a DB-25 on one end and a DB-19 on the other end to plug into an Apple II disk controller. From what I understand it works with the Apple III Plus (including providing disk-changed notifications) and presumably with an original Apple III (with an appropriate adapter for use the Apple III’s 26-pin ribbon cable connector).
They quickly repositioned it as an Apple II peripheral when the Apple III Plus failed even harder than the Apple III. (The DuoDisk manuals I’ve ever seen don’t even mention the Apple III Plus or Apple III.)
It works with most Apple II disk controllers although the IIGS ROM 3 and early versions of the IIc ROM have problems with it. (There’s a modification to the analog board to make it work with the IIGS ROM 3 and most people upgrade the IIc ROM for various other reasons.
It’s not very useful to daisy chain it behind another 5.25″ drive (given the two drive per controller limitation) but I can’t think of any reason it wouldn’t work.
Thanks, sounds like the DuoDisk should work OK then.
I’ve tested Floppy Emu startup on a IIgs, IIc, IIe, and from a USB power supply (no computer). The CPLD initializes correctly in all cases except with the IIc, but I can’t explain why. This causes major problems for the Daisy Chain board. The Emu’s CPLD is a Xilinx XC9572XL, and I’ve configured all the internal registers to have an initial power-on state of low (zero). But with the IIc this doesn’t appear to work – either they get initialized to 1, or initialize to 0 but are immediately set to 1 somehow.
The only explanation I can think of is that the IIc has the slowest power supply ramp-up from 0 to 5V when the power is turned on. It takes about 7ms to reach 3V, where the circuit begins working. The other computers and USB supply take between 0.2 and 3ms to reach the same level. But even 7ms is not slow. I can’t think of why it would cause a problem. Maybe the problem is totally unrelated to the ramp-up time and it’s just a coincidence.
Nice work! I hope you can solve the power-on-reset problem.
Have you considered a Paduak microcontroller instead of the ATmega48? If you don’t need all of the ATmega’s I/O pins, you could try the Padauk PMS154C-S16. It’s a 16-pin, one-time-programmable MCU that can be had for less than 10 cents. I’ve never used it but it seems like the right thing to run your tight loop.
Also there is the Silego/Dialog Semi GreenPAK series. They’re little FPGA-type things with a few LUTs and some analog stuff for around 50-70 cents each. Most are OTP (you use a ZIF socket or order them preprogrammed) but some can be reprogrammed multiple times. You could use those for a similar function in the future. The GreenPAK designer program used to program them is surprisingly easy to use, although only schematic entry is provided, no Verilog or anything. But it’s all so simple that I kind of appreciated doing the visual-type schematic entry.
Now I have a question for you. Were the DB-19 female connectors easy to source?
No, DB-19 females are near impossible to find. I have a supply of about 150 to make an initial batch of Daisy Chainer boards, at least.
Will this also support two floppy EMU’s as part of the daisy chain?
Or perhaps I should also ask, any thought on making a version of this board where two Floppy EMU’s could be attached? The more I use this product, the more apparent it is that you really need two of these devices because many Apple II programs need two floppy drives. I have yet to purchase a second unit, mainly because of cost, but it really is hard to use this when you have to keep swapping disk images. It brings back bad memories of 1983 when a Disk ][ drive itself was near $400 and one made do with one floppy drive until it drove one insane. Eventually costs came down and two drives became the standard. Also, any thoughts on making it easier to switch between Mac and Apple II firmware? Still very painful on my Model B.
Anyone ever made a STL case for this board?