A little over a year ago I posted this topic where I was troubleshooting a Saturn controller demuxer schematic that I found on another forum. While it worked with official Saturn pads, I could not get it to interface properly with my MC Cthulhu. With some help I ended up solving the problem and posting an updated schematic which you can see in that thread. I had hoped to design a Supergun utilizing that controller demuxer which I could use to play my CPS2 PCBs, but the problem that still remained with the design was it’s high parts cost due to being made from all discrete logic. Lots of chips = high BOM for such a simple function so streamlining had to be done. I had hoped to revisit it sooner, but life got in the way and that never really came to fruition.
Yesterday however, I got a wild hair to tinker with an online Arduino simulator, and the first idea that came to mind was to try writing a sketch that would perform the same demultiplexing logic that all of those discrete chips in the other design were being used for. In about an hour I had something vaguely functional so I transitioned to working on a real Arduino in my workshop. Several hours of debugging later I have a seemingly functional piece of hardware here that should be able to perform the same task with a single atmega328p chip instead of 7 discrete ICs and a mile of wire.
I would consider this in to be alpha status currently. I know that both official Saturn pads and MC Cthulhu boards work properly, monitored inputs and outputs on my scope, and everything looks good. The only thing I haven’t done yet is wire the test board to a jamma harness and test for latency on real hardware. I’ll probably hold off on that until after Christmas.
Here is a link to the Github repository for this project. Feel free to play with this, it was written for an Arduino uno or other compatible boards… I plan to make a dedicated pcb for this. Probably as a db15 adapter to start with, and we’ll see what else I want to do after that. Unlike last time, I think I’ll actually have the time to see this simple project through to the end.