SNES to PSX: SNES controller to Playstation adapter



Project overview

FF7 using an SNES controller

FF7 using an SNES controller

Some time ago (2013), someone asked me if I could build an adapter to use SNES controllers on a Playstation. This customer had a an arcade style controller he really liked but it was designed for SNES.

In fact, a few years before (2007), I had made the same project for another person. It's just that somehow, I forgot to publish it. So all I had to do was some code clean up and adapt the wiring for my modern multiuse PCB.

Specifications: Ready to use adapters are available in my online store:

goto top Up


Mappings

Mappings
SNES buttonType 1 Type 2 Type 3 Type 4 Type 5 Type 6 Type 7
B X O Triangle Square O X X
Y Square X O X Triangle Square Square
A O R2 X Triangle Square O O
X Triangle Triangle Square O X Triangle Triangle
R R1 R1 R1 R1 L1 R2 L1
L L1 Square L1 L1 R1 L2 R1
Start Start
Select Select
Up Up Down
Down Down Up
Left Left Right
Right Right Left

Mapping selection:
MappingInstructionsComments
Type 1Default mapping.Natural layout of SNES XYAB to PSX ☓○△□
Type 2Hold SELECT at power-upFormerly known as the "Quang" mapping.
Type 3Hold A at power-up
Type 4Hold B at power-up
Type 5Hold X at power-upAnother variation. R1/L1 swapped.
Type 6Hold Y at power-upSame as Type 1 with R2/L2 instead of R1/L1.
Type 7Hold L at power-upDirections reversed for right-hand steering on arcade sticks.

goto top Up


Games tested

Digital controller

Digital controller

For a game to work, it must support original Playstation digital controllers (those without the analog sticks).

Tested working PS1 games as of version 1.2:
Arcade Party Pak, Captain Commando, Chrono Cross (US), CoolBoarders 4 (US), Don Pachi & Do Don Pachi, Ehrgeiz (JP), Einhänder, Final Fantasy Anthology: FFV (US), Final Fantasy Anthology: FFVI (US), Final Fantasy Chronicles: FFIV (US), Final Fantasy Chronicles: Chrono Trigger (US), Final Fantasy Origins (US), Final Fantasy Tactics (US), Final Fantasy VII (JP)(US), Final Fantasy VIII (US), Final Fantaxy IX (US), Gradius Gaiden (JP), Gran Turismo 2 (US), グレイトヒッツ (JP), Harry Potter (US), Hebereke Popoitto, King of Fighters 99, Konami Arcade Classics, Legacy of Kain: Soul Reaver (US), Mega Man (X4, X5, X6, 8), Namco Arcade Museum Volume 1, Namco Arcade Museum Volume 3, Metal Slug, It might be NES, No Fear Downhill Mountain Bike Racing (US), Parasite Eve (US), PS1 menu (US), Puyo Puyo Sun, Puzzle Bobble (whole series), Rollcage (US), R-Type Delta Secret of mana, Smurf Racer! (US), Soulblade, Street Fighter (10 different ones), Tales of Phantasia (JP), Tekken 2, Tomba, Vagrant Story (US), Wild Arms 2 (US),

(Of course, many other games will work. Please let me know).

Non-working PS1 games:
With the current firmware (v1.2), there are no known non-working games.

With the previous firmware (v1.1), the following games did not work:
Ehrgeiz (JP), Einhander (JP), Rockman X3 (JP), Rollcage (US), Silhouette Mirage (JP), Tales of Phantasia (JP), Tobal 2 (JP), Vagrant Story (US),

PS2 games:
Even though the PS2 menu does work, most PS2 games seem to require an analog controller to be present, even when they work perfectly without. Notably: Mega man anniversary collection does not work.
Ok... and the reason is?

Ok... and the reason is?


goto top Up


Schematic and wiring

First of all, the schematic:



Here are a few notes about the signals:
Playstation
#NameLocationComments
1 DATA PB4 Through transistor (Open-collector output). SPI MISO. (to PSX)
2 CMD PB3 SPI MOSI (from PSX)
3 +7.6V Not used
4 GND GND Power supply (from PSX).
5 +3.3V VCC Power supply (from PSX).
6 ATT PB2 SPI "Chip select" (from PSX)
7 CLK PB5 SPI SCK (from PSX)
8 N/A
9 ACK PC0 "Simulated" open collector (to PSX)
SNES
NomLocationComments
Clock PC5
Latch PC4
Data PC3
Vcc VCC +3.3 volt
Gnd GND

Notes:

goto top Up


Software

File(s)DateDescription
snes2ps-1.3.tar.gz (15.9 KB)
snes2ps-1.3.hex (2.7 KB)
June 29, 2014 (Sunday) Add 5 new button mappings
snes2ps-1.2.tar.gz (15.6 KB)
snes2ps-1.2.hex (1.8 KB)
June 1, 2014 (Sunday) Improved game compatibility
snes2ps-1.1.tar.gz (15.3 KB)
snes2ps-1.1.hex (1.8 KB)
March 1, 2014 (Saturday) Initial public release:
  • Works as a Playstation digital controller
  • Two button mappings.
This project is also available on GitHub!
To request features, report issues or contribute, you may send me an email or use the GitHub repository:
https://github.com/raphnet/snes2ps
Using the .hex files
The Atmega8a has to be programmed using the .hex file. The "fuse bytes" for this project are high_byte=0xd9, low_byte=0xe4.

For more information about the tools required to program an AVR microcontroller, please visit my AVR programming page.

Source Code (.tar.gz files):
Unless indicated otherwise, the source code is published under the GPL license version 3. Please consult the included gpl.txt file for more information. The project compiles using the included makefiles using avr-gcc under Linux.

goto top Up


Pictures

Here is the prototype I built in 2007. I had used my Multiuse tiny1 to build an adapter:


The adapters I now build (and sell in my store) are based on my Multiuse PCB2 circuit which has conveniently has a footprint for the required transistor on the bottom side.


Warning: Do NOT rely on the wire colors shown in the above pictures. The relationship between pin numbers and wire color varies according to the cable manufacturer, and sometimes even between batches. You must find out the color code used by your cables using a continuity tester. Blindly following the colors seen here may damage your Playstation, your SNES controller and the adapter circuit.

goto top Up


Pictures from users

Seeing how others build my projects is always a pleasure. Send me your pictures and I'll add them here. Also let me know if you have a name/alias and country I can mention. By default, I will use your first name.

goto top Up


References

A text file named Playstation.txt I downloaded a long time ago was most useful for this project.

goto top Up


Disclaimer

I cannot be held responsible for any damages that could occur to you or your equipment while following the procedures present on this page. Also, I GIVE ABSOLUTELY NO WARRANTY on the correctness and usability of the informations on this page. Please note, however, that the procedures above have worked in my case without any damages or problems.

Now you cannot say that I did not warn you :)

goto top Up


Trademarks used in this site are the property of their respectives owners.
Copyright © 2002-2017, Raphaël Assénat
Website coded withWebsite coded with vimLast update: October 15, 2016 (Saturday)