Archive for May, 2021
Testing Yellowstone 2.0
I’ve finished assembling the first prototype board of Yellowstone 2.0, my FPGA-based universal disk controller for Apple II computers. I used a syringe to dispense solder paste onto the pads, and baked the board on a hot plate with the surface mount components, before manually soldering all the through-hole components. It took about 1.5 hours to assemble, so it’s not something I’d want to do by hand very often. But for a one-off prototype it’s OK.
The board doesn’t work. After lots of puzzling and scratching my head, I determined that the data bus signal D5 is always stuck at 1. After another hour or two of puzzling, I discovered why. What’s wrong with this picture?
The image shows the traces and components on a small section of the Yellowstone 2.0 board. There’s a signal trace going directly through an unrelated power supply via under the R20 text. That signal trace is D5, so D5 is directly connected to the 3.3 volt supply. Arghh! How did I make that mistake? Why didn’t the layout software’s design rule checker warn me about the overlapping trace? When I rerun the DRC, it does warn me, so it’s not the software’s fault. I must have moved that trace just before I finalized the board layout, and forgotten to rerun the DRC. That’s an expensive mistake.
I can move the overlapping signal trace out of the way and get some new PCBs made, but that will take a few weeks. Meanwhile, can I fix this board somehow, so I can continue testing it? Usually I can fix mistakes like these by cutting a signal track with a razor, and soldering narrow gauge wire to replace the severed track. But here there’s not much room to work with for cutting. For most of its length, the problematic signal trace is only a few mils away from another signal trace, and my hand-cutting skills aren’t that precise. I also need to cut the track twice: once above the via overlap, and a second time below it, and then join them with wire. I think I can probably do it, but it’ll be tricky.
Read 7 comments and join the conversationNew Product Release: Dual 5.25 Adapter for Disk II, and Apple IIc Drive Switcher 2.0
Today Big Mess o’ Wires is releasing two new products for use with the BMOW Floppy Emu disk emulator for Apple computers. Remember the dual 5.25 inch floppy emulation mode that was announced back in February? It gave the Floppy Emu Model C hardware the ability to emulate two 5.25 inch drives at once, which is great for two-disk games and for reducing disk swapping. But sadly the Apple IIc and the Disk II Interface Controller card both lack the I/O signals required to control two drives over one cable. I hinted that adapter solutions might be coming soon; now here they are!
The Internal/External Drive Switcher is a two-piece adapter for the Apple IIc, providing an easy way to select which floppy drive will act as Drive 1. This new version 2.0 of the Switcher also adds optional support for dual 5.25 inch floppy emulation. Like the original 1.0 version, it’s a great convenience option for the IIc, which normally can only boot from its internal 5.25 inch floppy drive. Now IIc owners have three options:
BEHAVIOR | SWITCH ONE | SWITCH TWO |
---|---|---|
Swapped Mode Drive 1 is external, Drive 2 is internal |
||
Normal Mode Drive 1 is internal, Drive 2 is external, default Apple IIc behavior |
||
Dual External 5.25 Mode Drive 1 and Drive 2 are external, requires Floppy Emu Model C configured for Dual 5.25 emulation mode |
||
Invalid setting, do not use |
The Dual 5.25 Adapter for Disk II Interface Card works with the venerable Apple disk controller card found in most Apple II Plus and IIe computers. This disk controller card has two separate 10 x 2 pin rectangular connectors for two separate drives, instead of supporting two daisy-chained drives on a single cable like the later Apple II models. The Dual 5.25 Adapter takes all the I/O signals from the card’s Drive 1 connector, plus a single enable signal from the card’s Drive 2 connector, and merges them together for use by the Floppy Emu. Hello dual 5.25!
Both products are available now at the BMOW Store.
Read 4 comments and join the conversationApple II Binary Files and FPGA Reprogramming
I’m seeking help from all the Apple II programming gurus, with what may be an obvious question. During the development of the Yellowstone FPGA-based disk controller, I’ve written several times about my goal of providing a way for users to reprogram the FPGA without needing special hardware, in case there are bug fixes or feature improvements after the initial Yellowstone release. From a hardware standpoint, I think I’ve found a way to do this from the Apple II itself, by bit-banging SPI using some address lines and the slot’s /DEVSEL input signal. But from an Apple II software standpoint, I’m embarrassed to admit I don’t know what I’m doing.
I’d imagined something like this: a BASIC program asks the user what slot the Yellowstone card is installed in. It uses this to determine what Apple II address range will trigger the slot’s /DEVSEL. Then it reads binary data from a separate firmware file, maybe 1K at a time, and transmits it to the Yellowstone card via SPI using a carefully-crafted sequence of POKE statements. Or perhaps some helper assembly language routine instead of POKEs, for speed.
But as far as I can tell, Applesoft BASIC with DOS3.3 or ProDOS has no facility for reading binary files. Can that possibly be true? I fear I’m missing something obvious. Can I BLOAD a binary file from within a running BASIC program? How do I know what address is safe to load it at? Should I try storing the firmware in a zillion DATA statements in the BASIC program? I’m not sure it will all fit in the Apple II’s memory at once.
If I want to craft a small helper routine in assembly, to use within the BASIC program, what’s the best way to do that? I could encode it as DATA statements, but I think I’d need to copy it elsewhere before I could run it, and once again I’m unsure what address range would be safe to use.
There must be some example programs that already do something like this, but I’m drawing a blank.
Read 23 comments and join the conversationADB-USB Wombat Restock, and Global Shipping
The Wombat ADB-USB input converter is now back in stock at the BMOW Store. Thanks for everybody’s patience while we waited out multiple delays on delivery from my manufacturing partner. There’s now plenty of Wombat stock at BMOW HQ, so they won’t be selling out again any time soon.
What’s a Wombat? The Wombat is a bidirectional ADB-to-USB and USB-to-ADB converter for keyboards and mice, and was developed by Steve Chamberlin here at Big Mess o’ Wires. It can connect modern USB keyboards and mice to a classic ADB-based Macintosh, Apple IIgs, or NeXT, or connect legacy ADB input hardware to a USB-based computer running Windows, OSX, or Linux. For more details, please see the product description page.
Global Shipping is Back!
After ten days of confusion at the hands of US Customs and Export Control, BMOW global shipping is back! They’ll be celebrating from Calgary to Cardiff, Melbourne to Madrid. I never did get a clear explanation of exactly what went wrong, but some post office processing facility at the San Francisco International Distribution Center screwed up in a big way, resulting in thousands of international packages being incorrectly returned to sender from shippers all over the US West Coast. What a mess.
I’ve taken this opportunity to adjust the international shipping rates to reflect the latest USPS First Class Package International service rates. Pop quiz: what do France, Germany, the Czech Republic, Gibraltar, Hungary, Iceland, Lithuania, Poland, and Portugal all have in common? They’re nine countries whose USPS rate group offers cheaper shipping than most other international destinations outside North America. Why those nine countries? I really have no idea.
Can you guess what distinction is shared by Australia, New Zealand, Brazil, Hong Kong, South Korea, and Japan? Shipping to those six countries is more expensive than most of the rest of the world. I can sort of understand Australia and New Zealand due to their relative geographic isolation, but why single out Brazil or Japan? The lesson I’ve learned from these past ten days is never question the post office.
I’m looking forward to shipping lots more BMOW hardware to enthusiasts everywhere.
Read 2 comments and join the conversationCanada Shipping is Back Online!
Good news: the International Shipping Fiasco of May 2021 appears to be resolved, although the underlying causes are still unclear. Early indications are it was some kind of USPS screw-up with electronic collection of customs data at the San Francisco International Distribution Center. Shippers all over the US West Coast have been affected. There is blood in the water. Stay tuned for more details.
BMOW’s most recent Canadian test shipments have passed through customs successfully, so I’ve re-enabled Canadian shipping for the BMOW Store. Assuming there are no further surprises, I expect to re-enable international shipping for the rest of the world within the next few days.
Read 1 comment and join the conversationYellowstone 2.0 PCB
The Yellowstone version 2.0 PCBs are here! They sure look shiny. I wonder if they work.
This is the second generation of my FPGA-based disk controller design for the Apple II. In comparison to the version 1.0 PCB, you can see there’s more going on. While it’s nothing in comparison to any professionally-designed device, this will be the most complex thing I’ve ever designed or assembled.
Read 8 comments and join the conversation