Ok so since the original problem that prompted the creation of this thread has been solved I’ve decided to retool it into a development log. So with that said, I guess I should explain what exactly I am trying to do here.
Project Goals
Design a complete modern, stylish, compact JAMMA compatible Supergun that has all the bells and whistles such as:
[list=1]
[] Multiple video output options including: RGB, Component, S-Video and Composite. (Maybe HDMI in the future)
[] Game controller input options. For now Sega Saturn pads and MC Cthulhu (through Sega Saturn adapter cable). Possibly PS360+, but I don’t have any way to test that right now. In the future I am thinking of exploring a modular controller input board to support other game controllers.
[] Integrated DC-DC converters to provide all JAMMA voltages from a simple laptop style power brick.
[] Kick Harness Support for Capcom etc.
[*] Other stuff I can’t think of right now!
[/list]
The first order of business for me has been getting the Saturn controller adapter working. I have taken a schematic from this thread from NFGgames and heavily modified it to make it work properly with the MC Cthulhu. I’ve got more work to do on that front but the current schematic included below is working properly if anybody wants to build it. Once I’ve refined and debugged the controller interface I will move to the video conversion circuits and then the last thing I’ll sort out the power conversion stuff.
UPDATE: 10/1/17 I received my new 74ls193 chips in the mail yesterday and was able to get one wired up in my test circuit. With this chip replacing the 74ls393 the circuit works properly without the need of any additional logic gates. This keeps the parts count low and minimizes the amount of soldering that needs to be done. With this new circuit tested and a few modifications to the original schematic’s clock circuit design I now am ready to release an updated schematic which is tested and working if anyone wants to try building one.
**Current Working Controller Schematic: **
The schematic may be a little sloppy, and for that I apologize. It’s the first schematic I’ve ever drawn on a computer so I’m a little clumsy with the tools right now. From here I’m going to focus on making the circuit a little more efficient by swapping the 74ls374 output registers with 74ls139 1 in 4 out demultiplexers, thus eliminating the need for the 74ls138 and greatly reducing the amount of buss wires and soldering required to build the circuit. Once those changes have been implemented and debugged I’m going to look into PCB options. I’ll definitely be doing a small run for my personal use once I’ve got a PCB designed, and if anyone else likes the idea of having one of these we can talk about it when the time comes.
Original Post:
[details=Spoiler]I’ve been working on a Supergun for my CPSII that will interface with my MC Cthulhu equipped arcade sticks. My plan to make this work is simply to build a decoder for one of the MC Cthulhu’s compatible controller modes so that I can get discrete outputs to feed the the jamma connector and kick harness. This should work fine in theory but I’ve hit a few snags. If anyone has any suggestions I’d be thrilled to hear them.
My original approach was to build a Sega Saturn controller decoder using discrete logic based off of this thread from NFGgames. Here is the Schematic:
I built a prototype on perfboard:
With a genuine Saturn controller this decoder works perfectly, but with the MC Cthulhu connected I have strange button mapping issues. Up Down and Left register as HP MP and LP respectively and vice versa with the punch buttons. I think I know what is happening looking at the bit assignments for the Saturn controller from Gamesx.com.
See that both Up and Z (or in this case HP) are on the same data pin, but different states. So are Y, X and Down and Left respectively. This leads me to believe that the Cthulhu is simply misinterpreting the what state is being polled by the decoder and thus reporting jumbled up data depending on which state is being polled. The weirdest part to me is that B,C,A and Start all report correctly. Anyway I can only assume that the issue here might have something to do with the clock circuit on my decoder not operating at the frequency that the cthulhu expects, and that this is not an issue for genuine controllers because they are also using discrete logic to do the multiplexing and not some form of software emulation.
Unfortunately I lack an oscilloscope to really see what’s going on here, and I have no idea how to go about modifying the clock generator to test different frequencies, but if anyone has any suggestions I’d be all ears.
Here is a video demonstrating the controller mapping issues in real time.
[/details]