I colored the wires black initially. As I placed each wire, I changed its color to match the actual wire color and moved it to match approximately how it was placed on the actual breadboard. What you see is the final result I was left with inside of Fritzing after I finished placing every wire into the breadboard.
You can see the four switches near the bottom left corner of the picture. They were supposed to represent the 4PDT switch. Instead, I just hooked it up to force the switches into 5 player mode on the actual breadboard. The headers near the bottom are the controller ports. The one on the left is the connector that plugs into the SNES, and the four on the right are the sockets where the SNES controllers plug in.
OK. At this point, the multitap schematic was complete. I just had to hook up the SNES controller connectors. For the four sockets, I bought a pair of original SNES front port assemblies on eBay. I desoldered them from their circuit boards (although I probably could have left them attached and it would have worked fine) and soldered wires to them. I connected the other end of each wire to the breadboard. For the connector that hooks up to the SNES, I bought an SNES controller extension cable and cut it up.
Hey this is an awesome project and i cant wait to get it started. I have one question though. With the switches , is it one switch that controls the others or is it four separate switches? Looking at images of old mulitaps has only one switch. So im just wondering if there are inertial switches that all run to the one switch. I hope that makes scene.
Previously, I presented my SNES-to-USB-Adapter. The adapter emulates a USB keyboard with which it is also possible to play iCade games on the iPad. Now, my ambition is to give it a more professional and solid look and one thing to do would be to put most of the wiring into a printed-circuit board (PCB).
Therefore, I did a small survey about available PCB layout software for Macs and found EAGLE working well for me. As far as I have seen, EAGLE is widely used and there exist versions for Windows, Mac, and Linux platforms. The tutorials from Sparkfun and also this tutorial already helped me a lot and let me design my first PCB.
With another goal being to shrink the whole design of the first prototype of the adapter, I decided to try out the ProMicro board, which is Arduino compatible and very small. Furthermore, it already has the capability of presenting itself as a USB keyboard to its host. With the given schematics of the ProMicro board, which can be downloaded from the product page, I designed a PCB which captures the same functionality as my first prototype of the adapter. Besides all the wiring that has gone into the PCB, however, all external interfaces, like the SNES connectors and the button, are now nicely connected with shrouded headers and ribbon crimp connectors. The final schematic looks like this:
A few days ago I received the PCBs. I decided to order them from PCB Pool and I am very satisfied with their service. The pricing is very transparent, they provide a plugin for EAGLE, and you can opt for mail notifications throughout the production process. These are the images that I received during the last days. They show the board after drilling, resist exposure, tin stripping, and burning-in:
Actually, it is already possible to use the adapter board with NES connectors! This is possible, because both, SNES and NES connectors, have the same number of pins and (nearly) the same polling protocol.
Long story short I recently picked up a Philips CD-i (I don't know why either haha) but it was sold without a controller. I don't fancy paying the 100 or so that the official controllers seem to go for (crazy money) so I found the snes to cdi project on github and though that would work for me.
I'm using the Arduino Nano rather than the Uno as described in the github (all be it the Nano is confirmed to work also). I have wired everything up as per the attached wiring doc using D5,6,7,10 and A5 on the Nano (which I assume are the same as the pins as described on the wiring diagram attached) connected 5v and grounds. There are 2 5v lines which I've twisted together and soldered to the single 5v hole on the nano. The ground lines I've taken to the 2 ground holes on the Nano, maybe I should twist these and connect to a single hole to ensure ground is passing through OK between the CDi and the SNES controller? I don't think it would make any difference though since all ground pins should be linked on the Nano anyway.
I added the library to IDE as described in the github and compiled sketch and uploaded. The arduino is getting power ok from the CD-i but there doesn't appear to be any activity from the snes controller.
So my first thought is I'm an idiot, this is my first time playing with Arduino and I'm wondering if I have the wires connected to the correct pins on the nano. I have ordered an Uno to try it again exactly as per the schematic but I would prefer to use the nano since i can fit it inside an old SNES controller.
This is the github I have been following GitHub - anarterb/SNEStoCDi: SNEStoCDi allows to use a Nintendo SNES (Super NES) / SFC (Super Famicom) gamepad on a Philips CDi player / game console (Arduino-based project)
The same code can be used for NES and SNES, with one minor inconvenience that the buttons A and B are not on the same position in either controller, meaning that the buttons assigned to B and Y will be activated when a NES controller is plugged.
The code that I have has been proven on several NES controllers that I have but none of them were original controllers.
According to the schematics of the NES controllers that I have found online that shouldn't happen (quite right) because the NES controller is based on a 4021 shift register chip which have the SHIFT IN pin connected to GND (that was done by Nintendo to provide means to detect the presence of the controller).
The code is implemented slightly different because I use a 16 bit variable for the shifted bits and after all bits are shifted in I test the 17th bit, and test for 8 bits in LOW for the NES controller.
Luckly the knockof SNES controller that I have worked as expected. As the SNES uses the last bits to identify some different types of controllers like the mouse, I thinkg that the knockoff manufacurers took care in following the behaviour or the original controller.
Typical parallel input system simply use a switch between input line and GND which pull it low on button press.The input line idle high via a pull-up resistor in the console. To best emulate this behavior use the open drainschematic.
Optional protection circuit (only if you will be messing with your power supply, or are using a multiple output power supply. If you will be using a constant 5 volt power supply, and you have triple checked the output, or you build your power supply directly into the programmer, you won't need this optional protection circuit)
4MBit Cart I will be using for my flash cart. Currently has the HyperZone Rom chip plugged in to the socket right now, but this is what I will use for my dev cart. The hole was cut into the case so that the cart board would fit. The cart will fit into the snes as is, without any need to take its cover off.
So to be clear here - you're probably familiar with RGB signals (red, green, blue) to define the color of pixels on a screen. We're in the analog world here, so we don't use those individual components. Instead, we have luma, and chroma to deal with.
The Super Nintendo outputs using an RCA Composite cable. That's the little yellow circular plug you're used to seeing on TV's and consoles and things of that nature. It carries luma and chroma all in one. Take a look at the picture above for an example of that. More modern devices that want to get higher quality use what's called Component cables, where you use 3 separate cables to carry the luma and chroma data. Basically by separating out the individual signals, you reduce the amount they impact each other, and you get a better video signal on the other end. But we're in composite land, where we're using one cable for everything!
Basically the chroma signal is more high-tech, and relies on a strict clock signal. If the chroma signal isn't coming at exactly the right time, the system may fail to recognize it. On the other hand, the luma signal is simple and easy, and usually the receiving device can tolerate a little bit of drift in the timing of the luma signal. It doesn't have to have perfect synchronization. If the signal's timing is a bit off, then the luma might come through, while the chroma fails to be recognized by the TV. What that means is you still get your lightness information, but the color is gone. And just like that - a black and white image.
Taking apart a Super Nintendo isn't too hard. It's just a few screws, nothing fancy like in a lot of today's electronics. The big thing to be aware of is that the first set of screws, in the base of the machine, use a special head known as a GameBit. Nintendo used these for their cartridges and consoles for several years. If you're into retro games and repairing them, they're a must-have. Here are a couple eBay links that should do you well:
Turn the SNES over, remove the 6 screws on the bottom, flip it over again, and lift the top off. You should now see the circuit board, with its RF shield on top. Note in the image above, the large red arrow. This points to the trimmer capacitor on the board. The trimmer capacitor is responsible for setting the exact timing of the system. In the subsequent steps we'll talk about fine tuning it, but if you don't have the needed equipment to measure it, you can take this step and be done here. Use a small screwdriver and try to turn the trimmer capacitor and see if you can get color back. Good luck!
e59dfda104