Connecting SEGA Mega Drive controllers to the beeb

for bbc micro/electron hardware, peripherals & programming issues (NOT emulators!)
User avatar
tricky
Posts: 1990
Joined: Tue Jun 21, 2011 8:25 am
Contact:

Connecting SEGA Mega Drive controllers to the beeb

Postby tricky » Fri Jan 12, 2018 7:50 pm

I have been looking at adding joystick support for when I take my games on the road and not really been very happy with any of the solutions.
* I wanted something cheap (as they may walk or get broken and I might want quite a few).
* be compatible with standard analogue sticks so that they could be used with the STH archive.
* be fairly easy to attach to a beeb (minimal extra circuitry).
* be "joypad/gamepad" format so that people under 40 would understand how to use them.

The best (least worst) option so far is these from China (the controller's quality is about on a par with their boxes)!
sega_joypad.jpg
Seems to work, but does feel "cheap".

I designed a circuit (in DIA) to map the controller 9 pin d-sub (not Atari compatible) to the beeb using 3 resistors per channel to generate 0v, .95v and 1.9v (or thereabouts) to feed the ADC.
wiring.png
I may swap the fire buttons later.

I prototyped this using another "China special" (pairing resistors to get the values a thought might work).
prototype.jpg
It seemed to work OK with ADVAL.

I am still in the process of building a proper prototype, but it shouldn't work!
chip_down.jpg
The IC (CD4069UBE) has six inverters, one for each analogue channel and two for the fire buttons.

chip_up.jpg
The switch is to map both fire buttons on the first pad or one on each.

end_view.jpg
The housing is a 30 something pin D-sub cover.

I still have to wire up the 0v, 5v and LPSTB using the same trick as Warlords to get 4 fire buttons, although here, the SEGA controllers already have LS157s in them, so I don't need to add one. If the beeb used digital directions, you could use D+8 buttons, but as we have to wait for the ADC to complete, we will have to make do with either A+A, AB (1 pad), AC+AC* or ACBstart* (1 pad) (if I have them the right way around).
* These require the game to support the LPSTB hack or someone (JGH maybe?) to support them with ADVAL.
See this thread for more info on the LPSTB hack.

A similar adapter might make a good candidate for the Master Compact , but would require the pins swapping and an inverter as the buttons are 0v unpressed and 5v pressed (opposite to most controllers).

Please check that my designs are correct before building your own and connecting it to anything!

Return to “hardware”

Who is online

Users browsing this forum: hicks, myelin and 9 guests