What's new

SB_Electronics

Student
Joined
Feb 17, 2023
Messages
47
Reaction score
41
Location
UK
A question for those who have done controller conversion boards.

I’m trying to design a board to convert a Megadrive controller signal to arcade Supergun DB15 standard as part of a Supergun project. Unfortunately the only Megadrive converter board I’m aware of doesn’t have published code. There is SNES and Saturn code but these behave differently to the Megadrive.

I know current boards use an Arduino to handle the signals but I want to move over to a CPLD based design. I essentially need to create a demultiplexer function with 1 control line. Is it essentially a case of getting the CPLD to send the control signal to the controller and have the demultiplexer read the same control line state to decide the incoming signal state and then output this to the DB15 pins?
 
I think Mega Drive is actually a slightly more complicated state machine:
https://jonthysell.com/2014/07/26/reading-sega-genesis-controllers-with-arduino/
(Assuming you want 6 button controllers as well?)

Edit: I guess you want to latch the state of each button in each phase, because you can never predict when something expects to read a specific control. Some (Most?) games will read input once per frame, so just forwarding the inputs will not be enough.
 
Last edited:
Thank you for the link. I’ve read up on the process a little but there is not as much info on demultiplexing the signals.

I only plan on doing a 3 button conversion for now. It’s for a Sega System 16 specific board and most games are only 3 button. As long as I have all the relevant signals routed, I can write a firmware update later with added features like multi fire and button remapping.

The Sega Megadrive reads the button states 60 times a second (50 for PAL) or once per field.

So I probably need to recreate the control signal with the CPLD, send it to the controller, read the return signals and compare against the control signal state.
 
I used to have a much better description of the protocol but wasn't able to find the link... though I think for 3 buttons you just need to worry about the select signal.
 
Hi, that’s a very kind offer. I may have to take you up on that if I’m unable to make headway with this code.

I was referring to the MD2NEO mod by @Frank_fjs. I was unaware of another Megadrive to DB15 adapter.

I am hoping to make one using a CPLD as they are perfect for replicating Logic functions and have lots more IO than the smaller arduino already used. Perfect for upgrading to 6 button controllers or adding functions like rapid fire and button mapping.
 
Back
Top