No Device Connected
Finally, the first real progress on the Yellowstone disk controller since last summer! Sometimes an error is a good thing. It doesn’t look like much yet, but this error demonstrates that the Yellowstone card is correctly decoding address references to its slot, and is serving up data from a simulated ROM inside the FPGA. In this case the ROM data is the firmware from a stock Liron card. The Apple II’s 6502 CPU runs the firmware, which tries to use the FPGA’s soft-IWM to find a Smartport-capable disk drive. It finds none, and prints an error message. Hot stuff.
An error message is much better than having PR#5 crash the computer. That’s what happened on the many previous iterations of this test.
The next step is to stick a logic analyzer on the card’s disk interface, and see if the I/O lines are moving as expected. If that works, I’ll connect a disk drive and cross my fingers.
I also received another Lattice clone JTAG programmer in the mail today. This one worked on the first try, and the power/status LED works too! After a week of fiddling with my first Lattice clone, and reworking its PCB to replace the 74LS244 with a 74HC244, I finally got that one working as well. Fixing the first JTAG programmer was an interesting digression, but not really how I’d hoped to spend my time. If you’re shopping for a Lattice clone JTAG programmer, choose the one that looks like this:
not this:
Time for a celebratory beer.
Read 3 comments and join the conversation3 Comments so far
Leave a reply. For customer support issues, please use the Customer Support link instead of writing comments.
Hooray! I’ve been thinking about buying one of those programmers, I will definitely get the one with the full color label, and hope for the best.
Holy cow, it works! I successfully booted my Apple IIe from a 6 MB hard disk image, using the Yellowstone card and a Floppy Emu Model B in Smartport mode. It worked on the first try, which is surprising. I wrote my Verilog implementation of the IWM chip (Integrated Wozniak Machine) completely from the design spec without doing any testing or validation along the way, so I expected to have lots of bugs to fix once I tried it with real hardware. But if there are any bugs, apparently they’re minor ones. I still need to do some more thorough validation, but the fact that it boots is a very positive sign!
I also did some experiments in the Apple II system monitor, probing memory addresses on the Yellowstone card to set individual disk I/O signals high or low. That seems to be working as expected.
In theory this should also work with a real Unidisk 3.5 drive or any other Smartport drive. I’m hesitant to connect my Unidisk 3.5 just yet, until I’m super-extra-sure all the I/O signals are correct and the voltage level conversion is working as expected. An accidental connection of 5V output to 3.3V input would kill the FPGA. There are also some Apple drives that internally ground some of their “inputs”, and attempting to drive those to a logical 1 high voltage without special handling would also kill the FPGA. I need to be very sure I won’t accidentally release the “magic smoke” when connecting a real Apple disk drive.
This is great news!!!