SNES Pad to PC engine adaptor

Started by Vimtoman, 04/14/2016, 02:30 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Vimtoman

I have a working circuit for a SNES Pad to 2/6 Avenue style pad converter.
Would like some input of what keys to set to the SNES buttons.
Obvious ones are set below. Missing ones with ?

This is going to be set once the pcb is made.

PCE : SNES
Run     : Start
Select  : Select
Up       : Up
Down   : Down
Left      : Left
Right    : Right
?          : Y
?          : B
?          : X
?          : A
?          : Left Shoulder button
?          : Right Shoulder button

Will have switches for
2/6 pad
auto fire for I
auto fire for II
Slow mo

If the adaptors auto fire are switched off any snes pad having auto fire switches should work.
Dont have one to test.

Still have to source switches and design the pcb.

Will make a bunch up for sale to all at PCenginefx and schematic etc will be released.

wilykat

For me I would like B and A for II and I button.  Make X and Y rapid fire B and A.  Shoulder button no function in 2 buttons mode.

I haven't done enough 6 button gaming to see what works best.

Vimtoman

I've not done many 6 button games as well hence me asking.
OK I have one problem as this is not a full CPU conversion and is mostly TTL.
There is a CPU but it's just clocking and latching at a high speed.
I just didnt want to get to a point of having to add a display.
As you could have numerous variations I will probably have pcb pads for user configurable.   
SNES on one side and PCE on the other. wired buy user for setup.

I like your setup but I found that I also liked Y as II and B as I.

wilykat

PC Engine controllers used 74157 4 to 2 muxer, and SNES controllers used dual 4021 8 to 1 shift register to encode total of 16 input (only 12 used, 4 tied to +5v).  If you used something like 74164 1 in to 8 out, chained to get 16 total output you can decode SNES controller data, and you have up to 12 usable functions (plus that 4 more bits that are always HIGH) that you can wire to 74157 like a normal PCE or TG16 controller to get proper data encoding.

A few chips or use something like microprocessor like ATMega or CPLD, PAL, whatever.  It's all easy for one who knows electronics.  If it was up to me, I'd just program ATMega to read SNES controller via readily available library, check the SELECT (or CLOCK or whatever depending on which schematic,  from pin 6 on PCE controller) to determine which mode (A on low, or B oh high) and feed the specific controller function from SNES side to the 4 data pins unless enable line (pin 7 on PCE controller) is HIGH.  If the enable is HIGH, ATMega can tristate the 4 data outputs to avoid bus conflict.  ATMega should have internal pullup resistor enabled on the 4 data outputs.  Minimum of 9 I/O pins would be needed so just about any ATMega chips other than ATTiny can work.  (ATMega2560 would be serious overkill even if you're trying to build 5 SNES to PCE multi-tap type adapter with switchable 1 player or 5 players mode, 70 total I/O pins!)

Vimtoman

I started off using the CPU and have a Pic and a Mega reading the snes controller.
Then thought I'd hook up to a pad to see if I could transfer the serial data to a standard pad through a serial to parallel converter. just to check it out.
The CPU then just ended up doing the clocking and latching. The serial goes direct.
I can go further and use the CPU to do the rest but thought that, well for few dollars worth of TTL IC's this would work faultlessly and fast.
The rapid fire would be the same speed.
The only down side was there was 6 IC's.

I have most of the software completed and may continue doing the full conversion on CPU.
I just liked the fact that the old school TTL worked like clockwork:)

gojira1954

Wow this looks complicated :s

wilykat

So is brain surgery but doctors will tell you it's easy  :mrgreen:

I've been playing with electronics for oh about 35 years so I have plenty of experience and understanding and could probably build anything from scratch. It's how I was able to may my Duo-R have 16x more memory for saving games.

Using a bunch of TTL chips vs using a single microprocessor.  ATMega328p can be bought for as little as $2 in bulk from reputable sources.  I haven't checked the prices for TTL but one chip takes less space, less wiring, and be easier to troubleshoot if something doesn't work.

Vimtoman

I  may go back and and try to program this.
Just used the TTL route whilst investigating the snes pad.
TTL is a stable as you can get as long as you have the correct circuit.
I'm going to finish this off so that I have one made up.
The snes pad does feels a lot better than the PC Engine stock pad.

esteban

Quote from: Vimtoman on 04/17/2016, 12:34 PMI  may go back and and try to program this.
Just used the TTL route whilst investigating the snes pad.
TTL is a stable as you can get as long as you have the correct circuit.
I'm going to finish this off so that I have one made up.
The snes pad does feels a lot better than the PC Engine stock pad.
I like the SNES pad, but I don't think it feels that much better, if at all, than the PCE pads.

MegaDrive/Genesis pads, on the other hand...something a bit too mushy about them, and physical location...

But I digress... :)
IMGIMG IMG  |  IMG  |  IMG IMG

Vimtoman

compare it to any of the Avenue pads.
I found the the 3 button and 6 button directional controls pretty dire on those two.
The two button stock ones are better but the snes one I found more comfortable and responsive.

I'm going to release all the info for the circuit when finalised so everyone can build one themselves.

Phase

May want to have select as a R shoulder for games with select as something in game, if R is not used for anything.
Genesis 6 or Saturn controller for street fighter would be pretty cool.

Duo_R

Add my YouTube channel: https://youtu.be/sOg93QUtlg0
For sale trade list: https://tinyurl.com/2csm7kq

gojira1954

Quote from: Phase on 04/17/2016, 09:58 PMMay want to have select as a R shoulder for games with select as something in game, if R is not used for anything.
Genesis 6 or Saturn controller for street fighter would be pretty cool.
Yeah these pads are the best choice for SF I think, would love to get an adapter for either!

Vimtoman

Quote from: Phase on 04/17/2016, 09:58 PMMay want to have select as a R shoulder for games with select as something in game, if R is not used for anything.
Genesis 6 or Saturn controller for street fighter would be pretty cool.
I'm going to have a switch for 2/6way pad and have one last pole which I will use for select on right shoulder.
I have two used for switching rapid fire of I and II buttons.

Vimtoman

OK Pcb's on order should be with me in a month and a half.
Picked the laid back supply.
Hopefully I've not made a mistake.

I will make one or two up for a raffle.

In two button mode there is auto fire on A and X whilst  B and Y is I and II.
Right shoulder is select.

Switch selects between 6 & 2 button mode.

TTL with high speed 32MHz CPU clocking/latching so realtime.

Will post details when tested on ne pcb's.

Vimtoman

#15
OK have my pcb's in and I have cocked uo a couple of things.
One pullup missing and one track error.
Nothing major.

I'm going to raffle two boards with IC's and 2/6way switch.
These will need a 8pin din cable wired.

IMG
IMG

rafflle on another thread.

gage1013

I was hoping someone would come up with a PCE pad replacement, since they are becoming hard to obtain. Congratulations and thank you for your hard work, if you end up selling PCBs I would be interetested!

Vimtoman

I will probably make one with a mini 8pin din socket on the other end.

I was hoping that this may inspire somebody with coding abilities to make a CPU version.

gojira1954

Any chance of a MD/saturn version? This is a cool project =]

Vimtoman


gojira1954

A MD version would be wicked =]