PSX to SEGA Saturn Analog pad adapter

Well, here i present my Adapter from analog PSX pad to analog SS pad.

So, you can use analog PSX pad in your SEGA SATURN!

Here's the circuit schematic(very simple):

Diagrama.JPG


As you will able to see, the circuit use a 16F84A PIC Microcontroller, so you'll need a microcontroller programmer to burn the firmware.

The circuit maybe is pretty confuse at firt sight.So, here i put an easier way to connect the Microcontroller pins to connector cables:

RA0 -> Brown PSX connector cable(needs 4.7k ohms pull up)

RA1 -> Orange PSX connector cable

RA2 -> Blue PSX connector cable

RA3 -> White PSX connector cable

RA4 -> Ultrabright LED(needs 470 omhs pull up)

RB0 -> Black SS connector cable

RB1 -> Green SS connector cable

RB2 -> Gray SS connector cable

RB3 -> Yellow SS connector cable

RB4 -> Brown SS connector cable

RB5 -> Red SS connector cable

RB6 -> Orange SS connector cable

RB7 -> NC(Do not connect it, just keep it floating)

Other Important cables:

PSX Ground cable: Red

PSX 5V cable: Yellow

SS Ground cable: White

SS 5V cable: Blue

Adaptader Specifications:

* 4 Button configurations can be selected indicated by the led

* Selected configuration is stored eaven during power off

* led indicating analog mode activated

I hope soon make it compatible with DC controllers.

The firmware:

Firmware 16F84A

I test it and works perfect in both mode, analog & digital.

Here's my first model: example

Ask if you need help.

Good luck!
 
Very cool, too bad PSX analog sticks are complete junk :D

Would be awesome if you worked on a NiGTHS pad to DC adapter schematic.
 
DC pad protocol is a little harder to do; it's a dual 1MHz serial stream with embedded clock whereas PSX is something like 250Kbps. However, it is documented at Marcus Comstedt's site if somebody wants to give it a shot.
 
Thanks for the link ExCyber. :D I saw it a few days ago.

Yes, you're right...DC use an advanced method. I would like to, at least, try to do something.

DC transfers 2Mbps...dam...thats fast! :blink:

Using a 4Mhz(1uS per instruction) clock it will be impossible to make it(to make 0.5uS clocks).Perhaps with a 20Mhz(0.2uS per instruction) clock and a quick code i will be able to do it.

But, im kind of confused with the link info.

I've been reading and i should do something like this ¿?:

First of all, send the "Sync" sequence.

Then, what? Should i send "Request device information" command?

Then, if peripheric returns the Controler ID($001)i should i send the "Get condition" command?

And then what happens? i must continue controlling the clock line or the peripheric will start to control it when it's sending data to me?

After all that, i must send the "Terminate" sequence.

And i get confused with other things. I read that i must swap the order of the 4 bytes to send, but...in the tables showned by the author, bytes are already swaped or not? :damn:

After each command sended i must send the "checksum" byte. This would be = byte1 XOR byte2 XOR byte3 XOR byte4?

I must say that im shocked :huh . I cant believe DC is so different to SS protocol.

Thank you all.

Regards.
 
I think this is a very good idea!

We need a hardware section at SX, where all these cartridge, serial and converter projects are summarized. Hopefully it's easy to build and hopefully I'll find some time to build all this kind of stuff.

Is it possible for a homebrew Saturn game to get the data of the 2nd analog stick with direct SMPC mode? Same for a DC-controler to Saturn converter: I'd like to access the VMU from the Saturn!
 
Hello Rockin'-B.

I think its completly possible. But i'm accessing in SH-2 direct Mode.I think you could get the peripheric data too using this mode.(SMPC sends adquired data to SH-2 finally, or im wrong?)

I must say that Analog pads haves a reserved 3rd axis: Z. In this adapter i have asigned vertical 2nd analog stick axis to this 3rd axis and im discarting horizontal 2nd analog stick axis.

I think this Z axis was created to be used with Steering Weel. But i've tryed it with Daytona USA and isn't doing anything :/.

Of course, we could create our own peripheric and send up to 255 bytes of data. If you program something on a SS game to be able to get the values i send to SS, i could make the peripheric.

Just imagine...if we could create a new SS peripheric with 255 bytes data capacity! It would be a complete new gamming sensation using it with new homemade SS games, dont you think?

Regards.
 
SaturnAR' post='146919 said:
Hello Rockin'-B.

I think its completly possible. But i'm accessing in SH-2 direct Mode.I think you could get the peripheric data too using this mode.(SMPC sends adquired data to SH-2 finally, or im wrong?)

Yes, I was speaking about SH-2 direct mode, just mixed up the names. I guess the SMPC mode is tied to specific Saturn peripherals, or am I wrong?

SaturnAR' post='146919 said:
I must say that Analog pads haves a reserved 3rd axis: Z. In this adapter i have asigned vertical 2nd analog stick axis to this 3rd axis and im discarting horizontal 2nd analog stick axis.

I think this Z axis was created to be used with Steering Weel. But i've tryed it with Daytona USA and isn't doing anything :/.

Have you thought about using the 2nd analog stick for emulating the analog shoulder buttons L/R?

SaturnAR' post='146919 said:
Of course, we could create our own peripheric and send up to 255 bytes of data. If you program something on a SS game to be able to get the values i send to SS, i could make the peripheric.

Just imagine...if we could create a new SS peripheric with 255 bytes data capacity! It would be a complete new gamming sensation using it with new homemade SS games, dont you think?

A very interesting thought! That's really one point which would be very interesting for Saturn homebrew: to attach and use modern or exotic peripherals.

What about the rumble function of the PSX controler, can this one be used by homebrew in SH-2 direct mode?

Aren't there any commercial adapters to attach PSX peripherals (like those cool steering wheels) to the Saturn? I'm even more interested in Dreamcast peripherals, with rumble pack and VMU! Or XBox controlers, they are similar to Saturn analog pad and DC.
 
RockinB said:
I guess the SMPC mode is tied to specific Saturn peripherals, or am I wrong?

Hmmm.my memory sucks...i should read again the datasheet to confirm that. My first impression is that it isn't possible.

RockinB said:
Have you thought about using the 2nd analog stick for emulating the analog shoulder buttons L/R?

It's a good idea, i'll make the modification soon.

RockinB said:
A very interesting thought! That's really one point which would be very interesting for Saturn homebrew: to attach and use modern or exotic peripherals.

What about the rumble function of the PSX controler, can this one be used by homebrew in SH-2 direct mode?

I could be able to make the pad rumble(theres no info about the value that i must send to make rumble each side(i made it rumble once by mistake
biggrin.gif
), but i think i could figure it out)

Now, i dont know/remember if its possible to send data from SS to peripherics, perhaps you should investigate "that" side of the protocol.

As far as i remember, SMPC haves an internal firmware(seems to be a kind of microcontroller) that haves limited posibilites. But in SH-2 direct mode, i think all is possible.

RockinB said:
Aren't there any commercial adapters to attach PSX peripherals (like those cool steering wheels) to the Saturn?

Yes, i saw a lot of them. I think my design is the first free.

RockinB' post='146924 said:
I'm even more interested in Dreamcast peripherals, with rumble pack and VMU! Or XBox controlers, they are similar to Saturn analog pad and DC.

Well, if someone explains me how to comunicate with DC controllers it will be a lot easier and i could make the microcontroller firmware.

I must say, for those who dont know Microchip PIC microcontrollers: i program them in assembler, because i love to be in direct contact with hardware, but they can be programmed in C lenguage and Basic too.

Off-topic. I dont have any SS with modchips now, so at this point my SS hombrew game is stucked until i get at least one(it could be days or years,who knows
sad.gif
).I dont want to kill my SS with the swap trick.

Good luck!
 
Just saw the video of this on YouTube.

Awesome work SaturnAR!! It looked fantastic. Someone already said it, but it's really cool to see some hardware dev going on. Congrats :cheers
 
You could try downloading the ar.* packages from the Geocities archive torrent. The full archive is something like a terabyte in size, but the Argentina subdomain packages are only four gigs or so. There's of course no guarantee that the firmware files were archived.
 
wildchild22 said:
Do anyone have the schematic and hex for this project. It is no longer on geocities and I want to build one.

Did you tried to email the author ?

Oh, and in the case you can find the file, feel free to post it here
smile.gif
 
Well I downloaded parts of the geocities torrent, all of the ar.geocities.com, geocities-s-a, geocities-S-a, ar.geocities.ayhoo.com and ar.yahoo.com. I didn't find any traces of SaturnAR's old website. I did send him a PM over at www.segasaturno.com and left a comment on a youtube video of his showing off the adapter. So we can wait and see if he responds to my request for help.

I find instructions and source code on how to do the opposite (Sat to PSX) from Paul Qureshi at KEiO/Denki ,but I don't know enough about microprocessor programing to take his code and make it work the other way around.

We also can wait to see if tototEK will make more of their own PSX to Saturn converters. tototEK Store I have joined in on a thread someone else started under the name ZalmoxisX. You can chime in there if you want, tototEK Forums. Maybe if more people post there tototEK may be more inclined to make more and I guess mention a post on this forums led you there. Still I think SaturnAR's adapter is better, but I don't have the skills to make my own from scratch.

So having a PSX to Saturn controller adapter is just a waiting game at this point. I think I have exhausted my abilities to be helpful with acquiring or making these adapters.
 
Both the Playstation and Saturn controller interfaces are documented in sufficient detail that making a new adapter should not be a problem. The only thing I haven't found is the exact data format the Nights pad uses in analog mode, but that's not difficult to find out either.

Improvement suggestions over the basic adapter would be to support the DualShock 2 for analog triggers, and a switchable mode that would also send the second thumbstick data for homebrew use.
 
antime said:
Improvement suggestions over the basic adapter would be to support the DualShock 2 for analog triggers, and a switchable mode that would also send the second thumbstick data for homebrew use.

Those would be good, but if Tototek did make another batch of adapters, it would probably be the same as the old ones. However, this would be good additions to a homebrew adapter. The second thumbstick in particular would be good for FPS - not having both sticks is a common complaint on the PSP for FPS ports.
 
antime said:
Both the Playstation and Saturn controller interfaces are documented in sufficient detail that making a new adapter should not be a problem. The only thing I haven't found is the exact data format the Nights pad uses in analog mode, but that's not difficult to find out either.

Improvement suggestions over the basic adapter would be to support the DualShock 2 for analog triggers, and a switchable mode that would also send the second thumbstick data for homebrew use.

antime, you sound rather well educated in this topic. Are you planning on making one yourself?
 
Maybe, but I could use some help with the electronics. I did spec out a basic design around an Atmel ATtiny44A:

Code:
AVR pins       Psx pins     Saturn pins

1  Vcc

2 (PB0)  --------------------- 2 (R)

3 (PB1)  --------------------- 3 (L)

4 (PB3)  --------------------- 7 (U)

5 (PB2)  --------------------- 8 (D)

6 (PA7)  --------------------- 6 (TL)

7 (MOSI) ------ 2 (CMD)

8 (MISO) ------ 1 (DATA)

9 (USCK) ------ 7 (CLK)

10(T0)   ------ 9 (ACK)

11(PA2)  ------ 6 (SEL)

12(PA1)  --------------------- 5 (TR)

13(PA0)  --------------------- 4 (TH)

14 GND

Communication with the Psx pad is done via the SPI interface, and a timer is used to receive the ACK response. For communicating with the Saturn, level interrupts are enabled for the TR/TH pins and data is sent by programming the other pins. Both the AVR and the Playstation pad can probably be powered from the 5V provided by the Saturn (though it may need to be regulated), the 9V for the rumble can probably be left unconnected.
 
antime said:
Both the AVR and the Playstation pad can probably be powered from the 5V provided by the Saturn (though it may need to be regulated), the 9V for the rumble can probably be left unconnected.
If memory serves, a PS pad actually expects 3.7V VCC. I think that's what I used for my PS->PC adapter, but I don't remember where I stashed it so I can't check.
 
The sources I've found around the net says anything between 3.6 and 5 volts goes. Maybe DualShock 2s are stricter.
 
Back
Top