I demoed my current project this weekend at Kansasfest, which is a yearly convention for vintage Apple II hardware. I did my original iteration last year with a Pico, a Teensy 4.1 and a solderless breadboard full of transceivers, but over the course of the last year I have evolved to a PCB using a stack of Alchitry boards to do the same thing. It watches the Apple II bus, and forwards all bus events (address, data, and control bits) over the high speed Alchitry Ft board, to a Rasperry Pi, which extracts the control and video memory writes to render the Apple II video display out over HDMI. We have lots of goals beyond that, but I was able to bang together an entire working bus capture card just starting on July 2 when the Alchitry cards arrived from SparkFun. I did a quick breadboard for initial verification, but I also was able to get a PCB designed and ordered in, and got it working in time for the demo yesterday. Here it is, plugged into my Apple IIe. It’s chunky and hangs over the next slot, but as prototypes go, this is pretty amazingly compact and elegant!
I’ve had some roadblocks and life stuff happening since I did the Kanasfest demo in July. But there’s been progress! I have a fuller-featured PCB version which supports more of the Apple II bus, and today I hit the milestone of successful Mockingboard emulation. The Mockingboard was the most popular sound card for the Apple II series. My project partner had the host software side done months ago, but I only got the needed support on the FPGA working this afternoon.
The Mockingboard uses two VIA6522 chips to interface with the Apple II bus, and I did the emulation by slurping in a Verilog implementation of the 6522 which my project partner dug up, and wiring them up appropriately in the design. Once I wrapped my brain around what needed to be done, it was surprisingly easy. Not very much design code at all.