Control a SNES with a PC

Started by Xener, January 22, 2004, 06:15:19 PM

Previous topic - Next topic

Xener

Hi there, I'm new on the forum, so I didn't really know where to post this.

I want to control my SNES with my PC through the parallel port. It's in fact a personal training for a bigger project.

I have already made a SNES controller adapter for my PC and a c++ program to use it. And now I want to reverse this and use my PC as a SNES controller. I have already tried to connect the controller cable to a DB25 and I've written a program to read and write on it. The problem I'm having is that I can't synchronize my program with the SNES signal. The SNES is supposed to start his request with a 12us signal on the Data Latch line, but I don't receive anything through that line. So I can't send the buttons data because I don't know when to do so.

I think this could be because of the way I wired it to the DB25. I solder the Data Latch line to pin 10 of the DB25, the Data Clock to pin 12, and the Serial Data to pin 2. I didn't connect the ground and the VCC (maybe it's part of the problem).

I would like some help on the wiring or maybe a link to any sort of info (I already know the controller protocol).

Thanks!  ^_^  

NFG

Why not use a latch for your outgoing signal so that the buttons are always ready when the SNES requests data?  This would be the equivalent of holding down a button on the pad and would eliminate the need for any kind of timing accuracy.

Xener

I can't just send the data on the Serial Data line without knowing when. Because the SNES reads the data a bit at a time for 12 clock cycles that it sends on the Data Clock line. Every bit read corresponds to one button. So, if I don't synchronize, I may end up sending the X button bit when the SNES is supposed to receive the A button bit.

HeartBurn Kid

Well, the simple solution would be to hack a SNES controller apart and wire the pins on a parallel port to the pins on the controller chip; then you could simply trigger the pins corresponding to the buttons you want, and not have to worry about timing.  The only problem with that is that the parallel port only has 8 data lines; sufficient for an NES, but not for a SNES.

If you have two parallel ports at your disposal, that is an option... also, if you can figure out a way to use the other pins to send data, then you should be able to pull it off...  I'm not an expert in such matters, so I'm not really sure how you would go about that.

phreak97

#4
i have thought of this myself but completely lack programming knowledge of any kind.. i have used a (crappy) program my friend made which does the same as the above (wired to the guts of a psx con in this case) but i'd say ditch that idea, tho it does work it only does 8 buttons as mentioned, also i would love to see this working and would like a copy if you ever get it going (and are willing to distribute).


hmm.. how does the snes know the snes con is plugged in?
you could try connecting up ground also, dunno if it could help but anything is possible, dunno anything about the snes protocall, so i could be way off..

im probably way off, recheck the pinout of the snes con? red aint vcc:P white is.. stupid nintendo